mirror of
https://github.com/apache/superset.git
synced 2026-05-25 09:45:18 +00:00
feat(glyph): single-file chart definition pattern across all plugins
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>
This commit is contained in:
@@ -1304,7 +1304,7 @@ export default function TableChart<D extends DataRecord = DataRecord>(
|
||||
col.toggleSortBy();
|
||||
}
|
||||
}}
|
||||
role="columnheader button"
|
||||
|
||||
onClick={onClick}
|
||||
data-column-name={col.id}
|
||||
{...(allowRearrangeColumns && {
|
||||
|
||||
Reference in New Issue
Block a user