Trouver
un organisme
Rechercher un membre
${searchTranslations.noResults} ${searchText}
`).show(); } else { const resultText = matchCount > 1 ? searchTranslations.resultsFoundPlural : searchTranslations.resultsFound; resultMessage.html(`${matchCount} ${resultText} ${searchText}
`).show(); } } // Scroll vers la boucle si l'option est activée $('html, body').animate({ scrollTop: targetLoop.offset().top - 150 }, 500); // Si l'option de lien avec la carte interactive est activée, filtrer également la carte if (window.mapFilter && typeof window.mapFilter.searchPOI === 'function') { // Utiliser la fonction searchPOI de la carte interactive avec la même valeur window.mapFilter.searchPOI(searchValue); console.log("Filtrage également appliqué à la carte interactive"); } else { console.error("Erreur: Impossible de trouver l'objet mapFilter. Vérifiez que la carte interactive est bien chargée sur la page."); } } catch (error) { console.error("Erreur lors du filtrage:", error); } } else { console.error("Erreur: Boucle non trouvée avec l'ID:", targetId); alert("Erreur: Impossible de trouver la boucle cible. Vérifiez l'ID de la boucle dans les paramètres du widget."); // Si la boucle n'est pas trouvée mais que la carte est activée, essayer de filtrer uniquement la carte if (window.mapFilter && typeof window.mapFilter.searchPOI === 'function') { window.mapFilter.searchPOI(searchValue); console.log("Boucle non trouvée, mais filtrage appliqué à la carte interactive"); } } } else { console.error("Erreur: ID de boucle cible manquant"); // Si l'ID de boucle n'est pas défini mais que la carte est activée, essayer de filtrer uniquement la carte if (window.mapFilter && typeof window.mapFilter.searchPOI === 'function') { window.mapFilter.searchPOI(searchValue); console.log("ID de boucle manquant, mais filtrage appliqué à la carte interactive"); } else { alert("Erreur: Veuillez spécifier un ID de boucle cible dans les paramètres du widget."); } } } // Vérifier si des paramètres URL existent et exécuter la recherche automatiquement const urlKeyword = getUrlParameter('keywords'); const urlSearch = getUrlParameter('search'); if (urlKeyword || urlSearch) { const searchInput = loopForm.find('.search-field'); const hiddenInput = loopForm.find('.selected-keyword'); const hiddenLabelInput = loopForm.find('.selected-keyword-label'); // Si un mot-clé est dans l'URL, le sélectionner if (urlKeyword) { loopForm.find('.keyword-button').each(function() { if ($(this).data('keyword-value') === urlKeyword) { $(this).addClass('selected'); hiddenInput.val(urlKeyword); hiddenLabelInput.val($(this).data('keyword-label')); } }); } // Ajouter le texte de recherche au champ if (urlSearch) { searchInput.val(urlSearch); } // Exécuter la recherche automatiquement performSearch(loopForm); } // Si le bouton est désactivé, recherche automatique if (!enableButton) { const searchInput = loopForm.find('.search-field'); // Recherche automatique lors de la saisie (immédiate) searchInput.on('input', function() { performSearch(loopForm); }); } // Gestion des clics sur les mots-clés $('.elementor-loop-search .keyword-button').on('click', function(e) { e.preventDefault(); const button = $(this); const form = button.closest('form'); const hiddenInput = form.find('.selected-keyword'); const hiddenLabelInput = form.find('.selected-keyword-label'); const enableButton = form.data('enable-button') === 'yes'; // Si le bouton est déjà sélectionné, le désélectionner if (button.hasClass('selected')) { button.removeClass('selected'); hiddenInput.val(''); hiddenLabelInput.val(''); } else { // Désélectionner tous les autres boutons form.find('.keyword-button').removeClass('selected'); // Sélectionner ce bouton button.addClass('selected'); hiddenInput.val(button.data('keyword-value')); hiddenLabelInput.val(button.data('keyword-label')); } // Si le bouton de recherche est désactivé, lancer la recherche automatiquement if (!enableButton) { performSearch(form); } }); $('.elementor-loop-search').on('submit', function(e) { e.preventDefault(); performSearch($(this)); }); });