Démonstration des Extra Variables
Mise en Place du Graphique Interactif
-
Configurer les Filtres
Définissez les filtres permettant aux utilisateurs de personnaliser les données affichées. Utilisez des menus déroulants pour les pays et des sélecteurs de dates pour affiner les résultats.
$(document).ready(function() { $('#countrySelect').select2({ placeholder: "Sélectionnez un pays", allowClear: true, width: 'resolve' }); }); flatpickr("#dateRange", { mode: "range", dateFormat: "Y-m-d", onChange: function(selectedDates) { if (selectedDates.length === 2) { startDealDate = convertToISO(selectedDates[0]); endDealDate = convertToISO(selectedDates[1]); updateEmbeds(); } } }); -
Gérer les Onglets
Assurez-vous que les filtres sont maintenus lorsque les utilisateurs naviguent entre les onglets. Chaque onglet doit afficher les graphiques correspondants tout en conservant les filtres appliqués.
$('#myTab a').on('shown.bs.tab', async function (e) { const tabId = $(e.target).attr('id').replace('-tab', ''); const containerId = 'chartContainer' + tabId.charAt(tabId.length - 1); await initializeToucan(tabId, containerId, 'VOTRE_EMBED_ID'); if (selectedCountry || startDealDate || endDealDate) { let filters = {}; if (selectedCountry) filters.country = selectedCountry; if (startDealDate) filters.start_deal = startDealDate; if (endDealDate) filters.end_deal = endDealDate; await toucanInstances[tabId].setExtraVariablesForAllEmbeds(filters); } }); -
Initialiser le SDK Toucan Toco
Créez et configurez les instances du SDK pour chaque graphique. Insérez les graphiques dans les conteneurs spécifiés et assurez-vous qu'ils sont prêts à afficher les données filtrées.
async function initializeToucan(tabId, containerId, embedId) { if (!toucanInstances[tabId]) { try { toucanInstances[tabId] = await TcTcEmbed.initialize(); await toucanInstances[tabId].insertEmbedById( embedId, document.getElementById(containerId), { token: 'VOTRE_TOKEN', lang: 'en', panel: false, header: true } ); updateEmbeds(); } catch (error) { console.error(`Erreur lors de l'initialisation de l'onglet ${tabId}:`, error); } } } -
Appliquer les Filtres
Pour obtenir plus d'informations, vous consultez :
async function updateEmbeds() { for (const instance in toucanInstances) { try { let filters = {}; if (selectedCountry) filters.country = selectedCountry; if (startDealDate) filters.start_deal = startDealDate; if (endDealDate) filters.end_deal = endDealDate; await toucanInstances[instance].setExtraVariablesForAllEmbeds(filters); } catch (error) { console.error(`Erreur lors de l'application du filtre pour l'onglet ${instance}:`, error); } } } -
Gestion des Changements de Sélection
Assurez-vous que les changements effectués dans les filtres se reflètent immédiatement dans les graphiques, même lors de la navigation entre les onglets. Les événements de sélection doivent déclencher une mise à jour des graphiques.
$('#countrySelect').on('change', function() { selectedCountry = $(this).val(); updateEmbeds(); }); $('#dateRange').on('change', function() { startDealDate = convertToISO(new Date($('#dateRange').data('startDate'))); endDealDate = convertToISO(new Date($('#dateRange').data('endDate'))); updateEmbeds(); }); -
Pour en savoir plus 💡
Consultez le CodePen pour accéder à l'entièreté de la démonstration. Vous pouvez également la documentation Toucan traitant des ExtraVariables