Report an issue
Class

CKEDITOR.commandDefinition

class abstract

Virtual class that illustrates the features of command objects to be passed to the CKEDITOR.editor.addCommand function.

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

  • 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

  • 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.

  • 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 }

  • 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

Methods

  • exec( editor, [ data ] ) → Boolean

    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 )

    Defined by the command definition, a function to determine the command state. It will be invoked when the editor has its states or selection 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