Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Unified Diff: Source/devtools/front_end/FilterBar.js

Issue 72863002: [DevTools] Added regex support to console filters. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/devtools/front_end/ConsoleView.js ('k') | Source/devtools/front_end/filter.css » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/FilterBar.js
diff --git a/Source/devtools/front_end/FilterBar.js b/Source/devtools/front_end/FilterBar.js
index 368d98a8a36dd20baf7bffb14535ee1ff956114a..293e8e79ff64cfeb1ae1a4b001d184453e93cb56 100644
--- a/Source/devtools/front_end/FilterBar.js
+++ b/Source/devtools/front_end/FilterBar.js
@@ -159,9 +159,12 @@ WebInspector.FilterUI.prototype = {
* @constructor
* @implements {WebInspector.FilterUI}
* @extends {WebInspector.Object}
+ * @param {boolean=} supportRegex
*/
-WebInspector.TextFilterUI = function()
+WebInspector.TextFilterUI = function(supportRegex)
{
+ this._supportRegex = !!supportRegex;
+
this._filterElement = document.createElement("div");
this._filterElement.className = "filter-text-filter";
@@ -171,6 +174,17 @@ WebInspector.TextFilterUI = function()
this._filterInputElement.addEventListener("mousedown", this._onFilterFieldManualFocus.bind(this), false); // when the search field is manually selected
this._filterInputElement.addEventListener("input", this._onInput.bind(this), false);
this._filterInputElement.addEventListener("change", this._onInput.bind(this), false);
+
+ if (this._supportRegex) {
+ this._regexCheckBox = this._filterElement.createChild("input");
+ this._regexCheckBox.type = "checkbox";
+ this._regexCheckBox.id = "text-filter-regex";
+ this._regexCheckBox.addEventListener("change", this._onInput.bind(this), false);
+
+ this._regexLabel = this._filterElement.createChild("label");
+ this._regexLabel.htmlFor = "text-filter-regex";
+ this._regexLabel.textContent = WebInspector.UIString("Regex");
+ }
}
WebInspector.TextFilterUI.prototype = {
@@ -215,7 +229,19 @@ WebInspector.TextFilterUI.prototype = {
if (this._regex !== undefined)
return this._regex;
var filterQuery = this.value();
- this._regex = filterQuery ? createPlainTextSearchRegex(filterQuery, "i") : null;
+
+ this._regex = null
eustas 2013/11/15 05:13:32 semicolon missing
Dmitry Zvorygin 2013/11/15 10:39:12 Done.
+ if (filterQuery) {
+ if (this._supportRegex && this._regexCheckBox.checked) {
+ try {
+ this._regex = new RegExp(filterQuery, "i");
+ } catch (e) {
+ // Silent catch
eustas 2013/11/15 05:13:32 You must highlight field / show that regexp is not
Dmitry Zvorygin 2013/11/15 10:39:12 Done.
+ }
+ } else {
+ this._regex = createPlainTextSearchRegex(filterQuery, "i");
+ }
+ }
return this._regex;
},
« no previous file with comments | « Source/devtools/front_end/ConsoleView.js ('k') | Source/devtools/front_end/filter.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698