Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 1 | <!-- |
| 2 | Copyright (C) 2015 The Android Open Source Project |
| 3 | |
| 4 | Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | you may not use this file except in compliance with the License. |
| 6 | You may obtain a copy of the License at |
| 7 | |
| 8 | http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | |
| 10 | Unless required by applicable law or agreed to in writing, software |
| 11 | distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | See the License for the specific language governing permissions and |
| 14 | limitations under the License. |
| 15 | --> |
| 16 | |
| 17 | <link rel="import" href="../../../bower_components/polymer/polymer.html"> |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 18 | <link rel="import" href="../../shared/gr-button/gr-button.html"> |
Andrew Bonventre | cba7d44 | 2016-03-05 19:20:09 -0500 | [diff] [blame] | 19 | <link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html"> |
Viktar Donich | 0f02cda | 2016-06-01 11:41:47 -0700 | [diff] [blame] | 20 | <link rel="import" href="../gr-diff-builder/gr-diff-builder.html"> |
Viktar Donich | e134197 | 2016-06-09 16:39:17 -0700 | [diff] [blame] | 21 | <link rel="import" href="../gr-diff-comment-thread/gr-diff-comment-thread.html"> |
Viktar Donich | ab1b211 | 2016-06-10 12:47:57 -0700 | [diff] [blame] | 22 | <link rel="import" href="../gr-diff-highlight/gr-diff-highlight.html"> |
Viktar Donich | e134197 | 2016-06-09 16:39:17 -0700 | [diff] [blame] | 23 | <link rel="import" href="../gr-diff-selection/gr-diff-selection.html"> |
Wyatt Allen | ec4d6a2 | 2016-07-25 22:23:14 -0700 | [diff] [blame] | 24 | <link rel="import" href="../gr-syntax-themes/gr-theme-default.html"> |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 25 | |
| 26 | <dom-module id="gr-diff"> |
| 27 | <template> |
| 28 | <style> |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 29 | :host { |
| 30 | --light-remove-highlight-color: #fee; |
Wyatt Allen | 3894bb9 | 2016-10-18 18:18:00 -0700 | [diff] [blame] | 31 | --dark-remove-highlight-color: rgba(255, 0, 0, 0.15); |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 32 | --light-add-highlight-color: #efe; |
Wyatt Allen | 3894bb9 | 2016-10-18 18:18:00 -0700 | [diff] [blame] | 33 | --dark-add-highlight-color: rgba(0, 255, 0, 0.15); |
| 34 | |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 35 | } |
Viktar Donich | c282d7b | 2016-08-10 11:53:12 -0700 | [diff] [blame] | 36 | :host.no-left .sideBySide ::content .left, |
Viktar Donich | 7706e9c | 2016-08-10 14:55:22 -0700 | [diff] [blame] | 37 | :host.no-left .sideBySide ::content .left + td, |
| 38 | :host.no-left .sideBySide ::content .right:not([data-value]), |
| 39 | :host.no-left .sideBySide ::content .right:not([data-value]) + td { |
Viktar Donich | c282d7b | 2016-08-10 11:53:12 -0700 | [diff] [blame] | 40 | display: none; |
| 41 | } |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 42 | .diffContainer { |
| 43 | border-bottom: 1px solid #eee; |
| 44 | border-top: 1px solid #eee; |
| 45 | display: flex; |
| 46 | font: 12px var(--monospace-font-family); |
Viktar Donich | bcab198 | 2016-11-02 11:57:23 -0700 | [diff] [blame] | 47 | overflow-x: auto; |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 48 | will-change: transform; |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 49 | } |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 50 | table { |
| 51 | border-collapse: collapse; |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 52 | border-right: 1px solid #ddd; |
Wyatt Allen | 32b03fc | 2016-08-05 15:56:33 -0700 | [diff] [blame] | 53 | table-layout: fixed; |
Viktar Donich | e2d1c63 | 2016-10-24 20:52:59 +0000 | [diff] [blame] | 54 | |
Wyatt Allen | 4254ca3 | 2016-10-21 10:41:24 -0700 | [diff] [blame] | 55 | /* Hint GPU acceleration */ |
Wyatt Allen | 32b03fc | 2016-08-05 15:56:33 -0700 | [diff] [blame] | 56 | -webkit-transform: translateZ(0); |
| 57 | -moz-transform: translateZ(0); |
| 58 | -ms-transform: translateZ(0); |
| 59 | -o-transform: translateZ(0); |
| 60 | transform: translateZ(0); |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 61 | } |
Viktar Donich | e134197 | 2016-06-09 16:39:17 -0700 | [diff] [blame] | 62 | .lineNum { |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 63 | background-color: #eee; |
| 64 | } |
Wyatt Allen | 88678da | 2016-05-23 17:18:43 -0700 | [diff] [blame] | 65 | .image-diff .gr-diff { |
| 66 | text-align: center; |
| 67 | } |
| 68 | .image-diff img { |
| 69 | max-width: 50em; |
| 70 | outline: 1px solid #ccc; |
| 71 | } |
| 72 | .image-diff label { |
| 73 | font-family: var(--font-family); |
| 74 | font-style: italic; |
| 75 | } |
Wyatt Allen | 72b87fc | 2016-05-16 14:40:51 -0700 | [diff] [blame] | 76 | .diff-row.target-row.target-side-left .lineNum.left, |
| 77 | .diff-row.target-row.target-side-right .lineNum.right, |
| 78 | .diff-row.target-row.unified .lineNum { |
Wyatt Allen | 8eba594 | 2016-05-19 14:50:43 -0700 | [diff] [blame] | 79 | background-color: #BBDEFB; |
| 80 | } |
| 81 | .diff-row.target-row.target-side-left .lineNum.left:before, |
| 82 | .diff-row.target-row.target-side-right .lineNum.right:before, |
| 83 | .diff-row.target-row.unified .lineNum:before { |
| 84 | color: #000; |
Wyatt Allen | 72b87fc | 2016-05-16 14:40:51 -0700 | [diff] [blame] | 85 | } |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 86 | .blank, |
| 87 | .content { |
| 88 | background-color: #fff; |
| 89 | } |
Becky Siegel | e7d19a9 | 2016-10-31 14:35:35 -0700 | [diff] [blame] | 90 | .full-width { |
| 91 | width: 100%; |
| 92 | } |
Becky Siegel | dc46218 | 2016-11-02 17:57:16 -0700 | [diff] [blame] | 93 | .full-width .contentText { |
| 94 | white-space: pre-wrap; |
| 95 | word-wrap: break-word; |
| 96 | } |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 97 | .lineNum, |
| 98 | .content { |
Becky Siegel | e7d19a9 | 2016-10-31 14:35:35 -0700 | [diff] [blame] | 99 | /* Set font size based the user's diff preference. */ |
| 100 | font-size: var(--font-size, 12px); |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 101 | vertical-align: top; |
| 102 | white-space: pre; |
| 103 | } |
| 104 | .contextLineNum:before, |
| 105 | .lineNum:before { |
| 106 | display: inline-block; |
| 107 | color: #666; |
| 108 | content: attr(data-value); |
| 109 | padding: 0 .75em; |
| 110 | text-align: right; |
| 111 | width: 100%; |
| 112 | } |
| 113 | .canComment .lineNum[data-value] { |
| 114 | cursor: pointer; |
| 115 | } |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 116 | .canComment .lineNum[data-value="FILE"]:before { |
| 117 | content: 'File'; |
| 118 | } |
| 119 | .content { |
| 120 | overflow: hidden; |
Andrew Bonventre | ac802cd | 2016-04-02 21:53:35 -0400 | [diff] [blame] | 121 | /* Set max and min width since setting width on table cells still |
| 122 | allows them to shrink. */ |
| 123 | max-width: var(--content-width, 80ch); |
| 124 | min-width: var(--content-width, 80ch); |
Becky Siegel | e7d19a9 | 2016-10-31 14:35:35 -0700 | [diff] [blame] | 125 | width: var(--content-width, 80ch); |
Becky Siegel | d7dbed6 | 2016-10-12 10:55:26 -0700 | [diff] [blame] | 126 | } |
Wyatt Allen | 650c529 | 2016-06-22 17:18:06 -0700 | [diff] [blame] | 127 | .content.add .intraline, |
Wyatt Allen | 1e3cd47 | 2016-12-21 12:55:21 -0800 | [diff] [blame] | 128 | .delta.total .content.add { |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 129 | background-color: var(--dark-add-highlight-color); |
| 130 | } |
Wyatt Allen | 1e3cd47 | 2016-12-21 12:55:21 -0800 | [diff] [blame] | 131 | .content.add { |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 132 | background-color: var(--light-add-highlight-color); |
| 133 | } |
Wyatt Allen | 650c529 | 2016-06-22 17:18:06 -0700 | [diff] [blame] | 134 | .content.remove .intraline, |
Wyatt Allen | 1e3cd47 | 2016-12-21 12:55:21 -0800 | [diff] [blame] | 135 | .delta.total .content.remove { |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 136 | background-color: var(--dark-remove-highlight-color); |
| 137 | } |
Wyatt Allen | 1e3cd47 | 2016-12-21 12:55:21 -0800 | [diff] [blame] | 138 | .content.remove { |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 139 | background-color: var(--light-remove-highlight-color); |
| 140 | } |
Aaron Gable | d5d9a13 | 2016-12-09 12:30:29 -0800 | [diff] [blame] | 141 | .content .contentText:after { |
| 142 | /* Newline, to ensure all lines are one line-height tall. */ |
| 143 | content: '\A'; |
| 144 | } |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 145 | .contextControl { |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 146 | background-color: #fef; |
Wyatt Allen | 1097963 | 2016-06-01 15:13:33 -0700 | [diff] [blame] | 147 | color: #849; |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 148 | } |
| 149 | .contextControl gr-button { |
Wyatt Allen | 1097963 | 2016-06-01 15:13:33 -0700 | [diff] [blame] | 150 | display: inline-block; |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 151 | font-family: var(--monospace-font-family); |
| 152 | text-decoration: none; |
| 153 | } |
| 154 | .contextControl td:not(.lineNum) { |
| 155 | text-align: center; |
| 156 | } |
Becky Siegel | 6a7085e | 2016-11-02 16:25:53 -0700 | [diff] [blame] | 157 | .displayLine .diff-row.target-row { |
| 158 | border-bottom: 1px solid #bbb; |
| 159 | } |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 160 | .br:after { |
| 161 | /* Line feed */ |
| 162 | content: '\A'; |
| 163 | } |
| 164 | .tab { |
| 165 | display: inline-block; |
| 166 | } |
Wyatt Allen | be0142c | 2016-08-25 11:31:42 -0700 | [diff] [blame] | 167 | .tab-indicator:before { |
| 168 | color: #C62828; |
| 169 | /* >> character */ |
| 170 | content: '\00BB'; |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 171 | } |
Wyatt Allen | d970500 | 2016-11-17 12:03:51 -0800 | [diff] [blame] | 172 | .trailing-whitespace { |
| 173 | border-radius: .4em; |
| 174 | background-color: #FF9AD2; |
| 175 | } |
Kasper Nilsson | b4893d0 | 2017-04-07 15:52:28 -0700 | [diff] [blame^] | 176 | #diffHeader { |
| 177 | background-color: #F9F9F9; |
| 178 | color: #2A00FF; |
| 179 | font-family: var(--monospace-font-family); |
| 180 | font-size: var(--font-size, 12px); |
| 181 | padding: 0.5em 0 0.5em 4em; |
| 182 | } |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 183 | </style> |
Wyatt Allen | ec4d6a2 | 2016-07-25 22:23:14 -0700 | [diff] [blame] | 184 | <style include="gr-theme-default"></style> |
Kasper Nilsson | b4893d0 | 2017-04-07 15:52:28 -0700 | [diff] [blame^] | 185 | <div id="diffHeader" hidden$="[[_computeDiffHeaderHidden(_diffHeaderItems)]]"> |
| 186 | <template |
| 187 | is="dom-repeat" |
| 188 | items="[[_diffHeaderItems]]"> |
| 189 | <div>[[item]]</div> |
| 190 | </template> |
| 191 | </div> |
Becky Siegel | 6a7085e | 2016-11-02 16:25:53 -0700 | [diff] [blame] | 192 | <div class$="[[_computeContainerClass(_loggedIn, viewMode, displayLine)]]" |
Viktar Donich | e134197 | 2016-06-09 16:39:17 -0700 | [diff] [blame] | 193 | on-tap="_handleTap"> |
Wyatt Allen | 9fcec74 | 2016-09-08 14:09:11 -0700 | [diff] [blame] | 194 | <gr-diff-selection diff="[[_diff]]"> |
Viktar Donich | ab1b211 | 2016-06-10 12:47:57 -0700 | [diff] [blame] | 195 | <gr-diff-highlight |
| 196 | id="highlights" |
| 197 | logged-in="[[_loggedIn]]" |
Wyatt Allen | d0dd392 | 2016-07-14 12:31:09 -0700 | [diff] [blame] | 198 | comments="{{_comments}}"> |
Viktar Donich | ab1b211 | 2016-06-10 12:47:57 -0700 | [diff] [blame] | 199 | <gr-diff-builder |
| 200 | id="diffBuilder" |
Wyatt Allen | d0dd392 | 2016-07-14 12:31:09 -0700 | [diff] [blame] | 201 | comments="[[_comments]]" |
Wyatt Allen | ea97c5b | 2016-07-21 22:19:25 -0700 | [diff] [blame] | 202 | diff="[[_diff]]" |
Viktar Donich | ab1b211 | 2016-06-10 12:47:57 -0700 | [diff] [blame] | 203 | view-mode="[[viewMode]]" |
Becky Siegel | e7d19a9 | 2016-10-31 14:35:35 -0700 | [diff] [blame] | 204 | line-wrapping="[[lineWrapping]]" |
Viktar Donich | ab1b211 | 2016-06-10 12:47:57 -0700 | [diff] [blame] | 205 | is-image-diff="[[isImageDiff]]" |
| 206 | base-image="[[_baseImage]]" |
| 207 | revision-image="[[_revisionImage]]"> |
Becky Siegel | e7d19a9 | 2016-10-31 14:35:35 -0700 | [diff] [blame] | 208 | <table id="diffTable" class$="[[_diffTableClass]]"></table> |
Viktar Donich | ab1b211 | 2016-06-10 12:47:57 -0700 | [diff] [blame] | 209 | </gr-diff-builder> |
| 210 | </gr-diff-highlight> |
Viktar Donich | e134197 | 2016-06-09 16:39:17 -0700 | [diff] [blame] | 211 | </gr-diff-selection> |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 212 | </div> |
Andrew Bonventre | cba7d44 | 2016-03-05 19:20:09 -0500 | [diff] [blame] | 213 | <gr-rest-api-interface id="restAPI"></gr-rest-api-interface> |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 214 | </template> |
Andrew Bonventre | 2aa2212 | 2016-03-25 16:48:13 -0400 | [diff] [blame] | 215 | <script src="gr-diff-line.js"></script> |
| 216 | <script src="gr-diff-group.js"></script> |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 217 | <script src="gr-diff.js"></script> |
| 218 | </dom-module> |