| /** |
| * @license |
| * Copyright (C) 2020 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| import {html} from '@polymer/polymer/lib/utils/html-tag'; |
| |
| export const htmlTemplate = html` |
| <style include="shared-styles"> |
| .prefsButton { |
| float: right; |
| } |
| .collapseToggleButton { |
| text-decoration: none; |
| } |
| .patchInfoOldPatchSet.patchInfo-header { |
| background-color: var(--emphasis-color); |
| } |
| .patchInfo-header { |
| align-items: center; |
| border-top: 1px solid var(--border-color); |
| display: flex; |
| padding: var(--spacing-s) var(--spacing-l); |
| } |
| .patchInfo-left { |
| align-items: baseline; |
| display: flex; |
| } |
| .patchInfoContent { |
| align-items: center; |
| display: flex; |
| flex-wrap: wrap; |
| } |
| .patchInfo-header .container.latestPatchContainer { |
| display: none; |
| } |
| .patchInfoOldPatchSet .container.latestPatchContainer { |
| display: initial; |
| } |
| .latestPatchContainer a { |
| text-decoration: none; |
| } |
| gr-editable-label.descriptionLabel { |
| max-width: 100%; |
| } |
| .mobile { |
| display: none; |
| } |
| .patchInfo-header .container { |
| align-items: center; |
| display: flex; |
| } |
| .downloadContainer, |
| .uploadContainer, |
| .includedInContainer { |
| margin-right: 16px; |
| } |
| .includedInContainer.hide, |
| .uploadContainer.hide { |
| display: none; |
| } |
| .rightControls { |
| align-self: flex-end; |
| margin: auto 0 auto auto; |
| align-items: center; |
| display: flex; |
| flex-wrap: wrap; |
| font-weight: var(--font-weight-normal); |
| justify-content: flex-end; |
| } |
| #collapseBtn, |
| .expanded #expandBtn, |
| .fileViewActions { |
| display: none; |
| } |
| .expanded #expandBtn { |
| display: none; |
| } |
| gr-linked-chip { |
| --linked-chip-text-color: var(--primary-text-color); |
| } |
| .expanded #collapseBtn, |
| .openFile .fileViewActions { |
| align-items: center; |
| display: flex; |
| } |
| .rightControls gr-button, |
| gr-patch-range-select { |
| margin: 0 -4px; |
| } |
| .fileViewActions gr-button { |
| margin: 0; |
| --gr-button: { |
| padding: 2px 4px; |
| } |
| } |
| .editMode .hideOnEdit { |
| display: none; |
| } |
| .showOnEdit { |
| display: none; |
| } |
| .editMode .showOnEdit { |
| display: initial; |
| } |
| .editMode .showOnEdit.flexContainer { |
| align-items: center; |
| display: flex; |
| } |
| .label { |
| font-weight: var(--font-weight-bold); |
| margin-right: 24px; |
| } |
| gr-commit-info, |
| gr-edit-controls { |
| margin-right: -5px; |
| } |
| .fileViewActionsLabel { |
| margin-right: var(--spacing-xs); |
| } |
| @media screen and (max-width: 50em) { |
| .patchInfo-header .desktop { |
| display: none; |
| } |
| } |
| </style> |
| <div |
| class$="patchInfo-header [[_computeEditModeClass(editMode)]] [[_computePatchInfoClass(patchNum, allPatchSets)]]" |
| > |
| <div class="patchInfo-left"> |
| <div class="patchInfoContent"> |
| <gr-patch-range-select |
| id="rangeSelect" |
| change-comments="[[changeComments]]" |
| change-num="[[changeNum]]" |
| patch-num="[[patchNum]]" |
| base-patch-num="[[basePatchNum]]" |
| available-patches="[[allPatchSets]]" |
| revisions="[[change.revisions]]" |
| revision-info="[[revisionInfo]]" |
| on-patch-range-change="_handlePatchChange" |
| > |
| </gr-patch-range-select> |
| <span class="separator"></span> |
| <gr-commit-info |
| change="[[change]]" |
| server-config="[[serverConfig]]" |
| commit-info="[[commitInfo]]" |
| ></gr-commit-info> |
| <span class="container latestPatchContainer"> |
| <span class="separator"></span> |
| <a href$="[[changeUrl]]">Go to latest patch set</a> |
| </span> |
| <span class="container descriptionContainer hideOnEdit"> |
| <span class="separator"></span> |
| <template is="dom-if" if="[[_patchsetDescription]]"> |
| <gr-linked-chip |
| id="descriptionChip" |
| text="[[_patchsetDescription]]" |
| removable="[[!_descriptionReadOnly]]" |
| on-remove="_handleDescriptionRemoved" |
| ></gr-linked-chip> |
| </template> |
| <template is="dom-if" if="[[!_patchsetDescription]]"> |
| <gr-editable-label |
| id="descriptionLabel" |
| uppercase="" |
| class="descriptionLabel" |
| label-text="Add patchset description" |
| value="[[_patchsetDescription]]" |
| placeholder="[[_computeDescriptionPlaceholder(_descriptionReadOnly)]]" |
| read-only="[[_descriptionReadOnly]]" |
| on-changed="_handleDescriptionChanged" |
| ></gr-editable-label> |
| </template> |
| </span> |
| </div> |
| </div> |
| <div class$="rightControls [[_computeExpandedClass(filesExpanded)]]"> |
| <template is="dom-if" if="[[editMode]]"> |
| <span class="showOnEdit flexContainer"> |
| <gr-edit-controls |
| id="editControls" |
| patch-num="[[patchNum]]" |
| change="[[change]]" |
| ></gr-edit-controls> |
| <span class="separator"></span> |
| </span> |
| </template> |
| <span class$="[[_computeUploadHelpContainerClass(change, account)]]"> |
| <gr-button link="" class="upload" on-click="_handleUploadTap" |
| >Update Change</gr-button |
| > |
| </span> |
| <span class="downloadContainer desktop"> |
| <gr-button |
| link="" |
| class="download" |
| title="[[createTitle(Shortcut.OPEN_DOWNLOAD_DIALOG, |
| ShortcutSection.ACTIONS)]]" |
| on-click="_handleDownloadTap" |
| >Download</gr-button |
| > |
| </span> |
| <span class$="includedInContainer [[_hideIncludedIn(change)]] desktop"> |
| <gr-button link="" class="includedIn" on-click="_handleIncludedInTap" |
| >Included In</gr-button |
| > |
| </span> |
| <template |
| is="dom-if" |
| if="[[_fileListActionsVisible(shownFileCount, _maxFilesForBulkActions)]]" |
| > |
| <gr-button |
| id="expandBtn" |
| link="" |
| title="[[createTitle(Shortcut.TOGGLE_ALL_INLINE_DIFFS, |
| ShortcutSection.FILE_LIST)]]" |
| on-click="_expandAllDiffs" |
| >Expand All</gr-button |
| > |
| <gr-button |
| id="collapseBtn" |
| link="" |
| on-click="_collapseAllDiffs" |
| title="[[createTitle(Shortcut.TOGGLE_ALL_INLINE_DIFFS, |
| ShortcutSection.FILE_LIST)]]" |
| >Collapse All</gr-button |
| > |
| </template> |
| <template |
| is="dom-if" |
| if="[[!_fileListActionsVisible(shownFileCount, _maxFilesForBulkActions)]]" |
| > |
| <div class="warning"> |
| Bulk actions disabled because there are too many files. |
| </div> |
| </template> |
| <div class="fileViewActions"> |
| <span class="separator"></span> |
| <span class="fileViewActionsLabel">Diff view:</span> |
| <gr-diff-mode-selector |
| id="modeSelect" |
| mode="{{diffViewMode}}" |
| save-on-change="[[!diffPrefsDisabled]]" |
| ></gr-diff-mode-selector> |
| <span |
| id="diffPrefsContainer" |
| class="hideOnEdit" |
| hidden$="[[_computePrefsButtonHidden(diffPrefs, diffPrefsDisabled)]]" |
| hidden="" |
| > |
| <gr-button |
| link="" |
| has-tooltip="" |
| title="Diff preferences" |
| class="prefsButton desktop" |
| on-click="_handlePrefsTap" |
| ><iron-icon icon="gr-icons:settings"></iron-icon |
| ></gr-button> |
| </span> |
| </div> |
| </div> |
| </div> |
| <gr-rest-api-interface id="restAPI"></gr-rest-api-interface> |
| `; |