Skip to content

Commit 47edb94

Browse files
Kateryna ProkopenkoDevtools-frontend LUCI CQ
authored andcommitted
Auto-set colors for issue icons inside the component
Bypass-Check-License: Only updating files, no new files are added. Bug: 414330824 Change-Id: I6f32efb9b24cf1f7f2bae3e661d156ca248eaa8b Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6845660 Auto-Submit: Kateryna Prokopenko <[email protected]> Reviewed-by: Kim-Anh Tran <[email protected]> Commit-Queue: Kateryna Prokopenko <[email protected]>
1 parent 770d414 commit 47edb94

File tree

8 files changed

+29
-22
lines changed

8 files changed

+29
-22
lines changed

front_end/panels/elements/ElementsTreeOutline.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -487,11 +487,11 @@ export class ElementsTreeOutline extends
487487
// This shouldn't happen, but add this if check to pass ts check.
488488
return nothing;
489489
}
490-
const issueKindIconData = IssueCounter.IssueCounter.getIssueKindIconData(issue.getKind());
490+
const issueKindIconName = IssueCounter.IssueCounter.getIssueKindIconName(issue.getKind());
491491
const openIssueEvent = (): Promise<void> => Common.Revealer.reveal(issue);
492492
return html`
493493
<div class="squiggles-content-item">
494-
<devtools-icon .data=${issueKindIconData} @click=${openIssueEvent}></devtools-icon>
494+
<devtools-icon .name=${issueKindIconName} @click=${openIssueEvent}></devtools-icon>
495495
<x-link class="link" @click=${openIssueEvent}>${i18nString(UIStrings.viewIssue)}</x-link>
496496
<span>${elementIssueDetails.tooltip}</span>
497497
</div>`;})}

front_end/panels/issues/IssueKindView.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ export class IssueKindView extends UI.TreeOutline.TreeElement {
9494
header.classList.add('header');
9595

9696
const issueKindIcon = new IconButton.Icon.Icon();
97-
issueKindIcon.data = IssueCounter.IssueCounter.getIssueKindIconData(this.#kind);
97+
issueKindIcon.name = IssueCounter.IssueCounter.getIssueKindIconName(this.#kind);
9898
issueKindIcon.classList.add('leading-issue-icon', 'extra-large');
9999

100100
const countAdorner = new Adorners.Adorner.Adorner();

front_end/panels/issues/IssueView.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ export class IssueView extends UI.TreeOutline.TreeElement {
385385
#updateFromIssue(): void {
386386
if (this.#issueKindIcon) {
387387
const kind = this.#issue.getKind();
388-
this.#issueKindIcon.data = IssueCounter.IssueCounter.getIssueKindIconData(kind);
388+
this.#issueKindIcon.name = IssueCounter.IssueCounter.getIssueKindIconName(kind);
389389
this.#issueKindIcon.title = IssuesManager.Issue.getIssueKindDescription(kind);
390390
}
391391
if (this.#aggregatedIssuesCount) {

front_end/panels/sources/UISourceCodeFrame.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,7 @@ function messageLevelComparator(a: RowMessage, b: RowMessage): number {
573573

574574
function getIconDataForMessage(message: RowMessage): IconButton.Icon.IconData {
575575
if (message.origin instanceof IssuesManager.SourceFrameIssuesManager.IssueMessage) {
576-
return IssueCounter.IssueCounter.getIssueKindIconData(message.origin.getIssueKind());
576+
return {iconName: IssueCounter.IssueCounter.getIssueKindIconName(message.origin.getIssueKind())};
577577
}
578578
return getIconDataForLevel(message.level());
579579
}

front_end/ui/components/icon_button/Icon.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import iconStyles from './icon.css.js';
1212
*/
1313
export interface IconWithName {
1414
iconName: string;
15-
color: string;
15+
color?: string;
1616
width?: string;
1717
height?: string;
1818
}
@@ -99,7 +99,9 @@ export class Icon extends HTMLElement {
9999
*/
100100
set data(data: IconData) {
101101
const {color, width, height} = data;
102-
this.style.color = color;
102+
if (color) {
103+
this.style.color = color;
104+
}
103105
if (width) {
104106
this.style.width = width;
105107
}

front_end/ui/components/icon_button/icon.css

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,20 @@
4444
display: none;
4545
}
4646

47-
:host([name="warning-filled"]) {
47+
:host([name="warning-filled"]),
48+
:host([name="issue-exclamation-filled"]) {
4849
color: var(--icon-warning);
4950
}
5051

51-
:host([name="cross-circle-filled"]) {
52+
:host([name="cross-circle-filled"]),
53+
:host([name="issue-cross-filled"]) {
5254
color: var(--icon-error);
5355
}
5456

57+
:host([name="issue-text-filled"]) {
58+
color: var(--icon-info);
59+
}
60+
5561
:host([name="triangle-up"]),
5662
:host([name="triangle-down"]),
5763
:host([name="triangle-left"]),

front_end/ui/components/issue_counter/IssueCounter.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,22 @@ const UIStrings = {
3030
const str_ = i18n.i18n.registerUIStrings('ui/components/issue_counter/IssueCounter.ts', UIStrings);
3131
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
3232

33-
export function getIssueKindIconData(issueKind: IssuesManager.Issue.IssueKind): IconButton.Icon.IconWithName {
33+
export function getIssueKindIconName(issueKind: IssuesManager.Issue.IssueKind): string {
3434
switch (issueKind) {
3535
case IssuesManager.Issue.IssueKind.PAGE_ERROR:
36-
return {iconName: 'issue-cross-filled', color: 'var(--icon-error)'};
36+
return 'issue-cross-filled';
3737
case IssuesManager.Issue.IssueKind.BREAKING_CHANGE:
38-
return {iconName: 'issue-exclamation-filled', color: 'var(--icon-warning)'};
38+
return 'issue-exclamation-filled';
3939
case IssuesManager.Issue.IssueKind.IMPROVEMENT:
40-
return {iconName: 'issue-text-filled', color: 'var(--icon-info)'};
40+
return 'issue-text-filled';
4141
}
4242
}
4343

44-
function toIconGroup({iconName, color, width, height}: IconButton.Icon.IconWithName, sizeOverride?: string):
45-
IconButton.IconButton.IconWithTextData {
44+
function toIconGroup(iconName: string, sizeOverride?: string): IconButton.IconButton.IconWithTextData {
4645
if (sizeOverride) {
47-
return {iconName, iconColor: color, iconWidth: sizeOverride, iconHeight: sizeOverride};
46+
return {iconName, iconWidth: sizeOverride, iconHeight: sizeOverride};
4847
}
49-
return {iconName, iconColor: color, iconWidth: width, iconHeight: height};
48+
return {iconName};
5049
}
5150

5251
export const enum DisplayMode {
@@ -183,15 +182,15 @@ export class IssueCounter extends HTMLElement {
183182
const data: IconButton.IconButton.IconButtonData = {
184183
groups: [
185184
{
186-
...toIconGroup(getIssueKindIconData(IssuesManager.Issue.IssueKind.PAGE_ERROR), iconSize),
185+
...toIconGroup(getIssueKindIconName(IssuesManager.Issue.IssueKind.PAGE_ERROR), iconSize),
187186
text: countToString(IssuesManager.Issue.IssueKind.PAGE_ERROR, this.#counts[0]),
188187
},
189188
{
190-
...toIconGroup(getIssueKindIconData(IssuesManager.Issue.IssueKind.BREAKING_CHANGE), iconSize),
189+
...toIconGroup(getIssueKindIconName(IssuesManager.Issue.IssueKind.BREAKING_CHANGE), iconSize),
191190
text: countToString(IssuesManager.Issue.IssueKind.BREAKING_CHANGE, this.#counts[1]),
192191
},
193192
{
194-
...toIconGroup(getIssueKindIconData(IssuesManager.Issue.IssueKind.IMPROVEMENT), iconSize),
193+
...toIconGroup(getIssueKindIconName(IssuesManager.Issue.IssueKind.IMPROVEMENT), iconSize),
195194
text: countToString(IssuesManager.Issue.IssueKind.IMPROVEMENT, this.#counts[2]),
196195
},
197196
],

front_end/ui/components/issue_counter/IssueLinkIcon.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import * as RenderCoordinator from '../../../ui/components/render_coordinator/re
1414
import * as Lit from '../../../ui/lit/lit.js';
1515
import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
1616

17-
import {getIssueKindIconData} from './IssueCounter.js';
17+
import {getIssueKindIconName} from './IssueCounter.js';
1818
import IssueLinkIconStyles from './issueLinkIcon.css.js';
1919

2020
const {html} = Lit;
@@ -134,7 +134,7 @@ export class IssueLinkIcon extends HTMLElement {
134134
if (!this.#issue) {
135135
return 'issue-questionmark-filled';
136136
}
137-
const {iconName} = getIssueKindIconData(this.#issue.getKind());
137+
const iconName = getIssueKindIconName(this.#issue.getKind());
138138
return iconName;
139139
}
140140

0 commit comments

Comments
 (0)