Merge "Change the layout of gr-label-scores to be a table"
This commit is contained in:
@@ -27,42 +27,37 @@ limitations under the License.
|
||||
/* Workaround for empty style block - see https://github.com/Polymer/tools/issues/408 */
|
||||
</style>
|
||||
<style include="shared-styles">
|
||||
.labelContainer {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
margin-bottom: var(--spacing-m);
|
||||
.labelNameCell,
|
||||
.buttonsCell,
|
||||
.selectedValueCell {
|
||||
padding: var(--spacing-s) var(--spacing-m);
|
||||
display: table-cell;
|
||||
}
|
||||
.labelName {
|
||||
display: inline-block;
|
||||
flex: 0 0 auto;
|
||||
margin-right: var(--spacing-m);
|
||||
min-width: 7em;
|
||||
text-align: left;
|
||||
width: 20%;
|
||||
/* We want the :hover highlight to extend to the border of the dialog. */
|
||||
.labelNameCell {
|
||||
padding-left: var(--spacing-xl);
|
||||
}
|
||||
.selectedValueCell {
|
||||
padding-right: var(--spacing-xl);
|
||||
}
|
||||
/* This is a trick to let the selectedValueCell take the remaining width. */
|
||||
.labelNameCell,
|
||||
.buttonsCell {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.selectedValueCell {
|
||||
width: 75%;
|
||||
}
|
||||
.labelMessage {
|
||||
color: var(--deemphasized-text-color);
|
||||
}
|
||||
.placeholder::before {
|
||||
content: ' ';
|
||||
}
|
||||
.selectedValueText {
|
||||
color: var(--deemphasized-text-color);
|
||||
font-style: italic;
|
||||
margin: 0 var(--spacing-m);
|
||||
}
|
||||
.selectedValueText.hidden {
|
||||
display: none;
|
||||
}
|
||||
.buttonWrapper {
|
||||
flex: none;
|
||||
}
|
||||
gr-button {
|
||||
min-width: 40px;
|
||||
min-width: 42px;
|
||||
box-sizing: border-box;
|
||||
--gr-button: {
|
||||
background-color: var(--button-background-color, var(--table-header-background-color));
|
||||
color: var(--primary-text-color);
|
||||
padding: var(--spacing-xs) var(--spacing-m);
|
||||
padding: 0 var(--spacing-m);
|
||||
@apply --vote-chip-styles;
|
||||
}
|
||||
}
|
||||
@@ -83,63 +78,62 @@ limitations under the License.
|
||||
}
|
||||
.placeholder {
|
||||
display: inline-block;
|
||||
width: 40px;
|
||||
width: 42px;
|
||||
height: 1px;
|
||||
}
|
||||
.placeholder::before {
|
||||
content: ' ';
|
||||
}
|
||||
.selectedValueCell {
|
||||
color: var(--deemphasized-text-color);
|
||||
font-style: italic;
|
||||
}
|
||||
.selectedValueCell.hidden {
|
||||
display: none;
|
||||
}
|
||||
@media only screen and (max-width: 50em) {
|
||||
.selectedValueText {
|
||||
.selectedValueCell {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media only screen and (max-width: 25em) {
|
||||
.labelName {
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.labelContainer {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<div class="labelContainer">
|
||||
<span class="labelName">[[label.name]]</span>
|
||||
<div class="buttonWrapper">
|
||||
<span class="labelNameCell">[[label.name]]</span>
|
||||
<div class="buttonsCell">
|
||||
<template is="dom-repeat"
|
||||
items="[[_computeBlankItems(permittedLabels, label.name, 'start')]]"
|
||||
as="value">
|
||||
<span class="placeholder" data-label$="[[label.name]]"></span>
|
||||
</template>
|
||||
<iron-selector
|
||||
id="labelSelector"
|
||||
attr-for-selected="data-value"
|
||||
selected="[[_computeLabelValue(labels, permittedLabels, label)]]"
|
||||
hidden$="[[!_computeAnyPermittedLabelValues(permittedLabels, label.name)]]"
|
||||
on-selected-item-changed="_setSelectedValueText">
|
||||
<template is="dom-repeat"
|
||||
items="[[_computeBlankItems(permittedLabels, label.name, 'start')]]"
|
||||
items="[[_items]]"
|
||||
as="value">
|
||||
<span class="placeholder" data-label$="[[label.name]]"></span>
|
||||
<gr-button
|
||||
class$="[[_computeButtonClass(value, index, _items.length)]]"
|
||||
has-tooltip
|
||||
data-name$="[[label.name]]"
|
||||
data-value$="[[value]]"
|
||||
title$="[[_computeLabelValueTitle(labels, label.name, value)]]">
|
||||
[[value]]</gr-button>
|
||||
</template>
|
||||
<iron-selector
|
||||
id="labelSelector"
|
||||
attr-for-selected="data-value"
|
||||
selected="[[_computeLabelValue(labels, permittedLabels, label)]]"
|
||||
hidden$="[[!_computeAnyPermittedLabelValues(permittedLabels, label.name)]]"
|
||||
on-selected-item-changed="_setSelectedValueText">
|
||||
<template is="dom-repeat"
|
||||
items="[[_items]]"
|
||||
as="value">
|
||||
<gr-button
|
||||
class$="[[_computeButtonClass(value, index, _items.length)]]"
|
||||
has-tooltip
|
||||
data-name$="[[label.name]]"
|
||||
data-value$="[[value]]"
|
||||
title$="[[_computeLabelValueTitle(labels, label.name, value)]]">
|
||||
[[value]]</gr-button>
|
||||
</template>
|
||||
</iron-selector>
|
||||
<template is="dom-repeat"
|
||||
items="[[_computeBlankItems(permittedLabels, label.name, 'end')]]"
|
||||
as="value">
|
||||
<span class="placeholder" data-label$="[[label.name]]"></span>
|
||||
</template>
|
||||
<span class="labelMessage"
|
||||
hidden$="[[_computeAnyPermittedLabelValues(permittedLabels, label.name)]]">
|
||||
You don't have permission to edit this label.
|
||||
</span>
|
||||
</div>
|
||||
<div class$="selectedValueText [[_computeHiddenClass(permittedLabels, label.name)]]">
|
||||
<span id="selectedValueLabel">[[_selectedValueText]]</span>
|
||||
</div>
|
||||
</iron-selector>
|
||||
<template is="dom-repeat"
|
||||
items="[[_computeBlankItems(permittedLabels, label.name, 'end')]]"
|
||||
as="value">
|
||||
<span class="placeholder" data-label$="[[label.name]]"></span>
|
||||
</template>
|
||||
<span class="labelMessage"
|
||||
hidden$="[[_computeAnyPermittedLabelValues(permittedLabels, label.name)]]">
|
||||
You don't have permission to edit this label.
|
||||
</span>
|
||||
</div>
|
||||
<div class$="selectedValueCell [[_computeHiddenClass(permittedLabels, label.name)]]">
|
||||
<span id="selectedValueLabel">[[_selectedValueText]]</span>
|
||||
</div>
|
||||
</template>
|
||||
<script src="gr-label-score-row.js"></script>
|
||||
|
@@ -23,18 +23,23 @@ limitations under the License.
|
||||
<dom-module id="gr-label-scores">
|
||||
<template>
|
||||
<style include="shared-styles">
|
||||
:host {
|
||||
display: table;
|
||||
width: 100%;
|
||||
}
|
||||
.mergedMessage {
|
||||
font-style: italic;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
gr-label-score-row.no-access {
|
||||
display: var(--label-no-access-display, initial);
|
||||
gr-label-score-row:hover {
|
||||
background-color: var(--hover-background-color);
|
||||
}
|
||||
@media only screen and (max-width: 25em) {
|
||||
:host {
|
||||
text-align: center;
|
||||
}
|
||||
gr-label-score-row {
|
||||
display: table-row;
|
||||
}
|
||||
gr-label-score-row.no-access {
|
||||
display: var(--label-no-access-display, table-row);
|
||||
}
|
||||
</style>
|
||||
<template is="dom-repeat" items="[[_labels]]" as="label">
|
||||
|
@@ -64,6 +64,10 @@ limitations under the License.
|
||||
padding: var(--spacing-m) var(--spacing-xl);
|
||||
width: 100%;
|
||||
}
|
||||
section.labelsContainer {
|
||||
/* We want the :hover highlight to extend to the border of the dialog. */
|
||||
padding: var(--spacing-m) 0;
|
||||
}
|
||||
.actions {
|
||||
background-color: var(--dialog-background-color);
|
||||
bottom: 0;
|
||||
|
Reference in New Issue
Block a user