aboutsummaryrefslogtreecommitdiff
path: root/src/stores/NodeCollectionStore.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/stores/NodeCollectionStore.ts')
-rw-r--r--src/stores/NodeCollectionStore.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/stores/NodeCollectionStore.ts b/src/stores/NodeCollectionStore.ts
new file mode 100644
index 000000000..7fac83d51
--- /dev/null
+++ b/src/stores/NodeCollectionStore.ts
@@ -0,0 +1,26 @@
+import { computed, observable, action } from "mobx";
+import { NodeStore } from "./NodeStore";
+import { Document } from "../fields/Document";
+
+export class NodeCollectionStore extends NodeStore {
+
+ @observable
+ public Scale: number = 1;
+
+ @observable
+ public Nodes: NodeStore[] = new Array<NodeStore>();
+
+ @observable
+ public Docs: Document[] = [];
+
+ @computed
+ public get Transform(): string {
+ const halfWidth = window.innerWidth / 2, halfHeight = window.innerHeight / 2;
+ return `translate(${this.X + halfWidth}px, ${this.Y + halfHeight}px) scale(${this.Scale}) translate(${-halfWidth}px, ${-halfHeight}px)`;
+ }
+
+ @action
+ public AddNodes(stores: NodeStore[]): void {
+ stores.forEach(store => this.Nodes.push(store));
+ }
+} \ No newline at end of file