From b33d3bdee2e5705937af6ff1f2fed45d778c9a36 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 20 六月 2023 00:10:23 +0800 Subject: [PATCH] Merge branch 'master' into positec --- src/tabviews/custom/components/chart/antv-G6/index.jsx | 87 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 79 insertions(+), 8 deletions(-) diff --git a/src/tabviews/custom/components/chart/antv-G6/index.jsx b/src/tabviews/custom/components/chart/antv-G6/index.jsx index 31417fb..f481f2e 100644 --- a/src/tabviews/custom/components/chart/antv-G6/index.jsx +++ b/src/tabviews/custom/components/chart/antv-G6/index.jsx @@ -814,6 +814,8 @@ } data = [] + mkgraph = null + selectedId = '' UNSAFE_componentWillMount () { const { config, data, initdata } = this.props @@ -1183,10 +1185,20 @@ _options.push(_item) }) - + root.nodeNumber = 0 root = this.getTree(root, _options, root) root.children = root.children || [] + + if (root.selectedItem) { + let option = {...root.selectedItem} + setTimeout(() => { + MKEmitter.emit('resetSelectLine', config.uuid, option.id, option) + }, 20) + delete root.selectedItem + } else { + this.selectedId = '' + } if (plot.subtype === 'mindmap') { root.type = 'dice-mind-map-root' @@ -1255,6 +1267,12 @@ options = options.filter(option => { if (option.$parentId === parent.id) { delete option.$parentId + + if (this.selectedId && option.id === this.selectedId) { + root.selectedItem = {...option} + option.selected = true + } + parent.children.push(option) root.nodeNumber++ @@ -1278,19 +1296,22 @@ } handleData = () => { - let _element = document.getElementById(this.state.chartId) - if (_element) { - _element.innerHTML = '' - } + const { config } = this.state - setTimeout(() => { + MKEmitter.emit('resetSelectLine', config.uuid, '', '') + + if (this.mkgraph) { + this.mkgraph.clear() + this.resetrender() + } else { this.viewrender() - }, 100) + } } viewrender = () => { const { plot } = this.state + this.selectedId = '' if (this.data.length === 0) { this.setState({empty: true}) } else { @@ -1302,6 +1323,44 @@ this.indentrender() } else if (plot.subtype === 'kapmap') { this.kapmaprender() + } + } + } + + resetrender = () => { + const { plot } = this.state + + if (this.data.length === 0) { + this.setState({empty: true}) + this.selectedId = '' + } else { + this.setState({empty: false}) + + const data = this.getdata() + if (plot.subtype === 'mindmap') { + this.mkgraph.data(data) + + this.mkgraph.render() + + const width = this.wrap.scrollWidth - 30 + + if (plot.collapsed === 'true' && plot.dirField) { + this.mkgraph.zoomTo(1, { x: width / 2, y: plot.height / 2 }) + } else if (plot.collapsed === 'true' || data.nodeNumber < 5) { + this.mkgraph.zoomTo(1, { x: 0, y: plot.height / 2 }) + } + } else if (plot.subtype === 'indentTree') { + this.mkgraph.data(dataIndTransform(data)) + + this.mkgraph.render() + } else if (plot.subtype === 'kapmap') { + this.mkgraph.data(data) + this.mkgraph.render() + this.mkgraph.fitView() + + if (plot.collapsed === 'true' || data.nodeNumber < 5) { + this.mkgraph.zoomTo(1, { x: 0, y: plot.height / 2 }) + } } } } @@ -1364,6 +1423,8 @@ if (plot.collapsed === 'true' || data.nodeNumber < 5) { graph.zoomTo(1, { x: 0, y: plot.height / 2 }) } + + this.mkgraph = graph } indentrender = () => { @@ -1425,6 +1486,8 @@ tree.data(dataIndTransform(data)) tree.render() + + this.mkgraph = tree } /** @@ -1487,6 +1550,8 @@ } else if (plot.collapsed === 'true' || data.nodeNumber < 5) { tree.zoomTo(1, { x: 0, y: plot.height / 2 }) } + + this.mkgraph = tree } handleClick = (data = null) => { @@ -1555,7 +1620,13 @@ MKEmitter.emit('modifyTabs', newtab, true) } else { - MKEmitter.emit('resetSelectLine', config.uuid, (data ? data.$$uuid : ''), data) + if (data) { + this.selectedId = data.$$uuid || '' + MKEmitter.emit('resetSelectLine', config.uuid, data.$$uuid || '', data) + } else { + this.selectedId = '' + MKEmitter.emit('resetSelectLine', config.uuid, '', '') + } } } -- Gitblit v1.8.0