X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/ee06f37b0f6f6d94cd05a6ffae556660f7c4a2bc..c930e9176a5a85509c5b0230e2bff5c22a591432:/source/util/DelayedTask.js diff --git a/source/util/DelayedTask.js b/source/util/DelayedTask.js deleted file mode 100644 index 82fbd5d8..00000000 --- a/source/util/DelayedTask.js +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Ext JS Library 2.2.1 - * Copyright(c) 2006-2009, Ext JS, LLC. - * licensing@extjs.com - * - * http://extjs.com/license - */ - -/** - * @class Ext.util.DelayedTask - * Provides a convenient method of performing setTimeout where a new - * timeout cancels the old timeout. An example would be performing validation on a keypress. - * You can use this class to buffer - * the keypress events for a certain number of milliseconds, and perform only if they stop - * for that amount of time. - * @constructor The parameters to this constructor serve as defaults and are not required. - * @param {Function} fn (optional) The default function to timeout - * @param {Object} scope (optional) The default scope of that timeout - * @param {Array} args (optional) The default Array of arguments - */ -Ext.util.DelayedTask = function(fn, scope, args){ - var id = null, d, t; - - var call = function(){ - var now = new Date().getTime(); - if(now - t >= d){ - clearInterval(id); - id = null; - fn.apply(scope, args || []); - } - }; - /** - * Cancels any pending timeout and queues a new one - * @param {Number} delay The milliseconds to delay - * @param {Function} newFn (optional) Overrides function passed to constructor - * @param {Object} newScope (optional) Overrides scope passed to constructor - * @param {Array} newArgs (optional) Overrides args passed to constructor - */ - this.delay = function(delay, newFn, newScope, newArgs){ - if(id && delay != d){ - this.cancel(); - } - d = delay; - t = new Date().getTime(); - fn = newFn || fn; - scope = newScope || scope; - args = newArgs || args; - if(!id){ - id = setInterval(call, d); - } - }; - - /** - * Cancel the last queued timeout - */ - this.cancel = function(){ - if(id){ - clearInterval(id); - id = null; - } - }; -}; \ No newline at end of file