|  | <!-- | 
|  | @license | 
|  | Copyright (C) 2018 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="../../../styles/gr-voting-styles.html"> | 
|  | <link rel="import" href="../../../styles/shared-styles.html"> | 
|  | <link rel="import" href="../gr-account-label/gr-account-label.html"> | 
|  | <link rel="import" href="../gr-button/gr-button.html"> | 
|  | <link rel="import" href="../gr-icons/gr-icons.html"> | 
|  | <link rel="import" href="../gr-label/gr-label.html"> | 
|  | <link rel="import" href="../gr-rest-api-interface/gr-rest-api-interface.html"> | 
|  |  | 
|  | <dom-module id="gr-label-info"> | 
|  | <template strip-whitespace> | 
|  | <style include="gr-voting-styles"></style> | 
|  | <style include="shared-styles"> | 
|  | .placeholder { | 
|  | color: var(--deemphasized-text-color); | 
|  | padding-top: .2em; | 
|  | } | 
|  | .hidden { | 
|  | display: none; | 
|  | } | 
|  | .voteChip { | 
|  | display: flex; | 
|  | justify-content: center; | 
|  | margin-right: .3em; | 
|  | padding: .05em .85em; | 
|  | @apply --vote-chip-styles; | 
|  | } | 
|  | .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: middle; | 
|  | } | 
|  | tr { | 
|  | min-height: 2.25em; | 
|  | } | 
|  | gr-button { | 
|  | --gr-button: { | 
|  | height: 2em; | 
|  | padding: 0; | 
|  | width: 2em; | 
|  | } | 
|  | } | 
|  | gr-button[disabled] iron-icon { | 
|  | color: var(--border-color); | 
|  | } | 
|  | gr-account-chip { | 
|  | margin-right: .25em; | 
|  | } | 
|  | iron-icon { | 
|  | height: 1.2em; | 
|  | width: 1.2em; | 
|  | } | 
|  | .labelValueContainer:not(:first-of-type) td { | 
|  | padding-top: .3em; | 
|  | } | 
|  | </style> | 
|  | <table> | 
|  | <p class$="placeholder [[_computeShowPlaceholder(labelInfo, change.labels.*)]]"> | 
|  | No votes. | 
|  | </p> | 
|  | <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-chip | 
|  | account="[[mappedLabel.account]]" | 
|  | transparent-background></gr-account-chip> | 
|  | </td> | 
|  | <td> | 
|  | <gr-button | 
|  | link | 
|  | aria-label="Remove" | 
|  | on-tap="_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> | 
|  | </template> | 
|  | <script src="gr-label-info.js"></script> | 
|  | </dom-module> |