1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
From e796e238d8fcf442443f66de2fd0f3944473fd44 Mon Sep 17 00:00:00 2001
From: Luke Granger-Brown <git@lukegb.com>
Date: Sun, 20 Dec 2020 14:29:22 +0000
Subject: [PATCH 7/6] Keep left padding on account chip if no avatar provider
present
At the moment, if there's no plugin that provides avatars then the left
padding is still removed if there *would* be an avatar there, which
leads to some weirdly offset text.
Change-Id: I1ff0745aa267d7fb227e39460c8ea80ef5ec2f55
---
.../gr-account-label/gr-account-label.ts | 6 ++
.../gr-account-label/gr-account-label_test.js | 63 +++++++++++++++++++
2 files changed, 69 insertions(+)
diff --git a/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label.ts b/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label.ts
index a6c4201a66..416a77526d 100644
--- a/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label.ts
+++ b/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label.ts
@@ -147,7 +147,13 @@ export class GrAccountLabel extends GestureEventListeners(
change: ChangeInfo,
force: boolean
) {
+ const avatarsAvailable = (
+ !!config &&
+ !!config.change &&
+ !!config.plugin.has_avatars
+ );
return (
+ avatarsAvailable &&
!hideAvatar &&
!this._hasAttention(config, highlight, account, change, force)
);
diff --git a/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label_test.js b/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label_test.js
index 42b1dd7184..111d0550cd 100644
--- a/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label_test.js
+++ b/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label_test.js
@@ -46,6 +46,69 @@ suite('gr-account-label tests', () => {
});
});
+ suite('_computeCancelLeftPadding', () => {
+ test('config not ready', () => {
+ assert.isFalse(
+ element._computeCancelLeftPadding(
+ /*hideAvatar=*/false,
+ /*config=*/undefined,
+ /*highlight=*/false,
+ /*account=*/element.account,
+ /*change=*/element.change,
+ /*force=*/false));
+ });
+
+ test('no avatar provider', () => {
+ const config = {
+ plugin: {},
+ };
+ assert.isFalse(
+ element._computeCancelLeftPadding(
+ /*hideAvatar=*/false,
+ /*config=*/config,
+ /*highlight=*/false,
+ /*account=*/element.account,
+ /*change=*/element.change,
+ /*force=*/false));
+ });
+
+ test('avatar provider present', () => {
+ const config = {
+ plugin: {
+ has_avatars: true,
+ },
+ };
+ assert.isTrue(
+ element._computeCancelLeftPadding(
+ /*hideAvatar=*/false,
+ /*config=*/config,
+ /*highlight=*/false,
+ /*account=*/element.account,
+ /*change=*/element.change,
+ /*force=*/false));
+ });
+
+ test('has attention', () => {
+ const config = {
+ change: {enable_attention_set: true},
+ user: {anonymous_coward_name: 'Anonymous Coward'},
+ plugin: {has_avatars: true},
+ };
+ const selfAccount = createAccount('kermit', 31);
+ const account = createAccount('ernie', 42);
+ const change = {attention_set: {42: {}}};
+
+ assert.isFalse(
+ element._computeCancelLeftPadding(
+ /*hideAvatar=*/false,
+ /*config=*/config,
+ /*highlight=*/true,
+ /*account=*/account,
+ /*change=*/change,
+ /*force=*/false));
+ });
+ });
+
suite('_computeName', () => {
test('not showing anonymous', () => {
const account = {name: 'Wyatt'};
--
2.29.2
|