@cubejs-client/playground 0.33.0 → 0.33.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/assets/{CachePane.95d5640d.js → CachePane.c2a0b160.js} +1 -1
- package/build/assets/{GraphiQLSandbox.46f7dbf6.js → GraphiQLSandbox.d0512e3e.js} +2 -2
- package/build/assets/{SchemaReference.29a8caca.js → SchemaReference.159e01c4.js} +1 -1
- package/build/assets/{SqlQueryTab.60608363.js → SqlQueryTab.f3f66fa4.js} +1 -1
- package/build/assets/{brace-fold.49eff13c.js → brace-fold.a445f888.js} +1 -1
- package/build/assets/{closebrackets.e2f9b581.js → closebrackets.52afe725.js} +1 -1
- package/build/assets/{codemirror.7ab2e5a1.js → codemirror.a676896d.js} +1 -1
- package/build/assets/{comment.266387e5.js → comment.5818a457.js} +1 -1
- package/build/assets/{dialog.84bbfc28.js → dialog.78278835.js} +1 -1
- package/build/assets/{dialog.65163e94.js → dialog.fa1fbc0c.js} +1 -1
- package/build/assets/{foldgutter.47b1ac0f.js → foldgutter.04d4e3f0.js} +1 -1
- package/build/assets/{hint.5fab7961.js → hint.4444906b.js} +1 -1
- package/build/assets/{hint.31e15b19.js → hint.ad79fe7a.js} +1 -1
- package/build/assets/{index.f83d0342.js → index.3db27d26.js} +1 -1
- package/build/assets/{index.0fb262cb.js → index.4b7015c9.js} +1 -1
- package/build/assets/{index.e262067a.js → index.81b7b267.js} +35 -35
- package/build/assets/{info-addon.00eaa9ed.js → info-addon.41fa07f1.js} +1 -1
- package/build/assets/{info.e262a0d7.js → info.0ec61696.js} +1 -1
- package/build/assets/{javascript.81aa36ec.js → javascript.1461b132.js} +1 -1
- package/build/assets/{jump-to-line.ade1300b.js → jump-to-line.e9ea706c.js} +1 -1
- package/build/assets/{jump.612a4775.js → jump.76727306.js} +1 -1
- package/build/assets/{lint.f4ef9309.js → lint.105a6a35.js} +1 -1
- package/build/assets/{lint.02398904.js → lint.160b2998.js} +1 -1
- package/build/assets/{lint.0c7daefd.js → lint.9063e97a.js} +1 -1
- package/build/assets/{matchbrackets.220f899f.js → matchbrackets.cb69a809.js} +1 -1
- package/build/assets/{matchbrackets.60139932.js → matchbrackets.e9e3cf51.js} +1 -1
- package/build/assets/{mode.196846e8.js → mode.2bc8d0b4.js} +1 -1
- package/build/assets/{mode.c6c93498.js → mode.5362b679.js} +1 -1
- package/build/assets/{mode.abe5f8b4.js → mode.66747be5.js} +1 -1
- package/build/assets/{search.f0bda47c.js → search.117257b3.js} +1 -1
- package/build/assets/{searchcursor.04a27261.js → searchcursor.69098607.js} +1 -1
- package/build/assets/{searchcursor.587f5da7.js → searchcursor.c00b5937.js} +1 -1
- package/build/assets/{show-hint.c06afb0e.js → show-hint.e52a6e3c.js} +1 -1
- package/build/assets/{sublime.736a3b6c.js → sublime.daae866a.js} +1 -1
- package/build/index.html +1 -1
- package/lib/.tsbuildinfo +1 -1
- package/lib/ChartContainer.d.ts +0 -2
- package/lib/ChartContainer.js +5 -37
- package/lib/ChartContainer.js.map +1 -1
- package/lib/components/PlaygroundQueryBuilder/QueryBuilderContainer.d.ts +1 -1
- package/lib/components/PlaygroundQueryBuilder/QueryBuilderContainer.js +3 -3
- package/lib/components/PlaygroundQueryBuilder/QueryBuilderContainer.js.map +1 -1
- package/lib/components/PlaygroundQueryBuilder/components/PlaygroundQueryBuilder.d.ts +1 -3
- package/lib/components/PlaygroundQueryBuilder/components/PlaygroundQueryBuilder.js +2 -2
- package/lib/components/PlaygroundQueryBuilder/components/PlaygroundQueryBuilder.js.map +1 -1
- package/lib/pages/Explore/ExplorePage.js +1 -4
- package/lib/pages/Explore/ExplorePage.js.map +1 -1
- package/lib/playground/index.d.ts +0 -1
- package/lib/playground/index.js +0 -1
- package/lib/playground/index.js.map +1 -1
- package/package.json +2 -2
- package/lib/DashboardSource.d.ts +0 -20
- package/lib/DashboardSource.js +0 -98
- package/lib/DashboardSource.js.map +0 -1
- package/lib/pages/Dashboard/DashboardPage.d.ts +0 -15
- package/lib/pages/Dashboard/DashboardPage.js +0 -88
- package/lib/pages/Dashboard/DashboardPage.js.map +0 -1
- package/lib/pages/TemplateGallery/CreateOwnModal.d.ts +0 -16
- package/lib/pages/TemplateGallery/CreateOwnModal.js +0 -79
- package/lib/pages/TemplateGallery/CreateOwnModal.js.map +0 -1
- package/lib/pages/TemplateGallery/TemplateGalleryPage.d.ts +0 -13
- package/lib/pages/TemplateGallery/TemplateGalleryPage.js +0 -221
- package/lib/pages/TemplateGallery/TemplateGalleryPage.js.map +0 -1
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import '@ant-design/compatible/assets/index.css';
|
|
2
|
-
declare const CreateOwnModal: ({ visible, onOk, onCancel, onChange, chartLibraries, currentLibraryItem, frameworks, framework, frameworkItem, templatePackages, templatePackage, enableWebSocketTransport, }: {
|
|
3
|
-
visible: any;
|
|
4
|
-
onOk: any;
|
|
5
|
-
onCancel: any;
|
|
6
|
-
onChange: any;
|
|
7
|
-
chartLibraries: any;
|
|
8
|
-
currentLibraryItem: any;
|
|
9
|
-
frameworks: any;
|
|
10
|
-
framework: any;
|
|
11
|
-
frameworkItem: any;
|
|
12
|
-
templatePackages: any;
|
|
13
|
-
templatePackage: any;
|
|
14
|
-
enableWebSocketTransport: any;
|
|
15
|
-
}) => JSX.Element;
|
|
16
|
-
export default CreateOwnModal;
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { CaretDownOutlined } from '@ant-design/icons';
|
|
3
|
-
import { Form } from '@ant-design/compatible';
|
|
4
|
-
import '@ant-design/compatible/assets/index.css';
|
|
5
|
-
import { Switch, Menu, Dropdown, Modal, Alert } from 'antd';
|
|
6
|
-
import styled from 'styled-components';
|
|
7
|
-
import { playgroundAction } from '../../events';
|
|
8
|
-
import { Button } from '../../atoms';
|
|
9
|
-
const StyledModal = styled(Modal) `
|
|
10
|
-
&& {
|
|
11
|
-
.ant-modal-header {
|
|
12
|
-
border-bottom: none;
|
|
13
|
-
padding: 40px 32px 0 32px;
|
|
14
|
-
|
|
15
|
-
.ant-modal-title {
|
|
16
|
-
font-size: 20px;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.ant-modal-footer {
|
|
21
|
-
border-top: none;
|
|
22
|
-
padding: 0 32px 34px 32px;
|
|
23
|
-
text-align: left;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
`;
|
|
27
|
-
const StyledForm = styled(Form) `
|
|
28
|
-
&& {
|
|
29
|
-
.ant-form-item-label {
|
|
30
|
-
line-height: 16px;
|
|
31
|
-
margin-bottom: 7px;
|
|
32
|
-
label {
|
|
33
|
-
font-weight: 500;
|
|
34
|
-
font-size: 12px;
|
|
35
|
-
line-height: 16px;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.ant-dropdown-trigger {
|
|
40
|
-
padding: 5px 12px;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
`;
|
|
44
|
-
const StyledFormItem = styled(Form.Item) `
|
|
45
|
-
&& {
|
|
46
|
-
&:not(:last-child) {
|
|
47
|
-
margin-bottom: 16px;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
&:last-child {
|
|
51
|
-
margin-bottom: 0;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
`;
|
|
55
|
-
const DropdownIcon = () => _jsx(CaretDownOutlined, { style: { color: '#727290' } });
|
|
56
|
-
const CreateOwnModal = ({ visible, onOk, onCancel, onChange, chartLibraries, currentLibraryItem, frameworks, framework, frameworkItem, templatePackages, templatePackage, enableWebSocketTransport, }) => {
|
|
57
|
-
const chartLibrariesMenu = (_jsx(Menu, { onClick: (e) => {
|
|
58
|
-
playgroundAction('Set Chart Library', { chartLibrary: e.key });
|
|
59
|
-
onChange('chartLibrary', e.key);
|
|
60
|
-
}, children: chartLibraries.map((library) => (_jsx(Menu.Item, { children: library.title }, library.value))) }));
|
|
61
|
-
const frameworkMenu = (_jsx(Menu, { onClick: (e) => {
|
|
62
|
-
playgroundAction('Set Framework', { framework: e.key });
|
|
63
|
-
onChange('framework', e.key);
|
|
64
|
-
}, children: frameworks.map((f) => (_jsx(Menu.Item, { children: f.title }, f.id))) }));
|
|
65
|
-
const templatePackagesMenu = (_jsx(Menu, { onClick: (e) => {
|
|
66
|
-
playgroundAction('Set Template Package', {
|
|
67
|
-
templatePackageName: e.key,
|
|
68
|
-
});
|
|
69
|
-
onChange('templatePackageName', e.key);
|
|
70
|
-
}, children: (templatePackages || []).map((f) => (_jsx(Menu.Item, { children: f.description }, f.name))) }));
|
|
71
|
-
return (_jsx(StyledModal, { title: "Create your own Dashboard App", visible: visible, onOk: onOk, onCancel: onCancel, footer: [
|
|
72
|
-
_jsx(Button, { type: "primary", onClick: onOk, children: "Ok" }, "submit"),
|
|
73
|
-
_jsx(Button, { onClick: onCancel, children: "Cancel" }, "back"),
|
|
74
|
-
], children: _jsxs(StyledForm, { children: [_jsx(StyledFormItem, { label: "Framework", children: _jsx(Dropdown, { overlay: frameworkMenu, children: _jsxs(Button, { children: [frameworkItem && frameworkItem.title, _jsx(DropdownIcon, {})] }) }) }), !frameworkItem?.scaffoldingSupported && (_jsx(Alert, { style: { marginBottom: 23 }, type: "info", message: _jsxs("span", { children: ["We do not support\u00A0", frameworkItem.title, "\u00A0dashboard scaffolding generation yet. Please refer to\u00A0", _jsxs("a", { href: frameworkItem.docsLink, target: "_blank", rel: "noopener noreferrer", onClick: () => playgroundAction('Unsupported Dashboard Framework Docs', {
|
|
75
|
-
framework,
|
|
76
|
-
}), children: [frameworkItem.title, "\u00A0docs"] }), "\u00A0to see on how to use it with Cube."] }) })), _jsx(StyledFormItem, { label: "Main Template", children: _jsx(Dropdown, { overlay: templatePackagesMenu, disabled: !frameworkItem.scaffoldingSupported, children: _jsxs(Button, { children: [templatePackage && templatePackage.description, _jsx(DropdownIcon, {})] }) }) }), _jsx(StyledFormItem, { label: "Charting Library", children: _jsx(Dropdown, { overlay: chartLibrariesMenu, disabled: !frameworkItem.scaffoldingSupported, children: _jsxs(Button, { children: [currentLibraryItem && currentLibraryItem.title, _jsx(DropdownIcon, {})] }) }) }), _jsx(StyledFormItem, { label: "Web Socket Transport (Real-time)", children: _jsx(Switch, { disabled: framework.toLowerCase() !== 'react', checked: enableWebSocketTransport, onChange: (checked) => onChange('enableWebSocketTransport', checked) }) })] }) }));
|
|
77
|
-
};
|
|
78
|
-
export default CreateOwnModal;
|
|
79
|
-
//# sourceMappingURL=CreateOwnModal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreateOwnModal.js","sourceRoot":"","sources":["../../../src/pages/TemplateGallery/CreateOwnModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Component } from 'react';
|
|
2
|
-
import '@ant-design/compatible/assets/index.css';
|
|
3
|
-
import DashboardSource from '../../DashboardSource';
|
|
4
|
-
declare class TemplateGalleryPage extends Component<any, any> {
|
|
5
|
-
protected dashboardSource: DashboardSource;
|
|
6
|
-
constructor(props: any);
|
|
7
|
-
componentDidMount(): Promise<void>;
|
|
8
|
-
render(): JSX.Element;
|
|
9
|
-
}
|
|
10
|
-
declare const _default: import("react").ComponentClass<Pick<any, string | number | symbol> & {
|
|
11
|
-
wrappedComponentRef?: import("react").Ref<TemplateGalleryPage> | undefined;
|
|
12
|
-
}, any> & import("react-router").WithRouterStatics<typeof TemplateGalleryPage>;
|
|
13
|
-
export default _default;
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Component } from 'react';
|
|
3
|
-
import styled from 'styled-components';
|
|
4
|
-
import { Col, Row, Typography } from 'antd';
|
|
5
|
-
import { Redirect, withRouter } from 'react-router-dom';
|
|
6
|
-
import { PlusOutlined } from '@ant-design/icons';
|
|
7
|
-
import '@ant-design/compatible/assets/index.css';
|
|
8
|
-
import DashboardSource from '../../DashboardSource';
|
|
9
|
-
import { frameworks } from '../../ChartContainer';
|
|
10
|
-
import CreateOwnModal from './CreateOwnModal';
|
|
11
|
-
import { Button, Card, CubeLoader } from '../../atoms';
|
|
12
|
-
import { frameworkChartLibraries } from '../../components/PlaygroundQueryBuilder/components/PlaygroundQueryBuilder';
|
|
13
|
-
const MarginFrame = ({ children }) => (_jsx("div", { style: { margin: 25 }, children: children }));
|
|
14
|
-
const Image = styled.div `
|
|
15
|
-
position: relative;
|
|
16
|
-
width: 100%;
|
|
17
|
-
height: 100%;
|
|
18
|
-
margin: auto;
|
|
19
|
-
max-width: 1024px;
|
|
20
|
-
background-size: cover;
|
|
21
|
-
background-repeat: no-repeat;
|
|
22
|
-
background-position: center;
|
|
23
|
-
background-image: ${(props) => `url("${props.src}")`};
|
|
24
|
-
`;
|
|
25
|
-
const RecipeCard = styled(Card) `
|
|
26
|
-
&& {
|
|
27
|
-
border: none;
|
|
28
|
-
border-radius: 8px;
|
|
29
|
-
margin-bottom: 24px;
|
|
30
|
-
padding: 16px;
|
|
31
|
-
${(props) => props.createYourOwn
|
|
32
|
-
? `
|
|
33
|
-
background: transparent;
|
|
34
|
-
border: 1px solid var(--purple-03-color);
|
|
35
|
-
`
|
|
36
|
-
: ''}
|
|
37
|
-
|
|
38
|
-
&:hover {
|
|
39
|
-
padding: 16px;
|
|
40
|
-
${(props) => props.createYourOwn
|
|
41
|
-
? `
|
|
42
|
-
border: 1px solid var(--purple-03-color);
|
|
43
|
-
`
|
|
44
|
-
: 'border: none;'}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
button {
|
|
48
|
-
display: none;
|
|
49
|
-
position: absolute;
|
|
50
|
-
margin-left: -64px;
|
|
51
|
-
top: 80px;
|
|
52
|
-
left: 50%;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
svg path {
|
|
56
|
-
transition: stroke 0.25s ease;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
&& .ant-card-cover {
|
|
60
|
-
height: 168px;
|
|
61
|
-
border-radius: 8px 8px 0 0;
|
|
62
|
-
background: ${(props) => props.createYourOwn ? 'transparent' : '#DEDEF1'};
|
|
63
|
-
display: flex;
|
|
64
|
-
align-items: center;
|
|
65
|
-
position: relative;
|
|
66
|
-
margin: -16px -16px 0 -16px;
|
|
67
|
-
padding: 24px 24px 0 24px;
|
|
68
|
-
|
|
69
|
-
&::after {
|
|
70
|
-
content: '';
|
|
71
|
-
position: absolute;
|
|
72
|
-
width: 100%;
|
|
73
|
-
height: 100%;
|
|
74
|
-
top: 0;
|
|
75
|
-
left: 0;
|
|
76
|
-
background: rgba(81, 87, 125, 0.3);
|
|
77
|
-
opacity: 0;
|
|
78
|
-
transition: all 0.25s;
|
|
79
|
-
border-radius: 8px 8px 0 0;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
div {
|
|
83
|
-
//box-shadow: 0 -1px 6px rgba(20, 20, 70, .06);
|
|
84
|
-
background-position: top;
|
|
85
|
-
border-radius: 4px 4px 0 0;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
&&.ant-card-hoverable:hover {
|
|
90
|
-
box-shadow: 0 15px 20px rgba(67, 67, 107, 0.1);
|
|
91
|
-
button {
|
|
92
|
-
display: block;
|
|
93
|
-
}
|
|
94
|
-
&:hover .ant-card-cover:after {
|
|
95
|
-
opacity: ${(props) => (props.createYourOwn ? '0' : '1')};
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
svg path {
|
|
100
|
-
stroke: var(--primary-color);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
&& .ant-card-body {
|
|
104
|
-
min-height: 175px;
|
|
105
|
-
display: flex;
|
|
106
|
-
place-items: stretch;
|
|
107
|
-
place-content: start stretch;
|
|
108
|
-
text-align: left;
|
|
109
|
-
z-index: 1;
|
|
110
|
-
padding: 24px 0 16px;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
&& .ant-card-meta {
|
|
114
|
-
text-align: left;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
&& .ant-card-meta-title {
|
|
118
|
-
white-space: unset;
|
|
119
|
-
color: ${(props) => props.createYourOwn ? 'var(--primary-color)' : 'var(--text-color)'};
|
|
120
|
-
text-align: ${(props) => (props.createYourOwn ? 'center' : 'left')};
|
|
121
|
-
margin-bottom: 16px;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
&& .ant-card-meta-description {
|
|
125
|
-
color: ${(props) => props.createYourOwn ? 'var(--primary-color)' : 'var(--dark-04-color)'};
|
|
126
|
-
opacity: ${(props) => (props.createYourOwn ? '0.8' : 1)};
|
|
127
|
-
font-size: 13px;
|
|
128
|
-
text-align: ${(props) => (props.createYourOwn ? 'center' : 'left')};
|
|
129
|
-
${(props) => (props.createYourOwn ? 'padding: 0 32px;' : '')}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
`;
|
|
133
|
-
const StyledTitle = styled(Typography.Text) `
|
|
134
|
-
display: block;
|
|
135
|
-
font-size: 16px;
|
|
136
|
-
margin-bottom: 24px;
|
|
137
|
-
`;
|
|
138
|
-
class TemplateGalleryPage extends Component {
|
|
139
|
-
constructor(props) {
|
|
140
|
-
super(props);
|
|
141
|
-
this.dashboardSource = new DashboardSource();
|
|
142
|
-
this.state = {
|
|
143
|
-
chartLibrary: frameworkChartLibraries.react[0].value,
|
|
144
|
-
framework: 'react',
|
|
145
|
-
templatePackageName: 'react-antd-dynamic',
|
|
146
|
-
templates: null,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
async componentDidMount() {
|
|
150
|
-
await this.dashboardSource.load(true);
|
|
151
|
-
this.setState({
|
|
152
|
-
loadError: this.dashboardSource.loadError,
|
|
153
|
-
templates: await this.dashboardSource.templates(),
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
render() {
|
|
157
|
-
const { loadError, templates } = this.state;
|
|
158
|
-
if (loadError && loadError.indexOf('Dashboard app not found') === -1) {
|
|
159
|
-
return _jsx(Redirect, { to: "/dashboard" });
|
|
160
|
-
}
|
|
161
|
-
if (templates == null) {
|
|
162
|
-
return _jsx(CubeLoader, {});
|
|
163
|
-
}
|
|
164
|
-
const { chartLibrary, framework, templatePackageName, createOwnModalVisible, enableWebSocketTransport, } = this.state;
|
|
165
|
-
const { history } = this.props;
|
|
166
|
-
const currentLibraryItem = frameworkChartLibraries[framework].find((m) => m.value === chartLibrary);
|
|
167
|
-
const frameworkItem = frameworks.find((m) => m.id === framework);
|
|
168
|
-
const templatePackage = this.dashboardSource
|
|
169
|
-
?.templatePackages(framework)
|
|
170
|
-
.find((m) => m.name === templatePackageName);
|
|
171
|
-
const recipeCards = templates
|
|
172
|
-
.map(({ name, description, coverUrl }) => (_jsx(Col, { xs: { span: 24 }, md: { span: 12 }, lg: { span: 8 }, xl: { span: 6 }, style: { display: 'flex' }, children: _jsxs(RecipeCard, { hoverable: true, bordered: false, cover: _jsx(Image, { src: coverUrl }), children: [_jsx(Card.Meta, { title: name, description: description }), _jsx(Button, { type: "primary", onClick: async () => {
|
|
173
|
-
await this.dashboardSource.applyTemplatePackages(name);
|
|
174
|
-
history.push('/dashboard');
|
|
175
|
-
}, children: "Create App" })] }) }, name)))
|
|
176
|
-
.concat([
|
|
177
|
-
_jsxs(Col, { xs: { span: 24 }, md: { span: 12 }, lg: { span: 8 }, xl: { span: 6 }, style: { display: 'flex' }, children: [_jsx(RecipeCard, { onClick: () => this.setState({ createOwnModalVisible: true }), hoverable: true, createYourOwn: true, bordered: false, cover: _jsx(PlusOutlined, { style: { fontSize: 60 } }), children: _jsx(Card.Meta, { title: "Create your Own", description: "Mix different templates together to create your own dashboard application" }) }), _jsx(CreateOwnModal, { visible: createOwnModalVisible, onOk: async () => {
|
|
178
|
-
let templatePackages = [];
|
|
179
|
-
this.setState({ createOwnModalVisible: false });
|
|
180
|
-
if (framework.toLowerCase() === 'react') {
|
|
181
|
-
templatePackages = [
|
|
182
|
-
'create-react-app',
|
|
183
|
-
templatePackageName,
|
|
184
|
-
`${chartLibrary}-charts`,
|
|
185
|
-
`${templatePackageName.match(/^react-(\w+)/)[1]}-tables`,
|
|
186
|
-
'react-credentials',
|
|
187
|
-
].concat(enableWebSocketTransport ? ['react-web-socket-transport'] : []);
|
|
188
|
-
}
|
|
189
|
-
else if (framework.toLowerCase() === 'angular') {
|
|
190
|
-
templatePackages = [
|
|
191
|
-
'create-ng-app',
|
|
192
|
-
templatePackageName,
|
|
193
|
-
'ng2-charts',
|
|
194
|
-
'ng-credentials',
|
|
195
|
-
];
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
templatePackages = [
|
|
199
|
-
'create-vue-app',
|
|
200
|
-
templatePackageName,
|
|
201
|
-
'vue-chartkick-charts',
|
|
202
|
-
];
|
|
203
|
-
}
|
|
204
|
-
await this.dashboardSource.applyTemplatePackages(templatePackages);
|
|
205
|
-
history.push('/dashboard');
|
|
206
|
-
}, onCancel: () => this.setState({ createOwnModalVisible: false }), onChange: (key, value) => {
|
|
207
|
-
if (key === 'framework' && framework !== value) {
|
|
208
|
-
const packages = this.dashboardSource?.templatePackages(value) || [];
|
|
209
|
-
this.setState({
|
|
210
|
-
templatePackageName: packages[0]?.name,
|
|
211
|
-
chartLibrary: frameworkChartLibraries[value.toLowerCase()]?.[0].value,
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
this.setState({ [key]: value });
|
|
215
|
-
}, chartLibraries: frameworkChartLibraries[framework], currentLibraryItem: currentLibraryItem, frameworks: frameworks.filter((currentFramework) => currentFramework.id !== 'vanilla'), framework: framework, frameworkItem: frameworkItem, templatePackages: this.dashboardSource?.templatePackages(framework) || [], templatePackage: templatePackage, enableWebSocketTransport: enableWebSocketTransport && framework.toLowerCase() !== 'angular' })] }, "own"),
|
|
216
|
-
]);
|
|
217
|
-
return (_jsxs(MarginFrame, { children: [_jsxs(StyledTitle, { children: ["Build your app from one of the popular templates below or", ' ', _jsx("a", { onClick: () => this.setState({ createOwnModalVisible: true }), children: "create your own" })] }), _jsx(Row, { gutter: 24, children: recipeCards })] }));
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
export default withRouter(TemplateGalleryPage);
|
|
221
|
-
//# sourceMappingURL=TemplateGalleryPage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateGalleryPage.js","sourceRoot":"","sources":["../../../src/pages/TemplateGallery/TemplateGalleryPage.tsx"],"names":[],"mappings":"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"}
|