alibaba / GGEditor

A visual graph editor based on G6 and React
https://ggeditor.com
MIT License
3.41k stars 574 forks source link

Flow readOnly 模式事件都事件都均不触发问题 #287

Open BernardZhang opened 5 years ago

BernardZhang commented 5 years ago

<Flow graph={{ mode: "readOnly"}} /> flow设置只读模式后,点击事件等也不触发了,有没有方法做到只读状态但是可以触发自定义事件呢?

wxy1995 commented 5 years ago
const graphConfig = {
  mode: "readOnly",
  modes: {
    "readOnly": ["panCanvas", "clickEdgeSelected", "clickNodeSelected", "clickCanvasSelected", "clickGroupSelected"]
  }
}

<Flow graph={graphConfig} />
BernardZhang commented 5 years ago

@wxy1995 我试了下,onNodeClick 事件还是不会触发呢?这个有使用文档么?

wxy1995 commented 5 years ago

@BernardZhang GGEditor官方没有文档behaviour的文档,稍微扒了一下源码看到的

shtefcs commented 5 years ago

@wxy1995 do u have experience with GGeditor and are u available for some work?

wxy1995 commented 5 years ago

@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.

Jexecellent commented 4 years ago

@BernardZhang 你的readOnly是如何生效的呢 ? 我这边设置了只读都不会生效, 所有操作都在 ?

topcnm commented 4 years ago

@shtefcs @BernardZhang try this ? ` const graphConfig = { mode: "default", modes: { "default": [] } }

`

AprilCatKitty commented 4 years ago

以前用过 1.3.3 版本的 readOnly 是可以拿到onNodeClick事件的,现在最新的版本好像是不生效了

tianya520 commented 3 years ago

const graphConfig = { mode: "readOnly", modes: { "readOnly": ["panBlank","clickEdgeSelected", "clickNodeSelected", "clickCanvasSelected", "clickGroupSelected"] } } 将panCanvas更换成panBlank就可解决这个问题

ustbtaotao commented 3 years ago

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 即可。 image