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 81342c6705f8cfc69328c3d716616b8cd248ec99 Merge: 3b227f8925 3a231f6b87 Author: Ville Brofeldt <[email protected]> AuthorDate: Tue Apr 12 14:42:32 2022 +0300 Merge branch 'master' into jb/feat-plugin-handlebars .pre-commit-config.yaml | 6 + RELEASING/README.md | 1 + RELEASING/release-notes-1-5/README.md | 142 +++++++ .../release-notes-1-5/media/adhoc_columns.png | Bin 0 -> 206451 bytes .../release-notes-1-5/media/categorical_line.png | Bin 0 -> 308426 bytes .../release-notes-1-5/media/dependent_filters.png | Bin 0 -> 437988 bytes RELEASING/release-notes-1-5/media/filter_bar.png | Bin 0 -> 367513 bytes RELEASING/release-notes-1-5/media/permalink.png | Bin 0 -> 187932 bytes UPDATING.md | 1 + docs/docs/installation/sql-templating.mdx | 8 +- docs/yarn.lock | 12 +- requirements/testing.in | 1 + requirements/testing.txt | 13 +- setup.py | 1 - superset-embedded-sdk/package-lock.json | 16 +- .../explore/visualizations/time_table.js | 6 +- .../cypress-base/cypress/utils/parsePostForm.ts | 2 +- superset-frontend/cypress-base/package-lock.json | 12 +- superset-frontend/package.json | 1 - .../src/shared-controls/index.tsx | 4 +- .../packages/superset-ui-core/src/color/utils.ts | 13 + .../superset-ui-core/test/color/utils.test.ts | 24 +- .../test/models/ExtensibleFunction.test.ts | 2 +- .../test/query/buildQueryObject.test.ts | 3 +- .../packages/superset-ui-demo/package.json | 1 - .../legacy-plugin-chart-force-directed/Stories.tsx | 39 -- .../legacy-plugin-chart-force-directed/data.ts | 447 --------------------- .../stories/plugins/plugin-chart-table/testData.ts | 2 +- .../legacy-plugin-chart-chord/src/ReactChord.jsx | 30 +- .../legacy-plugin-chart-country-map/package.json | 6 +- .../src/CountryMap.js | 1 - .../src/ReactCountryMap.js | 22 - .../src/ReactCountryMap.jsx | 76 ++++ .../src/countries/ukraine.geojson | 3 +- .../CHANGELOG.md | 27 -- .../legacy-plugin-chart-force-directed/README.md | 52 --- .../package.json | 39 -- .../src/ForceDirected.js | 176 -------- .../src/controlPanel.ts | 108 ----- .../src/images/thumbnail.png | Bin 33535 -> 0 bytes .../src/images/thumbnailLarge.png | Bin 94166 -> 0 bytes .../src/index.js | 41 -- .../src/transformProps.js | 30 -- .../tsconfig.json | 25 -- .../legacy-plugin-chart-horizon/package.json | 33 +- .../src/HorizonChart.css | 38 -- .../src/HorizonChart.jsx | 68 +++- .../legacy-plugin-chart-paired-t-test/package.json | 33 +- .../src/PairedTTest.css | 86 ---- .../src/PairedTTest.jsx | 106 ++++- .../src/ParallelCoordinates.js | 1 - .../src/ReactParallelCoordinates.jsx | 95 ++++- .../src/vendor/parcoords/d3.parcoords.css | 79 ---- .../legacy-plugin-chart-partition/package.json | 37 +- .../src/Partition.css | 64 --- .../legacy-plugin-chart-partition/src/Partition.js | 4 +- .../src/ReactPartition.js | 22 - .../src/ReactPartition.jsx | 81 ++++ .../legacy-plugin-chart-sankey-loop/package.json | 36 +- .../src/ReactSankeyLoop.js | 22 - .../src/ReactSankeyLoop.jsx | 72 ++++ .../src/SankeyLoop.css | 57 --- .../src/SankeyLoop.js | 2 - .../legacy-plugin-chart-sankey/src/ReactSankey.jsx | 64 +-- .../legacy-plugin-chart-sunburst/package.json | 36 +- .../src/ReactSunburst.js | 22 - .../src/ReactSunburst.jsx | 66 +++ .../legacy-plugin-chart-sunburst/src/Sunburst.css | 70 ---- .../legacy-plugin-chart-sunburst/src/Sunburst.js | 1 - .../legacy-plugin-chart-treemap/package.json | 36 +- .../src/ReactTreemap.js | 22 - .../src/ReactTreemap.jsx} | 41 +- .../legacy-plugin-chart-treemap/src/Treemap.css | 36 -- .../legacy-plugin-chart-treemap/src/Treemap.js | 1 - .../src/layers/Screengrid/Screengrid.jsx | 2 +- .../legacy-preset-chart-deckgl/src/utils.js | 4 +- .../src/BigNumber/BigNumberViz.tsx | 83 ++-- .../BigNumber/BigNumberWithTrendline/buildQuery.ts | 56 +-- .../BigNumberWithTrendline/controlPanel.tsx | 46 +++ .../plugin-chart-echarts/src/Pie/controlPanel.tsx | 12 + .../plugin-chart-echarts/src/Pie/transformProps.ts | 79 +++- .../src/Timeseries/transformers.ts | 2 +- .../src/DataTable/hooks/useSticky.tsx | 4 +- superset-frontend/src/SqlLab/App.jsx | 1 - superset-frontend/src/SqlLab/actions/sqlLab.js | 21 +- .../src/SqlLab/components/QuerySearch/index.tsx | 6 +- .../src/SqlLab/components/QueryTable/index.tsx | 6 +- .../ScheduleQueryButton/ScheduleQueryButton.less | 39 -- .../components/ScheduleQueryButton/index.tsx | 23 +- .../src/assets/images/filter-results.svg | 34 ++ .../src/components/AlteredSliceTag/index.jsx | 5 +- superset-frontend/src/components/Button/index.tsx | 9 + .../src/components/Datasource/CollectionTable.tsx | 26 +- .../src/components/Datasource/DatasourceEditor.jsx | 6 +- .../src/components/Datasource/Field.tsx | 1 - .../src/components/Datasource/crud.less | 54 --- .../src/components/EmptyState/index.tsx | 19 +- .../src/components/FaveStar/index.tsx | 16 +- .../components/FilterableTable/FilterableTable.tsx | 108 ++++- .../FilterableTable/FilterableTableStyles.less | 118 ------ .../src/components/ImportModal/index.tsx | 2 +- .../src/components/ListView/Filters/Base.ts | 4 + .../src/components/ListView/Filters/DateRange.tsx | 27 +- .../src/components/ListView/Filters/Search.tsx | 23 +- .../src/components/ListView/Filters/Select.tsx | 36 +- .../src/components/ListView/Filters/index.tsx | 36 +- .../src/components/ListView/ListView.tsx | 43 +- superset-frontend/src/components/ListView/utils.ts | 1 + .../src/components/ReportModal/styles.tsx | 10 +- superset-frontend/src/components/Select/Select.tsx | 17 +- superset-frontend/src/components/Select/utils.ts | 9 +- .../src/dashboard/actions/dashboardLayout.js | 2 +- .../nativeFilters/FilterBar/FilterBar.test.tsx | 3 +- .../FiltersConfigModal/Footer/Footer.tsx | 2 +- .../src/dashboard/containers/DashboardPage.tsx | 2 +- .../src/dashboard/util/findPermission.ts | 2 +- .../util/getFormDataWithExtraFilters.test.ts | 18 +- .../src/dashboard/util/injectCustomCss.ts | 2 +- .../src/explore/components/ChartPills.tsx | 88 ++++ .../src/explore/components/Control.less | 21 - .../src/explore/components/Control.test.tsx | 94 +++++ .../src/explore/components/Control.tsx | 41 +- .../explore/components/ControlPanelsContainer.tsx | 9 +- .../src/explore/components/ControlRow.test.tsx | 45 ++- .../src/explore/components/ControlRow.tsx | 18 +- .../explore/components/DatasourcePanel/index.tsx | 2 +- .../ChartEditableTitle/ChartEditableTitle.test.tsx | 68 ++++ .../ChartEditableTitle/index.tsx | 213 ++++++++++ .../ExploreChartHeader/ExploreChartHeader.test.tsx | 3 +- .../components/ExploreChartHeader/index.jsx | 197 ++++----- .../src/explore/components/ExploreChartPanel.jsx | 68 ++-- .../components/ExploreViewContainer/index.jsx | 420 ++++++++++--------- .../PropertiesModal/PropertiesModal.test.tsx | 58 +-- .../{ => RowCountLabel}/RowCountLabel.stories.tsx | 2 +- .../{ => RowCountLabel}/RowCountLabel.test.jsx | 2 +- .../{RowCountLabel.tsx => RowCountLabel/index.tsx} | 0 .../src/explore/components/SaveModal.test.jsx | 27 ++ .../src/explore/components/SaveModal.tsx | 11 +- .../controls/DatasourceControl/index.jsx | 3 +- .../index.tsx | 14 +- .../src/explore/controlUtils/controlUtils.test.tsx | 16 +- .../components/Select/SelectFilterPlugin.tsx | 4 +- superset-frontend/src/profile/App.tsx | 1 - .../src/profile/components/CreatedContent.tsx | 25 +- superset-frontend/src/profile/main.less | 32 -- superset-frontend/src/types/bootstrapTypes.ts | 10 + .../src/views/CRUD/alert/AlertList.tsx | 17 +- .../src/views/CRUD/alert/AlertReportModal.tsx | 8 +- .../src/views/CRUD/alert/ExecutionLog.tsx | 10 + .../src/views/CRUD/annotation/AnnotationList.tsx | 24 +- .../CRUD/annotationlayers/AnnotationLayersList.tsx | 20 +- .../views/CRUD/data/database/DatabaseList.test.jsx | 92 ++--- .../src/views/CRUD/data/database/DatabaseList.tsx | 99 ++--- .../data/database/DatabaseModal/ModalHeader.tsx | 40 +- .../data/database/DatabaseModal/index.test.jsx | 17 + .../CRUD/data/database/DatabaseModal/index.tsx | 333 +++++++++++++-- .../CRUD/data/database/DatabaseModal/styles.ts | 40 ++ .../src/views/CRUD/data/database/types.ts | 2 +- .../views/CRUD/data/query/QueryPreviewModal.tsx | 4 +- .../data/savedquery/SavedQueryPreviewModal.tsx | 4 +- superset-frontend/src/views/CRUD/hooks.ts | 32 +- superset-frontend/src/views/CRUD/utils.test.tsx | 25 ++ superset-frontend/src/views/CRUD/utils.tsx | 20 +- .../src/views/CRUD/welcome/EmptyState.tsx | 3 +- .../src/views/components/Menu.test.tsx | 6 + superset-frontend/src/views/components/Menu.tsx | 1 + .../src/views/components/MenuRight.tsx | 94 ++++- superset-frontend/src/views/components/SubMenu.tsx | 25 +- .../src/visualizations/FilterBox/FilterBox.jsx | 93 ++++- .../src/visualizations/FilterBox/FilterBox.less | 78 ---- .../visualizations/FilterBox/FilterBox.test.jsx | 5 +- .../src/visualizations/TimeTable/TimeTable.jsx | 8 +- .../src/visualizations/TimeTable/TimeTable.less | 21 - .../tools/eslint-plugin-theme-colors/index.js | 9 +- superset/cli/importexport.py | 20 +- superset/connectors/sqla/models.py | 83 ++-- superset/connectors/sqla/utils.py | 13 +- superset/constants.py | 1 + superset/dashboards/api.py | 19 +- superset/dashboards/filters.py | 15 + superset/databases/api.py | 8 +- superset/databases/commands/test_connection.py | 4 +- superset/databases/commands/validate.py | 4 +- superset/databases/filters.py | 73 +++- superset/databases/schemas.py | 10 +- superset/databases/utils.py | 35 +- superset/db_engine_specs/__init__.py | 3 + superset/db_engine_specs/base.py | 5 +- superset/db_engine_specs/bigquery.py | 4 +- superset/db_engine_specs/hive.py | 5 +- superset/db_engine_specs/presto.py | 5 +- superset/db_engine_specs/snowflake.py | 5 +- superset/db_engine_specs/trino.py | 5 +- superset/importexport/api.py | 1 + superset/initialization/__init__.py | 3 +- superset/jinja_context.py | 22 + superset/migrations/shared/utils.py | 10 +- ...13dd52_change_fetch_values_predicate_to_text.py | 4 +- ...1091c0ef16_add_extra_column_to_columns_model.py | 3 - ...e1b9c3_add_report_format_to_report_schedule_.py | 1 - ...cbaac5_change_datatype_of_type_in_basecolumn.py | 1 - .../620241d1153f_update_time_grain_sqla.py | 4 +- ...d20ba9ecb33_add_last_saved_at_to_slice_model.py | 1 - .../73fd22e742ab_add_dynamic_plugins_py.py | 1 - ...3_sql_lab_models_database_constraint_updates.py | 138 +++++++ ...mat_to_report_schedule_.py => 9d8a8d575284_.py} | 22 +- .../ab9a9d86e695_deprecate_time_range_endpoints.py | 27 +- ...e27eaf93db_add_extra_config_column_to_alerts.py | 4 +- ...0249074e4_deprecate_time_range_endpoints_v2.py} | 12 +- .../versions/b8d3a24d9131_new_dataset_models.py | 18 +- .../versions/b92d69a6643c_rename_csv_to_file.py | 4 +- ...7149153d_add_certifications_columns_to_slice.py | 4 +- superset/models/core.py | 23 +- superset/models/helpers.py | 8 + superset/models/sql_lab.py | 12 +- superset/sql_parse.py | 1 - superset/tasks/async_queries.py | 13 +- superset/translations/de/LC_MESSAGES/messages.json | 2 +- superset/translations/de/LC_MESSAGES/messages.po | 2 +- superset/translations/en/LC_MESSAGES/messages.po | 2 +- superset/translations/es/LC_MESSAGES/messages.po | 2 +- superset/translations/fr/LC_MESSAGES/messages.po | 2 +- superset/translations/it/LC_MESSAGES/messages.po | 2 +- superset/translations/ja/LC_MESSAGES/messages.po | 2 +- superset/translations/ko/LC_MESSAGES/messages.po | 2 +- superset/translations/messages.pot | 2 +- superset/translations/nl/LC_MESSAGES/messages.json | 2 +- superset/translations/nl/LC_MESSAGES/messages.po | 2 +- .../translations/pt_BR/LC_MESSAGES/messages.po | 2 +- superset/translations/ru/LC_MESSAGES/messages.po | 2 +- superset/translations/sk/LC_MESSAGES/messages.po | 2 +- superset/translations/sl/LC_MESSAGES/messages.json | 2 +- superset/translations/sl/LC_MESSAGES/messages.po | 2 +- superset/translations/zh/LC_MESSAGES/messages.json | 2 +- superset/translations/zh/LC_MESSAGES/messages.po | 2 +- superset/utils/cache_manager.py | 2 +- superset/utils/pandas_postprocessing/compare.py | 7 +- superset/views/alerts.py | 5 + superset/views/core.py | 30 +- superset/views/database/mixins.py | 4 +- superset/views/database/validators.py | 8 +- superset/views/sql_lab.py | 7 + tests/integration_tests/access_tests.py | 9 +- tests/integration_tests/dashboard_tests.py | 14 +- tests/integration_tests/dashboards/api_tests.py | 60 ++- tests/integration_tests/databases/api_tests.py | 358 +++++++++++++++++ tests/integration_tests/druid_tests.py | 2 +- tests/integration_tests/jinja_context_tests.py | 422 ------------------- ...migrate_native_filters_to_new_schema__tests.py} | 0 .../fb13d49b72f9_better_filters__tests.py} | 27 +- ...21_migrate_filter_sets_to_new_format__tests.py} | 0 tests/integration_tests/queries/api_tests.py | 4 +- tests/integration_tests/security_tests.py | 3 +- tests/integration_tests/test_jinja_context.py | 190 +++++++++ tests/integration_tests/utils_tests.py | 4 +- .../unit_tests/databases/utils_test.py | 40 +- .../unit_tests/jinja_context_test.py | 33 +- .../pandas_postprocessing/test_compare.py | 40 +- tests/unit_tests/test_jinja_context.py | 268 ++++++++++++ 259 files changed, 4739 insertions(+), 3853 deletions(-)
