mirror of
https://github.com/apache/superset.git
synced 2026-05-24 09:15:19 +00:00
Introduce `defineChart()` — a declarative pattern that bundles metadata,
arguments (control-panel config), buildQuery, transform, and render into
a single chart-plugin file. Migrate every chart plugin to this pattern:
* plugin-chart-echarts: Pie, Funnel, Gauge, Sankey, Waterfall,
Histogram, Tree, Bubble, BoxPlot, Sunburst, Radar, Treemap, Graph,
Heatmap, Gantt, BigNumber (Total, WithTrendline, PoP, Glyph demo),
MixedTimeseries, and the Timeseries family (Generic, Scatter,
SmoothLine, Step, Area, Line, Bar)
* legacy-plugin-chart-*: calendar, horizon, chord, country-map,
world-map, paired-t-test, parallel-coordinates, partition, rose,
map-box
* other plugins: handlebars, word-cloud, pivot-table, table,
ag-grid-table, cartodiagram
* legacy-preset-chart-nvd3: Bubble, Bullet, Compare, TimePivot
* legacy-preset-chart-deckgl: Grid, Hex, Polygon, Scatter (single-file
defineChart); Arc, Contour, Geojson, Heatmap, Path, Screengrid kept
on the original multi-file ChartPlugin pattern pending follow-up
Glyph-core lives as @superset-ui/glyph-core (extracted package) and
provides: defineChart, ~14 argument types (Metric, Dimension, Select,
Checkbox, Text, Int, Slider, etc.), reusable presets (ShowLegend,
HeaderFontSize, Subtitle, etc.), cross-filter utilities
(extractCrossFilterProps, createSelectedValuesMap, isDataPointFiltered,
createLabelMap), and visibility-condition helpers
(resolveArgClass, getArgVisibleWhen, evaluateGlyphCondition).
Customize-tab rendering uses a new GlyphOptionsPanel — a native React
renderer that hybrids glyph args with additionalControls, with
inlined sharedControls in the Query section.
Imports are routed through @apache-superset/core subpath entrypoints
(/translation for t, /common for GenericDataType).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
23 lines
808 B
JSON
23 lines
808 B
JSON
{
|
|
"extends": "../../tsconfig.json",
|
|
"compilerOptions": {
|
|
// Path Resolution: Override baseUrl to maintain correct path mappings from parent config
|
|
// (e.g., "@apache-superset/core" -> "./packages/superset-core/src")
|
|
"baseUrl": "../..",
|
|
|
|
// Directory Overrides: Parent config paths are relative to frontend root,
|
|
// but packages need paths relative to their own directory
|
|
"outDir": "lib",
|
|
"rootDir": "src",
|
|
"declarationDir": "lib"
|
|
},
|
|
"include": ["src/**/*", "types/**/*"],
|
|
"exclude": ["src/**/*.test.*", "src/**/*.stories.*"],
|
|
"references": [
|
|
{ "path": "../../packages/superset-core" },
|
|
{ "path": "../../packages/superset-ui-core" },
|
|
{ "path": "../../packages/superset-ui-chart-controls" },
|
|
{ "path": "../../packages/superset-ui-glyph-core" }
|
|
]
|
|
}
|