From c140187aa9f76d3b067ee4a2f04fdb902c568e2d Mon Sep 17 00:00:00 2001 From: lenovo Date: Sat, 12 Nov 2022 18:27:45 +0100 Subject: [PATCH] fix filters not working because index null --- srcs/plugins/map_prof/mp_get_events.php | 3 ++- srcs/plugins/map_prof/mp_get_filters.php | 10 +++++++++- .../plugins/map_prof/scripts/mp_filter_events.js | 16 ++++++++++------ srcs/plugins/map_prof/scripts/mp_init_map.js | 14 +++++++------- srcs/plugins/map_prof/styles/mp__style.css | 8 ++++---- 5 files changed, 32 insertions(+), 19 deletions(-) diff --git a/srcs/plugins/map_prof/mp_get_events.php b/srcs/plugins/map_prof/mp_get_events.php index e9ab16a..bf72adf 100644 --- a/srcs/plugins/map_prof/mp_get_events.php +++ b/srcs/plugins/map_prof/mp_get_events.php @@ -172,6 +172,7 @@ function mp_get_published_events() { $event = mp_fill_fields_value($post->ID); $event->id = $post->ID; $event->title = trim($post->post_title, " "); + $event->index = null; array_push($events, $event); } return $events; @@ -190,7 +191,7 @@ function mp_get_published_events() { - nom : ""; - irl : bool; - id : x; - (- index : x;) // not there for now + - index : x (default null); - title : ""; - location : {} - street : ""; diff --git a/srcs/plugins/map_prof/mp_get_filters.php b/srcs/plugins/map_prof/mp_get_filters.php index d932e53..4359a0d 100644 --- a/srcs/plugins/map_prof/mp_get_filters.php +++ b/srcs/plugins/map_prof/mp_get_filters.php @@ -71,12 +71,20 @@ function mp_get_filters(&$events) { $filters = (object)[]; foreach ($events as $event) { + + // no index means no coordinates + $index = $event->index; + if ($index === null) + continue; + + // create array of menus $fields = array( "pays" => $event->location->country, "categories" => $event->categorie, "mode" => ($event->irl)? "En présentiel" : "En ligne", ); - $index = $event->index; + + // fill all menu with other menus without doubles foreach ($fields as $key => $value) { if (! isset($filters->$key)) $filters->$key = []; diff --git a/srcs/plugins/map_prof/scripts/mp_filter_events.js b/srcs/plugins/map_prof/scripts/mp_filter_events.js index b83ca23..d7237f2 100644 --- a/srcs/plugins/map_prof/scripts/mp_filter_events.js +++ b/srcs/plugins/map_prof/scripts/mp_filter_events.js @@ -3,15 +3,18 @@ // add true for noDraw // bounds : https://stackoverflow.com/questions/19304574/center-set-zoom-of-map-to-cover-all-visible-markers/19304625#19304625 + /** * if zoom_in is true: * zoom to new selection, * even if already visible in current view */ + function filter_show_only_selection(indexes, zoom_in = false) { - console.log("indexes:"); - console.log(indexes); +console.log(" "); +console.log("indexes:"); +console.log(indexes); let indexes_count = indexes.length; if (indexes_count === 0) @@ -22,11 +25,11 @@ function filter_show_only_selection(indexes, zoom_in = false) { let marker = g_markers[0]; let position = marker.getPosition(); let current_bounds = g_map.getBounds(); - console.log("current_bounds:"); - console.log(current_bounds); +console.log("current_bounds:"); +console.log(current_bounds); let bounds = new google.maps.LatLngBounds(position); - console.log("bounds:"); - console.log(bounds); +console.log("bounds:"); +console.log(bounds); let outside_bounds = false; for (let index of indexes) { @@ -56,3 +59,4 @@ function filter_show_all() { g_map.setCenter(coordinates_default); g_map.setZoom(2); } + diff --git a/srcs/plugins/map_prof/scripts/mp_init_map.js b/srcs/plugins/map_prof/scripts/mp_init_map.js index 94b9104..9ff4ba4 100644 --- a/srcs/plugins/map_prof/scripts/mp_init_map.js +++ b/srcs/plugins/map_prof/scripts/mp_init_map.js @@ -43,11 +43,6 @@ function mp_init_map() { * - let max_zoom = x */ - console.log("locations:"); - console.log(locations); - console.log("filters:"); - console.log(filters); - let map_div = document.getElementById("ljdp_map"); //let filters_div = document.getElementById("ljdp_map_filters"); let infowindow = new google.maps.InfoWindow(); @@ -59,10 +54,15 @@ function mp_init_map() { g_map = create_map(map_div); g_markers = create_markers(g_map, locations, infowindow); - console.log("markers:"); - console.log(g_markers); g_marker_cluster = draw_clusters(g_map, g_markers); + //console.log("locations:"); + //console.log(locations); + //console.log("filters:"); + //console.log(filters); + //console.log("markers:"); + //console.log(g_markers); + // add listener to close infowindow at any click on map g_map.addListener('click', function() { diff --git a/srcs/plugins/map_prof/styles/mp__style.css b/srcs/plugins/map_prof/styles/mp__style.css index c3ff528..8309831 100644 --- a/srcs/plugins/map_prof/styles/mp__style.css +++ b/srcs/plugins/map_prof/styles/mp__style.css @@ -17,10 +17,10 @@ } /* TMP */ -.et_pb_module.et_pb_image.et_pb_image_0_tb_header { - display: none; -} -.et-l.et-l--header { +.et_pb_module.et_pb_image.et_pb_image_0_tb_header, +.et-l.et-l--header, +#wp-admin-bar-top-secondary.ab-top-secondary.ab-top-menu +{ display: none; }