aboutsummaryrefslogtreecommitdiff
path: root/src/fields/KVPField.ts
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-03-01 22:32:57 -0500
committerTyler Schicke <tyler_schicke@brown.edu>2019-03-01 22:32:57 -0500
commit623db01495fb1a07d905fcfcd8330efe6473d63b (patch)
tree02feeb411eebc187a2c7317dd80ba7a29688c9a0 /src/fields/KVPField.ts
parent13a5b32b04e65c154aeb12190e761d8174b858e9 (diff)
parentbde8aabad7e5745b4797e73b564e4efb19faeca9 (diff)
Merge branch 'master' of github-tsch-brown:browngraphicslab/Dash-Web into navigation
Diffstat (limited to 'src/fields/KVPField.ts')
-rw-r--r--src/fields/KVPField.ts30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/fields/KVPField.ts b/src/fields/KVPField.ts
new file mode 100644
index 000000000..a7ecc0768
--- /dev/null
+++ b/src/fields/KVPField.ts
@@ -0,0 +1,30 @@
+import { BasicField } from "./BasicField"
+import { FieldId } from "./Field";
+import { Types } from "../server/Message";
+import { Document } from "./Document"
+
+export class KVPField extends BasicField<Document> {
+ constructor(data: Document | undefined = undefined, id?: FieldId, save: boolean = true) {
+ super(data == undefined ? new Document() : data, save, id);
+ }
+
+ toString(): string {
+ return this.Data.Title;
+ }
+
+ ToScriptString(): string {
+ return `new KVPField("${this.Data}")`;
+ }
+
+ Copy() {
+ return new KVPField(this.Data);
+ }
+
+ ToJson(): { type: Types, data: Document, _id: string } {
+ return {
+ type: Types.Text,
+ data: this.Data,
+ _id: this.Id
+ }
+ }
+} \ No newline at end of file