From 4abd48d24fcd8bbf575812f7e8e1744b0badb61e Mon Sep 17 00:00:00 2001 From: David Date: Fri, 24 May 2024 10:42:25 +0200 Subject: [PATCH] [IMP] web_filter_header_button: show groupBy filters Now we can configure group filters to show up along the other filters so users can easily access those as well. TT49232 --- .../demo/ir_module_module_view.xml | 5 +++++ .../control_panel_model_extension.esm.js | 12 ++++++++++++ .../static/src/filter_button/filter_button.esm.js | 3 +++ 3 files changed, 20 insertions(+) diff --git a/web_filter_header_button/demo/ir_module_module_view.xml b/web_filter_header_button/demo/ir_module_module_view.xml index 77773bbe8..1742e196d 100644 --- a/web_filter_header_button/demo/ir_module_module_view.xml +++ b/web_filter_header_button/demo/ir_module_module_view.xml @@ -14,6 +14,11 @@ name="context" >{'shown_in_panel': {'icon': 'fa-toggle-off', 'hotkey': 'u'}} + + {'group_by':'state', 'shown_in_panel': {'icon': 'fa-th-list', 'hotkey': 's'}} + diff --git a/web_filter_header_button/static/src/control_panel/control_panel_model_extension.esm.js b/web_filter_header_button/static/src/control_panel/control_panel_model_extension.esm.js index 57716199d..c08124e43 100644 --- a/web_filter_header_button/static/src/control_panel/control_panel_model_extension.esm.js +++ b/web_filter_header_button/static/src/control_panel/control_panel_model_extension.esm.js @@ -32,5 +32,17 @@ patch( } return preFilter; }, + /** + * Allow groupBy filters to show up as buttons + * @override + * @param {Object} filter + * @param {Object} attrs + */ + _extractAttributes(filter, attrs) { + this._super(...arguments); + if (filter.type === "groupBy" && attrs.context.shown_in_panel) { + filter.context = attrs.context; + } + }, } ); diff --git a/web_filter_header_button/static/src/filter_button/filter_button.esm.js b/web_filter_header_button/static/src/filter_button/filter_button.esm.js index a7499b571..b0881432f 100644 --- a/web_filter_header_button/static/src/filter_button/filter_button.esm.js +++ b/web_filter_header_button/static/src/filter_button/filter_button.esm.js @@ -30,6 +30,9 @@ export class FilterButton extends Component { favorite: { color: "warning", }, + groupBy: { + color: "info", + }, }; return mapping[filter.type]; }