| <!-- | |
| @license | |
| Copyright (C) 2019 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. | |
| --> | |
| <dom-module id="gr-serviceuser-ssh-panel"> | |
| <template> | |
| <style include="shared-styles"></style> | |
| <style include="gr-form-styles"> | |
| .statusHeader { | |
| width: 4em; | |
| } | |
| .keyHeader { | |
| width: 7.5em; | |
| } | |
| #viewKeyOverlay { | |
| padding: 2em; | |
| width: 50em; | |
| } | |
| .publicKey { | |
| font-family: var(--monospace-font-family); | |
| overflow-x: scroll; | |
| overflow-wrap: break-word; | |
| width: 30em; | |
| } | |
| .closeButton { | |
| bottom: 2em; | |
| position: absolute; | |
| right: 2em; | |
| } | |
| #existing { | |
| margin-bottom: 1em; | |
| } | |
| #existing .commentColumn { | |
| min-width: 27em; | |
| width: auto; | |
| } | |
| </style> | |
| <div class="gr-form-styles"> | |
| <fieldset id="existing"> | |
| <table> | |
| <thead> | |
| <tr> | |
| <th class="commentColumn">Comment</th> | |
| <th class="statusHeader">Status</th> | |
| <th class="keyHeader">Public key</th> | |
| <th></th> | |
| </tr> | |
| </thead> | |
| <tbody> | |
| <template is="dom-repeat" | |
| items="[[_keys]]" | |
| as="key"> | |
| <tr> | |
| <td class="commentColumn">[[key.comment]]</td> | |
| <td>[[_getStatusLabel(key.valid)]]</td> | |
| <td> | |
| <gr-button link | |
| on-click="_showKey" | |
| data-index$="[[index]]" | |
| link>Click to View</gr-button> | |
| </td> | |
| <td> | |
| <gr-button link | |
| data-index$="[[index]]" | |
| on-click="_handleDeleteKey">Delete</gr-button> | |
| </td> | |
| </tr> | |
| </template> | |
| </tbody> | |
| </table> | |
| <gr-overlay id="viewKeyOverlay" | |
| with-backdrop> | |
| <fieldset> | |
| <section> | |
| <span class="title">Algorithm</span> | |
| <span class="value">[[_keyToView.algorithm]]</span> | |
| </section> | |
| <section> | |
| <span class="title">Public key</span> | |
| <span class="value publicKey">[[_keyToView.encoded_key]]</span> | |
| </section> | |
| <section> | |
| <span class="title">Comment</span> | |
| <span class="value">[[_keyToView.comment]]</span> | |
| </section> | |
| </fieldset> | |
| <gr-button class="closeButton" | |
| on-click="_closeOverlay">Close</gr-button> | |
| </gr-overlay> | |
| </fieldset> | |
| <fieldset> | |
| <section> | |
| <span class="title">New SSH key</span> | |
| <span class="value"> | |
| <iron-autogrow-textarea id="newKey" | |
| autocomplete="on" | |
| bind-value="{{_newKey}}" | |
| placeholder="New SSH Key"> | |
| </iron-autogrow-textarea> | |
| </span> | |
| </section> | |
| <gr-button id="addButton" | |
| link | |
| disabled$="[[_computeAddButtonDisabled(_newKey)]]" | |
| on-click="_handleAddKey"> | |
| Add new SSH key | |
| </gr-button> | |
| </fieldset> | |
| </div> | |
| <gr-rest-api-interface id="restAPI"></gr-rest-api-interface> | |
| </template> | |
| <script src="gr-serviceuser-ssh-panel.js"></script> | |
| </dom-module> |