Show reviewer on comment tooltip

Example: imgur.com/a/T976Bsw
Change-Id: I6cf40a0f6685a3420afa74b34274bf0978680890
This commit is contained in:
Frank Borden
2020-11-18 14:56:12 -08:00
parent 5ebfc5e25e
commit 0f63f19f1b
2 changed files with 21 additions and 11 deletions

View File

@@ -152,15 +152,19 @@ export class GrChangeListItem extends ChangeTableMixin(
if (!label || category === LabelCategory.NOT_APPLICABLE) {
return 'Label not applicable';
}
const titleParts: string[] = [];
if (category === LabelCategory.UNRESOLVED_COMMENTS) {
const num = change?.unresolved_comment_count ?? 0;
const plural = num > 1 ? 's' : '';
return `${num} unresolved comment${plural}`;
titleParts.push(`${num} unresolved comment${plural}`);
}
const significantLabel =
label.rejected || label.approved || label.disliked || label.recommended;
if (significantLabel && significantLabel.name) {
return `${labelName}\nby ${significantLabel.name}`;
if (significantLabel?.name) {
titleParts.push(`${labelName} by ${significantLabel.name}`);
}
if (titleParts.length > 0) {
return titleParts.join(',\n');
}
return labelName;
}

View File

@@ -88,41 +88,47 @@ suite('gr-change-list-item tests', () => {
'Label not applicable');
assert.equal(element._computeLabelTitle(
{labels: {Verified: {approved: {name: 'Diffy'}}}}, 'Verified'),
'Verified\nby Diffy');
'Verified by Diffy');
assert.equal(element._computeLabelTitle(
{labels: {Verified: {approved: {name: 'Diffy'}}}}, 'Code-Review'),
'Label not applicable');
assert.equal(element._computeLabelTitle(
{labels: {Verified: {rejected: {name: 'Diffy'}}}}, 'Verified'),
'Verified\nby Diffy');
'Verified by Diffy');
assert.equal(element._computeLabelTitle(
{labels: {'Code-Review': {disliked: {name: 'Diffy'}, value: -1}}},
'Code-Review'), 'Code-Review\nby Diffy');
'Code-Review'), 'Code-Review by Diffy');
assert.equal(element._computeLabelTitle(
{labels: {'Code-Review': {recommended: {name: 'Diffy'}, value: 1}}},
'Code-Review'), 'Code-Review\nby Diffy');
'Code-Review'), 'Code-Review by Diffy');
assert.equal(element._computeLabelTitle(
{labels: {'Code-Review': {recommended: {name: 'Diffy'},
rejected: {name: 'Admin'}}}}, 'Code-Review'),
'Code-Review\nby Admin');
'Code-Review by Admin');
assert.equal(element._computeLabelTitle(
{labels: {'Code-Review': {approved: {name: 'Diffy'},
rejected: {name: 'Admin'}}}}, 'Code-Review'),
'Code-Review\nby Admin');
'Code-Review by Admin');
assert.equal(element._computeLabelTitle(
{labels: {'Code-Review': {recommended: {name: 'Diffy'},
disliked: {name: 'Admin'}, value: -1}}}, 'Code-Review'),
'Code-Review\nby Admin');
'Code-Review by Admin');
assert.equal(element._computeLabelTitle(
{labels: {'Code-Review': {approved: {name: 'Diffy'},
disliked: {name: 'Admin'}, value: -1}}}, 'Code-Review'),
'Code-Review\nby Diffy');
'Code-Review by Diffy');
assert.equal(element._computeLabelTitle(
{
labels: {'Code-Review': {approved: true, value: 1}},
unresolved_comment_count: 1,
}, 'Code-Review'),
'1 unresolved comment');
assert.equal(element._computeLabelTitle(
{
labels: {'Code-Review': {approved: {name: 'Diffy'}, value: 1}},
unresolved_comment_count: 1,
}, 'Code-Review'),
'1 unresolved comment,\nCode-Review by Diffy');
assert.equal(element._computeLabelTitle(
{
labels: {'Code-Review': {approved: true, value: 1}},