aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js/modules/dirauto.ts
diff options
context:
space:
mode:
Diffstat (limited to 'web_src/js/modules/dirauto.ts')
-rw-r--r--web_src/js/modules/dirauto.ts44
1 files changed, 0 insertions, 44 deletions
diff --git a/web_src/js/modules/dirauto.ts b/web_src/js/modules/dirauto.ts
deleted file mode 100644
index 7058a59b09..0000000000
--- a/web_src/js/modules/dirauto.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-import {isDocumentFragmentOrElementNode} from '../utils/dom.ts';
-
-type DirElement = HTMLInputElement | HTMLTextAreaElement;
-
-// for performance considerations, it only uses performant syntax
-function attachDirAuto(el: DirElement) {
- if (el.type !== 'hidden' &&
- el.type !== 'checkbox' &&
- el.type !== 'radio' &&
- el.type !== 'range' &&
- el.type !== 'color') {
- el.dir = 'auto';
- }
-}
-
-export function initDirAuto(): void {
- const observer = new MutationObserver((mutationList) => {
- const len = mutationList.length;
- for (let i = 0; i < len; i++) {
- const mutation = mutationList[i];
- const len = mutation.addedNodes.length;
- for (let i = 0; i < len; i++) {
- const addedNode = mutation.addedNodes[i] as HTMLElement;
- if (!isDocumentFragmentOrElementNode(addedNode)) continue;
- if (addedNode.nodeName === 'INPUT' || addedNode.nodeName === 'TEXTAREA') {
- attachDirAuto(addedNode as DirElement);
- }
- const children = addedNode.querySelectorAll<DirElement>('input, textarea');
- const len = children.length;
- for (let childIdx = 0; childIdx < len; childIdx++) {
- attachDirAuto(children[childIdx]);
- }
- }
- }
- });
-
- const docNodes = document.querySelectorAll<DirElement>('input, textarea');
- const len = docNodes.length;
- for (let i = 0; i < len; i++) {
- attachDirAuto(docNodes[i]);
- }
-
- observer.observe(document, {subtree: true, childList: true});
-}