<!--
@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-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: 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: 12px;
      }
      #actionLoadingMessage {
        align-items: center;
        color: var(--deemphasized-text-color);
      }
      #confirmSubmitDialog .changeSubject {
        margin: 1em;
        text-align: center;
      }
      @media screen and (max-width: 50em) {
        #mainContent,
        section,
        gr-button,
        gr-dropdown {
          display: block;
          flex: 1;
        }
        gr-button,
        gr-dropdown {
          /* px because don't have the same font size */
          margin: 0 0 6px 0;
        }
        #actionLoadingMessage {
          display: block;
          margin: .5em;
          text-align: center;
        }
        #mainContent.mobileOverlayOpened {
          display: none;
        }
      }
    </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
                title$="[[action.title]]"
                has-tooltip="[[_computeHasTooltip(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>
        <section id="secondaryActions"
            hidden$="[[_shouldHideActions(_topLevelActions.*, _loading)]]">
          <template
              is="dom-repeat"
              items="[[_topLevelSecondaryActions]]"
              as="action">
            <gr-button
                title$="[[action.title]]"
                has-tooltip="[[_computeHasTooltip(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>
      <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>
    </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-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="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-confirm-dialog>
      <gr-confirm-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-confirm-dialog>
      <gr-confirm-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-confirm-dialog>
      <gr-confirm-dialog
          id="confirmSubmitDialog"
          class="confirmDialog"
          confirm-label="Submit"
          confirm-on-enter
          on-cancel="_handleConfirmDialogCancel"
          on-confirm="_handleSubmitConfirm">
        <div class="header" slot="header">
          Submit Change
        </div>
        <div class="main" slot="main">
          <p>
            Are you sure you want to to <strong>submit</strong> this change?
          </p>
          <p class="changeSubject">
            <strong>[[change.subject]]</strong>
          </p>
        </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>
    <gr-reporting id="reporting" category="change-actions"></gr-reporting>
  </template>
  <script src="gr-change-actions.js"></script>
</dom-module>
