From ee3087725da47c51d0e3e5bb826acd7deb042027 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Sat, 27 Jan 2024 01:03:18 -0500 Subject: [PATCH] Rename inconsistent multi Actions to Bulk Actions --- js/bulk_actions.js | 40 ++++++++++++++++++++++++++++++++++++++++ js/multi_actions.js | 35 ----------------------------------- 2 files changed, 40 insertions(+), 35 deletions(-) create mode 100644 js/bulk_actions.js delete mode 100644 js/multi_actions.js diff --git a/js/bulk_actions.js b/js/bulk_actions.js new file mode 100644 index 00000000..f83ced35 --- /dev/null +++ b/js/bulk_actions.js @@ -0,0 +1,40 @@ +// Allow selecting and editing multiple records at once + +var form = document.getElementById("bulkActions"); // Get the form element by its id +var checkboxes = form.querySelectorAll('input[type="checkbox"].bulk-select'); // Select only checkboxes with class "bulk-select" +var selectedCount = document.getElementById("selectedCount"); +var selectAllCheckbox = document.getElementById("selectAllCheckbox"); // The "select all" checkbox + +// Event listener for each checkbox +for (var i = 0; i < checkboxes.length; i++) { + checkboxes[i].addEventListener("click", updateSelectedCount); +} + +// Function to update the count of selected checkboxes +function updateSelectedCount() { + var count = 0; + for (var i = 0; i < checkboxes.length; i++) { + if (checkboxes[i].checked) { + count++; + } + } + selectedCount.textContent = count; // Display the count + + // Show or hide the multi-action button + document.getElementById("bulkActionButton").hidden = count === 0; +} + +// Function to check/uncheck all checkboxes +function checkAll(source) { + for (var i = 0; i < checkboxes.length; i++) { + checkboxes[i].checked = source.checked; + } + updateSelectedCount(); // Update the count after changing checkbox states +} + +// Event listener for the "select all" checkbox +if (selectAllCheckbox) { + selectAllCheckbox.addEventListener("click", function() { + checkAll(this); + }); +} diff --git a/js/multi_actions.js b/js/multi_actions.js deleted file mode 100644 index db45e613..00000000 --- a/js/multi_actions.js +++ /dev/null @@ -1,35 +0,0 @@ -// Allow selecting and editing multiple records at once - -var form = document.getElementById("multi_actions"); // Get the form element by its id -var checkboxes = form.querySelectorAll('input[type="checkbox"]'); -var selectedCount = document.getElementById("selectedCount"); - - -for (var i = 0; i < checkboxes.length; i++) { - checkboxes[i].addEventListener("click", updateSelectedCount); -} - -function updateSelectedCount() { - var count = 0; - for (var i = 0; i < checkboxes.length; i++) { - if (checkboxes[i].checked) { - if (checkboxes[i] !== document.getElementById("selectAllCheckbox") && checkboxes[i].checked) { - count++; - } - } - } - selectedCount.textContent = count; - if (count > 0) { - document.getElementById("multiActionButton").hidden = false; - } - - if (count === 0) { - document.getElementById("multiActionButton").hidden = true; - } -} - -function checkAll(source) { - for (var i = 0; i < checkboxes.length; i++) { - checkboxes[i].checked = source.checked; - } -}