diff options
| author | madelinegr <laura_wilson@brown.edu> | 2019-02-27 00:56:43 -0500 |
|---|---|---|
| committer | madelinegr <laura_wilson@brown.edu> | 2019-02-27 00:56:43 -0500 |
| commit | f7829f425e1ccbc6baa2059c91fa914d21963440 (patch) | |
| tree | d3ac69e2ac34eb132a4af987545eaf2e209605fe /src/fields | |
| parent | 6d96342814874fe5ceec7264887a37e8aa1fab20 (diff) | |
| parent | 7d7d9349a9c2c7136eccf8d08af506d00f2bd2fd (diff) | |
merged
Diffstat (limited to 'src/fields')
| -rw-r--r-- | src/fields/Document.ts | 5 | ||||
| -rw-r--r-- | src/fields/WebField.ts | 30 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/fields/Document.ts b/src/fields/Document.ts index 6193ea56c..5b91de6ed 100644 --- a/src/fields/Document.ts +++ b/src/fields/Document.ts @@ -8,6 +8,7 @@ import { ListField } from "./ListField"; import { Server } from "../client/Server"; import { Types } from "../server/Message"; import { UndoManager } from "../client/util/UndoManager"; +import { HtmlField } from "./HtmlField"; export class Document extends Field { public fields: ObservableMap<string, { key: Key, field: Field }> = new ObservableMap(); @@ -125,6 +126,10 @@ export class Document extends Field { return vval; } + GetHtml(key: Key, defaultVal: string): string { + return this.GetData(key, HtmlField, defaultVal); + } + GetNumber(key: Key, defaultVal: number): number { return this.GetData(key, NumberField, defaultVal); } diff --git a/src/fields/WebField.ts b/src/fields/WebField.ts new file mode 100644 index 000000000..8f945d686 --- /dev/null +++ b/src/fields/WebField.ts @@ -0,0 +1,30 @@ +import { BasicField } from "./BasicField"; +import { Field, FieldId } from "./Field"; +import { Types } from "../server/Message"; + +export class WebField extends BasicField<URL> { + constructor(data: URL | undefined = undefined, id?: FieldId, save: boolean = true) { + super(data == undefined ? new URL("https://crossorigin.me/" + "https://cs.brown.edu/") : data, save, id); + } + + toString(): string { + return this.Data.href; + } + + ToScriptString(): string { + return `new WebField("${this.Data}")`; + } + + Copy(): Field { + return new WebField(this.Data); + } + + ToJson(): { type: Types, data: URL, _id: string } { + return { + type: Types.Web, + data: this.Data, + _id: this.Id + } + } + +}
\ No newline at end of file |
