wip disable filters and id names with space replaces by _

This commit is contained in:
lenovo
2022-11-16 13:08:33 +01:00
parent 8738265a56
commit 1da7d39d66
3 changed files with 33 additions and 14 deletions

View File

@@ -35,7 +35,7 @@
- [/] dans categories, transformer fleches en "autres" - [/] dans categories, transformer fleches en "autres"
- [/] effacer les fenetres, au moins sur le bouton effacer, ou sur mouvement - [/] effacer les fenetres, au moins sur le bouton effacer, ou sur mouvement
- [/] zoom sur cluster problem - [/] zoom sur cluster problem
- [ ] transform names without space - [/] transform names without space
- [ ] change appearance of filter according to other filters - [ ] change appearance of filter according to other filters
- [ ] deal with error double event irl and online - [ ] deal with error double event irl and online

View File

@@ -129,20 +129,39 @@ function redraw_clusters(indexes) {
- it will remove class "disabled_by_country" - it will remove class "disabled_by_country"
- if it's the last class containing "disabled_by_" it will be re-enabled - 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 see css attribute selectors : https://www.w3schools.com/css/css_attribute_selectors.asp
*/ exemple:
function disable_menus(menu) { let items = document.getElementsByClassName("menu_item");
console.log("menu:"); for (let item of items) {
console.log(menu); let item_classes = item.classList;
item_classes.toggle("disabled_by_city");
if (item_classes[0] === "") {
let keys = Object.keys(menu); }
console.log(keys); }
*/
function toggle_classes(menu_from, menu_name, menu_item ) {
console.log("\n" + menu_name + " from " + menu_from + ":");
console.log("- " + menu_item);
}
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) { for (let menu_name of keys) {
if (menu_name === "_name") if (menu_name === "_name")
continue; continue;
if (menu_name === "indexes") if (menu_name === "indexes")
continue; continue;
console.log(menu_name + ":"); // loop through items in menu names (ex. for "pays" : france, chili, cuba)
console.log(menu[menu_name]); 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(); g_infowindow.close();
let menu_index = element.getAttribute("data-menu_index"); 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 = []; let indexes = [];
if (menu_index != "menu_name") if (menu_index != "menu_name")
indexes = menu.indexes; indexes = menu_item.indexes;
add = false; add = false;
reverse = false; reverse = false;
@@ -164,7 +183,7 @@ function filter_show_only(element, menu_name) {
add = true; add = true;
} }
disable_menus(menu); disable_menus(menu_name, menu_item);
let index_array = filter_selection_indexes(menu_name, indexes, reverse, add); let index_array = filter_selection_indexes(menu_name, indexes, reverse, add);

View File

@@ -27,7 +27,7 @@ function mp_filter_drop_down($key, &$filter) {
foreach ($filter as $key_filter => $value) { foreach ($filter as $key_filter => $value) {
$content .= ' $content .= '
<option <option
id="filter_'.$value->_name.'" id="filter_'.str_replace( " ", "_", $value->_name).'"
data-menu_index="'.$key_filter.'" data-menu_index="'.$key_filter.'"
> >
'.$value->_name.' '.$value->_name.'
@@ -52,14 +52,14 @@ function mp_filter_buttons($key, &$filter) {
<input <input
type="checkbox" type="checkbox"
form="ljdp_form" form="ljdp_form"
id="filter_'.$value->_name.'" id="filter_'.str_replace( " ", "_", $value->_name).'"
class="filter_menu_checkbox" class="filter_menu_checkbox"
onclick="filter_show_only(this, \''.$key.'\')" onclick="filter_show_only(this, \''.$key.'\')"
style="display:none;" style="display:none;"
data-menu_index="'.$key_filter.'", data-menu_index="'.$key_filter.'",
> >
<label <label
for="filter_'.$value->_name.'" for="filter_'.str_replace( " ", "_", $value->_name).'"
class="filter_menu filter_menu_checkbox" class="filter_menu filter_menu_checkbox"
> >
<p>'.$value->_name.'</p> <p>'.$value->_name.'</p>