LogicFlow icon indicating copy to clipboard operation
LogicFlow copied to clipboard

[Bug report]开启框选功能的回调里面可以监听blank:mousedown,监听不到blank:mouseup事件

Open huzhigao opened this issue 2 years ago • 4 comments

问题描述
image 框选完只打印了mousedown

最简复现demo
一般来说通过文字和截图的描述我们很难定位到问题,为了帮助我们快速定位问题并修复,请按照以下指南编写并上传最简复现demo:https://codesandbox.io/s/reverent-microservice-fqlpuf?file=/src/index.js

huzhigao avatar Apr 19 '23 03:04 huzhigao

您好,感觉提出,能给出您需要这个事件的具体使用场景吗?我们会根据使用场景评估这个功能的必要性。

towersxu avatar Apr 19 '23 06:04 towersxu

我想根据blank:mousedown和blank:mouseup,在selection:selected事件时生成一个分组,分组的区域就是黄色虚线框选的区域,具体如下面代码:

this.lf.extension.dndPanel.setPatternItems([{
  label: '选区',
  className: 'custom-selection',
  callback: () => {
    this.lf.openSelectionSelect()
    this.lf.once('blank:mousedown', (e) => {
      this.mousedownPoint = [e.layerX, e.layerY]
    })
    this.lf.once('blank:mouseup', (e) => {
      this.mouseupPoint = [e.layerX, e.layerY]
    })
    this.lf.once('selection:selected', (data) => {
      this.lf.addNode({
        type: 'my-group',
        x: (this.mouseupPoint[0] + this.mousedownPoint[0]) / 2,
        y: (this.mouseupPoint[1] + this.mousedownPoint[1]) / 2,
        children: data.map(item => item.id)
      })
      this.lf.closeSelectionSelect()
    })
  }
}])

huzhigao avatar Apr 19 '23 06:04 huzhigao

目前您可以通过'selection:selected'事件返回的所有节点,计算出选区的范围。在后面的1.3.0版本中,我们会把选区的返回直接返回出来。

towersxu avatar Apr 23 '23 11:04 towersxu

好的,期待1.3.0版本发布

huzhigao avatar Apr 24 '23 07:04 huzhigao