Skip to content

Commit d014b71

Browse files
wzwboyongjiong
wzw
authored andcommitted
fix(extension): 【selection-select】修复框选组件的不选中分组节点内部元素的逻辑,避免在选择后拖拽时,与分组移动逻辑重复
之前的框选组件中,不选中分组节点的 if 逻辑有问题,在使用单个分组插件时,if (!group) 这样的判断会一直触发,导致会选中所有节点
1 parent 350269a commit d014b71

File tree

1 file changed

+8
-6
lines changed
  • packages/extension/src/components/selection-select

1 file changed

+8
-6
lines changed

packages/extension/src/components/selection-select/index.ts

+8-6
Original file line numberDiff line numberDiff line change
@@ -166,18 +166,20 @@ export class SelectionSelect {
166166
true,
167167
)
168168
const { dynamicGroup, group } = this.lf.graphModel
169+
const nonGroupedElements: typeof elements = []
169170
elements.forEach((element) => {
170171
// 如果节点属于分组,则不选中节点,此处兼容旧版 Group 插件
171-
if (!group || !group.getNodeGroup(element.id)) {
172-
this.lf.selectElementById(element.id, true)
172+
if (group && group.getNodeGroup(element.id)) {
173+
return
173174
}
174-
// 如果节点属于动态分组,则不不选中节点
175-
if (!dynamicGroup || !dynamicGroup.getGroupByNodeId(element.id)) {
176-
this.lf.selectElementById(element.id, true)
175+
if (dynamicGroup && dynamicGroup.getGroupByNodeId(element.id)) {
176+
return
177177
}
178+
this.lf.selectElementById(element.id, true)
179+
nonGroupedElements.push(element)
178180
})
179181
this.lf.emit('selection:selected', {
180-
elements,
182+
elements: nonGroupedElements,
181183
leftTopPoint: lt,
182184
rightBottomPoint: rb,
183185
})

0 commit comments

Comments
 (0)