This is an automated email from the ASF dual-hosted git repository. enzomartellucci pushed a commit to branch enxdev/refactor/typescript-migration-ChartRenderer in repository https://gitbox.apache.org/repos/asf/superset.git
commit c805c96f5aac6261c655fec40125ce13268095f9 Merge: a3ec4080e6 00883c395c Author: Enzo Martellucci <[email protected]> AuthorDate: Tue Feb 25 09:29:36 2025 +0100 Merge branch 'master' into enxdev/refactor/typescript-migration-ChartRenderer .github/CODEOWNERS | 2 +- .github/workflows/embedded-sdk-release.yml | 2 +- .github/workflows/embedded-sdk-test.yml | 2 +- .github/workflows/ephemeral-env.yml | 22 +- .github/workflows/pre-commit.yml | 19 +- .github/workflows/release.yml | 10 +- .github/workflows/superset-applitool-cypress.yml | 3 +- .../workflows/superset-applitools-storybook.yml | 5 +- .github/workflows/superset-docs-deploy.yml | 4 +- .github/workflows/superset-docs-verify.yml | 4 +- .github/workflows/superset-e2e.yml | 2 +- .github/workflows/superset-translations.yml | 2 +- .github/workflows/tech-debt.yml | 2 +- .gitignore | 1 + .pre-commit-config.yaml | 50 +- Dockerfile | 10 +- README.md | 4 +- RELEASING/changelog.py | 11 +- RESOURCES/INTHEWILD.md | 1 + RESOURCES/STANDARD_ROLES.md | 16 +- UPDATING.md | 5 +- docker/nginx/nginx.conf | 6 + docker/pythonpath_dev/superset_config.py | 2 +- .../.eslintrc.js | 59 +- docs/README.md | 2 +- docs/babel.config.js | 1 + docs/docs/api.mdx | 1 - docs/docs/configuration/databases.mdx | 19 + docs/docs/configuration/setup-ssh-tunneling.mdx | 6 - docs/docs/contributing/howtos.mdx | 8 +- docs/docs/contributing/misc.mdx | 6 +- docs/docs/faq.mdx | 2 +- docs/docs/installation/architecture.mdx | 2 +- docs/docs/installation/docker-compose.mdx | 3 +- docs/docs/installation/kubernetes.mdx | 2 +- docs/docs/security/security.mdx | 2 +- .../{docusaurus.config.js => docusaurus.config.ts} | 199 +- docs/package.json | 30 +- docs/sidebars.js | 52 +- docs/src/components/SectionHeader.tsx | 2 +- docs/src/pages/community.tsx | 40 +- docs/src/pages/index.tsx | 11 +- docs/src/resources/data.js | 5 + docs/src/styles/custom.css | 12 + docs/src/styles/main.less | 3 +- docs/src/theme/DocItem/index.js | 12 +- docs/src/utils.js | 2 +- docs/static/.htaccess | 2 - docs/static/img/databases/tdengine.png | Bin 0 -> 32453 bytes docs/static/script/matomo.js | 1 + docs/tsconfig.json | 2 +- docs/yarn.lock | 4681 ++++++++++++-------- package-lock.json | 46 + package.json | 6 + pyproject.toml | 15 +- requirements/base.in | 2 +- requirements/base.txt | 8 +- requirements/development.txt | 16 +- scripts/cancel_github_workflows.py | 2 +- scripts/check-type.js | 260 ++ scripts/eslint.sh | 30 + superset-embedded-sdk/.nvmrc | 1 + superset-embedded-sdk/package-lock.json | 51 +- superset-embedded-sdk/package.json | 1 + superset-frontend/.eslintrc.js | 14 +- .../cypress/e2e/dashboard/_skip.controls.test.ts | 10 +- .../cypress/e2e/dashboard/drillby.test.ts | 5 +- .../cypress/e2e/dashboard/drilltodetail.test.ts | 5 +- .../e2e/dashboard/horizontalFilterBar.test.ts | 12 +- .../cypress-base/cypress/e2e/dashboard/utils.ts | 6 +- .../cypress-base/cypress/e2e/explore/chart.test.js | 22 +- .../cypress/e2e/explore/control.test.ts | 4 +- .../explore/visualizations/download_chart.test.js | 6 +- .../cypress-base/cypress/e2e/sqllab/tabs.test.ts | 4 +- .../cypress-base/cypress/support/directories.ts | 10 +- superset-frontend/cypress-base/package-lock.json | 101 +- superset-frontend/cypress-base/package.json | 3 +- .../eslint-plugin-i18n-strings}/index.js | 0 .../no-template-vars.test.js | 0 .../eslint-plugin-i18n-strings}/package.json | 2 +- .../eslint-plugin-theme-colors/colors.js | 0 .../eslint-plugin-theme-colors/index.js | 0 .../eslint-plugin-theme-colors/package.json | 0 superset-frontend/jest.config.js | 1 + superset-frontend/package-lock.json | 3836 +--------------- superset-frontend/package.json | 23 +- .../src/components/SQLPopover.tsx | 6 +- .../src/sections/chartTitle.tsx | 2 +- .../superset-ui-chart-controls/src/types.ts | 6 + .../src/utils/D3Formatting.ts | 8 + .../factories/createMemoryFormatter.ts | 61 +- .../superset-ui-core/src/query/types/Metric.ts | 4 +- .../chart-composition/legend/WithLegend.test.tsx | 54 +- .../chart/components/ChartDataProvider.test.tsx | 432 +- .../test/chart/components/SuperChart.test.tsx | 456 +- .../test/chart/components/SuperChartCore.test.tsx | 165 +- .../test/chart/components/reactify.test.tsx | 24 +- .../factories/createMemoryFormatter.test.ts | 48 + .../packages/superset-ui-demo/package.json | 4 +- .../shared/components/ResizableChartDemo.tsx | 17 +- .../storybook/shared/components/ResizablePanel.tsx | 4 +- .../LegacyPluginChartChord.stories.tsx | 2 +- .../CountryMap.stories.tsx | 16 +- .../BoxPlot/NVD3BoxPlot.stories.tsx | 4 +- .../plugin-chart-echarts/Gauge/Gauge.stories.tsx | 2 +- .../plugin-chart-echarts/Graph/Graph.stories.tsx | 2 +- .../plugin-chart-echarts/Radar/Radar.stories.tsx | 2 +- .../Timeseries/Timeseries.stories.tsx | 16 +- .../Waterfall/Waterfall.stories.tsx | 8 +- .../PivotTable.stories.tsx | 10 +- .../plugins/plugin-chart-table/Table.stories.tsx | 2 +- .../stories/plugins/plugin-chart-table/testData.ts | 6 +- .../stories/superset-ui-color/RenderPalettes.tsx | 16 +- .../NumberFormat.stories.tsx | 16 +- .../stories/superset-ui-style/Theme.stories.tsx | 11 +- .../superset-ui-time-format/TimeFormat.stories.tsx | 19 +- .../src/layers/Screengrid/Screengrid.tsx | 3 +- .../plugins/legacy-preset-chart-nvd3/package.json | 2 +- .../src/Histogram/controlPanel.tsx | 57 +- .../src/Histogram/transformProps.ts | 37 +- .../plugin-chart-echarts/src/Histogram/types.ts | 2 + .../plugins/plugin-chart-echarts/src/controls.tsx | 2 +- .../src/utils/eventHandlers.ts | 3 +- .../test/BigNumber/transformProps.test.ts | 2 +- .../plugins/plugin-chart-handlebars/README.md | 23 + .../src/components/Handlebars/HandlebarsViewer.tsx | 13 + .../src/plugin/controls/handlebarTemplate.tsx | 41 +- .../src/plugin/controls/style.tsx | 1 + .../plugin-chart-table/src/controlPanel.tsx | 2 +- superset-frontend/spec/helpers/shim.tsx | 2 +- superset-frontend/spec/helpers/testing-library.tsx | 1 + superset-frontend/spec/helpers/theming.ts | 19 +- superset-frontend/src/GlobalStyles.tsx | 13 +- .../src/SqlLab/actions/sqlLab.test.js | 2 +- .../QueryLimitSelect/QueryLimitSelect.test.tsx | 8 +- .../SqlLab/components/QueryLimitSelect/index.tsx | 53 +- .../components/QueryTable/QueryTable.test.tsx | 71 +- .../SqlLab/components/ResultSet/ResultSet.test.tsx | 34 +- .../SaveDatasetActionButton.test.tsx | 3 +- .../components/SaveDatasetActionButton/index.tsx | 30 +- .../SaveDatasetModal/SaveDatasetModal.test.tsx | 4 +- .../SqlLab/components/SaveDatasetModal/index.tsx | 16 +- .../SqlLab/components/SaveQuery/SaveQuery.test.tsx | 8 +- .../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx | 14 +- .../SqlLab/components/SouthPane/SouthPane.test.tsx | 25 +- .../src/SqlLab/components/SouthPane/index.tsx | 2 +- .../SqlLab/components/SqlEditor/SqlEditor.test.tsx | 43 +- .../src/SqlLab/components/SqlEditor/index.tsx | 14 +- .../SqlEditorLeftBar/SqlEditorLeftBar.test.tsx | 9 +- .../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx | 2 +- .../SqlLab/components/SqlEditorTabHeader/index.tsx | 6 +- .../components/TableElement/TableElement.test.tsx | 2 +- .../src/SqlLab/components/TablePreview/index.tsx | 27 +- .../src/components/Alert/Alert.test.tsx | 8 +- .../AlteredSliceTag/AlteredSliceTag.test.jsx | 4 +- .../src/components/AuditInfo/ModifiedInfo.test.tsx | 11 +- superset-frontend/src/components/Button/index.tsx | 2 +- .../src/components/Card/Card.test.tsx | 13 +- .../CertifiedBadge/CertifiedBadge.test.tsx | 8 +- .../Chart/ChartContextMenu/ChartContextMenu.tsx | 42 +- .../Chart/DrillBy/DrillByMenuItems.test.tsx | 66 +- .../components/Chart/DrillBy/DrillByMenuItems.tsx | 35 +- .../components/Chart/DrillBy/DrillByModal.test.tsx | 10 +- .../Chart/DrillBy/useDrillByBreadcrumbs.test.ts | 3 +- .../Chart/DrillBy/useResultsTableView.test.ts | 9 +- .../DrillDetail/DrillDetailMenuItems.test.tsx | 9 +- .../Chart/DrillDetail/DrillDetailMenuItems.tsx | 27 +- .../Chart/DrillDetail/DrillDetailModal.test.tsx | 3 +- .../DrillDetailTableControls.stories.tsx} | 21 +- .../DrillDetail/DrillDetailTableControls.test.tsx | 6 +- .../Chart/DrillDetail/DrillDetailTableControls.tsx | 37 +- .../components/Chart/MenuItemWithTruncation.tsx | 9 +- .../src/components/Collapse/Collapse.test.tsx | 161 +- .../CopyToClipboard/CopyToClipboard.test.tsx | 8 +- .../DatabaseSelector/DatabaseSelector.test.tsx | 6 +- .../src/components/DatabaseSelector/index.tsx | 2 +- .../src/components/Datasource/DatasourceEditor.jsx | 136 +- .../Datasource/DatasourceEditor.test.jsx | 10 +- .../components/Datasource/DatasourceModal.test.jsx | 20 +- .../src/components/Datasource/DatasourceModal.tsx | 277 +- .../src/components/Datasource/utils.js | 102 + .../components/DeleteModal/DeleteModal.test.tsx | 3 +- .../src/components/Dropdown/Dropdown.stories.tsx | 6 +- .../src/components/Dropdown/index.tsx | 27 +- .../src/components/DropdownButton/index.tsx | 97 +- .../DropdownContainer/DropdownContainer.test.tsx | 3 +- .../src/components/DropdownContainer/index.tsx | 20 +- .../DropdownSelectableIcon.test.tsx | 98 - .../components/DropdownSelectableIcon/index.tsx | 177 - .../DynamicEditableTitle.test.tsx | 3 +- .../ErrorMessage/DatabaseErrorMessage.test.tsx | 3 +- .../ErrorMessageWithStackTrace.test.tsx | 3 +- .../FrontendNetworkErrorMessage.test.tsx | 3 +- .../ErrorMessage/InvalidSQLErrorMessage.test.tsx | 51 +- .../ErrorMessage/MarshmallowErrorMessage.test.tsx | 32 +- .../ErrorMessage/OAuth2RedirectMessage.test.tsx | 19 +- .../ErrorMessage/ParameterErrorMessage.test.tsx | 3 +- .../ErrorMessage/TimeoutErrorMessage.test.tsx | 3 +- .../src/components/FacePile/FacePile.test.tsx | 7 +- .../src/components/FaveStar/FaveStar.test.tsx | 3 +- .../FilterableTable/FilterableTable.test.tsx | 8 +- .../FlashProvider/FlashProvider.test.tsx | 9 +- .../src/components/Form/LabeledErrorBoundInput.tsx | 3 +- .../src/components/GridTable/HeaderMenu.test.tsx | 2 +- .../IndeterminateCheckbox.test.tsx | 8 +- .../src/components/ListView/CardSortSelect.tsx | 1 + .../components/ListView/CrossLinksTooltip.test.tsx | 8 +- .../src/components/ListView/ListView.test.jsx | 433 +- .../src/components/ListView/ListView.tsx | 4 +- .../ListViewCard/ListViewCard.stories.tsx | 10 +- .../src/components/Loading/Loading.test.tsx | 3 +- superset-frontend/src/components/Menu/index.tsx | 27 +- .../components/MetadataBar/MetadataBar.test.tsx | 8 +- .../components/ModalTrigger/ModalTrigger.test.tsx | 8 +- .../PageHeaderWithActions.test.tsx | 3 +- .../src/components/PageHeaderWithActions/index.tsx | 10 +- .../src/components/Pagination/Ellipsis.test.tsx | 3 +- .../src/components/Pagination/Item.test.tsx | 3 +- .../src/components/Pagination/Next.test.tsx | 3 +- .../src/components/Pagination/Prev.test.tsx | 3 +- .../src/components/Pagination/Wrapper.test.tsx | 19 +- .../src/components/Popover/Popover.stories.tsx | 15 +- .../src/components/Popover/Popover.test.tsx | 22 +- superset-frontend/src/components/Popover/index.tsx | 14 +- .../PopoverDropdown/PopoverDropdown.test.tsx | 3 +- .../src/components/PopoverDropdown/index.tsx | 10 +- .../PopoverSection/PopoverSection.test.tsx | 3 +- .../components/RefreshLabel/RefreshLabel.test.tsx | 3 +- .../src/components/Select/AsyncSelect.test.tsx | 2 +- .../src/components/Select/Select.test.tsx | 2 +- .../cell-renderers/ActionCell/ActionCell.test.tsx | 3 +- .../Table/cell-renderers/ActionCell/index.tsx | 4 +- .../cell-renderers/ButtonCell/ButtonCell.test.tsx | 3 +- .../header-renderers/HeaderWithRadioGroup.tsx | 4 +- .../src/components/Table/utils/utils.test.ts | 15 +- .../TableSelector/TableSelector.test.tsx | 112 +- .../src/components/TableView/TableView.test.tsx | 3 +- superset-frontend/src/components/Tags/Tag.test.tsx | 3 +- superset-frontend/src/components/Tags/Tag.tsx | 21 +- .../TimezoneSelector.DaylightSavingTime.test.tsx | 8 +- .../TimezoneSelector/TimezoneSelector.test.tsx | 8 +- .../src/components/Tooltip/Tooltip.test.tsx | 3 +- superset-frontend/src/components/Tooltip/index.tsx | 26 +- .../TooltipParagraph/TooltipParagraph.test.tsx | 8 +- superset-frontend/src/components/index.ts | 17 +- .../src/dashboard/actions/dashboardState.test.js | 2 +- superset-frontend/src/dashboard/actions/hydrate.js | 3 +- .../components/AddSliceCard/AddSliceCard.test.tsx | 9 +- .../components/CssEditor/CssEditor.test.tsx | 8 +- .../src/dashboard/components/CssEditor/index.tsx | 6 +- .../src/dashboard/components/Dashboard.test.jsx | 314 +- .../DashboardBuilder/DashboardBuilder.test.tsx | 9 +- .../DashboardBuilder/DashboardBuilder.tsx | 8 - .../EmbeddedModal/EmbeddedModal.test.tsx | 1 - .../DetailsPanel/DetailsPanel.test.tsx | 8 +- .../components/FiltersBadge/DetailsPanel/index.tsx | 60 +- .../FilterIndicator/FilterIndicator.test.tsx | 3 +- .../dashboard/components/Header/Header.test.tsx | 8 +- .../HeaderActionsDropdown.test.tsx | 260 -- .../src/dashboard/components/Header/index.jsx | 180 +- .../src/dashboard/components/Header/types.ts | 5 +- .../index.tsx => useHeaderActionsDropdownMenu.tsx} | 339 +- .../PropertiesModal/PropertiesModal.test.tsx | 502 ++- .../PublishedStatus/PublishedStatus.test.tsx | 3 +- .../components/RefreshIntervalModal.test.tsx | 21 +- .../src/dashboard/components/SliceAdder.test.tsx | 349 +- .../components/SliceHeader/SliceHeader.test.tsx | 3 +- .../SliceHeaderControls.test.tsx | 36 +- .../components/SliceHeaderControls/index.tsx | 38 +- .../URLShortLinkButton/URLShortLinkButton.test.tsx | 3 +- .../src/dashboard/components/dnd/DragDroppable.jsx | 5 +- .../components/dnd/DragDroppable.test.jsx | 252 +- .../components/filterscope/FilterScope.test.tsx | 58 +- .../components/gridComponents/ChartHolder.test.tsx | 2 +- .../components/gridComponents/Column.test.jsx | 4 +- .../components/gridComponents/Divider.test.jsx | 16 +- .../components/gridComponents/Header.test.jsx | 79 +- .../components/gridComponents/Markdown.test.jsx | 387 +- .../components/gridComponents/Row.test.jsx | 4 +- .../components/gridComponents/Tab.test.jsx | 108 +- .../components/gridComponents/Tab.test.tsx | 2 +- .../components/gridComponents/Tabs.test.tsx | 8 +- .../new/DraggableNewComponent.test.jsx | 58 +- .../components/gridComponents/new/NewTabs.test.jsx | 13 +- .../DownloadMenuItems/DownloadAsImage.test.tsx | 14 +- .../menu/DownloadMenuItems/DownloadAsImage.tsx | 12 +- .../menu/DownloadMenuItems/DownloadAsPdf.test.tsx | 14 +- .../menu/DownloadMenuItems/DownloadAsPdf.tsx | 12 +- .../DownloadMenuItems/DownloadMenuItems.test.tsx | 12 +- .../DownloadMenuItems/DownloadScreenshot.test.tsx | 8 +- .../components/menu/DownloadMenuItems/index.tsx | 51 +- .../dashboard/components/menu/HoverMenu.test.tsx | 3 +- .../components/menu/MarkdownModeDropdown.tsx | 1 + .../menu/ShareMenuItems/ShareMenuItems.test.tsx | 9 +- .../components/menu/ShareMenuItems/index.tsx | 16 +- .../FilterBar/ActionButtons/ActionButtons.test.tsx | 14 +- .../FilterBar/CrossFilters/CrossFilterTag.test.tsx | 3 +- .../CrossFilters/CrossFilterTitle.test.tsx | 41 +- .../ScopingModal/ChartsScopingListPanel.test.tsx | 8 +- .../ScopingModal/ScopingModal.test.tsx | 2 +- .../nativeFilters/FilterBar/FilterBar.test.tsx | 3 +- .../FilterBarSettings/FilterBarSettings.test.tsx | 94 +- .../FilterBar/FilterBarSettings/index.tsx | 76 +- .../FilterConfigurationLink.test.tsx | 18 +- .../FilterBar/FilterConfigurationLink/index.tsx | 65 +- .../useFilterConfigModal.tsx | 82 + .../FilterControls/FilterDivider.test.tsx | 3 +- .../nativeFilters/FilterBar/Header/Header.test.tsx | 3 +- .../nativeFilters/FilterBar/Header/index.tsx | 3 - .../nativeFilters/FilterCard/FilterCard.test.tsx | 3 +- .../nativeFilters/FilterCard/NameRow.tsx | 15 +- .../components/nativeFilters/FilterCard/index.tsx | 10 +- .../FiltersConfigModal/FilterConfigPane.test.tsx | 2 +- .../FiltersConfigForm/ColumnSelect.test.tsx | 8 +- .../FilterScope/FilterScope.test.tsx | 116 +- .../__tests__/TreeInitialization.test.tsx | 80 + .../FilterScope/__tests__/TreeSelection.test.tsx | 124 + .../FilterScope/__tests__/utils.tsx | 85 + .../FiltersConfigForm/getControlItemsMap.test.tsx | 3 +- .../FiltersConfigModal/FiltersConfigModal.test.tsx | 2 +- .../components/nativeFilters/state.test.ts | 126 + .../dashboard/components/nativeFilters/state.ts | 25 +- .../src/dashboard/hooks/useDownloadScreenshot.ts | 184 + superset-frontend/src/dashboard/styles.ts | 32 +- .../src/explore/actions/datasourcesActions.ts | 13 +- .../src/explore/actions/exploreActions.ts | 16 + .../src/explore/components/Control.test.tsx | 7 +- .../components/ControlPanelsContainer.test.tsx | 3 +- .../CopyToClipboardButton.test.tsx | 8 +- .../DataTableControl/FilterInput.test.tsx | 3 +- .../explore/components/DataTableControl/index.tsx | 11 +- .../DataTablesPane/test/DataTablesPane.test.tsx | 4 +- .../test/ResultsPaneOnDashboard.test.tsx | 2 +- .../DataTablesPane/test/SamplesPane.test.tsx | 2 +- .../DatasourcePanel/DatasourcePanel.test.tsx | 96 +- .../ExploreChartHeader/ExploreChartHeader.test.tsx | 184 +- .../components/ExploreChartHeader/index.jsx | 51 +- .../ExploreChartPanel/ExploreChartPanel.test.jsx | 10 +- .../ExploreViewContainer.test.tsx | 8 +- .../ExportToCSVDropdown.test.tsx | 3 +- .../components/ExportToCSVDropdown/index.tsx | 10 +- .../PropertiesModal/PropertiesModal.test.tsx | 84 +- .../RowCountLabel/RowCountLabel.test.tsx | 3 +- .../RunQueryButton/RunQueryButton.test.tsx | 3 +- .../AnnotationLayer.test.tsx | 10 +- .../controls/AnnotationLayerControl/index.tsx | 8 +- .../components/controls/BoundsControl.test.jsx | 8 +- .../components/controls/CheckboxControl.test.tsx | 8 +- .../CollectionControl/CollectionControl.test.tsx | 3 +- .../ColorSchemeControl/ColorSchemeControl.test.tsx | 8 +- .../FormattingPopover.tsx | 4 +- .../controls/ConditionalFormattingControl/types.ts | 2 +- .../ContourControl/ContourPopoverTrigger.tsx | 6 +- .../ControlPopover/ControlPopover.test.tsx | 22 +- .../controls/ControlPopover/ControlPopover.tsx | 67 +- .../DatasourceControl/DatasourceControl.test.jsx | 12 +- .../DatasourceControl/DatasourceControl.test.tsx | 9 +- .../controls/DatasourceControl/index.jsx | 14 +- .../controls/DateFilterControl/DateFilterLabel.tsx | 17 +- .../DateFilterControl/tests/AdvancedFrame.test.tsx | 3 +- .../tests/CurrentCalendarFrame.test.tsx | 3 +- .../DateFilterControl/tests/CustomFrame.test.tsx | 178 +- .../tests/DateFilterLabel.test.tsx | 3 +- .../ColumnSelectPopover.test.tsx | 28 +- .../ColumnSelectPopoverTrigger.tsx | 6 +- .../DndColumnSelect.test.tsx | 10 +- .../DndMetricSelect.test.tsx | 4 +- .../DndColumnSelectControl/DndSelectLabel.test.tsx | 3 +- .../DndColumnSelectControl/Option.test.tsx | 115 +- .../AdhocFilterControl/AdhocFilterControl.test.jsx | 146 - .../AdhocFilterControl/AdhocFilterControl.test.tsx | 154 + .../AdhocFilterEditPopover.test.jsx | 180 +- ...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 28 +- .../AdhocFilterEditPopoverSqlTabContent.test.tsx | 22 +- .../AdhocFilterOption/AdhocFilterOption.test.tsx | 8 +- .../AdhocFilterPopoverTrigger.test.tsx | 3 +- .../AdhocFilterPopoverTrigger/index.tsx | 6 +- .../utils/useDatePickerInAdhocfilter.test.ts | 19 +- .../FixedOrMetricControl.test.tsx | 3 +- .../LayerConfigsControl/LayerConfigsControl.tsx | 4 +- .../controls/MapViewControl/MapViewControl.tsx | 5 +- .../MapViewControl/MapViewPopoverContent.tsx | 3 +- .../AdhocMetricEditPopover.test.jsx | 125 - .../AdhocMetricEditPopover.test.tsx | 8 +- .../AdhocMetricEditPopoverTitle.test.tsx | 4 +- .../MetricControl/AdhocMetricOption.test.jsx | 8 +- .../MetricControl/AdhocMetricPopoverTrigger.tsx | 6 +- .../MetricControl/FilterDefinitionOption.test.jsx | 21 +- .../MetricControl/MetricDefinitionOption.test.tsx | 3 +- .../controls/MetricControl/MetricsControl.test.jsx | 20 +- .../OptionControls/OptionControls.test.tsx | 40 +- .../SelectAsyncControl/SelectAsyncControl.test.tsx | 3 +- .../components/controls/SelectControl.test.jsx | 2 +- .../components/controls/TextAreaControl.jsx | 61 +- .../controls/TextControl/TextControl.test.tsx | 8 +- .../components/controls/TimeOffsetControl.test.tsx | 13 +- .../TimeSeriesColumnControl.test.tsx | 3 +- .../controls/TimeSeriesColumnControl/index.jsx | 4 +- .../components/controls/ViewportControl.test.jsx | 3 +- .../VizTypeControl/VizTypeControl.test.jsx | 68 +- .../VizTypeControl/VizTypeControl.test.tsx | 2 +- .../controls/withAsyncVerification.test.tsx | 64 +- .../DashboardsSubMenu.test.tsx | 10 +- .../useExploreAdditionalActionsMenu/index.jsx | 52 +- .../exploreUtils/getSimpleSQLExpression.test.ts | 8 + .../src/explore/reducers/exploreReducer.js | 18 + .../src/features/alerts/AlertReportModal.test.tsx | 8 +- .../src/features/alerts/AlertReportModal.tsx | 18 +- .../alerts/components/NotificationMethod.test.tsx | 2 +- .../features/allEntities/AllEntitiesTable.test.tsx | 3 +- .../annotationLayers/AnnotationLayerModal.test.jsx | 8 +- .../features/annotations/AnnotationModal.test.jsx | 8 +- .../src/features/charts/ChartCard.tsx | 11 +- .../cssTemplates/CssTemplateModal.test.jsx | 8 +- .../src/features/dashboards/DashboardCard.tsx | 11 +- .../DatabaseConnectionForm/EncryptedField.tsx | 14 +- .../OAuth2ClientField.test.tsx | 19 +- .../databases/DatabaseModal/SSHTunnelForm.tsx | 10 +- .../DatabaseModal/SSHTunnelSwitch.test.tsx | 3 +- .../databases/DatabaseModal/index.test.tsx | 696 ++- .../src/features/databases/DatabaseModal/index.tsx | 4 +- .../UploadDataModel/UploadDataModal.test.tsx | 17 +- .../EditDataset/UsageTab/UsageTab.test.tsx | 12 +- .../AddDataset/LeftPanel/LeftPanel.test.tsx | 8 +- superset-frontend/src/features/datasets/types.ts | 24 +- .../src/features/home/ActivityTable.test.tsx | 8 +- .../src/features/home/ChartTable.test.tsx | 8 +- superset-frontend/src/features/home/ChartTable.tsx | 3 +- .../src/features/home/DashboardTable.test.tsx | 362 +- .../src/features/home/DashboardTable.tsx | 6 +- .../src/features/home/EmptyState.test.tsx | 27 +- .../src/features/home/LanguagePicker.test.tsx | 3 +- superset-frontend/src/features/home/Menu.test.tsx | 3 +- .../src/features/home/RightMenu.test.tsx | 10 +- superset-frontend/src/features/home/RightMenu.tsx | 2 + .../src/features/home/SavedQueries.test.tsx | 10 +- .../src/features/home/SavedQueries.tsx | 67 +- .../src/features/home/SubMenu.test.tsx | 3 +- .../features/queries/QueryPreviewModal.test.tsx | 4 +- .../queries/SavedQueryPreviewModal.test.jsx | 6 +- .../HeaderReportDropdown/index.test.tsx | 74 +- .../ReportModal/HeaderReportDropdown/index.tsx | 132 +- .../reports/ReportModal/ReportModal.test.tsx | 8 +- .../features/rls/RowLevelSecurityModal.test.tsx | 33 +- superset-frontend/src/features/tags/TagCard.tsx | 11 +- .../components/Select/SelectFilterPlugin.test.tsx | 3 +- .../pages/AlertReportList/AlertReportList.test.jsx | 208 +- .../AnnotationLayerList.test.jsx | 180 +- .../pages/AnnotationList/AnnotationList.test.jsx | 10 +- .../src/pages/ChartCreation/ChartCreation.test.tsx | 8 +- .../src/pages/ChartList/ChartList.test.jsx | 325 +- .../pages/CssTemplateList/CssTemplateList.test.jsx | 181 +- .../src/pages/DashboardList/DashboardList.test.jsx | 290 +- .../src/pages/DashboardList/index.tsx | 5 +- .../src/pages/DatabaseList/DatabaseList.test.jsx | 12 +- .../src/pages/DatasetList/DatasetList.test.tsx | 16 +- ...nLogList.test.jsx => ExecutionLogList.test.tsx} | 49 +- superset-frontend/src/pages/Home/Home.test.tsx | 22 +- .../QueryHistoryList/QueryHistoryList.test.tsx | 12 +- .../RowLevelSecurityList.test.tsx | 5 +- .../pages/SavedQueryList/SavedQueryList.test.jsx | 478 +- superset-frontend/src/setup/setupFormatters.ts | 10 +- superset-frontend/src/types/TagType.ts | 1 + .../src/types/{ace-builds.ts => ace-builds.d.ts} | 0 .../{TagType.ts => react-syntax-highlighter.d.ts} | 25 +- superset-websocket/package-lock.json | 47 + superset-websocket/package.json | 1 + superset-websocket/tsconfig.json | 2 +- superset/charts/api.py | 10 +- superset/charts/schemas.py | 3 +- superset/cli/thumbnails.py | 2 +- superset/common/db_query_status.py | 16 +- superset/connectors/sqla/models.py | 2 +- superset/dashboards/api.py | 8 +- superset/dashboards/filter_state/api.py | 74 + superset/dashboards/permalink/api.py | 69 + superset/dashboards/schemas.py | 3 +- superset/databases/api.py | 13 +- superset/databases/schemas.py | 8 +- superset/datasets/api.py | 9 +- superset/db_engine_specs/base.py | 5 +- superset/db_engine_specs/clickhouse.py | 18 +- superset/db_engine_specs/couchbase.py | 2 +- superset/db_engine_specs/databricks.py | 5 +- superset/db_engine_specs/duckdb.py | 2 +- superset/db_engine_specs/hana.py | 5 +- superset/db_engine_specs/hive.py | 5 +- superset/db_engine_specs/oracle.py | 5 +- superset/db_engine_specs/presto.py | 2 +- superset/db_engine_specs/snowflake.py | 2 +- superset/db_engine_specs/tdengine.py | 57 + superset/db_engine_specs/trino.py | 4 +- superset/embedded/api.py | 32 +- superset/jinja_context.py | 46 +- superset/migrations/shared/native_filters.py | 17 +- ...b56500de1855_add_uuid_column_to_import_mixin.py | 2 +- ...14-38_a9422eeaae74_new_dataset_models_take_2.py | 10 +- ...9123a_update_charts_with_old_time_comparison.py | 8 + superset/queries/api.py | 3 +- superset/row_level_security/schemas.py | 2 +- superset/security/manager.py | 2 + superset/sql/dialects/firebolt.py | 5 +- superset/sql_lab.py | 2 +- superset/sqllab/api.py | 11 +- superset/sqllab/permalink/api.py | 2 +- superset/tags/api.py | 7 +- superset/utils/core.py | 16 +- superset/utils/pandas_postprocessing/histogram.py | 3 +- superset/utils/screenshots.py | 54 +- superset/views/sqllab.py | 10 +- superset/viz.py | 3 +- tests/integration_tests/celery_tests.py | 14 +- tests/integration_tests/conftest.py | 2 +- tests/integration_tests/core_tests.py | 2 +- tests/integration_tests/dashboards/api_tests.py | 45 +- tests/integration_tests/databases/api_tests.py | 151 +- tests/integration_tests/datasets/api_tests.py | 4 +- tests/integration_tests/datasource_tests.py | 2 +- .../db_engine_specs/base_engine_spec_tests.py | 3 +- .../7e67aecbf3f1_chart_ds_constraint__tests.py | 2 +- ...update_charts_with_old_time_comparison__test.py | 12 + .../fb13d49b72f9_better_filters__tests.py | 2 +- tests/integration_tests/reports/scheduler_tests.py | 4 +- tests/integration_tests/security_tests.py | 2 + tests/integration_tests/sql_lab/commands_tests.py | 11 +- .../sql_lab/permalink/api_tests.py | 22 + tests/integration_tests/sqllab_tests.py | 96 +- tests/integration_tests/tags/api_tests.py | 2 +- .../commands/databases/excel_reader_test.py | 2 +- .../commands/databases/importers/__init__.py | 9 - .../commands/databases/importers/v1/__init__.py | 9 - .../databases/importers/v1/command_test.py | 50 + .../common/test_query_context_processor.py | 238 + tests/unit_tests/connectors/sqla/models_test.py | 11 +- tests/unit_tests/databases/api_test.py | 59 + tests/unit_tests/datasets/api_tests.py | 3 +- tests/unit_tests/datasets/commands/export_test.py | 2 +- tests/unit_tests/db_engine_specs/test_gsheets.py | 101 +- tests/unit_tests/db_engine_specs/test_mssql.py | 47 +- tests/unit_tests/db_engine_specs/test_ocient.py | 6 +- .../unit_tests/db_engine_specs/test_tdengine.py | 26 +- tests/unit_tests/fixtures/dataframes.py | 4 +- tests/unit_tests/jinja_context_test.py | 194 +- .../pandas_postprocessing/test_histogram.py | 48 +- tests/unit_tests/sql/parse_tests.py | 21 + tests/unit_tests/utils/screenshot_test.py | 22 +- 546 files changed, 13313 insertions(+), 13163 deletions(-)
