|  | /** | 
|  | * @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.js'; | 
|  |  | 
|  | export const htmlTemplate = html` | 
|  | <style include="shared-styles"> | 
|  | :host { | 
|  | display: flex; | 
|  | font-family: var(--font-family); | 
|  | } | 
|  | #actionLoadingMessage, | 
|  | #mainContent, | 
|  | section { | 
|  | display: flex; | 
|  | } | 
|  | #actionLoadingMessage, | 
|  | gr-button, | 
|  | gr-dropdown { | 
|  | /* px because don't have the same font size */ | 
|  | margin-left: 8px; | 
|  | } | 
|  | #actionLoadingMessage { | 
|  | align-items: center; | 
|  | color: var(--deemphasized-text-color); | 
|  | } | 
|  | #confirmSubmitDialog .changeSubject { | 
|  | margin: var(--spacing-l); | 
|  | text-align: center; | 
|  | } | 
|  | iron-icon { | 
|  | color: inherit; | 
|  | margin-right: var(--spacing-xs); | 
|  | } | 
|  | #moreActions iron-icon { | 
|  | margin: 0; | 
|  | } | 
|  | #moreMessage, | 
|  | .hidden { | 
|  | display: none; | 
|  | } | 
|  | @media screen and (max-width: 50em) { | 
|  | #mainContent { | 
|  | flex-wrap: wrap; | 
|  | } | 
|  | gr-button { | 
|  | --gr-button: { | 
|  | padding: var(--spacing-m); | 
|  | white-space: nowrap; | 
|  | } | 
|  | } | 
|  | gr-button, | 
|  | gr-dropdown { | 
|  | margin: 0; | 
|  | } | 
|  | #actionLoadingMessage { | 
|  | margin: var(--spacing-m); | 
|  | text-align: center; | 
|  | } | 
|  | #moreMessage { | 
|  | display: inline; | 
|  | } | 
|  | } | 
|  | </style> | 
|  | <div id="mainContent"> | 
|  | <span id="actionLoadingMessage" hidden$="[[!_actionLoadingMessage]]"> | 
|  | [[_actionLoadingMessage]]</span | 
|  | > | 
|  | <section | 
|  | id="primaryActions" | 
|  | hidden$="[[_shouldHideActions(_topLevelActions.*, _loading)]]" | 
|  | > | 
|  | <template is="dom-repeat" items="[[_topLevelPrimaryActions]]" as="action"> | 
|  | <gr-button | 
|  | link="" | 
|  | title$="[[action.title]]" | 
|  | has-tooltip="[[_computeHasTooltip(action.title)]]" | 
|  | position-below="true" | 
|  | data-action-key$="[[action.__key]]" | 
|  | data-action-type$="[[action.__type]]" | 
|  | data-label$="[[action.label]]" | 
|  | disabled$="[[_calculateDisabled(action, _hasKnownChainState)]]" | 
|  | on-click="_handleActionTap" | 
|  | > | 
|  | <iron-icon | 
|  | class$="[[_computeHasIcon(action)]]" | 
|  | icon$="gr-icons:[[action.icon]]" | 
|  | ></iron-icon> | 
|  | [[action.label]] | 
|  | </gr-button> | 
|  | </template> | 
|  | </section> | 
|  | <section | 
|  | id="secondaryActions" | 
|  | hidden$="[[_shouldHideActions(_topLevelActions.*, _loading)]]" | 
|  | > | 
|  | <template | 
|  | is="dom-repeat" | 
|  | items="[[_topLevelSecondaryActions]]" | 
|  | as="action" | 
|  | > | 
|  | <gr-button | 
|  | link="" | 
|  | title$="[[action.title]]" | 
|  | has-tooltip="[[_computeHasTooltip(action.title)]]" | 
|  | position-below="true" | 
|  | data-action-key$="[[action.__key]]" | 
|  | data-action-type$="[[action.__type]]" | 
|  | data-label$="[[action.label]]" | 
|  | disabled$="[[_calculateDisabled(action, _hasKnownChainState)]]" | 
|  | on-click="_handleActionTap" | 
|  | > | 
|  | <iron-icon | 
|  | class$="[[_computeHasIcon(action)]]" | 
|  | icon$="gr-icons:[[action.icon]]" | 
|  | ></iron-icon> | 
|  | [[action.label]] | 
|  | </gr-button> | 
|  | </template> | 
|  | </section> | 
|  | <gr-button hidden$="[[!_loading]]" disabled="" | 
|  | >Loading actions...</gr-button | 
|  | > | 
|  | <gr-dropdown | 
|  | id="moreActions" | 
|  | link="" | 
|  | tabindex="0" | 
|  | vertical-offset="32" | 
|  | horizontal-align="right" | 
|  | on-tap-item="_handleOveflowItemTap" | 
|  | hidden$="[[_shouldHideActions(_menuActions.*, _loading)]]" | 
|  | disabled-ids="[[_disabledMenuActions]]" | 
|  | items="[[_menuActions]]" | 
|  | > | 
|  | <iron-icon icon="gr-icons:more-vert"></iron-icon> | 
|  | <span id="moreMessage">More</span> | 
|  | </gr-dropdown> | 
|  | </div> | 
|  | <gr-overlay id="overlay" with-backdrop=""> | 
|  | <gr-confirm-rebase-dialog | 
|  | id="confirmRebase" | 
|  | class="confirmDialog" | 
|  | change-number="[[change._number]]" | 
|  | on-confirm="_handleRebaseConfirm" | 
|  | on-cancel="_handleConfirmDialogCancel" | 
|  | branch="[[change.branch]]" | 
|  | has-parent="[[hasParent]]" | 
|  | rebase-on-current="[[_computeRebaseOnCurrent(_revisionRebaseAction)]]" | 
|  | hidden="" | 
|  | ></gr-confirm-rebase-dialog> | 
|  | <gr-confirm-cherrypick-dialog | 
|  | id="confirmCherrypick" | 
|  | class="confirmDialog" | 
|  | change-status="[[changeStatus]]" | 
|  | commit-message="[[commitMessage]]" | 
|  | commit-num="[[commitNum]]" | 
|  | on-confirm="_handleCherrypickConfirm" | 
|  | on-cancel="_handleConfirmDialogCancel" | 
|  | project="[[change.project]]" | 
|  | hidden="" | 
|  | ></gr-confirm-cherrypick-dialog> | 
|  | <gr-confirm-cherrypick-conflict-dialog | 
|  | id="confirmCherrypickConflict" | 
|  | class="confirmDialog" | 
|  | on-confirm="_handleCherrypickConflictConfirm" | 
|  | on-cancel="_handleConfirmDialogCancel" | 
|  | hidden="" | 
|  | ></gr-confirm-cherrypick-conflict-dialog> | 
|  | <gr-confirm-move-dialog | 
|  | id="confirmMove" | 
|  | class="confirmDialog" | 
|  | on-confirm="_handleMoveConfirm" | 
|  | on-cancel="_handleConfirmDialogCancel" | 
|  | project="[[change.project]]" | 
|  | hidden="" | 
|  | ></gr-confirm-move-dialog> | 
|  | <gr-confirm-revert-dialog | 
|  | id="confirmRevertDialog" | 
|  | class="confirmDialog" | 
|  | on-confirm="_handleRevertDialogConfirm" | 
|  | on-cancel="_handleConfirmDialogCancel" | 
|  | hidden="" | 
|  | ></gr-confirm-revert-dialog> | 
|  | <gr-confirm-revert-submission-dialog | 
|  | id="confirmRevertSubmissionDialog" | 
|  | class="confirmDialog" | 
|  | commit-message="[[commitMessage]]" | 
|  | on-confirm="_handleRevertSubmissionDialogConfirm" | 
|  | on-cancel="_handleConfirmDialogCancel" | 
|  | hidden="" | 
|  | ></gr-confirm-revert-submission-dialog> | 
|  | <gr-confirm-abandon-dialog | 
|  | id="confirmAbandonDialog" | 
|  | class="confirmDialog" | 
|  | on-confirm="_handleAbandonDialogConfirm" | 
|  | on-cancel="_handleConfirmDialogCancel" | 
|  | hidden="" | 
|  | ></gr-confirm-abandon-dialog> | 
|  | <gr-confirm-submit-dialog | 
|  | id="confirmSubmitDialog" | 
|  | class="confirmDialog" | 
|  | change="[[change]]" | 
|  | action="[[_revisionSubmitAction]]" | 
|  | on-cancel="_handleConfirmDialogCancel" | 
|  | on-confirm="_handleSubmitConfirm" | 
|  | hidden="" | 
|  | ></gr-confirm-submit-dialog> | 
|  | <gr-dialog | 
|  | id="createFollowUpDialog" | 
|  | class="confirmDialog" | 
|  | confirm-label="Create" | 
|  | on-confirm="_handleCreateFollowUpChange" | 
|  | on-cancel="_handleCloseCreateFollowUpChange" | 
|  | > | 
|  | <div class="header" slot="header"> | 
|  | Create Follow-Up Change | 
|  | </div> | 
|  | <div class="main" slot="main"> | 
|  | <gr-create-change-dialog | 
|  | id="createFollowUpChange" | 
|  | branch="[[change.branch]]" | 
|  | base-change="[[change.id]]" | 
|  | repo-name="[[change.project]]" | 
|  | private-by-default="[[privateByDefault]]" | 
|  | ></gr-create-change-dialog> | 
|  | </div> | 
|  | </gr-dialog> | 
|  | <gr-dialog | 
|  | id="confirmDeleteDialog" | 
|  | class="confirmDialog" | 
|  | confirm-label="Delete" | 
|  | confirm-on-enter="" | 
|  | on-cancel="_handleConfirmDialogCancel" | 
|  | on-confirm="_handleDeleteConfirm" | 
|  | > | 
|  | <div class="header" slot="header"> | 
|  | Delete Change | 
|  | </div> | 
|  | <div class="main" slot="main"> | 
|  | Do you really want to delete the change? | 
|  | </div> | 
|  | </gr-dialog> | 
|  | <gr-dialog | 
|  | id="confirmDeleteEditDialog" | 
|  | class="confirmDialog" | 
|  | confirm-label="Delete" | 
|  | confirm-on-enter="" | 
|  | on-cancel="_handleConfirmDialogCancel" | 
|  | on-confirm="_handleDeleteEditConfirm" | 
|  | > | 
|  | <div class="header" slot="header"> | 
|  | Delete Change Edit | 
|  | </div> | 
|  | <div class="main" slot="main"> | 
|  | Do you really want to delete the edit? | 
|  | </div> | 
|  | </gr-dialog> | 
|  | </gr-overlay> | 
|  | <gr-js-api-interface id="jsAPI"></gr-js-api-interface> | 
|  | <gr-rest-api-interface id="restAPI"></gr-rest-api-interface> | 
|  | <gr-reporting id="reporting" category="change-actions"></gr-reporting> | 
|  | `; |