aboutsummaryrefslogtreecommitdiff
path: root/src/Main.tsx
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-02-05 14:51:05 -0500
committerTyler Schicke <tyler_schicke@brown.edu>2019-02-05 18:48:56 -0500
commit164f7e35edae1ee037905549ecbe90584272b4d5 (patch)
treedb0beed0b0a2298e8b36603ca6b066f19479dfea /src/Main.tsx
parent1e3b49bc7399aa0334355cea0f766c1ea7322ff9 (diff)
Got scripting running
Diffstat (limited to 'src/Main.tsx')
-rw-r--r--src/Main.tsx89
1 files changed, 49 insertions, 40 deletions
diff --git a/src/Main.tsx b/src/Main.tsx
index aae35aa36..d79909545 100644
--- a/src/Main.tsx
+++ b/src/Main.tsx
@@ -38,53 +38,62 @@ document.addEventListener("pointerdown", action(function (e: PointerEvent) {
//runInAction(() =>
-{
- let doc1 = Documents.TextDocument({ title: "hello" });
- let doc2 = doc1.MakeDelegate();
- doc2.SetField(KS.X, new NumberField(150));
- doc2.SetField(KS.Y, new NumberField(20));
- let doc3 = Documents.ImageDocument("https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Cat03.jpg/1200px-Cat03.jpg", {
- x: 450, y: 500, title: "cat 1"
- });
- console.log("script: " + CompileScript("(function(doc: Document): any {return doc.GetNumberField(this.KeyStore.X, 0)})")()(doc3));
- const schemaDocs = Array.from(Array(5).keys()).map(v => Documents.ImageDocument("https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Cat03.jpg/1200px-Cat03.jpg", {
- x: 50 + 100 * v, y: 50, width: 100, height: 100, title: "cat" + v
- }));
- schemaDocs[0].SetFieldValue(KS.Author, "Tyler", TextField);
- schemaDocs[4].SetFieldValue(KS.Author, "Bob", TextField);
- schemaDocs.push(doc2);
- const doc7 = Documents.SchemaDocument(schemaDocs)
- const docset = [doc1, doc2, doc3, doc7];
- let doc4 = Documents.CollectionDocument(docset, {
- x: 0, y: 400, title: "mini collection"
- });
- let doc5 = Documents.ImageDocument("https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Cat03.jpg/1200px-Cat03.jpg", {
- x: 650, y: 500, width: 600, height: 600, title: "cat 2"
- });
- let docset2 = new Array<Document>(doc4, doc1, doc3);
- let doc6 = Documents.CollectionDocument(docset2, {
- x: 350, y: 100, width: 600, height: 600, title: "docking collection"
- });
- let mainNodes = null;// mainContainer.GetFieldT(KeyStore.Data, ListField);
- if (!mainNodes) {
- mainNodes = new ListField<Document>();
- }
- // mainNodes.Data.push(doc1);
- // mainNodes.Data.push(doc2);
- mainNodes.Data.push(doc4);
- // mainNodes.Data.push(doc3);
- mainNodes.Data.push(doc5);
- // mainNodes.Data.push(doc1);
- //mainNodes.Data.push(doc2);
- mainNodes.Data.push(doc6);
- mainContainer.SetField(KeyStore.Data, mainNodes);
+//{
+let doc1 = Documents.TextDocument({ title: "hello" });
+let doc2 = doc1.MakeDelegate();
+doc2.SetField(KS.X, new NumberField(150));
+doc2.SetField(KS.Y, new NumberField(20));
+let doc3 = Documents.ImageDocument("https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Cat03.jpg/1200px-Cat03.jpg", {
+ x: 450, y: 500, title: "cat 1"
+});
+console.log("script: " + CompileScript("(function(doc: Document): any {return doc.GetNumberField(KeyStore.X, 0)})")()(doc3));
+const schemaDocs = Array.from(Array(5).keys()).map(v => Documents.ImageDocument("https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Cat03.jpg/1200px-Cat03.jpg", {
+ x: 50 + 100 * v, y: 50, width: 100, height: 100, title: "cat" + v
+}));
+schemaDocs[0].SetFieldValue(KS.Author, "Tyler", TextField);
+schemaDocs[4].SetFieldValue(KS.Author, "Bob", TextField);
+schemaDocs.push(doc2);
+const doc7 = Documents.SchemaDocument(schemaDocs)
+const docset = [doc1, doc2, doc3, doc7];
+let doc4 = Documents.CollectionDocument(docset, {
+ x: 0, y: 400, title: "mini collection"
+});
+let doc5 = Documents.ImageDocument("https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Cat03.jpg/1200px-Cat03.jpg", {
+ x: 650, y: 500, width: 600, height: 600, title: "cat 2"
+});
+let docset2 = new Array<Document>(doc4, doc1, doc3);
+let doc6 = Documents.CollectionDocument(docset2, {
+ x: 350, y: 100, width: 600, height: 600, title: "docking collection"
+});
+let mainNodes = null;// mainContainer.GetFieldT(KeyStore.Data, ListField);
+if (!mainNodes) {
+ mainNodes = new ListField<Document>();
}
+// mainNodes.Data.push(doc1);
+// mainNodes.Data.push(doc2);
+mainNodes.Data.push(doc4);
+// mainNodes.Data.push(doc3);
+mainNodes.Data.push(doc5);
+// mainNodes.Data.push(doc1);
+//mainNodes.Data.push(doc2);
+mainNodes.Data.push(doc6);
+mainContainer.SetField(KeyStore.Data, mainNodes);
+//}
//);
+function keydown(e: React.KeyboardEvent<HTMLTextAreaElement>) {
+ if (e.key == "Enter" && e.ctrlKey) {
+ console.log(CompileScript(e.currentTarget.value)()([doc1, doc2, doc3, doc4, doc5]));
+ e.preventDefault();
+ e.stopPropagation();
+ }
+}
+
ReactDOM.render((
<div style={{ position: "absolute", width: "100%", height: "100%" }}>
<DocumentView Document={mainContainer} ContainingCollectionView={undefined} ContainingDocumentView={undefined} />
<DocumentDecorations />
<ContextMenu />
+ <textarea onKeyDown={keydown} style={{ position: "absolute", left: "0px", top: "0px" }} />
</div>),
document.getElementById('root')); \ No newline at end of file