@cubejs-client/playground 1.6.1 → 1.6.3
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/{index-C6oDDRcr.js → index-C5Efw7yM.js} +110 -96
- package/build/cube-core-logo-adapted_for_dark_bg.svg +18 -0
- package/build/index.html +1 -1
- package/build/vizard/download/react-typescript-antd-table.zip +0 -0
- package/build/vizard/download/react-typescript-chartjs-area+bar+doughnut+line+pie.zip +0 -0
- package/lib/.tsbuildinfo +1 -1
- package/lib/components/Header/Header.js +1 -1
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/RunOnCubeCloud.js +1 -1
- package/lib/components/Header/RunOnCubeCloud.js.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/pages/CubeBI/CubeBiPage.d.ts +1 -0
- package/lib/pages/CubeBI/CubeBiPage.js +40 -0
- package/lib/pages/CubeBI/CubeBiPage.js.map +1 -0
- package/lib/pages/index.d.ts +1 -1
- package/lib/pages/index.js +1 -1
- package/lib/pages/index.js.map +1 -1
- package/package.json +4 -4
- package/public/cube-core-logo-adapted_for_dark_bg.svg +18 -0
- package/public/vizard/download/react-typescript-antd-table.zip +0 -0
- package/public/vizard/download/react-typescript-chartjs-area+bar+doughnut+line+pie.zip +0 -0
- package/build/assets/semantic-layer-B8UQ_kwI.svg +0 -57
- package/lib/pages/ConnectToBI/ConnectToBiPage.d.ts +0 -1
- package/lib/pages/ConnectToBI/ConnectToBiPage.js +0 -351
- package/lib/pages/ConnectToBI/ConnectToBiPage.js.map +0 -1
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Tabs, Alert, Checkbox, Typography, Space } from 'antd';
|
|
3
|
-
import styled from 'styled-components';
|
|
4
|
-
import { CodeSnippet } from '../../atoms';
|
|
5
|
-
import { CopiableInput } from '../../components/CopiableInput';
|
|
6
|
-
import deepnoteSvg from '../../img/bi/deepnote.svg';
|
|
7
|
-
import excelSvg from '../../img/bi/excel.svg';
|
|
8
|
-
import googleStudioSvg from '../../img/bi/google-data-studio.svg';
|
|
9
|
-
import googleSheetsSvg from '../../img/bi/google-sheets.svg';
|
|
10
|
-
import jupyterSvg from '../../img/bi/jupyter.svg';
|
|
11
|
-
import hexSvg from '../../img/bi/hex.svg';
|
|
12
|
-
import metabaseSvg from '../../img/bi/metabase.svg';
|
|
13
|
-
import observableSvg from '../../img/bi/observable.svg';
|
|
14
|
-
import powerbiSvg from '../../img/bi/power-bi.svg';
|
|
15
|
-
import streamlitSvg from '../../img/bi/streamlit.svg';
|
|
16
|
-
import supersetSvg from '../../img/bi/superset.svg';
|
|
17
|
-
import tableauSvg from '../../img/bi/tableau.svg';
|
|
18
|
-
import hightouchSvg from '../../img/bi/hightouch.svg';
|
|
19
|
-
import thoughtSpot from '../../img/bi/thoughtspot.svg';
|
|
20
|
-
import semanticLayer from '../../img/semantic-layer.svg';
|
|
21
|
-
import { Content, Header } from '../components/Ui';
|
|
22
|
-
import { Flex } from '../../grid';
|
|
23
|
-
const { Paragraph, Link } = Typography;
|
|
24
|
-
const SpaceFlex = styled(Space) `
|
|
25
|
-
div.ant-space {
|
|
26
|
-
display: flex;
|
|
27
|
-
}
|
|
28
|
-
`;
|
|
29
|
-
const BI_KEYS = {
|
|
30
|
-
Generic: 'BIs and Visualization Tools',
|
|
31
|
-
Superset: 'Apache Superset',
|
|
32
|
-
Metabase: 'Metabase',
|
|
33
|
-
Tableau: 'Tableau',
|
|
34
|
-
ThoughtSpot: 'ThoughtSpot',
|
|
35
|
-
PowerBI: 'Power BI',
|
|
36
|
-
Hex: 'Hex',
|
|
37
|
-
Jupyter: 'Jupyter notebook',
|
|
38
|
-
Streamlit: 'Streamlit',
|
|
39
|
-
Observable: 'Observable',
|
|
40
|
-
// Not listed on the integration page:
|
|
41
|
-
Deepnote: 'Deepnote',
|
|
42
|
-
Excel: 'Excel',
|
|
43
|
-
GoogleStudio: 'Google Data Studio',
|
|
44
|
-
GoogleSheets: 'Google Sheets',
|
|
45
|
-
Hightouch: 'Hightouch',
|
|
46
|
-
};
|
|
47
|
-
const IconSection = styled.div `
|
|
48
|
-
width: 32px;
|
|
49
|
-
height: 32px;
|
|
50
|
-
display: flex;
|
|
51
|
-
align-items: center;
|
|
52
|
-
justify-content: center;
|
|
53
|
-
//margin: 1bw;
|
|
54
|
-
`;
|
|
55
|
-
const cubeIcon = (_jsx("svg", { viewBox: "0 0 14 14", width: 22, height: 22, xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { fill: "currentColor", fillRule: "evenodd", clipRule: "evenodd", d: "M14 2.72195V10.5212C14 10.9354 13.7478 11.308 13.3631 11.4618L7 14.0071L0.636881 11.4618C0.252227 11.308 1.556e-07 10.9354 1.556e-07 10.5212V2.72195L6.62372 0.0724644C6.86527 -0.0241549 7.13473 -0.0241547 7.37628 0.0724644L14 2.72195ZM11.9594 3.0961L7 1.11236L2.04064 3.0961L7 5.07985L11.9594 3.0961ZM6.44737 6.0492L1.10526 3.91236V10.4588L6.44737 12.5956L6.44737 6.0492ZM7.55263 12.5956L7.55263 6.0492L12.8947 3.91236V10.4588L7.55263 12.5956Z" }) }));
|
|
56
|
-
const BI_ICONS = {
|
|
57
|
-
Generic: null,
|
|
58
|
-
Deepnote: deepnoteSvg,
|
|
59
|
-
Excel: excelSvg,
|
|
60
|
-
GoogleStudio: googleStudioSvg,
|
|
61
|
-
GoogleSheets: googleSheetsSvg,
|
|
62
|
-
Jupyter: jupyterSvg,
|
|
63
|
-
Hex: hexSvg,
|
|
64
|
-
Hightouch: hightouchSvg,
|
|
65
|
-
Metabase: metabaseSvg,
|
|
66
|
-
Observable: observableSvg,
|
|
67
|
-
PowerBI: powerbiSvg,
|
|
68
|
-
Streamlit: streamlitSvg,
|
|
69
|
-
Superset: supersetSvg,
|
|
70
|
-
Tableau: tableauSvg,
|
|
71
|
-
ThoughtSpot: thoughtSpot,
|
|
72
|
-
};
|
|
73
|
-
function BiIcon({ type }) {
|
|
74
|
-
const src = BI_ICONS[type];
|
|
75
|
-
const key = BI_KEYS[type];
|
|
76
|
-
if (src) {
|
|
77
|
-
return (_jsx(IconSection, { children: _jsx("img", { src: src, width: 32, alt: `${key} Icon` }) }));
|
|
78
|
-
}
|
|
79
|
-
return _jsx(IconSection, { children: cubeIcon });
|
|
80
|
-
}
|
|
81
|
-
const CUBESQL_PG_PORT = '15432';
|
|
82
|
-
const PG_SNIPPET_FIELD = {
|
|
83
|
-
type: 'snippet',
|
|
84
|
-
label: 'Psql connection string',
|
|
85
|
-
value: ({ cubeSqlPassword, cubeSqlUser, cubeSqlHost, cubeSqlRoute, }) => `${cubeSqlPassword ? 'PGPASSWORD=' + cubeSqlPassword + ' \\\n ' : ''}psql -h ${cubeSqlHost} \\
|
|
86
|
-
-p ${CUBESQL_PG_PORT} \\
|
|
87
|
-
-U ${cubeSqlUser} ${cubeSqlRoute}`,
|
|
88
|
-
};
|
|
89
|
-
const POSTGRESQL_FIELD = {
|
|
90
|
-
type: 'text',
|
|
91
|
-
label: 'Connection type',
|
|
92
|
-
value: 'PostgreSQL',
|
|
93
|
-
};
|
|
94
|
-
const BASE_CREDENTIALS = [
|
|
95
|
-
{
|
|
96
|
-
label: 'Host',
|
|
97
|
-
value: ({ cubeSqlHost }) => cubeSqlHost,
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
label: 'Port',
|
|
101
|
-
value: CUBESQL_PG_PORT,
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
label: 'Database',
|
|
105
|
-
value: ({ cubeSqlRoute }, branchName) => `${cubeSqlRoute}${branchName ? '_' + branchName : ''}`,
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
label: 'User',
|
|
109
|
-
value: ({ cubeSqlUser }) => cubeSqlUser,
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
label: 'Password',
|
|
113
|
-
value: ({ cubeSqlPassword }) => cubeSqlPassword,
|
|
114
|
-
},
|
|
115
|
-
];
|
|
116
|
-
function Field({ label, children }) {
|
|
117
|
-
return (_jsxs(Space, { direction: "vertical", children: [_jsx(Typography.Text, { strong: true, children: label }), children] }));
|
|
118
|
-
}
|
|
119
|
-
function getFields(fields, credentials) {
|
|
120
|
-
return fields.map((field) => {
|
|
121
|
-
const value = (typeof field.value === 'function' ? field.value(credentials) : field.value);
|
|
122
|
-
switch (field.type) {
|
|
123
|
-
case 'checkbox':
|
|
124
|
-
return (_jsx(Field, { label: field.label, children: _jsx(Checkbox, { checked: !!value }) }, field.label));
|
|
125
|
-
case 'text':
|
|
126
|
-
return (_jsx(Field, { label: field.label, children: _jsx(Typography.Text, { children: value }) }));
|
|
127
|
-
case 'link':
|
|
128
|
-
const target = value.startsWith('!') ? '_blank' : undefined;
|
|
129
|
-
const href = value.replace(/^!/, '');
|
|
130
|
-
return (_jsx(Typography.Paragraph, { children: _jsxs(Typography.Link, { href: href, target: target, children: [field.label, "\u2197"] }) }));
|
|
131
|
-
case 'alert':
|
|
132
|
-
return _jsx(Alert, { message: value });
|
|
133
|
-
case 'heading':
|
|
134
|
-
return _jsx(Typography.Title, { children: value });
|
|
135
|
-
case 'custom':
|
|
136
|
-
return value;
|
|
137
|
-
case 'snippet':
|
|
138
|
-
return _jsx(CodeSnippet, { theme: "light", code: value });
|
|
139
|
-
default:
|
|
140
|
-
return (_jsx(Field, { label: field.label, children: _jsx(CopiableInput, { value: value, title: "Server" }) }, field.label));
|
|
141
|
-
}
|
|
142
|
-
}, {});
|
|
143
|
-
}
|
|
144
|
-
function renameFields(fields, renameMap) {
|
|
145
|
-
return fields.map((field) => {
|
|
146
|
-
const label = field.label;
|
|
147
|
-
return {
|
|
148
|
-
...field,
|
|
149
|
-
...(label
|
|
150
|
-
? {
|
|
151
|
-
label: renameMap[label] || label,
|
|
152
|
-
}
|
|
153
|
-
: null),
|
|
154
|
-
};
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
const BI_FIELDS = {
|
|
158
|
-
Generic: [POSTGRESQL_FIELD, PG_SNIPPET_FIELD, ...BASE_CREDENTIALS],
|
|
159
|
-
PowerBI: [
|
|
160
|
-
POSTGRESQL_FIELD,
|
|
161
|
-
...renameFields(BASE_CREDENTIALS, {
|
|
162
|
-
Host: 'Server',
|
|
163
|
-
User: 'User name',
|
|
164
|
-
}),
|
|
165
|
-
{
|
|
166
|
-
type: 'text',
|
|
167
|
-
label: 'Data Connectivity mode',
|
|
168
|
-
value: 'DirectQuery',
|
|
169
|
-
},
|
|
170
|
-
],
|
|
171
|
-
Jupyter: [
|
|
172
|
-
{
|
|
173
|
-
type: 'link',
|
|
174
|
-
label: 'Tutorial: Using Jupyter with Cube',
|
|
175
|
-
value: '!https://cube.dev/docs/config/downstream/jupyter',
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
label: 'Driver Name',
|
|
179
|
-
value: 'postgresql',
|
|
180
|
-
},
|
|
181
|
-
...renameFields(BASE_CREDENTIALS, {
|
|
182
|
-
User: 'Username',
|
|
183
|
-
}),
|
|
184
|
-
],
|
|
185
|
-
Metabase: [
|
|
186
|
-
{
|
|
187
|
-
type: 'link',
|
|
188
|
-
label: 'Tutorial: Using Metabase with Cube',
|
|
189
|
-
value: '!https://cube.dev/docs/config/downstream/metabase',
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
type: 'text',
|
|
193
|
-
label: 'Database Type',
|
|
194
|
-
value: 'PostgreSQL',
|
|
195
|
-
},
|
|
196
|
-
...renameFields(BASE_CREDENTIALS, {
|
|
197
|
-
Database: 'Database name',
|
|
198
|
-
User: 'Username',
|
|
199
|
-
}),
|
|
200
|
-
],
|
|
201
|
-
Streamlit: [
|
|
202
|
-
{
|
|
203
|
-
type: 'link',
|
|
204
|
-
label: 'Tutorial: Using Streamlit with Cube',
|
|
205
|
-
value: '!https://cube.dev/docs/config/downstream/streamlit',
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
label: 'Driver Name',
|
|
209
|
-
value: 'postgresql',
|
|
210
|
-
},
|
|
211
|
-
...renameFields(BASE_CREDENTIALS, {
|
|
212
|
-
User: 'Username',
|
|
213
|
-
}),
|
|
214
|
-
],
|
|
215
|
-
Observable: [
|
|
216
|
-
{
|
|
217
|
-
type: 'link',
|
|
218
|
-
label: 'Tutorial: Using Observable with Cube',
|
|
219
|
-
value: '!https://cube.dev/docs/config/downstream/observable',
|
|
220
|
-
},
|
|
221
|
-
POSTGRESQL_FIELD,
|
|
222
|
-
...BASE_CREDENTIALS,
|
|
223
|
-
{
|
|
224
|
-
type: 'checkbox',
|
|
225
|
-
label: 'Require SSL/TLS',
|
|
226
|
-
value: true,
|
|
227
|
-
},
|
|
228
|
-
],
|
|
229
|
-
Tableau: [
|
|
230
|
-
{
|
|
231
|
-
type: 'link',
|
|
232
|
-
label: 'Tutorial: Using Tableau with Cube',
|
|
233
|
-
value: '!https://cube.dev/docs/config/downstream/tableau',
|
|
234
|
-
},
|
|
235
|
-
POSTGRESQL_FIELD,
|
|
236
|
-
...renameFields(BASE_CREDENTIALS, {
|
|
237
|
-
Host: 'Server',
|
|
238
|
-
User: 'Username',
|
|
239
|
-
}),
|
|
240
|
-
{
|
|
241
|
-
type: 'checkbox',
|
|
242
|
-
label: 'Use SSL',
|
|
243
|
-
value: true,
|
|
244
|
-
},
|
|
245
|
-
],
|
|
246
|
-
Superset: [
|
|
247
|
-
{
|
|
248
|
-
type: 'link',
|
|
249
|
-
label: 'Tutorial: Using Apache Superset with Cube',
|
|
250
|
-
value: '!https://cube.dev/docs/recipes/using-apache-superset-with-cube-sql',
|
|
251
|
-
},
|
|
252
|
-
POSTGRESQL_FIELD,
|
|
253
|
-
...BASE_CREDENTIALS,
|
|
254
|
-
],
|
|
255
|
-
GoogleSheets: [
|
|
256
|
-
{
|
|
257
|
-
type: 'link',
|
|
258
|
-
label: 'Connect Cube and Google Sheets using Skyvia',
|
|
259
|
-
value: '!https://skyvia.com/connectors/google-sheets',
|
|
260
|
-
},
|
|
261
|
-
POSTGRESQL_FIELD,
|
|
262
|
-
...renameFields(BASE_CREDENTIALS, {
|
|
263
|
-
User: 'User ID',
|
|
264
|
-
}),
|
|
265
|
-
],
|
|
266
|
-
GoogleStudio: [POSTGRESQL_FIELD, ...BASE_CREDENTIALS],
|
|
267
|
-
Excel: [
|
|
268
|
-
{
|
|
269
|
-
type: 'link',
|
|
270
|
-
label: 'Connect Cube and Excel using Devart',
|
|
271
|
-
value: '!https://www.devart.com/excel-addins/postgresql/',
|
|
272
|
-
},
|
|
273
|
-
POSTGRESQL_FIELD,
|
|
274
|
-
...renameFields(BASE_CREDENTIALS, {
|
|
275
|
-
User: 'User id',
|
|
276
|
-
}),
|
|
277
|
-
],
|
|
278
|
-
Hex: [
|
|
279
|
-
{
|
|
280
|
-
type: 'link',
|
|
281
|
-
label: 'Tutorial: Using Hex with Cube',
|
|
282
|
-
value: '!https://cube.dev/docs/config/downstream/hex',
|
|
283
|
-
},
|
|
284
|
-
{
|
|
285
|
-
label: 'Lang',
|
|
286
|
-
value: 'Python + SQL',
|
|
287
|
-
},
|
|
288
|
-
POSTGRESQL_FIELD,
|
|
289
|
-
...renameFields(BASE_CREDENTIALS, {
|
|
290
|
-
User: 'Username',
|
|
291
|
-
}),
|
|
292
|
-
{
|
|
293
|
-
label: 'Type',
|
|
294
|
-
value: 'Password',
|
|
295
|
-
},
|
|
296
|
-
],
|
|
297
|
-
Hightouch: [POSTGRESQL_FIELD, ...BASE_CREDENTIALS],
|
|
298
|
-
Deepnote: [
|
|
299
|
-
{
|
|
300
|
-
type: 'link',
|
|
301
|
-
label: 'Tutorial: Using Deepnote with Cube',
|
|
302
|
-
value: '!https://cube.dev/docs/config/downstream/deepnote',
|
|
303
|
-
},
|
|
304
|
-
POSTGRESQL_FIELD,
|
|
305
|
-
...renameFields(BASE_CREDENTIALS, {
|
|
306
|
-
Host: 'Hostname',
|
|
307
|
-
User: 'Username',
|
|
308
|
-
}),
|
|
309
|
-
],
|
|
310
|
-
ThoughtSpot: [
|
|
311
|
-
{
|
|
312
|
-
type: 'text',
|
|
313
|
-
label: 'Instructions',
|
|
314
|
-
value: (_jsx(_Fragment, { children: _jsxs("ul", { children: [_jsxs("li", { children: ["Choose the ", _jsx("b", { children: "Data" }), " tab."] }), _jsxs("li", { children: ["Click the ", _jsx("b", { children: "Create new" }), " button and select ", _jsx("b", { children: "Connection" }), "."] }), _jsxs("li", { children: ["Name your connection and choose ", _jsx("b", { children: "Amazon Redshift" }), " data warehouse."] }), _jsxs("li", { children: ["Click ", _jsx("b", { children: "Continue" }), "."] }), _jsx("li", { children: "Fill the all the required data with the below values." }), _jsxs("li", { children: ["Click ", _jsx("b", { children: "Advanced Config" }), " and add the key ", _jsx("b", { children: "ssl" }), " with the value ", _jsx("b", { children: "false" }), "."] }), _jsxs("li", { children: ["Click ", _jsx("b", { children: "Continue" }), "."] })] }) })),
|
|
315
|
-
},
|
|
316
|
-
// {
|
|
317
|
-
// label: 'Data Workspace',
|
|
318
|
-
// value: 'Connection',
|
|
319
|
-
// },
|
|
320
|
-
// {
|
|
321
|
-
// label: 'Data Warehouse',
|
|
322
|
-
// value: 'Amazon Redshift',
|
|
323
|
-
// },
|
|
324
|
-
...BASE_CREDENTIALS,
|
|
325
|
-
{
|
|
326
|
-
type: 'heading',
|
|
327
|
-
value: 'Additional config',
|
|
328
|
-
},
|
|
329
|
-
{
|
|
330
|
-
label: 'ssl',
|
|
331
|
-
value: 'false',
|
|
332
|
-
},
|
|
333
|
-
],
|
|
334
|
-
};
|
|
335
|
-
export function ConnectToBiPage() {
|
|
336
|
-
const cubeSqlCredentials = {
|
|
337
|
-
id: 1,
|
|
338
|
-
cubeSqlHost: 'localhost',
|
|
339
|
-
cubeSqlRoute: 'test',
|
|
340
|
-
cubeSqlUser: 'username',
|
|
341
|
-
cubeSqlPassword: 'password',
|
|
342
|
-
};
|
|
343
|
-
return (_jsxs(_Fragment, { children: [_jsx(Header, { children: _jsx(Typography.Title, { children: "Connect to BI" }) }), _jsxs(Flex, { gap: 3, children: [_jsxs(Content, { children: [_jsxs(Paragraph, { children: ["With Cube SQL API you can query Cube via Postgres-compatible SQL. It enables the use of BI applications and other visualization tools on top of Cube. ", _jsx("br", {}), _jsxs(Link, { href: "https://cube.dev/docs/config/downstream", target: "_blank", children: ["Learn more about SQL API and connecting to BI tools in Cube docs \u2197", ' '] })] }), _jsx(Tabs, { defaultActiveKey: "1", tabPosition: "left", size: "small", children: Object.entries(BI_KEYS).map(([key, title]) => (_jsx(Tabs.TabPane, { tab: _jsxs(Space, { children: [_jsx(BiIcon, { type: key }), title] }), children: _jsx(SpaceFlex, { direction: "vertical", style: {
|
|
344
|
-
minWidth: 600,
|
|
345
|
-
padding: '20px 15px',
|
|
346
|
-
}, children: getFields(BI_FIELDS[key], cubeSqlCredentials) }) }, key))) })] }), _jsxs(Flex, { direction: "column", alignItems: "center", style: {
|
|
347
|
-
gap: 32,
|
|
348
|
-
maxWidth: 600,
|
|
349
|
-
}, children: [_jsx(Typography.Text, { children: "Connect Cube to one or more BI tools to enable self-service analytics based on the metrics defined in the semantic layer." }), _jsx(Typography.Link, { href: "https://cubecloud.dev/auth/signup", target: "_blank", children: "Try on Cube Cloud" }), _jsx("img", { src: semanticLayer })] })] })] }));
|
|
350
|
-
}
|
|
351
|
-
//# sourceMappingURL=ConnectToBiPage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectToBiPage.js","sourceRoot":"","sources":["../../../src/pages/ConnectToBI/ConnectToBiPage.tsx"],"names":[],"mappings":"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"}
|