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 025b8b05b98640da9e47837911d02eca3cccecb8..c31a7d86454891839246a5324ca8550db9233d4a 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 217267905ccf1721a3eafb1a4291bc8a3b159404..51049be92b2259d61543bfd7881d767c94aec06a 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 55f51d62752eac48288541b380461b946d8e2693..36c06f5a351552f52c187d3fdab3ceddb7790344 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;