mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
Add NonDeleted<ExcalidrawElement> (#1068)
* add NonDeleted * make test:all script run tests without prompt * rename helper * replace with helper * make element contructors return nonDeleted elements * cache filtered elements where appliacable for better perf * rename manager element getter * remove unnecessary assertion * fix test * make element types in resizeElement into nonDeleted Co-authored-by: dwelle <luzar.david@gmail.com>
This commit is contained in:
parent
c714c778ab
commit
df0613d8ac
29 changed files with 260 additions and 189 deletions
|
@ -1,4 +1,8 @@
|
|||
import { ExcalidrawElement } from "../element/types";
|
||||
import {
|
||||
ExcalidrawElement,
|
||||
NonDeletedExcalidrawElement,
|
||||
} from "../element/types";
|
||||
import { getNonDeletedElements } from "../element";
|
||||
|
||||
export interface SceneStateCallback {
|
||||
(): void;
|
||||
|
@ -8,15 +12,19 @@ export interface SceneStateCallbackRemover {
|
|||
(): void;
|
||||
}
|
||||
|
||||
class SceneState {
|
||||
class GlobalScene {
|
||||
private callbacks: Set<SceneStateCallback> = new Set();
|
||||
|
||||
constructor(private _elements: readonly ExcalidrawElement[] = []) {}
|
||||
|
||||
getAllElements() {
|
||||
getElementsIncludingDeleted() {
|
||||
return this._elements;
|
||||
}
|
||||
|
||||
getElements(): readonly NonDeletedExcalidrawElement[] {
|
||||
return getNonDeletedElements(this._elements);
|
||||
}
|
||||
|
||||
replaceAllElements(nextElements: readonly ExcalidrawElement[]) {
|
||||
this._elements = nextElements;
|
||||
this.informMutation();
|
||||
|
@ -44,4 +52,4 @@ class SceneState {
|
|||
}
|
||||
}
|
||||
|
||||
export const globalSceneState = new SceneState();
|
||||
export const globalSceneState = new GlobalScene();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue