aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fn/fn.js21
-rw-r--r--src/home.js4
-rw-r--r--src/media.js4
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);