From 876a5e6657d67df66bb525d02dd6d147ba81cae5 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 05 一月 2023 09:53:37 +0800 Subject: [PATCH] 2023-01-05 --- src/tabviews/zshare/tablenodes/index.jsx | 61 ++++++++++++++++++++---------- 1 files changed, 41 insertions(+), 20 deletions(-) diff --git a/src/tabviews/zshare/tablenodes/index.jsx b/src/tabviews/zshare/tablenodes/index.jsx index 8a728df..df97bc4 100644 --- a/src/tabviews/zshare/tablenodes/index.jsx +++ b/src/tabviews/zshare/tablenodes/index.jsx @@ -155,11 +155,8 @@ let { tbs, ptbs } = this.getTbs(config) ptbs = Array.from(new Set(ptbs)) + ptbs = ptbs.filter(tb => tb.length > 1 && tb !== 'dbo') ptbs.sort() - if (ptbs.length && sessionStorage.getItem('mk_tb_names')) { - let names = sessionStorage.getItem('mk_tb_names') - ptbs = ptbs.filter(tb => names.indexOf(',' + tb.toLowerCase() + ',') > -1) - } if (ptbs.length) { ptbs.forEach((item, i) => { @@ -184,6 +181,7 @@ if (result.tb_list) { result.tb_list.sort((a, b) => a.tbname > b.tbname ? 1 : -1) + let length = result.tb_list.length result.tb_list.forEach((item, i) => { let cell = { label: item.tbname, @@ -191,6 +189,8 @@ id: 'table' + i, direction: 'right', color: '#1890ff', + collapsed: false, + collable: true, children: [] } @@ -209,10 +209,17 @@ id: item.tbname + 'menu' + i, direction: 'right', color: '#1890ff', + type: 'dice-mind-map-leaf', param: _param }) } }) + } + + if (cell.children.length > 5 && length > 1) { + cell.collapsed = true + } else if (cell.children.length === 0) { + cell.collable = false } data.children.push(cell) @@ -261,12 +268,12 @@ const stroke = cfg.style.stroke || '#096dd9'; return ` - <group> - <rect draggable="true" style={{width: ${width}, height: 30, stroke: ${stroke}, radius: 4}} keyshape> - <text style={{ fontSize: 14, marginLeft: 6, marginTop: 6 }}>${cfg.label}</text> - </rect> - </group> - `; + <group> + <rect draggable="true" style={{width: ${width}, height: 30, stroke: ${stroke}, radius: 4}} keyshape> + <text style={{ fontSize: 14, marginLeft: 6, marginTop: 6 }}>${cfg.label}</text> + </rect> + </group> + `; }, getAnchorPoints() { return [ @@ -285,13 +292,13 @@ const color = cfg.color; return ` - <group> - <rect draggable="true" style={{width: ${width}, height: 26, fill: 'transparent' }}> - <text style={{ fontSize: 12, fill: ${cfg.fontcolor ? cfg.fontcolor : 'black'}, marginLeft: 12, marginTop: 6 }}>${cfg.label}</text> - </rect> - <rect style={{ fill: ${color}, width: ${width}, height: 2, x: 0, y: 32 }} /> - </group> - `; + <group> + <rect draggable="true" style={{width: ${width}, cursor: ${cfg.collable ? 'pointer' : 'default'}, height: 26, fill: 'transparent' }}> + <text style={{ fontSize: 12, fill: ${cfg.fontcolor ? cfg.fontcolor : 'black'}, cursor: ${cfg.collable ? 'pointer' : 'default'}, marginLeft: 12, marginTop: 6 }}>${cfg.label} ${cfg.collable ? '+' : ''}</text> + </rect> + <rect style={{ fill: ${color}, width: ${width}, cursor: ${cfg.collable ? 'pointer' : 'default'}, height: 2, x: 0, y: 32 }} /> + </group> + `; }, getAnchorPoints() { return [ @@ -302,6 +309,7 @@ }, 'single-node', ); + G6.registerBehavior('scroll-canvas', { getEvents: function getEvents() { return { @@ -358,9 +366,10 @@ data.color = color; } - if (d.children) { + if (d.children && !d.collapsed) { data.children = d.children.map((child) => changeData(child, level + 1, data.color)); } + return data; }; return changeData(data); @@ -399,9 +408,20 @@ lineWidth: 2, }, }, - minZoom: 0.5, + minZoom: 0.3, modes: { - default: ['drag-canvas', 'zoom-canvas'], + default: [ + { + type: 'collapse-expand', + trigger: 'click', + shouldBegin: (e, self) => { + if (e.item && e.item.getModel().collable) return true; + return false; + }, + }, + 'drag-canvas', + 'zoom-canvas' + ], }, }); @@ -441,6 +461,7 @@ </div> <div className="footer"> <Button key="cancel" onClick={() => { this.setState({ visible: false })}}>鍏抽棴</Button> + <span className="tip">娉細鐐瑰嚮琛ㄥ悕鍙睍寮�/鏀惰捣鑿滃崟</span> </div> </Modal> </div> -- Gitblit v1.8.0