
Polymer 2 deprecates the 'fire' method for legacy elements. So let's use gerrit's core fire method which is almost exactly the same. Change-Id: I59aebd29a89d26d9cb39e63e9a41afa9756b942f
275 lines
10 KiB
HTML
275 lines
10 KiB
HTML
<!--
|
|
@license
|
|
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="/bower_components/polymer/polymer.html">
|
|
|
|
<link rel="import" href="../../../behaviors/fire-behavior/fire-behavior.html">
|
|
<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="../../admin/gr-create-change-dialog/gr-create-change-dialog.html">
|
|
<link rel="import" href="../../core/gr-navigation/gr-navigation.html">
|
|
<link rel="import" href="../../core/gr-reporting/gr-reporting.html">
|
|
<link rel="import" href="../../shared/gr-button/gr-button.html">
|
|
<link rel="import" href="../../shared/gr-dialog/gr-dialog.html">
|
|
<link rel="import" href="../../shared/gr-dropdown/gr-dropdown.html">
|
|
<link rel="import" href="../../shared/gr-icons/gr-icons.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-cherrypick-conflict-dialog/gr-confirm-cherrypick-conflict-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="../gr-confirm-submit-dialog/gr-confirm-submit-dialog.html">
|
|
<link rel="import" href="../../../styles/shared-styles.html">
|
|
|
|
<dom-module id="gr-change-actions">
|
|
<template>
|
|
<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: 1em;
|
|
text-align: center;
|
|
}
|
|
iron-icon {
|
|
color: inherit;
|
|
height: 1.2rem;
|
|
margin-right: .2rem;
|
|
width: 1.2rem;
|
|
}
|
|
gr-button {
|
|
min-height: 2.25em;
|
|
}
|
|
gr-dropdown {
|
|
--gr-button: {
|
|
min-height: 2.25em;
|
|
}
|
|
}
|
|
#moreActions iron-icon {
|
|
margin: 0;
|
|
}
|
|
#moreMessage,
|
|
.hidden {
|
|
display: none;
|
|
}
|
|
@media screen and (max-width: 50em) {
|
|
#mainContent {
|
|
flex-wrap: wrap;
|
|
}
|
|
gr-button {
|
|
--gr-button: {
|
|
padding: .5em;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
gr-button,
|
|
gr-dropdown {
|
|
margin: 0;
|
|
}
|
|
#actionLoadingMessage {
|
|
margin: .5em;
|
|
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)]]"
|
|
data-action-key$="[[action.__key]]"
|
|
data-action-type$="[[action.__type]]"
|
|
data-label$="[[action.label]]"
|
|
disabled$="[[_calculateDisabled(action, _hasKnownChainState)]]"
|
|
on-tap="_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)]]"
|
|
data-action-key$="[[action.__key]]"
|
|
data-action-type$="[[action.__type]]"
|
|
data-label$="[[action.label]]"
|
|
disabled$="[[_calculateDisabled(action, _hasKnownChainState)]]"
|
|
on-tap="_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="[[_revisionRebaseAction.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-cherrypick-conflict-dialog id="confirmCherrypickConflict"
|
|
class="confirmDialog"
|
|
change-status="[[changeStatus]]"
|
|
commit-message="[[commitMessage]]"
|
|
commit-num="[[commitNum]]"
|
|
on-confirm="_handleCherrypickConflictConfirm"
|
|
on-cancel="_handleConfirmDialogCancel"
|
|
project="[[change.project]]"
|
|
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-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>
|
|
</template>
|
|
<script src="gr-change-actions.js"></script>
|
|
</dom-module>
|