Mercurial > hg > cmmr2012-drupal-site
annotate core/misc/debounce.js @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
rev | line source |
---|---|
Chris@0 | 1 /** |
Chris@0 | 2 * DO NOT EDIT THIS FILE. |
Chris@0 | 3 * See the following change record for more information, |
Chris@0 | 4 * https://www.drupal.org/node/2815083 |
Chris@0 | 5 * @preserve |
Chris@0 | 6 **/ |
Chris@0 | 7 |
Chris@0 | 8 Drupal.debounce = function (func, wait, immediate) { |
Chris@0 | 9 var timeout = void 0; |
Chris@0 | 10 var result = void 0; |
Chris@0 | 11 return function () { |
Chris@0 | 12 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { |
Chris@0 | 13 args[_key] = arguments[_key]; |
Chris@0 | 14 } |
Chris@0 | 15 |
Chris@0 | 16 var context = this; |
Chris@0 | 17 var later = function later() { |
Chris@0 | 18 timeout = null; |
Chris@0 | 19 if (!immediate) { |
Chris@0 | 20 result = func.apply(context, args); |
Chris@0 | 21 } |
Chris@0 | 22 }; |
Chris@0 | 23 var callNow = immediate && !timeout; |
Chris@0 | 24 clearTimeout(timeout); |
Chris@0 | 25 timeout = setTimeout(later, wait); |
Chris@0 | 26 if (callNow) { |
Chris@0 | 27 result = func.apply(context, args); |
Chris@0 | 28 } |
Chris@0 | 29 return result; |
Chris@0 | 30 }; |
Chris@0 | 31 }; |