Files
superset2/superset-frontend/plugins/plugin-chart-handlebars
Mehmet Salih Yavuz 51b47f9400 chore(frontend): upgrade React 17 to React 18
- 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>
2026-03-10 19:20:50 +03:00
..

@superset-ui/plugin-chart-handlebars

Version Libraries.io

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:

  1. dateFormat: Formats a date using a specified format.

    • Usage: {{dateFormat my_date format="MMMM YYYY"}}
    • Default format: YYYY-MM-DD.
  2. stringify: Converts an object into a JSON string or returns a string representation of non-object values.

    • Usage: {{stringify myObj}}.
  3. formatNumber: Formats a number using locale-specific formatting.

    • Usage: {{formatNumber number locale="en-US"}}.
    • Default locale: en-US.
  4. parseJson: Parses a JSON string into a JavaScript object.

    • Usage: {{parseJson jsonString}}.