Skip to content

Commit

Permalink
fix didi#1007: hide group children when its parent group collapsed
Browse files Browse the repository at this point in the history
  • Loading branch information
towersxu committed Feb 17, 2023
1 parent 410c633 commit 60a807c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 9 deletions.
15 changes: 6 additions & 9 deletions packages/extension/examples/group/index.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ class MyGroupModel1 extends GroupNode.model {
initNodeData(data) {
super.initNodeData(data);
this.foldable = true;
this.resizable = true;
this.width = 400;
this.height = 200;
}
Expand Down Expand Up @@ -168,17 +169,13 @@ lf.render({
document.querySelector('#getData').addEventListener('click', () => {
const data = lf.getGraphData();
console.log(data);
window.sessionStorage.setItem('group_data', JSON.stringify(data))
})
document.querySelector('#render').addEventListener('click', () => {
lf.render({
nodes: [
{
type: 'circle',
x: 300,
y: 100
}
]
})
const data = window.sessionStorage.getItem('group_data')
if (data) {
lf.render(JSON.parse(data))
}
})
lf.on('group:not-allowed', (data) => {
console.log('此节点不允许添加到分组中', data)
Expand Down
4 changes: 4 additions & 0 deletions packages/extension/src/materials/group/GroupNode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,10 @@ class GroupNodeModel extends RectResize.model {
let allEdges = this.incoming.edges.concat(this.outgoing.edges);
this.children.forEach((elementId) => {
const nodeModel = this.graphModel.getElement(elementId);
// FIX: https://github.com/didi/LogicFlow/issues/1007
if (nodeModel.isGroup && !nodeModel.isFolded) {
nodeModel.foldGroup(isFolded);
}
nodeModel.visible = !isFolded;
allEdges = allEdges.concat(nodeModel.incoming.edges.concat(nodeModel.outgoing.edges));
});
Expand Down

0 comments on commit 60a807c

Please sign in to comment.