Improve tooltip of label columns in change list

Display account name of most significant label when available in
addition to label name.

Change-Id: Iaca7d5079328b766c6ca9d4230352634bfdecd80
This commit is contained in:
Urs Wolfer
2016-01-17 13:18:33 +01:00
committed by Dave Borowitz
parent 71cff028d2
commit f6226a0b77
2 changed files with 42 additions and 2 deletions

View File

@@ -76,9 +76,9 @@ limitations under the License.
<span class="u-green"><span>+</span>[[change.insertions]]</span>,
<span class="u-red"><span>-</span>[[change.deletions]]</span>
</span>
<span title="Code-Review"
<span title$="[[_computeLabelTitle(change.labels.Code_Review, 'Code-Review')]]"
class$="[[_computeLabelClass(change.labels.Code_Review)]]">[[_computeLabelValue(change.labels.Code_Review)]]</span>
<span title="Verified"
<span title$="[[_computeLabelTitle(change.labels.Verified, 'Verified')]]"
class$="[[_computeLabelClass(change.labels.Verified)]]">[[_computeLabelValue(change.labels.Verified)]]</span>
</template>
<script>
@@ -125,6 +125,16 @@ limitations under the License.
return '';
},
_computeLabelTitle: function(label, labelName) {
if (!label) { return labelName; }
var significantLabel = label.rejected || label.approved
|| label.disliked || label.recommended;
if (significantLabel && significantLabel.name) {
return labelName + '\nby ' + significantLabel.name;
}
return labelName;
},
_computeLabelClass: function(label) {
// Mimic a Set.
var classes = {

View File

@@ -63,6 +63,36 @@ limitations under the License.
assert.equal(element._computeLabelClass({value: -1}),
'cell label u-monospace u-red');
assert.equal(element._computeLabelTitle({}, 'Verified'), 'Verified');
assert.equal(element._computeLabelTitle(
{approved: {name: 'Diffy'}}, 'Verified'),
'Verified\nby Diffy');
assert.equal(element._computeLabelTitle(
{rejected: {name: 'Diffy'}}, 'Verified'),
'Verified\nby Diffy');
assert.equal(element._computeLabelTitle(
{disliked: {name: 'Diffy'}, value: -1}, 'Code-Review'),
'Code-Review\nby Diffy');
assert.equal(element._computeLabelTitle(
{recommended: {name: 'Diffy'}, value: 1}, 'Code-Review'),
'Code-Review\nby Diffy');
assert.equal(element._computeLabelTitle(
{recommended: {name: 'Diffy'},
rejected: {name: 'Admin'}}, 'Code-Review'),
'Code-Review\nby Admin');
assert.equal(element._computeLabelTitle(
{approved: {name: 'Diffy'},
rejected: {name: 'Admin'}}, 'Code-Review'),
'Code-Review\nby Admin');
assert.equal(element._computeLabelTitle(
{recommended: {name: 'Diffy'},
disliked: {name: 'Admin'}, value: -1}, 'Code-Review'),
'Code-Review\nby Admin');
assert.equal(element._computeLabelTitle(
{approved: {name: 'Diffy'},
disliked: {name: 'Admin'}, value: -1}, 'Code-Review'),
'Code-Review\nby Diffy');
assert.equal(element._computeLabelValue(), '');
assert.equal(element._computeLabelValue({}), '');
assert.equal(element._computeLabelValue({approved: true, value: 1}),