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 ] ) → event
CKEDITOR.tools.buffers.event#constructor
Creates a new instance of the buffer.
Parameters
minInterval : Number
The minimum interval between
output
calls in milliseconds.output : Function
The function that will be executed as
output
.[ contextObj ] : Object
The object used as context to the listener call (the
this
object).
Returns
event
-
input( [ args ] )
CKEDITOR.tools.buffers.event#input
Acts as a proxy to the
output
function given in the consturctor, providing function throttling.Guarantees that the
output
function does not get called more often than indicated by the _minInterval.The first
input
call is always executed asynchronously which means that theoutput
call 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#reset
Resets 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 | undefined
If it returns
false
, the the parent call will be stopped.