aboutsummaryrefslogtreecommitdiff
path: root/src/mobile/ImageUpload.tsx
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-04-26 21:14:50 -0400
committerTyler Schicke <tyler_schicke@brown.edu>2019-04-26 21:14:50 -0400
commit7cda7f95e724bb621c57b5c53b083e6d6245afa5 (patch)
tree05697dcfe49e4aff8a6edb26d0d3c2341dc21778 /src/mobile/ImageUpload.tsx
parentf01b842a5d6ef6b9deb9807fa0c3a8cd2c81a25a (diff)
More
Diffstat (limited to 'src/mobile/ImageUpload.tsx')
-rw-r--r--src/mobile/ImageUpload.tsx34
1 files changed, 18 insertions, 16 deletions
diff --git a/src/mobile/ImageUpload.tsx b/src/mobile/ImageUpload.tsx
index ec89a1194..1f9e160ce 100644
--- a/src/mobile/ImageUpload.tsx
+++ b/src/mobile/ImageUpload.tsx
@@ -1,15 +1,14 @@
import * as ReactDOM from 'react-dom';
import * as rp from 'request-promise';
-import { Documents } from '../client/documents/Documents';
-import { Server } from '../client/Server';
-import { Document } from '../fields/Document';
-import { KeyStore } from '../fields/KeyStore';
-import { ListField } from '../fields/ListField';
+import { Docs } from '../client/documents/Documents';
import { RouteStore } from '../server/RouteStore';
-import { ServerUtils } from '../server/ServerUtil';
import "./ImageUpload.scss";
import React = require('react');
-import { Opt } from '../fields/Field';
+import { DocServer } from '../client/DocServer';
+import { Opt, Doc } from '../new_fields/Doc';
+import { Cast } from '../new_fields/Types';
+import { listSpec } from '../new_fields/Schema';
+import { List } from '../new_fields/List';
@@ -38,21 +37,24 @@ const onFileLoad = async (file: any) => {
const json = await res.json();
json.map(async (file: any) => {
let path = window.location.origin + file;
- var doc: Document = Documents.ImageDocument(path, { nativeWidth: 200, width: 200 });
+ var doc = Docs.ImageDocument(path, { nativeWidth: 200, width: 200 });
- const res = await rp.get(ServerUtils.prepend(RouteStore.getUserDocumentId));
+ const res = await rp.get(DocServer.prepend(RouteStore.getUserDocumentId));
if (!res) {
throw new Error("No user id returned");
}
- const field = await Server.GetField(res);
- let pending: Opt<Document>;
- if (field instanceof Document) {
- pending = await field.GetTAsync(KeyStore.OptionalRightCollection, Document);
+ const field = await DocServer.GetRefField(res);
+ let pending: Opt<Doc>;
+ if (field instanceof Doc) {
+ pending = await Cast(field.optionalRightCollection, Doc);
}
if (pending) {
- pending.GetOrCreateAsync(KeyStore.Data, ListField, list => {
- list.Data.push(doc);
- });
+ const data = await Cast(pending.data, listSpec(Doc));
+ if (data) {
+ data.push(doc);
+ } else {
+ pending.data = new List([doc]);
+ }
}
});