From 3de39e2608e62a278b9c8cc37b53333f0877fa59 Mon Sep 17 00:00:00 2001 From: Tyler Schicke Date: Tue, 15 Jan 2019 07:57:16 -0500 Subject: Have most of document stuff working --- src/views/freeformcanvas/FreeFormCanvas.tsx | 10 +++++ src/views/freeformcanvas/NodeContainer.tsx | 9 ++--- src/views/nodes/DocumentView.tsx | 63 +++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 6 deletions(-) create mode 100644 src/views/nodes/DocumentView.tsx (limited to 'src/views') diff --git a/src/views/freeformcanvas/FreeFormCanvas.tsx b/src/views/freeformcanvas/FreeFormCanvas.tsx index dada8f9e5..a80e11ef5 100644 --- a/src/views/freeformcanvas/FreeFormCanvas.tsx +++ b/src/views/freeformcanvas/FreeFormCanvas.tsx @@ -3,6 +3,8 @@ import { NodeCollectionStore } from "../../stores/NodeCollectionStore"; import "./FreeFormCanvas.scss"; import { NodeContainer } from "./NodeContainer"; import React = require("react"); +import { KeyStore } from "../../controllers/KeyController"; +import { NumberController } from "../../controllers/NumberController"; interface IProps { store: NodeCollectionStore @@ -29,6 +31,14 @@ export class FreeFormCanvas extends React.Component { this._isPointerDown = false; document.removeEventListener("pointermove", this.onPointerMove); document.removeEventListener("pointerup", this.onPointerUp); + + let doc = this.props.store.Docs[0]; + let xField = doc.GetFieldT(KeyStore.X, NumberController); + let x = xField ? xField.Data : 0; + let yField = doc.GetFieldT(KeyStore.Y, NumberController); + let y = yField ? yField.Data : 0; + this.props.store.Docs[0].SetFieldValue(KeyStore.X, x + 10, NumberController); + this.props.store.Docs[0].SetFieldValue(KeyStore.Y, y + 10, NumberController); } onPointerMove = (e: PointerEvent): void => { diff --git a/src/views/freeformcanvas/NodeContainer.tsx b/src/views/freeformcanvas/NodeContainer.tsx index a2edb38a4..c59ab194e 100644 --- a/src/views/freeformcanvas/NodeContainer.tsx +++ b/src/views/freeformcanvas/NodeContainer.tsx @@ -6,6 +6,7 @@ import { TextNodeView } from "../nodes/TextNodeView"; import { VideoNodeView } from "../nodes/VideoNodeView"; import "./FreeFormCanvas.scss"; import React = require("react"); +import { DocumentView } from "../nodes/DocumentView"; interface IProps { store: NodeCollectionStore @@ -17,12 +18,8 @@ export class NodeContainer extends React.Component { render() { return (
- {this.props.store.Nodes.map(nodeStore => { - if (nodeStore instanceof StaticTextNodeStore) { - return () - } else if (nodeStore instanceof VideoNodeStore) { - return () - } + {this.props.store.Docs.map(doc => { + return (); })}
); diff --git a/src/views/nodes/DocumentView.tsx b/src/views/nodes/DocumentView.tsx new file mode 100644 index 000000000..d3f025388 --- /dev/null +++ b/src/views/nodes/DocumentView.tsx @@ -0,0 +1,63 @@ +import { observer } from "mobx-react"; +import { DocumentController } from "../../controllers/DocumentController"; +import React = require("react"); +import { computed } from "mobx"; +import { KeyStore } from "../../controllers/KeyController"; +import { NumberController } from "../../controllers/NumberController"; +import { TextController } from "../../controllers/TextController"; + +interface IProps { + doc:DocumentController; +} + +@observer +export class DocumentView extends React.Component { + @computed + get x(): number { + let field = this.props.doc.GetFieldT(KeyStore.X, NumberController); + return field ? field.Data : 0; + } + + @computed + get y(): number { + let field = this.props.doc.GetFieldT(KeyStore.Y, NumberController); + return field ? field.Data : 0; + } + + @computed + get transform(): string { + return `translate(${this.x}px, ${this.y}px)`; + } + + @computed + get width(): number { + let field = this.props.doc.GetFieldT(KeyStore.Width, NumberController); + return field ? field.Data : 0; + } + + @computed + get height(): number { + let field = this.props.doc.GetFieldT(KeyStore.Height, NumberController); + return field ? field.Data : 0; + } + + //Temp + @computed + get data(): string { + let field = this.props.doc.GetFieldT(KeyStore.Data, TextController); + return field ? field.Data : ""; + } + + render() { + return ( +
+

{this.data}

+
+ ); + } + +} \ No newline at end of file -- cgit v1.2.3-70-g09d2