| <!-- |
| @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/gr-patch-set-behavior/gr-patch-set-behavior.html"> |
| <link rel="import" href="../../../behaviors/gr-path-list-behavior/gr-path-list-behavior.html"> |
| <link rel="import" href="../../../behaviors/keyboard-shortcut-behavior/keyboard-shortcut-behavior.html"> |
| <link rel="import" href="../../core/gr-navigation/gr-navigation.html"> |
| <link rel="import" href="../../plugins/gr-endpoint-decorator/gr-endpoint-decorator.html"> |
| <link rel="import" href="../../plugins/gr-endpoint-param/gr-endpoint-param.html"> |
| <link rel="import" href="../../shared/gr-button/gr-button.html"> |
| <link rel="import" href="../../shared/gr-editable-label/gr-editable-label.html"> |
| <link rel="import" href="../../shared/gr-fixed-panel/gr-fixed-panel.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-default-editor/gr-default-editor.html"> |
| <link rel="import" href="../../../styles/shared-styles.html"> |
| |
| <dom-module id="gr-editor-view"> |
| <template> |
| <style include="shared-styles"> |
| :host { |
| background-color: var(--view-background-color); |
| } |
| gr-fixed-panel { |
| background-color: var(--edit-mode-background-color); |
| border-bottom: 1px var(--border-color) solid; |
| z-index: 1; |
| } |
| header, |
| .subHeader { |
| align-items: center; |
| display: flex; |
| justify-content: space-between; |
| padding: .75em var(--default-horizontal-margin); |
| } |
| header gr-editable-label { |
| font-size: var(--font-size-large); |
| --label-style: { |
| text-overflow: initial; |
| white-space: initial; |
| word-break: break-all; |
| } |
| --input-style: { |
| margin-top: 1em; |
| } |
| } |
| .textareaWrapper { |
| border: 1px solid var(--border-color); |
| border-radius: 3px; |
| margin: var(--default-horizontal-margin); |
| } |
| .textareaWrapper .editButtons { |
| display: none; |
| } |
| .controlGroup { |
| align-items: center; |
| display: flex; |
| font-size: var(--font-size-large); |
| } |
| .rightControls { |
| justify-content: flex-end; |
| } |
| @media screen and (max-width: 50em) { |
| header, |
| .subHeader { |
| display: block; |
| } |
| .rightControls { |
| float: right; |
| } |
| } |
| </style> |
| <gr-fixed-panel keep-on-scroll> |
| <header> |
| <span class="controlGroup"> |
| <span>Edit mode</span> |
| <span class="separator"></span> |
| <gr-editable-label |
| label-text="File path" |
| value="[[_path]]" |
| placeholder="File path..." |
| on-changed="_handlePathChanged"></gr-editable-label> |
| </span> |
| <span class="controlGroup rightControls"> |
| <gr-button |
| id="close" |
| link |
| on-tap="_handleCloseTap">Close</gr-button> |
| <gr-button |
| id="save" |
| disabled$="[[_saveDisabled]]" |
| primary |
| link |
| on-tap="_saveEdit">Save</gr-button> |
| </span> |
| </header> |
| </gr-fixed-panel> |
| <div class="textareaWrapper"> |
| <gr-endpoint-decorator id="editorEndpoint" name="editor"> |
| <gr-endpoint-param name="fileContent" value="[[_newContent]]"></gr-endpoint-param> |
| <gr-endpoint-param name="prefs" value="[[_prefs]]"></gr-endpoint-param> |
| <gr-endpoint-param name="fileType" value="[[_type]]"></gr-endpoint-param> |
| <gr-default-editor id="file" file-content="[[_newContent]]"></gr-default-editor> |
| </gr-endpoint-decorator> |
| </div> |
| <gr-rest-api-interface id="restAPI"></gr-rest-api-interface> |
| <gr-storage id="storage"></gr-storage> |
| </template> |
| <script src="gr-editor-view.js"></script> |
| </dom-module> |