diff options
author | Bob Zeleznik <zzzman@gmail.com> | 2019-04-14 21:44:36 -0400 |
---|---|---|
committer | Bob Zeleznik <zzzman@gmail.com> | 2019-04-14 21:44:36 -0400 |
commit | a5ae4d9867ed98e0e3ae52dee47596c62e2f74f7 (patch) | |
tree | 46bd0ab317c5a61892071071a5ab6889a1a97911 /src/fields/Document.ts | |
parent | 7b7f1fb2865522da414314afbdb09847e7a9409c (diff) | |
parent | c787b0eac374b4dabf6ede7ee40e77a28815d5c8 (diff) |
Merge branch 'master' into interaction_changes
Diffstat (limited to 'src/fields/Document.ts')
-rw-r--r-- | src/fields/Document.ts | 17 |
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 }; } } |