aboutsummaryrefslogtreecommitdiff
path: root/src/fields/Field.ts
diff options
context:
space:
mode:
authormadelinegr <laura_wilson@brown.edu>2019-02-18 19:38:08 -0500
committermadelinegr <laura_wilson@brown.edu>2019-02-18 19:38:08 -0500
commit6fd2cec91efd6672a70e15a786954f92c1d23416 (patch)
tree0cbf4c1dd399bd041e05eb4c911a642547f673f9 /src/fields/Field.ts
parent41ba832136aef2b7e6a5034486757aa4b3047cf9 (diff)
parent70a8b4ab8075af4d06efb04c083b3bf11636373e (diff)
Merge remote-tracking branch 'origin/server_database_merge' into authentication
Diffstat (limited to 'src/fields/Field.ts')
-rw-r--r--src/fields/Field.ts17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/fields/Field.ts b/src/fields/Field.ts
index 16569e175..853fb9327 100644
--- a/src/fields/Field.ts
+++ b/src/fields/Field.ts
@@ -1,15 +1,6 @@
import { Utils } from "../Utils";
import { Types } from "../server/Message";
-import { NumberField } from "./NumberField";
-import { TextField } from "./TextField";
-import { RichTextField } from "./RichTextField";
-import { KeyStore, Key } from "./Key";
-import { ImageField } from "./ImageField";
-import { ListField } from "./ListField";
-import { Document } from "./Document";
-import { Server } from "../client/Server";
-import { ObjectID } from "bson";
export function Cast<T extends Field>(field: FieldValue<Field>, ctor: { new(): T }): Opt<T> {
if (field) {
@@ -29,6 +20,10 @@ export type FieldValue<T> = Opt<T> | FIELD_WAITING;
export abstract class Field {
//FieldUpdated: TypedEvent<Opt<FieldUpdatedArgs>> = new TypedEvent<Opt<FieldUpdatedArgs>>();
+ init(callback: (res: Field) => any) {
+ callback(this);
+ }
+
private id: string;
get Id(): string {
return this.id;
@@ -57,6 +52,8 @@ export abstract class Field {
return this.id === other.id;
}
+ abstract UpdateFromServer(serverData: any): void;
+
abstract ToScriptString(): string;
abstract TrySetValue(value: any): boolean;
@@ -65,5 +62,5 @@ export abstract class Field {
abstract Copy(): Field;
- abstract ToJson(): { _id: String, type: Types, data: any }
+ abstract ToJson(): { _id: string, type: Types, data: any }
} \ No newline at end of file