aboutsummaryrefslogtreecommitdiff
path: root/src/debug/Test.tsx
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-08-01 15:39:10 -0400
committerTyler Schicke <tyler_schicke@brown.edu>2019-08-01 15:39:10 -0400
commit4f09fdb59b71cc945c6af9ff25ea164e7f9d5f13 (patch)
treeb8814b9a584690f469fbf99c8f26eba6096f00a0 /src/debug/Test.tsx
parentdcd3be8908fb91720ef2276c8ca36936a15c78f6 (diff)
Cleaned up and fixed up GetRefFields
Diffstat (limited to 'src/debug/Test.tsx')
-rw-r--r--src/debug/Test.tsx88
1 files changed, 23 insertions, 65 deletions
diff --git a/src/debug/Test.tsx b/src/debug/Test.tsx
index 0dca4b4b1..79f87f4ac 100644
--- a/src/debug/Test.tsx
+++ b/src/debug/Test.tsx
@@ -1,81 +1,39 @@
import * as React from 'react';
import * as ReactDOM from 'react-dom';
-import { SerializationHelper } from '../client/util/SerializationHelper';
-import { createSchema, makeInterface, makeStrictInterface, listSpec } from '../new_fields/Schema';
-import { ImageField } from '../new_fields/URLField';
+import { DocServer } from '../client/DocServer';
import { Doc } from '../new_fields/Doc';
-import { List } from '../new_fields/List';
-
-const schema1 = createSchema({
- hello: "number",
- test: "string",
- fields: "boolean",
- url: ImageField,
- testDoc: Doc
-});
-
-type TestDoc = makeInterface<[typeof schema1]>;
-const TestDoc: (doc?: Doc) => TestDoc = makeInterface(schema1);
-
-const schema2 = createSchema({
- hello: ImageField,
- test: "boolean",
- fields: listSpec("number"),
- url: "number",
- testDoc: ImageField
-});
-
-const Test2Doc = makeStrictInterface(schema2);
-type Test2Doc = makeStrictInterface<typeof schema2>;
-
-const assert = (bool: boolean) => {
- if (!bool) throw new Error();
-};
+const protoId = "protoDoc";
+const delegateId = "delegateDoc";
class Test extends React.Component {
- onClick = () => {
- const url = new ImageField(new URL("http://google.com"));
- const doc = new Doc();
- const doc2 = new Doc();
- doc.hello = 5;
- doc.fields = "test";
- doc.test = "hello doc";
- doc.url = url;
- //doc.testDoc = doc2;
-
+ onCreateClick = () => {
+ const proto = new Doc(protoId, true);
+ const delegate = Doc.MakeDelegate(proto, delegateId);
+ }
- const test1: TestDoc = TestDoc(doc);
- assert(test1.hello === 5);
- assert(test1.fields === undefined);
- assert(test1.test === "hello doc");
- assert(test1.url === url);
- assert(test1.testDoc === doc2);
- test1.myField = 20;
- assert(test1.myField === 20);
+ onReadClick = async () => {
+ console.log("reading");
+ const docs = await DocServer.GetRefFields([delegateId, protoId]);
+ console.log("done");
+ console.log(docs);
+ }
- const test2: Test2Doc = Test2Doc(doc);
- assert(test2.hello === undefined);
- // assert(test2.fields === "test");
- assert(test2.test === undefined);
- assert(test2.url === undefined);
- assert(test2.testDoc === undefined);
- test2.url = 35;
- assert(test2.url === 35);
- const l = new List<Doc>();
- //TODO push, and other array functions don't go through the proxy
- l.push(doc2);
- //TODO currently length, and any other string fields will get serialized
- doc.list = l;
- console.log(l.slice());
+ onDeleteClick = () => {
+ DocServer.DeleteDocuments([protoId, delegateId]);
}
render() {
- return <div><button onClick={this.onClick}>Click me</button>
- {/* <input onKeyPress={this.onEnter}></input> */}
- </div>;
+ return (
+ <div>
+ <button onClick={this.onCreateClick}>Create Docs</button>
+ <button onClick={this.onReadClick}>Read Docs</button>
+ <button onClick={this.onDeleteClick}>Delete Docs</button>
+ </div>
+ );
}
}
+DocServer.init(window.location.protocol, window.location.hostname, 4321, "test");
ReactDOM.render(
<Test />,
document.getElementById('root')