| /** |
| * @license |
| * Copyright (C) 2020 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. |
| */ |
| import {html} from '@polymer/polymer/lib/utils/html-tag.js'; |
| |
| export const htmlTemplate = html` |
| <style include="gr-form-styles"> |
| /* Workaround for empty style block - see https://github.com/Polymer/tools/issues/408 */ |
| </style> |
| <style include="gr-table-styles"> |
| /* Workaround for empty style block - see https://github.com/Polymer/tools/issues/408 */ |
| </style> |
| <style include="shared-styles"> |
| .tags td.name { |
| min-width: 25em; |
| } |
| td.name, |
| td.revision, |
| td.message { |
| word-break: break-word; |
| } |
| td.revision.tags { |
| width: 27em; |
| } |
| td.message, |
| td.tagger { |
| max-width: 15em; |
| } |
| .editing .editItem { |
| display: inherit; |
| } |
| .editItem, |
| .editing .editBtn, |
| .canEdit .revisionNoEditing, |
| .editing .revisionWithEditing, |
| .revisionEdit, |
| .hideItem { |
| display: none; |
| } |
| .revisionEdit gr-button { |
| margin-left: var(--spacing-m); |
| } |
| .editBtn { |
| margin-left: var(--spacing-l); |
| } |
| .canEdit .revisionEdit{ |
| align-items: center; |
| display: flex; |
| } |
| .deleteButton:not(.show) { |
| display: none; |
| } |
| .tagger.hide { |
| display: none; |
| } |
| </style> |
| <style include="gr-table-styles"> |
| /* Workaround for empty style block - see https://github.com/Polymer/tools/issues/408 */ |
| </style> |
| <gr-list-view create-new="[[_loggedIn]]" filter="[[_filter]]" items-per-page="[[_itemsPerPage]]" items="[[_items]]" loading="[[_loading]]" offset="[[_offset]]" on-create-clicked="_handleCreateClicked" path="[[_getPath(_repo, detailType)]]"> |
| <table id="list" class="genericList gr-form-styles"> |
| <tbody><tr class="headerRow"> |
| <th class="name topHeader">Name</th> |
| <th class="revision topHeader">Revision</th> |
| <th class\$="message topHeader [[_hideIfBranch(detailType)]]"> |
| Message</th> |
| <th class\$="tagger topHeader [[_hideIfBranch(detailType)]]"> |
| Tagger</th> |
| <th class="repositoryBrowser topHeader"> |
| Repository Browser</th> |
| <th class="delete topHeader"></th> |
| </tr> |
| <tr id="loading" class\$="loadingMsg [[computeLoadingClass(_loading)]]"> |
| <td>Loading...</td> |
| </tr> |
| </tbody><tbody class\$="[[computeLoadingClass(_loading)]]"> |
| <template is="dom-repeat" items="[[_shownItems]]"> |
| <tr class="table"> |
| <td class\$="[[detailType]] name">[[_stripRefs(item.ref, detailType)]]</td> |
| <td class\$="[[detailType]] revision [[_computeCanEditClass(item.ref, detailType, _isOwner)]]"> |
| <span class="revisionNoEditing"> |
| [[item.revision]] |
| </span> |
| <span class\$="revisionEdit [[_computeEditingClass(_isEditing)]]"> |
| <span class="revisionWithEditing"> |
| [[item.revision]] |
| </span> |
| <gr-button link="" on-click="_handleEditRevision" class="editBtn"> |
| edit |
| </gr-button> |
| <iron-input bind-value="{{_revisedRef}}" class="editItem"> |
| <input is="iron-input" bind-value="{{_revisedRef}}"> |
| </iron-input> |
| <gr-button link="" on-click="_handleCancelRevision" class="cancelBtn editItem"> |
| Cancel |
| </gr-button> |
| <gr-button link="" on-click="_handleSaveRevision" class="saveBtn editItem" disabled="[[!_revisedRef]]"> |
| Save |
| </gr-button> |
| </span> |
| </td> |
| <td class\$="message [[_hideIfBranch(detailType)]]"> |
| [[_computeMessage(item.message)]] |
| </td> |
| <td class\$="tagger [[_hideIfBranch(detailType)]]"> |
| <div class\$="tagger [[_computeHideTagger(item.tagger)]]"> |
| <gr-account-link account="[[item.tagger]]"> |
| </gr-account-link> |
| (<gr-date-formatter has-tooltip="" date-str="[[item.tagger.date]]"> |
| </gr-date-formatter>) |
| </div> |
| </td> |
| <td class="repositoryBrowser"> |
| <template is="dom-repeat" items="[[_computeWeblink(item)]]" as="link"> |
| <a href\$="[[link.url]]" class="webLink" rel="noopener" target="_blank"> |
| ([[link.name]]) |
| </a> |
| </template> |
| </td> |
| <td class="delete"> |
| <gr-button link="" class\$="deleteButton [[_computeHideDeleteClass(_isOwner, item.can_delete)]]" on-click="_handleDeleteItem"> |
| Delete |
| </gr-button> |
| </td> |
| </tr> |
| </template> |
| </tbody> |
| </table> |
| <gr-overlay id="overlay" with-backdrop=""> |
| <gr-confirm-delete-item-dialog class="confirmDialog" on-confirm="_handleDeleteItemConfirm" on-cancel="_handleConfirmDialogCancel" item="[[_refName]]" item-type="[[detailType]]"></gr-confirm-delete-item-dialog> |
| </gr-overlay> |
| </gr-list-view> |
| <gr-overlay id="createOverlay" with-backdrop=""> |
| <gr-dialog id="createDialog" disabled="[[!_hasNewItemName]]" confirm-label="Create" on-confirm="_handleCreateItem" on-cancel="_handleCloseCreate"> |
| <div class="header" slot="header"> |
| Create [[_computeItemName(detailType)]] |
| </div> |
| <div class="main" slot="main"> |
| <gr-create-pointer-dialog id="createNewModal" detail-type="[[_computeItemName(detailType)]]" has-new-item-name="{{_hasNewItemName}}" item-detail="[[detailType]]" repo-name="[[_repo]]"></gr-create-pointer-dialog> |
| </div> |
| </gr-dialog> |
| </gr-overlay> |
| <gr-rest-api-interface id="restAPI"></gr-rest-api-interface> |
| `; |