mirror of
https://github.com/apache/superset.git
synced 2026-06-01 13:49:21 +00:00
- Bump react, react-dom to ^18.2.0 - Bump @types/react, @types/react-dom to ^18.2.0 - Migrate ReactDOM.render() to createRoot() in all entry points - Upgrade @testing-library/react to ^14.0.0 - Remove @testing-library/react-hooks (merged into RTL 14) - Migrate 54 test files from @testing-library/react-hooks imports - Replace react-sortable-hoc with @dnd-kit/sortable (CollectionControl) - Remove @cypress/react (incompatible with React 18, Cypress deprecated) - Update all sub-package peerDependencies to ^18.2.0 - Migrate ChartLayer (cartodiagram) from ReactDOM.render to createRoot Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@superset-ui/plugin-chart-handlebars
This plugin renders the data using a handlebars template.
Usage
Configure key, which can be any string, and register the plugin. This key will be used to
lookup this chart throughout the app.
import HandlebarsChartPlugin from '@superset-ui/plugin-chart-handlebars';
new HandlebarsChartPlugin().configure({ key: 'handlebars' }).register();
Then use it via SuperChart. See
storybook for
more details.
<SuperChart
chartType="handlebars"
width={600}
height={600}
formData={...}
queriesData={[{
data: {...},
}]}
/>
File structure generated
├── package.json
├── README.md
├── tsconfig.json
├── src
│ ├── Handlebars.tsx
│ ├── images
│ │ └── thumbnail.png
│ ├── index.ts
│ ├── plugin
│ │ ├── buildQuery.ts
│ │ ├── controlPanel.ts
│ │ ├── index.ts
│ │ └── transformProps.ts
│ └── types.ts
├── test
│ └── index.test.ts
└── types
└── external.d.ts
Available Handlebars Helpers in Superset
Below, you will find a list of all currently registered helpers in the Handlebars plugin for Superset. These helpers are registered and managed in the file HandlebarsViewer.tsx.
List of Registered Helpers:
-
dateFormat: Formats a date using a specified format.- Usage:
{{dateFormat my_date format="MMMM YYYY"}} - Default format:
YYYY-MM-DD.
- Usage:
-
stringify: Converts an object into a JSON string or returns a string representation of non-object values.- Usage:
{{stringify myObj}}.
- Usage:
-
formatNumber: Formats a number using locale-specific formatting.- Usage:
{{formatNumber number locale="en-US"}}. - Default locale:
en-US.
- Usage:
-
parseJson: Parses a JSON string into a JavaScript object.- Usage:
{{parseJson jsonString}}.
- Usage: