CKEDITOR.commandDefinition
Virtual class that illustrates the features of command objects to be passed to the CKEDITOR.editor.addCommand function.
Filtering
Properties
-
async : Boolean
CKEDITOR.commandDefinition#async
Whether the command is asynchronous, which means that the CKEDITOR.editor.afterCommandExec event will be fired by the command itself manually, and that the return value of this command is not to be returned by the exec function.
editorInstance.addCommand( 'loadoptions', { exec: function( editor ) { var cmd = this; // Asynchronous operation below. CKEDITOR.ajax.loadXml( 'data.xml', function() { editor.fire( 'afterCommandExec', { name: 'loadoptions', command: cmd } ); } ); }, async: true // The command needs some time to complete after the exec function returns. } );
Defaults to
false
-
canUndo : Boolean
CKEDITOR.commandDefinition#canUndo
Whether the command needs to be hooked into the redo/undo system.
editorInstance.addCommand( 'alertName', { exec: function( editor ) { alert( editor.name ); }, canUndo: false // No support for undo/redo. } );
Defaults to
true
-
context : Boolean
CKEDITOR.commandDefinition#context
Sets the element name used to reflect the command state on selection changes. If the selection is in a place where the element is not allowed, the command will be disabled. Setting this property overrides contextSensitive to
true
.Defaults to
true
-
contextSensitive : Boolean
CKEDITOR.commandDefinition#contextSensitive
Indicates that this command is sensitive to the selection context. If
true
, the CKEDITOR.command.refresh method will be called for this command on selection changes, with a single parameter representing the current elements path.Defaults to
true
-
editorFocus : Boolean
CKEDITOR.commandDefinition#editorFocus
Whether the command should give focus to the editor before execution.
editorInstance.addCommand( 'maximize', { exec: function( editor ) { // ... }, editorFocus: false // The command does not require focusing the editing document. } );
See also CKEDITOR.command.editorFocus.
Defaults to
true
-
A property that should be set when a command has no keystroke assigned by CKEDITOR.editor.setKeystroke, but the keystroke is still supported. For example:
cut
,copy
andpaste
commands are handled that way. This property is used when displaying keystroke information in tooltips and context menus. It is used by CKEDITOR.editor.getCommandKeystroke. -
modes : Object
CKEDITOR.commandDefinition#modes
The editor modes within which the command can be executed. The execution will have no action if the current mode is not listed in this property.
editorInstance.addCommand( 'link', { exec: function( editor ) { // ... }, modes: { wysiwyg:1 } // The command is available in wysiwyg mode only. } );
See also CKEDITOR.command.modes.
Defaults to
{ wysiwyg:1 }
-
-
startDisabled : Boolean
CKEDITOR.commandDefinition#startDisabled
Whether the command state should be set to CKEDITOR.TRISTATE_DISABLED on startup.
editorInstance.addCommand( 'unlink', { exec: function( editor ) { // ... }, startDisabled: true // The command is unavailable until the selection is inside a link. } );
Defaults to
false
Methods
-
exec( editor, [ data ] ) → Boolean
CKEDITOR.commandDefinition#exec
The function to be fired when the commend is executed.
editorInstance.addCommand( 'sample', { exec: function( editor ) { alert( 'Executing a command for the editor name "' + editor.name + '"!' ); } } );
Parameters
editor : editor
The editor within which to run the command.
[ data ] : Object
Additional data to be used to execute the command.
Returns
Boolean
Whether the command has been successfully executed. Defaults to
true
if nothing is returned.
-
refresh( editor, path )
CKEDITOR.commandDefinition#refresh
Defined by the command definition, a function to determine the command state. It will be invoked when the editor has its
states
orselection
changed.Note: The function provided must be calling CKEDITOR.command.setState in all circumstances if it is intended to update the command state.
Parameters
editor : editor
path : elementPath