CKEDITOR.plugins.autocomplete.model
Class representing the autocomplete model.
In case you want to modify the model behavior, check out the CKEDITOR.plugins.autocomplete.view documentation. It contains examples of how to easily override the default behavior.
A model instance is created by the CKEDITOR.plugins.autocomplete.getModel method.
Note: This class is marked as private, which means that its API might be subject to change in order to provide further enhancements.
Filtering
Properties
-
The query results — the items to be displayed in the autocomplete panel.
-
The callback executed by the model when requesting data. See CKEDITOR.plugins.autocomplete arguments.
-
Whether the autocomplete is active (i.e. can receive user input like click, key press). Should be modified by the setActive method which fires the change-isActive event.
Defaults to
false
-
itemsLimit : Number
CKEDITOR.plugins.autocomplete.model#itemsLimit
Indicates the limit of items rendered in the dropdown.
For falsy values like
0
ornull
all items will be rendered.Defaults to
0
-
The ID of the item currently selected in the panel.
-
The ID of the last request for data. Used by the setQuery method.
Static properties
Methods
-
constructor( dataCallback ) → model
CKEDITOR.plugins.autocomplete.model#constructor
Creates the autocomplete model instance.
Parameters
dataCallback : Function
See CKEDITOR.plugins.autocomplete arguments.
Returns
model
-
capture()
CKEDITOR.plugins.autocomplete.model#capture
Register event handler under the capturing stage on supported target.
-
define( name, meta )
CKEDITOR.plugins.autocomplete.model#define
Predefine some intrinsic properties on a specific event name.
Parameters
name : String
The event name
meta : Object
-
fire( eventName, [ data ], [ editor ] ) → Boolean | Object
CKEDITOR.plugins.autocomplete.model#fire
Fires 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 : String
The event name to fire.
[ data ] : Object
Data to be sent as the CKEDITOR.eventInfo.data when calling the listeners.
[ editor ] : editor
The editor instance to send as the CKEDITOR.eventInfo.editor when calling the listener.
Returns
Boolean | Object
A boolean indicating that the event is to be canceled, or data returned by one of the listeners.
-
fireOnce( eventName, [ data ], [ editor ] ) → Boolean | Object
CKEDITOR.plugins.autocomplete.model#fireOnce
Fires 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 : String
The event name to fire.
[ data ] : Object
Data to be sent as the CKEDITOR.eventInfo.data when calling the listeners.
[ editor ] : editor
The editor instance to send as the CKEDITOR.eventInfo.editor when calling the listener.
Returns
Boolean | Object
A booloan indicating that the event is to be canceled, or data returned by one of the listeners.
-
getIndexById( itemId ) → Number
CKEDITOR.plugins.autocomplete.model#getIndexById
Gets an index from the data array of the item by its ID.
Parameters
itemId : Number | String
Returns
Number
-
getItemById( itemId ) → item
CKEDITOR.plugins.autocomplete.model#getItemById
-
hasData() → Boolean
CKEDITOR.plugins.autocomplete.model#hasData
-
hasListeners( eventName ) → Boolean
CKEDITOR.plugins.autocomplete.model#hasListeners
Checks 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' ) ); // false
Parameters
eventName : String
The event name.
Returns
Boolean
-
on( eventName, listenerFunction, [ scopeObj ], [ listenerData ], [ priority ] ) → Object
CKEDITOR.plugins.autocomplete.model#on
Registers 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 called
Note: 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 : String
The event name to which listen.
listenerFunction : Function
The function listening to the event. A single CKEDITOR.eventInfo object instanced is passed to this function containing all the event data.
[ scopeObj ] : Object
The object used to scope the listener call (the
this
object). If omitted, the current object is used.[ listenerData ] : Object
Data to be sent as the CKEDITOR.eventInfo.listenerData when calling the listener.
[ priority ] : Number
The listener priority. Lower priority listeners are called first. Listeners with the same priority value are called in registration order.
Defaults to
10
Returns
Object
An object containing the
removeListener
function, which can be used to remove the listener at any time.
-
once()
CKEDITOR.plugins.autocomplete.model#once
Similiar with on but the listener will be called only once upon the next event firing.
-
removeAllListeners()
CKEDITOR.plugins.autocomplete.model#removeAllListeners
Remove all existing listeners on this object, for cleanup purpose.
-
removeListener( eventName, listenerFunction )
CKEDITOR.plugins.autocomplete.model#removeListener
Unregisters 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 : String
The event name.
listenerFunction : Function
The listener function to unregister.
-
select( itemId )
CKEDITOR.plugins.autocomplete.model#select
-
selectFirst()
CKEDITOR.plugins.autocomplete.model#selectFirst
Selects the first item. See also the select method.
-
selectLast()
CKEDITOR.plugins.autocomplete.model#selectLast
Selects the last item. See also the select method.
-
selectNext()
CKEDITOR.plugins.autocomplete.model#selectNext
-
selectPrevious()
CKEDITOR.plugins.autocomplete.model#selectPrevious
-
setActive( isActive )
CKEDITOR.plugins.autocomplete.model#setActive
-
setItem( itemId )
CKEDITOR.plugins.autocomplete.model#setItem
-
setQuery( query, range )
CKEDITOR.plugins.autocomplete.model#setQuery
Sets the query and range and makes a request for the query results by executing the dataCallback function. When the data is returned (synchronously or asynchronously, because dataCallback exposes a callback function), the data property is set and the change-data event is fired.
This method controls that only the response for the current query is handled.
Parameters
query : String
range : range
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 : Object
The object into which implement the features.
Events
-
change-data( evt )
CKEDITOR.plugins.autocomplete.model#change-data
-
change-isActive( evt )
CKEDITOR.plugins.autocomplete.model#change-isActive
-
change-selectedItemId( evt )
CKEDITOR.plugins.autocomplete.model#change-selectedItemId