diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/fn/fn.js | 21 | ||||
-rw-r--r-- | src/home.js | 4 | ||||
-rw-r--r-- | src/media.js | 4 |
3 files changed, 27 insertions, 2 deletions
diff --git a/src/fn/fn.js b/src/fn/fn.js index bca4eaf..a5aa538 100644 --- a/src/fn/fn.js +++ b/src/fn/fn.js @@ -28,3 +28,24 @@ export function closeSubmenus(e) { } } } + +/** + * Select the whole content of the clicked item. + * @param {MouseEvent} e + */ +function selectAll(e) { + if (e.target instanceof HTMLInputElement) { + e.target.select(); + e.target.focus(); + } +} + +/** + * Activate "select all" feature for `input.select-all` elements. + */ +export function activateSelectAll() { + let selectAllInputs = document.querySelectorAll('input.select-all'); + for (const selectAllInput of selectAllInputs) { + selectAllInput.addEventListener('click', selectAll); + } +} diff --git a/src/home.js b/src/home.js index 3dc79ef..0778edb 100644 --- a/src/home.js +++ b/src/home.js @@ -1,4 +1,4 @@ -import { checkallHandler, closeSubmenus } from './fn/fn'; +import { checkallHandler, closeSubmenus, activateSelectAll } from './fn/fn'; window.addEventListener('load', () => { let checkboxes = document.getElementsByName('pagesid[]'); @@ -11,6 +11,8 @@ window.addEventListener('load', () => { checkbox.addEventListener('input', checkallHandler.bind({ checkboxes })); checkall.innerHTML = ''; checkall.appendChild(checkbox); + + activateSelectAll(); }); window.addEventListener('click', closeSubmenus); diff --git a/src/media.js b/src/media.js index 3ac7e3f..356c7c9 100644 --- a/src/media.js +++ b/src/media.js @@ -1,4 +1,4 @@ -import { checkallHandler, closeSubmenus } from './fn/fn'; +import { checkallHandler, closeSubmenus, activateSelectAll } from './fn/fn'; window.addEventListener('load', () => { let checkboxes = document.getElementsByName('id[]'); @@ -8,6 +8,8 @@ window.addEventListener('load', () => { checkbox.addEventListener('input', checkallHandler.bind({ checkboxes })); checkall.innerHTML = ''; checkall.appendChild(checkbox); + + activateSelectAll(); }); window.addEventListener('click', closeSubmenus); |