aboutsummaryrefslogtreecommitdiff
path: root/src/fields
diff options
context:
space:
mode:
Diffstat (limited to 'src/fields')
-rw-r--r--src/fields/Doc.ts4
-rw-r--r--src/fields/URLField.ts1
-rw-r--r--src/fields/documentSchemas.ts2
3 files changed, 6 insertions, 1 deletions
diff --git a/src/fields/Doc.ts b/src/fields/Doc.ts
index 6dcf34a3a..c759bae5a 100644
--- a/src/fields/Doc.ts
+++ b/src/fields/Doc.ts
@@ -20,7 +20,7 @@ import { RichTextField } from "./RichTextField";
import { listSpec } from "./Schema";
import { ComputedField, ScriptField } from "./ScriptField";
import { Cast, FieldValue, NumCast, StrCast, ToConstructor } from "./Types";
-import { AudioField, ImageField, PdfField, VideoField, WebField } from "./URLField";
+import { AudioField, ImageField, MapField, PdfField, VideoField, WebField } from "./URLField";
import { deleteProperty, GetEffectiveAcl, getField, getter, inheritParentAcls, makeEditable, makeReadOnly, normalizeEmail, setter, SharingPermissions, updateFunction } from "./util";
import JSZip = require("jszip");
import { CurrentUserUtils } from "../client/util/CurrentUserUtils";
@@ -633,6 +633,7 @@ export namespace Doc {
else if (value instanceof AudioField) return { url: value.url.href, __type: "audio" };
else if (value instanceof VideoField) return { url: value.url.href, __type: "video" };
else if (value instanceof WebField) return { url: value.url.href, __type: "web" };
+ else if (value instanceof MapField) return { url: value.url.href, __type: "map" };
else if (value instanceof DateField) return { date: value.toString(), __type: "date" };
else if (value instanceof ProxyField) return { fieldId: value.fieldId, __type: "proxy" };
else if (value instanceof Array && key !== "fields") return { fields: value, __type: "list" };
@@ -1228,6 +1229,7 @@ export namespace Doc {
case DocumentType.INK: return "pen-nib";
case DocumentType.PDF: return "file-pdf";
case DocumentType.LINK: return "link";
+ case DocumentType.MAP: return "map-marker-alt"
default: return "question";
}
}
diff --git a/src/fields/URLField.ts b/src/fields/URLField.ts
index d96e8a70a..4d3776a2c 100644
--- a/src/fields/URLField.ts
+++ b/src/fields/URLField.ts
@@ -57,6 +57,7 @@ export const nullAudio = "https://actions.google.com/sounds/v1/alarms/beep_short
@scriptingGlobal @Deserializable("video") export class VideoField extends URLField { }
@scriptingGlobal @Deserializable("pdf") export class PdfField extends URLField { }
@scriptingGlobal @Deserializable("web") export class WebField extends URLField { }
+@scriptingGlobal @Deserializable("map") export class MapField extends URLField { }
@scriptingGlobal @Deserializable("youtube") export class YoutubeField extends URLField { }
@scriptingGlobal @Deserializable("webcam") export class WebCamField extends URLField { }
diff --git a/src/fields/documentSchemas.ts b/src/fields/documentSchemas.ts
index f17a390a6..b114fcf2d 100644
--- a/src/fields/documentSchemas.ts
+++ b/src/fields/documentSchemas.ts
@@ -27,6 +27,8 @@ export const documentSchema = createSchema({
z: "number", // z "coordinate" - non-zero specifies the overlay layer of a freeformview
zIndex: "number", // zIndex of a document in a freeform view
_scrollTop: "number", // scroll position of a scrollable document (pdf, text, web)
+ lat: "number",
+ lng: "number",
// appearance properties on the layout
"_backgroundGrid-spacing": "number", // the size of the grid for collection views