RootAttributeOperation
Operation to change root element's attribute. Using this class you can add, remove or change value of the attribute.
This operation is needed, because root elements can't be changed through
AttributeOperation
.
It is because AttributeOperation
requires a range to change and root element can't
be a part of range because every ModelPosition
has to be inside a root.
ModelPosition
can't be created before a root element.
Properties
-
affectedSelectable : ModelSelectable
readonlymodule:engine/model/operation/rootattributeoperation~RootAttributeOperation#affectedSelectable
A selectable that will be affected by the operation after it is executed.
The exact returned parameter differs between operation types.
-
baseVersion : null | number
inheritedmodule:engine/model/operation/rootattributeoperation~RootAttributeOperation#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. -
module:engine/model/operation/rootattributeoperation~RootAttributeOperation#batch
Batch to which the operation is added or
null
if the operation is not added to any batch yet.Note, that a non-document operation has this property always set to
null
, and is never added to any batch. -
isDocumentOperation : boolean
readonlyinheritedmodule:engine/model/operation/rootattributeoperation~RootAttributeOperation#isDocumentOperation
Defines whether operation is executed on attached or detached items.
-
key : string
readonlymodule:engine/model/operation/rootattributeoperation~RootAttributeOperation#key
Key of an attribute to change or remove.
-
newValue : unknown
readonlymodule:engine/model/operation/rootattributeoperation~RootAttributeOperation#newValue
New value of the attribute with given key or
null
, if operation should remove attribute. -
oldValue : unknown
readonlymodule:engine/model/operation/rootattributeoperation~RootAttributeOperation#oldValue
Old value of the attribute with given key or
null
, if attribute was not set before. -
root : ModelRootElement
readonlymodule:engine/model/operation/rootattributeoperation~RootAttributeOperation#root
Root element to change.
-
type : 'addRootAttribute' | 'removeRootAttribute' | 'changeRootAttribute'
readonlymodule:engine/model/operation/rootattributeoperation~RootAttributeOperation#type
Operation type.
Static properties
-
className : string
readonlystaticmodule:engine/model/operation/rootattributeoperation~RootAttributeOperation.className
Name of the operation class used for serialization.
Methods
-
constructor( root, key, oldValue, newValue, baseVersion )
module:engine/model/operation/rootattributeoperation~RootAttributeOperation#constructor
Creates an operation that changes, removes or adds attributes on root element.
Parameters
root : ModelRootElement
Root element to change.
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 ornull
if the operation operates on detached (non-document) tree.
Related:
-
module:engine/model/operation/rootattributeoperation~RootAttributeOperation#clone
Creates and returns an operation that has the same parameters as this operation.
Returns
RootAttributeOperation
Clone of this operation.
-
getReversed() → Operation
module:engine/model/operation/rootattributeoperation~RootAttributeOperation#getReversed
-
toJSON() → unknown
module:engine/model/operation/rootattributeoperation~RootAttributeOperation#toJSON
Custom toJSON method to solve child-parent circular dependencies.
Returns
unknown
Clone of this object with the operation property replaced with string.
-
_execute() → void
internalmodule:engine/model/operation/rootattributeoperation~RootAttributeOperation#_execute
Executes the operation - modifications described by the operation properties will be applied to the model tree.
Returns
void
-
_validate() → void
internalmodule:engine/model/operation/rootattributeoperation~RootAttributeOperation#_validate
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
-
fromJSON( json, document ) → RootAttributeOperation
staticmodule:engine/model/operation/rootattributeoperation~RootAttributeOperation.fromJSON
Creates
RootAttributeOperation
object from deserialized object, i.e. from parsed JSON string.Parameters
json : any
Deserialized JSON object.
document : ModelDocument
Document on which this operation will be applied.
Returns