From 1da7d39d6612a23c937d7275da1b5b4a19cb8ffe Mon Sep 17 00:00:00 2001 From: lenovo Date: Wed, 16 Nov 2022 13:08:33 +0100 Subject: [PATCH] wip disable filters and id names with space replaces by _ --- README.md | 2 +- .../map_prof/scripts/mp_filter_events.js | 39 ++++++++++++++----- .../map_prof/srcs/map/mp_create_div.php | 6 +-- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 7d408fc..4efac5e 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ - [/] dans categories, transformer fleches en "autres" - [/] effacer les fenetres, au moins sur le bouton effacer, ou sur mouvement - [/] zoom sur cluster problem -- [ ] transform names without space +- [/] transform names without space - [ ] change appearance of filter according to other filters - [ ] deal with error double event irl and online diff --git a/srcs/plugins/map_prof/scripts/mp_filter_events.js b/srcs/plugins/map_prof/scripts/mp_filter_events.js index e0deaa0..b545d08 100644 --- a/srcs/plugins/map_prof/scripts/mp_filter_events.js +++ b/srcs/plugins/map_prof/scripts/mp_filter_events.js @@ -129,20 +129,39 @@ function redraw_clusters(indexes) { - it will remove class "disabled_by_country" - if it's the last class containing "disabled_by_" it will be re-enabled see css attribute selectors : https://www.w3schools.com/css/css_attribute_selectors.asp + exemple: + let items = document.getElementsByClassName("menu_item"); + for (let item of items) { + let item_classes = item.classList; + item_classes.toggle("disabled_by_city"); + if (item_classes[0] === "") { + + } + } */ -function disable_menus(menu) { - console.log("menu:"); - console.log(menu); +function toggle_classes(menu_from, menu_name, menu_item ) { + console.log("\n" + menu_name + " from " + menu_from + ":"); + console.log("- " + menu_item); +} - let keys = Object.keys(menu); - console.log(keys); +function disable_menus(menu_name_ori, menu_item_ori) { + console.log("menu_name_ori:"); + console.log(menu_name_ori); + console.log("menu_item_ori:"); + console.log(menu_item_ori); + + let keys = Object.keys(menu_item_ori); + // loop through list of other menu_items available for this menu_item + // loop though menu names (pays, categories, mode) for (let menu_name of keys) { if (menu_name === "_name") continue; if (menu_name === "indexes") continue; - console.log(menu_name + ":"); - console.log(menu[menu_name]); + // loop through items in menu names (ex. for "pays" : france, chili, cuba) + for (let item of menu_item_ori[menu_name]) { + toggle_classes( menu_name_ori, menu_name, item.replace(/ /g, "_") ); + } } } @@ -152,10 +171,10 @@ function filter_show_only(element, menu_name) { g_infowindow.close(); let menu_index = element.getAttribute("data-menu_index"); - let menu = filters[menu_name][menu_index]; + let menu_item = filters[menu_name][menu_index]; let indexes = []; if (menu_index != "menu_name") - indexes = menu.indexes; + indexes = menu_item.indexes; add = false; reverse = false; @@ -164,7 +183,7 @@ function filter_show_only(element, menu_name) { add = true; } - disable_menus(menu); + disable_menus(menu_name, menu_item); let index_array = filter_selection_indexes(menu_name, indexes, reverse, add); diff --git a/srcs/plugins/map_prof/srcs/map/mp_create_div.php b/srcs/plugins/map_prof/srcs/map/mp_create_div.php index 6638368..2a4142b 100644 --- a/srcs/plugins/map_prof/srcs/map/mp_create_div.php +++ b/srcs/plugins/map_prof/srcs/map/mp_create_div.php @@ -27,7 +27,7 @@ function mp_filter_drop_down($key, &$filter) { foreach ($filter as $key_filter => $value) { $content .= '