From 2882e7e365227dc780b74c14299334b619b52787 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=99=BA=E6=B4=B2?= <1543046129@qq.com> Date: Wed, 13 Apr 2022 18:23:07 +0800 Subject: [PATCH] bugfix --- src/BehaviorHelper/behaviorIssueHelper.ts | 2 +- src/BehaviorHelper/initG6Behaviors.ts | 2 +- src/View/reconcile.ts | 10 +++++++--- src/View/viewContainer.ts | 1 + 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/BehaviorHelper/behaviorIssueHelper.ts b/src/BehaviorHelper/behaviorIssueHelper.ts index 890ce6b..96e5659 100644 --- a/src/BehaviorHelper/behaviorIssueHelper.ts +++ b/src/BehaviorHelper/behaviorIssueHelper.ts @@ -181,7 +181,7 @@ export function SolveDragCanvasWithLeak(viewContainer: ViewContainer) { let translateY = event.matrix[7], dy = translateY - viewContainer.lastLeakAreaTranslateY; - + viewContainer.lastLeakAreaTranslateY = translateY; viewContainer.leakAreaY = viewContainer.leakAreaY + dy; diff --git a/src/BehaviorHelper/initG6Behaviors.ts b/src/BehaviorHelper/initG6Behaviors.ts index 85f9f1c..8adadb9 100644 --- a/src/BehaviorHelper/initG6Behaviors.ts +++ b/src/BehaviorHelper/initG6Behaviors.ts @@ -61,7 +61,7 @@ export function InitG6Behaviors(engine: Engine, viewContainer: ViewContainer): M let node: SVNode = g6Item.SVModel; - if (g6Item === null || node.isNode() === false) { + if (node.isNode() === false) { return false; } diff --git a/src/View/reconcile.ts b/src/View/reconcile.ts index 0235be1..f9a790e 100644 --- a/src/View/reconcile.ts +++ b/src/View/reconcile.ts @@ -256,20 +256,24 @@ export class Reconcile { let { duration, timingFunction } = this.engine.animationOptions; appendModels.forEach(item => { + const G6Item = item.G6Item; + if (item instanceof SVNodeAppendage) { + G6Item.enableCapture(false); + // 先不显示泄漏区节点上面的地址文本 if (item instanceof SVAddressLabel) { // 先将透明度改为0,隐藏掉 - const AddressLabelG6Group = item.G6Item.getContainer(); + const AddressLabelG6Group = G6Item.getContainer(); AddressLabelG6Group.attr({ opacity: 0 }); } else { - Animations.FADE_IN(item.G6Item, { + Animations.FADE_IN(G6Item, { duration, timingFunction, }); } } else { - Animations.APPEND(item.G6Item, { + Animations.APPEND(G6Item, { duration, timingFunction, callback: () => item.afterRender(), diff --git a/src/View/viewContainer.ts b/src/View/viewContainer.ts index 194d8c4..62d4c6a 100644 --- a/src/View/viewContainer.ts +++ b/src/View/viewContainer.ts @@ -47,6 +47,7 @@ export class ViewContainer { this.hasLeak = false; // 判断是否已经发生过泄漏 this.brushSelectedModels = []; this.clickSelectNode = null; + this.lastLeakAreaTranslateY = 0; const g6Instance = this.renderer.getG6Instance(), leakAreaHeight = this.engine.viewOptions.leakAreaHeight,