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

Unified Diff: third_party/WebKit/Source/devtools/front_end/ui/FilterBar.js

Issue 2595743002: DevTools: refactor filter bar to highlight it in red when non-default filters are installed. (Closed)
Patch Set: Created 4 years 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/devtools/front_end/ui/FilterBar.js
diff --git a/third_party/WebKit/Source/devtools/front_end/ui/FilterBar.js b/third_party/WebKit/Source/devtools/front_end/ui/FilterBar.js
index 75cde638da34e9193ba7a0dd5774d92460383a7d..f9f466438d5b4095b98d200f2b5d1af7cad5c93b 100644
--- a/third_party/WebKit/Source/devtools/front_end/ui/FilterBar.js
+++ b/third_party/WebKit/Source/devtools/front_end/ui/FilterBar.js
@@ -39,17 +39,16 @@ UI.FilterBar = class extends UI.HBox {
constructor(name, visibleByDefault) {
super();
this.registerRequiredCSS('ui/filter.css');
- this._filtersShown = false;
this._enabled = true;
this.element.classList.add('filter-bar');
- this._filterButton = new UI.ToolbarToggle(Common.UIString('Filter'), 'largeicon-filter');
- this._filterButton.addEventListener(UI.ToolbarButton.Events.Click, this._handleFilterButtonClick, this);
+ this._stateSetting = Common.settings.createSetting('filterBar-' + name + '-toggled', !!visibleByDefault);
+ this._filterButton = new UI.ToolbarSettingToggle(this._stateSetting, 'largeicon-filter', Common.UIString('Filter'));
this._filters = [];
- this._stateSetting = Common.settings.createSetting('filterBar-' + name + '-toggled', !!visibleByDefault);
- this._setState(this._stateSetting.get());
+ this._updateFilterBar();
+ this._stateSetting.addChangeListener(this._updateFilterBar.bind(this));
}
/**
@@ -81,27 +80,30 @@ UI.FilterBar = class extends UI.HBox {
}
/**
- * @override
+ * @param {!Common.Event} event
*/
- wasShown() {
- this._updateFilterBar();
+ _filterChanged(event) {
+ this._updateFilterButton();
}
/**
- * @param {!Common.Event} event
+ * @override
*/
- _filterChanged(event) {
- this._updateFilterButton();
+ wasShown() {
+ super.wasShown();
+ this._updateFilterBar();
}
_updateFilterBar() {
if (!this.parentWidget())
return;
- var visible = this._alwaysShowFilters || (this._filtersShown && this._enabled);
- if (visible)
+ var visible = this._alwaysShowFilters || (this._stateSetting.get() && this._enabled);
+ if (visible) {
this.showWidget();
- else
+ this._focusTextField();
+ } else {
this.hideWidget();
+ }
}
_focusTextField() {
@@ -115,41 +117,11 @@ UI.FilterBar = class extends UI.HBox {
}
_updateFilterButton() {
- if (this._filtersShown) {
- this._filterButton.setToggled(true);
- this._filterButton.setToggleWithRedColor(false);
- return;
- }
- this._filterButton.setToggleWithRedColor(true);
var isActive = false;
for (var filter of this._filters)
isActive = isActive || filter.isActive();
- this._filterButton.setToggled(isActive);
- }
-
- /**
- * @param {!Common.Event} event
- */
- _handleFilterButtonClick(event) {
- this._setState(!this._filtersShown);
- }
-
- /**
- * @param {boolean} filtersShown
- */
- _setState(filtersShown) {
- if (this._filtersShown === filtersShown)
- return;
-
- this._filtersShown = filtersShown;
- if (this._stateSetting)
- this._stateSetting.set(filtersShown);
-
- this._updateFilterButton();
- this._updateFilterBar();
- if (this._filtersShown)
- this._focusTextField();
- this.dispatchEventToListeners(UI.FilterBar.Events.Toggled);
+ this._filterButton.setDefaultWithRedColor(isActive);
+ this._filterButton.setToggleWithRedColor(isActive);
}
clear() {
@@ -165,11 +137,6 @@ UI.FilterBar.FilterBarState = {
Shown: 'on'
};
-/** @enum {symbol} */
-UI.FilterBar.Events = {
- Toggled: Symbol('Toggled')
-};
-
/**
* @interface
* @extends {Common.EventTarget}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698