visualifyjs 2.5.3 → 3.0.0
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/.claude/mem/TIMELINE.md +36 -0
- package/.claude/mem/notes/2026-02-11-3d-visualization-docs-fix-external-script-solution.md +24 -0
- package/.claude/mem/notes/2026-02-11-3d-visualization-docs-fix-session-summary.md +43 -0
- package/.claude/mem/notes/2026-02-11-cli-fix-editor-command-alias.md +26 -0
- package/.claude/mem/notes/2026-02-11-phase-3-developer-experience-completed.md +51 -0
- package/.claude/mem/notes/2026-02-11-phase-4-web-workers-implementation-complete.md +59 -0
- package/.claude/mem/notes/2026-02-11-visualify-phase-2-3d-visualization-complete.md +50 -0
- package/.claude/mem/notes/2026-02-11-visualify-phase-2-committed-ready-for-phase-3.md +33 -0
- package/.claude/mem/notes/2026-02-11-visualify-phase-3-complete-developer-experience.md +52 -0
- package/.claude/mem/notes/2026-02-11-visualify-repository-cleanup-complete.md +28 -0
- package/.claude/mem/notes/2026-02-18-codebase-cleanup-docsify-plugin-documentation.md +37 -0
- package/.claude/mem/notes/2026-02-19-css-grid-layout-fix-displaycontents-on-vcontroller.md +18 -0
- package/.claude/mem/notes/2026-02-19-docsify-plugin-fixes-latex-and-visualify-code-bloc.md +26 -0
- package/.claude/mem/notes/2026-02-19-page-mode-docs-update-decisions.md +23 -0
- package/.claude/mem/notes/2026-02-19-react-context-infinite-re-render-loop-fix-pattern.md +31 -0
- package/.claude/mem/notes/2026-02-19-version-300-bump-and-build-fixes.md +32 -0
- package/.claude/mem/notes/2026-02-19-visualify-build-deployment-architecture-bug-fixes.md +25 -0
- package/.claude/mem/notes/2026-02-19-visualify-dist-iife-self-contained-build-config.md +30 -0
- package/.claude/mem/notes/2026-02-19-visualify-infinite-loop-i18n-fixes.md +31 -0
- package/.claude/mem/notes/2026-02-19-visualify-v3-bundle-splitting-docs-restructuring.md +32 -0
- package/.claude/mem/notes/2026-02-20-bundle-externalization-final-architecture.md +29 -0
- package/.claude/mem/notes/2026-02-20-chromium-page-fix-unstable-keys-and-double-event-b.md +27 -0
- package/.claude/mem/notes/2026-02-20-console-cleanup-bundle-optimization-commit.md +20 -0
- package/.claude/mem/notes/2026-02-20-dotbio-dot-plot-fix-useeffect-dependency.md +21 -0
- package/.claude/mem/notes/2026-02-20-public-folder-cleanup-and-readme-rewrite.md +25 -0
- package/.claude/mem/notes/2026-02-20-v300-release-and-beta-channel-strategy.md +29 -0
- package/.claude/mem/notes/2026-02-20-visium-background-image-unknown-legend-fix.md +19 -0
- package/.claude/mem/notes/2026-02-20-visualify-cdn-loader-bundle-externalization.md +34 -0
- package/.claude/mem/sessions/session-2026-02-20-031524.md +54 -0
- package/.claude/settings.local.json +21 -0
- package/.github/workflows/static.yml.bak +51 -51
- package/.sisyphus/boulder.json +65 -0
- package/.sisyphus/plans/phase-4-advanced-optimizations.md +217 -0
- package/LICENSE +674 -674
- package/README.md +94 -59
- package/config-overrides.js +31 -31
- package/dist/stats.html +4949 -0
- package/dist/visualify-3d.esm.js +1 -0
- package/dist/visualify-3d.js +1 -0
- package/dist/visualify-core.esm.js +1 -0
- package/dist/visualify-core.js +1 -0
- package/dist/visualify-docs.esm.js +1 -0
- package/dist/visualify-docs.js +1 -0
- package/dist/visualify-loader.js +1 -0
- package/dist/visualify-pages.esm.js +1 -0
- package/dist/visualify-pages.js +1 -0
- package/dist/visualify-portal.esm.js +1 -0
- package/dist/visualify-portal.js +1 -0
- package/dist/visualify-shared.js +26571 -0
- package/dist/visualify.js +1 -188
- package/docs/CHANGELOG.md +148 -0
- package/docs/cli/commands.md +513 -0
- package/docs/configuration/visualify-json.md +474 -0
- package/docs/docs/3d-visualization.md +374 -0
- package/docs/docs/CLI.md +303 -34
- package/docs/docs/README.md +65 -65
- package/docs/docs/Rechart/bar.md +190 -190
- package/docs/docs/Rechart/funnel.md +241 -193
- package/docs/docs/Rechart/line.md +355 -355
- package/docs/docs/Rechart/pie.md +225 -225
- package/docs/docs/Rechart/radar.md +253 -253
- package/docs/docs/Rechart/scatter.md +298 -0
- package/docs/docs/_404.md +51 -51
- package/docs/docs/_coverpage.md +11 -11
- package/docs/docs/_sidebar.md +54 -43
- package/docs/docs/components/dotBio.md +87 -34
- package/docs/docs/components/echart.md +171 -82
- package/docs/docs/components/html.md +61 -34
- package/docs/docs/components/macaron.md +156 -145
- package/docs/docs/components/markdown.md +42 -0
- package/docs/docs/components/more.md +183 -142
- package/docs/docs/components/plotly.md +132 -62
- package/docs/docs/components/scatterL.md +171 -70
- package/docs/docs/components/visium.md +112 -57
- package/docs/docs/configuration.md +121 -123
- package/docs/docs/deploy.md +31 -31
- package/docs/docs/docsify-plugin.md +655 -0
- package/docs/docs/hmr.md +165 -0
- package/docs/docs/i18n.md +332 -0
- package/docs/docs/log.md +30 -1
- package/docs/docs/more-pages.md +23 -23
- package/docs/docs/quickstart.md +148 -119
- package/docs/docs/rechart-attributes.md +74 -74
- package/docs/docs/rechart-basic-usage.md +160 -162
- package/docs/docs/theme.md +5 -5
- package/docs/docs/typescript.md +306 -0
- package/docs/docs/visual-editor.md +359 -0
- package/docs/index.html +85 -71
- package/docs/manifest.json +23 -23
- package/docs/migration/v3-migration.md +392 -0
- 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 +6 -25
- package/docs/static/js/3d-viz-examples.js +181 -0
- package/docs/static/js/configuration.js +630 -448
- package/docs/static/js/visualify.js +1 -188
- package/package.json +106 -84
- package/rollup.config.mjs +766 -76
- 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 +350 -25
- 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/a11y/README.md +177 -0
- package/src/a11y/aria-labels.js +339 -0
- package/src/a11y/color-contrast.js +535 -0
- package/src/a11y/index.js +197 -0
- package/src/a11y/keyboard-nav.js +523 -0
- package/src/a11y/styles.css +165 -0
- package/src/cli/commands/dev.js +214 -0
- package/src/cli/commands/docs.js +521 -0
- package/src/cli/commands/edit.js +379 -0
- package/src/cli/commands/init.js +213 -0
- package/src/cli/commands/portal.js +236 -0
- package/src/cli/dev-server.js +530 -0
- package/src/cli/hmr.js +456 -0
- package/src/cli/index.js +180 -0
- package/src/cli/utils/config.js +207 -0
- package/src/cli/utils/logger.js +241 -0
- package/src/config/defaults.ts +122 -0
- package/src/config/index.ts +72 -0
- package/src/config/loader.ts +478 -0
- package/src/config/schema.ts +227 -0
- package/src/config/validator.ts +337 -0
- package/src/core/appContext.js +34 -27
- package/src/core/components/Bar.js +383 -0
- package/src/core/components/Bar3D.js +473 -0
- package/src/core/components/LargeDatasetChart.js +296 -0
- package/src/core/components/Line3D.js +310 -0
- package/src/core/components/Scatter.js +392 -188
- package/src/core/components/Scatter3D.js +455 -0
- package/src/core/components/ScatterBio.js +601 -572
- package/src/core/components/Surface3D.js +326 -0
- package/src/core/components/ThreeCustom.js +648 -0
- package/src/core/components/ThreeScene.js +459 -0
- package/src/core/components/VisiumPlot.js +191 -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 +206 -201
- package/src/core/components/markdown.js +56 -56
- package/src/core/components/parser.scatterBio.js +582 -579
- package/src/core/components/ratio.js +82 -80
- package/src/core/components/scatterL.js +206 -173
- package/src/core/components/searchbar.js +156 -131
- package/src/core/components/selection.js +310 -193
- package/src/core/components/timeline.js +236 -281
- package/src/core/components/visium.js +114 -97
- package/src/core/data-processor.js +413 -0
- 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/hmr-client.js +724 -0
- 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/gl.js +228 -0
- 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 +70 -71
- package/src/core/modules/echartsUtils.js +43 -43
- package/src/core/modules/echartswitcher.js +227 -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 +74 -71
- package/src/core/modules/threejs/Camera.js +373 -0
- package/src/core/modules/threejs/Lighting.js +459 -0
- package/src/core/modules/threejs/Renderer.js +364 -0
- package/src/core/modules/threejs/Scene.js +266 -0
- package/src/core/modules/threejs/index.js +155 -0
- 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 +204 -183
- package/src/core/parser/echart.features.js +125 -125
- package/src/core/parser/echart.general.js +147 -143
- 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 +361 -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 +213 -47
- package/src/core/widgets/circularProgress.js +23 -23
- package/src/core/widgets/controller.js +116 -83
- package/src/core/widgets/errorBoundary.js +36 -36
- package/src/core/widgets/footer.js +185 -177
- package/src/core/widgets/header.js +238 -234
- package/src/core/widgets/layout/Grid.js +31 -31
- package/src/core/widgets/layout.js +36 -36
- package/src/core/widgets/mapping.js +56 -42
- package/src/core/workers/data-worker.js +349 -0
- package/src/core/workers/worker-pool.js +396 -0
- package/src/docsify/bundle.js +215 -0
- package/src/docsify/markdown.js +271 -0
- package/src/docsify/plugin.js +268 -0
- package/src/editor/README.md +172 -0
- package/src/editor/components/ChartBuilder.jsx +341 -0
- package/src/editor/components/ChartTypeSidebar.jsx +91 -0
- package/src/editor/components/Editor.jsx +367 -0
- package/src/editor/components/Preview.jsx +446 -0
- package/src/editor/components/PropertyPanel.jsx +468 -0
- package/src/editor/components/StatusBar.jsx +85 -0
- package/src/editor/context/EditorContext.js +248 -0
- package/src/editor/hooks/useDebounce.js +32 -0
- package/src/editor/index.js +315 -0
- package/src/editor/styles/editor.css +637 -0
- package/src/editor/utils/chartValidator.js +263 -0
- package/src/entries/charts3d.js +70 -0
- package/src/entries/core.js +78 -0
- package/src/entries/docs.js +154 -0
- package/src/entries/pages.js +93 -0
- package/src/entries/portal.js +204 -0
- package/src/entries/shared.js +50 -0
- package/src/i18n/formatters.js +455 -0
- package/src/i18n/index.js +169 -0
- package/src/i18n/locales/ar.json +137 -0
- package/src/i18n/locales/de.json +137 -0
- package/src/i18n/locales/en.json +137 -0
- package/src/i18n/locales/es.json +137 -0
- package/src/i18n/locales/he.json +137 -0
- package/src/i18n/locales/zh.json +137 -0
- package/src/i18n/rtl.css +183 -0
- package/src/index.js +82 -62
- package/src/loader.js +103 -0
- package/src/setupTests.js +5 -5
- package/tsconfig.json +51 -0
- package/types/charts.d.ts +569 -0
- package/types/components.d.ts +441 -0
- package/types/config.d.ts +199 -0
- package/types/index.d.ts +353 -0
|
@@ -1,82 +1,171 @@
|
|
|
1
|
-
# Echart Component
|
|
2
|
-
|
|
3
|
-
The Echart component is a wrapper around the
|
|
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
|
-
|
|
1
|
+
# Echart Component
|
|
2
|
+
|
|
3
|
+
The Echart component is a wrapper around the [Apache ECharts](https://echarts.apache.org/en/index.html) library. It provides the same charting capabilities as [Charts (2D)](/rechart-basic-usage.md) but is designed for **page mode**, enabling multi-component layouts with API data fetching.
|
|
4
|
+
|
|
5
|
+
## Live Demo
|
|
6
|
+
|
|
7
|
+
The Echart component uses the same rendering engine as the standard charts. Here's a scatter plot example:
|
|
8
|
+
|
|
9
|
+
```visualify
|
|
10
|
+
{
|
|
11
|
+
"type": "scatter",
|
|
12
|
+
"title": "Gene Expression Scatter Plot",
|
|
13
|
+
"data": {
|
|
14
|
+
"categories": [],
|
|
15
|
+
"series": [
|
|
16
|
+
{
|
|
17
|
+
"name": "Cluster A",
|
|
18
|
+
"data": [[10.0, 8.04], [8.0, 6.95], [13.0, 7.58], [9.0, 8.81], [11.0, 8.33], [14.0, 9.96], [6.0, 7.24], [4.0, 4.26], [12.0, 10.84], [7.0, 4.82], [5.0, 5.68]]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "Cluster B",
|
|
22
|
+
"data": [[8.0, 3.04], [8.0, 3.95], [8.0, 4.58], [8.0, 3.81], [8.0, 4.33], [8.0, 3.96], [8.0, 4.24], [19.0, 12.5], [8.0, 3.26], [8.0, 3.84], [8.0, 3.68]]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
And a line chart with multiple series:
|
|
30
|
+
|
|
31
|
+
```visualify
|
|
32
|
+
{
|
|
33
|
+
"type": "line",
|
|
34
|
+
"title": "Time-Series Expression Data",
|
|
35
|
+
"smooth": true,
|
|
36
|
+
"data": {
|
|
37
|
+
"categories": ["0h", "2h", "4h", "8h", "12h", "24h", "48h"],
|
|
38
|
+
"series": [
|
|
39
|
+
{ "name": "Gene A", "data": [2.1, 3.5, 5.2, 8.1, 6.3, 4.2, 3.0] },
|
|
40
|
+
{ "name": "Gene B", "data": [1.0, 1.2, 2.8, 7.5, 12.1, 9.8, 5.4] },
|
|
41
|
+
{ "name": "Gene C", "data": [5.5, 5.0, 4.2, 3.1, 2.5, 2.0, 1.8] }
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"yAxis": { "name": "Expression Level" }
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## How It Works
|
|
49
|
+
|
|
50
|
+
In page mode, the Echart component connects to **backend APIs** to fetch data dynamically. The data flow is:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
┌─────────────┐ ┌─────────────┐ ┌──────────────┐
|
|
54
|
+
│ visualify │────>│ Parser │────>│ ECharts │
|
|
55
|
+
│ .json │ │ (fetch + │ │ (render) │
|
|
56
|
+
│ config │ │ transform)│ │ │
|
|
57
|
+
└─────────────┘ └─────────────┘ └──────────────┘
|
|
58
|
+
│ │
|
|
59
|
+
│ parser.sources │ fetched_data
|
|
60
|
+
v v
|
|
61
|
+
┌─────────────┐ ┌─────────────┐
|
|
62
|
+
│ Backend │────>│ Data │
|
|
63
|
+
│ API │ │ Transform │
|
|
64
|
+
└─────────────┘ └─────────────┘
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Properties
|
|
68
|
+
|
|
69
|
+
| Property | Type | Required | Description |
|
|
70
|
+
|----------|------|----------|-------------|
|
|
71
|
+
| `type` | string | Yes | Must be `"Echart"` |
|
|
72
|
+
| `id` | string | Yes | Unique identifier for the component |
|
|
73
|
+
| `row` | int | No | Grid row position |
|
|
74
|
+
| `col` | int | No | Grid column position |
|
|
75
|
+
| `rowspan` | int | No | Number of rows to span |
|
|
76
|
+
| `colspan` | int | No | Number of columns to span |
|
|
77
|
+
| `config` | object | Yes | Chart configuration (see below) |
|
|
78
|
+
| `parser` | object | No | Data fetching configuration |
|
|
79
|
+
| `trigger` | object | No | Event trigger configuration |
|
|
80
|
+
|
|
81
|
+
### config Properties
|
|
82
|
+
|
|
83
|
+
| Property | Type | Description |
|
|
84
|
+
|----------|------|-------------|
|
|
85
|
+
| `width` | int | Chart width in pixels |
|
|
86
|
+
| `height` | int | Chart height in pixels |
|
|
87
|
+
| `preset` | string | Named preset configuration |
|
|
88
|
+
| `title` | string | Chart title |
|
|
89
|
+
| `xAxis` | string/array | X-axis configuration |
|
|
90
|
+
| `yAxis` | string/array | Y-axis configuration |
|
|
91
|
+
| `legend` | object | Legend configuration |
|
|
92
|
+
| `tooltip` | object | Tooltip configuration |
|
|
93
|
+
| `data` | object | Inline data (when not using parser) |
|
|
94
|
+
|
|
95
|
+
### parser Properties
|
|
96
|
+
|
|
97
|
+
The `parser` object configures dynamic data fetching:
|
|
98
|
+
|
|
99
|
+
| Property | Type | Description |
|
|
100
|
+
|----------|------|-------------|
|
|
101
|
+
| `sources` | array | Array of data source configurations |
|
|
102
|
+
| `sources[].name` | string | Source identifier |
|
|
103
|
+
| `sources[].url` | string | Backend API URL |
|
|
104
|
+
| `sources[].type` | string | Chart type (e.g., `"scatter"`) |
|
|
105
|
+
| `sources[].responseKey` | string | Key to extract from API response |
|
|
106
|
+
| `sources[].trigger` | object | Trigger configuration for interactivity |
|
|
107
|
+
| `sources[].trigger.name` | string | Trigger name (links to other components) |
|
|
108
|
+
| `sources[].trigger.title` | boolean | Whether to update the chart title |
|
|
109
|
+
|
|
110
|
+
## Example
|
|
111
|
+
|
|
112
|
+
### Page Mode with API Data
|
|
113
|
+
|
|
114
|
+
```json
|
|
115
|
+
{
|
|
116
|
+
"id": "expression_tsne",
|
|
117
|
+
"type": "Echart",
|
|
118
|
+
"col": 2,
|
|
119
|
+
"rowspan": 3,
|
|
120
|
+
"config": {
|
|
121
|
+
"width": 600,
|
|
122
|
+
"height": 600,
|
|
123
|
+
"preset": "mmtrbc",
|
|
124
|
+
"title": "t-SNE Visualization"
|
|
125
|
+
},
|
|
126
|
+
"parser": {
|
|
127
|
+
"sources": [
|
|
128
|
+
{
|
|
129
|
+
"name": "metadata",
|
|
130
|
+
"url": "https://your-api.com/metadata"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"name": "gene",
|
|
134
|
+
"url": "https://your-api.com/gene",
|
|
135
|
+
"responseKey": "gene",
|
|
136
|
+
"trigger": {
|
|
137
|
+
"name": "gene_search",
|
|
138
|
+
"title": true
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
"type": "scatter"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Static Data (No API)
|
|
148
|
+
|
|
149
|
+
```json
|
|
150
|
+
{
|
|
151
|
+
"id": "static_chart",
|
|
152
|
+
"type": "Echart",
|
|
153
|
+
"row": 1,
|
|
154
|
+
"col": 1,
|
|
155
|
+
"config": {
|
|
156
|
+
"title": "Static Bar Chart",
|
|
157
|
+
"type": "bar",
|
|
158
|
+
"data": {
|
|
159
|
+
"Series A": [120, 200, 150, 80, 70],
|
|
160
|
+
"Series B": [60, 120, 90, 140, 130]
|
|
161
|
+
},
|
|
162
|
+
"xAxis": ["Mon", "Tue", "Wed", "Thu", "Fri"]
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## See Also
|
|
168
|
+
|
|
169
|
+
- [Charts (2D)](/rechart-basic-usage.md) - Same engine, simpler usage for standalone charts
|
|
170
|
+
- [Configuration](/configuration.md) - How to set up page mode
|
|
171
|
+
- [MmTrBC Showcase](https://visualify.pharmacy.arizona.edu/MmTrBC/) - Live example using Echart components
|
|
@@ -1,34 +1,61 @@
|
|
|
1
|
-
# HTML Component
|
|
2
|
-
|
|
3
|
-
The HTML component
|
|
4
|
-
|
|
5
|
-
## Properties
|
|
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
|
-
|
|
1
|
+
# HTML Component
|
|
2
|
+
|
|
3
|
+
The HTML component renders raw HTML content within a page mode layout. Use it for custom content like images, iframes, embedded widgets, or any HTML that doesn't fit into other component types.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
| Property | Type | Required | Description |
|
|
8
|
+
|----------|------|----------|-------------|
|
|
9
|
+
| `type` | string | Yes | Must be `"HTML"`. |
|
|
10
|
+
| `id` | string | No | Unique identifier for the component. |
|
|
11
|
+
| `row` | int | Yes | The row in which the component is displayed. |
|
|
12
|
+
| `col` | int | Yes | The column in which the component is displayed. |
|
|
13
|
+
| `colspan` | int | No | The number of columns the component spans. |
|
|
14
|
+
| `html` | string | Yes | The HTML content to render. |
|
|
15
|
+
|
|
16
|
+
## Examples
|
|
17
|
+
|
|
18
|
+
### Displaying an Image
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"type": "HTML",
|
|
23
|
+
"row": 1,
|
|
24
|
+
"col": 2,
|
|
25
|
+
"colspan": 3,
|
|
26
|
+
"html": "<img style='width: 100%' src='./mainpage.png' alt='Abstract'>"
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Embedding an Iframe
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"type": "HTML",
|
|
35
|
+
"row": 2,
|
|
36
|
+
"col": 1,
|
|
37
|
+
"colspan": 4,
|
|
38
|
+
"html": "<iframe src='https://example.com/embed' style='width: 100%; height: 400px; border: none;'></iframe>"
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Styled Content Block
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"type": "HTML",
|
|
47
|
+
"id": "welcome-banner",
|
|
48
|
+
"row": 1,
|
|
49
|
+
"col": 1,
|
|
50
|
+
"colspan": 4,
|
|
51
|
+
"html": "<div style='padding: 20px; background: #f0f4f8; border-radius: 8px;'><h2>Welcome</h2><p>This dashboard displays gene expression data.</p></div>"
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Future Work
|
|
56
|
+
|
|
57
|
+
The following properties are planned for future releases:
|
|
58
|
+
|
|
59
|
+
- `script` (string) -- Inline JavaScript to execute within the component context.
|
|
60
|
+
- `style` (string) -- CSS styles to apply to the component container.
|
|
61
|
+
- Support for fetching HTML content from an external API endpoint.
|