mirror of
https://github.com/apache/superset.git
synced 2026-05-28 11:15:24 +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>
107 lines
3.7 KiB
JSON
107 lines
3.7 KiB
JSON
{
|
|
"compilerOptions": {
|
|
/* Type Checking */
|
|
"noImplicitAny": true,
|
|
"noImplicitReturns": true,
|
|
"noImplicitThis": true,
|
|
"noUnusedLocals": true,
|
|
"strictNullChecks": true,
|
|
"module": "esnext",
|
|
"moduleResolution": "bundler",
|
|
|
|
"types": ["jest", "node"],
|
|
"typeRoots": ["src/types", "node_modules/@types"],
|
|
|
|
/* Emit */
|
|
"declaration": true,
|
|
"declarationMap": true,
|
|
"importHelpers": false,
|
|
"noEmitOnError": true,
|
|
"outDir": "./dist",
|
|
"rootDir": ".",
|
|
"declarationDir": "lib",
|
|
"sourceMap": true,
|
|
|
|
/* JavaScript Support */
|
|
"allowJs": true,
|
|
|
|
/* Interop Constraints */
|
|
"allowSyntheticDefaultImports": true,
|
|
"esModuleInterop": true,
|
|
"resolveJsonModule": true,
|
|
"forceConsistentCasingInFileNames": true,
|
|
|
|
/* Language and Environment */
|
|
"target": "es2020",
|
|
"jsx": "react-jsx",
|
|
"jsxImportSource": "@emotion/react",
|
|
"lib": ["dom", "dom.iterable", "esnext"],
|
|
|
|
/* Projects */
|
|
"composite": true,
|
|
|
|
/* Completeness */
|
|
"skipLibCheck": true,
|
|
|
|
"baseUrl": ".",
|
|
"paths": {
|
|
"@storybook-shared": ["./.storybook/shared"],
|
|
"@superset-ui/core": ["./packages/superset-ui-core/src"],
|
|
"@superset-ui/core/*": ["./packages/superset-ui-core/src/*"],
|
|
"@superset-ui/chart-controls": [
|
|
"./packages/superset-ui-chart-controls/src"
|
|
],
|
|
"@superset-ui/chart-controls/*": [
|
|
"./packages/superset-ui-chart-controls/src/*"
|
|
],
|
|
"@superset-ui/switchboard": ["./packages/superset-ui-switchboard/src"],
|
|
"@apache-superset/core": ["./packages/superset-core/src"],
|
|
"@apache-superset/core/*": ["./packages/superset-core/src/*"],
|
|
"@superset-ui/plugin-chart-*": ["./plugins/plugin-chart-*/src"],
|
|
"@superset-ui/legacy-plugin-chart-*": ["./plugins/legacy-plugin-chart-*/src"],
|
|
"@superset-ui/legacy-preset-chart-*": ["./plugins/legacy-preset-chart-*/src"],
|
|
"echarts/types/src/*": ["./node_modules/echarts/types/src/*"],
|
|
"@superset-ui/glyph-core": ["./packages/superset-ui-glyph-core/src"],
|
|
"@superset-ui/glyph-core/*": ["./packages/superset-ui-glyph-core/src/*"]
|
|
}
|
|
},
|
|
"include": [
|
|
"./src/**/*",
|
|
"./spec/**/*",
|
|
"./plugins/**/*",
|
|
"./packages/**/*",
|
|
"./scripts/**/*",
|
|
"./.storybook/**/*",
|
|
"./webpack.config.js",
|
|
"./webpack*.js",
|
|
"./package.json"
|
|
],
|
|
"references": [
|
|
{ "path": "./packages/superset-core" },
|
|
{ "path": "./packages/superset-ui-core" },
|
|
{ "path": "./packages/superset-ui-chart-controls" },
|
|
{ "path": "./packages/superset-ui-glyph-core" },
|
|
{ "path": "./packages/superset-ui-switchboard" },
|
|
{ "path": "./plugins/legacy-plugin-chart-calendar" },
|
|
{ "path": "./plugins/legacy-plugin-chart-chord" },
|
|
{ "path": "./plugins/legacy-plugin-chart-country-map" },
|
|
{ "path": "./plugins/legacy-plugin-chart-horizon" },
|
|
{ "path": "./plugins/legacy-plugin-chart-paired-t-test" },
|
|
{ "path": "./plugins/legacy-plugin-chart-parallel-coordinates" },
|
|
{ "path": "./plugins/legacy-plugin-chart-partition" },
|
|
{ "path": "./plugins/legacy-plugin-chart-rose" },
|
|
{ "path": "./plugins/legacy-plugin-chart-world-map" },
|
|
{ "path": "./plugins/legacy-preset-chart-nvd3" },
|
|
{ "path": "./plugins/plugin-chart-ag-grid-table" },
|
|
{ "path": "./plugins/plugin-chart-cartodiagram" },
|
|
{ "path": "./plugins/preset-chart-deckgl" },
|
|
{ "path": "./plugins/plugin-chart-echarts" },
|
|
{ "path": "./plugins/plugin-chart-point-cluster-map" },
|
|
{ "path": "./plugins/plugin-chart-handlebars" },
|
|
{ "path": "./plugins/plugin-chart-pivot-table" },
|
|
{ "path": "./plugins/plugin-chart-table" },
|
|
{ "path": "./plugins/plugin-chart-word-cloud" }
|
|
],
|
|
"exclude": []
|
|
}
|