235 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			235 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!--
 | |
| 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="../../shared/gr-editable-label/gr-editable-label.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">
 | |
| 
 | |
| 
 | |
| <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 {
 | |
|         background-color: #fafafa;
 | |
|         border-bottom: 1px solid #ddd;
 | |
|         border-top: 1px solid #ddd;
 | |
|         display: flex;
 | |
|         min-height: 3.2em;
 | |
|         padding: .5em var(--default-horizontal-margin);
 | |
|       }
 | |
|       .patchInfo-header-wrapper {
 | |
|         align-items: center;
 | |
|         display: flex;
 | |
|         width: 100%;
 | |
|       }
 | |
|       .patchInfo-left {
 | |
|         align-items: center;
 | |
|         display: flex;
 | |
|         flex-wrap: wrap;
 | |
|       }
 | |
|       .patchInfo-header-wrapper .container.latestPatchContainer {
 | |
|         display: none;
 | |
|       }
 | |
|       .patchInfoOldPatchSet .container.latestPatchContainer {
 | |
|         display: initial;
 | |
|       }
 | |
|       .latestPatchContainer a {
 | |
|         text-decoration: none;
 | |
|       }
 | |
|       gr-editable-label.descriptionLabel {
 | |
|         max-width: 100%;
 | |
|       }
 | |
|       .mobile {
 | |
|         display: none;
 | |
|       }
 | |
|       #diffPrefsContainer,
 | |
|       .rightControls {
 | |
|         align-self: flex-end;
 | |
|         margin: auto 0 auto auto;
 | |
|       }
 | |
|       .showOnEdit {
 | |
|         display: none;
 | |
|       }
 | |
|       .editLoaded .hideOnEdit {
 | |
|         display: none;
 | |
|       }
 | |
|       .editLoaded .showOnEdit {
 | |
|         display: initial;
 | |
|       }
 | |
|       .patchInfo-header-wrapper .container {
 | |
|         align-items: center;
 | |
|         display: flex;
 | |
|       }
 | |
|       #modeSelect {
 | |
|         margin-left: .1em;
 | |
|       }
 | |
|       .fileList-header {
 | |
|         align-items: center;
 | |
|         display: flex;
 | |
|         font-weight: bold;
 | |
|         height: 2.25em;
 | |
|         margin: 0 calc(var(--default-horizontal-margin) / 2);
 | |
|         padding: 0 .25em;
 | |
|       }
 | |
|       .rightControls {
 | |
|         align-items: center;
 | |
|         display: flex;
 | |
|         flex-wrap: wrap;
 | |
|         font-weight: normal;
 | |
|         justify-content: flex-end;
 | |
|       }
 | |
|       .separator {
 | |
|         background-color: rgba(0, 0, 0, .3);
 | |
|         height: 1.5em;
 | |
|         margin: 0 .6em;
 | |
|         width: 1px;
 | |
|       }
 | |
|       .separator.transparent {
 | |
|         background-color: transparent;
 | |
|       }
 | |
|       .expandInline {
 | |
|         padding-right: .25em;
 | |
|       }
 | |
|       .editLoaded .hideOnEdit {
 | |
|         display: none;
 | |
|       }
 | |
|       .editLoaded .showOnEdit {
 | |
|         display: initial;
 | |
|       }
 | |
|       .label {
 | |
|         font-family: var(--font-family-bold);
 | |
|         margin-right: 1em;
 | |
|       }
 | |
|       .container.includedInContainer.hide {
 | |
|         display: none;
 | |
|       }
 | |
|       @media screen and (max-width: 50em) {
 | |
|         .patchInfo-header .desktop {
 | |
|           display: none;
 | |
|         }
 | |
|       }
 | |
|     </style>
 | |
|     <div class$="patchInfo-header [[_computeEditLoadedClass(editLoaded)]] [[_computePatchInfoClass(patchNum, allPatchSets)]]">
 | |
|       <div class="patchInfo-header-wrapper">
 | |
|         <div class="patchInfo-left">
 | |
|           <h3 class="label">Files</h3>
 | |
|           <gr-patch-range-select
 | |
|               id="rangeSelect"
 | |
|               comments="[[comments]]"
 | |
|               change-num="[[changeNum]]"
 | |
|               patch-num="[[patchNum]]"
 | |
|               base-patch-num="[[basePatchNum]]"
 | |
|               available-patches="[[allPatchSets]]"
 | |
|               revisions="[[change.revisions]]"
 | |
|               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 downloadContainer desktop">
 | |
|             <span class="separator"></span>
 | |
|             <gr-button link
 | |
|                 class="download"
 | |
|                 on-tap="_handleDownloadTap">Download</gr-button>
 | |
|           </span>
 | |
|         <span class$="container includedInContainer [[_hideIncludedIn(change)]] desktop">
 | |
|           <span class="separator"></span>
 | |
|           <gr-button link
 | |
|               class="includedIn"
 | |
|               on-tap="_handleIncludedInTap">Included In</gr-button>
 | |
|         </span>
 | |
|           <span class="container descriptionContainer hideOnEdit">
 | |
|             <span class="separator"></span>
 | |
|             <gr-editable-label
 | |
|                 id="descriptionLabel"
 | |
|                 class="descriptionLabel"
 | |
|                 label-text="Add patchset description"
 | |
|                 value="[[_computePatchSetDescription(change, patchNum)]]"
 | |
|                 placeholder="[[_computeDescriptionPlaceholder(_descriptionReadOnly)]]"
 | |
|                 read-only="[[_descriptionReadOnly]]"
 | |
|                 on-changed="_handleDescriptionChanged"></gr-editable-label>
 | |
|           </span>
 | |
|         </div>
 | |
|         <span id="diffPrefsContainer"
 | |
|             class="hideOnEdit"
 | |
|             hidden$="[[_computePrefsButtonHidden(diffPrefs, loggedIn)]]"
 | |
|             hidden>
 | |
|           <gr-button link
 | |
|               class="prefsButton desktop"
 | |
|               on-tap="_handlePrefsTap">Diff Preferences</gr-button>
 | |
|         </span>
 | |
|       </div>
 | |
|     </div>
 | |
|     <div class="fileList-header">
 | |
|       <div class="rightControls">
 | |
|         <template is="dom-if"
 | |
|             if="[[_fileListActionsVisible(shownFileCount, _maxFilesForBulkActions)]]">
 | |
|           <gr-button
 | |
|               id="expandBtn"
 | |
|               link
 | |
|               on-tap="_expandAllDiffs">Show diffs</gr-button>
 | |
|           <span class="separator"></span>
 | |
|           <gr-button
 | |
|               id="collapseBtn"
 | |
|               link
 | |
|               on-tap="_collapseAllDiffs">Hide diffs</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>
 | |
|         <span class="separator"></span>
 | |
|         <gr-select
 | |
|             id="modeSelect"
 | |
|             bind-value="{{diffViewMode}}">
 | |
|           <select>
 | |
|             <option value="SIDE_BY_SIDE">Side By Side</option>
 | |
|             <option value="UNIFIED_DIFF">Unified</option>
 | |
|           </select>
 | |
|         </gr-select>
 | |
|       </div>
 | |
|     </div>
 | |
|     <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
 | |
|   </template>
 | |
|   <script src="gr-file-list-header.js"></script>
 | |
| </dom-module>
 | 
