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/*" ], 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(); + } }