Sha256: d68620b6e979063f51331d38429bf035b4124309d31dd53d26d6fdc0a73f4ac1
Contents?: true
Size: 1.1 KB
Versions: 30
Compression:
Stored size: 1.1 KB
Contents
pageflow.DelayedStart = (function($) { return function() { var waitDeferred = new $.Deferred(); var promises = []; var performed = false; return { promise: function() { return waitDeferred.promise(); }, wait: function(callback) { var cancelled = false; waitDeferred.then(function() { if (!cancelled) { callback(); } }); return { cancel: function() { cancelled = true; } }; }, waitFor: function(callbackOrPromise) { if (!performed) { if (typeof callbackOrPromise === 'function') { callbackOrPromise = new $.Deferred(function(deferred) { callbackOrPromise(deferred.resolve); }).promise(); } promises.push(callbackOrPromise); } }, perform: function() { if (!performed) { performed = true; $.when.apply(null, promises).then(waitDeferred.resolve); } } }; }; }(jQuery)); pageflow.delayedStart = new pageflow.DelayedStart();
Version data entries
30 entries across 30 versions & 1 rubygems