feat: add forceRender

This commit is contained in:
chenshenhai 2025-05-18 16:58:34 +08:00
parent f225d9aa58
commit c45bf390c9
4 changed files with 28 additions and 1 deletions

View file

@ -90,7 +90,8 @@ export class Viewer extends EventEmitter<BoardViewerEventMap> implements BoardVi
this.#drawFrameStatus = 'COMPLETE';
return;
}
if ((this.#drawFrameStatus = 'DRAWING')) {
if (this.#drawFrameStatus === 'DRAWING') {
requestAnimationFrame(() => {
this.#drawAnimationFrame();
});

View file

@ -179,6 +179,22 @@ export class Core<E extends CoreEventMap = CoreEventMap> {
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);
}

View file

@ -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) {

View file

@ -227,4 +227,8 @@ export class iDraw {
getCore() {
return this.#core;
}
forceRender() {
return this.#core.forceRender();
}
}