Report an issue
Class

CKEDITOR.command

class

Represents a command that can be executed on an editor instance.

var command = new CKEDITOR.command( editor, {
    exec: function( editor ) {
        alert( editor.document.getBody().getHtml() );
    }
} );

Filtering

Properties

  • async : Boolean

    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

    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

    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

  • inherited

    contextSensitive : Boolean

    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

  • inherited

    editorFocus : Boolean

    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

  • since 4.6.0

    fakeKeystroke : Number

    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 and paste 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.

  • inherited

    modes : Object

    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 }

  • previousState : Number

    Indicates the previous command state.

    alert( command.previousState );state
    
  • since 4.0.0

    readOnly : Boolean

    Whether the command should be enabled in the read-only mode.

    Defaults to false

  • startDisabled : Boolean

    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

  • state : Number

    Indicates the editor state. Possible values are:

    Do not set this property directly, using the setState method instead.

    if ( command.state == CKEDITOR.TRISTATE_DISABLED )
        alert( 'This command is disabled' );
    

    Defaults to CKEDITOR.TRISTATE_DISABLED

  • uiItems : Array

    Lists UI items that are associated to this command. This list can be used to interact with the UI on command execution (by the execution code itself, for example).

    alert( 'Number of UI items associated to this command: ' + command.uiItems.length );
    

    Defaults to []

Static properties

Methods