aboutsummaryrefslogtreecommitdiff
path: root/src/fields/WebField.ts
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-03-02 23:10:01 -0500
committerTyler Schicke <tyler_schicke@brown.edu>2019-03-02 23:10:01 -0500
commitfd77567ca4cb2afbaa9c2df1a71f8ae728369bb1 (patch)
tree123b826150a9714b4431a2a55ba948e13608099f /src/fields/WebField.ts
parent6d456bbe4a2de50abe1a4b338d1f446d3123b321 (diff)
parentf1be2fc29ea59c05a3ece851df3ed72adb07a0c2 (diff)
Merge branch 'master' of github-tsch-brown:browngraphicslab/Dash-Web into contextMenu
Diffstat (limited to 'src/fields/WebField.ts')
-rw-r--r--src/fields/WebField.ts30
1 files changed, 30 insertions, 0 deletions
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