diff options
author | Tyler Schicke <tyler_schicke@brown.edu> | 2019-04-14 00:55:02 -0400 |
---|---|---|
committer | Tyler Schicke <tyler_schicke@brown.edu> | 2019-04-14 00:55:02 -0400 |
commit | 62bef22f6de775f7c2a33a2eb42e34ee9ee321d8 (patch) | |
tree | 80a4e4b76169759d0670d20eb65a8a4f5239ac83 /src/fields/Document.ts | |
parent | 8c801b3c98e1eaae297b0f1682b42fc478a1b887 (diff) | |
parent | 9e3bfb7308247af8766bff73d02d566a746735b9 (diff) |
Merge branch 'master' of github-tsch-brown:browngraphicslab/Dash-Web into tyler_search
Diffstat (limited to 'src/fields/Document.ts')
-rw-r--r-- | src/fields/Document.ts | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/fields/Document.ts b/src/fields/Document.ts index 884e7374b..62606ddba 100644 --- a/src/fields/Document.ts +++ b/src/fields/Document.ts @@ -26,11 +26,16 @@ 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 { key: string, field: string }[]; + fields.forEach(pair => doc._proxies.set(pair.key, pair.field)); + return doc; + } - UpdateFromServer(data: [string, string][]) { - for (const key in data) { - const element = data[key]; - this._proxies.set(element[0], element[1]); + UpdateFromServer(data: { key: string, field: string }[]) { + for (const kv of data) { + this._proxies.set(kv.key, kv.field); } } @@ -410,18 +415,15 @@ export class Document extends Field { return copy; } - ToJson(): { type: Types; data: { key: string, field: string }[]; _id: string } { + ToJson() { let fields: { key: string, field: 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 }; } } |