diff options
Diffstat (limited to 'src/assets/javascripts')
-rw-r--r-- | src/assets/javascripts/helpers/common.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js index 14abbe27..c700fd85 100644 --- a/src/assets/javascripts/helpers/common.js +++ b/src/assets/javascripts/helpers/common.js @@ -36,9 +36,26 @@ function getInstances() { return false; } +function debounce(func, wait, immediate) { + let timeout; + return () => { + let context = this, + args = arguments; + let later = () => { + timeout = null; + if (!immediate) func.apply(context, args); + }; + let callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; +} + export default { filterInstances, getRandomInstance, getInstances, addHttps, + debounce }; |