CKEditor5——模型理解(八:Operation和Batch)

上一节主要学习并理解CK5中的Selection,今天主要来分析并研究一下CK5中的两个重要的概念:Operation和Batch。同时结合代码来深入理解。

Operation属性

baseVersion : Number

这里我的理解是操作都是用在模型的文档上,而模型文档是有不同的版本的,因此操作也要有一个版本号,如果这个版本号与模型的版本号不一致,可能会导致错误。后面理解模型文档上的时候再来说这个属性。

batch : Batch | null

这个属性容易理解,也就是此操作属于哪个Batch,也可能操作不属于任何一个Batch。

isDocumentOperation : Boolean

表明此操作是在attachedItem或者DetachedItem上操作的,简单说就是在DocumentRoot中的Item操作还是FragmentDocument上操作。

type : String

操作的类型

Operation方法

构造方法很简单就不用介绍了

clone : Operation

克隆一个一模一样的Operation

getReversed() : Operation

创建并返回反向操作。在原始操作之后立即执行的反向操作会将树模型状态恢复到原始操作执行之前的位置。换句话说,它反转了原始操作所做的更改。比如,加入当前的操作是一个InsertOperation,那么执行操作后加入了一个节点,这个反向操作就是去除了这个节点,和原先没有InsertOperation时的状态一模一样。

 

Batch属性

baseVersion : Number

这个属性和Operation的作用一样,也不多解释说明了

isLocal : Boolean

批处理的操作是在本地创建的还是远程创建的。我这里猜想一下,这个属性也许是用在协同处理中吧,比如:如果这个批处理是在远程操作的,那么就要将这些操作同步到本地,这样实际上就是协同处理的同步。

isTyping : Boolean

批处理是否包括与打字输入有关的操作。

isUndo : Boolean

批处理是否由撤消功能创建并撤消其他操作。

isUndoable : Boolean

批处理是否可以通过撤消功能撤消。

operations : Array<Operation>

这个是存储批处理的操作数组。

 

Batch方法

addOperation(operation) : Operation

往批次添加一个操作。

 

版权声明:著作权归作者所有。

thumb_up 0 | star_outline 0 | textsms 0