aboutsummaryrefslogtreecommitdiff
path: root/src/fields/Document.ts
diff options
context:
space:
mode:
authorBob Zeleznik <zzzman@gmail.com>2019-04-13 19:39:37 -0400
committerBob Zeleznik <zzzman@gmail.com>2019-04-13 19:39:37 -0400
commitd6fd8338a440085c1ba865c4771c0871208e961e (patch)
tree3839b2fb83579b755ba02062079a288ad52d3bb5 /src/fields/Document.ts
parenta23b160d19beff9163f970f7ae678c2aed9ce14e (diff)
cleaning up network data transfer.
Diffstat (limited to 'src/fields/Document.ts')
-rw-r--r--src/fields/Document.ts17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/fields/Document.ts b/src/fields/Document.ts
index 628fe684c..7cf784f0e 100644
--- a/src/fields/Document.ts
+++ b/src/fields/Document.ts
@@ -26,6 +26,12 @@ export class Document extends Field {
Server.UpdateField(this);
}
}
+ static FromJson(data: any, id: string, save: boolean): Document {
+ let doc = new Document(id, save);
+ let fields = data as [string, string][];
+ fields.forEach(pair => doc._proxies.set(pair[0], pair[1]));
+ return doc;
+ }
UpdateFromServer(data: [string, string][]) {
for (const key in data) {
@@ -410,18 +416,15 @@ export class Document extends Field {
return copy;
}
- ToJson(): { type: Types; data: [string, string][]; _id: string } {
+ ToJson() {
let fields: [string, string][] = [];
- this._proxies.forEach((field, key) => {
- if (field) {
- fields.push([key, field]);
- }
- });
+ this._proxies.forEach((field, key) =>
+ field && fields.push([key, field]));
return {
type: Types.Document,
data: fields,
- _id: this.Id
+ id: this.Id
};
}
}