diff options
Diffstat (limited to 'web_src/js/utils')
-rw-r--r-- | web_src/js/utils/dom.js | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/web_src/js/utils/dom.js b/web_src/js/utils/dom.js index 6a9ee56eeb..cdc52b1a74 100644 --- a/web_src/js/utils/dom.js +++ b/web_src/js/utils/dom.js @@ -1,3 +1,5 @@ +import {debounce} from 'throttle-debounce'; + function elementsCall(el, func, ...args) { if (typeof el === 'string' || el instanceof String) { el = document.querySelectorAll(el); @@ -42,6 +44,13 @@ export function toggleElem(el, force) { elementsCall(el, toggleShown, force); } +export function isElemHidden(el) { + const res = []; + elementsCall(el, (e) => res.push(e.classList.contains('gt-hidden'))); + if (res.length > 1) throw new Error(`isElemHidden doesn't work for multiple elements`); + return res[0]; +} + export function onDomReady(cb) { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', cb); @@ -170,3 +179,7 @@ export function autosize(textarea, {viewportMarginBottom = 0} = {}) { } }; } + +export function onInputDebounce(fn) { + return debounce(300, fn); +} |