<!--
@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/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>
