我目前正在尝试为CkEditor5构建颜色插件,以模仿CkEditor4可用的插件。
我有一个输入法,但是将模型值映射到视图值是我的绊脚石。该系统似乎已设置好,以便预先知道每个可能的值并进行映射-对于十六进制值,这显然是不切实际的。
有没有办法告诉CkEditor直接使用视图样式标签中的模型值和模型中的视图值?
答案 0 :(得分:1)
我假设您正在使用颜色选择器UI创建一个插件。
您将无法与CKE5可用的现有高亮插件结合使用。相反,我建议创建一个新插件。您可以查看突出显示插件以查看提供插件需要做什么。
有没有办法告诉CKEditor直接使用视图样式标签中的模型值和模型中的视图值?
是的。您需要设置适当的下转换(模型->视图)和上转换(视图->模型)转换。为此,您需要提供一个可生成模型/视图元素的函数。
请参阅downcastAttributeToElement
和upcastElementToAttribute()
的文档。在这些文档中,有一些示例说明了如何设置使用style
属性值的转换。 Upcast转换器显示了一个更复杂的示例,但是您只需从视图中返回该值即可。
要添加此类转换器,您需要使用model.Conversion#for..#add
construction:
editor.conversion.for( 'downcast' ).add( downcastAttributeToElement( downcastConfig ) )
editor.conversion.for( 'upcast' ).add( upcastElementToAttribute( upcastConfig ) )