GGEditor
GGEditor copied to clipboard
Flow readOnly 模式事件都事件都均不触发问题
<Flow graph={{ mode: "readOnly"}} /> flow设置只读模式后,点击事件等也不触发了,有没有方法做到只读状态但是可以触发自定义事件呢?
const graphConfig = {
mode: "readOnly",
modes: {
"readOnly": ["panCanvas", "clickEdgeSelected", "clickNodeSelected", "clickCanvasSelected", "clickGroupSelected"]
}
}
<Flow graph={graphConfig} />
@wxy1995 我试了下,onNodeClick 事件还是不会触发呢?这个有使用文档么?
@BernardZhang GGEditor官方没有文档behaviour的文档,稍微扒了一下源码看到的
@wxy1995 do u have experience with GGeditor and are u available for some work?
@shtefcs I readed source code of GGeditor & gg-editor-core, made some changes, and used them in a few of projects. I'm intersted in your work, maybe you can introduce me more details with email.
@BernardZhang 你的readOnly是如何生效的呢 ? 我这边设置了只读都不会生效, 所有操作都在 ?
@shtefcs @BernardZhang
try this ?
const graphConfig = { mode: "default", modes: { "default": [] } } <Flow graph={graphConfig} />
以前用过 1.3.3 版本的 readOnly 是可以拿到onNodeClick事件的,现在最新的版本好像是不生效了
const graphConfig = { mode: "readOnly", modes: { "readOnly": ["panBlank","clickEdgeSelected", "clickNodeSelected", "clickCanvasSelected", "clickGroupSelected"] } } 将panCanvas更换成panBlank就可解决这个问题
gg: v2.0.4
通过查看源码可知,底层支持default和 readOnly两种模式
modes: {
default: ["clickNodeSelected", "keydownMoveSelection", "clickCanvasSelected", "keydownEditLabel", "panBlank", "wheelChangeViewport", "panMindNode", "clickCollapsedButton", "clickExpandedButton", "hoverButton", "hoverNodeActived", "dblclickItemEditLabel"],
readOnly: ["clickNodeSelected", "wheelChangeViewport", "keydownMoveSelection", "hoverNodeActived", "panCanvas", "clickExpandedButton", "hoverButton", "clickCanvasSelected"]
},
如果是mindmap,实践发现,直接设置成readOnly模式,如果想只是不让增删改拖,但是需要点选生效,是不得行的。
所以设置成default模式,然后默认一推里面去掉 panMindNode
即可。