2

我创建了一个包含captioned_image节点类型的文档模式,它引用了单独 CMS 中的图像。该图像有一个标题和一个信用,我想在文档中进行编辑。当用户在 ProseMirror 编辑器中编辑内容时,我可以记录更改并向 CMS 发送更新请求。

但是,当另一个用户在 CMS 中编辑图像时,标题和信用字段可能会被“锁定”。

captioned_image当这些字段被其他用户锁定时,如何使节点的标题和信用子节点不可编辑?选择不应该被放置在一个位置。

4

1 回答 1

2

我可以想到两种方法

  1. 当一段文档被锁定时,过滤变换动作,取消(重置为旧状态)任何触及该区域的内容(可以通过调用forEach中的元素来确定action.transform.mapping.maps)。

  2. 为这些类型的节点编写一个自定义节点视图,并给它们一个属性readOnly。当它们应该变得不可编辑时切换它,当它打开时,使用 渲染锁定的内容contenteditable=false。但请注意,这并不能防止对内容进行编程更改。此外,这将使得无法将光标放入其中,这可能是不希望的。

于 2016-12-02T20:28:21.207 回答