From 7d8d07744069fc89c60749659be80aefcf544e15 Mon Sep 17 00:00:00 2001 From: zhandouxiaojiji Date: Wed, 28 Oct 2020 15:57:16 +0800 Subject: [PATCH] change collapse-icon --- render-process/Editor/index.tsx | 18 +++++++----------- render-process/RegisterNode.ts | 9 +++++++-- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/render-process/Editor/index.tsx b/render-process/Editor/index.tsx index c54b276..323a1c7 100644 --- a/render-process/Editor/index.tsx +++ b/render-process/Editor/index.tsx @@ -54,9 +54,13 @@ export default class Editor extends React.Component { type: 'collapse-expand', trigger: 'dblclick', onChange: (item, collapsed) => { + this.onSelectNode(item.getID()); const data = item.getModel(); data.collapsed = collapsed; - this.onSelectNode(item.getID()); + graph.setItemState(item, 'collapsed', data.collapsed as boolean); + const icon = data.collapsed ? G6.Marker.expand : G6.Marker.collapse; + const marker = item.get('group').find((ele: any) => ele.get('name') === 'collapse-icon'); + marker.attr('symbol', icon); return true; }, }, @@ -113,14 +117,6 @@ export default class Editor extends React.Component { } }); - graph.on('node:click', (e: G6GraphEvent) => { - if (e.target.get('name') === 'collapse-icon') { - e.item.getModel().collapsed = !e.item.getModel().collapsed; - graph.setItemState(e.item, 'collapsed', e.item.getModel().collapsed as boolean); - graph.layout(); - } - }); - const clearDragDstState = () => { if (this.dragDstId) { graph.setItemState(this.dragDstId, 'dragRight', false); @@ -261,7 +257,7 @@ export default class Editor extends React.Component { this.graph = graph; - this.setState({treeModel: tree}); + this.setState({ treeModel: tree }); } onSelectNode(curNodeId: string | null) { @@ -298,7 +294,7 @@ export default class Editor extends React.Component { ref={this.ref} /> - {curNode ? : } + {curNode ? : } diff --git a/render-process/RegisterNode.ts b/render-process/RegisterNode.ts index c37f3f1..318edb5 100644 --- a/render-process/RegisterNode.ts +++ b/render-process/RegisterNode.ts @@ -11,6 +11,12 @@ const NODE_COLORS: any = { export default function (settings: Settings) { + const collapseStyle: any = { + 'collapse-icon': { + // symbol: G6.Marker.expand, + fill: 'blue', + } + }; G6.registerNode( 'TreeNode', { @@ -206,13 +212,12 @@ export default function (settings: Settings) { }); } - if (cfg.children) { + if (Array.isArray(cfg.children) && cfg.children.length > 0) { group.addShape('marker', { attrs: { x: w / 2, y: 0, r: 6, - cursor: 'pointer', symbol: G6.Marker.collapse, stroke: '#666', lineWidth: 1,