RootOperation
Operation that creates (or attaches) or detaches a root element.
Properties
-
affectedSelectable : ModelSelectable
readonlymodule:engine/model/operation/rootoperation~RootOperation#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/rootoperation~RootOperation#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/rootoperation~RootOperation#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. -
elementName : string
readonlymodule:engine/model/operation/rootoperation~RootOperation#elementName
Root element name.
-
isAdd : boolean
readonlymodule:engine/model/operation/rootoperation~RootOperation#isAdd
Specifies whether the operation adds (
true
) or detaches the root (false
). -
isDocumentOperation : boolean
readonlyinheritedmodule:engine/model/operation/rootoperation~RootOperation#isDocumentOperation
Defines whether operation is executed on attached or detached items.
-
rootName : string
readonlymodule:engine/model/operation/rootoperation~RootOperation#rootName
Root name to create or detach.
-
type : 'addRoot' | 'detachRoot'
readonlymodule:engine/model/operation/rootoperation~RootOperation#type
Operation type.
-
_document : ModelDocument
privatereadonlymodule:engine/model/operation/rootoperation~RootOperation#_document
Document which owns the root.
Static properties
-
className : string
readonlystaticmodule:engine/model/operation/rootoperation~RootOperation.className
Name of the operation class used for serialization.
Methods
-
constructor( rootName, elementName, isAdd, document, baseVersion )
module:engine/model/operation/rootoperation~RootOperation#constructor
Creates an operation that creates or removes a root element.
Parameters
rootName : string
Root name to create or detach.
elementName : string
Root element name.
isAdd : boolean
Specifies whether the operation adds (
true
) or detaches the root (false
).document : ModelDocument
Document which owns the root.
baseVersion : number
Document
version
on which operation can be applied.
-
clone() → RootOperation
module:engine/model/operation/rootoperation~RootOperation#clone
Creates and returns an operation that has the same parameters as this operation.
Returns
RootOperation
Clone of this operation.
-
module:engine/model/operation/rootoperation~RootOperation#getReversed
Creates and returns a reverse operation. Reverse operation when executed right after the original operation will bring back tree model state to the point before the original operation execution. In other words, it reverses changes done by the original operation.
Keep in mind that tree model state may change since executing the original operation, so reverse operation will be "outdated". In that case you will need to transform it by all operations that were executed after the original operation.
Returns
RootOperation
Reversed operation.
-
toJSON() → unknown
module:engine/model/operation/rootoperation~RootOperation#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/rootoperation~RootOperation#_execute
Executes the operation - modifications described by the operation properties will be applied to the model tree.
Returns
void
-
_validate() → void
internalinheritedmodule:engine/model/operation/rootoperation~RootOperation#_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 ) → RootOperation
staticmodule:engine/model/operation/rootoperation~RootOperation.fromJSON
Creates
RootOperation
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