<!--
Copyright (C) 2015 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/base-url-behavior/base-url-behavior.html">
<link rel="import" href="../../../behaviors/gr-patch-set-behavior/gr-patch-set-behavior.html">
<link rel="import" href="../../../behaviors/keyboard-shortcut-behavior/keyboard-shortcut-behavior.html">
<link rel="import" href="../../../behaviors/rest-client-behavior/rest-client-behavior.html">
<link rel="import" href="../../../bower_components/iron-autogrow-textarea/iron-autogrow-textarea.html">
<link rel="import" href="../../plugins/gr-endpoint-decorator/gr-endpoint-decorator.html">
<link rel="import" href="../../shared/gr-account-chip/gr-account-chip.html">
<link rel="import" href="../../shared/gr-textarea/gr-textarea.html">
<link rel="import" href="../../shared/gr-button/gr-button.html">
<link rel="import" href="../../shared/gr-formatted-text/gr-formatted-text.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="../../shared/gr-storage/gr-storage.html">
<link rel="import" href="../gr-account-list/gr-account-list.html">
<link rel="import" href="../gr-label-scores/gr-label-scores.html">
<link rel="import" href="../../../styles/shared-styles.html">

<dom-module id="gr-reply-dialog">
  <template>
    <style include="shared-styles">
      :host {
        display: block;
        max-height: 90vh;
      }
      :host([disabled]) {
        pointer-events: none;
      }
      :host([disabled]) .container {
        opacity: .5;
      }
      .container {
        display: flex;
        flex-direction: column;
        max-height: 90vh;
      }
      section {
        border-top: 1px solid #ddd;
        padding: .5em .75em;
        width: 100%;
      }
      .peopleContainer,
      .labelsContainer {
        flex-shrink: 0;
      }
      .peopleContainer {
        display: table;
      }
      .peopleList {
        display: flex;
        padding-top: .1em;
      }
      .peopleListLabel {
        color: #666;
        min-width: 7em;
        padding-right: .5em;
      }
      gr-account-list {
        display: flex;
        flex-wrap: wrap;
        flex: 1;
        --account-list-style: {
          max-height: 12em;
          overflow-y: auto;
        }
      }
      #reviewerConfirmationOverlay {
        padding: 1em;
        text-align: center;
      }
      .reviewerConfirmationButtons {
        margin-top: 1em;
      }
      .groupName {
        font-family: var(--font-family-bold);
      }
      .groupSize {
        font-style: italic;
      }
      .textareaContainer {
        min-height: 6em;
        position: relative;
      }
      .textareaContainer,
      #textarea,
      gr-endpoint-decorator {
        display: flex;
        width: 100%;
      }
      .previewContainer gr-formatted-text {
        background: #f6f6f6;
        max-height: 20vh;
        overflow-y: scroll;
        padding: 1em;
      }
      .draftsContainer {
        flex: 1;
        overflow-y: auto;
      }
      .draftsContainer h3 {
        margin-top: .25em;
      }
      .action:link,
      .action:visited {
        color: #00e;
      }
      #checkingStatusLabel,
      #notLatestLabel {
        margin-left: 1em;
      }
      #checkingStatusLabel {
        color: #444;
        font-style: italic;
      }
      #notLatestLabel,
      #savingLabel {
        color: red;
      }
      #savingLabel {
        display: none;
      }
      #savingLabel.saving {
        display: inline;
      }
      #cancelButton {
        float: right;
      }
      @media screen and (max-width: 50em) {
        :host {
          max-height: none;
        }
        .container {
          max-height: none;
        }
      }
    </style>
    <div class="container">
      <section class="peopleContainer">
        <div class="peopleList">
          <div class="peopleListLabel">Owner</div>
          <gr-account-chip account="[[_owner]]"></gr-account-chip>
        </div>
      </section>
      <section class="peopleContainer">
        <div class="peopleList">
          <div class="peopleListLabel">Reviewers</div>
          <gr-account-list
              id="reviewers"
              accounts="{{_reviewers}}"
              removable-values="[[change.removable_reviewers]]"
              change="[[change]]"
              filter="[[filterReviewerSuggestion]]"
              pending-confirmation="{{_reviewerPendingConfirmation}}"
              placeholder="Add reviewer...">
          </gr-account-list>
        </div>
        <template is="dom-if" if="[[serverConfig.note_db_enabled]]">
          <div class="peopleList">
            <div class="peopleListLabel">CC</div>
            <gr-account-list
                id="ccs"
                accounts="{{_ccs}}"
                change="[[change]]"
                filter="[[filterCCSuggestion]]"
                pending-confirmation="{{_ccPendingConfirmation}}"
                allow-any-input
                placeholder="Add CC...">
            </gr-account-list>
          </div>
        </template>
        <gr-overlay
            id="reviewerConfirmationOverlay"
            on-iron-overlay-canceled="_cancelPendingReviewer"
            with-backdrop>
          <div class="reviewerConfirmation">
            Group
            <span class="groupName">
              [[_pendingConfirmationDetails.group.name]]
            </span>
            has
            <span class="groupSize">
              [[_pendingConfirmationDetails.count]]
            </span>
            members.
            <br>
            Are you sure you want to add them all?
          </div>
          <div class="reviewerConfirmationButtons">
            <gr-button on-tap="_confirmPendingReviewer">Yes</gr-button>
            <gr-button on-tap="_cancelPendingReviewer">No</gr-button>
          </div>
        </gr-overlay>
      </section>
      <section class="textareaContainer">
        <gr-endpoint-decorator name="reply-text">
          <gr-textarea
              id="textarea"
              class="message"
              autocomplete="on"
              placeholder=[[_messagePlaceholder]]
              fixed-position-dropdown
              hide-border="true"
              monospace="true"
              disabled="{{disabled}}"
              rows="4"
              max-rows="15"
              text="{{draft}}"
              on-bind-value-changed="_handleHeightChanged">
          </gr-textarea>
        </gr-endpoint-decorator>
      </section>
      <section class="previewContainer">
        <label>
          <input type="checkbox" checked="{{_previewFormatting::change}}">
          Preview formatting
        </label>
        <gr-formatted-text
            content="[[draft]]"
            hidden$="[[!_previewFormatting]]"
            config="[[projectConfig.commentlinks]]"></gr-formatted-text>
      </section>
      <section class="labelsContainer">
        <gr-label-scores
            id="labelScores"
            account="[[_account]]"
            change="[[change]]"
            on-labels-changed="_handleLabelsChanged"
            permitted-labels=[[permittedLabels]]></gr-label-scores>
      </section>
      <section class="draftsContainer" hidden$="[[_computeHideDraftList(diffDrafts)]]">
        <div class="includeComments">
          <input type="checkbox" id="includeComments"
              checked="{{_includeComments::change}}">
          <label for="includeComments">Publish [[_computeDraftsTitle(diffDrafts)]]</label>
        </div>
        <gr-comment-list
            id="commentList"
            comments="[[diffDrafts]]"
            change-num="[[change._number]]"
            project-config="[[projectConfig]]"
            patch-num="[[patchNum]]"
            hidden$="[[!_includeComments]]"></gr-comment-list>
        <span
            id="savingLabel"
            class$="[[_computeSavingLabelClass(_savingComments)]]">
          Saving comments...
        </span>
      </section>
      <section>
        <gr-button
            primary
            disabled="[[_computeSendButtonDisabled(knownLatestState, _sendButtonLabel, diffDrafts, draft, _reviewersMutated, _labelsChanged)]]"
            class="action send"
            on-tap="_sendTapHandler">[[_sendButtonLabel]]</gr-button>
        <template is="dom-if" if="[[canBeStarted]]">
          <gr-button
              disabled="[[_isState(knownLatestState, 'not-latest')]]"
              class="action save"
              on-tap="_saveTapHandler">Save</gr-button>
        </template>
        <span
            id="checkingStatusLabel"
            hidden$="[[!_isState(knownLatestState, 'checking')]]">
          Checking whether patch [[patchNum]] is latest...
        </span>
        <span
            id="notLatestLabel"
            hidden$="[[!_isState(knownLatestState, 'not-latest')]]">
          Patch [[patchNum]] is not latest.
          <gr-button link on-tap="_reload">Reload</gr-button>
        </span>
        <gr-button
            id="cancelButton"
            class="action cancel"
            on-tap="_cancelTapHandler">Cancel</gr-button>
      </section>
    </div>
    <gr-js-api-interface id="jsAPI"></gr-js-api-interface>
    <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
    <gr-storage id="storage"></gr-storage>
  </template>
  <script src="gr-reply-dialog.js"></script>
</dom-module>
