CKEDITOR.plugins.notificationAggregator.task
Overview
This type represents a single task in the aggregator, and exposes methods to manipulate its state.
Weights
Task progess is based on its weight.
As you create a task, you need to declare its weight. As you want the update to inform about the progress, you will need to update the task, telling how much of this weight is done.
For example, if you declare that your task has a weight that equals 50 and then call update with 10, you will end up with telling that the task is done in 20%.
Example Usage of Weights
Let us say that you use tasks for file uploading.
A single task is associated with a single file upload. You can use the file size in bytes as a weight, and then as the file upload progresses you just call the update method with the number of bytes actually downloaded.
Filtering
Properties
-
-
-
Total weight of the task.
Static properties
Methods
constructor( [ weight ] ) → taskCKEDITOR.plugins.notificationAggregator.task#constructorCreates a task instance for notification aggregator.
Parameters
[ weight ] : NumberDefaults to
1
Returns
task
cancel()CKEDITOR.plugins.notificationAggregator.task#cancelCancels the task (the task will be removed from the aggregator).
capture()CKEDITOR.plugins.notificationAggregator.task#captureRegister event handler under the capturing stage on supported target.
define( name, meta )CKEDITOR.plugins.notificationAggregator.task#definePredefine some intrinsic properties on a specific event name.
Parameters
name : StringThe event name
meta : Object
done()CKEDITOR.plugins.notificationAggregator.task#doneMarks the task as done.
fire( eventName, [ data ], [ editor ] ) → Boolean | ObjectCKEDITOR.plugins.notificationAggregator.task#fireFires an specific event in the object. All registered listeners are called at this point.
someObject.on( 'someEvent', function() { ... } ); someObject.on( 'someEvent', function() { ... } ); someObject.fire( 'someEvent' ); // Both listeners are called. someObject.on( 'someEvent', function( event ) { alert( event.data ); // 'Example' } ); someObject.fire( 'someEvent', 'Example' );Parameters
eventName : StringThe event name to fire.
[ data ] : ObjectData to be sent as the CKEDITOR.eventInfo.data when calling the listeners.
[ editor ] : editorThe editor instance to send as the CKEDITOR.eventInfo.editor when calling the listener.
Returns
Boolean | ObjectA boolean indicating that the event is to be canceled, or data returned by one of the listeners.
fireOnce( eventName, [ data ], [ editor ] ) → Boolean | ObjectCKEDITOR.plugins.notificationAggregator.task#fireOnceFires an specific event in the object, releasing all listeners registered to that event. The same listeners are not called again on successive calls of it or of fire.
someObject.on( 'someEvent', function() { ... } ); someObject.fire( 'someEvent' ); // Above listener called. someObject.fireOnce( 'someEvent' ); // Above listener called. someObject.fire( 'someEvent' ); // No listeners called.Parameters
eventName : StringThe event name to fire.
[ data ] : ObjectData to be sent as the CKEDITOR.eventInfo.data when calling the listeners.
[ editor ] : editorThe editor instance to send as the CKEDITOR.eventInfo.editor when calling the listener.
Returns
Boolean | ObjectA booloan indicating that the event is to be canceled, or data returned by one of the listeners.
hasListeners( eventName ) → BooleanCKEDITOR.plugins.notificationAggregator.task#hasListenersChecks if there is any listener registered to a given event.
var myListener = function() { ... }; someObject.on( 'someEvent', myListener ); alert( someObject.hasListeners( 'someEvent' ) ); // true alert( someObject.hasListeners( 'noEvent' ) ); // falseParameters
eventName : StringThe event name.
Returns
Boolean
isCanceled() → BooleanCKEDITOR.plugins.notificationAggregator.task#isCanceledisDone() → BooleanCKEDITOR.plugins.notificationAggregator.task#isDoneon( eventName, listenerFunction, [ scopeObj ], [ listenerData ], [ priority ] ) → ObjectCKEDITOR.plugins.notificationAggregator.task#onRegisters a listener to a specific event in the current object.
someObject.on( 'someEvent', function() { alert( this == someObject ); // true } ); someObject.on( 'someEvent', function() { alert( this == anotherObject ); // true }, anotherObject ); someObject.on( 'someEvent', function( event ) { alert( event.listenerData ); // 'Example' }, null, 'Example' ); someObject.on( 'someEvent', function() { ... } ); // 2nd called someObject.on( 'someEvent', function() { ... }, null, null, 100 ); // 3rd called someObject.on( 'someEvent', function() { ... }, null, null, 1 ); // 1st calledNote: CKEditor's event system has a limitation that one function cannot be used as a listener for the same event more than once. Hence, to reuse it with multiple listeners, it should be wrapped into additional wrapper function:
function listener( evt ) { ... }; someObject.on( 'someEvent', function() { listener(); } ); someObject.on( 'someEvent', function( evt ) { listener( evt ); } );Parameters
eventName : StringThe event name to which listen.
listenerFunction : FunctionThe function listening to the event. A single CKEDITOR.eventInfo object instanced is passed to this function containing all the event data.
[ scopeObj ] : ObjectThe object used to scope the listener call (the
thisobject). If omitted, the current object is used.[ listenerData ] : ObjectData to be sent as the CKEDITOR.eventInfo.listenerData when calling the listener.
[ priority ] : NumberThe listener priority. Lower priority listeners are called first. Listeners with the same priority value are called in registration order.
Defaults to
10
Returns
ObjectAn object containing the
removeListenerfunction, which can be used to remove the listener at any time.
once()CKEDITOR.plugins.notificationAggregator.task#onceSimiliar with on but the listener will be called only once upon the next event firing.
removeAllListeners()CKEDITOR.plugins.notificationAggregator.task#removeAllListenersRemove all existing listeners on this object, for cleanup purpose.
removeListener( eventName, listenerFunction )CKEDITOR.plugins.notificationAggregator.task#removeListenerUnregisters a listener function from being called at the specified event. No errors are thrown if the listener has not been registered previously.
var myListener = function() { ... }; someObject.on( 'someEvent', myListener ); someObject.fire( 'someEvent' ); // myListener called. someObject.removeListener( 'someEvent', myListener ); someObject.fire( 'someEvent' ); // myListener not called.Parameters
eventName : StringThe event name.
listenerFunction : FunctionThe listener function to unregister.
update( weight )CKEDITOR.plugins.notificationAggregator.task#updateUpdates the done weight of a task.
Parameters
weight : NumberNumber indicating how much of the total task _weight is done.
Static methods
-
Implements the CKEDITOR.event features in an object.
var myObject = { message: 'Example' }; CKEDITOR.event.implementOn( myObject ); myObject.on( 'testEvent', function() { alert( this.message ); } ); myObject.fire( 'testEvent' ); // 'Example'Parameters
targetObject : ObjectThe object into which implement the features.
Events
canceled( evt )CKEDITOR.plugins.notificationAggregator.task#canceleddone( evt )CKEDITOR.plugins.notificationAggregator.task#doneupdated( evt )CKEDITOR.plugins.notificationAggregator.task#updatedFired upon each weight update of the task.
var myTask = new Task( 100 ); myTask.update( 30 ); // Fires updated event with evt.data = 30. myTask.update( 40 ); // Fires updated event with evt.data = 10. myTask.update( 20 ); // Fires updated event with evt.data = -20.Parameters
evt : eventInfo