aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/documents/DocumentTypes.ts1
-rw-r--r--src/client/documents/Documents.ts9
-rw-r--r--src/client/util/CurrentUserUtils.ts5
-rw-r--r--src/client/views/nodes/DataViz.scss0
-rw-r--r--src/client/views/nodes/DataViz.tsx14
-rw-r--r--src/client/views/nodes/DocumentContentsView.tsx3
6 files changed, 30 insertions, 2 deletions
diff --git a/src/client/documents/DocumentTypes.ts b/src/client/documents/DocumentTypes.ts
index ca942a38a..2343c2f34 100644
--- a/src/client/documents/DocumentTypes.ts
+++ b/src/client/documents/DocumentTypes.ts
@@ -25,6 +25,7 @@ export enum DocumentType {
EQUATION = "equation", // equation editor
FUNCPLOT = "funcplot", // function plotter
MAP = "map",
+ DATAVIZ = "dataviz",
// special purpose wrappers that either take no data or are compositions of lower level types
LINK = "link",
diff --git a/src/client/documents/Documents.ts b/src/client/documents/Documents.ts
index 0bb6ce27f..c5ec9eaf6 100644
--- a/src/client/documents/Documents.ts
+++ b/src/client/documents/Documents.ts
@@ -62,6 +62,7 @@ import { DocumentType } from "./DocumentTypes";
import { IconProp } from "@fortawesome/fontawesome-svg-core";
import { MapBox } from "../views/nodes/MapBox/MapBox";
import { RecordingBox } from "../views/nodes/RecordingBox/RecordingBox";
+import DataViz from "../views/nodes/DataViz";
const defaultNativeImageDim = Number(DFLT_IMAGE_NATIVE_DIM.replace("px", ""));
class EmptyBox {
@@ -517,6 +518,10 @@ export namespace Docs {
layout: { view: EmptyBox, dataField: defaultDataKey },
options: { links: "@links(self)" }
}],
+ [DocumentType.DATAVIZ, {
+ layout: { view: DataViz, dataField: defaultDataKey },
+ options: { _fitWidth: true, _fitHeight: true, links: "@links(self)" }
+ }]
]);
const suffix = "Proto";
@@ -922,6 +927,10 @@ export namespace Docs {
return InstanceFromProto(Prototypes.get(DocumentType.PRESELEMENT), undefined, { ...(options || {}) });
}
+ export function DataVizDocument(options?: DocumentOptions) {
+ return InstanceFromProto(Prototypes.get(DocumentType.DATAVIZ), undefined, { title: "Data Viz", ...options });
+ }
+
export function DockDocument(documents: Array<Doc>, config: string, options: DocumentOptions, id?: string) {
return InstanceFromProto(Prototypes.get(DocumentType.COL), new List(documents), { freezeChildren: "remove|add", ...options, _viewType: CollectionViewType.Docking, dockingConfig: config }, id);
}
diff --git a/src/client/util/CurrentUserUtils.ts b/src/client/util/CurrentUserUtils.ts
index 60bfc165b..a96f5cb18 100644
--- a/src/client/util/CurrentUserUtils.ts
+++ b/src/client/util/CurrentUserUtils.ts
@@ -262,7 +262,10 @@ export class CurrentUserUtils {
doc.emptyHeader = headerTemplate;
}
if (doc.emptyComparison === undefined) {
- doc.emptyComparison = Docs.Create.ComparisonDocument({ ...standardOps(), title: "Comparer", _width: 300, _height: 300 });
+ doc.emptyComparison = Docs.Create.ComparisonDocument({ ...standardOps(), title: "comparer", _width: 300, _height: 300 });
+ }
+ if (doc.emptyDataViz === undefined) {
+ doc.emptyDataViz = Docs.Create.DataVizDocument({ ...standardOps(), title: "data viz", _width: 300, _height: 300 });
}
if (doc.emptyScript === undefined) {
doc.emptyScript = Docs.Create.ScriptingDocument(undefined, { ...standardOps(), title: "script", _width: 200, _height: 250, });
diff --git a/src/client/views/nodes/DataViz.scss b/src/client/views/nodes/DataViz.scss
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/client/views/nodes/DataViz.scss
diff --git a/src/client/views/nodes/DataViz.tsx b/src/client/views/nodes/DataViz.tsx
new file mode 100644
index 000000000..60b27c19c
--- /dev/null
+++ b/src/client/views/nodes/DataViz.tsx
@@ -0,0 +1,14 @@
+import React from "react";
+import "./DataViz.scss";
+import { FieldView, FieldViewProps } from "./FieldView";
+import { ViewBoxBaseComponent } from '../DocComponent';
+
+export class DataViz extends ViewBoxBaseComponent<FieldViewProps>() {
+ public static LayoutString(fieldKey: string) {
+ return FieldView.LayoutString(DataViz, fieldKey);
+ }
+
+ render() {
+ return (<div>Hi</div>)
+ }
+} \ No newline at end of file
diff --git a/src/client/views/nodes/DocumentContentsView.tsx b/src/client/views/nodes/DocumentContentsView.tsx
index 70732e74c..8715fc33a 100644
--- a/src/client/views/nodes/DocumentContentsView.tsx
+++ b/src/client/views/nodes/DocumentContentsView.tsx
@@ -42,6 +42,7 @@ import React = require("react");
import XRegExp = require("xregexp");
import { MapBox } from "./MapBox/MapBox";
import { RecordingBox } from "./RecordingBox";
+import { DataViz } from "./DataViz";
const JsxParser = require('react-jsx-parser').default; //TODO Why does this need to be imported like this?
@@ -229,7 +230,7 @@ export class DocumentContentsView extends React.Component<DocumentViewProps & Fo
PDFBox, VideoBox, AudioBox, RecordingBox, PresBox, YoutubeBox, PresElementBox, SearchBox, FilterBox, FunctionPlotBox,
ColorBox, DashWebRTCVideo, LinkAnchorBox, InkingStroke, LinkBox, ScriptingBox, MapBox,
ScreenshotBox,
- HTMLtag, ComparisonBox
+ HTMLtag, ComparisonBox, DataViz
}}
bindings={bindings}
jsx={layoutFrame}