Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 1 | // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 5 | import * as Common from '../common/common.js'; |
Tim van der Lippe | 93b57c3 | 2020-02-20 17:38:44 | [diff] [blame] | 6 | import * as Platform from '../platform/platform.js'; |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 7 | import * as SDK from '../sdk/sdk.js'; |
| 8 | import * as TextUtils from '../text_utils/text_utils.js'; // eslint-disable-line no-unused-vars |
| 9 | import * as UI from '../ui/ui.js'; |
| 10 | |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 11 | import {ConsoleFilter, FilterType} from './ConsoleFilter.js'; |
| 12 | import {ConsoleViewMessage} from './ConsoleViewMessage.js'; // eslint-disable-line no-unused-vars |
| 13 | |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 14 | export class ConsoleSidebar extends UI.Widget.VBox { |
Tim van der Lippe | b45d9a0 | 2019-11-05 17:24:41 | [diff] [blame] | 15 | constructor() { |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 16 | super(true); |
| 17 | this.setMinimumSize(125, 0); |
| 18 | |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 19 | this._tree = new UI.TreeOutline.TreeOutlineInShadow(); |
Jack Franklin | 71519f8 | 2020-11-03 12:08:59 | [diff] [blame^] | 20 | this._tree.registerRequiredCSS('console/consoleSidebar.css', {enableLegacyPatching: true}); |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 21 | this._tree.addEventListener(UI.TreeOutline.Events.ElementSelected, this._selectionChanged.bind(this)); |
| 22 | this.contentElement.appendChild(this._tree.element); |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 23 | /** @type {?UI.TreeOutline.TreeElement} */ |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 24 | this._selectedTreeElement = null; |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 25 | /** @type {!Array<!FilterTreeElement>} */ |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 26 | this._treeElements = []; |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 27 | /** @type {!Common.Settings.Setting<string>} */ |
Paul Lewis | 2d7d65c | 2020-03-16 17:26:30 | [diff] [blame] | 28 | const selectedFilterSetting = |
| 29 | Common.Settings.Settings.instance().createSetting('console.sidebarSelectedFilter', null); |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 30 | |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 31 | const Levels = SDK.ConsoleModel.MessageLevel; |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 32 | const consoleAPIParsedFilters = |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 33 | [{key: FilterType.Source, text: SDK.ConsoleModel.MessageSource.ConsoleAPI, negative: false, regex: undefined}]; |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 34 | this._appendGroup( |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 35 | _groupName.All, [], ConsoleFilter.allLevelsFilterValue(), UI.Icon.Icon.create('mediumicon-list'), |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 36 | selectedFilterSetting); |
| 37 | this._appendGroup( |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 38 | _groupName.ConsoleAPI, consoleAPIParsedFilters, ConsoleFilter.allLevelsFilterValue(), |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 39 | UI.Icon.Icon.create('mediumicon-account-circle'), selectedFilterSetting); |
Paul Lewis | bf7aa3c | 2019-11-20 17:03:38 | [diff] [blame] | 40 | this._appendGroup( |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 41 | _groupName.Error, [], ConsoleFilter.singleLevelMask(Levels.Error), |
| 42 | UI.Icon.Icon.create('mediumicon-error-circle'), selectedFilterSetting); |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 43 | this._appendGroup( |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 44 | _groupName.Warning, [], ConsoleFilter.singleLevelMask(Levels.Warning), |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 45 | UI.Icon.Icon.create('mediumicon-warning-triangle'), selectedFilterSetting); |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 46 | this._appendGroup( |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 47 | _groupName.Info, [], ConsoleFilter.singleLevelMask(Levels.Info), UI.Icon.Icon.create('mediumicon-info-circle'), |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 48 | selectedFilterSetting); |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 49 | this._appendGroup( |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 50 | _groupName.Verbose, [], ConsoleFilter.singleLevelMask(Levels.Verbose), UI.Icon.Icon.create('mediumicon-bug'), |
Paul Lewis | bf7aa3c | 2019-11-20 17:03:38 | [diff] [blame] | 51 | selectedFilterSetting); |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 52 | const selectedTreeElementName = selectedFilterSetting.get(); |
| 53 | const defaultTreeElement = |
| 54 | this._treeElements.find(x => x.name() === selectedTreeElementName) || this._treeElements[0]; |
| 55 | defaultTreeElement.select(); |
| 56 | } |
| 57 | |
| 58 | /** |
| 59 | * @param {string} name |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 60 | * @param {!Array<!TextUtils.TextUtils.ParsedFilter>} parsedFilters |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 61 | * @param {!Object<string, boolean>} levelsMask |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 62 | * @param {!UI.Icon.Icon} icon |
| 63 | * @param {!Common.Settings.Setting<string>} selectedFilterSetting |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 64 | */ |
Tim van der Lippe | b45d9a0 | 2019-11-05 17:24:41 | [diff] [blame] | 65 | _appendGroup(name, parsedFilters, levelsMask, icon, selectedFilterSetting) { |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 66 | const filter = new ConsoleFilter(name, parsedFilters, null, levelsMask); |
Paul Lewis | bf7aa3c | 2019-11-20 17:03:38 | [diff] [blame] | 67 | const treeElement = new FilterTreeElement(filter, icon, selectedFilterSetting); |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 68 | this._tree.appendChild(treeElement); |
| 69 | this._treeElements.push(treeElement); |
| 70 | } |
| 71 | |
| 72 | clear() { |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 73 | for (const treeElement of this._treeElements) { |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 74 | treeElement.clear(); |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 75 | } |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 76 | } |
| 77 | |
| 78 | /** |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 79 | * @param {!ConsoleViewMessage} viewMessage |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 80 | */ |
| 81 | onMessageAdded(viewMessage) { |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 82 | for (const treeElement of this._treeElements) { |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 83 | treeElement.onMessageAdded(viewMessage); |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 84 | } |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 85 | } |
| 86 | |
| 87 | /** |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 88 | * @param {!ConsoleViewMessage} viewMessage |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 89 | * @return {boolean} |
| 90 | */ |
| 91 | shouldBeVisible(viewMessage) { |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 92 | if (this._selectedTreeElement instanceof ConsoleSidebarTreeElement) { |
| 93 | return this._selectedTreeElement.filter().shouldBeVisible(viewMessage); |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 94 | } |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 95 | return true; |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 96 | } |
| 97 | |
| 98 | /** |
Tim van der Lippe | c02a97c | 2020-02-14 14:39:27 | [diff] [blame] | 99 | * @param {!Common.EventTarget.EventTargetEvent} event |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 100 | */ |
| 101 | _selectionChanged(event) { |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 102 | this._selectedTreeElement = /** @type {!UI.TreeOutline.TreeElement} */ (event.data); |
Paul Lewis | bf7aa3c | 2019-11-20 17:03:38 | [diff] [blame] | 103 | this.dispatchEventToListeners(Events.FilterSelected); |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 104 | } |
Paul Lewis | bf7aa3c | 2019-11-20 17:03:38 | [diff] [blame] | 105 | } |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 106 | |
| 107 | /** @enum {symbol} */ |
Paul Lewis | bf7aa3c | 2019-11-20 17:03:38 | [diff] [blame] | 108 | export const Events = { |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 109 | FilterSelected: Symbol('FilterSelected') |
| 110 | }; |
| 111 | |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 112 | class ConsoleSidebarTreeElement extends UI.TreeOutline.TreeElement { |
| 113 | /** |
| 114 | * @param {string|!Node} title |
| 115 | * @param {!ConsoleFilter} filter |
| 116 | */ |
| 117 | constructor(title, filter) { |
| 118 | super(title); |
| 119 | this._filter = filter; |
| 120 | } |
| 121 | |
| 122 | filter() { |
| 123 | return this._filter; |
| 124 | } |
| 125 | } |
| 126 | |
| 127 | export class URLGroupTreeElement extends ConsoleSidebarTreeElement { |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 128 | /** |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 129 | * @param {!ConsoleFilter} filter |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 130 | */ |
Tim van der Lippe | b45d9a0 | 2019-11-05 17:24:41 | [diff] [blame] | 131 | constructor(filter) { |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 132 | super(filter.name, filter); |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 133 | this._countElement = this.listItemElement.createChild('span', 'count'); |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 134 | const leadingIcons = [UI.Icon.Icon.create('largeicon-navigator-file')]; |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 135 | this.setLeadingIcons(leadingIcons); |
| 136 | this._messageCount = 0; |
| 137 | } |
| 138 | |
| 139 | incrementAndUpdateCounter() { |
| 140 | this._messageCount++; |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 141 | this._countElement.textContent = `${this._messageCount}`; |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 142 | } |
Paul Lewis | bf7aa3c | 2019-11-20 17:03:38 | [diff] [blame] | 143 | } |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 144 | |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 145 | export class FilterTreeElement extends ConsoleSidebarTreeElement { |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 146 | /** |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 147 | * @param {!ConsoleFilter} filter |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 148 | * @param {!UI.Icon.Icon} icon |
| 149 | * @param {!Common.Settings.Setting<string>} selectedFilterSetting |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 150 | */ |
Tim van der Lippe | b45d9a0 | 2019-11-05 17:24:41 | [diff] [blame] | 151 | constructor(filter, icon, selectedFilterSetting) { |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 152 | super(filter.name, filter); |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 153 | this._selectedFilterSetting = selectedFilterSetting; |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 154 | /** @type {!Map<?string, !URLGroupTreeElement>} */ |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 155 | this._urlTreeElements = new Map(); |
| 156 | this.setLeadingIcons([icon]); |
| 157 | this._messageCount = 0; |
| 158 | this._updateCounter(); |
| 159 | } |
| 160 | |
| 161 | clear() { |
| 162 | this._urlTreeElements.clear(); |
| 163 | this.removeChildren(); |
| 164 | this._messageCount = 0; |
| 165 | this._updateCounter(); |
| 166 | } |
| 167 | |
| 168 | /** |
| 169 | * @return {string} |
| 170 | */ |
| 171 | name() { |
| 172 | return this._filter.name; |
| 173 | } |
| 174 | |
| 175 | /** |
| 176 | * @param {boolean=} selectedByUser |
| 177 | * @return {boolean} |
| 178 | * @override |
| 179 | */ |
| 180 | onselect(selectedByUser) { |
| 181 | this._selectedFilterSetting.set(this._filter.name); |
| 182 | return super.onselect(selectedByUser); |
| 183 | } |
| 184 | |
| 185 | _updateCounter() { |
Christy Chen | c891ec6 | 2019-10-09 00:31:07 | [diff] [blame] | 186 | if (!this._messageCount) { |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 187 | this.title = _groupNoMessageTitleMap.get(this._filter.name) || ''; |
Christy Chen | c891ec6 | 2019-10-09 00:31:07 | [diff] [blame] | 188 | } else if (this._messageCount === 1) { |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 189 | this.title = _groupSingularTitleMap.get(this._filter.name) || ''; |
Christy Chen | c891ec6 | 2019-10-09 00:31:07 | [diff] [blame] | 190 | } else { |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 191 | this.title = |
| 192 | Platform.StringUtilities.sprintf(_groupPluralTitleMap.get(this._filter.name) || '', this._messageCount); |
Christy Chen | c891ec6 | 2019-10-09 00:31:07 | [diff] [blame] | 193 | } |
| 194 | |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 195 | this.setExpandable(!!this.childCount()); |
| 196 | } |
| 197 | |
| 198 | /** |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 199 | * @param {!ConsoleViewMessage} viewMessage |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 200 | */ |
| 201 | onMessageAdded(viewMessage) { |
| 202 | const message = viewMessage.consoleMessage(); |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 203 | const shouldIncrementCounter = message.type !== SDK.ConsoleModel.MessageType.Command && |
| 204 | message.type !== SDK.ConsoleModel.MessageType.Result && !message.isGroupMessage(); |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 205 | if (!this._filter.shouldBeVisible(viewMessage) || !shouldIncrementCounter) { |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 206 | return; |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 207 | } |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 208 | const child = this._childElement(message.url); |
| 209 | child.incrementAndUpdateCounter(); |
| 210 | this._messageCount++; |
| 211 | this._updateCounter(); |
| 212 | } |
| 213 | |
| 214 | /** |
| 215 | * @param {string=} url |
Tim van der Lippe | eaacb72 | 2020-01-10 12:16:00 | [diff] [blame] | 216 | * @return {!URLGroupTreeElement} |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 217 | */ |
| 218 | _childElement(url) { |
| 219 | const urlValue = url || null; |
| 220 | let child = this._urlTreeElements.get(urlValue); |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 221 | if (child) { |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 222 | return child; |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 223 | } |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 224 | |
| 225 | const filter = this._filter.clone(); |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 226 | const parsedURL = urlValue ? Common.ParsedURL.ParsedURL.fromString(urlValue) : null; |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 227 | if (urlValue) { |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 228 | filter.name = parsedURL ? parsedURL.displayName : urlValue; |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 229 | } else { |
Tim van der Lippe | 9b2f871 | 2020-02-12 17:46:22 | [diff] [blame] | 230 | filter.name = Common.UIString.UIString('<other>'); |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 231 | } |
Sigurd Schneider | a3e99b0 | 2020-10-08 11:15:37 | [diff] [blame] | 232 | filter.parsedFilters.push({key: FilterType.Url, text: urlValue, negative: false, regex: undefined}); |
Paul Lewis | bf7aa3c | 2019-11-20 17:03:38 | [diff] [blame] | 233 | child = new URLGroupTreeElement(filter); |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 234 | if (urlValue) { |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 235 | child.tooltip = urlValue; |
Tim van der Lippe | 1d6e57a | 2019-09-30 11:55:34 | [diff] [blame] | 236 | } |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 237 | this._urlTreeElements.set(urlValue, child); |
| 238 | this.appendChild(child); |
| 239 | return child; |
| 240 | } |
Paul Lewis | bf7aa3c | 2019-11-20 17:03:38 | [diff] [blame] | 241 | } |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 242 | |
| 243 | /** @enum {string} */ |
Tim van der Lippe | c96ccd9 | 2019-11-29 16:23:54 | [diff] [blame] | 244 | const _groupName = { |
Christy Chen | c891ec6 | 2019-10-09 00:31:07 | [diff] [blame] | 245 | ConsoleAPI: 'user message', |
| 246 | All: 'message', |
| 247 | Error: 'error', |
| 248 | Warning: 'warning', |
| 249 | Info: 'info', |
| 250 | Verbose: 'verbose' |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 251 | }; |
| 252 | |
| 253 | /** @const {!Map<string, string>} */ |
Tim van der Lippe | c96ccd9 | 2019-11-29 16:23:54 | [diff] [blame] | 254 | const _groupSingularTitleMap = new Map([ |
Paul Lewis | bf7aa3c | 2019-11-20 17:03:38 | [diff] [blame] | 255 | [_groupName.ConsoleAPI, ls`1 user message`], [_groupName.All, ls`1 message`], [_groupName.Error, ls`1 error`], |
| 256 | [_groupName.Warning, ls`1 warning`], [_groupName.Info, ls`1 info`], [_groupName.Verbose, ls`1 verbose`] |
Christy Chen | c891ec6 | 2019-10-09 00:31:07 | [diff] [blame] | 257 | ]); |
| 258 | |
| 259 | /** @const {!Map<string, string>} */ |
Tim van der Lippe | c96ccd9 | 2019-11-29 16:23:54 | [diff] [blame] | 260 | const _groupPluralTitleMap = new Map([ |
Paul Lewis | bf7aa3c | 2019-11-20 17:03:38 | [diff] [blame] | 261 | [_groupName.ConsoleAPI, ls`%d user messages`], [_groupName.All, ls`%d messages`], [_groupName.Error, ls`%d errors`], |
| 262 | [_groupName.Warning, ls`%d warnings`], [_groupName.Info, ls`%d info`], [_groupName.Verbose, ls`%d verbose`] |
Christy Chen | c891ec6 | 2019-10-09 00:31:07 | [diff] [blame] | 263 | ]); |
| 264 | |
| 265 | /** @const {!Map<string, string>} */ |
Tim van der Lippe | c96ccd9 | 2019-11-29 16:23:54 | [diff] [blame] | 266 | const _groupNoMessageTitleMap = new Map([ |
Paul Lewis | bf7aa3c | 2019-11-20 17:03:38 | [diff] [blame] | 267 | [_groupName.ConsoleAPI, ls`No user messages`], [_groupName.All, ls`No messages`], [_groupName.Error, ls`No errors`], |
| 268 | [_groupName.Warning, ls`No warnings`], [_groupName.Info, ls`No info`], [_groupName.Verbose, ls`No verbose`] |
Blink Reformat | 4c46d09 | 2018-04-07 15:32:37 | [diff] [blame] | 269 | ]); |