filters intersection works even to re enable a categori selected
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user