This is an automated email from the ASF dual-hosted git repository.
elizabeth pushed a change to branch fix/filter-value-metric-based-sorting
in repository https://gitbox.apache.org/repos/asf/superset.git
discard 5fe1955c49 test(filters): add comprehensive tests for sortMetric
functionality
discard 4fa205a16d fix(filters): preserve backend metric-based sorting in
select filters
add 133e686224 docs(llms): add PR template guidelines to LLMS.md (#35148)
add bc6859a99d refactor: Organizes the src/core folder (#35119)
add a66737cb05 feat(custom-tooltip): custom tooltip on deck.gl charts
(#34276)
add 966e231f94 feat: Add Dashboard Filter Support for Alert Reports
(#32196)
add d0cc6f115b feat: add optional garbage collection after requests
(#35061)
add fb840b8e71 fix(deck.gl): restore legend display for Polygon charts
with linear palette and fixed color schemes (#35142)
add c193d6d6a1 fix: import bug template params (#35144)
add 05c6a1bf20 fix(viz): resolve dark mode compatibility issues in
BigNumber and Heatmap (#35151)
add dced2f8564 feat: Add BaseDAO improvements and test reorganization
(#35018)
add 3e554674ff feat(waterfall): add changes label series and grouping
customize settings (#34847)
add ad3eff9e90 feat(matrixify): replace single toggle with separate
horizontal/vertical layout controls (#35067)
add 1187902e68 feat(playwright): Add Playwright CI Integration for Cypress
Migration (SIP-178) (#35110)
add 1f530d45cb fix(embedded): resolve theme context error in Loading
component (#35168)
add 1bf112a57a fix(CrudThemeProvider): Optimized theme loading logic
(#35155)
add fd6da21ce0 chore(i18n): update French translations (#35070)
add b60be9655f feat(TimeTable): add other sparkline type options (#35180)
add a889ae75fc chore: Bump ag grid to 34.2.0 (#35193)
add 6cb3ef9f5d chore: TypeScript Configuration Modernization and Cleanup
(#35159)
add ea519a77b5 fix: only block showtime for unauthorized users on push
(#35184)
add 127f6b3d66 fix(tests): migrate Cypress control tests to React Testing
Library (#35181)
add 0c8f326258 docs: Add security warning for ENABLE_TEMPLATE_PROCESSING
(#35192)
add 38297edc6b chore(matrixify): Remove leftover option (#35195)
add 4130b92966 fix(gantt-chart): fix Y-axis label visibility in dark theme
(#35189)
add 23bb4f88c0 fix(Funnel): onInit overridden row_limit to default value
on save chart (#35076)
add 5901320933 feat(database): Adding per-user caching option in Security
tab (#34842)
add db178cf527 fix: Bump pandas to 2.1.4 for python 3.12 (#34999)
add 1e4bc6ee78 fix: bug in tooltip timeseries chart in calculated total
with annotation layer (#35179)
add 076e477fd4 fix(SQLPopover): Use correct component (#35212)
add ecb3ac68ff feat: AI-powered TypeScript migration framework with
parallel processing (#35045)
add 5ec8f9d886 chore: bump sqlglot to 27.15.2 (#35176)
add 48e1b1ff2c feat(bug): defensive code to avoid accesing attribute of a
NoneType object (#35219)
add ce55cc7dd7 fix(table-chart): fix cell bar visibility in dark theme
(#35211)
add 4027bad1d6 docs(oracle): update driver (#35242)
add 78faaee685 chore: Reference GenericDataType from @apache-superset/core
(#35214)
add c601341520 fix(ConditionalFormattingControl): icon color in dark mode
(#35243)
add 9b6876be62 fix: Typescript declaration files (#35244)
add 619b341cad fix: docker-compose file and superset-core (#35235)
add dce74014da refactor(deckgl): update deck.gl charts to use new api
(#34859)
add fe7f8062f3 fix: Enable Playwright migration with graceful Selenium
fallback (#35063)
add e85337c543 fix(docs): escape comparison operators in MDX files to
resolve build errors (#35185)
add f030d658c5 chore: Bumps @apache-superset/core to 0.0.1-rc5 (#35247)
add bc0c40c80e feat(helm): Allow multi-database connection support (#34327)
add 5fbda3af40 chore(effect): add eslint plugin to reduce rerenders
(#35223)
add 4b71adaa9c feat(themes): Adding SupersetText support to Themes Modal
(#35248)
add db88d80b3f fix: docker-compose-image-tag (#35246)
add a5ad1d186c docs: Add instruction to avoid time-specific language in
code comments (#35200)
add b6f6b75348 fix(dashboard): update header border to use colorBorder
token (#35199)
add 608e3baf43 feat(build): auto-rebuild/check TypeScript types for
packages/plugins in webpack (#35240)
add cb88d886c7 fix(PropertiesModal): do not show validation errors while
loading (#35215)
add ec322dfd8d fix(Mixed Chart): Tooltip incorrectly displays numbers with
optional Y-axis format and showQueryIdentifiers set to true (#35224)
add 94686ddfbe fix(SQL Lab): syncTable on new tabs (#35216)
add 0defcb604b chore(sqllab): remove unused json param (#35065)
add 7f3840557a chore(react18): Migrate legacy react methods (#34892)
add 927cc1cda1 chore(deps): bump tar-fs from 3.1.0 to 3.1.1 in
/superset-frontend (#35272)
add abc2d46fed refactor: remove obsolete Flask flash messaging system
(#35237)
add 0de78d8203 fix(deck.gl): ensure min/max values are included in polygon
map legend breakpoints (#35033)
add 7a9dbfe879 fix(BuilderComponentPane): navigation tabs padding (#35213)
add fb9032c05c fix: Cosmetic issues (#35122)
add 77a5969dc1 feat(pdf): add configurable PDF compression level support
(#34096)
add b652fab042 fix(table): New ad-hoc columns retain the name of previous
columns (#35274)
add 027b25e6b8 fix(DateFilterControl): remove modal overlay style to fix
z-index issues (#35292)
add 784ff82847 fix(sqllab): fix blank bottom section in SQL Lab left panel
(#35309)
add 82e2bc6181 fix(DatasourceModal): replace imperative modal updates with
declarative state (#35256)
add ff102aadb3 refactor(llm): rename LLMS.md to AGENTS.md for modern AI
tools (#35314)
add d62249d13f test(frontend): Migrate from describe/it to flat test()
pattern (#35305)
add 90f281f585 fix: AceEditor Autocomplete Highlight (#35316)
add 0b73b4842f fix: Enable DuckDB examples loading in showtime ephemeral
environments (#35294)
add 8ecffa7426 fix(filters): preserve backend metric-based sorting in
select filters
add fa88e17914 test(filters): add comprehensive tests for sortMetric
functionality
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (5fe1955c49)
\
N -- N -- N refs/heads/fix/filter-value-metric-based-sorting
(fa88e17914)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.claude/commands/js-to-ts.md | 10 +
.claude/projects/js-to-ts/AGENT.md | 684 +++++++
.claude/projects/js-to-ts/COORDINATOR.md | 199 ++
.claude/projects/js-to-ts/PROJECT.md | 76 +
.github/copilot-instructions.md | 2 +-
.github/workflows/bashlib.sh | 70 +
.github/workflows/showtime-trigger.yml | 22 +-
.github/workflows/superset-frontend.yml | 2 +-
.../{superset-e2e.yml => superset-playwright.yml} | 42 +-
.rat-excludes | 1 +
LLMS.md => AGENTS.md | 36 +-
CLAUDE.md | 2 +-
Dockerfile | 7 +-
GEMINI.md | 2 +-
GPT.md | 2 +-
docker-compose-image-tag.yml | 1 +
docker-compose.yml | 4 +
docker/docker-bootstrap.sh | 14 +-
docs/docs/configuration/alerts-reports.mdx | 4 +-
docs/docs/configuration/databases.mdx | 2 +-
docs/docs/configuration/sql-templating.mdx | 11 +-
docs/docs/configuration/theming.mdx | 2 +-
docs/docs/contributing/development.mdx | 2 +-
docs/docs/contributing/guidelines.mdx | 2 +-
docs/docs/contributing/howtos.mdx | 52 +-
helm/superset/Chart.yaml | 2 +-
helm/superset/README.md | 3 +-
helm/superset/templates/_helpers.tpl | 13 +-
helm/superset/values.yaml | 2 +
pyproject.toml | 8 +-
requirements/base.txt | 20 +-
requirements/development.txt | 25 +-
superset-frontend/.eslintrc.js | 16 +-
superset-frontend/.gitignore | 1 +
.../cypress/e2e/chart_list/list.test.ts | 2 +-
.../cypress/e2e/explore/control.test.ts | 186 --
superset-frontend/jest.config.js | 1 +
superset-frontend/package-lock.json | 161 +-
superset-frontend/package.json | 9 +
.../generators/plugin-chart/templates/README.erb | 13 -
.../plugin-chart/templates/tsconfig.json | 49 +-
.../packages/superset-core/package.json | 2 +-
.../packages/superset-core/tsconfig.json | 23 +-
.../superset-ui-chart-controls/package.json | 4 +-
.../components/ColumnTypeLabel/ColumnTypeLabel.tsx | 3 +-
.../src/components/SQLPopover.tsx | 25 +-
.../superset-ui-chart-controls/src/constants.ts | 9 +-
.../superset-ui-chart-controls/src/fixtures.ts | 3 +-
.../src/sections/matrixify.tsx | 44 +-
.../src/shared-controls/customControls.tsx | 2 +-
.../src/shared-controls/dndControls.tsx | 8 +-
.../src/shared-controls/matrixifyControls.tsx | 161 +-
.../src/utils/checkColumnType.ts | 9 +-
.../src/utils/columnChoices.ts | 3 +-
.../src/utils/isSortable.ts | 2 +-
.../test/components/ColumnOption.test.tsx | 3 +-
.../test/components/ColumnTypeLabel.test.tsx | 3 +-
.../superset-ui-chart-controls/test/tsconfig.json | 12 +-
.../test/utils/checkColumnType.test.ts | 3 +-
.../test/utils/columnChoices.test.tsx | 7 +-
.../test/utils/getTemporalColumns.test.ts | 7 +-
.../test/utils/isSortable.test.ts | 2 +-
.../superset-ui-chart-controls/tsconfig.json | 28 +-
.../packages/superset-ui-core/package.json | 5 +-
.../components/Matrixify/MatrixifyGridGenerator.ts | 8 +-
.../Matrixify/MatrixifyGridRenderer.test.tsx | 33 +-
.../components/Matrixify/MatrixifyGridRenderer.tsx | 10 +-
.../src/chart/types/matrixify.test.ts | 34 +-
.../superset-ui-core/src/chart/types/matrixify.ts | 19 +-
.../src/components/AsyncAceEditor/index.tsx | 12 +
.../src/components/CodeEditor/index.tsx | 106 +
.../src/components/LastUpdated/index.tsx | 8 +-
.../src/components/Select/Select.tsx | 22 +-
.../superset-ui-core/src/components/index.ts | 6 +
.../superset-ui-core/src/query/types/Column.ts | 2 +-
.../superset-ui-core/src/query/types/Query.ts | 3 +-
.../src/query/types/QueryResponse.ts | 11 +-
.../packages/superset-ui-core/src/utils/dates.ts | 1 +
.../superset-ui-core/src/utils/featureFlags.ts | 1 +
.../packages/superset-ui-core/test/fixtures.ts | 3 +-
.../packages/superset-ui-core/test/tsconfig.json | 8 +-
.../packages/superset-ui-core/tsconfig.json | 29 +-
.../superset-ui-core/types/ace-builds.d.ts | 2 +
.../packages/superset-ui-core/types/assets.d.ts | 2 +
.../packages/superset-ui-switchboard/tsconfig.json | 24 +-
superset-frontend/playwright.config.ts | 90 +
superset-frontend/playwright/README.md | 218 +++
.../playwright/components/core/Button.ts | 119 ++
.../playwright/components/core/Form.ts | 110 ++
.../playwright/components/core/Input.ts | 111 ++
.../images => playwright/components/core}/index.ts | 6 +-
superset-frontend/playwright/pages/AuthPage.ts | 122 ++
.../playwright/tests/auth/login.spec.ts | 88 +
.../Dropdown.tsx => playwright/utils/urls.ts} | 5 +-
.../legacy-plugin-chart-calendar/tsconfig.json | 23 +-
.../legacy-plugin-chart-chord/tsconfig.json | 23 +-
.../legacy-plugin-chart-country-map/tsconfig.json | 23 +-
.../legacy-plugin-chart-horizon/tsconfig.json | 23 +-
.../src/utils/{roundDecimal.js => roundDecimal.ts} | 11 +-
.../legacy-plugin-chart-map-box/test/tsconfig.json | 12 +-
.../{roundDecimal.test.js => roundDecimal.test.ts} | 0
.../legacy-plugin-chart-map-box/tsconfig.json | 23 +-
.../tsconfig.json | 23 +-
.../tsconfig.json | 28 +-
.../test/tsconfig.json | 12 +-
.../legacy-plugin-chart-partition/tsconfig.json | 26 +-
.../plugins/legacy-plugin-chart-rose/tsconfig.json | 23 +-
.../legacy-plugin-chart-world-map/tsconfig.json | 23 +-
.../legacy-preset-chart-deckgl/package.json | 2 +
.../src/CategoricalDeckGLContainer.tsx | 10 +-
.../src/DeckGLContainer.tsx | 23 +-
.../src/components/Legend.tsx | 2 +
.../src/components/Tooltip.tsx | 36 +-
.../src/layers/Arc/Arc.tsx | 56 +-
.../src/layers/Arc/buildQuery.ts | 96 +
.../src/layers/Arc/controlPanel.ts | 4 +
.../src/layers/Arc/index.ts | 5 +-
.../src/layers/Arc/transformProps.ts | 108 ++
.../src/layers/Contour/Contour.tsx | 72 +-
.../src/layers/Contour/buildQuery.ts} | 19 +-
.../src/layers/Contour/controlPanel.ts | 4 +
.../src/layers/Contour/index.ts | 7 +-
.../src/layers/Contour/transformProps.ts} | 3 +-
.../src/layers/Geojson/controlPanel.ts | 4 +
.../src/layers/Grid/Grid.tsx | 34 +-
.../src/layers/Grid/buildQuery.ts | 24 +-
.../src/layers/Grid/controlPanel.ts | 4 +
.../src/layers/Grid/index.ts | 5 +-
.../src/layers/Grid/transformProps.ts} | 13 +-
.../src/layers/Heatmap/Heatmap.tsx | 95 +-
.../src/layers/Heatmap/buildQuery.ts} | 6 +-
.../src/layers/Heatmap/controlPanel.ts | 4 +
.../src/layers/Heatmap/index.ts | 7 +-
.../src/layers/Heatmap/transformProps.ts} | 13 +-
.../src/layers/Hex/Hex.tsx | 32 +-
.../src/layers/Hex/buildQuery.ts} | 12 +-
.../src/layers/Hex/controlPanel.ts | 4 +
.../src/layers/Hex/index.ts | 5 +-
.../src/layers/Hex/transformProps.ts} | 13 +-
.../src/layers/Path/Path.tsx | 30 +-
.../src/layers/Path/buildQuery.ts | 95 +
.../src/layers/Path/controlPanel.ts | 4 +
.../src/layers/Path/index.ts | 5 +-
.../src/layers/Path/transformProps.ts | 166 ++
.../src/layers/Polygon/Polygon.test.tsx | 355 ++++
.../src/layers/Polygon/Polygon.tsx | 76 +-
.../src/layers/Polygon/buildQuery.ts | 111 ++
.../src/layers/Polygon/controlPanel.ts | 4 +
.../src/layers/Polygon/index.ts | 5 +-
.../src/layers/Polygon/transformProps.ts | 143 ++
.../src/layers/Scatter/Scatter.tsx | 47 +-
.../src/layers/Scatter/buildQuery.ts | 105 +
.../src/layers/Scatter/controlPanel.ts | 4 +
.../src/layers/Scatter/index.ts | 5 +-
.../src/layers/Scatter/transformProps.ts | 116 ++
.../src/layers/Screengrid/Screengrid.tsx | 113 +-
.../src/layers/Screengrid/buildQuery.ts} | 6 +-
.../src/layers/Screengrid/controlPanel.ts | 4 +
.../src/layers/Screengrid/index.ts | 5 +-
.../src/layers/Screengrid/transformProps.ts} | 13 +-
.../src/layers/buildQueryUtils.ts | 142 ++
.../src/layers/common.tsx | 18 +-
.../src/layers/spatialUtils.test.ts | 604 ++++++
.../src/layers/spatialUtils.ts | 400 ++++
.../src/layers/transformUtils.ts | 142 ++
.../src/utilities/HandlebarsRenderer.tsx | 231 +++
.../src/utilities/Shared_DeckGL.tsx | 79 +-
.../src/utilities/TooltipTemplateControl.tsx | 82 +
.../src/utilities/TooltipTemplateEditor.tsx | 76 +
.../src/utilities/controlRegistry.tsx | 57 +
.../src/utilities/multiValueUtils.ts | 142 ++
.../src/utilities/tooltipUtils.tsx | 384 ++++
.../src/utilities/utils.ts | 2 -
.../legacy-preset-chart-deckgl/src/utils.test.ts | 446 ++++-
.../legacy-preset-chart-deckgl/src/utils.ts | 41 +-
.../src/utils/crossFiltersDataMask.ts | 7 +-
.../legacy-preset-chart-deckgl/tsconfig.json | 16 +-
.../legacy-preset-chart-nvd3/src/NVD3Vis.js | 2 +-
.../legacy-preset-chart-nvd3/test/tsconfig.json | 12 +-
.../plugins/legacy-preset-chart-nvd3/tsconfig.json | 16 +-
.../plugin-chart-ag-grid-table/package.json | 1 +
.../src/AgGridTableChart.tsx | 2 +-
.../src/controlPanel.tsx | 3 +-
.../src/transformProps.ts | 3 +-
.../plugin-chart-ag-grid-table/src/types.ts | 2 +-
.../src/utils/formatValue.ts | 2 +-
.../src/utils/useColDefs.ts | 3 +-
.../src/utils/useTableTheme.ts | 2 +-
.../plugin-chart-ag-grid-table/tsconfig.json | 30 +-
.../plugin-chart-cartodiagram/test/tsconfig.json | 15 +-
.../plugin-chart-cartodiagram/tsconfig.json | 23 +-
.../plugins/plugin-chart-echarts/package.json | 1 +
.../BigNumberPeriodOverPeriod/controlPanel.ts | 3 +-
.../BigNumberPeriodOverPeriod/transformProps.ts | 6 +-
.../src/BigNumber/BigNumberTotal/controlPanel.ts | 3 +-
.../BigNumberTotal/transformProps.test.ts | 2 +-
.../src/BigNumber/BigNumberTotal/transformProps.ts | 2 +-
.../BigNumberWithTrendline/transformProps.test.ts | 2 +-
.../BigNumberWithTrendline/transformProps.ts | 5 +-
.../plugin-chart-echarts/src/BigNumber/utils.ts | 2 +-
.../src/Funnel/controlPanel.tsx | 10 -
.../src/Gantt/controlPanel.tsx | 3 +-
.../src/Gantt/transformProps.ts | 5 +-
.../src/Heatmap/transformProps.ts | 10 +-
.../src/Histogram/controlPanel.tsx | 8 +-
.../src/MixedTimeseries/transformProps.ts | 20 +-
.../src/Radar/controlPanel.tsx | 2 +-
.../src/Timeseries/transformProps.ts | 37 +-
.../src/Waterfall/controlPanel.tsx | 85 +-
.../src/Waterfall/transformProps.ts | 52 +-
.../plugin-chart-echarts/src/Waterfall/types.ts | 3 +
.../plugins/plugin-chart-echarts/src/controls.tsx | 2 +-
.../plugin-chart-echarts/src/utils/series.ts | 2 +-
.../test/Bubble/transformProps.test.ts | 3 +-
.../test/Gantt/transformProps.test.ts | 1 +
.../test/Waterfall/transformProps.test.ts | 48 +
.../plugin-chart-echarts/test/tsconfig.json | 15 +-
.../plugin-chart-echarts/test/utils/series.test.ts | 2 +-
.../plugins/plugin-chart-echarts/tsconfig.json | 26 +-
.../src/components/CodeEditor/CodeEditor.tsx | 67 +-
.../src/components/Handlebars/HandlebarsViewer.tsx | 4 +-
.../plugins/plugin-chart-handlebars/tsconfig.json | 26 +-
.../plugins/plugin-chart-pivot-table/package.json | 1 +
.../src/plugin/transformProps.ts | 2 +-
.../plugins/plugin-chart-pivot-table/tsconfig.json | 16 +-
.../plugins/plugin-chart-table/package.json | 1 +
.../plugins/plugin-chart-table/src/TableChart.tsx | 18 +-
.../plugin-chart-table/src/controlPanel.tsx | 3 +-
.../plugin-chart-table/src/transformProps.ts | 2 +-
.../plugins/plugin-chart-table/src/types.ts | 2 +-
.../plugin-chart-table/src/utils/formatValue.ts | 2 +-
.../plugins/plugin-chart-table/test/testData.ts | 2 +-
.../plugins/plugin-chart-table/test/tsconfig.json | 12 +-
.../plugins/plugin-chart-table/tsconfig.json | 26 +-
.../plugin-chart-word-cloud/test/tsconfig.json | 12 +-
.../plugins/plugin-chart-word-cloud/tsconfig.json | 23 +-
superset-frontend/scripts/build.js | 46 +-
.../spec/fixtures/mockDashboardInfo.js | 1 -
.../spec/fixtures/mockDashboardLayout.js | 20 +-
superset-frontend/spec/helpers/setup.ts | 6 +
superset-frontend/src/.eslintrc.json | 11 +
superset-frontend/src/SqlLab/actions/sqlLab.js | 3 +-
.../src/SqlLab/actions/sqlLab.test.js | 217 ++-
.../AceEditorWrapper/AceEditorWrapper.test.tsx | 7 +-
.../SqlLab/components/AceEditorWrapper/index.tsx | 7 +
.../components/AceEditorWrapper/useKeywords.ts | 10 +-
.../src/SqlLab/components/App/App.test.tsx | 11 +-
.../ColumnElement/ColumnElement.test.tsx | 9 +-
.../EstimateQueryCostButton.test.tsx | 11 +-
.../ExploreCtasResultsButton.test.tsx | 7 +-
.../ExploreResultsButton.test.tsx | 5 +-
.../QueryAutoRefresh/QueryAutoRefresh.test.tsx | 23 +-
.../QueryLimitSelect/QueryLimitSelect.test.tsx | 15 +-
.../components/QueryTable/QueryTable.test.tsx | 1 +
.../SqlLab/components/ResultSet/ResultSet.test.tsx | 1 +
.../RunQueryActionButton.test.tsx | 16 +-
.../SaveDatasetActionButton.test.tsx | 1 +
.../SaveDatasetModal/SaveDatasetModal.test.tsx | 27 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 2 +-
.../SqlLab/components/SaveQuery/SaveQuery.test.tsx | 21 +-
.../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx | 6 +-
.../SqlLab/components/SqlEditor/SqlEditor.test.tsx | 29 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 3 +
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 30 +-
.../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx | 18 +-
.../TabbedSqlEditors/TabbedSqlEditors.test.tsx | 1 +
.../components/TablePreview/TablePreview.test.tsx | 1 +
.../TemplateParamsEditor.test.tsx | 9 +-
superset-frontend/src/SqlLab/fixtures.ts | 2 +-
.../src/SqlLab/reducers/getInitialState.test.ts | 20 +-
.../src/SqlLab/reducers/sqlLab.test.js | 61 +-
.../src/SqlLab/utils/emptyQueryResults.test.ts | 7 +-
.../src/SqlLab/utils/newQueryTabName.test.ts | 5 +-
.../components/AlteredSliceTag/utils/utils.test.ts | 47 +-
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 179 +-
.../components/Chart/ChartErrorMessage.test.tsx | 5 +-
.../src/components/Chart/ChartRenderer.jsx | 5 +-
.../src/components/Chart/ChartRenderer.test.jsx | 19 +-
.../components/Chart/DrillBy/DrillByMenuItems.tsx | 274 ---
.../components/Chart/DrillBy/DrillByModal.test.tsx | 2 +
...yMenuItems.test.tsx => DrillBySubmenu.test.tsx} | 183 +-
.../components/Chart/DrillBy/DrillBySubmenu.tsx | 342 ++++
.../Chart/DrillDetail/DrillDetailMenuItems.tsx | 253 ---
.../Chart/DrillDetail/DrillDetailPane.tsx | 2 +-
.../src/components/Chart/DrillDetail/index.ts | 21 -
.../src/components/Chart/DrillDetail/types.ts | 2 +-
.../src/components/Chart/chartActions.test.js | 37 +-
.../src/components/Chart/chartReducers.test.js | 5 +-
.../index.tsx} | 200 +-
.../useDrillDetailMenuItems.test.tsx} | 94 +-
.../src/components/CrudThemeProvider.tsx | 10 +-
.../DatasourceModal/DatasourceModal.test.jsx | 15 +-
.../DatasourceModal.useModal.test.tsx | 110 ++
.../Datasource/DatasourceModal/index.tsx | 39 +-
.../components/CollectionTable/index.tsx | 6 +-
.../DatasourceEditor/DatasourceEditor.jsx | 1 -
.../DashboardLinksExternal.test.tsx | 1 +
.../tests/DatasourceEditor.test.jsx | 20 +-
.../tests/DatasourceEditorCurrency.test.jsx | 3 +-
.../tests/DatasourceEditorRTL.test.jsx | 10 +-
.../src/components/Datasource/utils/utils.test.tsx | 11 +-
.../components/ErrorMessage/ErrorAlert.test.tsx | 115 +-
.../ErrorMessage/InvalidSQLErrorMessage.test.tsx | 11 +-
.../ErrorMessage/MarshmallowErrorMessage.test.tsx | 1 +
.../ErrorMessage/OAuth2RedirectMessage.test.tsx | 13 +-
.../src/components/FacePile/FacePile.test.tsx | 21 +-
.../FilterableTable/FilterableTable.test.tsx | 20 +-
.../FlashProvider/FlashProvider.test.tsx | 65 -
.../src/components/FlashProvider/index.tsx | 51 -
.../src/components/FlashProvider/types.ts | 20 -
.../src/components/GridTable/HeaderMenu.test.tsx | 1 +
.../src/components/ListView/CardCollection.tsx | 15 +-
.../src/components/ListView/ListView.test.jsx | 17 +-
.../src/components/ListView/ListView.tsx | 6 +-
superset-frontend/src/components/ListView/utils.ts | 6 +-
.../src/components/MessageToasts/reducers.test.js | 39 +-
.../MessageToasts/{reducers.js => reducers.ts} | 20 +-
.../src/components/Modal/StandardModal.tsx | 14 +-
.../ModalTitleWithIcon/ModalTitleWithIcon.test.tsx | 63 +-
.../ResizableSidebar/useStoredSidebarWidth.test.ts | 7 +-
.../SQLEditorWithValidation.test.tsx | 35 +-
.../src/components/Tag/Tag.stories.tsx | 2 +-
superset-frontend/src/components/Tag/Tag.test.tsx | 2 +-
superset-frontend/src/components/Tag/index.tsx | 2 +-
.../src/components/Tag/utils.test.tsx | 2 +
superset-frontend/src/components/Tag/utils.tsx | 4 +-
.../src/components/TagsList/TagsList.test.tsx | 1 +
.../src/components/TagsList/index.tsx | 2 +-
superset-frontend/src/components/index.ts | 1 -
superset-frontend/src/constants.ts | 2 +-
.../{authentication.ts => authentication/index.ts} | 0
.../src/core/{commands.ts => commands/index.ts} | 2 +-
.../core/{environment.ts => environment/index.ts} | 0
.../core/{extensions.ts => extensions/index.ts} | 0
superset-frontend/src/core/index.ts | 25 +-
superset-frontend/src/core/{core.ts => models.ts} | 73 +-
superset-frontend/src/core/sqlLab.ts | 537 -----
superset-frontend/src/core/sqlLab/index.ts | 343 ++++
superset-frontend/src/core/sqlLab/models.ts | 235 +++
.../src/dashboard/actions/dashboardLayout.test.js | 52 +-
.../src/dashboard/actions/dashboardState.test.js | 11 +-
superset-frontend/src/dashboard/actions/hydrate.js | 1 -
.../src/dashboard/actions/sliceEntities.ts | 31 +
.../components/AddSliceCard/AddSliceCard.tsx | 4 +-
.../components/AnchorLink/AnchorLink.test.tsx | 7 +-
.../components/BuilderComponentPane/index.tsx | 155 +-
.../src/dashboard/components/Dashboard.jsx | 13 +-
.../src/dashboard/components/Dashboard.test.jsx | 27 +-
.../DashboardBuilder/DashboardBuilder.test.tsx | 37 +-
.../components/FiltersBadge/FiltersBadge.test.tsx | 2 +
.../dashboard/components/FiltersBadge/index.tsx | 11 +-
.../src/dashboard/components/Header/index.jsx | 2 +-
.../src/dashboard/components/MissingChart.test.tsx | 5 +-
.../PropertiesModal/PropertiesModal.test.tsx | 25 +-
.../dashboard/components/PropertiesModal/index.tsx | 18 +-
.../sections/BasicInfoSection.test.tsx | 15 +-
.../PropertiesModal/sections/BasicInfoSection.tsx | 97 +-
.../sections/StylingSection.test.tsx | 1 +
.../src/dashboard/components/SliceAdder.test.tsx | 24 +-
.../src/dashboard/components/SliceAdder.tsx | 59 +-
.../src/dashboard/components/SliceHeader/index.tsx | 2 +-
.../components/SliceHeaderControls/index.tsx | 22 +-
.../components/dnd/DragDroppable.test.jsx | 19 +-
.../components/dnd/dragDroppableConfig.js | 85 -
.../components/dnd/dragDroppableConfig.ts | 188 ++
.../ChartHolder/ChartHolder.test.tsx | 23 +-
.../gridComponents/Divider/Divider.test.jsx | 9 +-
.../DynamicComponent/DynamicComponent.test.tsx | 1 +
.../DynamicComponent/DynamicComponent.tsx | 3 +-
.../gridComponents/Header/Header.test.jsx | 21 +-
.../gridComponents/Markdown/Markdown.test.jsx | 21 +-
.../components/gridComponents/Row/Row.test.jsx | 1 +
.../TabsRenderer/TabsRenderer.test.tsx | 1 +
.../new/DraggableNewComponent.test.jsx | 11 +-
.../gridComponents/new/DraggableNewComponent.tsx | 3 +-
.../src/dashboard/components/menu/HoverMenu.tsx | 2 +-
.../dashboard/components/menu/WithPopoverMenu.tsx | 6 +-
.../FilterBar/ActionButtons/ActionButtons.test.tsx | 5 +-
.../ScopingModal/ChartsScopingListPanel.test.tsx | 8 +-
.../ScopingModal/ScopingModal.test.tsx | 10 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 29 +-
.../nativeFilters/FilterBar/utils.test.ts | 4 +
.../FiltersConfigForm/CollapsibleControl.test.tsx | 19 +-
.../__tests__/TreeInitialization.test.tsx | 3 +-
.../FilterScope/__tests__/TreeSelection.test.tsx | 5 +-
.../FiltersConfigForm/FilterScope/utils.test.ts | 5 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 2 +-
.../FiltersConfigForm/constants.ts | 2 +-
.../FiltersConfigForm/getControlItemsMap.test.tsx | 1 +
.../FiltersConfigModal/FiltersConfigForm/utils.ts | 3 +-
.../FiltersConfigModal/NativeFiltersModal.test.tsx | 1 +
.../components/nativeFilters/selectors.test.ts | 15 +-
.../components/nativeFilters/state.test.ts | 10 +-
.../components/nativeFilters/utils.test.ts | 9 +-
.../resizable/ResizableContainer.test.tsx | 3 +-
.../components/resizable/ResizableHandle.test.tsx | 7 +-
...yDashboardLayout.js => emptyDashboardLayout.ts} | 39 +-
.../dashboard/reducers/dashboardFilters.test.js | 7 +-
.../src/dashboard/reducers/dashboardLayout.test.js | 23 +-
.../src/dashboard/reducers/dashboardState.test.js | 27 +-
.../src/dashboard/reducers/dashboardState.test.ts | 8 +-
.../src/dashboard/reducers/sliceEntities.test.js | 9 +-
.../{sliceEntities.js => sliceEntities.ts} | 35 +-
superset-frontend/src/dashboard/types.ts | 3 +-
.../src/dashboard/util/activeDashboardFilters.js | 126 --
.../src/dashboard/util/activeDashboardFilters.ts | 211 ++
...peTreeEntry.js => buildFilterScopeTreeEntry.ts} | 32 +-
.../dashboard/util/componentIsResizable.test.ts | 5 +-
.../src/dashboard/util/dnd-reorder.test.js | 19 +-
...sParent.test.js => dropOverflowsParent.test.ts} | 54 +-
...opOverflowsParent.js => dropOverflowsParent.ts} | 15 +-
.../src/dashboard/util/extractUrlParams.test.ts | 7 +-
.../util/findFirstParentContainer.test.js | 5 +-
...entContainer.js => findFirstParentContainer.ts} | 5 +-
.../src/dashboard/util/findParentId.test.ts | 7 +-
.../util/findTabIndexByComponentId.test.ts | 7 +-
.../getChartAndLabelComponentIdFromPath.test.js | 3 +-
...ayout.test.js => getChartIdsFromLayout.test.ts} | 38 +-
...rtIdsFromLayout.js => getChartIdsFromLayout.ts} | 30 +-
.../src/dashboard/util/getDashboardUrl.test.js | 15 +-
.../util/getDetailedComponentWidth.test.js | 26 +-
.../util/getDirectPathToTabIndex.test.ts} | 32 +-
...athToTabIndex.js => getDirectPathToTabIndex.ts} | 12 +-
.../src/dashboard/util/getDropPosition.test.js | 40 +-
.../util/getEffectiveExtraFilters.test.js | 3 +-
.../util/{getEmptyLayout.js => getEmptyLayout.ts} | 18 +-
.../util/getFilterConfigsFromFormdata.test.js | 9 +-
.../util/getFilterScopeFromNodesTree.test.js | 22 +-
.../util/getFormDataWithExtraFilters.test.ts | 5 +-
.../util/getKeyForFilterScopeTree.test.ts | 79 +
...terScopeTree.js => getKeyForFilterScopeTree.ts} | 7 +-
.../util/getLayoutComponentFromChartId.test.ts | 105 +
...ChartId.js => getLayoutComponentFromChartId.ts} | 6 +-
.../util/getLeafComponentIdFromPath.test.js | 5 +-
...IdFromPath.js => getLeafComponentIdFromPath.ts} | 9 +-
.../src/dashboard/util/isDashboardEmpty.test.ts | 7 +-
.../src/dashboard/util/isDashboardLoading.js | 23 -
.../src/dashboard/util/isDashboardLoading.test.ts | 49 +
.../util/isDashboardLoading.ts} | 34 +-
.../util/isInDifferentFilterScopes.test.ts | 197 ++
...ilterScopes.js => isInDifferentFilterScopes.ts} | 29 +-
.../src/dashboard/util/isValidChild.test.ts | 7 +-
.../util/logging/childChartsDidLoad.test.ts | 247 +++
...childChartsDidLoad.js => childChartsDidLoad.ts} | 30 +-
.../src/dashboard/util/newComponentFactory.test.js | 5 +-
.../src/dashboard/util/newEntitiesFromDrop.test.js | 7 +-
.../src/dashboard/util/permissionUtils.test.ts | 27 +-
.../dashboard/util/serializeFilterScopes.test.ts | 114 ++
...izeFilterScopes.js => serializeFilterScopes.ts} | 24 +-
...ldWrapChildInRow.js => shouldWrapChildInRow.ts} | 23 +-
.../util/updateComponentParentsList.test.js | 10 +-
.../util/useFilterFocusHighlightStyles.test.tsx | 11 +-
.../util/useFilterFocusHighlightStyles.ts | 2 +-
superset-frontend/src/database/types.ts | 1 -
.../src/embedded/EmbeddedContextProviders.tsx | 38 +-
superset-frontend/src/embedded/index.tsx | 8 +-
superset-frontend/src/embedded/utils.test.ts | 6 +-
.../src/explore/actions/exploreActions.test.js | 9 +-
.../src/explore/actions/saveModalActions.test.ts | 1 +
.../components/ControlPanelsContainer.test.tsx | 1 +
.../explore/components/ControlPanelsContainer.tsx | 133 +-
.../explore/components/DataTableControl/index.tsx | 2 +-
.../DataTableControl/useTableColumns.test.ts | 2 +-
.../components/DataTablesPane/DataTablesPane.tsx | 10 +-
.../components/DataTableControls.tsx | 3 +-
.../DataTablesPane/components/SamplesPane.tsx | 3 +-
.../DataTablesPane/test/DataTablesPane.test.tsx | 1 +
.../test/ResultsPaneOnDashboard.test.tsx | 1 +
.../DataTablesPane/test/SamplesPane.test.tsx | 1 +
.../src/explore/components/DataTablesPane/types.ts | 7 +-
.../DatasourcePanel/DatasourcePanel.test.tsx | 1 +
.../components/DatasourcePanel/fixtures.tsx | 2 +-
.../explore/components/DatasourcePanel/index.tsx | 1 +
.../explore/components/EmbedCodeContent.test.jsx | 5 +-
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 3 +
.../ExploreChartPanel/ExploreChartPanel.test.jsx | 3 +-
.../explore/components/ExploreChartPanel/index.tsx | 8 +-
.../components/ExploreViewContainer/index.jsx | 157 +-
.../explore/components/RunQueryButton/index.tsx | 1 +
.../controls/AnnotationLayerControl/index.tsx | 28 +-
.../components/controls/CheckboxControl.test.tsx | 5 +-
.../ColorBreakpointOption.test.tsx | 1 +
.../ColorBreakpointPopoverControl.test.tsx | 1 +
.../ColorBreakpointPopoverTrigger.test.tsx | 1 +
.../ColorBreakpointsControl.test.tsx | 3 +-
.../controls/ColorPickerControl.test.tsx | 9 +-
.../ColorSchemeControl/ColorSchemeControl.test.tsx | 200 ++
.../ColumnConfigControl/ColumnConfigControl.tsx | 4 +-
.../ColumnConfigControl/ColumnConfigPopover.tsx | 2 +-
.../controls/ColumnConfigControl/constants.tsx | 3 +-
.../controls/ColumnConfigControl/types.ts | 7 +-
.../ConditionalFormattingControl.tsx | 1 +
.../FormattingPopoverContent.test.tsx | 2 +-
.../FormattingPopoverContent.tsx | 9 +-
.../controls/ConditionalFormattingControl/types.ts | 2 +-
.../DatasourceControl/DatasourceControl.test.jsx | 11 +-
.../DatasourceControl/DatasourceControl.test.tsx | 278 +++
.../controls/DateFilterControl/DateFilterLabel.tsx | 41 +-
.../DateFilterControl/tests/CalendarFrame.test.tsx | 13 +-
.../tests/DateFilterLabel.test.tsx | 9 -
.../controls/DateFilterControl/tests/utils.test.ts | 20 +-
.../components/controls/DateFilterControl/types.ts | 1 -
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 317 ++-
.../ColumnSelectPopoverTrigger.test.tsx | 183 ++
.../ColumnSelectPopoverTrigger.tsx | 77 +-
.../DndColumnMetricSelect.test.tsx | 344 ++++
.../DndColumnMetricSelect.tsx | 448 +++++
.../DndColumnSelect.test.tsx | 375 ++++
.../DndFilterSelect.test.tsx | 9 +-
.../DndColumnSelectControl/DndMetricSelect.tsx | 2 +-
.../DndColumnSelectControl/Option.test.tsx | 1 +
.../controls/DndColumnSelectControl/Option.tsx | 8 +
.../DndColumnSelectControl/OptionWrapper.tsx | 2 +
.../controls/DndColumnSelectControl/index.ts | 12 +
.../controls/DndColumnSelectControl/types.ts | 1 +
.../FilterControl/AdhocFilter/AdhocFilter.test.js | 29 +-
.../AdhocFilterControl/AdhocFilterControl.test.tsx | 7 +-
.../FilterControl/AdhocFilterControl/index.jsx | 91 +-
.../AdhocFilterEditPopover.test.jsx | 17 +-
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 38 +-
.../controls/FilterControl/adhocFilterType.js | 37 -
.../controls/FilterControl/adhocFilterType.test.ts | 104 +
.../controls/FilterControl/adhocFilterType.ts | 64 +
.../controls/FilterControl/columnType.js | 24 -
.../controls/FilterControl/columnType.test.ts} | 53 +-
.../controls/FilterControl/columnType.ts} | 14 +-
.../components/controls/FilterControl/types.ts | 7 +
.../utils/useDatePickerInAdhocFilter.tsx | 1 -
.../controls/MatrixifyDimensionControl.test.tsx | 24 -
.../controls/MatrixifyDimensionControl.tsx | 140 +-
.../controls/MetricControl/AdhocMetric.test.js | 21 +-
.../MetricControl/AggregateOption.test.tsx | 3 +-
.../MetricControl/FilterDefinitionOption.test.jsx | 7 +-
.../controls/MetricControl/aggregateOptionType.js | 23 -
.../MetricControl/aggregateOptionType.test.ts} | 45 +-
.../controls/MetricControl/aggregateOptionType.ts} | 5 +-
.../controls/MetricControl/columnType.js | 24 -
.../controls/MetricControl/columnType.ts} | 14 +-
.../controls/MetricControl/savedMetricType.test.ts | 45 +
.../{savedMetricType.js => savedMetricType.ts} | 10 +-
.../components/controls/MetricControl/types.ts | 4 +
.../explore/components/controls/SelectControl.jsx | 8 +-
.../components/controls/SelectControl.test.jsx | 74 +-
.../components/controls/TextAreaControl.jsx | 48 +-
.../components/controls/TextAreaControl.test.jsx | 9 +-
.../components/controls/TextControl/index.tsx | 1 +
.../components/controls/TimeOffsetControl.test.tsx | 5 +-
.../components/controls/TimeOffsetControl.tsx | 2 +-
.../components/controls/TimeRangeControl/index.tsx | 5 +-
.../controls/TimeSeriesColumnControl/index.jsx | 21 +
.../components/controls/ViewportControl.test.jsx | 7 +-
.../VizTypeControl/VizTypeControl.test.jsx | 5 +-
.../VizTypeControl/VizTypeControl.test.tsx | 85 +-
.../controls/ZoomConfigControl/zoomUtil.test.ts | 26 +-
.../src/explore/components/controls/index.ts | 2 +
.../controls/withAsyncVerification.test.tsx | 5 +-
.../DashboardsSubMenu.test.tsx | 1 +
.../src/explore/controlPanels/Separator.test.ts | 75 +
.../controlPanels/{Separator.js => Separator.ts} | 23 +-
.../src/explore/controlPanels/sections.tsx | 47 +-
...rides.js => timeGrainSqlaAnimationOverrides.ts} | 17 +-
.../src/explore/controlUtils/controlUtils.test.tsx | 38 +-
.../explore/controlUtils/getSectionsToRender.ts | 2 +-
.../controlUtils/standardizedFormData.test.ts | 3 +
.../src/explore/exploreUtils/exploreUtils.test.jsx | 45 +-
.../explore/exploreUtils/getChartDataUri.test.ts | 5 +-
superset-frontend/src/explore/store.test.jsx | 6 +-
superset-frontend/src/explore/types.ts | 1 -
.../src/extensions/ExtensionsManager.ts | 2 +-
.../src/features/alerts/AlertReportModal.test.tsx | 14 +-
.../src/features/alerts/AlertReportModal.tsx | 742 ++++++-
.../alerts/components/NotificationMethod.test.tsx | 38 +-
.../alerts/components/RecipientIcon.test.tsx | 11 +-
superset-frontend/src/features/alerts/types.ts | 44 +
.../features/allEntities/AllEntitiesTable.test.tsx | 9 +-
.../src/features/allEntities/AllEntitiesTable.tsx | 2 +-
.../src/features/dashboards/DashboardCard.test.tsx | 10 +-
.../DatabaseConnectionForm/EncryptedField.test.tsx | 42 +-
.../OAuth2ClientField.test.tsx | 11 +-
.../databases/DatabaseModal/ExtraOptions.test.tsx | 17 +-
.../databases/DatabaseModal/ExtraOptions.tsx | 97 +-
.../databases/DatabaseModal/index.test.tsx | 22 +-
.../UploadDataModel/UploadDataModal.test.tsx | 18 +-
superset-frontend/src/features/databases/types.ts | 1 +
.../AddDataset/DatasetPanel/DatasetPanel.test.tsx | 1 +
.../datasets/AddDataset/Footer/Footer.test.tsx | 1 +
.../datasets/AddDataset/Header/Header.test.tsx | 1 +
.../AddDataset/RightPanel/RightPanel.test.tsx | 3 +-
.../datasets/DatasetLayout/DatasetLayout.test.tsx | 13 +-
.../src/features/home/DashboardTable.test.tsx | 17 +-
.../src/features/home/EmptyState.test.tsx | 5 +-
.../HeaderReportDropdown/index.test.tsx | 17 +-
.../reports/ReportModal/ReportModal.test.tsx | 8 +-
.../features/rls/RowLevelSecurityModal.test.tsx | 13 +-
.../src/features/roles/RoleListAddModal.test.tsx | 11 +-
.../features/roles/RoleListDuplicateModal.test.tsx | 11 +-
.../src/features/roles/RoleListEditModal.test.tsx | 13 +-
.../src/features/tags/BulkTagModal.test.tsx | 1 +
.../src/features/themes/ThemeModal.test.tsx | 1 +
.../src/features/themes/ThemeModal.tsx | 13 +-
superset-frontend/src/features/themes/api.test.ts | 21 +-
.../src/features/themes/types.test.ts | 20 +-
.../components/Range/RangeFilterPlugin.stories.tsx | 7 +-
.../components/Range/RangeFilterPlugin.test.tsx | 25 +-
.../src/filters/components/Range/buildQuery.ts | 7 +-
.../components/Select/SelectFilterPlugin.test.tsx | 1 +
.../components/Select/SelectFilterPlugin.tsx | 2 +-
.../filters/components/Select/buildQuery.test.ts | 17 +-
.../src/filters/components/Select/buildQuery.ts | 2 +-
.../filters/components/Select/transformProps.ts | 2 +-
.../src/filters/components/Select/types.ts | 2 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 9 +-
superset-frontend/src/filters/utils.test.ts | 30 +-
superset-frontend/src/filters/utils.ts | 2 +-
.../src/hooks/apiResources/apiResources.test.ts | 16 +-
.../src/hooks/apiResources/dashboards.test.ts | 3 +-
.../src/hooks/apiResources/schemas.test.ts | 1 +
.../src/hooks/apiResources/tables.test.ts | 1 +
.../src/hooks/useDebounceValue.test.ts | 2 +-
superset-frontend/src/hooks/useLocale.ts | 3 +-
.../src/hooks/useThemeMenuItems.test.tsx | 41 +-
.../useUnsavedChangesPrompt.test.tsx | 9 +-
.../src/middleware/asyncEvent.test.ts | 17 +-
superset-frontend/src/middleware/logger.test.js | 13 +-
.../pages/AlertReportList/AlertReportList.test.jsx | 21 +-
.../AnnotationLayerList.test.jsx | 19 +-
.../src/pages/AnnotationList/index.tsx | 2 +-
superset-frontend/src/pages/Chart/Chart.test.tsx | 2 +
.../pages/ChartList/ChartList.cardview.test.tsx | 33 +-
.../pages/ChartList/ChartList.listview.test.tsx | 43 +-
.../pages/ChartList/ChartList.permissions.test.tsx | 49 +-
.../src/pages/ChartList/ChartList.test.tsx | 42 +-
.../pages/CssTemplateList/CssTemplateList.test.jsx | 17 +-
.../src/pages/DashboardList/DashboardList.test.jsx | 20 +-
.../pages/DatasetCreation/DatasetCreation.test.tsx | 3 +-
.../ExecutionLogList/ExecutionLogList.test.tsx | 7 +-
.../src/pages/ExecutionLogList/index.tsx | 6 +-
.../src/pages/GroupsList/GroupsList.test.tsx | 17 +-
superset-frontend/src/pages/Login/Login.test.tsx | 6 +-
superset-frontend/src/pages/Login/index.tsx | 28 +-
.../src/pages/QueryHistoryList/index.tsx | 2 +-
.../src/pages/RolesList/RolesList.test.tsx | 17 +-
.../RowLevelSecurityList.test.tsx | 21 +-
.../pages/SavedQueryList/SavedQueryList.test.tsx | 17 +-
.../src/pages/ThemeList/ThemeList.test.tsx | 19 +-
.../src/pages/ThemeList/index.test.tsx | 13 +-
.../src/pages/UserInfo/UserInfo.test.tsx | 9 +-
.../UserRegistrations/UserRegistrations.test.tsx | 3 +-
.../src/pages/UsersList/UsersList.test.tsx | 15 +-
superset-frontend/src/preamble.ts | 13 +-
.../src/theme/tests/ThemeController.test.ts | 105 +-
.../src/theme/tests/ThemeProvider.test.tsx | 22 +-
superset-frontend/src/types/TagType.ts | 2 -
superset-frontend/src/types/bootstrapTypes.ts | 3 +-
superset-frontend/src/types/files.d.ts | 3 +
.../src/utils/DebouncedMessageQueue.test.ts | 67 +
...cedMessageQueue.js => DebouncedMessageQueue.ts} | 31 +-
superset-frontend/src/utils/cacheWrapper.test.ts | 13 +-
superset-frontend/src/utils/chartRegistry.test.ts | 12 +-
superset-frontend/src/utils/common.test.jsx | 18 +-
superset-frontend/src/utils/datasourceUtils.js | 27 -
.../src/utils/datasourceUtils.test.ts | 191 ++
superset-frontend/src/utils/datasourceUtils.ts | 57 +
superset-frontend/src/utils/downloadAsPdf.ts | 4 +
.../src/utils/getBootstrapData.test.ts | 13 +-
.../getChartFormDiffs/getChartFormDiffs.test.ts | 19 +-
.../src/utils/getControlsForVizType.test.js | 3 +-
...zType.test.js => getControlsForVizType.test.ts} | 7 +-
.../src/utils/getControlsForVizType.ts | 74 +
.../src/utils/hostNamesConfig.test.ts | 59 +
.../{hostNamesConfig.js => hostNamesConfig.ts} | 10 +-
.../src/utils/localStorageHelpers.test.ts | 5 +-
superset-frontend/src/utils/parseCookie.test.ts | 7 +-
superset-frontend/src/utils/reducerUtils.test.ts | 129 ++
.../src/utils/{reducerUtils.js => reducerUtils.ts} | 60 +-
superset-frontend/src/utils/safeStringify.test.ts | 13 +-
superset-frontend/src/utils/testUtils.test.ts | 17 +-
superset-frontend/src/utils/urlUtils.test.ts | 69 +-
superset-frontend/src/views/CRUD/hooks.test.tsx | 16 +-
.../src/views/RootContextProviders.tsx | 42 +-
superset-frontend/src/views/routes.test.tsx | 5 +-
.../src/views/theme.bootstrap.test.ts | 19 +-
.../components/LeftCell/LeftCell.test.tsx | 1 +
.../components/Sparkline/Sparkline.test.tsx | 1 +
.../TimeTable/components/Sparkline/Sparkline.tsx | 1 +
.../components/SparklineCell/SparklineCell.tsx | 20 +-
.../components/ValueCell/ValueCell.test.tsx | 1 +
.../config/controlPanel/controlPanel.test.ts | 1 +
.../config/transformProps/transformProps.test.ts | 1 +
.../src/visualizations/TimeTable/types.ts | 3 +
.../TimeTable/utils/colorUtils/colorUtils.test.ts | 1 +
.../utils/rowProcessing/rowProcessing.test.ts | 1 +
.../TimeTable/utils/sortUtils/sortUtils.test.ts | 1 +
.../sparklineDataUtils/sparklineDataUtils.test.ts | 1 +
.../sparklineHelpers/sparklineHelpers.test.ts | 6 +
.../valueCalculations/valueCalculations.test.ts | 5 +
superset-frontend/tsconfig.base.json | 43 -
superset-frontend/tsconfig.json | 98 +-
superset-frontend/webpack.config.js | 83 +-
.../commands/database/uploaders/excel_reader.py | 2 +-
superset/commands/report/execute.py | 34 +-
superset/common/query_context_factory.py | 77 +
superset/common/query_object.py | 14 +-
superset/config.py | 6 +-
superset/daos/base.py | 499 ++++-
superset/daos/chart.py | 15 +-
superset/daos/dashboard.py | 34 +-
superset/daos/dataset.py | 19 +-
superset/dashboards/api.py | 6 +
superset/databases/schemas.py | 1 +
superset/datasets/schemas.py | 4 +
superset/extensions/__init__.py | 13 +-
superset/extensions/local_extensions_watcher.py | 50 +-
superset/initialization/__init__.py | 11 +
superset/reports/models.py | 114 ++
superset/sqllab/schemas.py | 1 -
superset/translations/fr/LC_MESSAGES/messages.po | 2042 ++++++++++++++++----
superset/utils/core.py | 5 +
superset/utils/screenshots.py | 25 +-
superset/utils/webdriver.py | 77 +
superset/views/auth.py | 7 +-
superset/views/base.py | 14 +-
superset/views/core.py | 76 +-
superset/views/sql_lab/schemas.py | 1 -
superset/views/utils.py | 8 +-
superset/viz.py | 303 ++-
tests/conftest.py | 2 +
tests/integration_tests/dao/base_dao_test.py | 1613 ++++++++++++++++
tests/integration_tests/dao/conftest.py | 143 ++
tests/integration_tests/dashboards/api_tests.py | 1 +
.../dashboards/security/security_rbac_tests.py | 12 +-
.../commands/execute_dashboard_report_tests.py | 13 +-
tests/integration_tests/reports/commands_tests.py | 18 +-
tests/integration_tests/viz_tests.py | 879 ++++++++-
.../common/test_query_context_factory.py | 438 +++++
tests/unit_tests/dao/base_dao_test.py | 112 +-
tests/unit_tests/reports/model_test.py | 242 +++
tests/unit_tests/sql/parse_tests.py | 1 -
tests/unit_tests/utils/screenshot_test.py | 151 +-
.../utils/test_playwright_migration_working.py | 100 +
tests/unit_tests/utils/webdriver_test.py | 432 ++++-
741 files changed, 25327 insertions(+), 6602 deletions(-)
create mode 100644 .claude/commands/js-to-ts.md
create mode 100644 .claude/projects/js-to-ts/AGENT.md
create mode 100644 .claude/projects/js-to-ts/COORDINATOR.md
create mode 100644 .claude/projects/js-to-ts/PROJECT.md
copy .github/workflows/{superset-e2e.yml => superset-playwright.yml} (74%)
rename LLMS.md => AGENTS.md (81%)
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/control.test.ts
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/CodeEditor/index.tsx
create mode 100644 superset-frontend/playwright.config.ts
create mode 100644 superset-frontend/playwright/README.md
create mode 100644 superset-frontend/playwright/components/core/Button.ts
create mode 100644 superset-frontend/playwright/components/core/Form.ts
create mode 100644 superset-frontend/playwright/components/core/Input.ts
copy superset-frontend/{packages/superset-ui-core/src/components/assets/images
=> playwright/components/core}/index.ts (85%)
create mode 100644 superset-frontend/playwright/pages/AuthPage.ts
create mode 100644 superset-frontend/playwright/tests/auth/login.spec.ts
copy
superset-frontend/{packages/superset-ui-chart-controls/src/components/Dropdown.tsx
=> playwright/utils/urls.ts} (90%)
rename
superset-frontend/plugins/legacy-plugin-chart-map-box/src/utils/{roundDecimal.js
=> roundDecimal.ts} (82%)
rename
superset-frontend/plugins/legacy-plugin-chart-map-box/test/utils/{roundDecimal.test.js
=> roundDecimal.test.ts} (100%)
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/buildQuery.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/transformProps.ts
copy superset-frontend/{src/explore/components/controls/HiddenControl.tsx =>
plugins/legacy-preset-chart-deckgl/src/layers/Contour/buildQuery.ts} (65%)
copy
superset-frontend/{packages/superset-ui-chart-controls/src/components/Dropdown.tsx
=> plugins/legacy-preset-chart-deckgl/src/layers/Contour/transformProps.ts}
(89%)
copy superset-websocket/utils/client-ws-app/public/stylesheets/style.css =>
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Grid/buildQuery.ts
(76%)
copy
superset-frontend/{packages/superset-ui-core/src/components/DeleteModal/types.ts
=> plugins/legacy-preset-chart-deckgl/src/layers/Grid/transformProps.ts} (79%)
copy superset-frontend/{packages/superset-ui-core/src/components/Card/types.ts
=> plugins/legacy-preset-chart-deckgl/src/layers/Heatmap/buildQuery.ts} (82%)
copy
superset-frontend/{packages/superset-ui-core/src/components/DeleteModal/types.ts
=> plugins/legacy-preset-chart-deckgl/src/layers/Heatmap/transformProps.ts}
(79%)
copy superset-frontend/{packages/superset-ui-core/src/utils/random.ts =>
plugins/legacy-preset-chart-deckgl/src/layers/Hex/buildQuery.ts} (72%)
copy
superset-frontend/{packages/superset-ui-core/src/components/DeleteModal/types.ts
=> plugins/legacy-preset-chart-deckgl/src/layers/Hex/transformProps.ts} (79%)
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Path/buildQuery.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Path/transformProps.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/Polygon.test.tsx
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/buildQuery.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/transformProps.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/buildQuery.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/transformProps.ts
copy superset-frontend/{packages/superset-ui-core/src/components/Card/types.ts
=> plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/buildQuery.ts} (82%)
copy
superset-frontend/{packages/superset-ui-core/src/components/DeleteModal/types.ts
=> plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/transformProps.ts}
(79%)
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/buildQueryUtils.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/spatialUtils.test.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/spatialUtils.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/transformUtils.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/utilities/HandlebarsRenderer.tsx
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/utilities/TooltipTemplateControl.tsx
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/utilities/TooltipTemplateEditor.tsx
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/utilities/controlRegistry.tsx
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/utilities/multiValueUtils.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/utilities/tooltipUtils.tsx
create mode 100644 superset-frontend/src/.eslintrc.json
delete mode 100644
superset-frontend/src/components/Chart/DrillBy/DrillByMenuItems.tsx
rename
superset-frontend/src/components/Chart/DrillBy/{DrillByMenuItems.test.tsx =>
DrillBySubmenu.test.tsx} (60%)
create mode 100644
superset-frontend/src/components/Chart/DrillBy/DrillBySubmenu.tsx
delete mode 100644
superset-frontend/src/components/Chart/DrillDetail/DrillDetailMenuItems.tsx
delete mode 100644 superset-frontend/src/components/Chart/DrillDetail/index.ts
rename
superset-frontend/src/components/Chart/{DrillDetail/useDrillDetailMenuItems.tsx
=> useDrillDetailMenuItems/index.tsx} (61%)
rename
superset-frontend/src/components/Chart/{DrillDetail/DrillDetailMenuItems.test.tsx
=> useDrillDetailMenuItems/useDrillDetailMenuItems.test.tsx} (84%)
create mode 100644
superset-frontend/src/components/Datasource/DatasourceModal/DatasourceModal.useModal.test.tsx
delete mode 100644
superset-frontend/src/components/FlashProvider/FlashProvider.test.tsx
delete mode 100644 superset-frontend/src/components/FlashProvider/index.tsx
delete mode 100644 superset-frontend/src/components/FlashProvider/types.ts
rename superset-frontend/src/components/MessageToasts/{reducers.js =>
reducers.ts} (77%)
rename superset-frontend/src/core/{authentication.ts =>
authentication/index.ts} (100%)
rename superset-frontend/src/core/{commands.ts => commands/index.ts} (98%)
rename superset-frontend/src/core/{environment.ts => environment/index.ts}
(100%)
rename superset-frontend/src/core/{extensions.ts => extensions/index.ts} (100%)
rename superset-frontend/src/core/{core.ts => models.ts} (62%)
delete mode 100644 superset-frontend/src/core/sqlLab.ts
create mode 100644 superset-frontend/src/core/sqlLab/index.ts
create mode 100644 superset-frontend/src/core/sqlLab/models.ts
delete mode 100644
superset-frontend/src/dashboard/components/dnd/dragDroppableConfig.js
create mode 100644
superset-frontend/src/dashboard/components/dnd/dragDroppableConfig.ts
rename superset-frontend/src/dashboard/fixtures/{emptyDashboardLayout.js =>
emptyDashboardLayout.ts} (67%)
rename superset-frontend/src/dashboard/reducers/{sliceEntities.js =>
sliceEntities.ts} (80%)
delete mode 100644
superset-frontend/src/dashboard/util/activeDashboardFilters.js
create mode 100644
superset-frontend/src/dashboard/util/activeDashboardFilters.ts
rename superset-frontend/src/dashboard/util/{buildFilterScopeTreeEntry.js =>
buildFilterScopeTreeEntry.ts} (73%)
rename superset-frontend/src/dashboard/util/{dropOverflowsParent.test.js =>
dropOverflowsParent.test.ts} (71%)
rename superset-frontend/src/dashboard/util/{dropOverflowsParent.js =>
dropOverflowsParent.ts} (75%)
rename superset-frontend/src/dashboard/util/{findFirstParentContainer.js =>
findFirstParentContainer.ts} (89%)
rename superset-frontend/src/dashboard/util/{getChartIdsFromLayout.test.js =>
getChartIdsFromLayout.test.ts} (62%)
rename superset-frontend/src/dashboard/util/{getChartIdsFromLayout.js =>
getChartIdsFromLayout.ts} (63%)
copy
superset-frontend/{packages/superset-ui-core/src/components/Card/Card.test.tsx
=> src/dashboard/util/getDirectPathToTabIndex.test.ts} (55%)
rename superset-frontend/src/dashboard/util/{getDirectPathToTabIndex.js =>
getDirectPathToTabIndex.ts} (80%)
rename superset-frontend/src/dashboard/util/{getEmptyLayout.js =>
getEmptyLayout.ts} (74%)
create mode 100644
superset-frontend/src/dashboard/util/getKeyForFilterScopeTree.test.ts
rename superset-frontend/src/dashboard/util/{getKeyForFilterScopeTree.js =>
getKeyForFilterScopeTree.ts} (87%)
create mode 100644
superset-frontend/src/dashboard/util/getLayoutComponentFromChartId.test.ts
rename superset-frontend/src/dashboard/util/{getLayoutComponentFromChartId.js
=> getLayoutComponentFromChartId.ts} (85%)
rename superset-frontend/src/dashboard/util/{getLeafComponentIdFromPath.js =>
getLeafComponentIdFromPath.ts} (84%)
delete mode 100644 superset-frontend/src/dashboard/util/isDashboardLoading.js
create mode 100644
superset-frontend/src/dashboard/util/isDashboardLoading.test.ts
copy superset-frontend/src/{components/Chart/ChartContainer.jsx =>
dashboard/util/isDashboardLoading.ts} (64%)
create mode 100644
superset-frontend/src/dashboard/util/isInDifferentFilterScopes.test.ts
rename superset-frontend/src/dashboard/util/{isInDifferentFilterScopes.js =>
isInDifferentFilterScopes.ts} (65%)
create mode 100644
superset-frontend/src/dashboard/util/logging/childChartsDidLoad.test.ts
rename superset-frontend/src/dashboard/util/logging/{childChartsDidLoad.js =>
childChartsDidLoad.ts} (57%)
create mode 100644
superset-frontend/src/dashboard/util/serializeFilterScopes.test.ts
rename superset-frontend/src/dashboard/util/{serializeFilterScopes.js =>
serializeFilterScopes.ts} (68%)
rename superset-frontend/src/dashboard/util/{shouldWrapChildInRow.js =>
shouldWrapChildInRow.ts} (65%)
create mode 100644
superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopoverTrigger.test.tsx
create mode 100644
superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndColumnMetricSelect.test.tsx
create mode 100644
superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndColumnMetricSelect.tsx
delete mode 100644
superset-frontend/src/explore/components/controls/FilterControl/adhocFilterType.js
create mode 100644
superset-frontend/src/explore/components/controls/FilterControl/adhocFilterType.test.ts
create mode 100644
superset-frontend/src/explore/components/controls/FilterControl/adhocFilterType.ts
delete mode 100644
superset-frontend/src/explore/components/controls/FilterControl/columnType.js
copy superset-frontend/{spec/fixtures/mockReportState.js =>
src/explore/components/controls/FilterControl/columnType.test.ts} (50%)
copy
superset-frontend/{packages/superset-ui-chart-controls/src/shared-controls/components/index.tsx
=> src/explore/components/controls/FilterControl/columnType.ts} (76%)
delete mode 100644
superset-frontend/src/explore/components/controls/MetricControl/aggregateOptionType.js
copy superset-frontend/src/{utils/getDatasourceUid.test.ts =>
explore/components/controls/MetricControl/aggregateOptionType.test.ts} (54%)
copy
superset-frontend/{packages/superset-ui-core/src/chart/types/matrixify.mocks.ts
=> src/explore/components/controls/MetricControl/aggregateOptionType.ts} (84%)
delete mode 100644
superset-frontend/src/explore/components/controls/MetricControl/columnType.js
copy
superset-frontend/{packages/superset-ui-chart-controls/src/shared-controls/components/index.tsx
=> src/explore/components/controls/MetricControl/columnType.ts} (76%)
create mode 100644
superset-frontend/src/explore/components/controls/MetricControl/savedMetricType.test.ts
rename
superset-frontend/src/explore/components/controls/MetricControl/{savedMetricType.js
=> savedMetricType.ts} (75%)
create mode 100644
superset-frontend/src/explore/controlPanels/Separator.test.ts
rename superset-frontend/src/explore/controlPanels/{Separator.js =>
Separator.ts} (79%)
rename
superset-frontend/src/explore/controlPanels/{timeGrainSqlaAnimationOverrides.js
=> timeGrainSqlaAnimationOverrides.ts} (64%)
create mode 100644 superset-frontend/src/utils/DebouncedMessageQueue.test.ts
rename superset-frontend/src/utils/{DebouncedMessageQueue.js =>
DebouncedMessageQueue.ts} (69%)
delete mode 100644 superset-frontend/src/utils/datasourceUtils.js
create mode 100644 superset-frontend/src/utils/datasourceUtils.test.ts
create mode 100644 superset-frontend/src/utils/datasourceUtils.ts
copy superset-frontend/src/utils/{getControlsForVizType.test.js =>
getControlsForVizType.test.ts} (91%)
create mode 100644 superset-frontend/src/utils/getControlsForVizType.ts
create mode 100644 superset-frontend/src/utils/hostNamesConfig.test.ts
rename superset-frontend/src/utils/{hostNamesConfig.js => hostNamesConfig.ts}
(85%)
create mode 100644 superset-frontend/src/utils/reducerUtils.test.ts
copy superset-frontend/src/utils/{reducerUtils.js => reducerUtils.ts} (58%)
delete mode 100644 superset-frontend/tsconfig.base.json
create mode 100644 tests/integration_tests/dao/base_dao_test.py
create mode 100644 tests/integration_tests/dao/conftest.py
create mode 100644 tests/unit_tests/common/test_query_context_factory.py
create mode 100644 tests/unit_tests/reports/model_test.py
create mode 100644 tests/unit_tests/utils/test_playwright_migration_working.py