diff --git a/templates/dashboard.html b/templates/dashboard.html index 5f8543c..f26f28f 100644 --- a/templates/dashboard.html +++ b/templates/dashboard.html @@ -70,6 +70,7 @@ + @@ -224,6 +225,7 @@ var selectAll = document.getElementById('select-all'); var toolbar = document.getElementById('bulk-toolbar'); var countEl = document.getElementById('selected-count'); +var selectAllBtn = document.getElementById('select-all-btn'); function visibleCbs() { return Array.prototype.filter.call( @@ -241,6 +243,18 @@ function updateToolbar() { var visChecked = vis.filter(function(cb) { return cb.checked; }); selectAll.indeterminate = visChecked.length > 0 && visChecked.length < vis.length; selectAll.checked = vis.length > 0 && visChecked.length === vis.length; + if (selectAllBtn) { + selectAllBtn.style.display = vis.length > 0 ? '' : 'none'; + selectAllBtn.textContent = (vis.length > 0 && visChecked.length === vis.length) + ? 'Deselect all' : 'Select all'; + } +} + +function mobileSelectAll() { + var vis = visibleCbs(); + var allChecked = vis.length > 0 && vis.every(function(cb) { return cb.checked; }); + vis.forEach(function(cb) { cb.checked = !allChecked; }); + updateToolbar(); } document.querySelectorAll('.row-cb').forEach(function(cb) { @@ -340,6 +354,7 @@ function updateBulkField(sel) { } // initialise disabled state on page load document.getElementById('bulk-field-value-brand').disabled = true; +updateToolbar(); // Column picker var COL_KEY = 'battery_cols';