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