From c45bf390c9a32560413e4868aadc6d1178efb935 Mon Sep 17 00:00:00 2001 From: chenshenhai Date: Sun, 18 May 2025 16:58:34 +0800 Subject: [PATCH 1/2] feat: add forceRender --- packages/core/src/board/viewer.ts | 3 ++- packages/core/src/index.ts | 16 ++++++++++++++++ packages/core/src/middleware/selector/index.ts | 6 ++++++ packages/idraw/src/idraw.ts | 4 ++++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/packages/core/src/board/viewer.ts b/packages/core/src/board/viewer.ts index 3385547..cdfd261 100644 --- a/packages/core/src/board/viewer.ts +++ b/packages/core/src/board/viewer.ts @@ -90,7 +90,8 @@ export class Viewer extends EventEmitter implements BoardVi this.#drawFrameStatus = 'COMPLETE'; return; } - if ((this.#drawFrameStatus = 'DRAWING')) { + + if (this.#drawFrameStatus === 'DRAWING') { requestAnimationFrame(() => { this.#drawAnimationFrame(); }); diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 356a4b8..80ec0ea 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -179,6 +179,22 @@ export class Core { this.#board.getViewer().drawFrame(); } + forceRender() { + const renderer = this.#board.getRenderer(); + const calculator = renderer.getCalculator(); + const loader = renderer.getLoader(); + const data = this.getData(); + if (data) { + const { viewScaleInfo, viewSizeInfo } = this.getViewInfo(); + calculator.resetVirtualFlatItemMap(data, { + viewScaleInfo, + viewSizeInfo + }); + } + loader.reset(); + this.refresh(); + } + setViewScale(opts: { scale: number; offsetX: number; offsetY: number }) { this.#board.updateViewScaleInfo(opts); } diff --git a/packages/core/src/middleware/selector/index.ts b/packages/core/src/middleware/selector/index.ts index c4443a2..7c30f9d 100644 --- a/packages/core/src/middleware/selector/index.ts +++ b/packages/core/src/middleware/selector/index.ts @@ -419,6 +419,12 @@ export const MiddlewareSelector: Middleware< prevPoint = e.point; moveOriginalStartPoint = e.point; + sharer.setSharedStorage(keyActionType, null); + sharer.setSharedStorage(keyResizeType, null); + sharer.setSharedStorage(keyAreaStart, null); + sharer.setSharedStorage(keyAreaEnd, null); + sharer.setSharedStorage(keyHoverElement, null); + const groupQueue = sharer.getSharedStorage(keyGroupQueue); if (groupQueue?.length > 0) { diff --git a/packages/idraw/src/idraw.ts b/packages/idraw/src/idraw.ts index 9218a24..8a899a5 100644 --- a/packages/idraw/src/idraw.ts +++ b/packages/idraw/src/idraw.ts @@ -227,4 +227,8 @@ export class iDraw { getCore() { return this.#core; } + + forceRender() { + return this.#core.forceRender(); + } } From 8124e2d71cac8f5f962e55fa2a818c379e364f29 Mon Sep 17 00:00:00 2001 From: chenshenhai Date: Sun, 18 May 2025 16:59:02 +0800 Subject: [PATCH 2/2] chore: upgrade version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 055268a..1fc0c94 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": false, - "version": "0.4.0-beta.43", + "version": "0.4.0-beta.44", "workspaces": [ "packages/*" ],