aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorn-peugnet <n.peugnet@free.fr>2019-11-03 15:51:41 +0100
committern-peugnet <n.peugnet@free.fr>2019-11-03 17:22:10 +0100
commitd73bbbcf6c7bfe7291ac1593004581df6c96b3c8 (patch)
tree26afae6b0fd89e1951e796eb163110896f4f8b08 /src
parentb17bba314c84f3ee012901476417821c3c34d54a (diff)
downloadwcms-d73bbbcf6c7bfe7291ac1593004581df6c96b3c8.tar.gz
wcms-d73bbbcf6c7bfe7291ac1593004581df6c96b3c8.zip
feat: checkall checkbox in home page
Diffstat (limited to 'src')
-rw-r--r--src/edit.js4
-rw-r--r--src/home.js28
2 files changed, 30 insertions, 2 deletions
diff --git a/src/edit.js b/src/edit.js
index eaf2d1e..19f952f 100644
--- a/src/edit.js
+++ b/src/edit.js
@@ -16,7 +16,7 @@ let editors = [];
let unsavedChanges = false;
const inputEvent = new InputEvent('input');
-window.onload = () => {
+window.addEventListener('load', () => {
form = document.getElementById('update');
let inputs = form.elements;
for (const input of inputs) {
@@ -87,7 +87,7 @@ window.onload = () => {
window.onkeydown = keyboardHandler;
window.onbeforeunload = confirmExit;
-};
+});
/**
* Manage a keyboardEvent
diff --git a/src/home.js b/src/home.js
new file mode 100644
index 0000000..b10e7c3
--- /dev/null
+++ b/src/home.js
@@ -0,0 +1,28 @@
+/** @type {HTMLInputElement[]} */
+let checkboxes = [];
+
+window.addEventListener('load', () => {
+ checkboxes = document.getElementsByName('id[]');
+ let checkall = document.getElementById('checkall');
+ let checkbox = document.createElement('input');
+ checkbox.type = 'checkbox';
+ checkbox.addEventListener('input', checkallHandler);
+ checkall.innerHTML = '';
+ checkall.appendChild(checkbox);
+});
+
+/**
+ * Manage input event on the checkall checkbox.
+ * @param {InputEvent} e the input event
+ */
+function checkallHandler(e) {
+ if (e.target.checked) {
+ for (const checkbox of checkboxes) {
+ checkbox.checked = true;
+ }
+ } else {
+ for (const checkbox of checkboxes) {
+ checkbox.checked = false;
+ }
+ }
+}