CKEDITOR.tools.buffers.event
Buffers input events (or any input calls) and triggers output not more often than once per minInterval.
Filtering
Properties
-
The variable to be used as a context for the output calls.
-
The minimal interval (in milliseconds) between the calls.
-
The ID of a delayed function call that will be called after the current interval frame.
Defaults to
0
Methods
-
constructor( minInterval, output, [ contextObj ] ) → eventCKEDITOR.tools.buffers.event#constructorCreates a new instance of the buffer.
Parameters
minInterval : NumberThe minimum interval between
outputcalls in milliseconds.output : FunctionThe function that will be executed as
output.[ contextObj ] : ObjectThe object used as context to the listener call (the
thisobject).
Returns
event
-
input( [ args ] )CKEDITOR.tools.buffers.event#inputActs as a proxy to the
outputfunction given in the consturctor, providing function throttling.Guarantees that the
outputfunction does not get called more often than indicated by the _minInterval.The first
inputcall is always executed asynchronously which means that theoutputcall will be executed immediately.var buffer = new CKEDITOR.tools.buffers.event( 200, function() { console.log( 'foo!' ); } ); buffer.input(); // 'foo!' logged immediately. buffer.input(); // Nothing logged. buffer.input(); // Nothing logged. // … after 200ms a single 'foo!' will be logged.Can be easily used with events:
var buffer = new CKEDITOR.tools.buffers.event( 200, function() { console.log( 'foo!' ); } ); editor.on( 'key', buffer.input ); // Note: There is no need to bind the buffer as a context.Parameters
[ args ] : Mixed[]
-
reset()CKEDITOR.tools.buffers.event#resetResets the buffer state and cancels any pending calls.
-
Performs an actual call.
-
Cancels the deferred timeout.
-
Called when the function call should be rescheduled.
Returns
Boolean | undefinedIf it returns
false, the the parent call will be stopped.