visualifyjs 2.5.3-2.dev → 2.5.3-9-dev
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of visualifyjs might be problematic. Click here for more details.
- package/.github/workflows/{static.yml.bak → build.yaml} +51 -51
- package/LICENSE +674 -674
- package/README.md +40 -58
- package/config-overrides.js +31 -31
- package/dist/visualify.js +3 -3
- package/docs/CLI.md +15 -0
- package/docs/{docs/README.md → README.md} +41 -65
- package/docs/{docs/Rechart → Rechart}/bar.md +190 -190
- package/docs/{docs/Rechart → Rechart}/funnel.md +193 -241
- package/docs/{docs/Rechart → Rechart}/line.md +355 -355
- package/docs/{docs/Rechart → Rechart}/pie.md +225 -225
- package/docs/{docs/Rechart → Rechart}/radar.md +253 -253
- package/docs/{docs/_404.md → _404.md} +51 -51
- package/docs/{docs/_coverpage.md → _coverpage.md} +11 -11
- package/docs/{docs/_sidebar.md → _sidebar.md} +42 -44
- package/docs/{docs/components → components}/dotBio.md +34 -34
- package/docs/{docs/components → components}/echart.md +82 -82
- package/docs/{docs/components → components}/html.md +34 -34
- package/docs/{docs/components → components}/macaron.md +145 -145
- package/docs/components/markdown.md +0 -0
- package/docs/{docs/components → components}/more.md +142 -142
- package/docs/{docs/components → components}/plotly.md +62 -62
- package/docs/{docs/components → components}/scatterL.md +70 -70
- package/docs/{docs/components → components}/visium.md +56 -56
- package/docs/{docs/configuration.md → configuration.md} +123 -121
- package/docs/{docs/deploy.md → deploy.md} +23 -31
- package/docs/index.html +70 -70
- package/docs/log.md +1 -0
- package/docs/manifest.json +23 -23
- package/docs/{docs/more-pages.md → more-pages.md} +23 -23
- package/docs/{docs/quickstart.md → quickstart.md} +115 -124
- package/docs/{docs/rechart-attributes.md → rechart-attributes.md} +74 -74
- package/docs/{docs/rechart-basic-usage.md → rechart-basic-usage.md} +162 -162
- package/docs/static/css/fluff-stuff.css +169 -169
- package/docs/static/css/font-awesome.min.css +4 -4
- package/docs/static/css/visualify.css +25 -25
- package/docs/static/js/configuration.js +448 -448
- package/docs/static/js/visualify.js +24 -23
- package/docs/theme.md +3 -0
- package/package.json +74 -83
- package/rollup.config.mjs +75 -75
- package/src/_css/404.css +115 -115
- package/src/_css/App.css +37 -37
- package/src/_css/autoSuggestion.css +26 -26
- package/src/_css/circular-progress.css +32 -32
- package/src/_css/index.css +36 -36
- package/src/_css/modern.css +24 -24
- package/src/_media/corner.svg +8 -8
- package/src/_media/download.svg +3 -3
- package/src/_media/logo.svg +14 -14
- package/src/_test/App.test.js +15 -15
- package/src/_utils/reportWebVitals.js +13 -13
- package/src/core/appContext.js +27 -27
- package/src/core/components/Scatter.js +188 -188
- package/src/core/components/ScatterBio.js +572 -572
- package/src/core/components/VisiumPlot.js +165 -165
- package/src/core/components/browser.js +42 -42
- package/src/core/components/dotplot.js +413 -413
- package/src/core/components/html.js +29 -29
- package/src/core/components/list.js +178 -178
- package/src/core/components/macaron.js +201 -201
- package/src/core/components/markdown.js +56 -56
- package/src/core/components/parser.scatterBio.js +579 -587
- package/src/core/components/ratio.js +80 -80
- package/src/core/components/scatterL.js +173 -173
- package/src/core/components/searchbar.js +131 -131
- package/src/core/components/selection.js +193 -193
- package/src/core/components/timeline.js +281 -281
- package/src/core/components/visium.js +97 -97
- package/src/core/fetch/condfetch.js +82 -82
- package/src/core/fetch/fetch.js +92 -92
- package/src/core/fetch/json.js +29 -29
- package/src/core/fetch/vfetch.js +42 -42
- package/src/core/liveEditor.js +44 -44
- package/src/core/modules/codeEditorWithPreview.js +104 -104
- package/src/core/modules/echarts/common.js +20 -20
- package/src/core/modules/echarts/presetHandler.js +41 -41
- package/src/core/modules/echarts/presets/esodev.chromium.js +172 -172
- package/src/core/modules/echarts/presets/esodev.codex.js +130 -130
- package/src/core/modules/echarts/presets/esodev.visium.js +123 -123
- package/src/core/modules/echarts/presets/mmtrbc.js +186 -186
- package/src/core/modules/echarts.js +71 -71
- package/src/core/modules/echartsUtils.js +43 -43
- package/src/core/modules/echartswitcher.js +152 -152
- package/src/core/modules/replotly/presetHandler.js +24 -24
- package/src/core/modules/replotly/presets/minimum.js +18 -18
- package/src/core/modules/replotly/presets/mmtrbc.dot.js +114 -114
- package/src/core/modules/replotly/presets/mmtrbc.violin.js +100 -100
- package/src/core/modules/replotly.js +71 -71
- package/src/core/pages/404.js +50 -50
- package/src/core/pages/error.js +27 -27
- package/src/core/pages/jsonPage.js +62 -62
- package/src/core/pages/loading.js +44 -44
- package/src/core/parser/echart.data.js +183 -183
- package/src/core/parser/echart.features.js +125 -125
- package/src/core/parser/echart.general.js +143 -147
- package/src/core/parser/echart.hilbert.js +57 -57
- package/src/core/parser/echart.parser.js +210 -210
- package/src/core/parser/echart.series.js +67 -67
- package/src/core/parser/echart.types.js +76 -76
- package/src/core/parser/plotly.config.js +10 -10
- package/src/core/parser/plotly.data.js +132 -132
- package/src/core/parser/plotly.layout.js +9 -9
- package/src/core/parser/plotly.violin.js +18 -18
- package/src/core/recharts.js +62 -62
- package/src/core/router/alias.js +49 -49
- package/src/core/router/jsonRouter.js +31 -31
- package/src/core/themes/modern.js +32 -32
- package/src/core/themes/themeSelector.js +33 -33
- package/src/core/visualify.js +47 -47
- package/src/core/widgets/circularProgress.js +23 -23
- package/src/core/widgets/controller.js +83 -83
- package/src/core/widgets/errorBoundary.js +36 -36
- package/src/core/widgets/footer.js +177 -177
- package/src/core/widgets/header.js +234 -234
- package/src/core/widgets/layout/Grid.js +31 -31
- package/src/core/widgets/layout.js +36 -36
- package/src/core/widgets/mapping.js +42 -42
- package/src/index.js +62 -62
- package/src/setupTests.js +5 -5
- package/docs/docs/CLI.md +0 -34
- package/docs/docs/Rechart/scatter.md +0 -298
- package/docs/docs/log.md +0 -9
- package/docs/docs/static/logo/favicon.ico +0 -0
- package/docs/docs/static/logo/logo_128x128.png +0 -0
- package/docs/docs/static/logo/logo_192x192.png +0 -0
- package/docs/docs/static/logo/logo_256x256.png +0 -0
- package/docs/docs/static/logo/logo_512x512.png +0 -0
- package/docs/docs/static/logo/logo_64x64.png +0 -0
- package/docs/docs/theme.md +0 -5
- /package/docs/{docs/Rechart → Rechart}/geo.md +0 -0
- /package/docs/{docs/Rechart → Rechart}/liquidfill.md +0 -0
- /package/docs/{docs/Rechart → Rechart}/polar.md +0 -0
- /package/docs/{docs/Rechart → Rechart}/sankey.md +0 -0
- /package/docs/{docs/Rechart/sunburst.md → Rechart/scatter.md} +0 -0
- /package/docs/{docs/Rechart/tree.md → Rechart/sunburst.md} +0 -0
- /package/docs/{docs/Rechart/wordcloud.md → Rechart/tree.md} +0 -0
- /package/docs/{docs/components/markdown.md → Rechart/wordcloud.md} +0 -0
- /package/docs/{docs/static → static}/_images/deploy-github-pages.png +0 -0
package/src/core/fetch/vfetch.js
CHANGED
@@ -1,42 +1,42 @@
|
|
1
|
-
/*
|
2
|
-
* @Author : Lihao leolihao@arizona.edu
|
3
|
-
* @Date : 2023-12-21 16:49:22
|
4
|
-
* @FilePath : /visualifyjs/src/core/fetch/vfetch.js
|
5
|
-
* @Description :
|
6
|
-
* Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
-
*/
|
8
|
-
const fetchApi = async (
|
9
|
-
url,
|
10
|
-
method = 'GET',
|
11
|
-
body = null,
|
12
|
-
headers = {},
|
13
|
-
debug = false,
|
14
|
-
) => {
|
15
|
-
// Setup for CORS and headers
|
16
|
-
let fetchOptions = {
|
17
|
-
method: method,
|
18
|
-
headers: {
|
19
|
-
'Content-Type': 'application/json',
|
20
|
-
...headers,
|
21
|
-
},
|
22
|
-
mode: debug ? 'cors' : 'same-origin',
|
23
|
-
};
|
24
|
-
|
25
|
-
// Add body for POST request
|
26
|
-
if (method === 'POST' && body) {
|
27
|
-
fetchOptions.body = JSON.stringify(body);
|
28
|
-
}
|
29
|
-
|
30
|
-
try {
|
31
|
-
const response = await fetch(url, fetchOptions);
|
32
|
-
if (!response.ok) {
|
33
|
-
throw new Error(`HTTP error! status: ${response.status}`);
|
34
|
-
}
|
35
|
-
return await response.json();
|
36
|
-
} catch (err) {
|
37
|
-
console.error('Fetch API Error:', err);
|
38
|
-
throw err;
|
39
|
-
}
|
40
|
-
};
|
41
|
-
|
42
|
-
export default fetchApi;
|
1
|
+
/*
|
2
|
+
* @Author : Lihao leolihao@arizona.edu
|
3
|
+
* @Date : 2023-12-21 16:49:22
|
4
|
+
* @FilePath : /visualifyjs/src/core/fetch/vfetch.js
|
5
|
+
* @Description :
|
6
|
+
* Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
+
*/
|
8
|
+
const fetchApi = async (
|
9
|
+
url,
|
10
|
+
method = 'GET',
|
11
|
+
body = null,
|
12
|
+
headers = {},
|
13
|
+
debug = false,
|
14
|
+
) => {
|
15
|
+
// Setup for CORS and headers
|
16
|
+
let fetchOptions = {
|
17
|
+
method: method,
|
18
|
+
headers: {
|
19
|
+
'Content-Type': 'application/json',
|
20
|
+
...headers,
|
21
|
+
},
|
22
|
+
mode: debug ? 'cors' : 'same-origin',
|
23
|
+
};
|
24
|
+
|
25
|
+
// Add body for POST request
|
26
|
+
if (method === 'POST' && body) {
|
27
|
+
fetchOptions.body = JSON.stringify(body);
|
28
|
+
}
|
29
|
+
|
30
|
+
try {
|
31
|
+
const response = await fetch(url, fetchOptions);
|
32
|
+
if (!response.ok) {
|
33
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
34
|
+
}
|
35
|
+
return await response.json();
|
36
|
+
} catch (err) {
|
37
|
+
console.error('Fetch API Error:', err);
|
38
|
+
throw err;
|
39
|
+
}
|
40
|
+
};
|
41
|
+
|
42
|
+
export default fetchApi;
|
package/src/core/liveEditor.js
CHANGED
@@ -1,44 +1,44 @@
|
|
1
|
-
/*
|
2
|
-
* @Author : Lihao leolihao@arizona.edu
|
3
|
-
* @Date : 2023-12-01 22:51:45
|
4
|
-
* @FilePath : /visualifyjs/src/core/liveEditor.js
|
5
|
-
* @Description :
|
6
|
-
* Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
-
*/
|
8
|
-
import React from 'react';
|
9
|
-
import Recharts from './recharts';
|
10
|
-
import { createRoot } from 'react-dom/client';
|
11
|
-
import CodeEditorWithPreview from './modules/codeEditorWithPreview';
|
12
|
-
import { VisualifyProvider } from './appContext';
|
13
|
-
class LiveEditor extends Recharts {
|
14
|
-
constructor(config) {
|
15
|
-
super();
|
16
|
-
this.config = config;
|
17
|
-
}
|
18
|
-
|
19
|
-
mount(selector) {
|
20
|
-
const el =
|
21
|
-
typeof selector === 'string'
|
22
|
-
? document.querySelector(selector)
|
23
|
-
: selector;
|
24
|
-
|
25
|
-
if (!el) {
|
26
|
-
throw new Error(`Element not found with selector: ${selector}`);
|
27
|
-
}
|
28
|
-
|
29
|
-
try {
|
30
|
-
// Assuming createRoot is imported from 'react-dom/client'
|
31
|
-
const charts = createRoot(el);
|
32
|
-
charts.render(
|
33
|
-
<VisualifyProvider>
|
34
|
-
<CodeEditorWithPreview config={this.config} />
|
35
|
-
</VisualifyProvider>,
|
36
|
-
);
|
37
|
-
console.log('mounted ' + selector, el);
|
38
|
-
} catch (e) {
|
39
|
-
console.error('Error mounting chart:', e);
|
40
|
-
}
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
export default LiveEditor;
|
1
|
+
/*
|
2
|
+
* @Author : Lihao leolihao@arizona.edu
|
3
|
+
* @Date : 2023-12-01 22:51:45
|
4
|
+
* @FilePath : /visualifyjs/src/core/liveEditor.js
|
5
|
+
* @Description :
|
6
|
+
* Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
+
*/
|
8
|
+
import React from 'react';
|
9
|
+
import Recharts from './recharts';
|
10
|
+
import { createRoot } from 'react-dom/client';
|
11
|
+
import CodeEditorWithPreview from './modules/codeEditorWithPreview';
|
12
|
+
import { VisualifyProvider } from './appContext';
|
13
|
+
class LiveEditor extends Recharts {
|
14
|
+
constructor(config) {
|
15
|
+
super();
|
16
|
+
this.config = config;
|
17
|
+
}
|
18
|
+
|
19
|
+
mount(selector) {
|
20
|
+
const el =
|
21
|
+
typeof selector === 'string'
|
22
|
+
? document.querySelector(selector)
|
23
|
+
: selector;
|
24
|
+
|
25
|
+
if (!el) {
|
26
|
+
throw new Error(`Element not found with selector: ${selector}`);
|
27
|
+
}
|
28
|
+
|
29
|
+
try {
|
30
|
+
// Assuming createRoot is imported from 'react-dom/client'
|
31
|
+
const charts = createRoot(el);
|
32
|
+
charts.render(
|
33
|
+
<VisualifyProvider>
|
34
|
+
<CodeEditorWithPreview config={this.config} />
|
35
|
+
</VisualifyProvider>,
|
36
|
+
);
|
37
|
+
console.log('mounted ' + selector, el);
|
38
|
+
} catch (e) {
|
39
|
+
console.error('Error mounting chart:', e);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
export default LiveEditor;
|
@@ -1,104 +1,104 @@
|
|
1
|
-
/*
|
2
|
-
* @Author : Lihao leolihao@arizona.edu
|
3
|
-
* @Date : 2023-12-01 22:17:15
|
4
|
-
* @FilePath : /visualifyjs/src/core/modules/codeEditorWithPreview.js
|
5
|
-
* @Description :
|
6
|
-
* Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
-
*/
|
8
|
-
import React, { useState } from 'react';
|
9
|
-
import AceEditor from 'react-ace';
|
10
|
-
import EChartSwitcher from './echartswitcher';
|
11
|
-
import 'ace-builds/src-noconflict/mode-javascript';
|
12
|
-
import 'ace-builds/src-noconflict/theme-monokai';
|
13
|
-
|
14
|
-
const CodeEditorWithPreview = ({ config }) => {
|
15
|
-
const supportedThemes = ['', 'monokai'];
|
16
|
-
const supportedMode = ['javascript'];
|
17
|
-
|
18
|
-
const {
|
19
|
-
theme = '',
|
20
|
-
mode = 'javascript',
|
21
|
-
width,
|
22
|
-
height = '400px',
|
23
|
-
title = 'Rechart Preview',
|
24
|
-
editorProps = { $blockScrolling: true },
|
25
|
-
} = config;
|
26
|
-
|
27
|
-
if (!supportedThemes.includes(theme)) {
|
28
|
-
throw new Error(
|
29
|
-
`Theme '${theme}' not supported. Supported themes are: ${supportedThemes.join(
|
30
|
-
', ',
|
31
|
-
)}`,
|
32
|
-
);
|
33
|
-
}
|
34
|
-
|
35
|
-
if (!supportedMode.includes(mode)) {
|
36
|
-
throw new Error(
|
37
|
-
`Mode '${mode}' not supported. Supported modes are: ${supportedMode.join(
|
38
|
-
', ',
|
39
|
-
)}`,
|
40
|
-
);
|
41
|
-
}
|
42
|
-
|
43
|
-
const [code, setCode] = useState(config.code);
|
44
|
-
|
45
|
-
// Function to evaluate the code and return the chart options
|
46
|
-
const getChartOptions = () => {
|
47
|
-
try {
|
48
|
-
// eslint-disable-next-line no-new-func
|
49
|
-
const func = new Function(code);
|
50
|
-
return func()();
|
51
|
-
} catch (error) {
|
52
|
-
console.error('Error evaluating chart options:', error);
|
53
|
-
return {};
|
54
|
-
}
|
55
|
-
};
|
56
|
-
|
57
|
-
const blockStyles = {
|
58
|
-
display: 'flex',
|
59
|
-
justifyContent: 'space-between',
|
60
|
-
};
|
61
|
-
if (width) blockStyles.width = width;
|
62
|
-
|
63
|
-
const editorStyles = {
|
64
|
-
flexGrow: 1,
|
65
|
-
border: '1px solid #ddd',
|
66
|
-
borderRadius: '4px',
|
67
|
-
marginBottom: '10px',
|
68
|
-
width: '50%',
|
69
|
-
};
|
70
|
-
|
71
|
-
const editorTitleStyles = {
|
72
|
-
backgroundColor: '#f4f4f4',
|
73
|
-
padding: '10px',
|
74
|
-
borderBottom: '1px solid #ddd',
|
75
|
-
width: '100%',
|
76
|
-
};
|
77
|
-
|
78
|
-
return (
|
79
|
-
<div style={blockStyles}>
|
80
|
-
<div style={editorStyles}>
|
81
|
-
<div style={editorTitleStyles}>{title}</div>
|
82
|
-
<AceEditor
|
83
|
-
mode={mode}
|
84
|
-
theme={theme}
|
85
|
-
value={code}
|
86
|
-
onChange={setCode}
|
87
|
-
name={title}
|
88
|
-
editorProps={editorProps}
|
89
|
-
width='100%'
|
90
|
-
height={height}
|
91
|
-
setOptions={{
|
92
|
-
wrap: true,
|
93
|
-
useWorker: false,
|
94
|
-
}}
|
95
|
-
/>
|
96
|
-
</div>
|
97
|
-
<div style={{ width: '50%' }}>
|
98
|
-
<EChartSwitcher props={{ config: getChartOptions() }} />
|
99
|
-
</div>
|
100
|
-
</div>
|
101
|
-
);
|
102
|
-
};
|
103
|
-
|
104
|
-
export default CodeEditorWithPreview;
|
1
|
+
/*
|
2
|
+
* @Author : Lihao leolihao@arizona.edu
|
3
|
+
* @Date : 2023-12-01 22:17:15
|
4
|
+
* @FilePath : /visualifyjs/src/core/modules/codeEditorWithPreview.js
|
5
|
+
* @Description :
|
6
|
+
* Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
+
*/
|
8
|
+
import React, { useState } from 'react';
|
9
|
+
import AceEditor from 'react-ace';
|
10
|
+
import EChartSwitcher from './echartswitcher';
|
11
|
+
import 'ace-builds/src-noconflict/mode-javascript';
|
12
|
+
import 'ace-builds/src-noconflict/theme-monokai';
|
13
|
+
|
14
|
+
const CodeEditorWithPreview = ({ config }) => {
|
15
|
+
const supportedThemes = ['', 'monokai'];
|
16
|
+
const supportedMode = ['javascript'];
|
17
|
+
|
18
|
+
const {
|
19
|
+
theme = '',
|
20
|
+
mode = 'javascript',
|
21
|
+
width,
|
22
|
+
height = '400px',
|
23
|
+
title = 'Rechart Preview',
|
24
|
+
editorProps = { $blockScrolling: true },
|
25
|
+
} = config;
|
26
|
+
|
27
|
+
if (!supportedThemes.includes(theme)) {
|
28
|
+
throw new Error(
|
29
|
+
`Theme '${theme}' not supported. Supported themes are: ${supportedThemes.join(
|
30
|
+
', ',
|
31
|
+
)}`,
|
32
|
+
);
|
33
|
+
}
|
34
|
+
|
35
|
+
if (!supportedMode.includes(mode)) {
|
36
|
+
throw new Error(
|
37
|
+
`Mode '${mode}' not supported. Supported modes are: ${supportedMode.join(
|
38
|
+
', ',
|
39
|
+
)}`,
|
40
|
+
);
|
41
|
+
}
|
42
|
+
|
43
|
+
const [code, setCode] = useState(config.code);
|
44
|
+
|
45
|
+
// Function to evaluate the code and return the chart options
|
46
|
+
const getChartOptions = () => {
|
47
|
+
try {
|
48
|
+
// eslint-disable-next-line no-new-func
|
49
|
+
const func = new Function(code);
|
50
|
+
return func()();
|
51
|
+
} catch (error) {
|
52
|
+
console.error('Error evaluating chart options:', error);
|
53
|
+
return {};
|
54
|
+
}
|
55
|
+
};
|
56
|
+
|
57
|
+
const blockStyles = {
|
58
|
+
display: 'flex',
|
59
|
+
justifyContent: 'space-between',
|
60
|
+
};
|
61
|
+
if (width) blockStyles.width = width;
|
62
|
+
|
63
|
+
const editorStyles = {
|
64
|
+
flexGrow: 1,
|
65
|
+
border: '1px solid #ddd',
|
66
|
+
borderRadius: '4px',
|
67
|
+
marginBottom: '10px',
|
68
|
+
width: '50%',
|
69
|
+
};
|
70
|
+
|
71
|
+
const editorTitleStyles = {
|
72
|
+
backgroundColor: '#f4f4f4',
|
73
|
+
padding: '10px',
|
74
|
+
borderBottom: '1px solid #ddd',
|
75
|
+
width: '100%',
|
76
|
+
};
|
77
|
+
|
78
|
+
return (
|
79
|
+
<div style={blockStyles}>
|
80
|
+
<div style={editorStyles}>
|
81
|
+
<div style={editorTitleStyles}>{title}</div>
|
82
|
+
<AceEditor
|
83
|
+
mode={mode}
|
84
|
+
theme={theme}
|
85
|
+
value={code}
|
86
|
+
onChange={setCode}
|
87
|
+
name={title}
|
88
|
+
editorProps={editorProps}
|
89
|
+
width='100%'
|
90
|
+
height={height}
|
91
|
+
setOptions={{
|
92
|
+
wrap: true,
|
93
|
+
useWorker: false,
|
94
|
+
}}
|
95
|
+
/>
|
96
|
+
</div>
|
97
|
+
<div style={{ width: '50%' }}>
|
98
|
+
<EChartSwitcher props={{ config: getChartOptions() }} />
|
99
|
+
</div>
|
100
|
+
</div>
|
101
|
+
);
|
102
|
+
};
|
103
|
+
|
104
|
+
export default CodeEditorWithPreview;
|
@@ -1,20 +1,20 @@
|
|
1
|
-
/*
|
2
|
-
* @Author : Lihao leolihao@arizona.edu
|
3
|
-
* @Date : 2023-12-01 21:43:02
|
4
|
-
* @FilePath : /visualifyjs/src/core/modules/echarts/common.js
|
5
|
-
* @Description :
|
6
|
-
* Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
-
*/
|
8
|
-
const minimumPreset = {
|
9
|
-
title: {},
|
10
|
-
tooltip: {},
|
11
|
-
legend: {
|
12
|
-
top: 25,
|
13
|
-
},
|
14
|
-
xAxis: {},
|
15
|
-
yAxis: {},
|
16
|
-
series: [],
|
17
|
-
// ... other default settings for charts
|
18
|
-
};
|
19
|
-
|
20
|
-
export default minimumPreset;
|
1
|
+
/*
|
2
|
+
* @Author : Lihao leolihao@arizona.edu
|
3
|
+
* @Date : 2023-12-01 21:43:02
|
4
|
+
* @FilePath : /visualifyjs/src/core/modules/echarts/common.js
|
5
|
+
* @Description :
|
6
|
+
* Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
+
*/
|
8
|
+
const minimumPreset = {
|
9
|
+
title: {},
|
10
|
+
tooltip: {},
|
11
|
+
legend: {
|
12
|
+
top: 25,
|
13
|
+
},
|
14
|
+
xAxis: {},
|
15
|
+
yAxis: {},
|
16
|
+
series: [],
|
17
|
+
// ... other default settings for charts
|
18
|
+
};
|
19
|
+
|
20
|
+
export default minimumPreset;
|
@@ -1,41 +1,41 @@
|
|
1
|
-
/*
|
2
|
-
* @Author : Lihao leolihao@arizona.edu
|
3
|
-
* @Date : 2023-12-02 21:36:01
|
4
|
-
* @FilePath : /visualifyjs/src/core/modules/echarts/presetHandler.js
|
5
|
-
* @Description :
|
6
|
-
* Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
-
*/
|
8
|
-
// presetHandler.js
|
9
|
-
import minimumPreset from './common';
|
10
|
-
import mmtrbc from './presets/mmtrbc';
|
11
|
-
import esodev_chromium from './presets/esodev.chromium';
|
12
|
-
import esodev_codex from './presets/esodev.codex';
|
13
|
-
import esodev_visium from './presets/esodev.visium';
|
14
|
-
|
15
|
-
// Example embedded presets
|
16
|
-
const embeddedPresets = {
|
17
|
-
mmtrbc: mmtrbc,
|
18
|
-
esodev_chromium: esodev_chromium,
|
19
|
-
esodev_codex: esodev_codex,
|
20
|
-
esodev_visium: esodev_visium,
|
21
|
-
// 'presetName': { ...preset data... }
|
22
|
-
// Define embedded presets here
|
23
|
-
};
|
24
|
-
|
25
|
-
// Function to fetch preset data from a URL
|
26
|
-
export const fetchPresetFromURL = async (url) => {
|
27
|
-
try {
|
28
|
-
const response = await fetch(url);
|
29
|
-
const data = await response.json();
|
30
|
-
return data;
|
31
|
-
} catch (error) {
|
32
|
-
console.error('Error fetching preset from URL:', error);
|
33
|
-
return null; // Return null or appropriate error handling
|
34
|
-
}
|
35
|
-
};
|
36
|
-
|
37
|
-
// Function to get an embedded preset based on a string key
|
38
|
-
export const getEmbeddedPreset = (presetKey) => {
|
39
|
-
// Return minimumPreset if preset not found
|
40
|
-
return embeddedPresets[presetKey] || minimumPreset;
|
41
|
-
};
|
1
|
+
/*
|
2
|
+
* @Author : Lihao leolihao@arizona.edu
|
3
|
+
* @Date : 2023-12-02 21:36:01
|
4
|
+
* @FilePath : /visualifyjs/src/core/modules/echarts/presetHandler.js
|
5
|
+
* @Description :
|
6
|
+
* Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
+
*/
|
8
|
+
// presetHandler.js
|
9
|
+
import minimumPreset from './common';
|
10
|
+
import mmtrbc from './presets/mmtrbc';
|
11
|
+
import esodev_chromium from './presets/esodev.chromium';
|
12
|
+
import esodev_codex from './presets/esodev.codex';
|
13
|
+
import esodev_visium from './presets/esodev.visium';
|
14
|
+
|
15
|
+
// Example embedded presets
|
16
|
+
const embeddedPresets = {
|
17
|
+
mmtrbc: mmtrbc,
|
18
|
+
esodev_chromium: esodev_chromium,
|
19
|
+
esodev_codex: esodev_codex,
|
20
|
+
esodev_visium: esodev_visium,
|
21
|
+
// 'presetName': { ...preset data... }
|
22
|
+
// Define embedded presets here
|
23
|
+
};
|
24
|
+
|
25
|
+
// Function to fetch preset data from a URL
|
26
|
+
export const fetchPresetFromURL = async (url) => {
|
27
|
+
try {
|
28
|
+
const response = await fetch(url);
|
29
|
+
const data = await response.json();
|
30
|
+
return data;
|
31
|
+
} catch (error) {
|
32
|
+
console.error('Error fetching preset from URL:', error);
|
33
|
+
return null; // Return null or appropriate error handling
|
34
|
+
}
|
35
|
+
};
|
36
|
+
|
37
|
+
// Function to get an embedded preset based on a string key
|
38
|
+
export const getEmbeddedPreset = (presetKey) => {
|
39
|
+
// Return minimumPreset if preset not found
|
40
|
+
return embeddedPresets[presetKey] || minimumPreset;
|
41
|
+
};
|