OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. |
3 * Copyright (C) 2009 Joseph Pecoraro | 3 * Copyright (C) 2009 Joseph Pecoraro |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
64 this._showSettingsPaneSetting, 'largeicon-settings-gear', Common.UIStrin g('Console settings')); | 64 this._showSettingsPaneSetting, 'largeicon-settings-gear', Common.UIStrin g('Console settings')); |
65 this._progressToolbarItem = new UI.ToolbarItem(createElement('div')); | 65 this._progressToolbarItem = new UI.ToolbarItem(createElement('div')); |
66 | 66 |
67 var toolbar = new UI.Toolbar('', this._contentsElement); | 67 var toolbar = new UI.Toolbar('', this._contentsElement); |
68 toolbar.appendToolbarItem(UI.Toolbar.createActionButton( | 68 toolbar.appendToolbarItem(UI.Toolbar.createActionButton( |
69 /** @type {!UI.Action }*/ (UI.actionRegistry.action('console.clear')))); | 69 /** @type {!UI.Action }*/ (UI.actionRegistry.action('console.clear')))); |
70 toolbar.appendSeparator(); | 70 toolbar.appendSeparator(); |
71 toolbar.appendToolbarItem(this._consoleContextSelector.toolbarItem()); | 71 toolbar.appendToolbarItem(this._consoleContextSelector.toolbarItem()); |
72 toolbar.appendSeparator(); | 72 toolbar.appendSeparator(); |
73 toolbar.appendToolbarItem(this._filter._textFilterUI); | 73 toolbar.appendToolbarItem(this._filter._textFilterUI); |
74 toolbar.appendToolbarItem(this._filter._levelComboBox); | 74 toolbar.appendToolbarItem(this._filter._levelMenuButton); |
75 toolbar.appendToolbarItem(this._filter._levelMenuButtonArrow); | |
75 toolbar.appendToolbarItem(this._progressToolbarItem); | 76 toolbar.appendToolbarItem(this._progressToolbarItem); |
76 toolbar.appendSpacer(); | 77 toolbar.appendSpacer(); |
77 toolbar.appendToolbarItem(this._filterStatusText); | 78 toolbar.appendToolbarItem(this._filterStatusText); |
78 toolbar.appendSeparator(); | 79 toolbar.appendSeparator(); |
79 toolbar.appendToolbarItem(this._showSettingsPaneButton); | 80 toolbar.appendToolbarItem(this._showSettingsPaneButton); |
80 | 81 |
81 this._preserveLogCheckbox = new UI.ToolbarSettingCheckbox( | 82 this._preserveLogCheckbox = new UI.ToolbarSettingCheckbox( |
82 Common.moduleSetting('preserveConsoleLog'), Common.UIString('Do not clea r log on page reload / navigation'), | 83 Common.moduleSetting('preserveConsoleLog'), Common.UIString('Do not clea r log on page reload / navigation'), |
83 Common.UIString('Preserve log')); | 84 Common.UIString('Preserve log')); |
84 this._hideNetworkMessagesCheckbox = new UI.ToolbarSettingCheckbox( | 85 this._hideNetworkMessagesCheckbox = new UI.ToolbarSettingCheckbox( |
(...skipping 915 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1000 * @unrestricted | 1001 * @unrestricted |
1001 */ | 1002 */ |
1002 Console.ConsoleViewFilter = class { | 1003 Console.ConsoleViewFilter = class { |
1003 /** | 1004 /** |
1004 * @param {function()} filterChangedCallback | 1005 * @param {function()} filterChangedCallback |
1005 */ | 1006 */ |
1006 constructor(filterChangedCallback) { | 1007 constructor(filterChangedCallback) { |
1007 this._filterChanged = filterChangedCallback; | 1008 this._filterChanged = filterChangedCallback; |
1008 | 1009 |
1009 this._messageURLFiltersSetting = Common.settings.createSetting('messageURLFi lters', {}); | 1010 this._messageURLFiltersSetting = Common.settings.createSetting('messageURLFi lters', {}); |
1010 this._messageLevelFiltersSetting = | 1011 this._messageLevelFiltersSetting = Console.ConsoleViewFilter.levelFilterSett ing(); |
1011 Common.settings.createSetting('messageLevelFilters2', ConsoleModel.Conso leMessage.MessageLevel.Info); | 1012 |
1012 this._hideNetworkMessagesSetting = Common.moduleSetting('hideNetworkMessages '); | 1013 this._hideNetworkMessagesSetting = Common.moduleSetting('hideNetworkMessages '); |
1013 this._filterByExecutionContextSetting = Common.moduleSetting('selectedContex tFilterEnabled'); | 1014 this._filterByExecutionContextSetting = Common.moduleSetting('selectedContex tFilterEnabled'); |
1014 this._filterByConsoleAPISetting = Common.moduleSetting('consoleAPIFilterEnab led'); | 1015 this._filterByConsoleAPISetting = Common.moduleSetting('consoleAPIFilterEnab led'); |
1015 | 1016 |
1016 this._messageURLFiltersSetting.addChangeListener(this._filterChanged); | 1017 this._messageURLFiltersSetting.addChangeListener(this._filterChanged); |
1017 this._messageLevelFiltersSetting.addChangeListener(this._filterChanged); | 1018 this._messageLevelFiltersSetting.addChangeListener(this._filterChanged); |
1018 this._hideNetworkMessagesSetting.addChangeListener(this._filterChanged); | 1019 this._hideNetworkMessagesSetting.addChangeListener(this._filterChanged); |
1019 this._filterByExecutionContextSetting.addChangeListener(this._filterChanged) ; | 1020 this._filterByExecutionContextSetting.addChangeListener(this._filterChanged) ; |
1020 this._filterByConsoleAPISetting.addChangeListener(this._filterChanged); | 1021 this._filterByConsoleAPISetting.addChangeListener(this._filterChanged); |
1021 | 1022 |
1022 this._textFilterUI = new UI.ToolbarInput(Common.UIString('Filter'), 0.2, 1, true); | 1023 this._textFilterUI = new UI.ToolbarInput(Common.UIString('Filter'), 0.2, 1, true); |
1023 this._textFilterUI.addEventListener(UI.ToolbarInput.Event.TextChanged, this. _textFilterChanged, this); | 1024 this._textFilterUI.addEventListener(UI.ToolbarInput.Event.TextChanged, this. _textFilterChanged, this); |
1024 | 1025 |
1025 var levels = [ | 1026 this._levelLabels = {}; |
1026 {value: ConsoleModel.ConsoleMessage.MessageLevel.Verbose, label: Common.UI String('Verbose')}, | 1027 this._levelLabels[ConsoleModel.ConsoleMessage.MessageLevel.Verbose] = Common .UIString('Verbose'); |
1027 {value: ConsoleModel.ConsoleMessage.MessageLevel.Info, label: Common.UIStr ing('Info'), default: true}, | 1028 this._levelLabels[ConsoleModel.ConsoleMessage.MessageLevel.Info] = Common.UI String('Info'); |
1028 {value: ConsoleModel.ConsoleMessage.MessageLevel.Warning, label: Common.UI String('Warnings')}, | 1029 this._levelLabels[ConsoleModel.ConsoleMessage.MessageLevel.Warning] = Common .UIString('Warnings'); |
1029 {value: ConsoleModel.ConsoleMessage.MessageLevel.Error, label: Common.UISt ring('Errors')} | 1030 this._levelLabels[ConsoleModel.ConsoleMessage.MessageLevel.Error] = Common.U IString('Errors'); |
1030 ]; | |
1031 | 1031 |
1032 this._levelComboBox = | 1032 this._levelMenuButton = new UI.ToolbarText(''); |
1033 new UI.ToolbarSettingComboBox(levels, this._messageLevelFiltersSetting, Common.UIString('Level')); | 1033 this._levelMenuButtonArrow = new UI.ToolbarItem(UI.Icon.create('smallicon-tr iangle-down')); |
dgozman
2017/06/06 19:02:46
Oh my...
| |
1034 this._levelMenuButton.element.addEventListener('click', this._showLevelConte xtMenu.bind(this)); | |
1035 this._levelMenuButtonArrow.element.addEventListener('click', this._showLevel ContextMenu.bind(this)); | |
1036 | |
1037 this._updateLevelMenuButtonText(); | |
1038 this._messageLevelFiltersSetting.addChangeListener(this._updateLevelMenuButt onText.bind(this)); | |
1039 } | |
1040 | |
1041 /** | |
1042 * @return {!Common.Setting} | |
1043 */ | |
1044 static levelFilterSetting() { | |
1045 return Common.settings.createSetting('messageLevelFilters', Console.ConsoleV iewFilter.defaultLevelsFilterValue()); | |
1046 } | |
1047 | |
1048 /** | |
1049 * @return {!Object<string, boolean>} | |
1050 */ | |
1051 static allLevelsFilterValue() { | |
1052 var result = {}; | |
1053 for (var name of Object.values(ConsoleModel.ConsoleMessage.MessageLevel)) | |
1054 result[name] = true; | |
1055 return result; | |
1056 } | |
1057 | |
1058 /** | |
1059 * @return {!Object<string, boolean>} | |
1060 */ | |
1061 static defaultLevelsFilterValue() { | |
1062 var result = Console.ConsoleViewFilter.allLevelsFilterValue(); | |
1063 result[ConsoleModel.ConsoleMessage.MessageLevel.Verbose] = false; | |
1064 return result; | |
1065 } | |
1066 | |
1067 _updateLevelMenuButtonText() { | |
1068 var isAll = true; | |
1069 var isDefault = true; | |
1070 var allValue = Console.ConsoleViewFilter.allLevelsFilterValue(); | |
1071 var defaultValue = Console.ConsoleViewFilter.defaultLevelsFilterValue(); | |
1072 | |
1073 var text = null; | |
1074 var levels = this._messageLevelFiltersSetting.get(); | |
1075 for (var name of Object.values(ConsoleModel.ConsoleMessage.MessageLevel)) { | |
1076 isAll = isAll && levels[name] === allValue[name]; | |
1077 isDefault = isDefault && levels[name] === defaultValue[name]; | |
1078 if (levels[name]) | |
1079 text = text ? Common.UIString('Custom levels') : Common.UIString('%s onl y', this._levelLabels[name]); | |
1080 } | |
1081 if (isAll) | |
1082 text = Common.UIString('All levels'); | |
1083 else if (isDefault) | |
1084 text = Common.UIString('Default levels'); | |
1085 else | |
1086 text = text || Common.UIString('Hide all'); | |
1087 this._levelMenuButton.setText(text); | |
1088 } | |
1089 | |
1090 /** | |
1091 * @param {!Event} event | |
1092 */ | |
1093 _showLevelContextMenu(event) { | |
1094 var setting = this._messageLevelFiltersSetting; | |
1095 var levels = setting.get(); | |
1096 | |
1097 var contextMenu = new UI.ContextMenu(event, true); | |
1098 contextMenu.appendItem( | |
1099 Common.UIString('Default'), () => setting.set(Console.ConsoleViewFilter. defaultLevelsFilterValue())); | |
1100 contextMenu.appendSeparator(); | |
1101 for (var level in this._levelLabels) | |
1102 contextMenu.appendCheckboxItem(this._levelLabels[level], toggleShowLevel.b ind(null, level), levels[level]); | |
1103 contextMenu.show(); | |
1104 | |
1105 /** | |
1106 * @param {string} level | |
1107 */ | |
1108 function toggleShowLevel(level) { | |
1109 levels[level] = !levels[level]; | |
1110 setting.set(levels); | |
1111 } | |
1034 } | 1112 } |
1035 | 1113 |
1036 _textFilterChanged() { | 1114 _textFilterChanged() { |
1037 this._filterText = this._textFilterUI.value(); | 1115 this._filterText = this._textFilterUI.value(); |
1038 this._filterRegex = null; | 1116 this._filterRegex = null; |
1039 if (this._filterText.startsWith('/') && this._filterText.endsWith('/')) { | 1117 if (this._filterText.startsWith('/') && this._filterText.endsWith('/')) { |
1040 try { | 1118 try { |
1041 this._filterRegex = new RegExp(this._filterText.substring(1, this._filte rText.length - 1), 'i'); | 1119 this._filterRegex = new RegExp(this._filterText.substring(1, this._filte rText.length - 1), 'i'); |
1042 } catch (e) { | 1120 } catch (e) { |
1043 } | 1121 } |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1097 if (viewMessage.consoleMessage().isGroupMessage()) | 1175 if (viewMessage.consoleMessage().isGroupMessage()) |
1098 return true; | 1176 return true; |
1099 | 1177 |
1100 if (message.type === ConsoleModel.ConsoleMessage.MessageType.Result || | 1178 if (message.type === ConsoleModel.ConsoleMessage.MessageType.Result || |
1101 message.type === ConsoleModel.ConsoleMessage.MessageType.Command) | 1179 message.type === ConsoleModel.ConsoleMessage.MessageType.Command) |
1102 return true; | 1180 return true; |
1103 | 1181 |
1104 if (message.url && this._messageURLFiltersSetting.get()[message.url]) | 1182 if (message.url && this._messageURLFiltersSetting.get()[message.url]) |
1105 return false; | 1183 return false; |
1106 | 1184 |
1107 var filterOrdinal = ConsoleModel.ConsoleMessage.MessageLevel.ordinal( | 1185 var levels = this._messageLevelFiltersSetting.get(); |
1108 /** @type {!ConsoleModel.ConsoleMessage.MessageLevel} */ (this._messageL evelFiltersSetting.get())); | 1186 if (!levels[message.level]) |
1109 if (message.level && ConsoleModel.ConsoleMessage.MessageLevel.ordinal(messag e.level) < filterOrdinal) | |
1110 return false; | 1187 return false; |
1111 | 1188 |
1112 if (this._filterRegex) { | 1189 if (this._filterRegex) { |
1113 if (!viewMessage.matchesFilterRegex(this._filterRegex)) | 1190 if (!viewMessage.matchesFilterRegex(this._filterRegex)) |
1114 return false; | 1191 return false; |
1115 } else if (this._filterText) { | 1192 } else if (this._filterText) { |
1116 if (!viewMessage.matchesFilterText(this._filterText)) | 1193 if (!viewMessage.matchesFilterText(this._filterText)) |
1117 return false; | 1194 return false; |
1118 } | 1195 } |
1119 | 1196 |
1120 if (this._filterByConsoleAPISetting.get() && | 1197 if (this._filterByConsoleAPISetting.get() && |
1121 message.source !== ConsoleModel.ConsoleMessage.MessageSource.ConsoleAPI) | 1198 message.source !== ConsoleModel.ConsoleMessage.MessageSource.ConsoleAPI) |
1122 return false; | 1199 return false; |
1123 | 1200 |
1124 return true; | 1201 return true; |
1125 } | 1202 } |
1126 | 1203 |
1127 reset() { | 1204 reset() { |
1128 this._messageURLFiltersSetting.set({}); | 1205 this._messageURLFiltersSetting.set({}); |
1129 this._messageLevelFiltersSetting.set(ConsoleModel.ConsoleMessage.MessageLeve l.Info); | 1206 this._messageLevelFiltersSetting.set(Console.ConsoleViewFilter.defaultLevels FilterValue()); |
1130 this._filterByExecutionContextSetting.set(false); | 1207 this._filterByExecutionContextSetting.set(false); |
1131 this._filterByConsoleAPISetting.set(false); | 1208 this._filterByConsoleAPISetting.set(false); |
1132 this._hideNetworkMessagesSetting.set(false); | 1209 this._hideNetworkMessagesSetting.set(false); |
1133 this._textFilterUI.setValue(''); | 1210 this._textFilterUI.setValue(''); |
1134 this._textFilterChanged(); | 1211 this._textFilterChanged(); |
1135 } | 1212 } |
1136 }; | 1213 }; |
1137 | 1214 |
1138 /** | 1215 /** |
1139 * @unrestricted | 1216 * @unrestricted |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1289 return true; | 1366 return true; |
1290 } | 1367 } |
1291 return false; | 1368 return false; |
1292 } | 1369 } |
1293 }; | 1370 }; |
1294 | 1371 |
1295 /** | 1372 /** |
1296 * @typedef {{messageIndex: number, matchIndex: number}} | 1373 * @typedef {{messageIndex: number, matchIndex: number}} |
1297 */ | 1374 */ |
1298 Console.ConsoleView.RegexMatchRange; | 1375 Console.ConsoleView.RegexMatchRange; |
OLD | NEW |