diff options
author | madelinegr <laura_wilson@brown.edu> | 2019-02-18 19:38:08 -0500 |
---|---|---|
committer | madelinegr <laura_wilson@brown.edu> | 2019-02-18 19:38:08 -0500 |
commit | 6fd2cec91efd6672a70e15a786954f92c1d23416 (patch) | |
tree | 0cbf4c1dd399bd041e05eb4c911a642547f673f9 /src/fields/BasicField.ts | |
parent | 41ba832136aef2b7e6a5034486757aa4b3047cf9 (diff) | |
parent | 70a8b4ab8075af4d06efb04c083b3bf11636373e (diff) |
Merge remote-tracking branch 'origin/server_database_merge' into authentication
Diffstat (limited to 'src/fields/BasicField.ts')
-rw-r--r-- | src/fields/BasicField.ts | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/fields/BasicField.ts b/src/fields/BasicField.ts index 9476f5d21..15eb067a0 100644 --- a/src/fields/BasicField.ts +++ b/src/fields/BasicField.ts @@ -3,14 +3,23 @@ import { observable, computed, action } from "mobx"; import { Server } from "../client/Server"; export abstract class BasicField<T> extends Field { - constructor(data: T, id: FIELD_ID = undefined) { + constructor(data: T, save: boolean, id: FIELD_ID = undefined) { super(id); this.data = data; + if (save) { + Server.UpdateField(this) + } + } + + UpdateFromServer(data: any) { + if (this.data !== data) { + this.data = data; + } } @observable - private data: T; + protected data: T; @computed get Data(): T { @@ -18,10 +27,9 @@ export abstract class BasicField<T> extends Field { } set Data(value: T) { - if (this.data === value) { - return; + if (this.data != value) { + this.data = value; } - this.data = value; Server.UpdateField(this); } |