Merge "Change the layout of gr-label-scores to be a table"

This commit is contained in:
Ben Rohlfs
2020-02-05 09:06:59 +00:00
committed by Gerrit Code Review
3 changed files with 84 additions and 81 deletions

View File

@@ -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>

View File

@@ -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">

View File

@@ -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;