From cb785d252cddafb38a567327373e97d94be20423 Mon Sep 17 00:00:00 2001 From: antv Date: Thu, 22 Aug 2024 11:27:56 +0800 Subject: [PATCH] fix(behaviors): fix optimize viewport transform does not hide edge arrow --- .../behavior-optimize-viewport-transform.ts | 1 + .../after-viewport-change.svg | 660 +++++++++++------- .../optimize-viewport-transform/default.svg | 660 +++++++++++------- .../viewport-change.svg | 660 +++++++++++------- .../behaviors/optimize-viewport-transform.ts | 14 +- 5 files changed, 1265 insertions(+), 730 deletions(-) diff --git a/packages/g6/__tests__/demos/behavior-optimize-viewport-transform.ts b/packages/g6/__tests__/demos/behavior-optimize-viewport-transform.ts index 2d21663bd9e..ec3644503b1 100644 --- a/packages/g6/__tests__/demos/behavior-optimize-viewport-transform.ts +++ b/packages/g6/__tests__/demos/behavior-optimize-viewport-transform.ts @@ -20,6 +20,7 @@ export const behaviorOptimizeViewportTransform: TestCase = async (context) => { style: { labelFontSize: 8, labelText: (datum) => datum.id, + startArrow: true, }, }, behaviors: ['drag-canvas', 'zoom-canvas', 'scroll-canvas', 'optimize-viewport-transform'], diff --git a/packages/g6/__tests__/snapshots/behaviors/optimize-viewport-transform/after-viewport-change.svg b/packages/g6/__tests__/snapshots/behaviors/optimize-viewport-transform/after-viewport-change.svg index c8521d286e4..5a2025a3ea6 100644 --- a/packages/g6/__tests__/snapshots/behaviors/optimize-viewport-transform/after-viewport-change.svg +++ b/packages/g6/__tests__/snapshots/behaviors/optimize-viewport-transform/after-viewport-change.svg @@ -3,11 +3,14 @@ - - + + - - + + + + + @@ -17,11 +20,14 @@ - - + + - - + + + + + @@ -31,11 +37,14 @@ - - + + - - + + + + + @@ -45,11 +54,14 @@ - - + + - - + + + + + @@ -59,11 +71,14 @@ - - + + - - + + + + + @@ -73,11 +88,14 @@ - - + + - - + + + + + @@ -87,11 +105,14 @@ - - + + - - + + + + + @@ -101,11 +122,14 @@ - - + + - - + + + + + @@ -115,11 +139,14 @@ - - + + - - + + + + + @@ -129,11 +156,14 @@ - - + + - - + + + + + @@ -143,11 +173,14 @@ - - + + - - + + + + + @@ -157,11 +190,14 @@ - - + + - - + + + + + @@ -171,11 +207,14 @@ - - + + - - + + + + + @@ -185,11 +224,14 @@ - - + + - - + + + + + @@ -199,11 +241,14 @@ - - + + - - + + + + + @@ -213,11 +258,14 @@ - - + + - - + + + + + @@ -227,11 +275,14 @@ - - + + - - + + + + + @@ -241,11 +292,14 @@ - - + + - - + + + + + @@ -255,11 +309,14 @@ - - + + - - + + + + + @@ -269,11 +326,14 @@ - - + + - - + + + + + @@ -283,11 +343,14 @@ - - + + - - + + + + + @@ -297,11 +360,14 @@ - - + + - - + + + + + @@ -311,11 +377,14 @@ - - + + - - + + + + + @@ -325,11 +394,14 @@ - - + + - - + + + + + @@ -339,11 +411,14 @@ - - + + - - + + + + + @@ -353,11 +428,14 @@ - - + + - - + + + + + @@ -367,11 +445,14 @@ - - + + - - + + + + + @@ -381,11 +462,14 @@ - - + + - - + + + + + @@ -395,11 +479,14 @@ - - + + - - + + + + + @@ -409,11 +496,14 @@ - - + + - - + + + + + @@ -423,11 +513,14 @@ - - + + - - + + + + + @@ -437,11 +530,14 @@ - - + + - - + + + + + @@ -451,11 +547,14 @@ - - + + - - + + + + + @@ -465,11 +564,14 @@ - - + + - - + + + + + @@ -479,11 +581,14 @@ - - + + - - + + + + + @@ -493,11 +598,14 @@ - - + + - - + + + + + @@ -507,11 +615,14 @@ - - + + - - + + + + + @@ -521,11 +632,14 @@ - - + + - - + + + + + @@ -535,11 +649,14 @@ - - + + - - + + + + + @@ -549,11 +666,14 @@ - - + + - - + + + + + @@ -563,11 +683,14 @@ - - + + - - + + + + + @@ -577,11 +700,14 @@ - - + + - - + + + + + @@ -591,11 +717,14 @@ - - + + - - + + + + + @@ -605,11 +734,14 @@ - - + + - - + + + + + @@ -619,11 +751,14 @@ - - + + - - + + + + + @@ -633,11 +768,14 @@ - - + + - - + + + + + @@ -647,11 +785,14 @@ - - + + - - + + + + + @@ -661,11 +802,14 @@ - - + + - - + + + + + @@ -675,11 +819,14 @@ - - + + - - + + + + + @@ -689,11 +836,14 @@ - - + + - - + + + + + @@ -703,11 +853,14 @@ - - + + - - + + + + + @@ -717,11 +870,14 @@ - - + + - - + + + + + @@ -731,11 +887,14 @@ - - + + - - + + + + + @@ -745,11 +904,14 @@ - - + + - - + + + + + @@ -759,11 +921,14 @@ - - + + - - + + + + + @@ -773,11 +938,14 @@ - - + + - - + + + + + @@ -787,11 +955,14 @@ - - + + - - + + + + + @@ -801,11 +972,14 @@ - - + + - - + + + + + @@ -815,11 +989,14 @@ - - + + - - + + + + + @@ -829,11 +1006,14 @@ - - + + - - + + + + + diff --git a/packages/g6/__tests__/snapshots/behaviors/optimize-viewport-transform/default.svg b/packages/g6/__tests__/snapshots/behaviors/optimize-viewport-transform/default.svg index 5a9f20539ca..4dfb55e4587 100644 --- a/packages/g6/__tests__/snapshots/behaviors/optimize-viewport-transform/default.svg +++ b/packages/g6/__tests__/snapshots/behaviors/optimize-viewport-transform/default.svg @@ -3,11 +3,14 @@ - - + + - - + + + + + @@ -17,11 +20,14 @@ - - + + - - + + + + + @@ -31,11 +37,14 @@ - - + + - - + + + + + @@ -45,11 +54,14 @@ - - + + - - + + + + + @@ -59,11 +71,14 @@ - - + + - - + + + + + @@ -73,11 +88,14 @@ - - + + - - + + + + + @@ -87,11 +105,14 @@ - - + + - - + + + + + @@ -101,11 +122,14 @@ - - + + - - + + + + + @@ -115,11 +139,14 @@ - - + + - - + + + + + @@ -129,11 +156,14 @@ - - + + - - + + + + + @@ -143,11 +173,14 @@ - - + + - - + + + + + @@ -157,11 +190,14 @@ - - + + - - + + + + + @@ -171,11 +207,14 @@ - - + + - - + + + + + @@ -185,11 +224,14 @@ - - + + - - + + + + + @@ -199,11 +241,14 @@ - - + + - - + + + + + @@ -213,11 +258,14 @@ - - + + - - + + + + + @@ -227,11 +275,14 @@ - - + + - - + + + + + @@ -241,11 +292,14 @@ - - + + - - + + + + + @@ -255,11 +309,14 @@ - - + + - - + + + + + @@ -269,11 +326,14 @@ - - + + - - + + + + + @@ -283,11 +343,14 @@ - - + + - - + + + + + @@ -297,11 +360,14 @@ - - + + - - + + + + + @@ -311,11 +377,14 @@ - - + + - - + + + + + @@ -325,11 +394,14 @@ - - + + - - + + + + + @@ -339,11 +411,14 @@ - - + + - - + + + + + @@ -353,11 +428,14 @@ - - + + - - + + + + + @@ -367,11 +445,14 @@ - - + + - - + + + + + @@ -381,11 +462,14 @@ - - + + - - + + + + + @@ -395,11 +479,14 @@ - - + + - - + + + + + @@ -409,11 +496,14 @@ - - + + - - + + + + + @@ -423,11 +513,14 @@ - - + + - - + + + + + @@ -437,11 +530,14 @@ - - + + - - + + + + + @@ -451,11 +547,14 @@ - - + + - - + + + + + @@ -465,11 +564,14 @@ - - + + - - + + + + + @@ -479,11 +581,14 @@ - - + + - - + + + + + @@ -493,11 +598,14 @@ - - + + - - + + + + + @@ -507,11 +615,14 @@ - - + + - - + + + + + @@ -521,11 +632,14 @@ - - + + - - + + + + + @@ -535,11 +649,14 @@ - - + + - - + + + + + @@ -549,11 +666,14 @@ - - + + - - + + + + + @@ -563,11 +683,14 @@ - - + + - - + + + + + @@ -577,11 +700,14 @@ - - + + - - + + + + + @@ -591,11 +717,14 @@ - - + + - - + + + + + @@ -605,11 +734,14 @@ - - + + - - + + + + + @@ -619,11 +751,14 @@ - - + + - - + + + + + @@ -633,11 +768,14 @@ - - + + - - + + + + + @@ -647,11 +785,14 @@ - - + + - - + + + + + @@ -661,11 +802,14 @@ - - + + - - + + + + + @@ -675,11 +819,14 @@ - - + + - - + + + + + @@ -689,11 +836,14 @@ - - + + - - + + + + + @@ -703,11 +853,14 @@ - - + + - - + + + + + @@ -717,11 +870,14 @@ - - + + - - + + + + + @@ -731,11 +887,14 @@ - - + + - - + + + + + @@ -745,11 +904,14 @@ - - + + - - + + + + + @@ -759,11 +921,14 @@ - - + + - - + + + + + @@ -773,11 +938,14 @@ - - + + - - + + + + + @@ -787,11 +955,14 @@ - - + + - - + + + + + @@ -801,11 +972,14 @@ - - + + - - + + + + + @@ -815,11 +989,14 @@ - - + + - - + + + + + @@ -829,11 +1006,14 @@ - - + + - - + + + + + diff --git a/packages/g6/__tests__/snapshots/behaviors/optimize-viewport-transform/viewport-change.svg b/packages/g6/__tests__/snapshots/behaviors/optimize-viewport-transform/viewport-change.svg index e36012606e5..c9a21b8cf49 100644 --- a/packages/g6/__tests__/snapshots/behaviors/optimize-viewport-transform/viewport-change.svg +++ b/packages/g6/__tests__/snapshots/behaviors/optimize-viewport-transform/viewport-change.svg @@ -3,11 +3,14 @@ - - + + - - + + + + + @@ -17,11 +20,14 @@ - - + + - - + + + + + @@ -31,11 +37,14 @@ - - + + - - + + + + + @@ -45,11 +54,14 @@ - - + + - - + + + + + @@ -59,11 +71,14 @@ - - + + - - + + + + + @@ -73,11 +88,14 @@ - - + + - - + + + + + @@ -87,11 +105,14 @@ - - + + - - + + + + + @@ -101,11 +122,14 @@ - - + + - - + + + + + @@ -115,11 +139,14 @@ - - + + - - + + + + + @@ -129,11 +156,14 @@ - - + + - - + + + + + @@ -143,11 +173,14 @@ - - + + - - + + + + + @@ -157,11 +190,14 @@ - - + + - - + + + + + @@ -171,11 +207,14 @@ - - + + - - + + + + + @@ -185,11 +224,14 @@ - - + + - - + + + + + @@ -199,11 +241,14 @@ - - + + - - + + + + + @@ -213,11 +258,14 @@ - - + + - - + + + + + @@ -227,11 +275,14 @@ - - + + - - + + + + + @@ -241,11 +292,14 @@ - - + + - - + + + + + @@ -255,11 +309,14 @@ - - + + - - + + + + + @@ -269,11 +326,14 @@ - - + + - - + + + + + @@ -283,11 +343,14 @@ - - + + - - + + + + + @@ -297,11 +360,14 @@ - - + + - - + + + + + @@ -311,11 +377,14 @@ - - + + - - + + + + + @@ -325,11 +394,14 @@ - - + + - - + + + + + @@ -339,11 +411,14 @@ - - + + - - + + + + + @@ -353,11 +428,14 @@ - - + + - - + + + + + @@ -367,11 +445,14 @@ - - + + - - + + + + + @@ -381,11 +462,14 @@ - - + + - - + + + + + @@ -395,11 +479,14 @@ - - + + - - + + + + + @@ -409,11 +496,14 @@ - - + + - - + + + + + @@ -423,11 +513,14 @@ - - + + - - + + + + + @@ -437,11 +530,14 @@ - - + + - - + + + + + @@ -451,11 +547,14 @@ - - + + - - + + + + + @@ -465,11 +564,14 @@ - - + + - - + + + + + @@ -479,11 +581,14 @@ - - + + - - + + + + + @@ -493,11 +598,14 @@ - - + + - - + + + + + @@ -507,11 +615,14 @@ - - + + - - + + + + + @@ -521,11 +632,14 @@ - - + + - - + + + + + @@ -535,11 +649,14 @@ - - + + - - + + + + + @@ -549,11 +666,14 @@ - - + + - - + + + + + @@ -563,11 +683,14 @@ - - + + - - + + + + + @@ -577,11 +700,14 @@ - - + + - - + + + + + @@ -591,11 +717,14 @@ - - + + - - + + + + + @@ -605,11 +734,14 @@ - - + + - - + + + + + @@ -619,11 +751,14 @@ - - + + - - + + + + + @@ -633,11 +768,14 @@ - - + + - - + + + + + @@ -647,11 +785,14 @@ - - + + - - + + + + + @@ -661,11 +802,14 @@ - - + + - - + + + + + @@ -675,11 +819,14 @@ - - + + - - + + + + + @@ -689,11 +836,14 @@ - - + + - - + + + + + @@ -703,11 +853,14 @@ - - + + - - + + + + + @@ -717,11 +870,14 @@ - - + + - - + + + + + @@ -731,11 +887,14 @@ - - + + - - + + + + + @@ -745,11 +904,14 @@ - - + + - - + + + + + @@ -759,11 +921,14 @@ - - + + - - + + + + + @@ -773,11 +938,14 @@ - - + + - - + + + + + @@ -787,11 +955,14 @@ - - + + - - + + + + + @@ -801,11 +972,14 @@ - - + + - - + + + + + @@ -815,11 +989,14 @@ - - + + - - + + + + + @@ -829,11 +1006,14 @@ - - + + - - + + + + + diff --git a/packages/g6/src/behaviors/optimize-viewport-transform.ts b/packages/g6/src/behaviors/optimize-viewport-transform.ts index 61be23027c8..cde41db3839 100644 --- a/packages/g6/src/behaviors/optimize-viewport-transform.ts +++ b/packages/g6/src/behaviors/optimize-viewport-transform.ts @@ -59,22 +59,16 @@ export class OptimizeViewportTransform extends BaseBehavior { - return shapes.filter((shape) => shape.className && !classnames?.includes(shape.className)); - }; - private setElementsVisibility = ( elements: DisplayObject[], visibility: BaseStyleProps['visibility'], excludedClassnames?: string[], ) => { elements.forEach((element) => { - setVisibility( - element, - visibility, - false, - (shape) => !!shape.className && !excludedClassnames?.includes(shape.className), - ); + setVisibility(element, visibility, false, (shape) => { + if (!shape.className) return true; + return !excludedClassnames?.includes(shape.className); + }); }); };