You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ma...@apache.org on 2025/09/03 07:51:47 UTC
(superset) branch custom-drillthrough updated (4963c09625 -> a28c4f942a)
This is an automated email from the ASF dual-hosted git repository.
maximebeauchemin pushed a change to branch custom-drillthrough
in repository https://gitbox.apache.org/repos/asf/superset.git
discard 4963c09625 fix two tests
discard 6a255e10d8 refactor: Simplify SelectAsyncControl by leveraging SupersetClient searchParams
discard a58a4888f4 refactor: Improve ChartSelect type safety and URL building utilities
discard 38199f52a7 match LLMS.md
discard 045163801d refactor: Add dashboard filter context to drill-through StatefulChart
discard f6223ee503 fix: Ensure drill-through chart field works consistently across CRUD and Explore paths
discard 5b56b588c7 fix package-lock
add 2b2cc96f11 fix(DetailsPanel): Applied filters colors (#34790)
add 0a45a89786 feat(docs): Docusaurus multi-versioning, Developer Portal starter kit (#34271)
add 75af53dc3d fix: customize column description limit size in db_engine_spec (#34808)
add e1234b2264 fix: User-provided Jinja template parameters causing SQL parsing errors (#34802)
add a8be5a5a0c chore: Extensions architecture POC (#31934)
add 5c3c2599db fix(Icons): Add missing data-test and aria-label attributes to custom icons (#34809)
add 547f297171 fix(echarts): Series labels hard to read in dark mode (#34815)
add b225432c55 fix: Unexpected overflow ellipsis dots after status icon in Dashboard list (#34798)
add c7779578f9 chore: Add instruction for LLMs to use antd theme tokens (#34800)
add 1204507d68 fix: make `get_image()` always return `BytesIO` (#34801)
add b381992a75 fix(theming): explore chart type style fixes, nav right menu spacing fixed (#34795)
add 471d9fe737 fix: Add dataset ID to file name on exports (#34782)
add 9c9588cce6 fix: Avoid dataset drill request if no perm (#34665)
add 47414e18d4 feat: Use DuckDB for examples data in Docker development environment (#34831)
add b89b0bdf5d fix(sqllab): Missing executed sql value in the result table (#34846)
add 4701e78f1f fix(docker): configure gunicorn for DuckDB thread safety in docker-compose-light (#34848)
add b8c2f7db47 build(docker): update base debian image to 13 (trixie) (#34821)
add 54af1cb2c8 chore: bump FAB to 4.8.1 (#34838)
add 97b35a4640 fix(dashboard): Anchor link positions (#34843)
add cb24737825 feat(bigquery): show materialized views (#34766)
add 659db162d6 fix(docker): remove --with-threads from remaining dev workflows for DuckDB compatibility (#34851)
add ab58b0a8a3 fix: DB icon sizes in database add modal (#34854)
add b74a244950 fix: Remove the underline from the right section of main menu (#34855)
add ce3b93d8a0 perf: Use react-router to toggle fullscreen mode on dashboard (#34857)
add 06264f07fb chore(npm): updating apache-superset/core package name and version to test releasing. (#34862)
add 53ce530a46 ci: Add Python 3.12 images to Docker Hub (#34853)
add d8a3d29ad9 chore: Adds a README and CHANGELOG to @apache-superset/core (#34866)
add 30c72ba0a3 chore: Adds README and CHANGELOG to apache-superset-core and apache-superset-cli (#34867)
add b558b34faf fix: Update apache-superset-core dependency to accept rc1 version (#34872)
add 836540e8c9 fix(tests): Mock MessageChannel to prevent Jest hanging from rc-overflow (#34871)
add 5566eb8dd6 fix: Undefined error when viewing query in Explore + visual fixes (#34869)
add 665a11f821 fix: SelectControl default sort numeric choices by value (#34858)
add 7946ec003f fix(tests): Improve MessageChannel mocking to prevent worker force exits (#34878)
add ebfb14c353 fix(ConfirmStatusChange): remove deprecated event.persist() to fix headless browser crashes (#34864)
add bcf156c969 fix: Rename apache-superset-cli to apache-superset-extensions-cli (#34883)
add 1d9e17df14 chore(docs): update files for release 4.1.4 (#34890)
add e463743fcf fix: Filter bar orientation submenu should not be highlighted (#34900)
add 812374b31b feat: Integrate Superset Showtime GitHub Actions workflows (#34833)
add 54f071138c fix: Chart execution for Databricks (#34906)
add dc7a8844eb feat(pie): add sort legend (#34323)
add c5a84c0985 fix(drilling): drill by pagination works with MSSQL data source, cont. (#34724)
add 6b69dc42dc fix: add --without-threads flag to Flask dev server for DuckDB compatibility (#34907)
add 077724c2d2 feat(api): dataset read API uuid support (#34836)
add 175835138c fix: Improve table layout and column sizing (#34887)
add c1a3606774 fix: Update @apache-superset/core reference in package-lock.json (#34924)
add 4695be5cc5 fix: complete theme management system import/export (#34850)
add d183969744 fix(theming): fix TimeTable chart issues (#34868)
add b9cbf2e766 chore(deps-dev): bump lerna from 8.2.1 to 8.2.3 in /superset-frontend (#34954)
add bc9ec6ac63 fix: revert mistake setting TALISMAN_ENABLED=False (#34909)
add 6e7cb521ba chore(deps): upgrade databricks connectors (#34692)
add 4d040006b6 chore(deps-dev): bump typescript from 5.8.3 to 5.9.2 in /docs (#34923)
add fad3cb3162 fix: Athena quoting (#34895)
add 92879e6b32 chore(deps-dev): bump eslint from 9.33.0 to 9.34.0 in /docs (#34929)
add 322442d5be fix: apache-superset-core exported packages (#34977)
add 9bcc62f210 fix: Skip coverage for @apache-superset/core (#34958)
add 0a76f84142 chore(deps): bump caniuse-lite from 1.0.30001735 to 1.0.30001739 in /docs (#34921)
add 6a4b1df3a2 fix(dashboard): table charts render correctly after tab switch and refresh (#34975)
add ba838b6aeb chore(deps): bump @mdx-js/react from 3.1.0 to 3.1.1 in /docs (#34928)
add f0ff972f0e chore(deps-dev): bump eslint-plugin-import from 2.31.0 to 2.32.0 in /superset-frontend (#34931)
add 744fa1f54c fix(TimeTable): use type-only export for TableChartProps to resolve webpack warnings (#34989)
add b2f8803486 fix: playwright feature flag evaluation (#34978)
add 71242dc6dd docs(alerts & reports): update how to get headless browser (#34908)
add 5dba59b6a4 fix(ChartCreation): Translate chart description (#34918)
add 682cdcc3e0 fix(echarts): Display NULL values in categorical x-axis for bar charts (#34761)
add b5ae402c12 fix(charts): Handle virtual dataset names without schema prefix correctly (#34760)
add 0de5b28716 fix(databricks): string escaper v2 (#34991)
add 0a75bac2a1 fix(error-handling): jinja2 error handling improvements (#34803)
add 907a926adf fix package-lock
add 29dc0f7b25 fix: Ensure drill-through chart field works consistently across CRUD and Explore paths
add f1e63fa7b1 refactor: Add dashboard filter context to drill-through StatefulChart
add 39a078e27c refactor: Improve ChartSelect type safety and URL building utilities
add 30f7ef5792 refactor: Simplify SelectAsyncControl by leveraging SupersetClient searchParams
add a28c4f942a fix two tests
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 (4963c09625)
\
N -- N -- N refs/heads/custom-drillthrough (a28c4f942a)
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:
.devcontainer/Dockerfile | 2 +-
.github/CODEOWNERS | 10 +
.github/actions/change-detector/action.yml | 19 +-
.github/workflows/docker.yml | 4 +-
.github/workflows/ephemeral-env-pr-close.yml | 10 +-
.github/workflows/ephemeral-env.yml | 17 +-
.github/workflows/showtime-cleanup.yml | 50 +
.github/workflows/showtime-trigger.yml | 179 +
.../{superset-cli.yml => superset-app-cli.yml} | 2 +-
.github/workflows/superset-extensions-cli.yml | 64 +
.github/workflows/superset-frontend.yml | 2 +-
.github/workflows/tag-release.yml | 2 +-
.gitignore | 2 +-
.pre-commit-config.yaml | 80 +-
.rat-excludes | 2 +
CHANGELOG.md | 4 +
docs/README.md => CHANGELOG/4.1.4.md | 18 +-
Dockerfile | 65 +-
Makefile | 2 +-
RELEASING/Dockerfile.from_local_tarball | 2 +-
RELEASING/Dockerfile.from_svn_tarball | 2 +-
RELEASING/Dockerfile.make_docs | 2 +-
RELEASING/Dockerfile.make_tarball | 2 +-
RELEASING/README.md | 6 +
UPDATING.md | 2 +
docker-compose-light.yml | 27 +-
docker-compose-non-dev.yml | 2 +-
docker-compose.yml | 7 +-
docker/apt-install.sh | 4 +-
docker/docker-bootstrap.sh | 2 +-
docker/docker-init.sh | 2 +
docker/pip-install.sh | 6 +-
docker/pythonpath_dev/superset_config.py | 14 +-
docs/README.md | 180 +
docs/components/chart-components/bar-chart.md | 105 +
docs/components/index.md | 59 +
docs/components/layout-components/grid.md | 113 +
docs/components/test.mdx | 35 +
docs/components/ui-components/button.mdx | 146 +
docs/components/versions.json | 1 +
docs/components_versions.json | 1 +
docs/developer_portal/api/frontend.md | 477 ++
docs/developer_portal/architecture/overview.md | 348 ++
docs/developer_portal/cli/overview.md | 466 ++
docs/developer_portal/examples/index.md | 464 ++
docs/developer_portal/getting-started/index.md | 248 +
docs/developer_portal/index.md | 126 +
.../types.ts => docs/developer_portal/sidebars.js | 67 +-
docs/developer_portal/versions.json | 1 +
docs/developer_portal_versions.json | 1 +
docs/docs/configuration/alerts-reports.mdx | 80 +-
docs/docs/contributing/development.mdx | 20 +
docs/docs/installation/docker-builds.mdx | 2 -
docs/docusaurus.config.ts | 141 +-
docs/package.json | 44 +-
docs/scripts/manage-versions.mjs | 242 +
docs/sidebarComponents.js | 68 +
.../Chart/types.ts => docs/sidebarTutorials.js | 54 +-
.../types.d.ts => docs/src/components/Button.jsx | 6 +-
docs/src/components/StorybookWrapper.jsx | 121 +
docs/src/pages/index.tsx | 20 +-
docs/src/styles/custom.css | 54 +
docs/src/theme/DocVersionBadge/index.js | 119 +
.../src/theme/DocVersionBadge/styles.module.css | 30 +-
docs/src/theme/DocVersionBanner/index.js | 121 +
.../src/theme/DocVersionBanner/styles.module.css | 37 +-
docs/src/webpack.extend.ts | 115 +
docs/static/resources/openapi.json | 7 +-
docs/tutorials_versions.json | 3 +
.../{docs => versioned_docs/version-6.0.0}/api.mdx | 0
.../configuration/alerts-reports.mdx | 0
.../configuration/async-queries-celery.mdx | 0
.../version-6.0.0}/configuration/cache.mdx | 0
.../configuration/configuring-superset.mdx | 0
.../configuration/country-map-tools.mdx | 40 +
.../version-6.0.0}/configuration/databases.mdx | 0
.../version-6.0.0}/configuration/event-logging.mdx | 0
.../importing-exporting-datasources.mdx | 0
.../version-6.0.0}/configuration/map-tiles.mdx | 0
.../configuration/networking-settings.mdx | 0
.../configuration/sql-templating.mdx | 0
.../version-6.0.0}/configuration/theming.mdx | 0
.../version-6.0.0}/configuration/timezones.mdx | 0
.../version-6.0.0}/contributing/contributing.mdx | 0
.../version-6.0.0}/contributing/development.mdx | 0
.../version-6.0.0}/contributing/guidelines.mdx | 0
.../version-6.0.0}/contributing/howtos.mdx | 0
.../version-6.0.0}/contributing/misc.mdx | 0
.../version-6.0.0/contributing/resources.mdx | 104 +
.../{docs => versioned_docs/version-6.0.0}/faq.mdx | 0
.../version-6.0.0}/installation/architecture.mdx | 0
.../version-6.0.0}/installation/docker-builds.mdx | 0
.../version-6.0.0}/installation/docker-compose.mdx | 0
.../installation/installation-methods.mdx | 0
.../version-6.0.0}/installation/kubernetes.mdx | 0
.../version-6.0.0}/installation/pypi.mdx | 0
.../installation/upgrading-superset.mdx | 0
docs/versioned_docs/version-6.0.0/intro.md | 227 +
.../version-6.0.0}/quickstart.mdx | 0
.../version-6.0.0}/security/cves.mdx | 0
.../version-6.0.0}/security/security.mdx | 0
.../creating-your-first-dashboard.mdx | 0
.../using-superset/exploring-data.mdx | 0
.../version-6.0.0}/using-superset/issue-codes.mdx | 0
.../versioned_sidebars/version-6.0.0-sidebars.json | 74 +
docs/versions-config.json | 53 +
docs/versions.json | 3 +
docs/yarn.lock | 4745 ++++++++++++--------
pyproject.toml | 22 +-
requirements/base.txt | 16 +-
requirements/development.in | 3 +-
requirements/development.txt | 336 +-
scripts/change_detector.py | 5 +
scripts/uv-pip-compile.sh | 10 +-
superset-core/.gitignore | 1 +
docs/README.md => superset-core/CHANGELOG.md | 7 +-
LICENSE.txt => superset-core/LICENSE.txt | 0
superset-core/README.md | 113 +
superset-core/pyproject.toml | 63 +
.../src/superset_core}/__init__.py | 0
.../src/superset_core/api/__init__.py | 11 +-
.../src/superset_core/api/types}/__init__.py | 0
.../src/superset_core/api/types/models.py | 90 +
.../src/superset_core/api/types/query.py | 30 +-
.../src/superset_core/api/types/rest_api.py | 64 +
.../src/superset_core/extensions}/__init__.py | 0
.../src/superset_core/extensions/types.py | 63 +
.../CHANGELOG.md | 7 +-
LICENSE.txt => superset-extensions-cli/LICENSE.txt | 0
superset-extensions-cli/README.md | 110 +
superset-extensions-cli/pyproject.toml | 119 +
.../src/superset_extensions_cli}/__init__.py | 0
.../src/superset_extensions_cli/cli.py | 471 ++
.../src/superset_extensions_cli/constants.py | 6 +-
.../templates/backend/pyproject.toml.j2 | 4 +
.../templates/extension.json.j2 | 25 +
.../templates/frontend/package.json.j2 | 34 +
.../src/superset_extensions_cli/utils.py | 31 +-
superset-extensions-cli/tests/README.md | 206 +
.../tests}/__init__.py | 0
superset-extensions-cli/tests/conftest.py | 136 +
superset-extensions-cli/tests/test_cli_build.py | 552 +++
superset-extensions-cli/tests/test_cli_bundle.py | 255 ++
superset-extensions-cli/tests/test_cli_dev.py | 238 +
superset-extensions-cli/tests/test_cli_init.py | 362 ++
superset-extensions-cli/tests/test_cli_validate.py | 195 +
superset-extensions-cli/tests/test_templates.py | 331 ++
superset-extensions-cli/tests/test_utils.py | 271 ++
superset-extensions-cli/tests/utils.py | 211 +
superset-frontend/babel.config.js | 2 +
.../cypress/e2e/dashboard/drilltodetail.test.ts | 4 +-
superset-frontend/jest.config.js | 2 +
superset-frontend/package-lock.json | 3367 ++++++++++++--
superset-frontend/package.json | 8 +-
.../packages/superset-core/.babelrc.json | 7 +
.../packages/superset-core/CHANGELOG.md | 7 +-
superset-frontend/packages/superset-core/README.md | 116 +
.../packages/superset-core/package.json | 35 +
.../superset-core/src/api/authentication.ts} | 51 +-
.../packages/superset-core/src/api/commands.ts | 70 +
.../superset-core/src/api/contributions.ts | 90 +
.../packages/superset-core/src/api/core.ts | 245 +
.../packages/superset-core/src/api/environment.ts | 153 +
.../packages/superset-core/src/api/extensions.ts | 69 +
.../packages/superset-core/src/api/index.ts | 42 +
.../packages/superset-core/src/api/sqlLab.ts | 420 ++
.../superset-core/src/index.ts} | 2 +-
.../packages/superset-core/tsconfig.json | 17 +
.../superset-ui-chart-controls/src/index.ts | 4 +-
.../ConfirmStatusChange.test.jsx | 66 -
.../ConfirmStatusChange.test.tsx | 177 +
.../src/components/ConfirmStatusChange/index.tsx | 5 +-
.../src/components/EditableTitle/index.tsx | 6 +-
.../src/components/IconButton/index.tsx | 31 +-
.../src/components/IconTooltip/index.tsx | 6 +-
.../src/components/IconTooltip/types.ts | 2 +
.../src/components/Icons/AntdEnhanced.tsx | 2 +
.../src/components/Icons/AsyncIcon.tsx | 8 +-
.../components/Label/reusable/PublishedLabel.tsx | 9 +-
.../src/components/Popconfirm/index.tsx} | 9 +-
.../src/components/Table/index.tsx | 4 +
.../src/components/TableCollection/index.tsx | 8 +-
.../src/components/TableCollection/utils.tsx | 4 +-
.../superset-ui-core/src/components/index.ts | 1 +
.../src/connection/SupersetClient.ts | 1 +
.../src/connection/SupersetClientClass.ts | 8 +-
.../superset-ui-core/src/connection/types.ts | 1 +
.../superset-ui-core/src/utils/featureFlags.ts | 1 +
.../Icons/AsyncIcon.integration.test.tsx | 122 +
.../test/connection/SupersetClient.test.ts | 2 +-
.../legacy-preset-chart-nvd3/src/ReactNVD3.jsx | 6 +
.../src/MixedTimeseries/transformProps.ts | 12 +-
.../plugin-chart-echarts/src/Pie/controlPanel.tsx | 3 +-
.../plugin-chart-echarts/src/Pie/transformProps.ts | 8 +-
.../plugins/plugin-chart-echarts/src/Pie/types.ts | 1 +
.../src/Timeseries/transformProps.ts | 7 +-
.../src/Timeseries/transformers.ts | 4 +
.../plugins/plugin-chart-echarts/src/controls.tsx | 18 +
.../plugin-chart-echarts/src/utils/series.ts | 7 +-
.../test/Pie/transformProps.test.ts | 100 +
.../plugin-chart-echarts/test/utils/series.test.ts | 37 +
.../spec/helpers/jsDomWithFetchAPI.ts | 7 +
superset-frontend/spec/helpers/shim.tsx | 27 +-
superset-frontend/spec/helpers/testing-library.tsx | 5 +-
.../src/SqlLab/components/ResultSet/index.tsx | 2 +
.../src/SqlLab/components/SouthPane/index.tsx | 12 +
.../src/SqlLab/components/SqlEditor/index.tsx | 45 +
superset-frontend/src/SqlLab/reducers/sqlLab.js | 1 +
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 1 +
.../Chart/ChartContextMenu/useContextMenu.test.tsx | 58 +
superset-frontend/src/components/Chart/types.ts | 10 +-
.../src/components/CopyToClipboard/index.tsx | 11 +-
.../TableSelector/TableSelector.test.tsx | 33 +-
.../src/components/TableSelector/index.tsx | 6 +-
.../types.d.ts => core/authentication.ts} | 10 +-
superset-frontend/src/core/commands.ts | 64 +
superset-frontend/src/core/core.ts | 195 +
superset-frontend/src/core/environment.ts | 57 +
.../FormattedNumber.tsx => core/extensions.ts} | 24 +-
.../TimeTable/types.d.ts => core/index.ts} | 7 +-
superset-frontend/src/core/sqlLab.ts | 203 +
.../{components/Chart/types.ts => core/utils.ts} | 51 +-
.../components/FiltersBadge/DetailsPanel/index.tsx | 23 +-
.../dashboard/components/FiltersBadge/Styles.tsx | 3 +-
.../Header/useHeaderActionsDropdownMenu.tsx | 4 +-
.../SliceHeaderControls.test.tsx | 53 +
.../components/SliceHeaderControls/index.tsx | 1 +
.../dashboard/components/gridComponents/Header.jsx | 12 +
.../dashboard/components/gridComponents/Row.jsx | 6 +
.../components/gridComponents/Row.test.jsx | 90 +
.../dashboard/components/gridComponents/Tab.jsx | 19 +-
.../FilterBar/FilterBarSettings/index.tsx | 16 +-
.../src/explore/components/ControlHeader.tsx | 11 +-
.../components/ControlPanelsContainer.test.tsx | 126 +-
.../explore/components/ControlPanelsContainer.tsx | 4 +-
.../CollectionControl/CollectionControl.test.tsx | 9 +-
.../controls/CollectionControl/index.jsx | 42 +-
.../components/controls/OptionControls/index.tsx | 1 +
.../explore/components/controls/SelectControl.jsx | 45 +-
.../components/controls/SelectControl.test.jsx | 208 +
.../TimeSeriesColumnControl.test.tsx | 36 +-
.../controls/TimeSeriesColumnControl/index.jsx | 21 +-
.../explore/components/controls/ViewQuery.test.tsx | 74 +
.../src/explore/components/controls/ViewQuery.tsx | 61 +-
.../components/controls/ViewQueryModalFooter.tsx | 7 +-
.../components/controls/VizTypeControl/VizTile.tsx | 2 +-
.../VizTypeControl/VizTypeControl.test.tsx | 2 +-
.../controls/VizTypeControl/VizTypeGallery.tsx | 7 +-
.../controls/VizTypeControl/constants.tsx | 14 +-
.../src/extensions/ExtensionPlaceholder.test.tsx | 43 +
.../extensions/ExtensionPlaceholder.tsx} | 34 +-
.../src/extensions/ExtensionsContext.test.tsx | 150 +
.../src/extensions/ExtensionsContext.tsx | 93 +
.../src/extensions/ExtensionsContextUtils.test.ts | 74 +
.../extensions/ExtensionsContextUtils.ts} | 34 +-
.../src/extensions/ExtensionsList.test.tsx | 99 +
.../src/extensions/ExtensionsList.tsx | 123 +
.../src/extensions/ExtensionsManager.test.ts | 568 +++
.../src/extensions/ExtensionsManager.ts | 329 ++
.../src/extensions/ExtensionsStartup.test.tsx | 205 +
.../src/extensions/ExtensionsStartup.tsx | 91 +
.../alerts/components/RecipientIcon.test.tsx | 19 +
.../DatabaseConnectionForm/EncryptedField.test.tsx | 5 +
.../datasets/AddDataset/Footer/Footer.test.tsx | 4 +
.../datasets/metadataBar/useDatasetMetadataBar.tsx | 8 +-
superset-frontend/src/features/home/RightMenu.tsx | 11 +-
.../src/features/queries/QueryPreviewModal.tsx | 8 +-
.../features/queries/SavedQueryPreviewModal.tsx | 5 +-
.../src/features/queries/SyntaxHighlighterCopy.tsx | 1 -
.../src/hooks/apiResources/datasets.ts | 12 +-
.../src/hooks/apiResources/queries.test.ts | 28 +-
.../pages/ChartList/ChartList.listview.test.tsx | 78 +
superset-frontend/src/pages/ChartList/index.tsx | 29 +-
.../src/pages/DashboardList/index.tsx | 5 +-
superset-frontend/src/pages/DatasetList/index.tsx | 1 -
.../src/pages/QueryHistoryList/index.tsx | 11 +-
superset-frontend/src/views/App.tsx | 2 +
.../src/views/RootContextProviders.tsx | 17 +-
superset-frontend/src/views/routes.tsx | 11 +
superset-frontend/src/views/store.ts | 7 +-
.../src/visualizations/TimeTable/SparklineCell.tsx | 243 -
.../src/visualizations/TimeTable/TimeTable.jsx | 344 --
.../visualizations/TimeTable/TimeTable.test.tsx | 172 +
.../src/visualizations/TimeTable/TimeTable.tsx | 144 +
.../FormattedNumber/FormattedNumber.test.tsx | 96 +
.../FormattedNumber}/FormattedNumber.tsx | 21 +-
.../FormattedNumber/index.ts} | 2 +-
.../components/LeftCell/LeftCell.test.tsx | 142 +
.../TimeTable/components/LeftCell/LeftCell.tsx | 67 +
.../{types.d.ts => components/LeftCell/index.ts} | 3 +-
.../LeftCell/mustache.d.ts} | 9 +-
.../components/Sparkline/Sparkline.test.tsx | 118 +
.../TimeTable/components/Sparkline/Sparkline.tsx | 62 +
.../{types.d.ts => components/Sparkline/index.ts} | 3 +-
.../SparklineCell/SparklineCell.test.tsx | 145 +
.../components/SparklineCell/SparklineCell.tsx | 240 +
.../SparklineCell/index.ts} | 2 +-
.../components/ValueCell/ValueCell.test.tsx | 219 +
.../TimeTable/components/ValueCell/ValueCell.tsx | 66 +
.../{types.d.ts => components/ValueCell/index.ts} | 3 +-
.../TimeTable/{types.d.ts => components/index.ts} | 6 +-
.../config/controlPanel/controlPanel.test.ts | 93 +
.../controlPanel/controlPanel.ts} | 8 +-
.../{types.d.ts => config/controlPanel/index.ts} | 3 +-
.../TimeTable/{types.d.ts => config/index.ts} | 5 +-
.../{types.d.ts => config/transformProps/index.ts} | 4 +-
.../config/transformProps/transformProps.test.ts | 284 ++
.../{ => config/transformProps}/transformProps.ts | 17 +-
.../TimeTable/{types.d.ts => constants.ts} | 3 +-
.../src/visualizations/TimeTable/index.ts | 3 +-
.../src/visualizations/TimeTable/types.ts | 83 +
.../TimeTable/utils/colorUtils/colorUtils.test.ts | 93 +
.../TimeTable/utils/colorUtils/colorUtils.ts | 59 +
.../{types.d.ts => utils/colorUtils/index.ts} | 3 +-
.../TimeTable/{types.d.ts => utils/index.ts} | 9 +-
.../{types.d.ts => utils/numberUtils/index.ts} | 3 +-
.../utils/numberUtils/numberUtils.test.ts} | 39 +-
.../TimeTable/utils/numberUtils/numberUtils.ts} | 31 +-
.../{types.d.ts => utils/rowProcessing/index.ts} | 3 +-
.../utils/rowProcessing/rowProcessing.test.ts | 109 +
.../rowProcessing/rowProcessing.ts} | 27 +-
.../{types.d.ts => utils/sortUtils/index.ts} | 3 +-
.../TimeTable/utils/sortUtils/sortUtils.test.ts | 117 +
.../TimeTable/utils/sortUtils/sortUtils.ts | 64 +
.../sparklineDataUtils/index.ts} | 10 +-
.../sparklineDataUtils/sparklineDataUtils.test.ts | 123 +
.../utils/sparklineDataUtils/sparklineDataUtils.ts | 96 +
.../sparklineHelpers/index.ts} | 9 +-
.../sparklineHelpers/sparklineHelpers.test.ts | 190 +
.../utils/sparklineHelpers/sparklineHelpers.ts | 102 +
.../valueCalculations/index.ts} | 9 +-
.../valueCalculations/valueCalculations.test.ts | 274 ++
.../utils/valueCalculations/valueCalculations.ts | 139 +
superset-frontend/tsconfig.json | 7 +-
superset-frontend/webpack.config.js | 28 +-
superset/__init__.py | 4 +-
superset/app.py | 8 +-
superset/charts/api.py | 13 +-
superset/charts/schemas.py | 10 +-
superset/commands/dashboard/export.py | 9 +
.../commands/dashboard/importers/v1/__init__.py | 28 +-
superset/commands/dashboard/importers/v1/utils.py | 2 +
superset/commands/database/tables.py | 31 +-
superset/commands/dataset/export.py | 2 +-
superset/commands/importers/v1/__init__.py | 14 +-
superset/commands/importers/v1/utils.py | 7 +
superset/commands/sql_lab/execute.py | 14 +-
superset/commands/theme/import_themes.py | 11 +-
superset/common/query_actions.py | 2 +-
superset/common/query_context_factory.py | 2 +-
superset/common/query_object_factory.py | 2 +-
superset/config.py | 23 +-
superset/connectors/sqla/models.py | 44 +-
superset/connectors/sqla/utils.py | 17 +-
superset/{advanced_data_type => core}/__init__.py | 0
.../{advanced_data_type => core/api}/__init__.py | 0
.../api/types}/__init__.py | 0
superset/core/api/types/models.py | 72 +
.../core/api/types/query.py | 16 +-
.../validators.py => core/api/types/rest_api.py} | 24 +-
superset/daos/base.py | 55 +
superset/daos/datasource.py | 31 +-
superset/daos/exceptions.py | 5 +
superset/dashboards/api.py | 12 +-
superset/dashboards/schemas.py | 2 +
superset/datasets/api.py | 52 +-
superset/db_engine_specs/base.py | 24 +
superset/db_engine_specs/bigquery.py | 94 +
superset/db_engine_specs/databricks.py | 31 +-
superset/db_engine_specs/duckdb.py | 35 +-
superset/db_engine_specs/postgres.py | 9 +-
superset/exceptions.py | 6 +-
superset/extensions/api.py | 215 +
superset/extensions/discovery.py | 69 +
superset/extensions/exceptions.py | 48 +
superset/extensions/local_extensions_watcher.py | 112 +
.../development.in => superset/extensions/types.py | 23 +-
superset/extensions/utils.py | 219 +
.../{sqllab/validators.py => extensions/view.py} | 25 +-
superset/initialization/__init__.py | 62 +
superset/jinja_context.py | 77 +-
superset/models/core.py | 65 +-
superset/models/dashboard.py | 3 +-
superset/models/helpers.py | 13 +-
superset/models/sql_lab.py | 10 +-
superset/result_set.py | 30 +-
superset/security/manager.py | 13 +-
superset/sql/parse.py | 27 +-
superset/sqllab/validators.py | 8 +-
superset/superset_typing.py | 2 +-
superset/themes/schemas.py | 39 +-
superset/utils/core.py | 2 +-
superset/utils/jinja_template_validator.py | 133 +
superset/utils/screenshots.py | 9 +-
superset/utils/webdriver.py | 15 +-
superset/views/datasource/utils.py | 2 +-
tests/integration_tests/celery_tests.py | 3 +-
tests/integration_tests/charts/api_tests.py | 57 +-
tests/integration_tests/charts/commands_tests.py | 6 +-
tests/integration_tests/dashboards/api_tests.py | 60 +-
.../integration_tests/dashboards/commands_tests.py | 21 +-
.../dashboards/test_theme_integration.py | 142 +-
tests/integration_tests/databases/api_tests.py | 190 +-
.../databases/commands/upload_test.py | 11 +-
.../integration_tests/databases/commands_tests.py | 22 +-
tests/integration_tests/datasets/api_tests.py | 123 +-
tests/integration_tests/datasets/commands_tests.py | 16 +-
.../datasource/test_validate_expression_api.py | 37 +-
tests/integration_tests/datasource_tests.py | 9 +-
.../db_engine_specs/base_engine_spec_tests.py | 4 +
.../queries/saved_queries/commands_tests.py | 4 +-
tests/integration_tests/query_context_tests.py | 2 +-
tests/integration_tests/result_set_tests.py | 2 +-
tests/unit_tests/commands/databases/tables_test.py | 16 +
tests/unit_tests/datasets/commands/export_test.py | 6 +-
tests/unit_tests/datasource/dao_tests.py | 10 +-
tests/unit_tests/db_engine_specs/test_bigquery.py | 90 +-
tests/unit_tests/jinja_context_test.py | 131 +
tests/unit_tests/models/sql_lab_test.py | 4 +-
tests/unit_tests/result_set_test.py | 21 +
tests/unit_tests/sql/parse_tests.py | 71 +-
tests/unit_tests/utils/screenshot_test.py | 47 +
.../utils/test_jinja_template_validator.py | 91 +
.../utils/test_screenshot_exception_handling.py | 126 +
424 files changed, 26709 insertions(+), 4300 deletions(-)
create mode 100644 .github/workflows/showtime-cleanup.yml
create mode 100644 .github/workflows/showtime-trigger.yml
rename .github/workflows/{superset-cli.yml => superset-app-cli.yml} (98%)
create mode 100644 .github/workflows/superset-extensions-cli.yml
copy docs/README.md => CHANGELOG/4.1.4.md (59%)
create mode 100644 docs/components/chart-components/bar-chart.md
create mode 100644 docs/components/index.md
create mode 100644 docs/components/layout-components/grid.md
create mode 100644 docs/components/test.mdx
create mode 100644 docs/components/ui-components/button.mdx
create mode 100644 docs/components/versions.json
create mode 100644 docs/components_versions.json
create mode 100644 docs/developer_portal/api/frontend.md
create mode 100644 docs/developer_portal/architecture/overview.md
create mode 100644 docs/developer_portal/cli/overview.md
create mode 100644 docs/developer_portal/examples/index.md
create mode 100644 docs/developer_portal/getting-started/index.md
create mode 100644 docs/developer_portal/index.md
copy superset-frontend/src/components/Chart/types.ts => docs/developer_portal/sidebars.js (55%)
create mode 100644 docs/developer_portal/versions.json
create mode 100644 docs/developer_portal_versions.json
create mode 100644 docs/scripts/manage-versions.mjs
create mode 100644 docs/sidebarComponents.js
copy superset-frontend/src/components/Chart/types.ts => docs/sidebarTutorials.js (56%)
copy superset-frontend/src/visualizations/TimeTable/types.d.ts => docs/src/components/Button.jsx (81%)
create mode 100644 docs/src/components/StorybookWrapper.jsx
create mode 100644 docs/src/theme/DocVersionBadge/index.js
copy superset-frontend/src/visualizations/TimeTable/FormattedNumber.tsx => docs/src/theme/DocVersionBadge/styles.module.css (62%)
create mode 100644 docs/src/theme/DocVersionBanner/index.js
copy superset-frontend/src/visualizations/TimeTable/FormattedNumber.tsx => docs/src/theme/DocVersionBanner/styles.module.css (58%)
create mode 100644 docs/src/webpack.extend.ts
create mode 100644 docs/tutorials_versions.json
copy docs/{docs => versioned_docs/version-6.0.0}/api.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/configuration/alerts-reports.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/configuration/async-queries-celery.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/configuration/cache.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/configuration/configuring-superset.mdx (100%)
create mode 100644 docs/versioned_docs/version-6.0.0/configuration/country-map-tools.mdx
copy docs/{docs => versioned_docs/version-6.0.0}/configuration/databases.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/configuration/event-logging.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/configuration/importing-exporting-datasources.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/configuration/map-tiles.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/configuration/networking-settings.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/configuration/sql-templating.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/configuration/theming.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/configuration/timezones.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/contributing/contributing.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/contributing/development.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/contributing/guidelines.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/contributing/howtos.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/contributing/misc.mdx (100%)
create mode 100644 docs/versioned_docs/version-6.0.0/contributing/resources.mdx
copy docs/{docs => versioned_docs/version-6.0.0}/faq.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/installation/architecture.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/installation/docker-builds.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/installation/docker-compose.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/installation/installation-methods.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/installation/kubernetes.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/installation/pypi.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/installation/upgrading-superset.mdx (100%)
create mode 100644 docs/versioned_docs/version-6.0.0/intro.md
copy docs/{docs => versioned_docs/version-6.0.0}/quickstart.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/security/cves.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/security/security.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/using-superset/creating-your-first-dashboard.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/using-superset/exploring-data.mdx (100%)
copy docs/{docs => versioned_docs/version-6.0.0}/using-superset/issue-codes.mdx (100%)
create mode 100644 docs/versioned_sidebars/version-6.0.0-sidebars.json
create mode 100644 docs/versions-config.json
create mode 100644 docs/versions.json
create mode 100644 superset-core/.gitignore
copy docs/README.md => superset-core/CHANGELOG.md (78%)
copy LICENSE.txt => superset-core/LICENSE.txt (100%)
create mode 100644 superset-core/README.md
create mode 100644 superset-core/pyproject.toml
copy {superset/advanced_data_type => superset-core/src/superset_core}/__init__.py (100%)
copy requirements/development.in => superset-core/src/superset_core/api/__init__.py (81%)
copy {superset/advanced_data_type => superset-core/src/superset_core/api/types}/__init__.py (100%)
create mode 100644 superset-core/src/superset_core/api/types/models.py
copy superset/sqllab/validators.py => superset-core/src/superset_core/api/types/query.py (55%)
create mode 100644 superset-core/src/superset_core/api/types/rest_api.py
copy {superset/advanced_data_type => superset-core/src/superset_core/extensions}/__init__.py (100%)
create mode 100644 superset-core/src/superset_core/extensions/types.py
copy docs/README.md => superset-extensions-cli/CHANGELOG.md (78%)
copy LICENSE.txt => superset-extensions-cli/LICENSE.txt (100%)
create mode 100644 superset-extensions-cli/README.md
create mode 100644 superset-extensions-cli/pyproject.toml
copy {superset/advanced_data_type => superset-extensions-cli/src/superset_extensions_cli}/__init__.py (100%)
create mode 100644 superset-extensions-cli/src/superset_extensions_cli/cli.py
copy requirements/development.in => superset-extensions-cli/src/superset_extensions_cli/constants.py (88%)
create mode 100644 superset-extensions-cli/src/superset_extensions_cli/templates/backend/pyproject.toml.j2
create mode 100644 superset-extensions-cli/src/superset_extensions_cli/templates/extension.json.j2
create mode 100644 superset-extensions-cli/src/superset_extensions_cli/templates/frontend/package.json.j2
copy superset/sqllab/validators.py => superset-extensions-cli/src/superset_extensions_cli/utils.py (61%)
create mode 100644 superset-extensions-cli/tests/README.md
copy {superset/advanced_data_type => superset-extensions-cli/tests}/__init__.py (100%)
create mode 100644 superset-extensions-cli/tests/conftest.py
create mode 100644 superset-extensions-cli/tests/test_cli_build.py
create mode 100644 superset-extensions-cli/tests/test_cli_bundle.py
create mode 100644 superset-extensions-cli/tests/test_cli_dev.py
create mode 100644 superset-extensions-cli/tests/test_cli_init.py
create mode 100644 superset-extensions-cli/tests/test_cli_validate.py
create mode 100644 superset-extensions-cli/tests/test_templates.py
create mode 100644 superset-extensions-cli/tests/test_utils.py
create mode 100644 superset-extensions-cli/tests/utils.py
create mode 100644 superset-frontend/packages/superset-core/.babelrc.json
copy docs/README.md => superset-frontend/packages/superset-core/CHANGELOG.md (78%)
create mode 100644 superset-frontend/packages/superset-core/README.md
create mode 100644 superset-frontend/packages/superset-core/package.json
copy superset-frontend/{src/components/Chart/types.ts => packages/superset-core/src/api/authentication.ts} (50%)
create mode 100644 superset-frontend/packages/superset-core/src/api/commands.ts
create mode 100644 superset-frontend/packages/superset-core/src/api/contributions.ts
create mode 100644 superset-frontend/packages/superset-core/src/api/core.ts
create mode 100644 superset-frontend/packages/superset-core/src/api/environment.ts
create mode 100644 superset-frontend/packages/superset-core/src/api/extensions.ts
create mode 100644 superset-frontend/packages/superset-core/src/api/index.ts
create mode 100644 superset-frontend/packages/superset-core/src/api/sqlLab.ts
copy superset-frontend/{src/visualizations/TimeTable/types.d.ts => packages/superset-core/src/index.ts} (95%)
create mode 100644 superset-frontend/packages/superset-core/tsconfig.json
delete mode 100644 superset-frontend/packages/superset-ui-core/src/components/ConfirmStatusChange/ConfirmStatusChange.test.jsx
create mode 100644 superset-frontend/packages/superset-ui-core/src/components/ConfirmStatusChange/ConfirmStatusChange.test.tsx
copy superset-frontend/{src/visualizations/TimeTable/types.d.ts => packages/superset-ui-core/src/components/Popconfirm/index.tsx} (73%)
create mode 100644 superset-frontend/packages/superset-ui-core/test/components/Icons/AsyncIcon.integration.test.tsx
copy superset-frontend/src/{visualizations/TimeTable/types.d.ts => core/authentication.ts} (71%)
create mode 100644 superset-frontend/src/core/commands.ts
create mode 100644 superset-frontend/src/core/core.ts
create mode 100644 superset-frontend/src/core/environment.ts
copy superset-frontend/src/{visualizations/TimeTable/FormattedNumber.tsx => core/extensions.ts} (63%)
copy superset-frontend/src/{visualizations/TimeTable/types.d.ts => core/index.ts} (82%)
create mode 100644 superset-frontend/src/core/sqlLab.ts
copy superset-frontend/src/{components/Chart/types.ts => core/utils.ts} (54%)
create mode 100644 superset-frontend/src/extensions/ExtensionPlaceholder.test.tsx
copy superset-frontend/{packages/superset-ui-core/src/components/IconTooltip/types.ts => src/extensions/ExtensionPlaceholder.tsx} (65%)
create mode 100644 superset-frontend/src/extensions/ExtensionsContext.test.tsx
create mode 100644 superset-frontend/src/extensions/ExtensionsContext.tsx
create mode 100644 superset-frontend/src/extensions/ExtensionsContextUtils.test.ts
copy superset-frontend/{packages/superset-ui-core/src/components/IconTooltip/types.ts => src/extensions/ExtensionsContextUtils.ts} (65%)
create mode 100644 superset-frontend/src/extensions/ExtensionsList.test.tsx
create mode 100644 superset-frontend/src/extensions/ExtensionsList.tsx
create mode 100644 superset-frontend/src/extensions/ExtensionsManager.test.ts
create mode 100644 superset-frontend/src/extensions/ExtensionsManager.ts
create mode 100644 superset-frontend/src/extensions/ExtensionsStartup.test.tsx
create mode 100644 superset-frontend/src/extensions/ExtensionsStartup.tsx
delete mode 100644 superset-frontend/src/visualizations/TimeTable/SparklineCell.tsx
delete mode 100644 superset-frontend/src/visualizations/TimeTable/TimeTable.jsx
create mode 100644 superset-frontend/src/visualizations/TimeTable/TimeTable.test.tsx
create mode 100644 superset-frontend/src/visualizations/TimeTable/TimeTable.tsx
create mode 100644 superset-frontend/src/visualizations/TimeTable/components/FormattedNumber/FormattedNumber.test.tsx
copy superset-frontend/src/visualizations/TimeTable/{ => components/FormattedNumber}/FormattedNumber.tsx (71%)
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => components/FormattedNumber/index.ts} (94%)
create mode 100644 superset-frontend/src/visualizations/TimeTable/components/LeftCell/LeftCell.test.tsx
create mode 100644 superset-frontend/src/visualizations/TimeTable/components/LeftCell/LeftCell.tsx
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => components/LeftCell/index.ts} (95%)
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => components/LeftCell/mustache.d.ts} (80%)
create mode 100644 superset-frontend/src/visualizations/TimeTable/components/Sparkline/Sparkline.test.tsx
create mode 100644 superset-frontend/src/visualizations/TimeTable/components/Sparkline/Sparkline.tsx
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => components/Sparkline/index.ts} (95%)
create mode 100644 superset-frontend/src/visualizations/TimeTable/components/SparklineCell/SparklineCell.test.tsx
create mode 100644 superset-frontend/src/visualizations/TimeTable/components/SparklineCell/SparklineCell.tsx
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => components/SparklineCell/index.ts} (94%)
create mode 100644 superset-frontend/src/visualizations/TimeTable/components/ValueCell/ValueCell.test.tsx
create mode 100644 superset-frontend/src/visualizations/TimeTable/components/ValueCell/ValueCell.tsx
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => components/ValueCell/index.ts} (95%)
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => components/index.ts} (74%)
create mode 100644 superset-frontend/src/visualizations/TimeTable/config/controlPanel/controlPanel.test.ts
rename superset-frontend/src/visualizations/TimeTable/{controlPanel.js => config/controlPanel/controlPanel.ts} (93%)
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => config/controlPanel/index.ts} (94%)
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => config/index.ts} (83%)
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => config/transformProps/index.ts} (88%)
create mode 100644 superset-frontend/src/visualizations/TimeTable/config/transformProps/transformProps.test.ts
rename superset-frontend/src/visualizations/TimeTable/{ => config/transformProps}/transformProps.ts (84%)
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => constants.ts} (92%)
create mode 100644 superset-frontend/src/visualizations/TimeTable/types.ts
create mode 100644 superset-frontend/src/visualizations/TimeTable/utils/colorUtils/colorUtils.test.ts
create mode 100644 superset-frontend/src/visualizations/TimeTable/utils/colorUtils/colorUtils.ts
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => utils/colorUtils/index.ts} (94%)
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => utils/index.ts} (77%)
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => utils/numberUtils/index.ts} (94%)
copy superset-frontend/{packages/superset-ui-chart-controls/src/index.ts => src/visualizations/TimeTable/utils/numberUtils/numberUtils.test.ts} (50%)
copy superset-frontend/{packages/superset-ui-core/src/components/IconTooltip/types.ts => src/visualizations/TimeTable/utils/numberUtils/numberUtils.ts} (65%)
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => utils/rowProcessing/index.ts} (93%)
create mode 100644 superset-frontend/src/visualizations/TimeTable/utils/rowProcessing/rowProcessing.test.ts
rename superset-frontend/src/visualizations/TimeTable/{FormattedNumber.tsx => utils/rowProcessing/rowProcessing.ts} (63%)
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => utils/sortUtils/index.ts} (93%)
create mode 100644 superset-frontend/src/visualizations/TimeTable/utils/sortUtils/sortUtils.test.ts
create mode 100644 superset-frontend/src/visualizations/TimeTable/utils/sortUtils/sortUtils.ts
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => utils/sparklineDataUtils/index.ts} (81%)
create mode 100644 superset-frontend/src/visualizations/TimeTable/utils/sparklineDataUtils/sparklineDataUtils.test.ts
create mode 100644 superset-frontend/src/visualizations/TimeTable/utils/sparklineDataUtils/sparklineDataUtils.ts
copy superset-frontend/src/visualizations/TimeTable/{types.d.ts => utils/sparklineHelpers/index.ts} (84%)
create mode 100644 superset-frontend/src/visualizations/TimeTable/utils/sparklineHelpers/sparklineHelpers.test.ts
create mode 100644 superset-frontend/src/visualizations/TimeTable/utils/sparklineHelpers/sparklineHelpers.ts
rename superset-frontend/src/visualizations/TimeTable/{types.d.ts => utils/valueCalculations/index.ts} (83%)
create mode 100644 superset-frontend/src/visualizations/TimeTable/utils/valueCalculations/valueCalculations.test.ts
create mode 100644 superset-frontend/src/visualizations/TimeTable/utils/valueCalculations/valueCalculations.ts
copy superset/{advanced_data_type => core}/__init__.py (100%)
copy superset/{advanced_data_type => core/api}/__init__.py (100%)
copy superset/{advanced_data_type => core/api/types}/__init__.py (100%)
create mode 100644 superset/core/api/types/models.py
copy requirements/development.in => superset/core/api/types/query.py (67%)
copy superset/{sqllab/validators.py => core/api/types/rest_api.py} (59%)
create mode 100644 superset/extensions/api.py
create mode 100644 superset/extensions/discovery.py
create mode 100644 superset/extensions/exceptions.py
create mode 100644 superset/extensions/local_extensions_watcher.py
copy requirements/development.in => superset/extensions/types.py (71%)
create mode 100644 superset/extensions/utils.py
copy superset/{sqllab/validators.py => extensions/view.py} (56%)
create mode 100644 superset/utils/jinja_template_validator.py
create mode 100644 tests/unit_tests/utils/test_jinja_template_validator.py
create mode 100644 tests/unit_tests/utils/test_screenshot_exception_handling.py