diff options
author | n-peugnet <n.peugnet@free.fr> | 2019-11-03 15:51:41 +0100 |
---|---|---|
committer | n-peugnet <n.peugnet@free.fr> | 2019-11-03 17:22:10 +0100 |
commit | d73bbbcf6c7bfe7291ac1593004581df6c96b3c8 (patch) | |
tree | 26afae6b0fd89e1951e796eb163110896f4f8b08 /src | |
parent | b17bba314c84f3ee012901476417821c3c34d54a (diff) | |
download | wcms-d73bbbcf6c7bfe7291ac1593004581df6c96b3c8.tar.gz wcms-d73bbbcf6c7bfe7291ac1593004581df6c96b3c8.zip |
feat: checkall checkbox in home page
Diffstat (limited to 'src')
-rw-r--r-- | src/edit.js | 4 | ||||
-rw-r--r-- | src/home.js | 28 |
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; + } + } +} |