-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathvisualization.config.ts
More file actions
103 lines (89 loc) · 3.48 KB
/
visualization.config.ts
File metadata and controls
103 lines (89 loc) · 3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import React, { lazy } from "react";
export interface VisComponentDefinitions {
name: string;
mainType: string;
mimeTypes: string[];
component: JSX.Element;
}
const visComponentDefinitions: VisComponentDefinitions[] = <
VisComponentDefinitions[]
>[];
function registerComponent(config) {
return lazy(
() =>
import(
/* webpackChunkName: "[request]" */ `./components/visualizations/${config.visConfig.name}/${config.main}`
)
);
}
const configAudio = require("./components/visualizations/Audio/manifest.json");
visComponentDefinitions.push({
name: configAudio.name,
mainType: configAudio.visConfig.mainType,
mimeTypes: configAudio.visConfig.mimeTypes,
component: React.createElement(registerComponent(configAudio)),
});
// const configDemo = require("./components/visualizations/Demo/manifest.json");
// visComponentDefinitions.push({
// name: configDemo.name,
// mainType: configDemo.visConfig.mainType,
// mimeTypes: configDemo.visConfig.mimeTypes,
// component: React.createElement(registerComponent(configDemo)),
// });
const configHtml = require("./components/visualizations/Html/manifest.json");
visComponentDefinitions.push({
name: configHtml.name,
mainType: configHtml.visConfig.mainType,
mimeTypes: configHtml.visConfig.mimeTypes,
component: React.createElement(registerComponent(configHtml)),
});
const configImage = require("./components/visualizations/Image/manifest.json");
visComponentDefinitions.push({
name: configImage.name,
mainType: configImage.visConfig.mainType,
mimeTypes: configImage.visConfig.mimeTypes,
component: React.createElement(registerComponent(configImage)),
});
const configText = require("./components/visualizations/Text/manifest.json");
visComponentDefinitions.push({
name: configText.name,
mainType: configText.visConfig.mainType,
mimeTypes: configText.visConfig.mimeTypes,
component: React.createElement(registerComponent(configText)),
});
const configVideo = require("./components/visualizations/Video/manifest.json");
visComponentDefinitions.push({
name: configVideo.name,
mainType: configVideo.visConfig.mainType,
mimeTypes: configVideo.visConfig.mimeTypes,
component: React.createElement(registerComponent(configVideo)),
});
const configGeospatial = require("./components/visualizations/Geospatial/manifest.json");
visComponentDefinitions.push({
name: configGeospatial.name,
mainType: configGeospatial.visConfig.mainType,
mimeTypes: configGeospatial.visConfig.mimeTypes,
component: React.createElement(registerComponent(configGeospatial)),
});
const configGeospatialVector = require("./components/visualizations/GeospatialVector/manifest.json");
visComponentDefinitions.push({
name: configGeospatialVector.name,
mainType: configGeospatialVector.visConfig.mainType,
mimeTypes: configGeospatialVector.visConfig.mimeTypes,
component: React.createElement(registerComponent(configGeospatialVector)),
});
const configVega = require("./components/visualizations/CSV/manifest.json");
visComponentDefinitions.push({
name: configVega.name,
mainType: configVega.visConfig.mainType,
mimeTypes: configVega.visConfig.mimeTypes,
component: React.createElement(registerComponent(configVega)),
});
const configWordCloudSpec = require("./components/visualizations/VegaSpec/manifest.json");
visComponentDefinitions.push({
name: configWordCloudSpec.name,
mainType: configWordCloudSpec.visConfig.mainType,
mimeTypes: configWordCloudSpec.visConfig.mimeTypes,
component: React.createElement(registerComponent(configWordCloudSpec)),
});
export { visComponentDefinitions };