| <!-- |
| Copyright (C) 2016 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. |
| --> |
| |
| <link rel="import" href="../../../behaviors/gr-patch-set-behavior/gr-patch-set-behavior.html"> |
| <link rel="import" href="../../../behaviors/rest-client-behavior/rest-client-behavior.html"> |
| <link rel="import" href="../../../bower_components/polymer/polymer.html"> |
| <link rel="import" href="../../../bower_components/iron-input/iron-input.html"> |
| |
| <link rel="import" href="../../core/gr-navigation/gr-navigation.html"> |
| |
| <link rel="import" href="../../shared/gr-button/gr-button.html"> |
| <link rel="import" href="../../shared/gr-dropdown/gr-dropdown.html"> |
| <link rel="import" href="../../shared/gr-js-api-interface/gr-js-api-interface.html"> |
| <link rel="import" href="../../shared/gr-overlay/gr-overlay.html"> |
| <link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html"> |
| |
| <link rel="import" href="../gr-confirm-abandon-dialog/gr-confirm-abandon-dialog.html"> |
| <link rel="import" href="../gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog.html"> |
| <link rel="import" href="../gr-confirm-move-dialog/gr-confirm-move-dialog.html"> |
| <link rel="import" href="../gr-confirm-rebase-dialog/gr-confirm-rebase-dialog.html"> |
| <link rel="import" href="../gr-confirm-revert-dialog/gr-confirm-revert-dialog.html"> |
| <link rel="import" href="../../../styles/shared-styles.html"> |
| |
| <dom-module id="gr-change-actions"> |
| <template> |
| <style include="shared-styles"> |
| :host { |
| display: inline-block; |
| font-family: var(--font-family); |
| } |
| section { |
| display: inline-block; |
| } |
| gr-button, |
| gr-dropdown { |
| margin-left: .5em; |
| } |
| #actionLoadingMessage { |
| color: #777; |
| } |
| @media screen and (max-width: 50em) { |
| :host, |
| section, |
| gr-button, |
| gr-dropdown { |
| display: block; |
| } |
| gr-button, |
| gr-dropdown { |
| margin-bottom: .5em; |
| margin-left: 0; |
| } |
| .confirmDialog { |
| width: 90vw; |
| } |
| #actionLoadingMessage { |
| display: block; |
| margin: .5em; |
| text-align: center; |
| } |
| #mainContent.mobileOverlayOpened { |
| display: none; |
| } |
| } |
| </style> |
| <div id="mainContent"> |
| <span |
| id="actionLoadingMessage" |
| hidden$="[[!_actionLoadingMessage]]"> |
| [[_actionLoadingMessage]]</span> |
| <gr-dropdown |
| id="moreActions" |
| tabindex="0" |
| down-arrow |
| vertical-offset="32" |
| horizontal-align="right" |
| on-tap-item="_handleOveflowItemTap" |
| hidden$="[[_shouldHideActions(_menuActions.*, _loading)]]" |
| disabled-ids="[[_disabledMenuActions]]" |
| items="[[_menuActions]]">More</gr-dropdown> |
| <section hidden$="[[_shouldHideActions(_topLevelActions.*, _loading)]]"> |
| <template |
| is="dom-repeat" |
| items="[[_topLevelActions]]" |
| as="action"> |
| <gr-button title$="[[action.title]]" |
| primary$="[[action.__primary]]" |
| data-action-key$="[[action.__key]]" |
| data-action-type$="[[action.__type]]" |
| data-label$="[[action.label]]" |
| disabled$="[[_calculateDisabled(action, _hasKnownChainState)]]" |
| on-tap="_handleActionTap">[[action.label]]</gr-button> |
| </template> |
| </section> |
| <gr-button hidden$="[[!_loading]]" disabled>Loading actions...</gr-button> |
| </div> |
| <gr-overlay id="overlay" with-backdrop> |
| <gr-confirm-rebase-dialog id="confirmRebase" |
| class="confirmDialog" |
| on-confirm="_handleRebaseConfirm" |
| on-cancel="_handleConfirmDialogCancel" |
| branch="[[change.branch]]" |
| has-parent="[[hasParent]]" |
| rebase-on-current="[[revisionActions.rebase.rebaseOnCurrent]]" |
| 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-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-abandon-dialog id="confirmAbandonDialog" |
| class="confirmDialog" |
| on-confirm="_handleAbandonDialogConfirm" |
| on-cancel="_handleConfirmDialogCancel" |
| hidden></gr-confirm-abandon-dialog> |
| <gr-confirm-dialog |
| id="confirmDeleteDialog" |
| class="confirmDialog" |
| confirm-label="Delete" |
| on-cancel="_handleConfirmDialogCancel" |
| on-confirm="_handleDeleteConfirm"> |
| <div class="header"> |
| Delete Change |
| </div> |
| <div class="main"> |
| Do you really want to delete the change? |
| </div> |
| </gr-confirm-dialog> |
| <gr-confirm-dialog |
| id="confirmDeleteEditDialog" |
| class="confirmDialog" |
| confirm-label="Delete" |
| on-cancel="_handleConfirmDialogCancel" |
| on-confirm="_handleDeleteEditConfirm"> |
| <div class="header"> |
| Delete Change Edit |
| </div> |
| <div class="main"> |
| Do you really want to delete the edit? |
| </div> |
| </gr-confirm-dialog> |
| </gr-overlay> |
| <gr-js-api-interface id="jsAPI"></gr-js-api-interface> |
| <gr-rest-api-interface id="restAPI"></gr-rest-api-interface> |
| </template> |
| <script src="gr-change-actions.js"></script> |
| </dom-module> |