Class

AttributeOperation (engine/model/operation)

@ckeditor/ckeditor5-engine/src/model/operation/attributeoperation

class

Operation to change nodes' attribute.

Using this class you can add, remove or change value of the attribute.

Filtering

Properties

  • readonly

    affectedSelectable : Selectable

    A selectable that will be affected by the operation after it is executed.

    The exact returned parameter differs between operation types.

  • inherited

    baseVersion : null | number

    version on which operation can be applied. If you try to apply operation with different base version than the document version the model-document-applyOperation-wrong-version error is thrown.

  • inherited

    batch : null | Batch

    Batch to which the operation is added or null if the operation is not added to any batch yet.

  • readonly inherited

    isDocumentOperation : boolean

    Defines whether operation is executed on attached or detached items.

  • key : string

    Key of an attribute to change or remove.

  • newValue : unknown

    New value of the attribute with given key or null, if operation should remove attribute.

  • oldValue : unknown

    Old value of the attribute with given key or null, if attribute was not set before.

  • range : Range

    Range on which operation should be applied.

  • readonly

    type : 'addAttribute' | 'removeAttribute' | 'changeAttribute'

    Operation type.

Static properties

  • readonly static

    className : string

    Name of the operation class used for serialization.

Methods

  • constructor( range, key, oldValue, newValue, baseVersion )

    Creates an operation that changes, removes or adds attributes.

    If only newValue is set, attribute will be added on a node. Note that all nodes in operation's range must not have an attribute with the same key as the added attribute.

    If only oldValue is set, then attribute with given key will be removed. Note that all nodes in operation's range must have an attribute with that key added.

    If both newValue and oldValue are set, then the operation will change the attribute value. Note that all nodes in operation's ranges must already have an attribute with given key and oldValue as value

    Parameters

    range : Range

    Range on which the operation should be applied. Must be a flat range.

    key : string

    Key of an attribute to change or remove.

    oldValue : unknown

    Old value of the attribute with given key or null, if attribute was not set before.

    newValue : unknown

    New value of the attribute with given key or null, if operation should remove attribute.

    baseVersion : null | number

    Document version on which operation can be applied or null if the operation operates on detached (non-document) tree.

  • clone() → AttributeOperation

    Creates and returns an operation that has the same parameters as this operation.

    Returns

    AttributeOperation
  • getReversed() → Operation

  • toJSON() → unknown

    Custom toJSON method to solve child-parent circular dependencies.

    Returns

    unknown

    Clone of this object with the operation property replaced with string.

  • internal

    _execute() → void

    Executes the operation - modifications described by the operation properties will be applied to the model tree.

    Returns

    void
  • internal

    _validate() → void

    Checks whether the operation's parameters are correct and the operation can be correctly executed. Throws an error if operation is not valid.

    Returns

    void

Static methods

  • static

    fromJSON( json, document ) → AttributeOperation

    Creates AttributeOperation object from deserialized object, i.e. from parsed JSON string.

    Parameters

    json : any

    Deserialized JSON object.

    document : Document

    Document on which this operation will be applied.

    Returns

    AttributeOperation