diff -r 322d0feea350 -r 89ef5ed3c48b src/cm/media/js/lib/yui/yui_3.10.3/build/yui-throttle/yui-throttle-debug.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui_3.10.3/build/yui-throttle/yui-throttle-debug.js Tue Jul 16 14:29:46 2013 +0200 @@ -0,0 +1,61 @@ +/* +YUI 3.10.3 (build 2fb5187) +Copyright 2013 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ + +YUI.add('yui-throttle', function (Y, NAME) { + +/** +Throttles a call to a method based on the time between calls. This method is attached +to the `Y` object and is documented there. + + var fn = Y.throttle(function() { + counter++; + }); + + for (i; i< 35000; i++) { + out++; + fn(); + } + + +@module yui +@submodule yui-throttle +*/ + +/*! Based on work by Simon Willison: http://gist.github.com/292562 */ +/** + * Throttles a call to a method based on the time between calls. + * @method throttle + * @for YUI + * @param fn {function} The function call to throttle. + * @param ms {int} The number of milliseconds to throttle the method call. + * Can set globally with Y.config.throttleTime or by call. Passing a -1 will + * disable the throttle. Defaults to 150. + * @return {function} Returns a wrapped function that calls fn throttled. + * @since 3.1.0 + */ +Y.throttle = function(fn, ms) { + ms = (ms) ? ms : (Y.config.throttleTime || 150); + + if (ms === -1) { + return function() { + fn.apply(this, arguments); + }; + } + + var last = Y.Lang.now(); + + return function() { + var now = Y.Lang.now(); + if (now - last > ms) { + last = now; + fn.apply(this, arguments); + } + }; +}; + + +}, '3.10.3', {"requires": ["yui-base"]});