AttributeOperation (engine/model/operation)
@ckeditor/ckeditor5-engine/src/model/operation/attributeoperation
Operation to change nodes' attribute.
Using this class you can add, remove or change value of the attribute.
Filtering
Properties
-
inherited
baseVersion : Number
module:engine/model/operation/attributeoperation~AttributeOperation#baseVersion
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 : Batch | null
module:engine/model/operation/attributeoperation~AttributeOperation#batch
Batch to which the operation is added or
null
if the operation is not added to any batch yet. -
readonly inherited
isDocumentOperation : Boolean
module:engine/model/operation/attributeoperation~AttributeOperation#isDocumentOperation
Defines whether operation is executed on attached or detached items.
-
Key of an attribute to change or remove.
-
New value of the attribute with given key or
null
, if operation should remove attribute. -
Old value of the attribute with given key or
null
, if attribute was not set before. -
Range on which operation should be applied.
-
readonly inherited
type : String
module:engine/model/operation/attributeoperation~AttributeOperation#type
Operation type.
Static properties
-
inherited static
className : String
module:engine/model/operation/attributeoperation~AttributeOperation.className
Name of the operation class used for serialization.
Methods
-
constructor( range, key, oldValue, newValue, baseVersion )
module:engine/model/operation/attributeoperation~AttributeOperation#constructor
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
andoldValue
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 andoldValue
as valueParameters
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 : *
Old value of the attribute with given key or
null
, if attribute was not set before.newValue : *
New value of the attribute with given key or
null
, if operation should remove attribute.baseVersion : Number | null
Document
version
on which operation can be applied ornull
if the operation operates on detached (non-document) tree.
-
clone() → AttributeOperation
module:engine/model/operation/attributeoperation~AttributeOperation#clone
Creates and returns an operation that has the same parameters as this operation.
Returns
AttributeOperation
Clone of this operation.
-
getReversed() → AttributeOperation
module:engine/model/operation/attributeoperation~AttributeOperation#getReversed
-
inherited
toJSON() → Object
module:engine/model/operation/attributeoperation~AttributeOperation#toJSON
Custom toJSON method to solve child-parent circular dependencies.
Returns
Object
Clone of this object with the operation property replaced with string.
-
protected inherited
_execute()
module:engine/model/operation/attributeoperation~AttributeOperation#_execute
Executes the operation - modifications described by the operation properties will be applied to the model tree.
-
protected inherited
_validate()
module:engine/model/operation/attributeoperation~AttributeOperation#_validate
Checks whether the operation's parameters are correct and the operation can be correctly executed. Throws an error if operation is not valid.
Static methods
-
static
fromJSON( json, document ) → AttributeOperation
module:engine/model/operation/attributeoperation~AttributeOperation.fromJSON
Creates
AttributeOperation
object from deserilized object, i.e. from parsed JSON string.Parameters
json : Object
Deserialized JSON object.
document : Document
Document on which this operation will be applied.
Returns
Every day, we work hard to keep our documentation complete. Have you spotted outdated information? Is something missing? Please report it via our issue tracker.