diff options
author | madelinegr <mgriswold99@gmail.com> | 2019-02-12 18:55:11 -0500 |
---|---|---|
committer | madelinegr <mgriswold99@gmail.com> | 2019-02-12 18:55:11 -0500 |
commit | 1d667d19f5402dc9f9069e0a57008dac96f6de2a (patch) | |
tree | 59572ebc84ae0dea9780c96a6d43a811a21fed10 /src/fields/BasicField 2.ts | |
parent | 7a93f60c9529e5d175e617fc7c07145a9b33e572 (diff) |
set up web box classes
Diffstat (limited to 'src/fields/BasicField 2.ts')
-rw-r--r-- | src/fields/BasicField 2.ts | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/fields/BasicField 2.ts b/src/fields/BasicField 2.ts new file mode 100644 index 000000000..437024d07 --- /dev/null +++ b/src/fields/BasicField 2.ts @@ -0,0 +1,38 @@ +import { Field } from "./Field" +import { observable, computed, action } from "mobx"; + +export abstract class BasicField<T> extends Field { + constructor(data: T) { + super(); + + this.data = data; + } + + @observable + private data:T; + + @computed + get Data(): T { + return this.data; + } + + set Data(value: T) { + if(this.data === value) { + return; + } + this.data = value; + } + + @action + TrySetValue(value: any): boolean { + if (typeof value == typeof this.data) { + this.Data = value; + return true; + } + return false; + } + + GetValue(): any { + return this.Data; + } +} |