You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by vi...@apache.org on 2022/04/12 11:48:19 UTC
[superset] 01/03: Merge branch 'master' into jb/feat-plugin-handlebars
This is an automated email from the ASF dual-hosted git repository.
villebro pushed a commit to branch jb/feat-plugin-handlebars
in repository https://gitbox.apache.org/repos/asf/superset.git
commit 51e132658256ba2da204ef0eb85d03cdaf8b6467
Merge: 6fc45cb670 0de03c4b34
Author: Ville Brofeldt <vi...@gmail.com>
AuthorDate: Tue Apr 5 10:09:23 2022 +0300
Merge branch 'master' into jb/feat-plugin-handlebars
.github/CODEOWNERS | 3 +
.github/workflows/bashlib.sh | 14 +-
.github/workflows/embedded-sdk-release.yml | 23 +
.github/workflows/embedded-sdk-test.yml | 24 +
.github/workflows/superset-docs.yml | 19 +-
.github/workflows/superset-e2e.yml | 1 -
.github/workflows/superset-python-presto-hive.yml | 4 +-
.github/workflows/superset-python-unittest.yml | 2 +-
.gitignore | 5 +
.pre-commit-config.yaml | 4 +-
.rat-excludes | 3 +-
CHANGELOG.md | 8844 +-
CODE_OF_CONDUCT.md | 2 +-
CONTRIBUTING.md | 29 +-
Dockerfile | 3 +-
Makefile | 8 +-
README.md | 13 +-
RELEASING/Dockerfile.from_local_tarball | 2 +-
RELEASING/Dockerfile.from_svn_tarball | 2 +-
RELEASING/README.md | 3 +
RELEASING/changelog.py | 12 +-
RELEASING/release-notes-1-0/README.md | 1 -
RELEASING/release-notes-1-4/README.md | 78 +
RELEASING/release-notes-1-4/media/calc.png | Bin 0 -> 272413 bytes
RELEASING/release-notes-1-4/media/pyinstrument.png | Bin 0 -> 163177 bytes
RELEASING/release-notes-1-4/media/tab_column.jpg | Bin 0 -> 275138 bytes
RELEASING/send_email.py | 7 +-
RESOURCES/FEATURE_FLAGS.md | 4 +-
RESOURCES/INTHEWILD.md | 1 +
UPDATING.md | 59 +-
docker-compose-non-dev.yml | 2 +-
docker-compose.yml | 2 +-
docker/docker-bootstrap.sh | 1 -
docker/docker-init.sh | 3 +-
docker/pythonpath_dev/superset_config.py | 2 +-
docs/.eslintrc.js | 48 -
docs/.gitignore | 23 +-
docs/.nvmrc | 1 -
docs/README.md | 57 +-
docs/babel.config.js | 22 +
docs/docs/api.mdx | 37 +
docs/docs/contributing/_category_.json | 4 +
docs/docs/contributing/contributing-page.mdx | 20 +
docs/docs/contributing/conventions-and-typing.mdx | 57 +
docs/docs/contributing/creating-viz-plugins.mdx | 134 +
docs/docs/contributing/hooks-and-linting.mdx | 61 +
docs/docs/contributing/local-backend.mdx | 106 +
docs/docs/contributing/pull-request-guidelines.mdx | 96 +
docs/docs/contributing/style-guide.mdx | 54 +
docs/docs/contributing/testing-locally.mdx | 274 +
docs/docs/contributing/translations.mdx | 148 +
docs/docs/contributing/types-of-contributions.mdx | 60 +
.../creating-charts-dashboards/_category_.json | 4 +
.../creating-your-first-dashboard.mdx | 211 +
.../creating-charts-dashboards/exploring-data.mdx | 354 +
docs/docs/databases/_category_.json | 4 +
docs/docs/databases/ascend.mdx | 16 +
docs/docs/databases/athena.mdx | 34 +
docs/docs/databases/bigquery.mdx | 89 +
docs/docs/databases/clickhouse.mdx | 44 +
docs/docs/databases/cockroachdb.mdx | 17 +
docs/docs/databases/cratedb.mdx | 24 +
docs/docs/databases/databricks.mdx | 67 +
docs/docs/databases/db-connection-ui.mdx | 76 +
docs/docs/databases/docker-add-drivers.mdx | 93 +
docs/docs/databases/dremio.mdx | 26 +
docs/docs/databases/drill.mdx | 47 +
docs/docs/databases/druid.mdx | 65 +
docs/docs/databases/elasticsearch.mdx | 68 +
docs/docs/databases/exasol.mdx | 17 +
docs/docs/databases/extra-settings.mdx | 69 +
docs/docs/databases/firebird.mdx | 23 +
docs/docs/databases/firebolt.mdx | 27 +
docs/docs/databases/google-sheets.mdx | 16 +
docs/docs/databases/hana.mdx | 16 +
docs/docs/databases/hive.mdx | 16 +
docs/docs/databases/hologres.mdx | 24 +
docs/docs/databases/ibm-db2.mdx | 23 +
docs/docs/databases/impala.mdx | 16 +
.../docs/databases/installing-database-drivers.mdx | 73 +
docs/docs/databases/kylin.mdx | 17 +
docs/docs/databases/mysql.mdx | 29 +
docs/docs/databases/netezza.mdx | 17 +
docs/docs/databases/oracle.mdx | 17 +
docs/docs/databases/pinot.mdx | 16 +
docs/docs/databases/postgres.mdx | 42 +
docs/docs/databases/presto.mdx | 37 +
docs/docs/databases/redshift.mdx | 25 +
docs/docs/databases/rockset.mdx | 16 +
docs/docs/databases/snowflake.mdx | 31 +
docs/docs/databases/solr.mdx | 17 +
docs/docs/databases/spark-sql.mdx | 16 +
docs/docs/databases/sql-server.mdx | 16 +
docs/docs/databases/teradata.mdx | 36 +
docs/docs/databases/trino.mdx | 27 +
docs/docs/databases/vertica.mdx | 31 +
docs/docs/databases/yugabytedb.mdx | 20 +
docs/docs/frequently-asked-questions.mdx | 295 +
docs/docs/installation/_category_.json | 4 +
docs/docs/installation/alerts-reports.mdx | 486 +
docs/docs/installation/async-queries-celery.mdx | 117 +
docs/docs/installation/cache.mdx | 126 +
docs/docs/installation/configuring-superset.mdx | 260 +
docs/docs/installation/event-logging.mdx | 58 +
.../installing-superset-from-scratch.mdx | 161 +
.../installing-superset-using-docker-compose.mdx | 119 +
docs/docs/installation/networking-settings.mdx | 44 +
docs/docs/installation/running-on-kubernetes.mdx | 398 +
docs/docs/installation/sql-templating.mdx | 273 +
docs/docs/installation/upgrading-superset.mdx | 43 +
docs/docs/intro.mdx | 60 +
docs/docs/miscellaneous/_category_.json | 4 +
docs/docs/miscellaneous/chart-params.mdx | 147 +
docs/docs/miscellaneous/country-map-tools.mdx | 61 +
.../importing-exporting-datasources.mdx | 116 +
docs/docs/miscellaneous/issue-codes.mdx | 334 +
docs/docs/security.mdx | 149 +
docs/docusaurus.config.js | 245 +
docs/doczrc.js | 36 -
docs/gatsby-config.js | 85 -
docs/gatsby-node.js | 677 -
docs/installation.rst | 1660 -
docs/package-lock.json | 59354 -------------
docs/package.json | 117 +-
docs/prettier.config.js | 21 -
docs/sidebars.js | 50 +
docs/sqllab.rst | 180 -
docs/src/components/AnchorNavigator.tsx | 62 -
docs/src/components/DbImage.tsx | 49 -
docs/src/components/DoczMenu.tsx | 58 -
docs/src/components/MainMenu.tsx | 156 -
docs/src/components/footer.tsx | 180 -
docs/src/components/image.tsx | 82 -
docs/src/components/layout.scss | 160 -
docs/src/components/layout.tsx | 201 -
docs/src/components/next.tsx | 42 -
docs/src/components/select.tsx | 47 -
docs/src/components/seo.js | 104 -
docs/src/css/custom.css | 95 +
docs/src/gatsby-theme-docz/index.tsx | 69 -
docs/src/images/apacheSupersetHoriz.png | Bin 121779 -> 0 bytes
docs/src/images/dashboard.png | Bin 453151 -> 0 bytes
docs/src/images/docker.png | Bin 24928 -> 0 bytes
docs/src/images/explorer.png | Bin 641441 -> 0 bytes
docs/src/images/gallery/bubble.png | Bin 238904 -> 0 bytes
docs/src/images/gallery/chord_diagram.png | Bin 762878 -> 0 bytes
docs/src/images/gallery/community.png | Bin 609567 -> 0 bytes
docs/src/images/gallery/dashboard_editor.png | Bin 2255813 -> 0 bytes
docs/src/images/gallery/dashboard_list.png | Bin 197656 -> 0 bytes
docs/src/images/gallery/dashboard_properties.png | Bin 213069 -> 0 bytes
docs/src/images/gallery/deck_arc.png | Bin 1351973 -> 0 bytes
docs/src/images/gallery/deck_hex.png | Bin 1761791 -> 0 bytes
docs/src/images/gallery/deck_path.png | Bin 1229563 -> 0 bytes
docs/src/images/gallery/deck_polygon.png | Bin 1588761 -> 0 bytes
docs/src/images/gallery/deck_scatter.png | Bin 1815849 -> 0 bytes
docs/src/images/gallery/deckgl_dash.png | Bin 6777438 -> 0 bytes
docs/src/images/gallery/explore.png | Bin 530390 -> 0 bytes
docs/src/images/gallery/force_layout.png | Bin 432443 -> 0 bytes
docs/src/images/gallery/france.png | Bin 431636 -> 0 bytes
docs/src/images/gallery/girl_names.png | Bin 276784 -> 0 bytes
docs/src/images/gallery/heatmap.png | Bin 629165 -> 0 bytes
docs/src/images/gallery/pino_geo.png | Bin 3385639 -> 0 bytes
docs/src/images/gallery/sankey.png | Bin 529762 -> 0 bytes
docs/src/images/gallery/slack.png | Bin 471736 -> 0 bytes
docs/src/images/gallery/sqllab.png | Bin 375108 -> 0 bytes
docs/src/images/gallery/storm.png | Bin 2287707 -> 0 bytes
docs/src/images/gallery/stream.png | Bin 557506 -> 0 bytes
docs/src/images/gallery/table.png | Bin 447295 -> 0 bytes
docs/src/images/gallery/treemap.png | Bin 456361 -> 0 bytes
docs/src/images/gallery/visualizations.png | Bin 2016718 -> 0 bytes
docs/src/images/gallery/worldbank_dashboard.png | Bin 780010 -> 0 bytes
docs/src/images/preset.png | Bin 39030 -> 0 bytes
docs/src/images/preset.svg | 33 -
docs/src/images/s.png | Bin 11477 -> 0 bytes
docs/src/images/stack_overflow.png | Bin 30065 -> 0 bytes
docs/src/images/superset-logo-horiz.svg | 45 -
docs/src/pages/404.jsx | 32 -
docs/src/pages/community.tsx | 80 +-
.../pages/docs/Connecting to Databases/ascend.mdx | 17 -
.../pages/docs/Connecting to Databases/athena.mdx | 35 -
.../docs/Connecting to Databases/clickhouse.mdx | 45 -
.../docs/Connecting to Databases/cockroachdb.mdx | 18 -
.../pages/docs/Connecting to Databases/crate.mdx | 25 -
.../docs/Connecting to Databases/databricks.mdx | 68 -
.../Connecting to Databases/docker-add-drivers.mdx | 92 -
.../pages/docs/Connecting to Databases/dremio.mdx | 26 -
.../pages/docs/Connecting to Databases/drill.mdx | 48 -
.../pages/docs/Connecting to Databases/druid.mdx | 64 -
.../docs/Connecting to Databases/elasticsearch.mdx | 70 -
.../pages/docs/Connecting to Databases/exasol.mdx | 18 -
.../Connecting to Databases/extra-settings.mdx | 70 -
.../docs/Connecting to Databases/firebird.mdx | 24 -
.../docs/Connecting to Databases/firebolt.mdx | 28 -
.../Connecting to Databases/google-bigquery.mdx | 85 -
.../docs/Connecting to Databases/google-sheets.mdx | 17 -
.../pages/docs/Connecting to Databases/hana.mdx | 17 -
.../pages/docs/Connecting to Databases/hive.mdx | 17 -
.../docs/Connecting to Databases/hologres.mdx | 25 -
.../pages/docs/Connecting to Databases/ibm-db2.mdx | 24 -
.../pages/docs/Connecting to Databases/impala.mdx | 17 -
.../pages/docs/Connecting to Databases/index.mdx | 74 -
.../pages/docs/Connecting to Databases/kylin.mdx | 18 -
.../pages/docs/Connecting to Databases/mysql.mdx | 29 -
.../pages/docs/Connecting to Databases/netezza.mdx | 18 -
.../pages/docs/Connecting to Databases/oracle.mdx | 18 -
.../pages/docs/Connecting to Databases/pinot.mdx | 17 -
.../docs/Connecting to Databases/postgres.mdx | 43 -
.../pages/docs/Connecting to Databases/presto.mdx | 39 -
.../docs/Connecting to Databases/redshift.mdx | 26 -
.../pages/docs/Connecting to Databases/rockset.mdx | 17 -
.../docs/Connecting to Databases/snowflake.mdx | 32 -
.../pages/docs/Connecting to Databases/solr.mdx | 18 -
.../docs/Connecting to Databases/spark-sql.mdx | 17 -
.../docs/Connecting to Databases/sql-server.mdx | 17 -
.../docs/Connecting to Databases/teradata.mdx | 29 -
.../pages/docs/Connecting to Databases/trino.mdx | 27 -
docs/src/pages/docs/Connecting to Databases/ui.mdx | 77 -
.../pages/docs/Connecting to Databases/vertica.mdx | 32 -
.../exploring-data.mdx | 395 -
.../docs/Creating Charts and Dashboards/index.mdx | 190 -
.../docs/Miscellaneous/importing-exporting.mdx | 117 -
docs/src/pages/docs/Miscellaneous/index.mdx | 62 -
docs/src/pages/docs/Miscellaneous/issue_codes.mdx | 337 -
docs/src/pages/docs/api.mdx | 34 -
docs/src/pages/docs/contributing-page.mdx | 24 -
.../pages/docs/frequently-asked-questions-page.mdx | 296 -
.../src/pages/docs/installation/alerts_reports.mdx | 459 -
.../docs/installation/async_queries_celery.mdx | 118 -
.../docs/installation/building-viz-plugins.mdx | 217 -
docs/src/pages/docs/installation/caching.mdx | 124 -
docs/src/pages/docs/installation/configuring.mdx | 305 -
.../pages/docs/installation/event-logging-page.mdx | 59 -
docs/src/pages/docs/installation/index.mdx | 112 -
.../pages/docs/installation/installing_scratch.mdx | 162 -
docs/src/pages/docs/installation/kubernetes.mdx | 371 -
.../docs/installation/networking_settings.mdx | 45 -
.../src/pages/docs/installation/sql_templating.mdx | 272 -
.../pages/docs/installation/upgrading_superset.mdx | 44 -
docs/src/pages/docs/introduction.mdx | 59 -
docs/src/pages/docs/roadmap-page.mdx | 18 -
docs/src/pages/docs/security-page.mdx | 152 -
docs/src/pages/docs/version-one-page.mdx | 103 -
docs/src/pages/gallery.tsx | 110 -
docs/src/pages/index.tsx | 119 +-
docs/src/pages/markdown-page.md | 26 +
docs/src/pages/resources.tsx | 217 -
docs/src/resources/data.js | 117 +-
docs/src/resources/openapi.json | 14176 ----
docs/src/utils.js | 83 -
docs/{ => static}/.asf.yaml | 0
docs/{ => static}/.htaccess | 0
.../CHANGELOG.md => docs/static/.nojekyll | 0
docs/static/images/add-data-upload.png | Bin 85781 -> 0 bytes
docs/static/images/add_new_chart.png | Bin 42447 -> 0 bytes
docs/static/images/chose_a_datasource.png | Bin 21013 -> 0 bytes
docs/static/images/count_column.png | Bin 146056 -> 0 bytes
docs/static/images/create_pivot_v2.png | Bin 367450 -> 0 bytes
docs/static/images/dashboard2.png | Bin 704237 -> 0 bytes
docs/static/images/db-modal-advanced.png | Bin 126450 -> 0 bytes
docs/static/images/explorer.png | Bin 641441 -> 0 bytes
docs/static/images/explorer2.png | Bin 938335 -> 0 bytes
docs/static/images/explorer3.png | Bin 5015944 -> 0 bytes
docs/static/images/explorer4.png | Bin 2672689 -> 0 bytes
docs/static/images/google-analytics.png | Bin 689661 -> 0 bytes
docs/static/images/native_filters_empty_panel.png | Bin 19674 -> 0 bytes
docs/static/images/native_filters_menu_open.png | Bin 17968 -> 0 bytes
docs/static/images/native_filters_modal.png | Bin 196153 -> 0 bytes
docs/static/images/native_filters_num_range.png | Bin 22073 -> 0 bytes
.../images/native_filters_origin_country.png | Bin 196016 -> 0 bytes
.../native_filters_origin_country_dropdown.png | Bin 71696 -> 0 bytes
docs/static/images/pie-chart.png | Bin 1320888 -> 0 bytes
docs/static/images/select_dates_pivot_table_v2.png | Bin 162201 -> 0 bytes
.../images/select_table_visualization_type.png | Bin 47283 -> 0 bytes
docs/static/images/so-icon.svg | 19 -
docs/static/images/sqllab.png | Bin 393766 -> 0 bytes
docs/static/images/sqllab0.png | Bin 641865 -> 0 bytes
docs/static/images/sqllab1.png | Bin 556582 -> 0 bytes
docs/static/images/sqllab3.png | Bin 529043 -> 0 bytes
docs/static/images/sum_cost_column.png | Bin 134523 -> 0 bytes
.../tutorial_04_sqlalchemy_connection_string.png | Bin 52808 -> 0 bytes
.../static/images/tutorial_05_connection_popup.png | Bin 84173 -> 0 bytes
docs/static/images/tutorial_06_list_of_tables.png | Bin 23859 -> 0 bytes
docs/static/images/tutorial_07_save_button (1).png | Bin 8210 -> 0 bytes
docs/static/images/tutorial_07_save_button.png | Bin 8210 -> 0 bytes
docs/static/images/tutorial_10_table_name.png | Bin 26728 -> 0 bytes
docs/static/images/tutorial_11_choose_db.png | Bin 22024 -> 0 bytes
.../tutorial_12_table_creation_success_msg.png | Bin 33013 -> 0 bytes
.../images/tutorial_13_edit_table_config.png | Bin 32220 -> 0 bytes
docs/static/images/tutorial_14_field_config.png | Bin 61811 -> 0 bytes
.../static/images/tutorial_15_click_table_name.png | Bin 7863 -> 0 bytes
.../images/tutorial_16_datasource_chart_type.png | Bin 13822 -> 0 bytes
.../images/tutorial_17_choose_time_range.png | Bin 11627 -> 0 bytes
docs/static/images/tutorial_18_choose_metric.png | Bin 12536 -> 0 bytes
docs/static/images/tutorial_19_click_query (1).png | Bin 5734 -> 0 bytes
docs/static/images/tutorial_19_click_query.png | Bin 5734 -> 0 bytes
.../images/tutorial_20_count_star_result.png | Bin 5333 -> 0 bytes
docs/static/images/tutorial_21_group_by.png | Bin 6840 -> 0 bytes
docs/static/images/tutorial_22_group_by_result.png | Bin 22576 -> 0 bytes
.../tutorial_23_group_by_more_dimensions.png | Bin 8191 -> 0 bytes
docs/static/images/tutorial_24_max_metric.png | Bin 6731 -> 0 bytes
docs/static/images/tutorial_25_max_temp_filter.png | Bin 11654 -> 0 bytes
docs/static/images/tutorial_26_row_limit.png | Bin 4927 -> 0 bytes
.../static/images/tutorial_27_top_10_max_temps.png | Bin 49871 -> 0 bytes
docs/static/images/tutorial_28_bar_chart.png | Bin 14757 -> 0 bytes
.../tutorial_29_bar_chart_series_metrics.png | Bin 20374 -> 0 bytes
.../images/tutorial_30_bar_chart_results.png | Bin 75926 -> 0 bytes
.../images/tutorial_31_save_slice_to_dashboard.png | Bin 33789 -> 0 bytes
.../images/tutorial_32_save_slice_confirmation.png | Bin 24041 -> 0 bytes
docs/static/images/tutorial_33_dashboard.png | Bin 5232 -> 0 bytes
.../images/tutorial_34_weather_dashboard.png | Bin 6703 -> 0 bytes
.../images/tutorial_35_slice_on_dashboard.png | Bin 66781 -> 0 bytes
.../images/tutorial_36_adjust_dimensions.gif | Bin 126264 -> 0 bytes
docs/static/images/tutorial_pivot_table_v2.png | Bin 446463 -> 0 bytes
docs/static/images/youtube.png | Bin 20462 -> 0 bytes
.../custom-plugins}/plugin-1-yeoman-select.png | Bin
.../custom-plugins}/plugin-10-hello-thumbnail.png | Bin
.../custom-plugins}/plugin-11-explore-view.png | Bin
.../custom-plugins}/plugin-12-console-logs.png | Bin
.../plugin-2-yeoman-package-name.png | Bin
.../plugin-3-yeoman-description.png | Bin
.../plugin-4-yeoman-component-type.png | Bin
.../custom-plugins}/plugin-5-yeoman-timeseries.png | Bin
.../custom-plugins}/plugin-6-yeoman-badges.png | Bin
.../custom-plugins}/plugin-7-yeoman-files.png | Bin
.../custom-plugins}/plugin-8-package-json.png | Bin
.../custom-plugins}/plugin-9-mainpreset-import.png | Bin
.../plugin-9-mainpreset-register.png | Bin
docs/static/{images => img}/dashboard3.png | Bin
.../static/{images => img}/dashboard_card_view.jpg | Bin
docs/static/{images => img}/data-point.jpg | Bin
.../img}/databases/apache-drill.png | Bin
.../img}/databases/apache-druid.jpeg | Bin
.../img}/databases/apache-druid.png | Bin
.../img}/databases/apache-hive.svg | 0
.../img}/databases/apache-impala.png | Bin
.../img}/databases/apache-kylin.png | Bin
.../img}/databases/aws-redshift.png | Bin
.../images => static/img}/databases/clickhouse.png | Bin
.../images => static/img}/databases/dremio.png | Bin
.../{src/images => static/img}/databases/druid.png | Bin
.../images => static/img}/databases/exasol.png | Bin
.../images => static/img}/databases/firebird.png | Bin
.../images => static/img}/databases/googleBQ.png | Bin
.../images => static/img}/databases/greenplum.jpeg | Bin
.../images => static/img}/databases/greenplum.png | Bin
.../images => static/img}/databases/hologres.png | Bin
.../images => static/img}/databases/ibmdb2.png | Bin
.../{src/images => static/img}/databases/monet.png | Bin
docs/{src/images => static/img}/databases/msql.png | Bin
.../{src/images => static/img}/databases/mysql.png | Bin
.../images => static/img}/databases/netezza.png | Bin
.../img}/databases/oracle-logo.png | Bin
.../images => static/img}/databases/oracle.png | Bin
.../images => static/img}/databases/oraclelogo.png | Bin
.../images => static/img}/databases/postgresql.jpg | Bin
.../images => static/img}/databases/postsql.png | Bin
.../images => static/img}/databases/presto-og.png | Bin
.../images => static/img}/databases/rockset.png | Bin
.../images => static/img}/databases/snowflake.png | Bin
.../images => static/img}/databases/sqllite.jpg | Bin
.../images => static/img}/databases/sqllite.png | Bin
docs/static/img/databases/teradata.png | Bin 0 -> 93361 bytes
.../{src/images => static/img}/databases/trino.png | Bin
.../images => static/img}/databases/trino2.jpg | Bin
.../images => static/img}/databases/vertica.png | Bin
docs/static/img/databases/yugabyte.png | Bin 0 -> 6460 bytes
docs/static/{images => img}/explore_ui.jpg | Bin
docs/static/{images => img}/explorer5.jpg | Bin
.../images/favicon.png => static/img/favicon.ico} | Bin
docs/static/img/logo.svg | 19 +
docs/static/{images => img}/roadmap.png | Bin
docs/static/{images => img}/root-cert-example.png | Bin
docs/static/{images => img}/sqllab5.jpg | Bin
.../img}/superset-logo-horiz-apache.svg | 0
docs/static/img/superset-logo-horiz-dark.svg | 43 +
docs/static/img/superset-logo-horiz.svg | 43 +
docs/static/img/tutorial/add-data-upload.png | Bin 0 -> 92207 bytes
.../tutorial}/advanced_analytics_base.png | Bin
.../static/{images => img/tutorial}/annotation.png | Bin
.../tutorial}/annotation_settings.png | Bin
.../tutorial}/average_aggregate_for_cost.png | Bin
.../tutorial}/blue_bar_insert_component.png | Bin
docs/static/img/tutorial/create_pivot.png | Bin 0 -> 80625 bytes
.../tutorial}/csv_to_database_configuration.png | Bin
docs/static/{images => img/tutorial}/dashboard.png | Bin
.../{images => img/tutorial}/edit-record.png | Bin
.../{images => img/tutorial}/edit_annotation.png | Bin
.../tutorial}/filter_on_origin_country.png | Bin
docs/static/{images => img/tutorial}/markdown.png | Bin
.../img/tutorial/no_filter_on_time_filter.png | Bin 0 -> 143531 bytes
.../tutorial}/parse_dates_column.png | Bin
.../{images => img/tutorial}/publish_dashboard.png | Bin
docs/static/{images => img/tutorial}/resample.png | Bin
.../resize_tutorial_table_on_dashboard.png | Bin
.../{images => img/tutorial}/rolling_mean.png | Bin
.../tutorial}/save_tutorial_table.png | Bin
.../img/tutorial/select_dates_pivot_table.png | Bin 0 -> 165788 bytes
docs/static/img/tutorial/sum_cost_column.png | Bin 0 -> 149040 bytes
.../time_comparison_absolute_difference.png | Bin
.../tutorial}/time_comparison_two_series.png | Bin
.../tutorial}/tutorial_01_sources_database.png | Bin
.../tutorial}/tutorial_02_add_database.png | Bin
.../tutorial}/tutorial_03_database_name.png | Bin
.../tutorial}/tutorial_04_add_button.png | Bin
.../tutorial}/tutorial_08_sources_tables.png | Bin
.../tutorial}/tutorial_09_add_new_table.png | Bin
.../tutorial}/tutorial_calculated_column.png | Bin
.../tutorial}/tutorial_chart_resize.png | Bin
.../tutorial}/tutorial_column_properties.png | Bin
.../tutorial}/tutorial_dashboard_access.png | Bin
.../tutorial}/tutorial_explore_run.jpg | Bin
.../tutorial}/tutorial_explore_settings.jpg | Bin
.../tutorial}/tutorial_first_dashboard.png | Bin
.../tutorial}/tutorial_launch_explore.png | Bin
.../tutorial}/tutorial_line_chart.png | Bin
.../tutorial}/tutorial_pencil_edit.png | Bin
docs/static/img/tutorial/tutorial_pivot_table.png | Bin 0 -> 317996 bytes
.../tutorial}/tutorial_save_slice.png | Bin
.../tutorial}/tutorial_sql_metric.png | Bin
.../{images => img/tutorial}/tutorial_table.png | Bin
.../{images => img/tutorial}/upload_a_csv.png | Bin
docs/static/img/undraw_docusaurus_mountain.svg | 188 +
docs/static/img/undraw_docusaurus_react.svg | 187 +
docs/static/img/undraw_docusaurus_tree.svg | 19 +
docs/static/resources/openapi.json | 17722 ++++
docs/tsconfig.json | 7 +
docs/yarn.lock | 11093 +++
helm/superset/Chart.yaml | 4 +-
helm/superset/templates/_helpers.tpl | 23 +-
helm/superset/templates/deployment-beat.yaml | 3 +
helm/superset/templates/deployment-worker.yaml | 7 +-
helm/superset/templates/deployment.yaml | 7 +-
helm/superset/templates/init-job.yaml | 3 +
helm/superset/templates/secret-env.yaml | 3 +
helm/superset/templates/service-account.yaml | 31 +
helm/superset/values.schema.json | 608 +
helm/superset/values.yaml | 83 +-
requirements/base.in | 1 +
requirements/base.txt | 65 +-
requirements/development.in | 2 +-
requirements/development.txt | 4 +-
requirements/integration.in | 3 +-
requirements/integration.txt | 12 +-
requirements/testing.in | 2 +-
requirements/testing.txt | 12 +-
scripts/benchmark_migration.py | 5 +-
scripts/cancel_github_workflows.py | 9 +-
scripts/generate_frontend_ts_tasklist.js | 1 +
scripts/python_tests.sh | 3 +-
scripts/tests/run.sh | 2 +-
setup.cfg | 2 +-
setup.py | 35 +-
superset-embedded-sdk/.gitignore | 3 +
superset-embedded-sdk/CONTRIBUTING.md | 77 +
superset-embedded-sdk/README.md | 91 +
superset-embedded-sdk/babel.config.js | 26 +
superset-embedded-sdk/package-lock.json | 14244 ++++
superset-embedded-sdk/package.json | 61 +
superset-embedded-sdk/release-if-necessary.js | 62 +
superset-embedded-sdk/src/const.ts | 20 +
.../src/guestTokenRefresh.test.ts | 96 +
superset-embedded-sdk/src/guestTokenRefresh.ts | 32 +
superset-embedded-sdk/src/index.ts | 167 +
superset-embedded-sdk/tsconfig.json | 29 +
superset-embedded-sdk/webpack.config.js | 49 +
superset-frontend/.eslintignore | 1 -
superset-frontend/.eslintrc.js | 102 +-
superset-frontend/.prettierignore | 2 +-
superset-frontend/.storybook/main.js | 5 +-
superset-frontend/cypress-base/cypress.json | 4 +-
.../integration/dashboard/dashboard.helper.ts | 120 +
.../integration/dashboard/key_value.test.ts | 16 +-
.../integration/dashboard/nativeFilters.test.ts | 403 +-
.../integration/explore/AdhocMetrics.test.ts | 2 +-
.../integration/explore/advanced_analytics.test.ts | 5 +-
.../cypress/integration/explore/chart.test.js | 4 +-
.../cypress/integration/explore/control.test.ts | 15 +-
.../cypress/integration/explore/link.test.ts | 21 +-
.../explore/visualizations/line.test.ts | 10 +-
.../cypress/integration/sqllab/query.test.ts | 4 +-
.../cypress/integration/sqllab/tabs.test.js | 65 -
.../cypress/integration/sqllab/tabs.test.ts | 60 +
.../cypress-base/cypress/plugins/index.js | 1 +
.../cypress-base/cypress/support/directories.ts | 15 +-
.../cypress-base/cypress/support/index.d.ts | 14 +
.../cypress-base/cypress/support/index.ts | 86 +
superset-frontend/cypress-base/package-lock.json | 7668 +-
superset-frontend/jest.config.js | 33 +-
superset-frontend/lerna.json | 12 +-
superset-frontend/package-lock.json | 31690 ++++---
superset-frontend/package.json | 110 +-
.../packages/generator-superset/README.md | 7 +-
.../generators/plugin-chart/index.js | 35 +-
.../generators/plugin-chart/templates/README.erb | 70 +-
.../plugin-chart/templates/gitignore.erb | 111 +
.../plugin-chart/templates/package-lock.erb | 28390 +++++++
.../generators/plugin-chart/templates/package.erb | 27 +-
.../plugin-chart/templates/src/MyChart.erb | 15 +-
.../plugin-chart/templates/src/index.erb | 2 +-
.../plugin-chart/templates/src/plugin/index.erb | 2 +-
.../plugin-chart/templates/test/index.erb | 6 +-
.../generator-superset/test/plugin-chart.test.js | 1 +
.../superset-ui-chart-controls/package.json | 46 +-
.../src/components/CertifiedIconWithTooltip.tsx | 4 +-
.../src/components/ColumnOption.tsx | 69 +-
.../src/components/ColumnTypeLabel.tsx | 58 -
.../components/ColumnTypeLabel/ColumnTypeLabel.tsx | 71 +
.../ColumnTypeLabel/type-icons/field_abc.svg | 21 +
.../ColumnTypeLabel/type-icons/field_boolean.svg | 21 +
.../ColumnTypeLabel/type-icons/field_date.svg | 21 +
.../ColumnTypeLabel/type-icons/field_derived.svg | 21 +
.../ColumnTypeLabel/type-icons/field_num.svg | 21 +
.../ColumnTypeLabel/type-icons/svgType.d.ts | 22 +
.../src/components/InfoTooltipWithTrigger.tsx | 6 +-
.../src/components/MetricOption.tsx | 71 +-
.../src/components/SQLPopover.tsx | 70 +
.../src/components/Tooltip.tsx | 8 +
.../src/components/labelUtils.tsx | 120 +
.../superset-ui-chart-controls/src/index.ts | 2 +-
.../src/operators/boxplotOperator.ts | 10 +-
.../src/operators/contributionOperator.ts | 25 +-
.../src/operators/flattenOperator.ts | 26 +
.../src/operators/index.ts | 1 +
.../src/operators/pivotOperator.ts | 21 +-
.../src/operators/prophetOperator.ts | 10 +-
.../src/operators/resampleOperator.ts | 9 +-
.../src/operators/rollingWindowOperator.ts | 34 +-
.../src/operators/sortOperator.ts | 16 +-
.../src/operators/timeCompareOperator.ts | 41 +-
.../src/operators/timeComparePivotOperator.ts | 71 +-
.../src/operators/utils/constants.ts | 1 -
.../src/operators/utils/index.ts | 2 +-
.../src/sections/advancedAnalytics.tsx | 3 +
.../src/sections/forecastInterval.tsx | 4 +
.../src/sections/sections.tsx | 9 -
.../ColumnConfigControl/ColumnConfigItem.tsx | 2 +-
.../src/shared-controls/dndControls.tsx | 3 +-
.../src/shared-controls/index.tsx | 80 +-
.../superset-ui-chart-controls/src/types.ts | 9 +
.../src/utils/D3Formatting.ts | 6 +-
.../test/components/ColumnOption.test.tsx | 17 +-
.../test/components/ColumnTypeLabel.test.tsx | 47 +-
.../test/components/MetricOption.test.tsx | 14 +-
.../test/components/labelUtils.test.tsx | 216 +
.../shared-controls/emitFilterControl.test.tsx | 2 +-
.../superset-ui-chart-controls/test/types.test.ts | 1 +
.../test/utils/operators/flattenOperator.test.ts | 59 +
.../test/utils/operators/pivotOperator.test.ts | 28 +-
.../test/utils/operators/prophetOperator.test.ts | 34 +-
.../test/utils/operators/resampleOperator.test.ts | 27 +-
.../utils/operators/rollingWindowOperator.test.ts | 45 +-
.../test/utils/operators/sortOperator.test.ts | 16 +
.../utils/operators/timeCompareOperator.test.ts | 103 +-
.../operators/timeComparePivotOperator.test.ts | 137 +
.../packages/superset-ui-core/package.json | 7 +-
.../src/chart/components/NoResultsComponent.tsx | 65 +-
.../src/chart/components/SuperChart.tsx | 10 +-
.../src/chart/models/ChartMetadata.ts | 24 +-
.../src/chart/models/ChartProps.ts | 10 +
.../superset-ui-core/src/chart/types/Base.ts | 21 +
.../src/color/CategoricalColorScale.ts | 33 +-
.../src/color/SharedLabelColorSingleton.ts | 119 +
.../packages/superset-ui-core/src/color/index.ts | 8 +
.../packages/superset-ui-core/src/color/utils.ts | 22 +
.../src/connection/SupersetClient.ts | 4 +-
.../src/connection/SupersetClientClass.ts | 30 +-
.../superset-ui-core/src/connection/types.ts | 7 +-
.../superset-ui-core/src/dashboard/index.ts | 20 +
.../superset-ui-core/src/dashboard/types/Base.ts | 129 +
.../packages/superset-ui-core/src/index.ts | 2 +
.../src/query/api/v1/handleError.ts | 2 +-
.../superset-ui-core/src/query/buildQueryObject.ts | 12 +-
.../superset-ui-core/src/query/constants.ts | 8 +-
.../superset-ui-core/src/query/extractExtras.ts | 4 -
.../superset-ui-core/src/query/processFilters.ts | 12 +-
.../src/query/types/AnnotationLayer.ts | 7 +-
.../superset-ui-core/src/query/types/Column.ts | 6 +-
.../src/query/types/PostProcessing.ts | 78 +-
.../superset-ui-core/src/query/types/Query.ts | 3 +-
.../src/query/types/QueryFormData.ts | 15 +-
.../superset-ui-core/src/query/types/Time.ts | 3 -
.../packages/superset-ui-core/src/style/index.tsx | 3 +-
.../time-format/TimeFormatterRegistrySingleton.ts | 4 +-
.../superset-ui-core/src/utils/featureFlags.ts | 6 +-
.../packages/superset-ui-core/src/utils/index.ts | 1 +
.../src/utils/isEqualArray.test.ts | 31 +
.../superset-ui-core/src/utils/isEqualArray.ts | 33 +
.../test/chart-composition/ChartFrame.test.tsx | 2 +-
.../chart-composition/legend/WithLegend.test.tsx | 3 +-
.../tooltip/TooltipFrame.test.tsx | 2 +-
.../tooltip/TooltipTable.test.tsx | 2 +-
.../test/chart/clients/ChartClient.test.ts | 8 +-
.../chart/components/ChartDataProvider.test.tsx | 38 +-
.../chart/components/FallbackComponent.test.tsx | 2 +-
.../test/chart/components/MockChartPlugins.tsx | 3 +-
.../chart/components/NoResultsComponent.test.tsx | 4 +-
.../test/chart/components/SuperChart.test.tsx | 26 +-
.../test/chart/components/SuperChartCore.test.tsx | 5 +-
.../components/createLoadableRenderer.test.tsx | 10 +-
.../test/chart/components/reactify.test.tsx | 9 +-
.../superset-ui-core/test/chart/index.test.ts | 2 +-
.../test/chart/models/ChartMetadata.test.ts | 2 +-
.../test/chart/models/ChartPlugin.test.tsx | 5 +-
.../test/chart/models/ChartProps.test.ts | 2 +-
.../test/color/CategoricalColorNameSpace.test.ts | 11 +-
.../test/color/CategoricalColorScale.test.ts | 31 +-
.../CategoricalSchemeRegistrySingleton.test.ts | 2 +-
.../test/color/ColorScheme.test.ts | 2 +-
.../test/color/ColorSchemeRegistry.test.ts | 2 +-
.../test/color/SequentialScheme.test.ts | 2 +-
.../SequentialSchemeRegistrySingleton.test.ts | 2 +-
.../test/color/SharedLabelColorSingleton.test.ts | 110 +
.../test/color/colorSchemes.test.ts | 41 +-
.../superset-ui-core/test/color/index.test.ts | 2 +-
.../superset-ui-core/test/color/utils.test.ts | 2 +-
.../test/connection/SupersetClient.test.ts | 5 +-
.../test/connection/SupersetClientClass.test.ts | 131 +-
.../test/connection/callApi/callApi.test.ts | 47 +-
.../callApi/callApiAndParseWithTimeout.test.ts | 8 +-
.../test/connection/callApi/parseResponse.test.ts | 4 +-
.../connection/callApi/rejectAfterTimeout.test.ts | 2 +-
.../test/dimension/computeMaxFontSize.test.ts | 2 +-
.../dimension/getMultipleTextDimensions.test.ts | 5 +-
.../test/dimension/getTextDimension.test.ts | 2 +-
.../test/dimension/mergeMargin.test.ts | 2 +-
.../test/dimension/parseLength.test.ts | 2 +-
.../test/dimension/svg/LazyFactory.test.ts | 2 +-
.../test/dimension/svg/getBBoxCeil.test.ts | 4 +-
.../test/dimension/svg/updateTextNode.test.ts | 13 +-
.../packages/superset-ui-core/test/fixtures.ts | 2 +-
.../packages/superset-ui-core/test/index.test.ts | 2 +-
.../test/math-expression/index.test.ts | 5 +-
.../test/models/ExtensibleFunction.test.ts | 2 +-
.../superset-ui-core/test/models/Plugin.test.ts | 2 +-
.../superset-ui-core/test/models/Preset.test.ts | 2 +-
.../superset-ui-core/test/models/Registry.test.ts | 2 +-
.../test/models/RegistryWithDefaultKey.test.ts | 2 +-
.../test/number-format/NumberFormatter.test.ts | 2 +-
.../number-format/NumberFormatterRegistry.test.ts | 2 +-
.../NumberFormatterRegistrySingleton.test.ts | 2 +-
.../factories/createD3NumberFormatter.test.ts | 2 +-
.../factories/createDurationFormatter.test.ts | 5 +-
.../createSiAtMostNDigitFormatter.test.ts | 2 +-
.../factories/createSmartNumberFormatter.test.ts | 5 +-
.../test/number-format/index.test.ts | 2 +-
.../test/query/DatasourceKey.test.ts | 2 +-
.../test/query/api/legacy/fetchExploreJson.test.ts | 2 +-
.../query/api/legacy/getDatasourceMetadata.test.ts | 2 +-
.../test/query/api/legacy/getFormData.test.ts | 2 +-
.../test/query/api/setupClientForTest.ts | 2 +-
.../test/query/api/v1/getChartData.test.ts | 2 +-
.../test/query/api/v1/handleError.test.ts | 10 +-
.../test/query/api/v1/makeApi.test.ts | 9 +-
.../test/query/buildQueryContext.test.ts | 2 +-
.../test/query/buildQueryObject.test.ts | 29 +-
.../test/query/convertFilter.test.ts | 2 +-
.../test/query/extractExtras.test.ts | 6 +-
.../test/query/extractQueryFields.test.ts | 5 +-
.../test/query/extractTimegrain.test.ts | 3 +-
.../test/query/getColumnLabel.test.ts | 4 +-
.../test/query/getMetricLabel.test.ts | 2 +-
.../test/query/normalizeOrderBy.test.ts | 3 +-
.../test/query/processExtraFormData.test.ts | 6 +-
.../test/query/processFilters.test.ts | 12 +-
.../test/query/types/AnnotationLayer.test.ts | 2 +-
.../test/query/types/Filter.test.ts | 2 +-
.../test/query/types/PostProcessing.test.ts | 5 +-
.../test/time-format/TimeFormatter.test.ts | 4 +-
.../test/time-format/TimeFormatterRegistry.test.ts | 8 +-
.../TimeFormatterRegistrySingleton.test.ts | 15 +-
.../factories/createD3TimeFormatter.test.ts | 8 +-
.../factories/createMultiFormatter.test.ts | 2 +-
.../test/time-format/formatters/smartDate.test.ts | 3 +-
.../formatters/smartDateDetailed.test.ts | 3 +-
.../formatters/smartDateVerbose.test.ts | 3 +-
.../test/time-format/index.test.ts | 2 +-
.../test/time-format/utils/createTime.test.ts | 2 +-
.../utils/createTimeRangeFromGranularity.test.ts | 4 +-
.../test/time-format/utils/d3Time.test.ts | 2 +-
.../packages/superset-ui-core/test/tsconfig.json | 6 +-
.../test/utils/convertKeysToCamelCase.test.ts | 2 +-
.../test/utils/ensureIsArray.test.ts | 2 +-
.../test/utils/ensureIsInt.test.ts | 2 +-
.../test/utils/featureFlag.test.ts | 2 +-
.../superset-ui-core/test/utils/isDefined.test.ts | 2 +-
.../superset-ui-core/test/utils/isRequired.test.ts | 2 +-
.../test/utils/makeSingleton.test.ts | 2 +-
.../test/utils/promiseTimeout.test.ts | 2 +-
.../superset-ui-core/test/utils/random.test.ts | 2 +-
.../test/utils/removeDuplicates.test.ts | 2 +-
.../test/validator/legacyValidateInteger.test.ts | 2 +-
.../test/validator/legacyValidateNumber.test.ts | 2 +-
.../superset-ui-core/test/validator/setup.ts | 2 +-
.../test/validator/validateInteger.test.ts | 2 +-
.../test/validator/validateNonEmpty.test.ts | 2 +-
.../test/validator/validateNumber.test.ts | 2 +-
.../packages/superset-ui-demo/.storybook/main.js | 79 +-
.../packages/superset-ui-demo/package.json | 58 +-
.../Polygon/geojsonPayload.js | 1 -
.../plugin-chart-echarts/Timeseries/Stories.tsx | 3 +
.../stories/plugins/plugin-chart-table/testData.ts | 7 +-
.../superset-ui-chart/ChartDataProviderStories.tsx | 2 +-
.../superset-ui-chart/SuperChartStories.tsx | 2 +-
...lettesStories.jsx => ColorPallettesStories.tsx} | 0
.../{RenderPalettes.jsx => RenderPalettes.tsx} | 0
.../superset-ui-connection/ConnectionStories.tsx | 2 +-
.../superset-ui-number-format/BigNumberStories.jsx | 142 -
.../superset-ui-number-format/BigNumberStories.tsx | 138 +
.../{ThemeStories.jsx => ThemeStories.tsx} | 0
.../superset-ui-time-format/TimeFormatStories.jsx | 132 -
.../superset-ui-time-format/TimeFormatStories.tsx | 130 +
.../packages/superset-ui-demo/tsconfig.json | 1 +
.../superset-ui-switchboard/package-lock.json | 13 +
.../packages/superset-ui-switchboard/package.json | 33 +
.../packages/superset-ui-switchboard/src/index.ts | 20 +
.../src/switchboard.test.ts | 310 +
.../superset-ui-switchboard/src/switchboard.ts | 244 +
.../packages/superset-ui-switchboard/tsconfig.json | 18 +
.../legacy-plugin-chart-calendar/package.json | 38 +-
.../legacy-plugin-chart-calendar/src/Calendar.js | 1 -
.../src/ReactCalendar.jsx | 207 +-
.../src/vendor/cal-heatmap.css | 129 -
.../src/vendor/cal-heatmap.js | 1 -
.../src/vendor/d3tip.css | 74 -
.../plugins/legacy-plugin-chart-chord/package.json | 6 +-
.../plugins/legacy-plugin-chart-chord/src/Chord.js | 6 +-
.../src/transformProps.js | 3 +-
.../legacy-plugin-chart-country-map/package.json | 6 +-
.../scripts/Country Map GeoJSON Generator.ipynb | 928 +-
.../src/CountryMap.js | 21 +-
.../src/countries.ts | 127 +-
.../src/countries/australia.geojson | 136 +-
.../src/countries/belgium.geojson | 8 +-
.../src/countries/bulgaria.geojson | 12 +-
.../src/countries/burundi.geojson | 23 +
.../src/countries/canada.geojson | 2 +-
.../src/countries/china.geojson | 69 +-
.../src/countries/cyprus.geojson | 11 +
.../src/countries/egypt.geojson | 8 +-
.../src/countries/estonia.geojson | 22 +-
.../src/countries/ethiopia.geojson | 17 +
.../src/countries/finland.geojson | 31 +-
.../src/countries/france.geojson | 8 +-
.../src/countries/germany.geojson | 18 +-
.../src/countries/india.geojson | 71 +-
.../src/countries/indonesia.geojson | 66 +-
.../src/countries/iran.geojson | 6 +-
.../src/countries/italy.geojson | 12 +-
.../src/countries/japan.geojson | 22 +-
.../src/countries/jordan.geojson | 18 +
.../src/countries/kenya.geojson | 14 +
.../src/countries/korea.geojson | 8 +-
.../src/countries/kuwait.geojson | 12 +
.../src/countries/lithuania.geojson | 16 +
.../src/countries/malaysia.geojson | 12 +-
.../src/countries/mexico.geojson | 39 +
.../src/countries/morocco.geojson | 10 +-
.../src/countries/myanmar.geojson | 10 +-
.../src/countries/netherlands.geojson | 10 +-
.../src/countries/nigeria.geojson | 43 +
.../src/countries/oman.geojson | 17 +
.../src/countries/pakistan.geojson | 14 +
.../src/countries/philippines.geojson | 124 +
.../src/countries/poland.geojson | 4 +-
.../src/countries/portugal.geojson | 22 +-
.../src/countries/qatar.geojson | 13 +
.../src/countries/russia.geojson | 171 +-
.../src/countries/rwanda.geojson | 11 +
.../src/countries/slovenia.geojson | 56 +-
.../src/countries/spain.geojson | 22 +-
.../src/countries/sweden.geojson | 6 +-
.../src/countries/switzerland.geojson | 14 +-
.../src/countries/syria.geojson | 16 +-
.../src/countries/tanzania.geojson | 36 +
.../src/countries/thailand.geojson | 6 +-
.../src/countries/uganda.geojson | 118 +
.../src/countries/uk.geojson | 28 +-
.../src/countries/ukraine.geojson | 8 +-
.../src/countries/united_arab_emirates.geojson | 15 +
.../src/countries/uruguay.geojson | 10 +-
.../src/countries/zambia.geojson | 6 +-
.../src/geojson.d.ts | 2 +-
.../src/transformProps.js | 10 +-
.../legacy-plugin-chart-event-flow/package.json | 6 +-
.../package.json | 4 +-
.../legacy-plugin-chart-heatmap/package.json | 41 +-
.../legacy-plugin-chart-heatmap/src/Heatmap.css | 72 -
.../legacy-plugin-chart-heatmap/src/Heatmap.js | 3 -
.../src/ReactHeatmap.js | 22 -
.../src/ReactHeatmap.jsx | 148 +
.../src/vendor/d3tip.css | 74 -
.../legacy-plugin-chart-histogram/package.json | 4 +-
.../src/Histogram.jsx | 8 +-
.../src/transformProps.js | 2 +
.../legacy-plugin-chart-horizon/package.json | 4 +-
.../src/controlPanel.ts | 12 +-
.../legacy-plugin-chart-map-box/package.json | 7 +-
.../legacy-plugin-chart-paired-t-test/package.json | 4 +-
.../src/controlPanel.ts | 12 +-
.../package.json | 4 +-
.../src/controlPanel.ts | 14 +-
.../legacy-plugin-chart-partition/package.json | 7 +-
.../legacy-plugin-chart-partition/src/Partition.js | 3 +-
.../src/controlPanel.tsx | 14 +-
.../src/transformProps.js | 2 +
.../legacy-plugin-chart-pivot-table/package.json | 6 +-
.../src/controlPanel.ts | 14 +-
.../plugins/legacy-plugin-chart-rose/package.json | 40 +-
.../legacy-plugin-chart-rose/src/ReactRose.js | 22 -
.../legacy-plugin-chart-rose/src/ReactRose.jsx | 75 +
.../plugins/legacy-plugin-chart-rose/src/Rose.css | 43 -
.../plugins/legacy-plugin-chart-rose/src/Rose.js | 13 +-
.../legacy-plugin-chart-rose/src/controlPanel.tsx | 14 +-
.../legacy-plugin-chart-rose/src/transformProps.js | 2 +
.../legacy-plugin-chart-sankey-loop/package.json | 6 +-
.../src/SankeyLoop.js | 4 +-
.../src/transformProps.js | 3 +-
.../legacy-plugin-chart-sankey/package.json | 4 +-
.../legacy-plugin-chart-sankey/src/ReactSankey.jsx | 1 -
.../legacy-plugin-chart-sankey/src/Sankey.js | 4 +-
.../src/transformProps.js | 3 +-
.../legacy-plugin-chart-sunburst/package.json | 6 +-
.../legacy-plugin-chart-sunburst/src/Sunburst.js | 9 +-
.../src/transformProps.js | 4 +-
.../legacy-plugin-chart-treemap/package.json | 6 +-
.../legacy-plugin-chart-treemap/src/Treemap.js | 3 +-
.../src/controlPanel.ts | 14 +-
.../src/transformProps.js | 3 +-
.../legacy-plugin-chart-world-map/package.json | 4 +-
.../src/ReactWorldMap.jsx | 2 +-
.../legacy-plugin-chart-world-map/src/WorldMap.js | 24 +-
.../src/controlPanel.ts | 4 +
.../src/transformProps.js | 12 +-
.../legacy-preset-chart-deckgl/package.json | 11 +-
.../src/CategoricalDeckGLContainer.jsx | 4 +-
.../src/DeckGLContainer.jsx | 8 +-
.../legacy-preset-chart-deckgl/src/Multi/Multi.jsx | 4 +-
.../src/components/BootstrapSliderWrapper.css | 25 -
.../src/components/BootstrapSliderWrapper.jsx | 17 +-
.../src/components/Legend.css | 44 -
.../src/components/Legend.jsx | 39 +-
.../src/components/PlaySlider.css | 46 -
.../src/components/PlaySlider.jsx | 38 +-
.../legacy-preset-chart-deckgl/src/css/deckgl.css | 22 -
.../src/utilities/Shared_DeckGL.jsx | 29 +-
.../src/utilities/controls.jsx | 17 -
.../plugins/legacy-preset-chart-nvd3/package.json | 6 +-
.../src/Bar/controlPanel.ts | 38 +-
.../legacy-preset-chart-nvd3/src/Bar/index.js | 2 +
.../src/DistBar/controlPanel.ts | 14 +-
.../legacy-preset-chart-nvd3/src/DistBar/index.js | 1 +
.../legacy-preset-chart-nvd3/src/DualLine/index.js | 2 +-
.../legacy-preset-chart-nvd3/src/NVD3Controls.tsx | 16 +-
.../legacy-preset-chart-nvd3/src/NVD3Vis.js | 5 +-
.../legacy-preset-chart-nvd3/src/ReactNVD3.jsx | 17 +-
.../legacy-preset-chart-nvd3/src/transformProps.js | 2 +
.../plugins/plugin-chart-echarts/package.json | 9 +-
.../src/BigNumber/BigNumberViz.tsx | 3 -
.../BigNumber/BigNumberWithTrendline/buildQuery.ts | 27 +-
.../BigNumberWithTrendline/transformProps.ts | 6 +-
.../src/BoxPlot/transformProps.ts | 16 +-
.../plugin-chart-echarts/src/BoxPlot/types.ts | 3 +-
.../src/Funnel/transformProps.ts | 3 +-
.../plugin-chart-echarts/src/Funnel/types.ts | 3 +-
.../src/Gauge/transformProps.ts | 5 +-
.../plugin-chart-echarts/src/Gauge/types.ts | 5 +-
.../src/Graph/transformProps.ts | 3 +-
.../plugin-chart-echarts/src/Graph/types.ts | 43 +-
.../src/MixedTimeseries/buildQuery.ts | 4 +-
.../src/MixedTimeseries/controlPanel.tsx | 1 +
.../src/MixedTimeseries/transformProps.ts | 65 +-
.../plugin-chart-echarts/src/Pie/transformProps.ts | 3 +-
.../plugins/plugin-chart-echarts/src/Pie/types.ts | 2 +-
.../src/Radar/controlPanel.tsx | 5 +-
.../src/Radar/transformProps.ts | 3 +-
.../src/Timeseries/Area/controlPanel.tsx | 22 +-
.../src/Timeseries/Area/index.ts | 26 +-
.../src/Timeseries/Regular/Bar/controlPanel.tsx | 22 +-
.../src/Timeseries/Regular/Bar/index.ts | 20 +-
.../src/Timeseries/Regular/Line/index.ts | 22 +-
.../Timeseries/Regular/Scatter/controlPanel.tsx | 18 +-
.../src/Timeseries/Regular/Scatter/index.ts | 22 +-
.../src/Timeseries/Regular/SmoothLine/index.ts | 22 +-
.../src/Timeseries/Regular/controlPanel.tsx | 26 +-
.../src/Timeseries/Step/controlPanel.tsx | 22 +-
.../src/Timeseries/Step/index.ts | 22 +-
.../src/Timeseries/buildQuery.ts | 70 +-
.../src/Timeseries/controlPanel.tsx | 22 +-
.../plugin-chart-echarts/src/Timeseries/index.ts | 32 +-
.../src/Timeseries/transformProps.ts | 102 +-
.../src/Timeseries/transformers.ts | 44 +-
.../plugin-chart-echarts/src/Timeseries/types.ts | 5 +-
.../src/Treemap/transformProps.ts | 5 +-
.../plugin-chart-echarts/src/Treemap/types.ts | 3 +-
.../plugins/plugin-chart-echarts/src/controls.tsx | 64 +-
.../plugins/plugin-chart-echarts/src/types.ts | 2 +-
.../plugin-chart-echarts/src/utils/annotation.ts | 4 +-
.../src/utils/convertInteger.ts | 22 +
.../plugin-chart-echarts/src/utils/forecast.ts | 144 +
.../plugin-chart-echarts/src/utils/prophet.ts | 140 -
.../plugin-chart-echarts/src/utils/series.ts | 62 +-
.../test/BigNumber/transformProps.test.ts | 2 +-
.../test/BoxPlot/buildQuery.test.ts | 11 +-
.../test/BoxPlot/transformProps.test.ts | 7 +-
.../test/Funnel/transformProps.test.ts | 7 +-
.../test/Gauge/buildQuery.test.ts | 2 +-
.../test/Gauge/transformProps.test.ts | 32 +-
.../test/Pie/transformProps.test.ts | 4 +-
.../test/Timeseries/transformProps.test.ts | 263 +-
.../test/Treemap/transformProps.test.ts | 3 +-
.../test/utils/annotation.test.ts | 18 +-
.../test/utils/forecast.test.ts | 256 +
.../test/utils/prophet.test.ts | 194 -
.../plugin-chart-echarts/test/utils/series.test.ts | 75 +-
.../plugins/plugin-chart-pivot-table/package.json | 10 +-
.../src/plugin/controlPanel.tsx | 1 +
.../src/react-pivottable/Styles.js | 235 +-
.../test/plugin/buildQuery.test.ts | 4 +-
.../plugins/plugin-chart-table/package.json | 7 +-
.../src/DataTable/components/Pagination.tsx | 4 +-
.../plugins/plugin-chart-table/src/Styles.tsx | 142 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 11 +-
.../plugins/plugin-chart-table/src/buildQuery.ts | 2 +
.../plugin-chart-table/src/controlPanel.tsx | 14 +-
.../plugins/plugin-chart-table/src/types.ts | 2 +-
.../plugin-chart-table/src/utils/formatValue.ts | 8 +-
.../plugin-chart-table/src/utils/isEqualArray.ts | 31 -
.../plugin-chart-table/src/utils/isEqualColumns.ts | 2 +-
.../plugin-chart-table/test/TableChart.test.tsx | 3 +-
.../plugins/plugin-chart-table/test/testData.ts | 9 +
.../plugins/plugin-chart-table/tsconfig.json | 11 +-
.../plugins/plugin-chart-word-cloud/package.json | 4 +-
.../src/chart/WordCloud.tsx | 15 +-
.../src/legacyPlugin/transformProps.ts | 2 +
.../src/plugin/transformProps.ts | 3 +-
.../plugins/preset-chart-xy/package.json | 4 +-
superset-frontend/spec/__mocks__/svgrMock.tsx | 4 +-
.../spec/fixtures/mockDashboardInfo.js | 2 +-
.../spec/fixtures/mockNativeFilters.ts | 16 +-
superset-frontend/spec/fixtures/mockState.js | 2 +-
.../spec/fixtures/mockStateWithoutUser.tsx | 2 +-
superset-frontend/spec/helpers/ResizeObserver.ts | 33 +
superset-frontend/spec/helpers/reducerIndex.ts | 2 +-
superset-frontend/spec/helpers/shim.ts | 9 +
.../dashboard/actions/dashboardState_spec.js | 121 -
.../dashboard/components/FiltersBadge_spec.tsx | 225 -
.../components/RefreshIntervalModal_spec.tsx | 237 -
.../components/gridComponents/ChartHolder_spec.jsx | 143 -
.../components/gridComponents/Chart_spec.jsx | 135 -
.../components/gridComponents/Tabs_spec.jsx | 205 -
.../nativeFilters/NativeFiltersModal_spec.tsx | 140 -
.../dashboard/fixtures/mockNativeFilters.ts | 74 -
.../dashboard/reducers/dashboardState_spec.js | 200 -
.../dashboard/util/getDashboardUrl_spec.js | 93 -
.../util/getFormDataWithExtraFilters_spec.ts | 104 -
.../components/AdhocMetricEditPopover_spec.jsx | 126 -
.../explore/components/AdhocMetricOption_spec.jsx | 85 -
.../components/ControlPanelsContainer_spec.tsx | 104 -
.../explore/components/DatasourceControl_spec.jsx | 130 -
.../explore/components/EmbedCodeButton_spec.jsx | 116 -
.../components/ExploreActionButtons_spec.jsx | 117 -
.../components/ExploreAdditionalActionsMenu.jsx | 57 -
.../components/ExploreViewContainer_spec.jsx | 92 -
.../components/FilterBoxItemControl_spec.jsx | 108 -
.../components/FilterDefinitionOption_spec.jsx | 59 -
.../components/RunQueryActionButton_spec.jsx | 50 -
.../explore/components/SaveModal_spec.jsx | 323 -
.../explore/components/SelectControl_spec.jsx | 212 -
.../explore/components/TextArea_spec.jsx | 57 -
.../spec/javascripts/explore/controlUtils_spec.tsx | 220 -
.../spec/javascripts/explore/utils_spec.jsx | 299 -
.../src/CRUD/CollectionTable.test.jsx | 48 -
superset-frontend/src/CRUD/crud.less | 54 -
superset-frontend/src/GlobalStyles.tsx | 38 +
superset-frontend/src/SqlLab/App.jsx | 2 +
superset-frontend/src/SqlLab/actions/sqlLab.js | 114 +-
.../src/SqlLab/actions/sqlLab.test.js | 78 +-
.../SqlLab/components/AceEditorWrapper/index.tsx | 14 +-
.../src/SqlLab/components/App/index.jsx | 33 +-
.../src/SqlLab/components/ColumnElement/index.tsx | 22 +-
.../components/ExploreCtasResultsButton/index.jsx | 122 -
.../components/ExploreCtasResultsButton/index.tsx | 95 +
.../ExploreResultsButton.test.jsx | 138 +-
.../components/ExploreResultsButton/index.jsx | 193 -
.../components/ExploreResultsButton/index.tsx | 53 +
.../components/QueryHistory/QueryHistory.test.tsx | 51 +
.../src/SqlLab/components/QueryHistory/index.tsx | 39 +-
.../src/SqlLab/components/QuerySearch/index.tsx | 5 +
.../components/QueryTable/QueryTable.test.jsx | 3 +
.../src/SqlLab/components/QueryTable/index.jsx | 309 -
.../src/SqlLab/components/QueryTable/index.tsx | 334 +
.../SqlLab/components/ResultSet/ResultSet.test.jsx | 18 +
.../src/SqlLab/components/ResultSet/index.tsx | 46 +-
.../RunQueryActionButton.test.jsx | 53 +
.../components/RunQueryActionButton/index.tsx | 10 +-
.../SaveDatasetModal/SaveDatasetModal.test.tsx | 3 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 4 +-
.../src/SqlLab/components/SaveQuery/index.tsx | 10 +-
.../components/ScheduleQueryButton/index.tsx | 3 +-
.../SqlLab/components/SouthPane/SouthPane.test.jsx | 50 +-
.../src/SqlLab/components/SouthPane/index.tsx | 32 +-
.../SqlLab/components/SqlEditor/SqlEditor.test.jsx | 4 +-
.../src/SqlLab/components/SqlEditor/index.jsx | 60 +-
.../SqlLab/components/SqlEditorLeftBar/index.jsx | 240 -
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 211 +
.../TabbedSqlEditors/TabbedSqlEditors.test.jsx | 16 +
.../SqlLab/components/TabbedSqlEditors/index.jsx | 68 +-
.../src/SqlLab/components/TableElement/index.tsx | 8 +-
.../TemplateParamsEditor.test.tsx | 3 -
.../components/TemplateParamsEditor/index.tsx | 3 +-
superset-frontend/src/SqlLab/fixtures.ts | 40 +-
.../src/SqlLab/reducers/getInitialState.js | 1 +
superset-frontend/src/SqlLab/reducers/sqlLab.js | 6 +-
superset-frontend/src/SqlLab/types.ts | 45 +
.../src/addSlice/AddSliceContainer.tsx | 8 +-
superset-frontend/src/addSlice/App.tsx | 2 +
superset-frontend/src/assets/images/chart.svg | 22 +
superset-frontend/src/assets/images/dashboard.svg | 33 +
superset-frontend/src/assets/images/document.svg | 22 +
.../src/assets/images/empty_sql_chart.svg | 22 +
superset-frontend/src/assets/images/filter.svg | 32 +
superset-frontend/src/assets/images/icons/drag.svg | 6 +-
superset-frontend/src/assets/images/pinot.png | Bin 0 -> 68618 bytes
superset-frontend/src/assets/images/teradata.png | Bin 0 -> 93361 bytes
superset-frontend/src/assets/images/yugabyte.png | Bin 0 -> 6460 bytes
.../assets/stylesheets/less/cosmo/variables.less | 6 +-
.../src/assets/stylesheets/less/fonts.less | 9 +-
.../src/assets/stylesheets/less/variables.less | 2 +-
.../src/assets/stylesheets/superset.less | 1 +
superset-frontend/src/chart/Chart.jsx | 297 -
superset-frontend/src/chart/ChartContainer.jsx | 40 -
superset-frontend/src/chart/ChartErrorMessage.tsx | 47 -
superset-frontend/src/chart/ChartRenderer.jsx | 242 -
superset-frontend/src/chart/ChartRenderer.test.jsx | 46 -
superset-frontend/src/chart/chartAction.js | 597 -
superset-frontend/src/chart/chartActions.test.js | 198 -
superset-frontend/src/chart/chartReducer.ts | 226 -
superset-frontend/src/chart/chartReducers.test.js | 62 -
superset-frontend/src/common/components/.eslintrc | 34 -
superset-frontend/src/common/components/index.tsx | 261 -
.../src/common/hooks/apiResources/dashboards.ts | 44 -
.../src/common/hooks/useUrlShortener.ts | 39 -
superset-frontend/src/components/.eslintrc | 34 -
superset-frontend/src/components/Alert/index.tsx | 5 +-
.../AlteredSliceTag/AlteredSliceTag.test.jsx | 12 +
.../AlteredSliceTag/AlteredSliceTagMocks.js | 8 +
.../src/components/AlteredSliceTag/index.jsx | 7 +
.../src/components/AnchorLink/AnchorLink.test.jsx | 8 +-
.../src/components/AnchorLink/index.jsx | 11 +-
.../src/components/AsyncAceEditor/index.tsx | 14 +-
.../src/components/AsyncEsmComponent/index.tsx | 60 +-
superset-frontend/src/components/Button/index.tsx | 52 +-
.../src/components/CertifiedBadge/index.tsx | 9 +-
superset-frontend/src/components/Chart/Chart.jsx | 332 +
.../src/components/Chart/ChartContainer.jsx | 40 +
.../src/components/Chart/ChartErrorMessage.tsx | 47 +
.../src/components/Chart/ChartRenderer.jsx | 276 +
.../src/components/Chart/ChartRenderer.test.jsx | 46 +
.../src/components/Chart/chartAction.js | 597 +
.../src/components/Chart/chartActions.test.js | 198 +
.../src/components/Chart/chartReducer.ts | 227 +
.../src/components/Chart/chartReducers.test.js | 62 +
.../src/components/Checkbox/Checkbox.stories.jsx | 63 -
.../src/components/Checkbox/Checkbox.stories.tsx | 62 +
.../src/components/Checkbox/Checkbox.tsx | 2 +-
.../src/components/Checkbox/index.tsx | 2 +-
.../CopyToClipboard/CopyToClipboard.stories.tsx | 1 +
.../CopyToClipboard/CopyToClipboard.test.tsx | 10 +
.../src/components/CopyToClipboard/index.jsx | 41 +-
.../components/CronPicker/CronPicker.stories.tsx | 3 +-
.../DatabaseSelector/DatabaseSelector.test.tsx | 16 +-
.../src/components/DatabaseSelector/index.tsx | 4 +-
.../Datasource/ChangeDatasourceModal.tsx | 3 +-
.../components/Datasource/CollectionTable.test.jsx | 48 +
.../Datasource}/CollectionTable.tsx | 0
.../src/components/Datasource/DatasourceEditor.jsx | 88 +-
.../Datasource/DatasourceEditor.test.jsx | 2 +-
.../components/Datasource/DatasourceModal.test.jsx | 30 +-
.../src/components/Datasource/DatasourceModal.tsx | 19 +-
.../{CRUD => components/Datasource}/Field.test.tsx | 0
.../src/{CRUD => components/Datasource}/Field.tsx | 0
.../{CRUD => components/Datasource}/Fieldset.tsx | 0
.../src/components/Datasource/crud.less | 54 +
.../src/{CRUD => components/Datasource}/utils.js | 0
.../src/components/DeleteModal/index.tsx | 4 +-
.../src/components/Dropdown/Dropdown.stories.tsx | 2 +-
.../src/components/Dropdown/index.tsx | 21 +-
.../DropdownButton/DropdownButton.stories.tsx | 2 +-
.../src/components/DropdownButton/index.tsx | 6 +-
.../src/components/EditableTitle/index.tsx | 1 +
.../components/EmptyState/EmptyState.stories.tsx | 73 +
.../src/components/EmptyState/index.tsx | 215 +
.../src/components/FacePile/FacePile.test.tsx | 2 +-
.../src/components/FacePile/index.tsx | 2 +-
.../src/components/FaveStar/index.tsx | 2 +-
.../FilterableTable/FilterableTable.test.tsx | 97 +-
.../components/FilterableTable/FilterableTable.tsx | 85 +-
.../FilterableTable/FilterableTableStyles.less | 1 +
.../src/components/FlashProvider/index.tsx | 2 +-
superset-frontend/src/components/Form/Form.tsx | 4 +-
.../src/components/Form/LabeledErrorBoundInput.tsx | 2 +-
.../src/components/FormRow/FormRow.test.jsx | 2 +-
superset-frontend/src/components/FormRow/index.jsx | 2 +-
superset-frontend/src/components/Icons/Icon.tsx | 2 +-
superset-frontend/src/components/Icons/IconType.ts | 2 +-
.../components/ImportModal/ImportModal.test.tsx | 2 +-
.../src/components/ImportModal/index.tsx | 4 +-
.../src/components/IndeterminateCheckbox/index.tsx | 8 +-
superset-frontend/src/components/Input/index.tsx | 35 +
superset-frontend/src/components/Label/index.tsx | 2 +-
.../src/components/ListView/Filters/Search.tsx | 7 +-
.../src/components/ListView/ListView.test.jsx | 2 +-
.../src/components/ListView/ListView.tsx | 3 +-
superset-frontend/src/components/ListView/utils.ts | 11 +-
.../src/components/ListViewCard/ImageLoader.tsx | 4 +-
.../ListViewCard/ListViewCard.stories.tsx | 7 +-
.../src/components/ListViewCard/index.tsx | 14 +-
.../src/components/Menu/LanguagePicker.test.tsx | 68 -
.../src/components/Menu/LanguagePicker.tsx | 85 -
.../src/components/Menu/Menu.test.tsx | 394 -
superset-frontend/src/components/Menu/Menu.tsx | 360 -
.../src/components/Menu/MenuRight.tsx | 240 -
.../src/components/Menu/SubMenu.test.tsx | 100 -
superset-frontend/src/components/Menu/SubMenu.tsx | 251 -
superset-frontend/src/components/Menu/index.tsx | 168 +
.../components/MessageToasts/ToastContainer.jsx | 28 -
.../components/MessageToasts/ToastContainer.tsx | 30 +
.../components/MessageToasts/ToastPresenter.tsx | 29 +-
.../src/components/MessageToasts/withToasts.tsx | 3 +-
superset-frontend/src/components/Modal/Modal.tsx | 5 +-
.../ModalTrigger/ModalTrigger.stories.tsx | 2 +-
.../src/components/ModalTrigger/index.jsx | 2 +
.../OmniContainer/OmniContainer.test.tsx | 150 -
.../src/components/OmniContainer/Omnibar.test.tsx | 38 -
.../src/components/OmniContainer/Omnibar.tsx | 45 -
.../src/components/OmniContainer/getDashboards.ts | 54 -
.../src/components/OmniContainer/index.tsx | 108 -
superset-frontend/src/components/Popover/index.tsx | 3 +
.../src/components/PopoverDropdown/index.tsx | 7 +-
.../src/components/RefreshLabel/index.tsx | 4 +-
.../HeaderReportActionsDropdown/index.tsx | 3 +-
.../src/components/ReportModal/index.tsx | 115 +-
.../src/components/ReportModal/styles.tsx | 26 +-
.../src/components/Select/DeprecatedSelect.tsx | 4 +-
.../src/components/Select/Select.stories.tsx | 48 +-
.../src/components/Select/Select.test.tsx | 277 +-
superset-frontend/src/components/Select/Select.tsx | 531 +-
.../components/Select/WindowedSelect/windowed.tsx | 9 +-
superset-frontend/src/components/Select/styles.tsx | 10 +-
superset-frontend/src/components/Select/utils.ts | 44 +-
superset-frontend/src/components/Slider/index.tsx | 4 +-
.../src/components/TableCollection/index.tsx | 27 +-
.../TableSelector/TableSelector.test.tsx | 86 +-
.../src/components/TableSelector/index.tsx | 10 +-
.../src/components/TableView/TableView.stories.tsx | 28 +-
.../src/components/TableView/TableView.test.tsx | 18 +
.../src/components/TableView/TableView.tsx | 5 +-
superset-frontend/src/components/Tabs/Tabs.tsx | 8 +-
.../TimezoneSelector/TimezoneSelector.stories.tsx | 4 +-
.../TimezoneSelector/TimezoneSelector.test.tsx | 180 +-
.../src/components/TimezoneSelector/index.tsx | 71 +-
.../URLShortLinkButton/URLShortLinkButton.test.tsx | 52 +-
.../src/components/URLShortLinkButton/index.jsx | 27 +-
.../src/components/UiConfigContext/index.tsx | 57 +
superset-frontend/src/components/index.ts | 56 +
superset-frontend/src/constants.ts | 45 +
superset-frontend/src/dashboard/.eslintrc | 31 -
.../src/dashboard/actions/dashboardInfo.ts | 27 +-
.../src/dashboard/actions/dashboardLayout.js | 6 +-
.../dashboard/actions/dashboardLayout.test.js} | 0
.../src/dashboard/actions/dashboardState.js | 82 +-
.../src/dashboard/actions/dashboardState.test.js | 125 +
superset-frontend/src/dashboard/actions/hydrate.js | 32 +-
.../src/dashboard/actions/nativeFilters.ts | 35 +-
.../src/dashboard/components/AddSliceCard.jsx | 1 -
.../dashboard/components/BuilderComponentPane.tsx | 10 +
.../CrossFilterScopingForm/index.tsx | 6 +-
.../CrossFilterScopingModal.tsx | 4 +-
.../components/CrossFilterScopingModal/types.ts | 4 +-
.../CrossFilterScopingModal/utils/index.ts | 2 +-
.../src/dashboard/components/CssEditor/index.jsx | 7 +-
.../src/dashboard/components/Dashboard.jsx | 2 -
.../dashboard/components/Dashboard.test.jsx} | 0
.../DashboardBuilder/DashboardBuilder.test.jsx} | 0
.../DashboardBuilder/DashboardBuilder.tsx | 83 +-
.../DashboardBuilder/DashboardContainer.tsx | 69 +-
.../dashboard/components/DashboardBuilder/state.ts | 21 +-
.../components/DashboardEmbedControls.tsx | 228 +
.../src/dashboard/components/DashboardGrid.jsx | 229 +-
.../dashboard/components/DashboardGrid.test.jsx} | 0
.../dashboard/components/DeleteComponentButton.jsx | 40 -
.../dashboard/components/DeleteComponentButton.tsx | 31 +
.../components/FiltersBadge/DetailsPanel/index.tsx | 2 +-
.../components/FiltersBadge/FiltersBadge.test.tsx | 225 +
.../dashboard/components/FiltersBadge/Styles.tsx | 100 +-
.../dashboard/components/FiltersBadge/index.tsx | 5 +-
.../dashboard/components/FiltersBadge/selectors.ts | 44 +-
.../HeaderActionsDropdown.test.tsx | 8 +-
.../Header/HeaderActionsDropdown/index.jsx | 26 +-
.../src/dashboard/components/Header/index.jsx | 53 +-
.../dashboard/components/MissingChart.test.tsx} | 0
.../PropertiesModal/PropertiesModal.test.jsx} | 0
.../PropertiesModal/PropertiesModal.test.tsx | 1 +
.../dashboard/components/PropertiesModal/index.tsx | 50 +-
.../components/RefreshIntervalModal.test.tsx | 239 +
.../dashboard/components/RefreshIntervalModal.tsx | 2 +
.../src/dashboard/components/SaveModal.tsx | 3 +-
.../src/dashboard/components/SliceAdder.jsx | 2 +-
.../dashboard/components/SliceAdder.test.jsx} | 0
.../components/SliceHeader/SliceHeader.test.tsx | 5 +-
.../src/dashboard/components/SliceHeader/index.tsx | 61 +-
.../SliceHeaderControls.test.tsx | 9 +-
.../components/SliceHeaderControls/index.tsx | 32 +-
.../components/UndoRedoKeyListeners/index.jsx | 4 +-
.../components/dnd/DragDroppable.test.jsx} | 0
.../src/dashboard/components/dnd/DragHandle.tsx | 38 +-
.../components/filterscope/FilterScopeSelector.jsx | 4 +-
.../dashboard/components/gridComponents/Chart.jsx | 66 +-
.../components/gridComponents/Chart.test.jsx | 143 +
.../components/gridComponents/ChartHolder.jsx | 15 +-
.../components/gridComponents/ChartHolder.test.jsx | 138 +
.../components/gridComponents/ChartHolder.test.tsx | 20 +-
.../components/gridComponents/Column.test.jsx} | 0
.../components/gridComponents/Divider.test.jsx} | 0
.../components/gridComponents/DynamicComponent.tsx | 177 +
.../components/gridComponents/Header.test.jsx} | 0
.../components/gridComponents/Markdown.test.jsx} | 0
.../components/gridComponents/Row.test.jsx} | 0
.../dashboard/components/gridComponents/Tab.jsx | 69 +-
.../components/gridComponents/Tab.test.jsx} | 0
.../components/gridComponents/Tab.test.tsx | 77 +-
.../dashboard/components/gridComponents/Tabs.jsx | 4 +-
.../components/gridComponents/Tabs.test.jsx | 205 +
.../components/gridComponents/Tabs.test.tsx | 2 +-
.../dashboard/components/gridComponents/index.js | 4 +
.../gridComponents/new/DraggableNewComponent.jsx | 4 +-
.../new/DraggableNewComponent.test.jsx} | 0
.../gridComponents/new/NewColumn.test.jsx} | 0
.../gridComponents/new/NewDivider.test.jsx} | 0
.../gridComponents/new/NewDynamicComponent.tsx | 43 +
.../gridComponents/new/NewHeader.test.jsx} | 0
.../components/gridComponents/new/NewRow.test.jsx} | 0
.../gridComponents/new/NewTabs.test.jsx} | 0
.../dashboard/components/menu/HoverMenu.test.tsx} | 0
.../menu/ShareMenuItems/ShareMenuItems.test.tsx | 20 +-
.../components/menu/ShareMenuItems/index.tsx | 68 +-
.../components/menu/WithPopoverMenu.test.jsx} | 0
.../FilterBar/ActionButtons/ActionButtons.test.tsx | 79 +
.../FilterBar/ActionButtons/index.tsx | 125 +
.../CascadeFilterControl.test.tsx | 95 -
.../CascadeFilters/CascadeFilterControl/index.tsx | 74 -
.../CascadeFilters/CascadePopover/index.tsx | 241 -
.../FilterBar/CascadeFilters/types.ts | 25 -
.../nativeFilters/FilterBar/FilterBar.test.tsx | 4 +-
.../FilterBar/FilterConfigurationLink/index.tsx | 3 +-
.../FilterBar/FilterControls/FilterControl.tsx | 43 +-
.../FilterBar/FilterControls/FilterControls.tsx | 85 +-
.../FilterBar/FilterControls/FilterValue.tsx | 74 +-
.../FilterBar/FilterControls/state.ts | 28 +-
.../FilterBar/FilterControls/types.ts | 5 +-
.../FilterBar/FilterControls/utils.ts | 26 -
.../FilterBar/FilterSets/EditSection.tsx | 9 +-
.../FilterBar/FilterSets/FilterSetUnit.tsx | 24 +-
.../FilterBar/FilterSets/FiltersHeader.tsx | 32 +-
.../nativeFilters/FilterBar/FilterSets/index.tsx | 17 +-
.../FilterSets/utils/findExistingFilterSet.test.ts | 2 +-
.../FilterBar/FilterSets/utils/index.ts | 4 +-
.../nativeFilters/FilterBar/Header/Header.test.tsx | 60 -
.../nativeFilters/FilterBar/Header/index.tsx | 105 +-
.../components/nativeFilters/FilterBar/index.tsx | 394 +-
.../nativeFilters/FilterBar/keyValue.tsx | 52 +-
.../components/nativeFilters/FilterBar/state.ts | 12 +-
.../components/nativeFilters/FilterBar/utils.ts | 21 +-
.../nativeFilters/FilterCard/DependenciesRow.tsx | 116 +
.../nativeFilters/FilterCard/FilterCard.test.tsx | 306 +
.../nativeFilters/FilterCard/FilterCardContent.tsx | 34 +
.../nativeFilters/FilterCard/NameRow.tsx | 50 +
.../nativeFilters/FilterCard/ScopeRow.tsx | 85 +
.../components/nativeFilters/FilterCard/Styles.ts | 94 +
.../FilterCard/TooltipWithTruncation.tsx | 37 +
.../nativeFilters/FilterCard/TypeRow.tsx | 35 +
.../components/nativeFilters/FilterCard/index.tsx | 55 +
.../components/nativeFilters/FilterCard/types.ts | 36 +
.../FilterCard/useFilterDependencies.ts | 34 +
.../nativeFilters/FilterCard/useFilterScope.ts | 152 +
.../nativeFilters/FilterCard/useTruncation.ts | 58 +
.../FiltersConfigModal/DividerConfigForm.tsx | 5 +-
.../FiltersConfigModal/DraggableFilter.tsx | 17 +-
.../FiltersConfigModal/FilterConfigPane.test.tsx | 55 +-
.../FiltersConfigModal/FilterConfigurePane.tsx | 19 +-
.../FiltersConfigModal/FilterTitleContainer.tsx | 237 +-
.../FiltersConfigModal/FilterTitlePane.tsx | 76 +-
.../FiltersConfigForm/CollapsibleControl.tsx | 12 +-
.../FiltersConfigForm/ColumnSelect.tsx | 5 +-
.../FiltersConfigForm/DefaultValue.tsx | 2 +-
.../FiltersConfigForm/DependencyList.tsx | 213 +
.../FilterScope/FilterScope.test.tsx | 16 +-
.../FiltersConfigForm/FilterScope/FilterScope.tsx | 13 +-
.../FiltersConfigForm/FilterScope/ScopingTree.tsx | 8 +-
.../FiltersConfigForm/FilterScope/utils.ts | 14 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 673 +-
.../FiltersConfigForm/getControlItemsMap.test.tsx | 7 +-
.../FiltersConfigForm/getControlItemsMap.tsx | 15 +-
.../FiltersConfigModal/FiltersConfigForm/state.ts | 11 +-
.../FiltersConfigModal/FiltersConfigForm/utils.ts | 2 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 46 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 275 +-
.../FiltersConfigModal/NativeFiltersModal.test.tsx | 141 +
.../nativeFilters/FiltersConfigModal/state.ts | 6 +-
.../nativeFilters/FiltersConfigModal/types.ts | 19 +-
.../nativeFilters/FiltersConfigModal/utils.ts | 180 +-
.../dashboard/components/nativeFilters/state.ts | 43 +-
.../dashboard/components/nativeFilters/types.ts | 80 -
.../dashboard/components/nativeFilters/utils.ts | 23 +-
.../resizable/ResizableContainer.test.tsx} | 0
.../components/resizable/ResizableHandle.test.tsx} | 0
superset-frontend/src/dashboard/constants.ts | 9 +
.../src/dashboard/containers/Chart.jsx | 8 +-
.../src/dashboard/containers/Dashboard.ts | 2 +-
.../dashboard/containers/DashboardComponent.jsx | 2 +
.../src/dashboard/containers/DashboardGrid.jsx | 6 +-
.../src/dashboard/containers/DashboardPage.tsx | 61 +-
.../src/dashboard/containers/DashboardRoute.tsx | 28 +
.../src/dashboard/fixtures/mockNativeFilters.ts | 76 +
.../dashboard/reducers/dashboardFilters.test.js} | 0
.../dashboard/reducers/dashboardLayout.test.js} | 0
.../src/dashboard/reducers/dashboardState.js | 30 +
.../src/dashboard/reducers/dashboardState.test.js | 207 +
.../src/dashboard/reducers/nativeFilters.ts | 7 +-
.../dashboard/reducers/sliceEntities.test.js} | 0
superset-frontend/src/dashboard/reducers/types.ts | 27 +-
superset-frontend/src/dashboard/styles.ts | 47 +
.../src/dashboard/stylesheets/builder.less | 1 +
.../dashboard/stylesheets/components/header.less | 2 +-
.../dashboard/stylesheets/components/markdown.less | 6 +-
.../src/dashboard/stylesheets/dnd.less | 27 -
superset-frontend/src/dashboard/types.ts | 21 +-
.../dashboard/util/activeAllDashboardFilters.ts | 13 +-
.../src/dashboard/util/activeDashboardFilters.js | 8 +-
.../util/charts/getFormDataWithExtraFilters.ts | 16 +-
.../dashboard/util/componentIsResizable.test.ts} | 0
.../src/dashboard/util/componentIsResizable.ts | 13 +-
.../src/dashboard/util/componentTypes.ts | 3 +
superset-frontend/src/dashboard/util/constants.ts | 1 +
.../dashboard/util/dnd-reorder.test.js} | 0
.../dashboard/util/dropOverflowsParent.test.js} | 0
.../util/filterboxMigrationHelper.test.ts | 2 -
.../src/dashboard/util/filterboxMigrationHelper.ts | 13 +-
.../util/findFirstParentContainer.test.js} | 0
.../dashboard/util/findParentId.test.js} | 0
.../src/dashboard/util/findPermission.test.ts | 1 +
.../util/findTabIndexByComponentId.test.js} | 0
.../getChartAndLabelComponentIdFromPath.test.js} | 0
.../dashboard/util/getChartIdsFromLayout.test.js} | 0
.../src/dashboard/util/getChartIdsInFilterScope.ts | 44 +
.../src/dashboard/util/getDashboardUrl.test.js | 93 +
.../dashboard/util/getDetailedComponentWidth.js | 2 +
.../util/getDetailedComponentWidth.test.js} | 0
.../src/dashboard/util/getDropPosition.js | 9 -
.../dashboard/util/getDropPosition.test.js} | 0
.../util/getEffectiveExtraFilters.test.js} | 0
.../util/getFilterConfigsFromFormdata.test.js} | 0
.../util/getFilterScopeFromNodesTree.test.js} | 0
.../util/getFormDataWithExtraFilters.test.ts | 104 +
.../util/getLeafComponentIdFromPath.test.js} | 0
.../dashboard/util/isDashboardEmpty.test.ts} | 0
.../src/dashboard/util/isDashboardEmpty.ts | 8 +-
.../dashboard/util/isValidChild.test.ts} | 0
.../src/dashboard/util/isValidChild.ts | 5 +
.../src/dashboard/util/newComponentFactory.js | 6 +
.../dashboard/util/newComponentFactory.test.js} | 0
.../dashboard/util/newEntitiesFromDrop.test.js} | 0
.../util/updateComponentParentsList.test.js} | 0
superset-frontend/src/dataMask/actions.ts | 4 +-
superset-frontend/src/dataMask/reducer.ts | 20 +-
superset-frontend/src/dataMask/types.ts | 29 -
superset-frontend/src/embedded/index.tsx | 170 +
superset-frontend/src/explore/App.jsx | 2 +
.../explore/actions/exploreActions.test.js} | 0
.../src/explore/actions/exploreActions.ts | 26 +
.../src/explore/components/ControlHeader.jsx | 174 -
.../explore/components/ControlHeader.stories.tsx | 77 +
.../src/explore/components/ControlHeader.tsx | 158 +
.../src/explore/components/ControlPanelAlert.tsx | 98 +
.../components/ControlPanelsContainer.test.tsx | 102 +
.../explore/components/ControlPanelsContainer.tsx | 365 +-
.../explore/components/ControlRow.test.tsx} | 0
.../explore/components/DataTableControl/index.tsx | 214 +-
.../DataTableControl/useTableColumns.test.ts | 29 +-
.../DataTablesPane/DataTablesPane.test.tsx | 17 +-
.../explore/components/DataTablesPane/index.tsx | 116 +-
.../DatasourcePanelDragOption/index.tsx | 34 +-
.../explore/components/DatasourcePanel/index.tsx | 116 +-
.../src/explore/components/EmbedCodeButton.jsx | 174 -
.../src/explore/components/EmbedCodeContent.jsx | 153 +
.../explore/components/EmbedCodeContent.test.jsx | 48 +
.../explore/components/ExploreActionButtons.tsx | 228 -
.../ExploreAdditionalActionsMenu.test.tsx | 202 +-
.../ExploreAdditionalActionsMenu/ExploreReport.tsx | 92 +
.../ExploreAdditionalActionsMenu/index.jsx | 479 +-
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 12 +-
.../components/ExploreChartHeader/index.jsx | 103 +-
.../src/explore/components/ExploreChartPanel.jsx | 4 +-
.../explore/components/ExploreChartPanel.test.jsx} | 0
.../explore/components/ExploreViewContainer.jsx | 671 -
.../ExploreViewContainer.test.tsx | 123 +
.../components/ExploreViewContainer/index.jsx | 724 +
.../components/ExportToCSVDropdown/index.tsx | 7 +-
.../PropertiesModal/PropertiesModal.test.tsx | 153 +-
.../explore/components/PropertiesModal/index.tsx | 42 +-
.../src/explore/components/QueryAndSaveBtns.jsx | 132 -
.../components/QueryAndSaveBtns.stories.tsx | 48 +
.../explore/components/QueryAndSaveBtns.test.jsx} | 0
.../src/explore/components/QueryAndSaveBtns.tsx | 124 +
.../src/explore/components/RowCountLabel.jsx | 59 -
.../explore/components/RowCountLabel.stories.tsx | 59 +
.../explore/components/RowCountLabel.test.jsx} | 0
.../src/explore/components/RowCountLabel.tsx | 53 +
.../src/explore/components/SaveModal.test.jsx | 323 +
.../src/explore/components/SaveModal.tsx | 16 +-
.../controls/AnnotationLayerControl/index.jsx | 26 +-
.../explore/components/controls/BoundsControl.jsx | 129 -
.../components/controls/BoundsControl.stories.tsx | 54 +
.../components/controls/BoundsControl.test.jsx} | 0
.../explore/components/controls/BoundsControl.tsx | 105 +
.../components/controls/CheckboxControl.test.tsx} | 0
.../controls/CollectionControl/index.jsx | 2 +-
.../controls/ColorPickerControl.test.tsx} | 0
.../ColorSchemeControl/ColorScheme.test.jsx} | 0
.../ConditionalFormattingControl.tsx | 2 +-
.../FormattingPopoverContent.tsx | 33 +-
.../ControlPopover/ControlPopover.test.tsx | 126 +
.../controls/ControlPopover/ControlPopover.tsx | 118 +
.../components/controls/CustomListItem/index.tsx | 2 +-
.../DatasourceControl/DatasourceControl.test.jsx | 133 +
.../DatasourceControl/DatasourceControl.test.tsx | 1 +
.../controls/DatasourceControl/index.jsx | 45 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 160 +-
.../DateFilterControl/components/AdvancedFrame.tsx | 2 +-
.../DateFilterControl/components/CustomFrame.tsx | 11 +-
.../components/controls/DateFilterControl/types.ts | 1 -
.../controls/DateFilterControl/utils/constants.ts | 39 +-
.../DateFilterControl/utils/dateFilterUtils.ts | 18 +-
.../controls/DateFilterControl/utils/utils.test.ts | 19 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 156 +-
.../ColumnSelectPopoverTrigger.tsx | 23 +-
.../DndColumnSelectControl/DndColumnSelect.tsx | 7 +-
.../DndColumnSelectPopoverTitle.jsx | 2 +-
.../DndColumnSelectControl/DndMetricSelect.tsx | 2 +-
.../DndColumnSelectControl/OptionWrapper.tsx | 1 -
.../FilterBoxItemControl.test.jsx | 108 +
.../FilterBoxItemControl.test.tsx | 4 +-
.../controls/FilterBoxItemControl/index.jsx | 7 +-
.../index.tsx | 46 +-
.../AdhocFilterPopoverTrigger.test.tsx | 3 +-
.../AdhocFilterPopoverTrigger/index.tsx | 7 +-
.../explore/components/controls/HiddenControl.tsx | 2 +-
.../controls/MetricControl/AdhocMetric.test.js} | 0
.../AdhocMetricEditPopover.test.jsx | 127 +
.../MetricControl/AdhocMetricEditPopover/index.jsx | 41 +-
.../MetricControl/AdhocMetricEditPopoverTitle.jsx | 2 +-
.../AdhocMetricEditPopoverTitle.test.jsx} | 0
.../MetricControl/AdhocMetricOption.test.jsx | 85 +
.../MetricControl/AdhocMetricPopoverTrigger.tsx | 6 +-
.../MetricControl/AggregateOption.test.tsx} | 0
.../MetricControl/FilterDefinitionOption.test.jsx | 53 +
.../MetricControl/MetricDefinitionOption.test.jsx} | 0
.../MetricControl/MetricDefinitionValue.test.jsx} | 0
.../controls/MetricControl/MetricsControl.jsx | 2 +-
.../MetricControl/MetricsControl.test.jsx} | 0
.../components/controls/OptionControls/index.tsx | 11 +-
.../explore/components/controls/SelectControl.jsx | 16 +-
.../components/controls/SelectControl.test.jsx | 170 +
.../explore/components/controls/SliderControl.jsx | 43 -
.../components/controls/SliderControl.stories.tsx | 45 +
.../explore/components/controls/SliderControl.tsx | 37 +
.../explore/components/controls/SpatialControl.jsx | 2 +-
.../components/controls/TextAreaControl.jsx | 8 +-
.../components/controls/TextAreaControl.test.jsx | 65 +
.../components/controls/TextControl/index.tsx | 2 +-
.../controls/TimeSeriesColumnControl/index.jsx | 11 +-
.../explore/components/controls/ViewQueryModal.tsx | 2 +-
.../components/controls/ViewportControl.test.jsx} | 0
.../VizTypeControl/VizTypeControl.test.jsx} | 0
.../VizTypeControl/VizTypeControl.test.tsx | 2 +-
.../controls/VizTypeControl/VizTypeGallery.tsx | 88 +-
.../controls/withAsyncVerification.test.tsx} | 0
.../explore/components/useTimeFormattedColumns.ts | 27 +
superset-frontend/src/explore/constants.ts | 1 +
.../src/explore/controlPanels/sections.tsx | 23 +-
.../src/explore/controlUtils/controlUtils.test.tsx | 220 +
.../getControlValuesCompatibleWithDatasource.ts | 99 +
.../src/explore/controlUtils/index.ts | 1 +
superset-frontend/src/explore/controls.jsx | 8 +-
.../src/explore/exploreUtils/exploreUtils.test.jsx | 278 +
.../src/explore/exploreUtils/formData.test.ts | 28 +
.../src/explore/exploreUtils/formData.ts | 80 +
.../explore/exploreUtils/getExploreLongUrl.test.ts | 134 -
.../exploreUtils/getSimpleSQLExpression.test.ts | 8 +
.../src/explore/exploreUtils/index.js | 72 +-
.../{spec/javascripts => src}/explore/fixtures.tsx | 0
.../src/explore/reducers/exploreReducer.js | 64 +-
.../src/explore/reducers/getInitialState.ts | 10 +-
superset-frontend/src/explore/reducers/index.js | 2 +-
.../store_spec.jsx => src/explore/store.test.jsx} | 0
.../components/GroupBy/GroupByFilterPlugin.tsx | 5 +-
.../src/filters/components/GroupBy/controlPanel.ts | 9 +-
.../filters/components/GroupBy/transformProps.ts | 11 +-
.../src/filters/components/GroupBy/types.ts | 1 +
.../filters/components/Range/RangeFilterPlugin.tsx | 16 +-
.../src/filters/components/Range/controlPanel.ts | 6 +-
.../src/filters/components/Range/transformProps.ts | 11 +-
.../components/Select/SelectFilterPlugin.test.tsx | 27 +-
.../components/Select/SelectFilterPlugin.tsx | 21 +-
.../src/filters/components/Select/controlPanel.ts | 11 +-
.../filters/components/Select/transformProps.ts | 11 +-
.../src/filters/components/Select/types.ts | 6 +-
.../filters/components/Time/TimeFilterPlugin.tsx | 13 +-
.../src/filters/components/Time/controlPanel.ts | 6 +-
.../src/filters/components/Time/transformProps.ts | 11 +-
.../src/filters/components/Time/types.ts | 2 +
.../TimeColumn/TimeColumnFilterPlugin.tsx | 5 +-
.../filters/components/TimeColumn/controlPanel.ts | 6 +-
.../components/TimeColumn/transformProps.ts | 11 +-
.../src/filters/components/TimeColumn/types.ts | 1 +
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 5 +-
.../filters/components/TimeGrain/controlPanel.ts | 6 +-
.../filters/components/TimeGrain/transformProps.ts | 12 +-
.../src/filters/components/TimeGrain/types.ts | 1 +
superset-frontend/src/filters/components/types.ts | 1 +
.../hooks/apiResources/apiResources.test.ts | 0
.../hooks/apiResources/apiResources.ts | 0
.../src/{common => }/hooks/apiResources/charts.ts | 0
.../src/hooks/apiResources/dashboards.ts | 47 +
.../src/{common => }/hooks/apiResources/index.ts | 0
.../{common => }/hooks/useChangeEffect/index.ts | 0
.../hooks/useChangeEffect/useChangeEffect.test.ts | 0
.../hooks/useChangeEffect/useChangeEffect.ts | 0
.../hooks/useComponentDidMount/index.ts | 0
.../useComponentDidMount.test.ts | 0
.../useComponentDidMount/useComponentDidMount.ts | 0
.../hooks/useComponentDidUpdate/index.ts | 0
.../useComponentDidUpdate.test.ts | 0
.../useComponentDidUpdate/useComponentDidUpdate.ts | 0
.../{common => }/hooks/useElementOnScreen/index.ts | 0
.../src/{common => }/hooks/usePrevious/index.ts | 0
.../hooks/usePrevious/usePrevious.test.ts | 0
.../{common => }/hooks/usePrevious/usePrevious.ts | 0
superset-frontend/src/hooks/useTabId.ts | 73 +
superset-frontend/src/logger/LogUtils.ts | 2 -
superset-frontend/src/middleware/asyncEvent.ts | 25 +-
superset-frontend/src/preamble.ts | 38 +-
superset-frontend/src/profile/App.tsx | 2 +
.../src/profile/components/App.test.tsx | 2 +-
superset-frontend/src/profile/components/App.tsx | 2 +-
.../src/profile/components/fixtures.tsx | 1 +
superset-frontend/src/reports/actions/reports.js | 21 +-
superset-frontend/src/setup/setupClient.ts | 13 +-
superset-frontend/src/setup/setupColors.ts | 25 +-
.../src/setup/setupDasboardComponents.ts | 31 +
superset-frontend/src/setup/setupPlugins.ts | 5 +-
superset-frontend/src/showSavedQuery/index.jsx | 25 +-
superset-frontend/src/showSavedQuery/index.less | 25 -
superset-frontend/src/types/Chart.ts | 2 +
superset-frontend/src/types/bootstrapTypes.ts | 1 +
superset-frontend/src/types/brace.d.ts | 1 +
superset-frontend/src/utils/common.js | 26 +-
superset-frontend/src/utils/common.test.jsx | 67 +-
superset-frontend/src/utils/functionalRegistry.ts | 83 +
superset-frontend/src/utils/localStorageHelpers.ts | 2 +
.../src/utils/rankedSearchCompare.test.ts | 48 +
superset-frontend/src/utils/rankedSearchCompare.ts | 38 +
.../src/utils/sortNumericValues.test.ts | 61 +
superset-frontend/src/utils/sortNumericValues.ts | 52 +
superset-frontend/src/utils/urlUtils.ts | 107 +-
superset-frontend/src/views/App.tsx | 49 +-
.../src/views/CRUD/alert/AlertList.test.jsx | 2 +-
.../src/views/CRUD/alert/AlertList.tsx | 2 +-
.../src/views/CRUD/alert/AlertReportModal.test.jsx | 18 +
.../src/views/CRUD/alert/AlertReportModal.tsx | 47 +-
.../src/views/CRUD/alert/ExecutionLog.tsx | 24 +-
.../components/AlertReportCronScheduler.test.tsx | 3 +-
.../alert/components/AlertReportCronScheduler.tsx | 3 +-
.../CRUD/alert/components/AlertStatusIcon.tsx | 4 +-
.../views/CRUD/annotation/AnnotationList.test.jsx | 2 +-
.../src/views/CRUD/annotation/AnnotationList.tsx | 32 +-
.../CRUD/annotationlayers/AnnotationLayerModal.tsx | 4 +
.../annotationlayers/AnnotationLayersList.test.jsx | 2 +-
.../CRUD/annotationlayers/AnnotationLayersList.tsx | 2 +-
.../src/views/CRUD/chart/ChartCard.tsx | 7 +-
.../src/views/CRUD/chart/ChartList.tsx | 48 +-
superset-frontend/src/views/CRUD/chart/types.ts | 1 +
.../CRUD/csstemplates/CssTemplatesList.test.jsx | 2 +-
.../views/CRUD/csstemplates/CssTemplatesList.tsx | 2 +-
.../src/views/CRUD/dashboard/DashboardCard.tsx | 21 +-
.../views/CRUD/dashboard/DashboardList.test.jsx | 68 +-
.../src/views/CRUD/dashboard/DashboardList.tsx | 85 +-
.../views/CRUD/data/database/DatabaseList.test.jsx | 25 +-
.../src/views/CRUD/data/database/DatabaseList.tsx | 64 +-
.../DatabaseConnectionForm/CommonParameters.tsx | 4 +-
.../DatabaseConnectionForm/EncryptedField.tsx | 30 +-
.../data/database/DatabaseModal/ExtraOptions.tsx | 20 +-
.../data/database/DatabaseModal/SqlAlchemyForm.tsx | 140 +-
.../data/database/DatabaseModal/index.test.jsx | 37 +-
.../CRUD/data/database/DatabaseModal/index.tsx | 60 +-
.../CRUD/data/database/DatabaseModal/styles.ts | 161 +-
.../src/views/CRUD/data/database/types.ts | 4 +
.../src/views/CRUD/data/dataset/DatasetList.tsx | 3 +-
.../src/views/CRUD/data/dataset/types.ts | 1 +
.../src/views/CRUD/data/query/QueryList.tsx | 2 +-
.../CRUD/data/savedquery/SavedQueryList.test.jsx | 2 +-
.../views/CRUD/data/savedquery/SavedQueryList.tsx | 3 +-
superset-frontend/src/views/CRUD/hooks.ts | 16 +-
superset-frontend/src/views/CRUD/utils.test.tsx | 32 +
superset-frontend/src/views/CRUD/utils.tsx | 86 +-
.../src/views/CRUD/welcome/ActivityTable.tsx | 2 +-
.../src/views/CRUD/welcome/ChartTable.tsx | 6 +-
.../src/views/CRUD/welcome/DashboardTable.tsx | 6 +-
.../src/views/CRUD/welcome/EmptyState.tsx | 2 +-
.../src/views/CRUD/welcome/SavedQueries.test.tsx | 2 +-
.../src/views/CRUD/welcome/SavedQueries.tsx | 9 +-
.../src/views/CRUD/welcome/Welcome.tsx | 27 +-
.../src/views/RootContextProviders.tsx | 55 +
.../src/views/components/LanguagePicker.test.tsx | 68 +
.../src/views/components/LanguagePicker.tsx | 85 +
.../src/views/components/Menu.test.tsx | 469 +
superset-frontend/src/views/components/Menu.tsx | 381 +
.../src/views/components/MenuRight.tsx | 349 +
.../src/views/components/SubMenu.test.tsx | 120 +
superset-frontend/src/views/components/SubMenu.tsx | 302 +
superset-frontend/src/views/components/types.ts | 39 +
superset-frontend/src/views/menu.tsx | 2 +-
superset-frontend/src/views/routes.tsx | 8 +-
superset-frontend/src/views/store.ts | 2 +-
.../src/visualizations/FilterBox/FilterBox.jsx | 1 +
.../visualizations/FilterBox/FilterBox.test.jsx} | 0
.../src/visualizations/TimeTable/TimeTable.jsx | 33 +-
.../TimeTable/TimeTableChartPlugin.ts | 50 -
.../TimeTable/controlPanel.js} | 0
.../src/visualizations/TimeTable/index.ts | 52 +
.../DashboardComponentsRegistry.ts | 62 +
.../ExampleComponent/ExampleComponent.tsx | 33 +
.../dashboardComponents/ExampleComponent/index.ts | 28 +
.../src/visualizations/presets/MainPreset.js | 2 +-
.../visualizations/presets/dashboardComponents.ts | 30 +
.../superset-ui-plugins-deckgl/.github/CODEOWNERS | 12 -
.../.github/ISSUE_TEMPLATE/bug_report.md | 29 -
.../.github/ISSUE_TEMPLATE/feature_request.md | 17 -
.../.github/ISSUE_TEMPLATE/question.md | 8 -
.../.github/PULL_REQUEST_TEMPLATE.md | 9 -
.../.github/issue_label_bot.yaml | 4 -
.../.github/semantic.yml | 2 -
.../superset-ui-plugins-deckgl/.gitignore | 57 -
.../superset-ui-plugins-deckgl/.npmrc | 1 -
.../superset-ui-plugins-deckgl/.nvmrc | 1 -
.../superset-ui-plugins-deckgl/.travis.yml | 24 -
.../superset-ui-plugins-deckgl/LICENSE | 201 -
.../superset-ui-plugins-deckgl/README.md | 42 -
.../commitlint.config.js | 1 -
.../superset-ui-plugins-deckgl/lerna.json | 9 -
.../superset-ui-plugins-deckgl/package.json | 158 -
.../README.md | 40 -
.../package.json | 44 -
.../src/Kepler.css | 20 -
.../src/Kepler.jsx | 146 -
.../src/KeplerChartPlugin.js | 38 -
.../src/images/thumbnail.png | Bin 18421 -> 0 bytes
.../src/images/thumbnailLarge.png | Bin 58662 -> 0 bytes
.../src/index.js | 2 -
.../src/preset.js | 29 -
.../src/store.js | 81 -
.../src/transformProps.js | 34 -
.../superset-ui-plugins-demo/.storybook/addons.js | 5 -
.../superset-ui-plugins-demo/.storybook/config.js | 26 -
.../.storybook/storybook.css | 8 -
.../.storybook/webpack.config.js | 76 -
.../packages/superset-ui-plugins-demo/README.md | 53 -
.../packages/superset-ui-plugins-demo/package.json | 55 -
.../storybook/shared/dummyDatasource.ts | 1 -
.../storybook/stories/index.js | 75 -
.../scripts/buildAssets.js | 23 -
.../superset-ui-plugins-deckgl/yarn.lock | 18825 -----
.../superset-ui/.eslintignore | 9 -
.../temporary_superset_ui/superset-ui/.eslintrc.js | 296 -
.../superset-ui/.github/CODEOWNERS | 12 -
.../.github/ISSUE_TEMPLATE/bug_report.md | 35 -
.../.github/ISSUE_TEMPLATE/feature_request.md | 18 -
.../superset-ui/.github/ISSUE_TEMPLATE/question.md | 8 -
.../superset-ui/.github/PULL_REQUEST_TEMPLATE.md | 9 -
.../superset-ui/.github/config.yml | 14 -
.../superset-ui/.github/dependabot.yml | 53 -
.../superset-ui/.github/issue_label_bot.yaml | 4 -
.../superset-ui/.github/semantic.yml | 2 -
.../superset-ui/.github/workflows/chromatic.yml | 44 -
.../superset-ui/.github/workflows/ci.yml | 69 -
.../superset-ui/.github/workflows/codecov.sh | 1903 -
.../temporary_superset_ui/superset-ui/.gitignore | 49 -
.../temporary_superset_ui/superset-ui/.nvmrc | 1 -
.../superset-ui/.prettierignore | 17 -
.../superset-ui/.rat-excludes | 66 -
.../temporary_superset_ui/superset-ui/CHANGELOG.md | 1313 -
.../superset-ui/CONTRIBUTING.md | 71 -
.../temporary_superset_ui/superset-ui/LICENSE | 201 -
.../temporary_superset_ui/superset-ui/README.md | 80 -
.../superset-ui/babel.config.js | 49 -
.../temporary_superset_ui/superset-ui/codecov.yml | 22 -
.../superset-ui/commitlint.config.js | 25 -
.../superset-ui/docs/debugging.md | 27 -
.../superset-ui/docs/storybook.md | 13 -
.../superset-ui/jest.config.js | 77 -
.../temporary_superset_ui/superset-ui/lerna.json | 26 -
.../superset-ui/package-lock.json | 83384 -------------------
.../temporary_superset_ui/superset-ui/package.json | 167 -
.../superset-ui/prettier.config.js | 23 -
.../superset-ui/temporary-plugins/README.md | 5 -
.../README.md | 33 -
.../package.json | 37 -
.../src/ReactWordCloud.js | 22 -
.../src/WordCloud.js | 100 -
.../src/images/thumbnail.png | Bin 24048 -> 0 bytes
.../src/images/thumbnailLarge.png | Bin 117846 -> 0 bytes
.../src/index.js | 39 -
.../src/transformProps.js | 42 -
.../superset-ui-plugin-chart-table/README.md | 33 -
.../superset-ui-plugin-chart-table/package.json | 40 -
.../superset-ui-plugin-chart-table/src/Table.tsx | 360 -
.../src/TableFormData.ts | 31 -
.../src/buildQuery.ts | 54 -
.../src/components/HTMLRenderer.tsx | 40 -
.../src/createMetadata.ts | 31 -
.../src/getRenderer.tsx | 171 -
.../src/images/thumbnail.png | Bin 31342 -> 0 bytes
.../superset-ui-plugin-chart-table/src/index.ts | 40 -
.../src/legacy/index.ts | 38 -
.../src/legacy/transformProps.ts | 93 -
.../src/processColumns.ts | 137 -
.../src/processData.ts | 76 -
.../src/processMetrics.ts | 57 -
.../src/transformProps.ts | 162 -
.../superset-ui-plugin-chart-table/src/types.ts | 22 -
.../test/buildQuery.test.ts | 40 -
.../test/processData.test.ts | 78 -
.../test/processMetrics.test.ts | 53 -
.../types/external.d.ts | 20 -
.../plugin-chart-choropleth-map/README.md | 33 -
.../plugin-chart-choropleth-map/package.json | 51 -
.../src/chart/ChoroplethMap.tsx | 342 -
.../src/chart/Encoder.ts | 69 -
.../src/chart/MapMetadata.ts | 57 -
.../src/chart/MapTooltip.tsx | 85 -
.../src/chart/Projection.ts | 36 -
.../src/chart/components.ts | 67 -
.../src/chart/loadMap.ts | 30 -
.../src/configureEncodable.ts | 83 -
.../src/images/thumbnail.png | Bin 1165 -> 0 bytes
.../plugin-chart-choropleth-map/src/index.ts | 22 -
.../src/maps/belgium-topo.json | 3131 -
.../src/maps/brazil-topo.json | 3930 -
.../src/maps/bulgaria-topo.json | 16396 ----
.../src/maps/canada-topo.json | 8227 --
.../src/maps/china-topo.json | 4597 -
.../src/maps/france-topo.json | 8740 --
.../src/maps/germany-topo.json | 1850 -
.../plugin-chart-choropleth-map/src/maps/index.ts | 235 -
.../src/maps/india-topo.json | 15073 ----
.../src/maps/iran-topo.json | 2390 -
.../src/maps/italy-topo.json | 5584 --
.../src/maps/japan-topo.json | 7724 --
.../src/maps/korea-topo.json | 2471 -
.../src/maps/liechtenstein-topo.json | 1605 -
.../src/maps/morocco-topo.json | 3077 -
.../src/maps/myanmar-topo.json | 5148 --
.../src/maps/netherlands-topo.json | 1332 -
.../src/maps/portugal-topo.json | 1911 -
.../src/maps/russia-topo.json | 8430 --
.../src/maps/singapore-topo.json | 7518 --
.../src/maps/spain-topo.json | 3329 -
.../src/maps/switzerland-topo.json | 11333 ---
.../src/maps/thailand-topo.json | 9644 ---
.../src/maps/timorleste-topo.json | 1585 -
.../src/maps/uk-topo.json | 12370 ---
.../src/maps/ukraine-topo.json | 2877 -
.../src/maps/usa-topo.json | 22866 -----
.../src/maps/world-topo.json | 27322 ------
.../src/maps/zambia-topo.json | 3951 -
.../src/plugin/index.ts | 37 -
.../src/plugin/transformProps.ts | 33 -
.../plugin-chart-choropleth-map/src/types.ts | 43 -
.../stories/ChoroplethMap.stories.tsx | 126 -
.../stories/generateFakeMapData.ts | 45 -
.../stories/useFakeMapData.ts | 33 -
.../plugin-chart-choropleth-map/test/index.test.ts | 26 -
.../plugin-chart-choropleth-map/test/tsconfig.json | 19 -
.../plugin-chart-choropleth-map/tsconfig.json | 25 -
.../types/external.d.ts | 20 -
.../superset-ui/temporary-plugins/setupJest.js | 25 -
.../superset-ui-plugins-demo/.storybook/addons.js | 5 -
.../superset-ui-plugins-demo/.storybook/config.js | 26 -
.../.storybook/storybook.css | 20 -
.../superset-ui-plugins-demo/README.md | 53 -
.../superset-ui-plugins-demo/package.json | 55 -
.../legacy-plugin-chart-word-cloud/Stories.tsx | 46 -
.../stories/legacy-plugin-chart-word-cloud/data.js | 422 -
.../legacy-plugin-chart-word-cloud/index.js | 27 -
.../superset-ui/test/__mocks__/mockExportObject.js | 19 -
.../superset-ui/test/__mocks__/mockExportString.js | 19 -
.../superset-ui/test/__mocks__/svgrMock.tsx | 29 -
.../superset-ui/test/setup.ts | 26 -
.../superset-ui/tsconfig.eslint.json | 12 -
.../superset-ui/tsconfig.json | 151 -
.../tools/eslint-plugin-theme-colors/colors.js | 172 +
.../tools/eslint-plugin-theme-colors/index.js | 114 +
.../tools/eslint-plugin-theme-colors/package.json | 17 +
superset-frontend/tsconfig.json | 8 +-
superset-frontend/webpack.config.js | 56 +-
superset/annotation_layers/annotations/api.py | 12 +-
.../annotations/commands/update.py | 4 +-
superset/annotation_layers/annotations/schemas.py | 8 +-
superset/annotation_layers/api.py | 12 +-
superset/cachekeys/api.py | 6 +-
superset/cachekeys/schemas.py | 15 +-
superset/charts/api.py | 20 +-
superset/charts/commands/exceptions.py | 4 +
superset/charts/commands/export.py | 8 +-
superset/charts/data/api.py | 43 +-
superset/charts/post_processing.py | 41 +-
superset/charts/schemas.py | 165 +-
superset/cli.py | 872 -
docs/requirements.txt => superset/cli/__init__.py | 0
superset/cli/examples.py | 114 +
superset/cli/importexport.py | 406 +
superset/cli/lib.py | 48 +
superset/cli/main.py | 80 +
superset/cli/test.py | 88 +
superset/cli/thumbnails.py | 110 +
superset/cli/update.py | 182 +
.../columns/__init__.py | 0
superset/columns/models.py | 102 +
superset/columns/schemas.py | 40 +
superset/commands/base.py | 2 +-
superset/commands/exceptions.py | 7 +-
superset/commands/export.py | 69 -
.../commands/export/__init__.py | 0
superset/commands/export/assets.py | 64 +
superset/commands/export/models.py | 68 +
superset/commands/importers/exceptions.py | 5 +
superset/commands/importers/v1/__init__.py | 63 +-
superset/commands/importers/v1/assets.py | 164 +
superset/commands/importers/v1/examples.py | 3 +-
superset/commands/importers/v1/utils.py | 58 +-
superset/commands/utils.py | 4 +-
superset/common/query_actions.py | 36 +-
superset/common/query_context.py | 19 +-
superset/common/query_context_factory.py | 2 +-
superset/common/query_context_processor.py | 53 +-
superset/common/query_object.py | 32 +-
superset/common/query_object_factory.py | 28 +-
superset/common/request_contexed_based.py | 16 +-
superset/common/utils/dataframe_utils.py | 4 +-
superset/config.py | 243 +-
superset/connectors/base/models.py | 25 +-
superset/connectors/druid/models.py | 7 +-
superset/connectors/druid/views.py | 20 +-
superset/connectors/sqla/models.py | 753 +-
superset/connectors/sqla/utils.py | 136 +-
superset/connectors/sqla/views.py | 164 +-
superset/constants.py | 3 +-
superset/css_templates/api.py | 4 +-
superset/dao/base.py | 28 +-
superset/dashboards/api.py | 238 +-
superset/dashboards/commands/export.py | 18 +-
superset/dashboards/commands/importers/v0.py | 3 +-
superset/dashboards/commands/importers/v1/utils.py | 6 +
superset/dashboards/dao.py | 1 +
superset/dashboards/filter_sets/api.py | 12 +-
superset/dashboards/filter_sets/commands/base.py | 3 +-
superset/dashboards/filter_sets/schemas.py | 6 +-
superset/dashboards/filter_state/api.py | 32 +-
.../dashboards/filter_state/commands/create.py | 35 +-
.../dashboards/filter_state/commands/delete.py | 33 +-
superset/dashboards/filter_state/commands/get.py | 33 +-
.../dashboards/filter_state/commands/update.py | 40 +-
superset/dashboards/filters.py | 62 +-
.../dashboards/permalink/__init__.py | 0
superset/dashboards/permalink/api.py | 172 +
.../dashboards/permalink/commands/__init__.py | 0
superset/dashboards/permalink/commands/base.py | 29 +
superset/dashboards/permalink/commands/create.py | 64 +
superset/dashboards/permalink/commands/get.py | 61 +
superset/dashboards/permalink/exceptions.py | 31 +
superset/dashboards/permalink/schemas.py | 42 +
superset/dashboards/permalink/types.py | 28 +
superset/dashboards/schemas.py | 24 +-
superset/databases/api.py | 39 +-
superset/databases/commands/create.py | 5 +-
superset/databases/commands/exceptions.py | 6 +-
superset/databases/commands/export.py | 37 +-
superset/databases/commands/test_connection.py | 36 +-
superset/databases/commands/validate.py | 6 +-
superset/databases/dao.py | 6 +-
superset/databases/filters.py | 20 +-
superset/databases/schemas.py | 36 +-
superset/dataframe.py | 10 +-
superset/datasets/api.py | 22 +-
superset/datasets/commands/exceptions.py | 4 +
superset/datasets/commands/export.py | 43 +-
superset/datasets/commands/importers/v0.py | 5 +-
superset/datasets/commands/update.py | 3 +-
superset/datasets/models.py | 92 +
superset/datasets/schemas.py | 20 +
superset/db_engine_specs/base.py | 344 +-
superset/db_engine_specs/bigquery.py | 3 +-
superset/db_engine_specs/databricks.py | 25 +-
superset/db_engine_specs/drill.py | 7 +-
superset/db_engine_specs/duckdb.py | 80 +
superset/db_engine_specs/gsheets.py | 17 +-
superset/db_engine_specs/hive.py | 9 +-
superset/db_engine_specs/kusto.py | 164 +
superset/db_engine_specs/mssql.py | 2 +
superset/db_engine_specs/mysql.py | 77 +-
superset/db_engine_specs/postgres.py | 46 +-
superset/db_engine_specs/presto.py | 122 +-
superset/db_engine_specs/teradata.py | 8 +-
superset/db_engine_specs/trino.py | 71 +-
.../embedded/__init__.py | 0
superset/embedded/dao.py | 53 +
superset/embedded/view.py | 80 +
superset/errors.py | 5 +
superset/examples/__init__.py | 18 -
superset/examples/bart_lines.py | 2 +-
superset/examples/birth_names.py | 22 +-
.../charts/Age_distribution_of_respondents.yaml | 3 -
.../Are_you_an_ethnic_minority_in_your_city.yaml | 3 -
.../charts/Breakdown_of_Developer_Type.yaml | 3 -
superset/examples/configs/charts/Commute_Time.yaml | 3 -
.../configs/charts/Country_of_Citizenship.yaml | 3 -
.../configs/charts/Cross_Channel_Relationship.yaml | 3 -
.../Cross_Channel_Relationship_heatmap_2786.yaml | 3 -
...elopers_Is_this_your_first_development_job.yaml | 3 -
.../examples/configs/charts/Degrees_vs_Income.yaml | 3 -
.../configs/charts/Ethnic_Minority__Gender.yaml | 3 -
.../examples/configs/charts/Filter_Segments.yaml | 3 -
.../configs/charts/Filtering_Vaccines.yaml | 3 -
.../configs/charts/First_Time_Developer.yaml | 3 -
.../charts/First_Time_Developer__Commute_Time.yaml | 3 -
superset/examples/configs/charts/Games.yaml | 3 -
.../examples/configs/charts/Games_per_Genre.yaml | 3 -
.../configs/charts/Games_per_Genre_over_time.yaml | 3 -
superset/examples/configs/charts/Gender.yaml | 3 -
.../configs/charts/Highest_degree_held.yaml | 3 -
.../configs/charts/How_do_you_prefer_to_work.yaml | 3 -
.../How_much_do_you_expect_to_earn_0_-_100k.yaml | 3 -
.../charts/Last_Year_Income_Distribution.yaml | 3 -
.../charts/Location_of_Current_Developers.yaml | 3 -
.../configs/charts/Members_per_Channel.yaml | 3 -
.../configs/charts/Messages_per_Channel.yaml | 3 -
.../configs/charts/Most_Dominant_Platforms.yaml | 3 -
.../configs/charts/New_Members_per_Month.yaml | 3 -
.../charts/Number_of_Aspiring_Developers.yaml | 3 -
.../Number_of_Deals_for_each_Combination.yaml | 3 -
...mes_That_Hit_100k_in_Sales_By_Release_Year.yaml | 3 -
.../examples/configs/charts/Number_of_Members.yaml | 3 -
.../charts/Overall_Sales_By_Product_Line.yaml | 3 -
.../charts/Popular_Genres_Across_Platforms.yaml | 3 -
.../configs/charts/Preferred_Employment_Style.yaml | 3 -
.../Proportion_of_Revenue_by_Product_Line.yaml | 3 -
.../charts/Publishers_With_Most_Titles.yaml | 3 -
.../examples/configs/charts/Quarterly_Sales.yaml | 3 -
.../charts/Quarterly_Sales_By_Product_Line.yaml | 3 -
.../configs/charts/Relocation_ability.yaml | 3 -
.../configs/charts/Revenue_by_Deal_Size.yaml | 3 -
.../charts/Rise__Fall_of_Video_Game_Consoles.yaml | 3 -
.../Seasonality_of_Revenue_per_Product_Line.yaml | 3 -
...op_10_Games_Proportion_of_Sales_in_Markets.yaml | 3 -
.../charts/Top_15_Languages_Spoken_at_Home.yaml | 3 -
.../examples/configs/charts/Top_Timezones.yaml | 3 -
.../examples/configs/charts/Total_Items_Sold.yaml | 3 -
.../charts/Total_Items_Sold_By_Product_Line.yaml | 3 -
.../examples/configs/charts/Total_Revenue.yaml | 3 -
.../Total_Sales_per_Market_Grouped_by_Genre.yaml | 3 -
.../Vaccine_Candidates_per_Approach__Stage.yaml | 3 -
.../charts/Vaccine_Candidates_per_Country.yaml | 3 -
.../charts/Vaccine_Candidates_per_Country_261.yaml | 3 -
.../Vaccine_Candidates_per_Country__Stage.yaml | 3 -
.../Vaccine_Candidates_per_Country__Stage_749.yaml | 3 -
.../charts/Vaccine_Candidates_per_Phase.yaml | 3 -
.../charts/Vaccine_Candidates_per_Phase_587.yaml | 3 -
.../configs/charts/Vehicle_Sales_Filter.yaml | 3 -
.../configs/charts/Video_Game_Sales_Filter.yaml | 3 -
.../examples/configs/charts/Weekly_Messages.yaml | 3 -
.../examples/configs/charts/Weekly_Threads.yaml | 3 -
.../configs/charts/Work_Location_Preference.yaml | 3 -
superset/examples/country_map.py | 4 +-
superset/examples/data_loading.py | 35 +
superset/examples/deck.py | 1 -
superset/examples/energy.py | 4 +-
superset/examples/flights.py | 4 +-
superset/examples/long_lat.py | 4 +-
superset/examples/multiformat_time_series.py | 2 +-
superset/examples/paris.py | 4 +-
superset/examples/random_time_series.py | 4 +-
superset/examples/sf_population_polygons.py | 4 +-
superset/examples/world_bank.py | 8 +-
superset/exceptions.py | 14 +-
.../explore/__init__.py | 0
.../explore/form_data/__init__.py | 0
superset/explore/form_data/api.py | 316 +
.../explore/form_data/commands/__init__.py | 0
superset/explore/form_data/commands/create.py | 68 +
superset/explore/form_data/commands/delete.py | 66 +
superset/explore/form_data/commands/get.py | 58 +
superset/explore/form_data/commands/parameters.py | 30 +
superset/explore/form_data/commands/state.py | 26 +
superset/explore/form_data/commands/update.py | 88 +
superset/explore/form_data/schemas.py | 37 +
.../explore/permalink/__init__.py | 0
superset/explore/permalink/api.py | 171 +
.../explore/permalink/commands/__init__.py | 0
superset/explore/permalink/commands/base.py | 29 +
superset/explore/permalink/commands/create.py | 64 +
superset/explore/permalink/commands/get.py | 65 +
superset/explore/permalink/exceptions.py | 31 +
superset/explore/permalink/schemas.py | 39 +
superset/explore/permalink/types.py | 29 +
superset/explore/utils.py | 63 +
superset/extensions.py | 124 -
superset/extensions/__init__.py | 129 +
superset/extensions/metastore_cache.py | 107 +
.../importexport/__init__.py | 0
superset/importexport/api.py | 163 +
superset/initialization/__init__.py | 145 +-
superset/jinja_context.py | 5 +-
superset/key_value/api.py | 125 -
superset/key_value/commands/create.py | 80 +-
superset/key_value/commands/delete.py | 52 +-
superset/key_value/commands/delete_expired.py | 66 +
superset/key_value/commands/exceptions.py | 45 -
superset/key_value/commands/get.py | 55 +-
superset/key_value/commands/update.py | 79 +-
superset/key_value/commands/upsert.py | 106 +
superset/key_value/exceptions.py | 50 +
superset/key_value/models.py | 38 +
superset/key_value/schemas.py | 29 -
superset/key_value/shared_entries.py | 51 +
superset/key_value/types.py | 44 +
superset/key_value/utils.py | 50 +-
superset/migrations/shared/security_converge.py | 4 +-
superset/migrations/shared/utils.py | 66 +
...4fbb_add_type_to_native_filter_configuration.py | 3 +-
.../1f6dca87d1a2_security_converge_dashboards.py | 69 +-
.../versions/2e5a0ee25ed4_refractor_alerting.py | 45 +-
...2ed890b36b94_rm_time_range_endpoints_from_qc.py | 66 +
.../migrations/versions/2f1d15e8a6af_add_alerts.py | 25 +-
...9248280_add_creation_method_to_reports_model.py | 4 +-
.../40f16acf1ba7_security_converge_reports.py | 22 +-
.../42b4c9e01447_security_converge_databases.py | 42 +-
.../45731db65d9c_security_converge_datasets.py | 37 +-
.../versions/49b5a32daba5_add_report_schedules.py | 10 +-
.../4b84f97828aa_security_converge_logs.py | 12 +-
...d617f14_add_on_saved_query_delete_tab_state_.py | 69 +
.../5afbb1a5849b_add_embedded_dahshoard_table.py | 52 +
...9410a97a_add_columns_for_external_management.py | 105 +
.../versions/6766938c6065_add_key_value_store.py | 61 +
...b0ca7944_change_adhoc_filter_b_from_none_to_.py | 84 +
.../73fd22e742ab_add_dynamic_plugins_py.py | 10 +-
...8ee129739cf9_security_converge_css_templates.py | 37 +-
...6e99fb176a0_add_import_mixing_to_saved_query.py | 5 +-
...978245563a02_migrate_iframe_to_dash_markdown.py | 5 +-
.../ab9a9d86e695_deprecate_time_range_endpoints.py | 59 +
...e27eaf93db_add_extra_config_column_to_alerts.py | 7 +-
...208f_collapse_alerting_models_into_a_single_.py | 34 +-
.../b4456560d4f3_change_table_unique_constraint.py | 2 +-
...b56500de1855_add_uuid_column_to_import_mixin.py | 5 +-
.../b5998378c225_add_certificate_to_dbs.py | 3 +-
...d8e252_fix_query_and_saved_query_null_schema.py | 66 +
.../versions/b8d3a24d9131_new_dataset_models.py | 633 +
...aa3ff_add_force_screenshot_to_alerts_reports.py | 1 +
.../c25cb2c78727_security_converge_annotations.py | 52 +-
.../c501b7c653a3_add_missing_uuid_column.py | 5 +-
...8dd_add_saved_query_foreign_key_to_tab_state.py | 43 +
.../versions/c82ee8a39623_add_implicit_tags.py | 5 +-
...c878781977c6_alert_reports_shared_uniqueness.py | 3 +-
.../ccb74baaa89b_security_converge_charts.py | 67 +-
...0d715cc_add_limiting_factor_column_to_query_.py | 6 +-
...e38177dbf641_security_converge_saved_queries.py | 57 +-
...828ac4e_add_rls_filter_type_and_grouping_key.py | 4 +-
.../versions/e866bd2d4976_smaller_grid.py | 1 +
superset/models/__init__.py | 10 +-
superset/models/alerts.py | 176 -
superset/models/core.py | 49 +-
superset/models/dashboard.py | 12 +-
superset/models/embedded_dashboard.py | 57 +
superset/models/helpers.py | 24 +-
superset/models/reports.py | 11 +-
superset/models/schedules.py | 104 -
superset/models/slice.py | 15 +-
superset/models/sql_lab.py | 12 +
superset/queries/saved_queries/api.py | 14 +-
superset/queries/saved_queries/commands/export.py | 41 +-
superset/queries/saved_queries/schemas.py | 6 +-
superset/reports/api.py | 9 +-
superset/reports/commands/alert.py | 3 +-
superset/reports/commands/base.py | 2 +-
superset/reports/commands/create.py | 20 +
superset/reports/commands/execute.py | 90 +-
superset/reports/dao.py | 9 +-
superset/reports/notifications/base.py | 4 +-
superset/reports/notifications/email.py | 35 +-
superset/reports/notifications/slack.py | 39 +-
superset/reports/schemas.py | 4 +
superset/result_set.py | 8 +-
superset/security/api.py | 94 +-
superset/security/guest_token.py | 87 +
superset/security/manager.py | 275 +-
superset/sql_lab.py | 7 +-
superset/sql_parse.py | 347 +-
superset/sql_validators/presto_db.py | 7 +-
superset/sqllab/command.py | 7 +-
superset/sqllab/query_render.py | 7 +-
superset/stats_logger.py | 1 -
superset/superset_typing.py | 97 +
.../tables/__init__.py | 0
superset/tables/models.py | 92 +
superset/tables/schemas.py | 40 +
superset/tasks/alerts/observer.py | 96 -
superset/tasks/alerts/validator.py | 111 -
superset/tasks/async_queries.py | 21 +-
superset/tasks/celery_app.py | 2 +-
superset/tasks/scheduler.py | 12 +-
superset/tasks/schedules.py | 855 -
superset/tasks/slack_util.py | 3 +-
superset/tasks/thumbnails.py | 5 +-
superset/templates/superset/base.html | 2 +-
superset/templates/superset/basic.html | 8 +-
.../fab_overrides/list_with_checkboxes.html | 2 +-
superset/templates/superset/spa.html | 2 +-
superset/templates/superset/theme.html | 2 +-
.../temporary_cache/__init__.py | 0
superset/temporary_cache/api.py | 173 +
.../temporary_cache/commands/__init__.py | 0
superset/temporary_cache/commands/create.py | 45 +
superset/temporary_cache/commands/delete.py | 45 +
.../commands/entry.py | 0
superset/temporary_cache/commands/exceptions.py | 45 +
superset/temporary_cache/commands/get.py | 46 +
superset/temporary_cache/commands/parameters.py | 29 +
superset/temporary_cache/commands/update.py | 49 +
superset/temporary_cache/schemas.py | 37 +
superset/{key_value => temporary_cache}/utils.py | 0
superset/translations/messages.pot | 2 +-
superset/translations/nl/LC_MESSAGES/messages.json | 4837 ++
superset/translations/nl/LC_MESSAGES/messages.po | 16043 ++++
superset/translations/requirements.txt | 2 +-
superset/typing.py | 99 -
superset/utils/async_query_manager.py | 16 +-
superset/utils/cache.py | 9 +-
superset/utils/cache_manager.py | 72 +-
superset/utils/core.py | 167 +-
superset/utils/database.py | 88 +
superset/utils/date_parser.py | 9 +-
superset/utils/encrypt.py | 122 +-
superset/utils/log.py | 5 +-
superset/utils/machine_auth.py | 10 +-
superset/utils/mock_data.py | 9 +-
superset/utils/pandas_postprocessing.py | 984 -
superset/utils/pandas_postprocessing/__init__.py | 55 +
superset/utils/pandas_postprocessing/aggregate.py | 46 +
superset/utils/pandas_postprocessing/boxplot.py | 125 +
superset/utils/pandas_postprocessing/compare.py | 86 +
.../utils/pandas_postprocessing/contribution.py | 76 +
superset/utils/pandas_postprocessing/cum.py | 58 +
superset/utils/pandas_postprocessing/diff.py | 51 +
superset/utils/pandas_postprocessing/flatten.py | 84 +
superset/utils/pandas_postprocessing/geography.py | 118 +
superset/utils/pandas_postprocessing/pivot.py | 125 +
superset/utils/pandas_postprocessing/prophet.py | 160 +
superset/utils/pandas_postprocessing/resample.py | 55 +
superset/utils/pandas_postprocessing/rolling.py | 101 +
superset/utils/pandas_postprocessing/select.py | 54 +
superset/utils/pandas_postprocessing/sort.py | 35 +
superset/utils/pandas_postprocessing/utils.py | 224 +
superset/utils/profiler.py | 4 +-
superset/utils/urls.py | 15 +
superset/views/__init__.py | 1 -
superset/views/alerts.py | 216 +-
superset/views/annotations.py | 9 +-
superset/views/api.py | 2 +-
superset/views/base.py | 32 +-
superset/views/base_api.py | 64 +-
superset/views/chart/views.py | 6 +-
superset/views/core.py | 344 +-
superset/views/css_templates.py | 6 +-
superset/views/dashboard/views.py | 51 +-
superset/views/database/forms.py | 17 +-
superset/views/database/mixins.py | 5 +-
superset/views/database/views.py | 58 +-
superset/views/datasource/schemas.py | 4 +-
superset/views/datasource/views.py | 8 +-
superset/views/health.py | 2 +-
superset/views/key_value.py | 2 +-
superset/views/redirects.py | 23 +-
superset/views/schedules.py | 349 -
superset/views/sql_lab.py | 31 +-
superset/views/tags.py | 2 +-
superset/{tasks/alerts => views/users}/__init__.py | 0
superset/views/users/api.py | 61 +
superset/views/users/schemas.py | 28 +
superset/views/utils.py | 79 +-
superset/viz.py | 58 +-
tests/common/logger_utils.py | 174 +
tests/common/query_context_generator.py | 46 +-
tests/conftest.py | 105 +
tests/consts/__init__.py | 16 +
tests/consts/birth_names.py | 26 +
tests/consts/us_states.py | 86 +
tests/example_data/__init__.py | 16 +
tests/example_data/data_generator/__init__.py | 25 +
.../example_data/data_generator/base_generator.py | 24 +
.../data_generator/birth_names/__init__.py | 16 +
.../birth_names/birth_names_generator.py | 81 +
.../birth_names/birth_names_generator_factory.py | 65 +
tests/example_data/data_generator/consts.py | 69 +
.../data_generator/string_generator.py | 33 +
.../data_generator/string_generator_factory.py | 46 +
.../example_data/data_generator/tests/__init__.py | 25 +
.../data_generator/tests/test_string_generator.py | 35 +
tests/example_data/data_loading/__init__.py | 16 +
.../example_data/data_loading/base_data_loader.py | 33 +
.../data_loading/data_definitions/__init__.py | 16 +
.../data_loading/data_definitions/birth_names.py | 64 +
.../data_loading/data_definitions/types.py | 53 +
tests/example_data/data_loading/pandas/__init__.py | 16 +
.../data_loading/pandas/pandas_data_loader.py | 84 +
.../data_loading/pandas/pands_data_loading_conf.py | 64 +
.../data_loading/pandas/table_df_convertor.py | 48 +
tests/fixtures/__init__.py | 18 +
tests/fixtures/birth_names.py | 52 +
tests/integration_tests/access_tests.py | 2 +-
tests/integration_tests/alerts_tests.py | 413 -
.../annotation_layers/fixtures.py | 5 +-
tests/integration_tests/base_api_tests.py | 15 +-
tests/integration_tests/base_tests.py | 3 +-
tests/integration_tests/cache_tests.py | 5 +-
tests/integration_tests/celery_tests.py | 13 +-
tests/integration_tests/charts/api_tests.py | 40 +-
tests/integration_tests/charts/commands_tests.py | 52 +-
tests/integration_tests/charts/data/api_tests.py | 100 +-
tests/integration_tests/cli_tests.py | 222 +-
tests/integration_tests/commands_test.py | 167 +
tests/integration_tests/config_tests.py | 2 +-
tests/integration_tests/conftest.py | 50 +-
tests/integration_tests/core_tests.py | 189 +-
tests/integration_tests/css_templates/api_tests.py | 27 +-
tests/integration_tests/csv_upload_tests.py | 313 +-
tests/integration_tests/dashboard_utils.py | 5 +-
tests/integration_tests/dashboards/api_tests.py | 125 +-
.../integration_tests/dashboards/commands_tests.py | 22 +
.../dashboards/filter_sets/conftest.py | 195 +-
.../dashboards/filter_sets/create_api_tests.py | 4 +-
.../dashboards/filter_sets/delete_api_tests.py | 8 +-
.../dashboards/filter_sets/get_api_tests.py | 6 +-
.../dashboards/filter_sets/update_api_tests.py | 8 +-
.../dashboards/filter_state/api_tests.py | 191 +-
.../dashboards/permalink/__init__.py | 0
.../dashboards/permalink/api_tests.py | 111 +
.../dashboards/security/base_case.py | 26 +-
.../dashboards/security/security_dataset_tests.py | 7 +-
.../dashboards/security/security_rbac_tests.py | 122 +-
.../dashboards/superset_factory_util.py | 34 +-
tests/integration_tests/databases/api_tests.py | 18 +-
.../integration_tests/databases/commands_tests.py | 91 +-
tests/integration_tests/datasets/api_tests.py | 56 +-
tests/integration_tests/datasets/commands_tests.py | 23 +-
tests/integration_tests/datasource_tests.py | 15 +-
.../db_engine_specs/base_engine_spec_tests.py | 12 +-
.../db_engine_specs/bigquery_tests.py | 17 +-
.../db_engine_specs/hive_tests.py | 5 +-
.../db_engine_specs/mssql_tests.py | 310 -
.../db_engine_specs/pinot_tests.py | 5 +-
.../db_engine_specs/postgres_tests.py | 26 +-
.../db_engine_specs/presto_tests.py | 129 +-
.../db_engine_specs/snowflake_tests.py | 106 -
.../db_engine_specs/sqlite_tests.py | 78 -
.../db_engine_specs/trino_tests.py | 93 +
.../integration_tests/dict_import_export_tests.py | 2 +-
tests/integration_tests/druid_func_tests.py | 2 +-
tests/integration_tests/druid_func_tests_sip38.py | 2 +-
.../integration_tests/embedded/__init__.py | 0
tests/integration_tests/embedded/dao_tests.py | 51 +
.../integration_tests/explore/__init__.py | 0
.../explore/form_data/__init__.py | 0
.../explore/form_data/api_tests.py | 379 +
.../explore/permalink/__init__.py | 0
.../explore/permalink/api_tests.py | 135 +
.../integration_tests/extensions/__init__.py | 0
.../extensions/metastore_cache_test.py | 77 +
.../fixtures/birth_names_dashboard.py | 143 +-
tests/integration_tests/fixtures/client.py | 26 +
tests/integration_tests/fixtures/dataframes.py | 183 -
tests/integration_tests/fixtures/datasource.py | 3 +-
.../integration_tests/fixtures/energy_dashboard.py | 3 +-
tests/integration_tests/fixtures/importexport.py | 8 +-
tests/integration_tests/fixtures/query_context.py | 2 -
.../integration_tests/fixtures/tabbed_dashboard.py | 77 +
.../fixtures/unicode_dashboard.py | 3 +-
.../fixtures/world_bank_dashboard.py | 3 +-
tests/integration_tests/form_tests.py | 6 +-
tests/integration_tests/import_export_tests.py | 9 +-
.../importexport/commands_tests.py | 2 +-
tests/integration_tests/jinja_context_tests.py | 27 +-
.../integration_tests/key_value/__init__.py | 0
.../key_value/commands/__init__.py | 0
.../key_value/commands/create_test.py | 58 +
.../key_value/commands/delete_test.py | 82 +
.../key_value/commands/fixtures.py | 63 +
.../key_value/commands/get_test.py | 101 +
.../key_value/commands/update_test.py | 95 +
.../key_value/commands/upsert_test.py | 101 +
tests/integration_tests/log_api_tests.py | 10 +-
.../migrations/f1410ed7ec95_tests.py | 10 +-
tests/integration_tests/model_tests.py | 75 +-
.../pandas_postprocessing_tests.py | 1031 -
tests/integration_tests/queries/api_tests.py | 2 +-
.../queries/saved_queries/api_tests.py | 2 +-
.../queries/saved_queries/commands_tests.py | 20 +-
tests/integration_tests/query_context_tests.py | 45 +-
tests/integration_tests/reports/api_tests.py | 83 +-
tests/integration_tests/reports/commands_tests.py | 191 +-
tests/integration_tests/reports/utils.py | 4 +-
tests/integration_tests/result_set_tests.py | 20 +-
tests/integration_tests/schedules_test.py | 596 -
tests/integration_tests/security/api_tests.py | 55 +-
.../security/guest_token_security_tests.py | 206 +
.../security/migrate_roles_tests.py | 61 +-
.../security/row_level_security_tests.py | 317 +
tests/integration_tests/security_tests.py | 411 +-
tests/integration_tests/sql_validator_tests.py | 7 +-
tests/integration_tests/sqla_models_tests.py | 277 +-
tests/integration_tests/sqla_views_tests.py | 40 -
tests/integration_tests/sqllab_tests.py | 42 +-
tests/integration_tests/strategy_tests.py | 2 +-
tests/integration_tests/superset_test_config.py | 17 +-
.../superset_test_config_sqllab_backend_persist.py | 24 -
...erset_test_config_sqllab_backend_persist_off.py | 24 +
.../superset_test_config_thumbnails.py | 4 +-
.../integration_tests/tasks/async_queries_tests.py | 7 +-
.../integration_tests/users}/__init__.py | 0
tests/integration_tests/users/api_tests.py | 49 +
tests/integration_tests/utils/date_parser_tests.py | 362 -
tests/integration_tests/utils_tests.py | 135 +-
tests/integration_tests/viz_tests.py | 45 +-
.../unit_tests/charts/commands/__init__.py | 0
.../charts/commands/importers/__init__.py | 0
.../charts/commands/importers/v1/__init__.py | 0
.../charts/commands/importers/v1/import_test.py | 69 +
tests/unit_tests/charts/test_post_processing.py | 1 -
.../unit_tests/columns/__init__.py | 0
tests/unit_tests/columns/test_models.py | 57 +
.../unit_tests/commands/__init__.py | 0
tests/unit_tests/commands/export_test.py | 94 +
.../unit_tests/common/test_query_object_factory.py | 2 -
tests/unit_tests/conftest.py | 46 +-
tests/unit_tests/core_tests.py | 54 +
.../commands/importers/v1/import_test.py | 67 +
.../dashboards/commands/importers/v1/utils_test.py | 59 +-
.../unit_tests/databases/__init__.py | 0
.../unit_tests/databases/commands/__init__.py | 0
.../databases/commands/importers/__init__.py | 0
.../databases/commands/importers/v1/__init__.py | 0
.../databases/commands/importers/v1/import_test.py | 70 +
tests/unit_tests/dataframe_test.py | 2 +-
tests/unit_tests/datasets/commands/export_test.py | 6 +-
.../datasets/commands/importers/v1/import_test.py | 56 +-
tests/unit_tests/datasets/test_models.py | 1331 +
tests/unit_tests/db_engine_specs/test_base.py | 73 +-
tests/unit_tests/db_engine_specs/test_drill.py | 24 +-
tests/unit_tests/db_engine_specs/test_gsheets.py | 32 +-
tests/unit_tests/db_engine_specs/test_kusto.py | 159 +
tests/unit_tests/db_engine_specs/test_mssql.py | 439 +
tests/unit_tests/db_engine_specs/test_presto.py | 56 +
tests/unit_tests/db_engine_specs/test_snowflake.py | 127 +
tests/unit_tests/db_engine_specs/test_sqlite.py | 90 +
tests/unit_tests/db_engine_specs/test_teradata.py | 45 +
tests/unit_tests/db_engine_specs/test_trino.py | 56 +
.../unit_tests/explore/__init__.py | 0
tests/unit_tests/explore/utils_test.py | 157 +
tests/unit_tests/extension_tests.py | 51 +
tests/unit_tests/fixtures/dataframes.py | 197 +
.../fixtures/static/assets/manifest.json | 20 +
.../unit_tests/importexport/__init__.py | 0
tests/unit_tests/importexport/api_test.py | 254 +
.../unit_tests/key_value/__init__.py | 0
tests/unit_tests/key_value/utils_test.py | 60 +
.../unit_tests/migrations/__init__.py | 0
.../unit_tests/migrations/shared/__init__.py | 0
tests/unit_tests/migrations/shared/utils_test.py | 56 +
.../unit_tests/pandas_postprocessing/__init__.py | 0
.../pandas_postprocessing/test_aggregate.py | 40 +
.../pandas_postprocessing/test_boxplot.py | 126 +
.../pandas_postprocessing/test_compare.py | 233 +
.../pandas_postprocessing/test_contribution.py | 80 +
tests/unit_tests/pandas_postprocessing/test_cum.py | 168 +
.../unit_tests/pandas_postprocessing/test_diff.py | 51 +
.../pandas_postprocessing/test_flatten.py | 75 +
.../pandas_postprocessing/test_geography.py | 90 +
.../unit_tests/pandas_postprocessing/test_pivot.py | 286 +
.../pandas_postprocessing/test_prophet.py | 129 +
.../pandas_postprocessing/test_resample.py | 210 +
.../pandas_postprocessing/test_rolling.py | 228 +
.../pandas_postprocessing/test_select.py | 55 +
.../unit_tests/pandas_postprocessing/test_sort.py | 30 +
tests/unit_tests/pandas_postprocessing/utils.py | 55 +
tests/unit_tests/sql_parse_tests.py | 369 +-
.../unit_tests/tables/__init__.py | 0
tests/unit_tests/tables/test_models.py | 56 +
tests/unit_tests/utils/date_parser_tests.py | 358 +
tests/unit_tests/utils/urls_tests.py | 35 +
.../unit_tests/views/__init__.py | 0
tox.ini | 5 -
yarn.lock | 2 +
2420 files changed, 176235 insertions(+), 462803 deletions(-)
diff --cc superset-frontend/package-lock.json
index 591d41f6c7,2e845ffab4..145c679bca
--- a/superset-frontend/package-lock.json
+++ b/superset-frontend/package-lock.json
@@@ -20,37 -20,38 +20,39 @@@
"@emotion/cache": "^11.4.0",
"@emotion/react": "^11.4.1",
"@emotion/styled": "^11.3.0",
- "@superset-ui/chart-controls": "file://./packages/superset-ui-chart-controls",
- "@superset-ui/core": "file://./packages/superset-ui-core",
- "@superset-ui/legacy-plugin-chart-calendar": "file://./plugins/legacy-plugin-chart-calendar",
- "@superset-ui/legacy-plugin-chart-chord": "file://./plugins/legacy-plugin-chart-chord",
- "@superset-ui/legacy-plugin-chart-country-map": "file://./plugins/legacy-plugin-chart-country-map",
- "@superset-ui/legacy-plugin-chart-event-flow": "file://./plugins/legacy-plugin-chart-event-flow",
- "@superset-ui/legacy-plugin-chart-force-directed": "file://./plugins/legacy-plugin-chart-force-directed",
- "@superset-ui/legacy-plugin-chart-heatmap": "file://./plugins/legacy-plugin-chart-heatmap",
- "@superset-ui/legacy-plugin-chart-histogram": "file://./plugins/legacy-plugin-chart-histogram",
- "@superset-ui/legacy-plugin-chart-horizon": "file://./plugins/legacy-plugin-chart-horizon",
- "@superset-ui/legacy-plugin-chart-map-box": "file://./plugins/legacy-plugin-chart-map-box",
- "@superset-ui/legacy-plugin-chart-paired-t-test": "file://./plugins/legacy-plugin-chart-paired-t-test",
- "@superset-ui/legacy-plugin-chart-parallel-coordinates": "file://./plugins/legacy-plugin-chart-parallel-coordinates",
- "@superset-ui/legacy-plugin-chart-partition": "file://./plugins/legacy-plugin-chart-partition",
- "@superset-ui/legacy-plugin-chart-pivot-table": "file://./plugins/legacy-plugin-chart-pivot-table",
- "@superset-ui/legacy-plugin-chart-rose": "file://./plugins/legacy-plugin-chart-rose",
- "@superset-ui/legacy-plugin-chart-sankey": "file://./plugins/legacy-plugin-chart-sankey",
- "@superset-ui/legacy-plugin-chart-sankey-loop": "file://./plugins/legacy-plugin-chart-sankey-loop",
- "@superset-ui/legacy-plugin-chart-sunburst": "file://./plugins/legacy-plugin-chart-sunburst",
- "@superset-ui/legacy-plugin-chart-treemap": "file://./plugins/legacy-plugin-chart-treemap",
- "@superset-ui/legacy-plugin-chart-world-map": "file://./plugins/legacy-plugin-chart-world-map",
- "@superset-ui/legacy-preset-chart-deckgl": "file://./plugins/legacy-preset-chart-deckgl",
- "@superset-ui/legacy-preset-chart-nvd3": "file://./plugins/legacy-preset-chart-nvd3",
- "@superset-ui/plugin-chart-echarts": "file://./plugins/plugin-chart-echarts",
- "@superset-ui/plugin-chart-handlebars": "file://./plugins/plugin-chart-handlebars",
- "@superset-ui/plugin-chart-pivot-table": "file://./plugins/plugin-chart-pivot-table",
- "@superset-ui/plugin-chart-table": "file://./plugins/plugin-chart-table",
- "@superset-ui/plugin-chart-word-cloud": "file://./plugins/plugin-chart-word-cloud",
- "@superset-ui/preset-chart-xy": "file://./plugins/preset-chart-xy",
+ "@superset-ui/chart-controls": "file:./packages/superset-ui-chart-controls",
+ "@superset-ui/core": "file:./packages/superset-ui-core",
+ "@superset-ui/legacy-plugin-chart-calendar": "file:./plugins/legacy-plugin-chart-calendar",
+ "@superset-ui/legacy-plugin-chart-chord": "file:./plugins/legacy-plugin-chart-chord",
+ "@superset-ui/legacy-plugin-chart-country-map": "file:./plugins/legacy-plugin-chart-country-map",
+ "@superset-ui/legacy-plugin-chart-event-flow": "file:./plugins/legacy-plugin-chart-event-flow",
+ "@superset-ui/legacy-plugin-chart-force-directed": "file:./plugins/legacy-plugin-chart-force-directed",
+ "@superset-ui/legacy-plugin-chart-heatmap": "file:./plugins/legacy-plugin-chart-heatmap",
+ "@superset-ui/legacy-plugin-chart-histogram": "file:./plugins/legacy-plugin-chart-histogram",
+ "@superset-ui/legacy-plugin-chart-horizon": "file:./plugins/legacy-plugin-chart-horizon",
+ "@superset-ui/legacy-plugin-chart-map-box": "file:./plugins/legacy-plugin-chart-map-box",
+ "@superset-ui/legacy-plugin-chart-paired-t-test": "file:./plugins/legacy-plugin-chart-paired-t-test",
+ "@superset-ui/legacy-plugin-chart-parallel-coordinates": "file:./plugins/legacy-plugin-chart-parallel-coordinates",
+ "@superset-ui/legacy-plugin-chart-partition": "file:./plugins/legacy-plugin-chart-partition",
+ "@superset-ui/legacy-plugin-chart-pivot-table": "file:./plugins/legacy-plugin-chart-pivot-table",
+ "@superset-ui/legacy-plugin-chart-rose": "file:./plugins/legacy-plugin-chart-rose",
+ "@superset-ui/legacy-plugin-chart-sankey": "file:./plugins/legacy-plugin-chart-sankey",
+ "@superset-ui/legacy-plugin-chart-sankey-loop": "file:./plugins/legacy-plugin-chart-sankey-loop",
+ "@superset-ui/legacy-plugin-chart-sunburst": "file:./plugins/legacy-plugin-chart-sunburst",
+ "@superset-ui/legacy-plugin-chart-treemap": "file:./plugins/legacy-plugin-chart-treemap",
+ "@superset-ui/legacy-plugin-chart-world-map": "file:./plugins/legacy-plugin-chart-world-map",
+ "@superset-ui/legacy-preset-chart-deckgl": "file:./plugins/legacy-preset-chart-deckgl",
+ "@superset-ui/legacy-preset-chart-nvd3": "file:./plugins/legacy-preset-chart-nvd3",
+ "@superset-ui/plugin-chart-echarts": "file:./plugins/plugin-chart-echarts",
++ "@superset-ui/plugin-chart-handlebars": "file:./plugins/plugin-chart-handlebars",
+ "@superset-ui/plugin-chart-pivot-table": "file:./plugins/plugin-chart-pivot-table",
+ "@superset-ui/plugin-chart-table": "file:./plugins/plugin-chart-table",
+ "@superset-ui/plugin-chart-word-cloud": "file:./plugins/plugin-chart-word-cloud",
+ "@superset-ui/preset-chart-xy": "file:./plugins/preset-chart-xy",
+ "@superset-ui/switchboard": "file:./packages/superset-ui-switchboard",
"@vx/responsive": "^0.0.195",
"abortcontroller-polyfill": "^1.1.9",
+ "ace-builds": "^1.4.14",
"antd": "^4.9.4",
"array-move": "^2.2.1",
"babel-plugin-typescript-to-proptypes": "^2.0.0",
@@@ -60791,27 -59554,6 +59564,27 @@@
"react": "^16.13.1"
}
},
+ "plugins/plugin-chart-handlebars": {
- "name": "@superset-ui/plugin-chart-handlebars",
+ "version": "0.0.0",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@superset-ui/chart-controls": "0.18.25",
+ "@superset-ui/core": "0.18.25",
+ "ace-builds": "^1.4.13",
+ "emotion": "^11.0.0",
+ "handlebars": "^4.7.7",
+ "react-ace": "^9.4.4"
+ },
+ "devDependencies": {
+ "@types/jest": "^26.0.0",
+ "jest": "^26.0.1"
+ },
+ "peerDependencies": {
++ "moment": "^2.26.0",
+ "react": "^16.13.1",
+ "react-dom": "^16.13.1"
+ }
+ },
"plugins/plugin-chart-pivot-table": {
"name": "@superset-ui/plugin-chart-pivot-table",
"version": "0.18.25",
@@@ -77653,26 -76937,12 +76968,25 @@@
"@superset-ui/plugin-chart-echarts": {
"version": "file:plugins/plugin-chart-echarts",
"requires": {
- "@superset-ui/chart-controls": "0.18.25",
- "@superset-ui/core": "0.18.25",
"d3-array": "^1.2.0",
- "echarts": "^5.2.2",
- "lodash": "^4.17.15"
+ "echarts": "^5.3.2",
+ "lodash": "^4.17.15",
+ "moment": "^2.26.0"
}
},
+ "@superset-ui/plugin-chart-handlebars": {
+ "version": "file:plugins/plugin-chart-handlebars",
+ "requires": {
+ "@superset-ui/chart-controls": "0.18.25",
+ "@superset-ui/core": "0.18.25",
+ "@types/jest": "^26.0.0",
+ "ace-builds": "^1.4.13",
+ "emotion": "^11.0.0",
+ "handlebars": "^4.7.7",
+ "jest": "^26.0.1",
+ "react-ace": "^9.4.4"
+ }
+ },
"@superset-ui/plugin-chart-pivot-table": {
"version": "file:plugins/plugin-chart-pivot-table",
"requires": {
diff --cc superset-frontend/package.json
index 9dc9abc1bf,edf122a249..5f5be2ebc4
--- a/superset-frontend/package.json
+++ b/superset-frontend/package.json
@@@ -80,37 -80,38 +80,39 @@@
"@emotion/cache": "^11.4.0",
"@emotion/react": "^11.4.1",
"@emotion/styled": "^11.3.0",
- "@superset-ui/chart-controls": "file://./packages/superset-ui-chart-controls",
- "@superset-ui/core": "file://./packages/superset-ui-core",
- "@superset-ui/legacy-plugin-chart-calendar": "file://./plugins/legacy-plugin-chart-calendar",
- "@superset-ui/legacy-plugin-chart-chord": "file://./plugins/legacy-plugin-chart-chord",
- "@superset-ui/legacy-plugin-chart-country-map": "file://./plugins/legacy-plugin-chart-country-map",
- "@superset-ui/legacy-plugin-chart-event-flow": "file://./plugins/legacy-plugin-chart-event-flow",
- "@superset-ui/legacy-plugin-chart-force-directed": "file://./plugins/legacy-plugin-chart-force-directed",
- "@superset-ui/legacy-plugin-chart-heatmap": "file://./plugins/legacy-plugin-chart-heatmap",
- "@superset-ui/legacy-plugin-chart-histogram": "file://./plugins/legacy-plugin-chart-histogram",
- "@superset-ui/legacy-plugin-chart-horizon": "file://./plugins/legacy-plugin-chart-horizon",
- "@superset-ui/legacy-plugin-chart-map-box": "file://./plugins/legacy-plugin-chart-map-box",
- "@superset-ui/legacy-plugin-chart-paired-t-test": "file://./plugins/legacy-plugin-chart-paired-t-test",
- "@superset-ui/legacy-plugin-chart-parallel-coordinates": "file://./plugins/legacy-plugin-chart-parallel-coordinates",
- "@superset-ui/legacy-plugin-chart-partition": "file://./plugins/legacy-plugin-chart-partition",
- "@superset-ui/legacy-plugin-chart-pivot-table": "file://./plugins/legacy-plugin-chart-pivot-table",
- "@superset-ui/legacy-plugin-chart-rose": "file://./plugins/legacy-plugin-chart-rose",
- "@superset-ui/legacy-plugin-chart-sankey": "file://./plugins/legacy-plugin-chart-sankey",
- "@superset-ui/legacy-plugin-chart-sankey-loop": "file://./plugins/legacy-plugin-chart-sankey-loop",
- "@superset-ui/legacy-plugin-chart-sunburst": "file://./plugins/legacy-plugin-chart-sunburst",
- "@superset-ui/legacy-plugin-chart-treemap": "file://./plugins/legacy-plugin-chart-treemap",
- "@superset-ui/legacy-plugin-chart-world-map": "file://./plugins/legacy-plugin-chart-world-map",
- "@superset-ui/legacy-preset-chart-deckgl": "file://./plugins/legacy-preset-chart-deckgl",
- "@superset-ui/legacy-preset-chart-nvd3": "file://./plugins/legacy-preset-chart-nvd3",
- "@superset-ui/plugin-chart-echarts": "file://./plugins/plugin-chart-echarts",
- "@superset-ui/plugin-chart-handlebars": "file://./plugins/plugin-chart-handlebars",
- "@superset-ui/plugin-chart-pivot-table": "file://./plugins/plugin-chart-pivot-table",
- "@superset-ui/plugin-chart-table": "file://./plugins/plugin-chart-table",
- "@superset-ui/plugin-chart-word-cloud": "file://./plugins/plugin-chart-word-cloud",
- "@superset-ui/preset-chart-xy": "file://./plugins/preset-chart-xy",
+ "@superset-ui/chart-controls": "file:./packages/superset-ui-chart-controls",
+ "@superset-ui/core": "file:./packages/superset-ui-core",
+ "@superset-ui/legacy-plugin-chart-calendar": "file:./plugins/legacy-plugin-chart-calendar",
+ "@superset-ui/legacy-plugin-chart-chord": "file:./plugins/legacy-plugin-chart-chord",
+ "@superset-ui/legacy-plugin-chart-country-map": "file:./plugins/legacy-plugin-chart-country-map",
+ "@superset-ui/legacy-plugin-chart-event-flow": "file:./plugins/legacy-plugin-chart-event-flow",
+ "@superset-ui/legacy-plugin-chart-force-directed": "file:./plugins/legacy-plugin-chart-force-directed",
+ "@superset-ui/legacy-plugin-chart-heatmap": "file:./plugins/legacy-plugin-chart-heatmap",
+ "@superset-ui/legacy-plugin-chart-histogram": "file:./plugins/legacy-plugin-chart-histogram",
+ "@superset-ui/legacy-plugin-chart-horizon": "file:./plugins/legacy-plugin-chart-horizon",
+ "@superset-ui/legacy-plugin-chart-map-box": "file:./plugins/legacy-plugin-chart-map-box",
+ "@superset-ui/legacy-plugin-chart-paired-t-test": "file:./plugins/legacy-plugin-chart-paired-t-test",
+ "@superset-ui/legacy-plugin-chart-parallel-coordinates": "file:./plugins/legacy-plugin-chart-parallel-coordinates",
+ "@superset-ui/legacy-plugin-chart-partition": "file:./plugins/legacy-plugin-chart-partition",
+ "@superset-ui/legacy-plugin-chart-pivot-table": "file:./plugins/legacy-plugin-chart-pivot-table",
+ "@superset-ui/legacy-plugin-chart-rose": "file:./plugins/legacy-plugin-chart-rose",
+ "@superset-ui/legacy-plugin-chart-sankey": "file:./plugins/legacy-plugin-chart-sankey",
+ "@superset-ui/legacy-plugin-chart-sankey-loop": "file:./plugins/legacy-plugin-chart-sankey-loop",
+ "@superset-ui/legacy-plugin-chart-sunburst": "file:./plugins/legacy-plugin-chart-sunburst",
+ "@superset-ui/legacy-plugin-chart-treemap": "file:./plugins/legacy-plugin-chart-treemap",
+ "@superset-ui/legacy-plugin-chart-world-map": "file:./plugins/legacy-plugin-chart-world-map",
+ "@superset-ui/legacy-preset-chart-deckgl": "file:./plugins/legacy-preset-chart-deckgl",
+ "@superset-ui/legacy-preset-chart-nvd3": "file:./plugins/legacy-preset-chart-nvd3",
+ "@superset-ui/plugin-chart-echarts": "file:./plugins/plugin-chart-echarts",
++ "@superset-ui/plugin-chart-handlebars": "file:./plugins/plugin-chart-handlebars",
+ "@superset-ui/plugin-chart-pivot-table": "file:./plugins/plugin-chart-pivot-table",
+ "@superset-ui/plugin-chart-table": "file:./plugins/plugin-chart-table",
+ "@superset-ui/plugin-chart-word-cloud": "file:./plugins/plugin-chart-word-cloud",
+ "@superset-ui/preset-chart-xy": "file:./plugins/preset-chart-xy",
+ "@superset-ui/switchboard": "file:./packages/superset-ui-switchboard",
"@vx/responsive": "^0.0.195",
"abortcontroller-polyfill": "^1.1.9",
+ "ace-builds": "^1.4.14",
"antd": "^4.9.4",
"array-move": "^2.2.1",
"babel-plugin-typescript-to-proptypes": "^2.0.0",
diff --cc superset-frontend/src/visualizations/presets/MainPreset.js
index 7feaa39cef,dc3736ff17..837cd98a7a
--- a/superset-frontend/src/visualizations/presets/MainPreset.js
+++ b/superset-frontend/src/visualizations/presets/MainPreset.js
@@@ -78,9 -78,8 +78,9 @@@ import
GroupByFilterPlugin,
} from 'src/filters/components/';
import { PivotTableChartPlugin as PivotTableChartPluginV2 } from '@superset-ui/plugin-chart-pivot-table';
+import { HandlebarsChartPlugin } from '@superset-ui/plugin-chart-handlebars';
import FilterBoxChartPlugin from '../FilterBox/FilterBoxChartPlugin';
- import TimeTableChartPlugin from '../TimeTable/TimeTableChartPlugin';
+ import TimeTableChartPlugin from '../TimeTable';
export default class MainPreset extends Preset {
constructor() {