| /** |
| * @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'; |
| |
| export const htmlTemplate = html` |
| <style include="gr-voting-styles"> |
| /* Workaround for empty style block - see https://github.com/Polymer/tools/issues/408 */ |
| </style> |
| <style include="shared-styles"> |
| .placeholder { |
| color: var(--deemphasized-text-color); |
| } |
| .hidden { |
| display: none; |
| } |
| .voteChip { |
| display: flex; |
| justify-content: center; |
| margin-right: var(--spacing-s); |
| padding: 0; |
| @apply --vote-chip-styles; |
| border-width: 0; |
| } |
| .max { |
| background-color: var(--vote-color-approved); |
| } |
| .min { |
| background-color: var(--vote-color-rejected); |
| } |
| .positive { |
| background-color: var(--vote-color-recommended); |
| } |
| .negative { |
| background-color: var(--vote-color-disliked); |
| } |
| .hidden { |
| display: none; |
| } |
| td { |
| vertical-align: top; |
| } |
| tr { |
| min-height: var(--line-height-normal); |
| } |
| gr-button { |
| vertical-align: top; |
| --gr-button: { |
| height: var(--line-height-normal); |
| width: var(--line-height-normal); |
| padding: 0; |
| } |
| } |
| gr-button[disabled] iron-icon { |
| color: var(--border-color); |
| } |
| gr-account-link { |
| --account-max-length: 120px; |
| margin-right: var(--spacing-xs); |
| } |
| iron-icon { |
| height: calc(var(--line-height-normal) - 2px); |
| width: calc(var(--line-height-normal) - 2px); |
| } |
| .labelValueContainer:not(:first-of-type) td { |
| padding-top: var(--spacing-s); |
| } |
| </style> |
| <p |
| class$="placeholder [[_computeShowPlaceholder(labelInfo, change.labels.*)]]" |
| > |
| No votes. |
| </p> |
| <table> |
| <template |
| is="dom-repeat" |
| items="[[_mapLabelInfo(labelInfo, account, change.labels.*)]]" |
| as="mappedLabel" |
| > |
| <tr class="labelValueContainer"> |
| <td> |
| <gr-label |
| has-tooltip="" |
| title="[[_computeValueTooltip(labelInfo, mappedLabel.value)]]" |
| class$="[[mappedLabel.className]] voteChip" |
| > |
| [[mappedLabel.value]] |
| </gr-label> |
| </td> |
| <td> |
| <gr-account-link account="[[mappedLabel.account]]"></gr-account-link> |
| </td> |
| <td> |
| <gr-button |
| link="" |
| aria-label="Remove vote" |
| on-click="_onDeleteVote" |
| tooltip="Remove vote" |
| data-account-id$="[[mappedLabel.account._account_id]]" |
| class$="deleteBtn [[_computeDeleteClass(mappedLabel.account, mutable, change)]]" |
| > |
| <iron-icon icon="gr-icons:delete"></iron-icon> |
| </gr-button> |
| </td> |
| </tr> |
| </template> |
| </table> |
| <gr-rest-api-interface id="restAPI"></gr-rest-api-interface> |
| `; |