<!--
@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="../../../bower_components/iron-input/iron-input.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="[[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-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="[[revisionActions.submit]]"
          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>
