From 96a956889d8e3cfd379d5569eb7de780a9049c18 Mon Sep 17 00:00:00 2001 From: ShineKOT <1917095344@qq.com> Date: Thu, 8 May 2025 18:42:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0X6style2=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../x6-link-controller/x6-link-controller.ts | 16 +++++++++-- .../x6-node-controller/x6-node-controller.ts | 16 +++++++++-- .../x6-design-view/x6-design-view.engine.ts | 28 ++++++++++++++++++- 3 files changed, 53 insertions(+), 7 deletions(-) diff --git a/packages/antv-x6-design/src/controller/x6-link-controller/x6-link-controller.ts b/packages/antv-x6-design/src/controller/x6-link-controller/x6-link-controller.ts index 025b8b05..c31a7d86 100644 --- a/packages/antv-x6-design/src/controller/x6-link-controller/x6-link-controller.ts +++ b/packages/antv-x6-design/src/controller/x6-link-controller/x6-link-controller.ts @@ -74,11 +74,21 @@ export class X6LinkController extends X6CellController { }); g.on('edge:selected', args => { const { edge } = args; - const data = this.map.get(edge.id); - // 向视图发送激活数据事件 - this.panel.view.call('onActive', data); + if (this.context.designmode !== 'STYLE2') { + const data = this.map.get(edge.id); + // 向视图发送激活数据事件 + this.panel.view.call('onActive', data); + } edge.trigger('selected', args); }); + g.on('edge:dblclick', args => { + if (this.context.designmode === 'STYLE2') { + const { edge } = args; + const data = this.map.get(edge.id); + // 向视图发送激活数据事件 + this.panel.view.call('onActive', data); + } + }); g.on('edge:unselected', args => { const { edge } = args; edge.trigger('unselected', args); diff --git a/packages/antv-x6-design/src/controller/x6-node-controller/x6-node-controller.ts b/packages/antv-x6-design/src/controller/x6-node-controller/x6-node-controller.ts index 21726790..51049be9 100644 --- a/packages/antv-x6-design/src/controller/x6-node-controller/x6-node-controller.ts +++ b/packages/antv-x6-design/src/controller/x6-node-controller/x6-node-controller.ts @@ -81,11 +81,21 @@ export class X6NodeController extends X6CellController { }); g.on('node:selected', args => { const { node } = args; - const data = this.map.get(node.id); - // 向视图发送激活数据事件 - this.panel.view.call('onActive', data); + if (this.context.designmode !== 'STYLE2') { + const data = this.map.get(node.id); + // 向视图发送激活数据事件 + this.panel.view.call('onActive', data); + } node.trigger('selected', args); }); + g.on('node:dblclick', args => { + if (this.context.designmode === 'STYLE2') { + const { node } = args; + const data = this.map.get(node.id); + // 向视图发送激活数据事件 + this.panel.view.call('onActive', data); + } + }); g.on('node:unselected', args => { const { node } = args; node.trigger('unselected', args); diff --git a/packages/antv-x6-design/src/views/x6-design-view/x6-design-view.engine.ts b/packages/antv-x6-design/src/views/x6-design-view/x6-design-view.engine.ts index 55f51d62..36c06f5a 100644 --- a/packages/antv-x6-design/src/views/x6-design-view/x6-design-view.engine.ts +++ b/packages/antv-x6-design/src/views/x6-design-view/x6-design-view.engine.ts @@ -9,6 +9,7 @@ import { SysUIActionTag, ViewController, ViewMode, + convertNavData, findModelChild, getControl, } from '@ibiz-template/runtime'; @@ -517,7 +518,28 @@ export class X6DesignViewEngine extends DEMainViewEngine { ); if (ref) { const context = this.view.context.clone(); + const params = {}; context[data.data.srfdecodename.toLowerCase()] = data.id; + // 处理导航上下文 + if (ref.navigateContexts) { + const tempContext = convertNavData( + ref.navigateContexts, + data.data, + params, + context, + ); + Object.assign(context, tempContext); + } + // 处理导航参数 + if (ref.navigateParams) { + const tempParams = convertNavData( + ref.navigateParams, + data.data, + params, + context, + ); + Object.assign(params, tempParams); + } if ( ref.openMode && ![ @@ -530,9 +552,13 @@ export class X6DesignViewEngine extends DEMainViewEngine { OpenAppViewCommand.TAG, ref.refAppViewId, context, - {}, + params, { openMode: ref.openMode, + modalOption: { + with: ref.width || '80%', + height: ref.height || '80%', + }, }, ); return; -- Gitee