aboutsummaryrefslogtreecommitdiff
path: root/src/fields/AudioField.ts
diff options
context:
space:
mode:
authoryipstanley <stanley_yip@brown.edu>2019-03-17 14:23:00 -0400
committeryipstanley <stanley_yip@brown.edu>2019-03-17 14:23:00 -0400
commit3d337129f112425345436aa69a95fcf03ad830d7 (patch)
treef156445b8f5afad577e4038a849290d755a8d552 /src/fields/AudioField.ts
parentb4dc598ff08c7c684daa4b75508e17213d29d8e5 (diff)
parent47da497aded0bafdc5c85c8a79a9a06d0d401e92 (diff)
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web into view_doc_impl
Diffstat (limited to 'src/fields/AudioField.ts')
-rw-r--r--src/fields/AudioField.ts31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/fields/AudioField.ts b/src/fields/AudioField.ts
new file mode 100644
index 000000000..aefcc15c1
--- /dev/null
+++ b/src/fields/AudioField.ts
@@ -0,0 +1,31 @@
+import { BasicField } from "./BasicField";
+import { Field, FieldId } from "./Field";
+import { Types } from "../server/Message";
+
+export class AudioField extends BasicField<URL> {
+ constructor(data: URL | undefined = undefined, id?: FieldId, save: boolean = true) {
+ super(data == undefined ? new URL("http://techslides.com/demos/samples/sample.mp3") : data, save, id);
+ }
+
+ toString(): string {
+ return this.Data.href;
+ }
+
+
+ ToScriptString(): string {
+ return `new AudioField("${this.Data}")`;
+ }
+
+ Copy(): Field {
+ return new AudioField(this.Data);
+ }
+
+ ToJson(): { type: Types, data: URL, _id: string } {
+ return {
+ type: Types.Audio,
+ data: this.Data,
+ _id: this.Id
+ }
+ }
+
+} \ No newline at end of file