From 683db938e3b2a885937436b3d96a2952c95990ee Mon Sep 17 00:00:00 2001 From: Rohan Bansal Date: Mon, 10 Oct 2022 15:40:47 +0530 Subject: [PATCH 1/2] feat: auto-show list filters and add confirmation when deleting filters --- .../list_view_settings.json | 9 +++++++- frappe/public/js/frappe/list/list_filter.js | 23 +++++++++++++++---- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/frappe/desk/doctype/list_view_settings/list_view_settings.json b/frappe/desk/doctype/list_view_settings/list_view_settings.json index 44761992f1..0e865e862d 100644 --- a/frappe/desk/doctype/list_view_settings/list_view_settings.json +++ b/frappe/desk/doctype/list_view_settings/list_view_settings.json @@ -9,6 +9,7 @@ "disable_count", "disable_sidebar_stats", "disable_auto_refresh", + "show_saved_filters", "total_fields", "fields_html", "fields" @@ -49,10 +50,16 @@ "hidden": 1, "label": "Fields", "read_only": 1 + }, + { + "default": "0", + "fieldname": "show_saved_filters", + "fieldtype": "Check", + "label": "Auto-Show Saved Filters" } ], "links": [], - "modified": "2020-05-12 18:27:15.568199", + "modified": "2022-10-10 04:45:04.081715", "modified_by": "Administrator", "module": "Desk", "name": "List View Settings", diff --git a/frappe/public/js/frappe/list/list_filter.js b/frappe/public/js/frappe/list/list_filter.js index c2dda007a9..fc80f6b19c 100644 --- a/frappe/public/js/frappe/list/list_filter.js +++ b/frappe/public/js/frappe/list/list_filter.js @@ -26,6 +26,12 @@ export default class ListFilter { this.$saved_filters_preview = this.wrapper.find(".saved-filters-preview"); this.saved_filters_hidden = true; + // show saved filters by default based on list setting; since a local + // state (saved_filters_hidden) is also maintained, add a conditional check + if (this.list_view.list_view_settings.show_saved_filters) { + this.toggle_saved_filters(true); + } + this.filter_input = frappe.ui.form.make_control({ df: { fieldtype: "Data", @@ -102,11 +108,18 @@ export default class ListFilter { bind_remove_filter() { this.wrapper.on("click", ".filter-pill .remove", (e) => { const $li = $(e.currentTarget).closest(".filter-pill"); - const name = $li.attr("data-name"); - const applied_filters = this.get_filters_values(name); - $li.remove(); - this.remove_filter(name).then(() => this.refresh()); - this.list_view.filter_area.remove_filters(applied_filters); + const filter_label = $li.text().trim(); + + frappe.confirm( + __("Are you sure you want to remove the {0} filter?", [filter_label.bold()]), + () => { + const name = $li.attr("data-name"); + const applied_filters = this.get_filters_values(name); + $li.remove(); + this.remove_filter(name).then(() => this.refresh()); + this.list_view.filter_area.remove_filters(applied_filters); + } + ); }); } From f063194e200cd52945d06f548686b1ee6ac52166 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Mon, 10 Oct 2022 16:27:32 +0530 Subject: [PATCH 2/2] fix(UX): always show saved filters --- .../doctype/list_view_settings/list_view_settings.json | 9 +-------- frappe/public/js/frappe/list/list_filter.js | 7 +------ 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/frappe/desk/doctype/list_view_settings/list_view_settings.json b/frappe/desk/doctype/list_view_settings/list_view_settings.json index 0e865e862d..44761992f1 100644 --- a/frappe/desk/doctype/list_view_settings/list_view_settings.json +++ b/frappe/desk/doctype/list_view_settings/list_view_settings.json @@ -9,7 +9,6 @@ "disable_count", "disable_sidebar_stats", "disable_auto_refresh", - "show_saved_filters", "total_fields", "fields_html", "fields" @@ -50,16 +49,10 @@ "hidden": 1, "label": "Fields", "read_only": 1 - }, - { - "default": "0", - "fieldname": "show_saved_filters", - "fieldtype": "Check", - "label": "Auto-Show Saved Filters" } ], "links": [], - "modified": "2022-10-10 04:45:04.081715", + "modified": "2020-05-12 18:27:15.568199", "modified_by": "Administrator", "module": "Desk", "name": "List View Settings", diff --git a/frappe/public/js/frappe/list/list_filter.js b/frappe/public/js/frappe/list/list_filter.js index fc80f6b19c..86137aa4ed 100644 --- a/frappe/public/js/frappe/list/list_filter.js +++ b/frappe/public/js/frappe/list/list_filter.js @@ -25,12 +25,7 @@ export default class ListFilter { this.$saved_filters = this.wrapper.find(".saved-filters").hide(); this.$saved_filters_preview = this.wrapper.find(".saved-filters-preview"); this.saved_filters_hidden = true; - - // show saved filters by default based on list setting; since a local - // state (saved_filters_hidden) is also maintained, add a conditional check - if (this.list_view.list_view_settings.show_saved_filters) { - this.toggle_saved_filters(true); - } + this.toggle_saved_filters(true); this.filter_input = frappe.ui.form.make_control({ df: {