filters intersection works even to re enable a categori selected

This commit is contained in:
lenovo
2022-11-17 13:00:47 +01:00
parent 410fbe699d
commit 2aac5ec25d
2 changed files with 37 additions and 25 deletions

View File

@@ -127,24 +127,21 @@ function toggle_menu_items(menu_name, x_abled) {
let class_name = `filter_menu_${name}`;
let items = document.getElementsByClassName(class_name);
// for (let item of items) {
// item.classList.remove('enable');
// if (x_abled === "disable") {
// item.setAttribute('disabled', '');
// }
// else {
// item.removeAttribute('disabled');
// }
// }
if (x_abled === "disable") {
for (let item of items) {
item.classList.remove('enable');
// if item is a menu title (like 'categorie' or 'pays')
// don't remove 'enable', instead add it, because it's not in the list of 'to_enable'
if (item.selected) {
item.classList.add('enable');
}
else {
item.classList.remove('enable');
}
if (item.classList.contains('to_enable')) {
item.classList.replace('to_enable', 'enable');
item.removeAttribute('disabled');
}
else
else if (! item.selected)
item.setAttribute('disabled', '');
}
}
@@ -158,22 +155,31 @@ function toggle_menu_items(menu_name, x_abled) {
function disable_menus(menu_name_ori, menu_item_ori, reverse, menu_index) {
// in case it's a menu title, like "Pays" or "Categories",
// or it's Mode menu,
// and it was the first selection, meaning it does'nt contains 'enable'
// and both (irl and online) are abled or disabled,
// just act like Reset button
// it's too bas it will also go through this menu items even though it's unnecessary
if (menu_item_ori == null) { // it's a menu name
// "item" as a menu name will select all items in all menus
toggle_menu_items("item", "enable");
return;
}
let menu_item_name = menu_item_ori._name;
let menu_item_name = "";
if (menu_item_ori == null) // it's a menu name
menu_item_name = menu_name_ori;
else
menu_item_name = menu_item_ori._name;
let item_ori_html = html_item(menu_name_ori, menu_item_name);
let is_enabled = item_ori_html.classList.contains('enable');
// in case it's a menu title, like "Pays" or "Categories",
// and it does'nt contains 'enable'
// just act like Reset button
// it's too bad it will also go through this menu items even though it's unnecessary
if (menu_index == 'menu_name') { // it's a menu name
if (! is_enabled) {
// "item" as a menu name will select all items in all menus
toggle_menu_items("item", "enable");
}
return;
}
// if it's Mode menu,
// and it was the first selection, meaning it does'nt contains 'enable'
// and both (irl and online) are abled or disabled,
// just act like Reset button
// it's too bas it will also go through this menu items even though it's unnecessary
if (menu_name_ori === "mode") {
let mode_menus = document.getElementsByClassName("filter_menu_mode");
let state = 0;