<!--
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/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-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="../../shared/revision-info/revision-info.html">
<link rel="import" href="../gr-file-list-constants.html">

<dom-module id="gr-file-list-header">
  <template>
    <style include="shared-styles">
      .prefsButton {
        float: right;
      }
      .collapseToggleButton {
        text-decoration: none;
      }
      .patchInfoEdit.patchInfo-header {
        background-color: #fcfad6;
      }
      .patchInfoOldPatchSet.patchInfo-header {
        background-color: #fff9c4;
      }
      .patchInfo-header {
        align-items: center;
        background-color: #fafafa;
        border-top: 1px solid #ddd;
        display: flex;
        padding: 6px var(--default-horizontal-margin);
      }
      .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 {
        margin-right: 16px;
      }
      .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-button.selected iron-icon {
        color: var(--color-link);
      }
      gr-linked-chip {
        --linked-chip-text-color: black;
      }
      .expanded #collapseBtn,
      .openFile .fileViewActions {
        align-items: center;
        display: flex;
      }
      .fileViewActions gr-button {
        --gr-button: {
          padding: 2px 4px;
        }
      }
      .fileViewActions > *:not(:last-child) {
        margin-right: 5px;
      }
      .editLoaded .hideOnEdit {
        display: none;
      }
      .showOnEdit {
        display: none;
      }
      .editLoaded .showOnEdit {
        display: initial;
      }
      .editLoaded .showOnEdit.flexContainer {
        align-items: center;
        display: flex;
      }
      .label {
        font-family: var(--font-family-bold);
        margin-right: 24px;
      }
      gr-commit-info {
        margin-right: -5px;
      }
      @media screen and (max-width: 50em) {
        .patchInfo-header .desktop {
          display: none;
        }
      }
    </style>
    <div class$="patchInfo-header [[_computeEditLoadedClass(editLoaded)]] [[_computePatchInfoClass(patchNum, allPatchSets)]]">
      <div class="patchInfo-left">
        <h3 class="label">Files</h3>
        <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" change="[[change]]"></gr-edit-controls>
          <span class="separator"></span>
        </span>
        <span class="downloadContainer desktop">
          <gr-button link
              class="download"
              on-tap="_handleDownloadTap">Download</gr-button>
        </span>
        <template is="dom-if"
            if="[[_fileListActionsVisible(shownFileCount, _maxFilesForBulkActions)]]">
          <gr-button
              id="expandBtn"
              link
              on-tap="_expandAllDiffs">Expand All</gr-button>
          <gr-button
              id="collapseBtn"
              link
              on-tap="_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>Diff Views:</span>
          <gr-button
              id="sideBySideBtn"
              link
              has-tooltip
              title="Side-by-side diff"
              class$="[[_computeSelectedClass(diffViewMode, _VIEW_MODES.SIDE_BY_SIDE)]]"
              on-tap="_handleSideBySideTap"><iron-icon icon="gr-icons:side-by-side"></iron-icon></gr-button>
          <gr-button
              id="unifiedBtn"
              link
              has-tooltip
              title="Unified dff"
              class$="[[_computeSelectedClass(diffViewMode, _VIEW_MODES.UNIFIED)]]"
              on-tap="_handleUnifiedTap"><iron-icon icon="gr-icons:unified"></iron-icon></gr-button>
          <span id="diffPrefsContainer"
              class="hideOnEdit"
              hidden$="[[_computePrefsButtonHidden(diffPrefs, loggedIn)]]"
              hidden>
            <gr-button
                link
                has-tooltip
                title="Diff preferences"
                class="prefsButton desktop"
                on-tap="_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>
