fix: duplicate field in filters (#24189)
* fix: duplicate field in filters * test: clear filters using new clear filter button
This commit is contained in:
parent
004359ad6e
commit
3884fa3c63
3 changed files with 10 additions and 24 deletions
|
|
@ -8,6 +8,7 @@ const test_queries = [
|
|||
`?date=%5B">"%2C"2022-06-01"%5D`,
|
||||
`?name=%5B"like"%2C"%2542%25"%5D`,
|
||||
`?status=%5B"not%20in"%2C%5B"Open"%2C"Closed"%5D%5D`,
|
||||
`?status=%5B%22%21%3D%22%2C%22Closed%22%5D&status=%5B%22%21%3D%22%2C%22Cancelled%22%5D`,
|
||||
];
|
||||
|
||||
describe("SPA Routing", { scrollBehavior: false }, () => {
|
||||
|
|
|
|||
|
|
@ -449,27 +449,8 @@ Cypress.Commands.add("click_menu_button", (name) => {
|
|||
});
|
||||
|
||||
Cypress.Commands.add("clear_filters", () => {
|
||||
let has_filter = false;
|
||||
cy.intercept({
|
||||
method: "POST",
|
||||
url: "api/method/frappe.model.utils.user_settings.save",
|
||||
}).as("filter-saved");
|
||||
cy.get(".filter-section .filter-button").click({ force: true });
|
||||
cy.wait(300);
|
||||
cy.get(".filter-popover").should("exist");
|
||||
cy.get(".filter-popover").then((popover) => {
|
||||
if (popover.find("input.input-with-feedback")[0].value != "") {
|
||||
has_filter = true;
|
||||
}
|
||||
});
|
||||
cy.get(".filter-popover").find(".clear-filters").click();
|
||||
cy.get(".filter-section .filter-button").click();
|
||||
cy.window()
|
||||
.its("cur_list")
|
||||
.then((cur_list) => {
|
||||
cur_list && cur_list.filter_area && cur_list.filter_area.clear();
|
||||
has_filter && cy.wait("@filter-saved");
|
||||
});
|
||||
cy.get(".filter-x-button").click({ force: true });
|
||||
cy.wait(500);
|
||||
});
|
||||
|
||||
Cypress.Commands.add("click_modal_primary_button", (btn_name) => {
|
||||
|
|
|
|||
|
|
@ -2016,9 +2016,13 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList {
|
|||
parse_filters_from_route_options() {
|
||||
const filters = [];
|
||||
|
||||
for (let field in frappe.route_options) {
|
||||
let params = new URLSearchParams(window.location.search);
|
||||
if (!params.toString() && frappe.route_options) {
|
||||
params = new Map(Object.entries(frappe.route_options));
|
||||
}
|
||||
|
||||
params.forEach((value, field) => {
|
||||
let doctype = null;
|
||||
let value = frappe.route_options[field];
|
||||
|
||||
let value_array;
|
||||
if ($.isArray(value) && value[0].startsWith("[") && value[0].endsWith("]")) {
|
||||
|
|
@ -2060,7 +2064,7 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList {
|
|||
filters.push([doctype, field, "=", value]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return filters;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue