+
+
+
+
@@ -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');