diff --git a/loko/assets/templates/assets/trafficlights_import_cross_plan.html b/loko/assets/templates/assets/trafficlights_import_cross_plan.html index 98e8cf4..3603f6e 100644 --- a/loko/assets/templates/assets/trafficlights_import_cross_plan.html +++ b/loko/assets/templates/assets/trafficlights_import_cross_plan.html @@ -178,7 +178,15 @@ | {% translate "Carrefour :" %} {{ intersection.code }}

-
+
+
+ + +
@@ -1001,6 +1009,28 @@ document.addEventListener('DOMContentLoaded', () => { bindSelectAll('select-all-cables', 'cable-checkbox'); bindSelectAll('select-all-other', 'other-checkbox'); + // Global Check All / Uncheck All across all tabs + const setAllCheckboxesState = (state) => { + const allItemCheckboxes = document.querySelectorAll('.pole-checkbox, .lantern-checkbox, .detector-checkbox, .cable-checkbox, .other-checkbox'); + allItemCheckboxes.forEach(cb => { + cb.checked = state; + }); + const allHeaderCheckboxes = document.querySelectorAll('#select-all-poles, #select-all-lanterns, #select-all-detectors, #select-all-cables, #select-all-other'); + allHeaderCheckboxes.forEach(cb => { + cb.checked = state; + }); + }; + + const btnCheckAllGlobal = document.getElementById('btn-check-all-global'); + if (btnCheckAllGlobal) { + btnCheckAllGlobal.addEventListener('click', () => setAllCheckboxesState(true)); + } + + const btnUncheckAllGlobal = document.getElementById('btn-uncheck-all-global'); + if (btnUncheckAllGlobal) { + btnUncheckAllGlobal.addEventListener('click', () => setAllCheckboxesState(false)); + } + // 2. Interactive Switch Logic between Table View and Map View const tableView = document.getElementById('table-view'); const mapView = document.getElementById('map-view');