<!--
@license
Copyright (C) 2017 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="../../../styles/shared-styles.html">
<link rel="import" href="../../core/gr-navigation/gr-navigation.html">
<link rel="import" href="../../diff/gr-diff-mode-selector/gr-diff-mode-selector.html">
<link rel="import" href="../../diff/gr-patch-range-select/gr-patch-range-select.html">
<link rel="import" href="../../edit/gr-edit-controls/gr-edit-controls.html">
<link rel="import" href="../../shared/gr-editable-label/gr-editable-label.html">
<link rel="import" href="../../shared/gr-linked-chip/gr-linked-chip.html">
<link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html">
<link rel="import" href="../../shared/gr-select/gr-select.html">
<link rel="import" href="../../shared/gr-button/gr-button.html">
<link rel="import" href="../../shared/gr-icons/gr-icons.html">
<link rel="import" href="../gr-file-list-constants.html">
<link rel="import" href="../gr-commit-info/gr-commit-info.html">

<dom-module id="gr-file-list-header">
  <template>
    <style include="shared-styles">
      .prefsButton {
        float: right;
      }
      .collapseToggleButton {
        text-decoration: none;
      }
      .patchInfoOldPatchSet.patchInfo-header {
        background-color: var(--emphasis-color);
      }
      .patchInfo-header {
        align-items: center;
        background-color: var(--table-header-background-color);
        border-top: 1px solid var(--border-color);
        display: flex;
        padding: var(--spacing-s) var(--spacing-l);
      }
      .patchInfo-left {
        align-items: baseline;
        display: flex;
      }
      .patchInfoContent {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
      }
      .patchInfo-header .container.latestPatchContainer {
        display: none;
      }
      .patchInfoOldPatchSet .container.latestPatchContainer {
        display: initial;
      }
      .latestPatchContainer a {
        text-decoration: none;
      }
      gr-editable-label.descriptionLabel {
        max-width: 100%;
      }
      .mobile {
        display: none;
      }
      .patchInfo-header .container {
        align-items: center;
        display: flex;
      }
      .downloadContainer,
      .uploadContainer,
      .includedInContainer {
        margin-right: 16px;
      }
      .includedInContainer.hide,
      .uploadContainer.hide {
        display: none;
      }
      .rightControls {
        align-self: flex-end;
        margin: auto 0 auto auto;
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        font-weight: normal;
        justify-content: flex-end;
      }
      #collapseBtn,
      .expanded #expandBtn,
      .fileViewActions{
        display: none;
      }
      .expanded #expandBtn {
        display: none;
      }
      gr-linked-chip {
        --linked-chip-text-color: var(--primary-text-color);
      }
      .expanded #collapseBtn,
      .openFile .fileViewActions {
        align-items: center;
        display: flex;
      }
      .rightControls gr-button,
      gr-patch-range-select {
        margin: 0 -4px;
      }
      .fileViewActions gr-button {
        margin: 0;
        --gr-button: {
          padding: 2px 4px;
        }
      }
      .editMode .hideOnEdit {
        display: none;
      }
      .showOnEdit {
        display: none;
      }
      .editMode .showOnEdit {
        display: initial;
      }
      .editMode .showOnEdit.flexContainer {
        align-items: center;
        display: flex;
      }
      .label {
        font-weight: var(--font-weight-bold);
        margin-right: 24px;
      }
      gr-commit-info,
      gr-edit-controls {
        margin-right: -5px;
      }
      .fileViewActionsLabel {
        margin-right: var(--spacing-xs);
      }
      @media screen and (max-width: 50em) {
        .patchInfo-header .desktop {
          display: none;
        }
      }
    </style>
    <div class$="patchInfo-header [[_computeEditModeClass(editMode)]] [[_computePatchInfoClass(patchNum, allPatchSets)]]">
      <div class="patchInfo-left">
        <template is="dom-if"
            if="[[showTitle]]">
          <h3 class="label">Files</h3>
        </template>
        <div class="patchInfoContent">
          <gr-patch-range-select
              id="rangeSelect"
              change-comments="[[changeComments]]"
              change-num="[[changeNum]]"
              patch-num="[[patchNum]]"
              base-patch-num="[[basePatchNum]]"
              available-patches="[[allPatchSets]]"
              revisions="[[change.revisions]]"
              revision-info="[[revisionInfo]]"
              on-patch-range-change="_handlePatchChange">
          </gr-patch-range-select>
          <span class="separator"></span>
          <gr-commit-info
              change="[[change]]"
              server-config="[[serverConfig]]"
              commit-info="[[commitInfo]]"></gr-commit-info>
          <span class="container latestPatchContainer">
            <span class="separator"></span>
            <a href$="[[changeUrl]]">Go to latest patch set</a>
          </span>
          <span class="container descriptionContainer hideOnEdit">
            <span class="separator"></span>
            <template
                is="dom-if"
                if="[[_patchsetDescription]]">
              <gr-linked-chip
                  id="descriptionChip"
                  text="[[_patchsetDescription]]"
                  removable="[[!_descriptionReadOnly]]"
                  on-remove="_handleDescriptionRemoved"></gr-linked-chip>
            </template>
            <template
                is="dom-if"
                if="[[!_patchsetDescription]]">
              <gr-editable-label
                  id="descriptionLabel"
                  uppercase
                  class="descriptionLabel"
                  label-text="Add patchset description"
                  value="[[_patchsetDescription]]"
                  placeholder="[[_computeDescriptionPlaceholder(_descriptionReadOnly)]]"
                  read-only="[[_descriptionReadOnly]]"
                  on-changed="_handleDescriptionChanged"></gr-editable-label>
            </template>
          </span>
        </div>
      </div>
      <div class$="rightControls [[_computeExpandedClass(filesExpanded)]]">
        <span class="showOnEdit flexContainer">
          <gr-edit-controls
              id="editControls"
              patch-num="[[patchNum]]"
              change="[[change]]"></gr-edit-controls>
          <span class="separator"></span>
        </span>
        <span class$="[[_computeUploadHelpContainerClass(change, account)]]">
          <gr-button link
              class="upload"
              on-click="_handleUploadTap">Update Change</gr-button>
        </span>
        <span class="downloadContainer desktop">
          <gr-button link
              class="download"
              title="[[createTitle(Shortcut.OPEN_DOWNLOAD_DIALOG,
                ShortcutSection.ACTIONS)]]"
              on-click="_handleDownloadTap">Download</gr-button>
        </span>
        <span class$="includedInContainer [[_hideIncludedIn(change)]] desktop">
          <gr-button link
              class="includedIn"
              on-click="_handleIncludedInTap">Included In</gr-button>
        </span>
        <template is="dom-if"
            if="[[_fileListActionsVisible(shownFileCount, _maxFilesForBulkActions)]]">
          <gr-button
              id="expandBtn"
              link
              title="[[createTitle(Shortcut.EXPAND_ALL_DIFF_CONTEXT,
                ShortcutSection.DIFFS)]]"
              on-click="_expandAllDiffs">Expand All</gr-button>
          <gr-button
              id="collapseBtn"
              link
              on-click="_collapseAllDiffs">Collapse All</gr-button>
        </template>
        <template is="dom-if"
            if="[[!_fileListActionsVisible(shownFileCount, _maxFilesForBulkActions)]]">
          <div class="warning">
            Bulk actions disabled because there are too many files.
          </div>
        </template>
        <div class="fileViewActions">
          <span class="separator"></span>
          <span class="fileViewActionsLabel">Diff view:</span>
          <gr-diff-mode-selector
              id="modeSelect"
              mode="{{diffViewMode}}"
              save-on-change="[[!diffPrefsDisabled]]"></gr-diff-mode-selector>
          <span id="diffPrefsContainer"
              class="hideOnEdit"
              hidden$="[[_computePrefsButtonHidden(diffPrefs, diffPrefsDisabled)]]"
              hidden>
            <gr-button
                link
                has-tooltip
                title="Diff preferences"
                class="prefsButton desktop"
                on-click="_handlePrefsTap"><iron-icon icon="gr-icons:settings"></iron-icon></gr-button>
          </span>
        </div>
      </div>
    </div>
    <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
  </template>
  <script src="gr-file-list-header.js"></script>
</dom-module>
