You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by gi...@apache.org on 2021/07/09 10:40:03 UTC
[superset] branch
dependabot/npm_and_yarn/superset-frontend/d3-scale-4.0.0 updated (9393db1
-> 5714df1)
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch dependabot/npm_and_yarn/superset-frontend/d3-scale-4.0.0
in repository https://gitbox.apache.org/repos/asf/superset.git.
discard 9393db1 build(deps): bump d3-scale from 2.1.2 to 4.0.0 in /superset-frontend
add accee50 chore: Add Druid SQL timegrains for parity with Druid NoSQL (#15320)
add 819118b fix: Enlarged select filter value (#15373)
add 9330c6e initial commit (#15380)
add 95b9e2e refactor: icon to icons for favestar component (#15371)
add a7e1037 chore: Improves the Select component UI/UX - iteration 3 (#15363)
add 1e8fb8b chore: Migrates ControlHeader icons (#15265)
add bdb9b0a chore: Rewrites dashboard IconButton component (#14174)
add f3f0184 initial commit (#15392)
add 22d23fc Add possibility to specify Service Account name for the Deployment in the Helm chart (#15340)
add 09c44d0 feat(native-filters): Hide non-numeric columns in numeric range filter (#15385)
add 73e2c09 fix(regression): removed flask_app property can break derived class (#15407)
add a3d91ae Fix bootstrapScript in values.yaml of the helm chart (#15297)
add b9b903f feat: Adding a show all button to the column/metrics list in the explore view (Allow more than 50 columns to be shown) (#15153)
add a4ce952 docs: release documentation for 1.2 (#14572)
add e62cb2f chore: Add Slovenian (sl_SI) translation (#14908)
add 2ebc0a0 chore: upgrade Flask-Caching>=1.10.0
add f53b2c6 docs: Update SIP template (#14278)
add 8205ea5 chore: add DASHBOARD_FILTERS_EXPERIMENTAL ff to BE default value (#15417)
add ddcf461 fix(native-filters): show human readable time grain label in indicator (#15411)
add d8a1acf chore(refactor): load configuration and merge recursively (#15405)
add 486b8d9 refactor(feature_flags configurations): remove redundant additional configuration for default vales (#15425)
add 93447d1 Update Header.jsx (#13467)
add 1c4cb28 fix: double click slq lab table cell (#15400)
add ac18c90 fix: Cascading filter popover widens automatically (#15390)
add 18f3089 Update CONTRIBUTING.md (#14880)
add 0b7e524 fix: Select item when allowNewOptions is true and the Enter is pressed (#15429)
add f52b671 fix: downgrade selenium log level on timeout (#15328)
add e713912 chore: Uses mixed case for native filters headers (#15433)
add 21d1fb5 feat: more error messages (#15409)
add ed6d10e Remove pydash merge (#15435)
add a0179ac refactor: icon to icons for inderteminatecheckbox icon (#15397)
add 076f774 refactor: icon to icons for lastupdated component (#15401)
add faae27b Open in _self (#14778)
add 1797805 Fix wrong filename mentioned in INSTALL.md (#14630)
add fe77558 add missing logging import (#14994)
add b8f4e7d fix: add dashboard markdown id (#15418)
add fa6b25d fix(explore): switch to correct scheme registry for custom sequential color schemes (#15314)
add 2af9287 chore(docs): Manage access to Dashboards (#15413)
add f33a0e1 fix: import superset_config (#15444)
add f109da4 perf(dashboard): Improve perf of highlighting charts in scope of active filter (#15424)
add 727847d fix: remove unnecessary app context on celery (#15422)
add dd40733 fix(native-filters): filter type check when using experimental flag (#15446)
add ab7f31f Revert "refactor(feature_flags configurations): remove redundant additional configuration for default vales (#15425)" (#15448)
add 4630abb feat(native-filters): add support for preselect filters (#15427)
add 4a394cd fix(dashboard): native filters highlight with multiple tabs jumps to first tab (#15455)
add 743d9cc feat: Better Errors in SQL Lab (#15432)
add 149c5fd feat: add more SIP-40 errors to SQL Lab (#15436)
add 8b3d08a feat: add env vars from multiple secrets in Helm chart (#15426)
add 5181a74 chore: simplify errors and issue codes (#15437)
add a2d69ea feat(trino): add support for query cost estimate #15166 (#15177)
add ebb3efc initial commit (#15466)
add 292bce5 fix: raise unexpected error when orderby is empty (#15353)
add 61e6b70 fix: nvd3 bar chart sortby metric (#15318)
add 5f96e63 fix(native-filters): Fix clear all button (#15438)
add 7ad8fd5 feat(add Netezza database): Add IBM Netezza support (#15450)
add 6c16f9b fix: bump Redis minor version (#15430)
add cad5ba8 documentation changes for netezza (#15475)
add ffa5175 refactor: Moving get_user_datasources to security manager (#15467)
add e606477 feat: more SIP-40 errors (#15482)
add e5d4765 feat(dashboard-groupby): group by - add ability to exclude columns (#15454)
add f286647 chore(native-filters): remove instant filtering option (#15365)
add 285c1b5 fix: skip set and log when NullCache (#15493)
add a3a3477 Update ingress api version to v1 (#15273)
add baf42bc docs: improve docs on running tests locally (#14102)
add 0ff3253 fix(native-filters): chartsInScope were not recalculated in some cases (#15498)
add 665459f feat(native-filters): add null option to value filter (#15419)
add 55d0371 fix: GSheets supports JOINs (#15487)
add b5119b8 refactor(tests): decouple unittests from integration tests (#15473)
add 7889564 refactor: icon to icons for infotooltip component (#15398)
add 246368e fix(sqllab): add new tab when add sql query (#15492)
add 7f2f51b refactor: icon to icons for listviewcomponent (#15408)
add d4480f5 feat: Database Connection UI (#14881)
add cbc4aa8 feat: extra table metadata for Google Sheets (#14775)
add 81633e9 refactor(dashboard): [chart-maximize-mode]put chart full-size state in redux (#15384)
add 99fe9c5 fix: Utilizing dashboard native filter feature flag (#15519)
add ee2ee48 feat(cross-filters): add option to clear set cross filters (#15500)
add ea2a98f refactor: icon to icons for popovercomponent (#15451)
add e5ab9a4 chors(docs): update DASHBOARD_RBAC (#15514)
add 68704a5 fix: Database connection R6 fixes (#15486)
add 80b8df0 quote column name if db requires (#15465)
add 8f92618 fix: show all dbs in available endpoint (#15534)
add f62cea3 chore(release-docs): svn update after svn commit (#15523)
add dd16468 fix: base requirements missing deprecation pkg (#15527)
add 2cb13e6 fix(native-filters): Fix native filters config modal (#15506)
add b20293d fix: click card view link to 404 page when card rendering(#15526)
add fb322b5 refactor: migrate to icons for searchinput icons (#15533)
add 83d50dd chore: add metadata for filter box plugin (#15521)
add 07852c3 refactor: icon to icons for popoversection (#15461)
add 624b413 fix: variable context (#15511)
add 15796ea refactor: type hints should not be load in runtime (#15540)
add bee386e feat: supporting jinja templating in saved metrics (#15502)
add 08bda27 fix: indentation in Helm chart (#15547)
add 0af5a3d fix: examples remove app context at the module level (#15546)
add 314d49c Enhance Select (#15550)
add 83be06d Revert #15405 #15435 #15444 (#15558)
add 29dd084 refactor: icon to icons for headeractionsdropdown (#15560)
add cd4f979 initial commit (#15551)
add c732d2d updated dremio connection string (#15575)
add 58cda8f refactor: icon to icons for nativeFilter components (#15528)
add ae160f7 chore: add changed_on_delta_humanized field on dashboard schema (#15542)
add abd999b refactor: icon to icons for filterbadge components (#15557)
add 86a59a2 initial fix (#15581)
add 4f5f928 feat: validate_parameters for GSheets (#15578)
add 301b94f fix: available endpoint showing specs without drivers (#15587)
add 77800f9 chore: results of npm audit fix on superset-websocket (#15591)
add e539d08 fix: DBC UI tooltip aligment (#15595)
add ad85e7b added isEditMode (#15594)
add 4685d86 fix: Revert "chore: Bump @svgr/webpack to 5.5.0" (#15589)
add 4ab565c refactor: icon to icons for sliceheader component (#15567)
add 026eefd Revert "Open in _self (#14778)" (#15588)
add 2be52c0 refactor: icon to icons for controls (#15568)
add 1d572ca fix(dashboard-list): change name of dashboard is not reflected instantly (#15186)
add 7e9674a refactor(annotation): improve annotation modal (#15359)
add 367d47b chore: bumping superset-ui 0.17.64 (#15615)
add 5714df1 build(deps): bump d3-scale from 2.1.2 to 4.0.0 in /superset-frontend
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (9393db1)
\
N -- N -- N refs/heads/dependabot/npm_and_yarn/superset-frontend/d3-scale-4.0.0 (5714df1)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/ISSUE_TEMPLATE/sip.md | 4 +-
.github/workflows/bashlib.sh | 2 +-
.github/workflows/superset-e2e.yml | 2 +-
.github/workflows/superset-python-presto-hive.yml | 4 +-
.github/workflows/superset-python-unittest.yml | 6 +-
CHANGELOG.md | 505 +
CONTRIBUTING.md | 20 +-
INSTALL.md | 2 +-
README.md | 1 +
RELEASING/README.md | 6 +-
RELEASING/release-notes-1-2/README.md | 122 +
.../release-notes-1-2/media/dashboard_rbac.png | Bin 0 -> 554983 bytes
.../release-notes-1-2/media/native_filters.png | Bin 0 -> 392227 bytes
.../media/native_filters_temporal.png | Bin 0 -> 120672 bytes
.../release-notes-1-2/media/pivot_table_v2.png | Bin 0 -> 590341 bytes
RELEASING/release-notes-1-2/media/radar_chart.png | Bin 0 -> 222199 bytes
.../media/time_series_multichart.png | Bin 0 -> 38078 bytes
RESOURCES/FEATURE_FLAGS.md | 2 +-
docker/docker-bootstrap.sh | 2 +-
docs/installation.rst | 1 +
docs/src/images/databases/netezza.png | Bin 0 -> 54596 bytes
.../pages/docs/Connecting to Databases/dremio.mdx | 2 +-
.../pages/docs/Connecting to Databases/index.mdx | 1 +
.../pages/docs/Connecting to Databases/netezza.mdx | 18 +
.../docs/Creating Charts and Dashboards/index.mdx | 16 +
docs/src/pages/docs/Miscellaneous/issue_codes.mdx | 72 +
docs/src/pages/docs/installation/configuring.mdx | 1 +
docs/src/resources/data.js | 5 +
docs/static/images/tutorial_dashboard_access.png | Bin 0 -> 46743 bytes
helm/superset/Chart.yaml | 4 +-
helm/superset/templates/deployment-beat.yaml | 6 +-
helm/superset/templates/deployment-worker.yaml | 9 +-
helm/superset/templates/deployment.yaml | 9 +-
helm/superset/templates/ingress.yaml | 12 +-
helm/superset/templates/init-job.yaml | 6 +-
helm/superset/values.yaml | 26 +-
requirements/base.txt | 64 +-
requirements/development.txt | 4 +-
requirements/integration.txt | 8 -
requirements/testing.in | 1 +
requirements/testing.txt | 17 +-
scripts/python_tests.sh | 2 +-
scripts/tests/run.sh | 2 +-
setup.cfg | 2 +-
setup.py | 9 +-
.../integration/chart_list/card_view.test.ts | 18 +-
.../cypress/integration/chart_list/filter.test.ts | 4 +-
.../integration/chart_list/list_view.test.ts | 8 +-
.../cypress/integration/dashboard/controls.test.ts | 4 +-
.../cypress/integration/dashboard/fav_star.test.js | 22 +-
.../cypress/integration/dashboard/filter.test.ts | 4 +-
.../cypress/integration/dashboard/markdown.test.ts | 4 +-
.../cypress/integration/dashboard/save.test.js | 2 +-
.../integration/dashboard_list/card_view.test.ts | 18 +-
.../integration/dashboard_list/filter.test.ts | 4 +-
.../integration/dashboard_list/list_view.test.ts | 8 +-
.../cypress/integration/database/modal.test.ts | 91 +-
.../images/icons/default_db_image.svg | 21 +
superset-frontend/images/netezza.png | Bin 0 -> 54596 bytes
superset-frontend/jest.config.js | 2 +-
superset-frontend/package-lock.json | 1216 +-
superset-frontend/package.json | 60 +-
.../spec/fixtures/mockNativeFilters.ts | 3 -
.../dashboard/components/FiltersBadge_spec.tsx | 99 +-
.../components/gridComponents/Divider_spec.jsx | 2 +-
.../components/gridComponents/Tabs_spec.jsx | 13 +-
.../dashboard/fixtures/mockNativeFilters.ts | 1 -
.../dashboard/util/getDashboardUrl_spec.js | 45 +-
.../src/SqlLab/components/TableElement.tsx | 42 +-
.../src/SqlLab/reducers/getInitialState.js | 4 +
.../src/components/AnchorLink/index.jsx | 8 +-
.../src/components/ErrorMessage/types.ts | 8 +
.../src/components/FaveStar/FaveStar.test.tsx | 16 +-
.../src/components/FaveStar/index.tsx | 4 +-
.../components/FilterableTable/FilterableTable.tsx | 4 +-
.../Form/LabeledErrorBoundInput.stories.tsx | 4 +
.../Form/LabeledErrorBoundInput.test.jsx | 19 +-
.../src/components/Form/LabeledErrorBoundInput.tsx | 39 +-
superset-frontend/src/components/Icon/index.tsx | 3 +
.../src/components/IconButton/index.tsx | 65 +-
.../components/IconTooltip/IconTooltip.stories.tsx | 4 +-
superset-frontend/src/components/Icons/index.tsx | 2 +
.../src/components/ImportModal/index.tsx | 5 -
.../src/components/IndeterminateCheckbox/index.tsx | 22 +-
.../src/components/InfoTooltip/index.tsx | 7 +-
.../components/LastUpdated/LastUpdated.test.tsx | 2 +-
.../src/components/LastUpdated/index.tsx | 8 +-
.../src/components/ListView/ListView.tsx | 8 +-
.../src/components/ListViewCard/index.tsx | 2 +-
.../src/components/PopoverDropdown/index.tsx | 7 +-
.../src/components/PopoverSection/index.tsx | 12 +-
.../src/components/RefreshLabel/index.tsx | 9 +-
.../components/SearchInput/SearchInput.test.jsx | 15 +-
.../src/components/SearchInput/index.tsx | 13 +-
.../src/components/Select/Select.stories.tsx | 314 +-
superset-frontend/src/components/Select/Select.tsx | 383 +-
superset-frontend/src/components/Tabs/Tabs.tsx | 9 +-
superset-frontend/src/constants.ts | 8 +
.../src/dashboard/actions/dashboardState.js | 5 +
superset-frontend/src/dashboard/actions/hydrate.js | 4 +-
.../DashboardBuilder/DashboardBuilder.tsx | 14 +-
.../DashboardBuilder/DashboardContainer.tsx | 33 +-
.../dashboard/components/DashboardBuilder/state.ts | 7 +-
.../dashboard/components/DashboardBuilder/utils.ts | 3 +-
.../dashboard/components/DeleteComponentButton.jsx | 6 +-
.../components/FiltersBadge/DetailsPanel/index.tsx | 6 +-
.../FiltersBadge/FilterIndicator/index.tsx | 26 +-
.../dashboard/components/FiltersBadge/Styles.tsx | 12 +-
.../dashboard/components/FiltersBadge/index.tsx | 163 +-
.../dashboard/components/FiltersBadge/selectors.ts | 66 +-
.../Header/HeaderActionsDropdown/index.jsx | 36 +-
.../src/dashboard/components/Header/index.jsx | 5 +-
.../src/dashboard/components/IconButton.jsx | 63 -
.../buttons.less => components/IconButton.tsx} | 52 +-
.../dashboard/components/PropertiesModal/index.jsx | 1 -
.../components/SliceHeader/SliceHeader.test.tsx | 2 +-
.../src/dashboard/components/SliceHeader/index.tsx | 23 +-
.../components/SliceHeaderControls/index.tsx | 10 +-
.../components/gridComponents/ChartHolder.jsx | 58 +-
.../components/gridComponents/ChartHolder.test.tsx | 14 +-
.../dashboard/components/gridComponents/Column.jsx | 30 +-
.../components/gridComponents/Markdown.jsx | 1 +
.../dashboard/components/gridComponents/Row.jsx | 26 +-
.../dashboard/components/gridComponents/Tabs.jsx | 17 +-
.../components/gridComponents/Tabs.test.tsx | 2 +-
.../dashboard/components/gridComponents/index.js | 4 +-
.../CascadeFilters/CascadeFilterControl/index.tsx | 54 +-
.../CascadeFilters/CascadePopover/index.tsx | 50 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 25 +-
.../FilterBar/FilterControls/FilterControl.tsx | 56 +-
.../FilterBar/FilterControls/FilterValue.tsx | 37 +-
.../nativeFilters/FilterBar/Header/Header.test.tsx | 1 -
.../nativeFilters/FilterBar/Header/index.tsx | 20 +-
.../components/nativeFilters/FilterBar/index.tsx | 43 +-
.../components/nativeFilters/FilterBar/state.ts | 16 +-
.../FiltersConfigModal/FilterTabs.tsx | 11 +-
.../FiltersConfigForm/ColumnSelect.tsx | 57 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 146 +-
.../FiltersConfigForm/getControlItemsMap.test.tsx | 7 +-
.../FiltersConfigForm/getControlItemsMap.tsx | 92 +-
.../FiltersConfigModal/FiltersConfigForm/state.ts | 3 +-
.../FiltersConfigModal/FiltersConfigForm/utils.ts | 29 +
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 6 -
.../nativeFilters/FiltersConfigModal/types.ts | 1 -
.../nativeFilters/FiltersConfigModal/utils.ts | 14 -
.../dashboard/components/nativeFilters/state.ts | 11 +
.../dashboard/components/nativeFilters/types.ts | 1 -
.../dashboard/containers/DashboardComponent.jsx | 36 +-
.../src/dashboard/containers/DashboardHeader.jsx | 4 +
.../src/dashboard/containers/FiltersBadge.tsx | 115 -
.../src/dashboard/reducers/dashboardState.js | 7 +
.../src/dashboard/stylesheets/index.less | 1 -
superset-frontend/src/dashboard/types.ts | 7 +-
.../src/dashboard/util/activeDashboardFilters.js | 4 +-
.../src/dashboard/util/getDashboardUrl.ts | 36 +-
superset-frontend/src/dataMask/actions.ts | 16 +-
superset-frontend/src/dataMask/reducer.ts | 7 +-
.../src/explore/components/ControlHeader.jsx | 25 +-
.../explore/components/DatasourcePanel/index.tsx | 43 +-
.../controls/CollectionControl/index.jsx | 10 +-
.../controls/DatasourceControl/index.jsx | 12 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 15 +-
.../components/GroupBy/GroupByFilterPlugin.tsx | 21 +-
.../src/filters/components/GroupBy/controlPanel.ts | 18 +
.../filters/components/Range/RangeFilterPlugin.tsx | 7 +-
.../src/filters/components/Range/controlPanel.ts | 3 +-
.../components/Select/SelectFilterPlugin.tsx | 15 +-
.../filters/components/Select/buildQuery.test.ts | 2 +-
.../src/filters/components/Select/buildQuery.ts | 47 +-
.../src/filters/components/Select/controlPanel.ts | 14 +-
.../src/filters/components/Time/controlPanel.ts | 17 +
.../TimeColumn/TimeColumnFilterPlugin.tsx | 7 +-
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 22 +-
superset-frontend/src/filters/components/common.ts | 9 +-
superset-frontend/src/setup/setupColors.ts | 5 +-
superset-frontend/src/setup/setupErrorMessages.ts | 28 +
.../src/types/react-lines-ellipsis.d.ts | 47 +
superset-frontend/src/utils/urlUtils.ts | 13 +-
.../src/views/CRUD/annotation/AnnotationList.tsx | 1 +
.../views/CRUD/annotation/AnnotationModal.test.jsx | 1 +
.../src/views/CRUD/annotation/AnnotationModal.tsx | 27 +-
.../src/views/CRUD/chart/ChartCard.tsx | 2 +-
.../src/views/CRUD/chart/ChartList.test.jsx | 2 +-
.../views/CRUD/dashboard/DashboardList.test.jsx | 2 +-
.../src/views/CRUD/dashboard/DashboardList.tsx | 22 +-
.../DatabaseModal/DatabaseConnectionForm.tsx | 288 +-
.../data/database/DatabaseModal/ExtraOptions.tsx | 260 +-
.../data/database/DatabaseModal/ModalHeader.tsx | 159 +
.../data/database/DatabaseModal/SqlAlchemyForm.tsx | 2 +
.../data/database/DatabaseModal/index.test.jsx | 1137 +-
.../CRUD/data/database/DatabaseModal/index.tsx | 908 +-
.../CRUD/data/database/DatabaseModal/styles.ts | 233 +-
.../src/views/CRUD/data/database/types.ts | 35 +-
superset-frontend/src/views/CRUD/hooks.ts | 83 +-
.../src/views/CRUD/welcome/EmptyState.tsx | 2 +-
.../src/views/CRUD/welcome/SavedQueries.tsx | 2 +-
.../FilterBox/FilterBoxChartPlugin.js | 6 +-
superset-websocket/package-lock.json | 99 +-
superset/charts/schemas.py | 14 +-
superset/common/query_context.py | 8 +-
superset/config.py | 10 +-
superset/connectors/connector_registry.py | 36 -
superset/connectors/sqla/models.py | 21 +-
superset/dashboards/schemas.py | 1 +
superset/databases/api.py | 8 +
superset/databases/commands/exceptions.py | 2 +-
superset/databases/commands/validate.py | 11 +-
superset/databases/schemas.py | 25 +-
superset/datasets/api.py | 18 +-
superset/db_engine_specs/__init__.py | 29 +-
superset/db_engine_specs/athena.py | 21 +-
superset/db_engine_specs/base.py | 35 +-
superset/db_engine_specs/bigquery.py | 88 +-
superset/db_engine_specs/drill.py | 1 +
superset/db_engine_specs/druid.py | 9 +
superset/db_engine_specs/elasticsearch.py | 4 +-
superset/db_engine_specs/gsheets.py | 92 +-
superset/db_engine_specs/hive.py | 5 +
superset/db_engine_specs/mssql.py | 8 +-
superset/db_engine_specs/mysql.py | 13 +
.../db_engine_specs/{gsheets.py => netezza.py} | 36 +-
superset/db_engine_specs/postgres.py | 10 +
superset/db_engine_specs/snowflake.py | 31 +-
superset/db_engine_specs/trino.py | 83 +-
superset/errors.py | 332 +-
superset/examples/bart_lines.py | 7 +-
superset/examples/birth_names.py | 33 +-
superset/examples/country_map.py | 7 +-
superset/examples/deck.py | 23 +-
superset/examples/energy.py | 12 +-
superset/examples/flights.py | 7 +-
superset/examples/helpers.py | 12 +-
superset/examples/long_lat.py | 7 +-
superset/examples/multiformat_time_series.py | 12 +-
superset/examples/paris.py | 7 +-
superset/examples/random_time_series.py | 16 +-
superset/examples/sf_population_polygons.py | 7 +-
superset/examples/world_bank.py | 18 +-
superset/exceptions.py | 28 +-
superset/initialization/__init__.py | 6 +
superset/security/manager.py | 51 +-
superset/tasks/async_queries.py | 149 +-
superset/tasks/thumbnails.py | 60 +-
superset/translations/sl/LC_MESSAGES/messages.json | 4501 ++++++
superset/translations/sl/LC_MESSAGES/messages.po | 13575 +++++++++++++++++++
superset/utils/cache.py | 12 +-
superset/utils/decorators.py | 8 +-
superset/utils/log.py | 17 +-
superset/utils/webdriver.py | 4 +-
superset/views/chart/views.py | 5 +-
superset/views/core.py | 163 +-
superset/viz.py | 8 +-
tests/db_engine_specs/snowflake_tests.py | 45 -
tests/{tasks => integration_tests}/__init__.py | 0
tests/{ => integration_tests}/access_tests.py | 93 +-
tests/{ => integration_tests}/alerts_tests.py | 6 +-
.../annotation_layers}/__init__.py | 0
.../annotation_layers/api_tests.py | 6 +-
.../annotation_layers/fixtures.py | 2 +-
.../async_events}/__init__.py | 0
.../async_events/api_tests.py | 4 +-
tests/{ => integration_tests}/base_api_tests.py | 6 +-
tests/{ => integration_tests}/base_tests.py | 2 +-
tests/{ => integration_tests}/cache_tests.py | 4 +-
.../cachekeys}/__init__.py | 0
.../{ => integration_tests}/cachekeys/api_tests.py | 4 +-
tests/{ => integration_tests}/celery_tests.py | 10 +-
.../charts}/__init__.py | 0
tests/{ => integration_tests}/charts/api_tests.py | 41 +-
.../charts/commands_tests.py | 8 +-
.../{ => integration_tests}/charts/schema_tests.py | 6 +-
tests/{ => integration_tests}/cli_tests.py | 4 +-
tests/{ => integration_tests}/commands_test.py | 2 +-
tests/{ => integration_tests}/config_tests.py | 4 +-
tests/{ => integration_tests}/conftest.py | 6 +-
tests/{ => integration_tests}/core_tests.py | 83 +-
.../css_templates}/__init__.py | 0
.../css_templates/api_tests.py | 4 +-
tests/{ => integration_tests}/csv_upload_tests.py | 8 +-
tests/{ => integration_tests}/dashboard_tests.py | 20 +-
tests/{ => integration_tests}/dashboard_utils.py | 0
.../dashboards}/__init__.py | 0
.../dashboards/api_tests.py | 21 +-
.../dashboards/base_case.py | 12 +-
.../dashboards/commands_tests.py | 8 +-
tests/{ => integration_tests}/dashboards/consts.py | 0
.../dashboards/dao_tests.py | 8 +-
.../dashboards/dashboard_test_utils.py | 2 +-
.../dashboards/security}/__init__.py | 0
.../dashboards/security/base_case.py | 2 +-
.../dashboards/security/security_dataset_tests.py | 12 +-
.../dashboards/security/security_rbac_tests.py | 16 +-
.../dashboards/superset_factory_util.py | 6 +-
.../databases}/__init__.py | 0
.../{ => integration_tests}/databases/api_tests.py | 195 +-
.../databases/commands_tests.py | 12 +-
.../databases/schema_tests.py | 0
tests/{ => integration_tests}/dataframe_test.py | 2 +-
.../datasets}/__init__.py | 0
.../{ => integration_tests}/datasets/api_tests.py | 17 +-
.../datasets/commands_tests.py | 12 +-
tests/{ => integration_tests}/datasource_tests.py | 4 +-
.../db_engine_specs}/__init__.py | 0
.../db_engine_specs/ascend_tests.py | 2 +-
.../db_engine_specs/athena_tests.py | 26 +-
.../db_engine_specs/base_engine_spec_tests.py | 4 +-
.../db_engine_specs/base_tests.py | 4 +-
.../db_engine_specs/bigquery_tests.py | 90 +-
.../db_engine_specs/clickhouse_tests.py | 2 +-
.../db_engine_specs/crate_tests.py | 2 +-
.../db_engine_specs/dremio_tests.py | 2 +-
.../db_engine_specs/drill_tests.py | 2 +-
.../db_engine_specs/druid_tests.py | 6 +-
.../db_engine_specs/elasticsearch_tests.py | 2 +-
.../db_engine_specs/firebird_tests.py | 0
.../db_engine_specs/gsheets_tests.py | 44 +
.../db_engine_specs/hana_tests.py | 2 +-
.../db_engine_specs/hive_tests.py | 2 +-
.../db_engine_specs/impala_tests.py | 2 +-
.../db_engine_specs/kylin_tests.py | 2 +-
.../db_engine_specs/mssql_tests.py | 12 +-
.../db_engine_specs/mysql_tests.py | 25 +-
.../db_engine_specs/oracle_tests.py | 2 +-
.../db_engine_specs/pinot_tests.py | 2 +-
.../db_engine_specs/postgres_tests.py | 42 +-
.../db_engine_specs/presto_tests.py | 2 +-
.../db_engine_specs/redshift_tests.py | 2 +-
.../db_engine_specs/snowflake_tests.py | 101 +
.../db_engine_specs/sqlite_tests.py | 2 +-
.../db_engine_specs/trino_tests.py | 2 +-
.../dict_import_export_tests.py | 2 +-
tests/{ => integration_tests}/druid_func_tests.py | 2 +-
.../druid_func_tests_sip38.py | 2 +-
tests/{ => integration_tests}/druid_tests.py | 2 +-
.../dynamic_plugins_tests.py | 0
tests/{ => integration_tests}/email_tests.py | 2 +-
.../{ => integration_tests}/event_logger_tests.py | 2 +-
.../{ => integration_tests}/feature_flag_tests.py | 2 +-
.../fixtures}/__init__.py | 26 +-
.../fixtures/birth_names_dashboard.py | 4 +-
.../fixtures/certificates.py | 0
tests/{ => integration_tests}/fixtures/database.py | 0
.../{ => integration_tests}/fixtures/dataframes.py | 0
.../{ => integration_tests}/fixtures/datasource.py | 0
.../fixtures/deck_geojson_form_data.json | 0
.../fixtures/deck_path_form_data.json | 0
.../fixtures/energy_dashboard.py | 7 +-
.../fixtures/importexport.py | 0
.../fixtures/public_role.py | 2 +-
.../{ => integration_tests}/fixtures/pyodbcRow.py | 0
.../fixtures/query_context.py | 4 +-
tests/{ => integration_tests}/fixtures/sample.png | Bin
tests/{ => integration_tests}/fixtures/trends.csv | 0
.../fixtures/unicode_dashboard.py | 4 +-
.../fixtures/world_bank_dashboard.py | 7 +-
tests/{ => integration_tests}/form_tests.py | 2 +-
.../{ => integration_tests}/import_export_tests.py | 14 +-
.../importexport/commands_tests.py | 2 +-
.../{ => integration_tests}/insert_chart_mixin.py | 0
.../{ => integration_tests}/jinja_context_tests.py | 8 +-
tests/{ => integration_tests}/log_api_tests.py | 0
.../log_model_view_tests.py | 0
.../logging_configurator_tests.py | 0
tests/{ => integration_tests}/migration_tests.py | 0
.../migrations}/__init__.py | 0
.../migrations/f1410ed7ec95_tests.py | 0
.../migrations/fc3a3a8ff221_tests.py | 0
tests/{ => integration_tests}/model_tests.py | 6 +-
.../pandas_postprocessing_tests.py | 0
.../queries}/__init__.py | 0
tests/{ => integration_tests}/queries/api_tests.py | 4 +-
.../queries/saved_queries}/__init__.py | 0
.../queries/saved_queries/api_tests.py | 6 +-
.../queries/saved_queries/commands_tests.py | 4 +-
.../{ => integration_tests}/query_context_tests.py | 8 +-
.../reports}/__init__.py | 0
tests/{ => integration_tests}/reports/api_tests.py | 10 +-
.../reports/commands_tests.py | 12 +-
.../reports/scheduler_tests.py | 4 +-
tests/{ => integration_tests}/reports/utils.py | 0
tests/{ => integration_tests}/result_set_tests.py | 2 +-
tests/{ => integration_tests}/schedules_test.py | 10 +-
.../security}/__init__.py | 0
.../security/analytics_db_safety_tests.py | 2 +-
.../{ => integration_tests}/security/api_tests.py | 2 +-
.../security/migrate_roles_tests.py | 2 +-
tests/{ => integration_tests}/security_tests.py | 106 +-
tests/{ => integration_tests}/sql_parse_tests.py | 0
.../{ => integration_tests}/sql_validator_tests.py | 0
tests/{ => integration_tests}/sqla_models_tests.py | 4 +-
tests/{ => integration_tests}/sqla_views_tests.py | 4 +-
tests/{ => integration_tests}/sqllab_tests.py | 4 +-
.../{ => integration_tests}/stats_logger_tests.py | 0
tests/{ => integration_tests}/strategy_tests.py | 4 +-
.../superset_test_config.py | 10 +-
.../superset_test_config_sqllab_backend_persist.py | 0
.../superset_test_config_thumbnails.py | 4 +-
.../superset_test_custom_template_processors.py | 0
tests/{ => integration_tests}/tagging_tests.py | 4 +-
.../tasks}/__init__.py | 0
.../tasks/async_queries_tests.py | 10 +-
tests/{ => integration_tests}/test_app.py | 2 +-
tests/{ => integration_tests}/thumbnails_tests.py | 4 +-
tests/{ => integration_tests}/utils/__init__.py | 2 +-
tests/{ => integration_tests}/utils/core_tests.py | 0
tests/{ => integration_tests}/utils/csv_tests.py | 0
.../utils/date_parser_tests.py | 2 +-
.../utils/decorators_tests.py | 2 +-
.../{ => integration_tests}/utils/encrypt_tests.py | 2 +-
.../utils/get_dashboards.py | 0
.../{ => integration_tests}/utils/hashing_tests.py | 0
.../utils/machine_auth_tests.py | 2 +-
.../utils/public_interfaces_test.py | 2 +-
tests/{ => integration_tests}/utils_tests.py | 12 +-
tests/{ => integration_tests}/viz_tests.py | 7 +-
tests/{tasks => unit_tests}/__init__.py | 0
.../conftest.py} | 18 +-
tests/unit_tests/db_engine_specs/test_gsheets.py | 177 +
tox.ini | 14 +-
419 files changed, 26549 insertions(+), 3725 deletions(-)
create mode 100644 RELEASING/release-notes-1-2/README.md
create mode 100644 RELEASING/release-notes-1-2/media/dashboard_rbac.png
create mode 100644 RELEASING/release-notes-1-2/media/native_filters.png
create mode 100644 RELEASING/release-notes-1-2/media/native_filters_temporal.png
create mode 100644 RELEASING/release-notes-1-2/media/pivot_table_v2.png
create mode 100644 RELEASING/release-notes-1-2/media/radar_chart.png
create mode 100644 RELEASING/release-notes-1-2/media/time_series_multichart.png
create mode 100644 docs/src/images/databases/netezza.png
create mode 100644 docs/src/pages/docs/Connecting to Databases/netezza.mdx
create mode 100644 docs/static/images/tutorial_dashboard_access.png
create mode 100644 superset-frontend/images/icons/default_db_image.svg
create mode 100644 superset-frontend/images/netezza.png
delete mode 100644 superset-frontend/src/dashboard/components/IconButton.jsx
rename superset-frontend/src/dashboard/{stylesheets/buttons.less => components/IconButton.tsx} (53%)
delete mode 100644 superset-frontend/src/dashboard/containers/FiltersBadge.tsx
create mode 100644 superset-frontend/src/types/react-lines-ellipsis.d.ts
create mode 100644 superset-frontend/src/views/CRUD/data/database/DatabaseModal/ModalHeader.tsx
copy superset/db_engine_specs/{gsheets.py => netezza.py} (51%)
create mode 100644 superset/translations/sl/LC_MESSAGES/messages.json
create mode 100644 superset/translations/sl/LC_MESSAGES/messages.po
delete mode 100644 tests/db_engine_specs/snowflake_tests.py
copy tests/{tasks => integration_tests}/__init__.py (100%)
rename tests/{ => integration_tests}/access_tests.py (87%)
rename tests/{ => integration_tests}/alerts_tests.py (98%)
rename tests/{security => integration_tests/annotation_layers}/__init__.py (100%)
rename tests/{ => integration_tests}/annotation_layers/api_tests.py (99%)
rename tests/{ => integration_tests}/annotation_layers/fixtures.py (98%)
rename tests/{reports => integration_tests/async_events}/__init__.py (100%)
rename tests/{ => integration_tests}/async_events/api_tests.py (97%)
rename tests/{ => integration_tests}/base_api_tests.py (98%)
rename tests/{ => integration_tests}/base_tests.py (99%)
rename tests/{ => integration_tests}/cache_tests.py (97%)
rename tests/{queries/saved_queries => integration_tests/cachekeys}/__init__.py (100%)
rename tests/{ => integration_tests}/cachekeys/api_tests.py (98%)
rename tests/{ => integration_tests}/celery_tests.py (98%)
rename tests/{queries => integration_tests/charts}/__init__.py (100%)
rename tests/{ => integration_tests}/charts/api_tests.py (98%)
rename tests/{ => integration_tests}/charts/commands_tests.py (97%)
rename tests/{ => integration_tests}/charts/schema_tests.py (95%)
rename tests/{ => integration_tests}/cli_tests.py (98%)
rename tests/{ => integration_tests}/commands_test.py (95%)
rename tests/{ => integration_tests}/config_tests.py (98%)
rename tests/{ => integration_tests}/conftest.py (95%)
rename tests/{ => integration_tests}/core_tests.py (95%)
rename tests/{migrations => integration_tests/css_templates}/__init__.py (100%)
rename tests/{ => integration_tests}/css_templates/api_tests.py (99%)
rename tests/{ => integration_tests}/csv_upload_tests.py (97%)
rename tests/{ => integration_tests}/dashboard_tests.py (97%)
rename tests/{ => integration_tests}/dashboard_utils.py (100%)
rename tests/{fixtures => integration_tests/dashboards}/__init__.py (100%)
rename tests/{ => integration_tests}/dashboards/api_tests.py (98%)
rename tests/{ => integration_tests}/dashboards/base_case.py (93%)
rename tests/{ => integration_tests}/dashboards/commands_tests.py (99%)
rename tests/{ => integration_tests}/dashboards/consts.py (100%)
rename tests/{ => integration_tests}/dashboards/dao_tests.py (94%)
rename tests/{ => integration_tests}/dashboards/dashboard_test_utils.py (97%)
rename tests/{db_engine_specs => integration_tests/dashboards/security}/__init__.py (100%)
rename tests/{ => integration_tests}/dashboards/security/base_case.py (97%)
rename tests/{ => integration_tests}/dashboards/security/security_dataset_tests.py (95%)
rename tests/{ => integration_tests}/dashboards/security/security_rbac_tests.py (96%)
rename tests/{ => integration_tests}/dashboards/superset_factory_util.py (98%)
rename tests/{datasets => integration_tests/databases}/__init__.py (100%)
rename tests/{ => integration_tests}/databases/api_tests.py (92%)
rename tests/{ => integration_tests}/databases/commands_tests.py (98%)
rename tests/{ => integration_tests}/databases/schema_tests.py (100%)
rename tests/{ => integration_tests}/dataframe_test.py (98%)
rename tests/{databases => integration_tests/datasets}/__init__.py (100%)
rename tests/{ => integration_tests}/datasets/api_tests.py (99%)
rename tests/{ => integration_tests}/datasets/commands_tests.py (98%)
rename tests/{ => integration_tests}/datasource_tests.py (98%)
rename tests/{dashboards/security => integration_tests/db_engine_specs}/__init__.py (100%)
rename tests/{ => integration_tests}/db_engine_specs/ascend_tests.py (93%)
rename tests/{ => integration_tests}/db_engine_specs/athena_tests.py (55%)
rename tests/{ => integration_tests}/db_engine_specs/base_engine_spec_tests.py (99%)
rename tests/{ => integration_tests}/db_engine_specs/base_tests.py (94%)
rename tests/{ => integration_tests}/db_engine_specs/bigquery_tests.py (70%)
rename tests/{ => integration_tests}/db_engine_specs/clickhouse_tests.py (95%)
rename tests/{ => integration_tests}/db_engine_specs/crate_tests.py (96%)
rename tests/{ => integration_tests}/db_engine_specs/dremio_tests.py (94%)
rename tests/{ => integration_tests}/db_engine_specs/drill_tests.py (94%)
rename tests/{ => integration_tests}/db_engine_specs/druid_tests.py (92%)
rename tests/{ => integration_tests}/db_engine_specs/elasticsearch_tests.py (96%)
rename tests/{ => integration_tests}/db_engine_specs/firebird_tests.py (100%)
create mode 100644 tests/integration_tests/db_engine_specs/gsheets_tests.py
rename tests/{ => integration_tests}/db_engine_specs/hana_tests.py (94%)
rename tests/{ => integration_tests}/db_engine_specs/hive_tests.py (99%)
rename tests/{ => integration_tests}/db_engine_specs/impala_tests.py (93%)
rename tests/{ => integration_tests}/db_engine_specs/kylin_tests.py (93%)
rename tests/{ => integration_tests}/db_engine_specs/mssql_tests.py (97%)
rename tests/{ => integration_tests}/db_engine_specs/mysql_tests.py (90%)
rename tests/{ => integration_tests}/db_engine_specs/oracle_tests.py (97%)
rename tests/{ => integration_tests}/db_engine_specs/pinot_tests.py (97%)
rename tests/{ => integration_tests}/db_engine_specs/postgres_tests.py (94%)
rename tests/{ => integration_tests}/db_engine_specs/presto_tests.py (99%)
rename tests/{ => integration_tests}/db_engine_specs/redshift_tests.py (98%)
create mode 100644 tests/integration_tests/db_engine_specs/snowflake_tests.py
rename tests/{ => integration_tests}/db_engine_specs/sqlite_tests.py (97%)
rename tests/{ => integration_tests}/db_engine_specs/trino_tests.py (96%)
rename tests/{ => integration_tests}/dict_import_export_tests.py (99%)
rename tests/{ => integration_tests}/druid_func_tests.py (99%)
rename tests/{ => integration_tests}/druid_func_tests_sip38.py (99%)
rename tests/{ => integration_tests}/druid_tests.py (99%)
rename tests/{ => integration_tests}/dynamic_plugins_tests.py (100%)
rename tests/{ => integration_tests}/email_tests.py (99%)
rename tests/{ => integration_tests}/event_logger_tests.py (99%)
rename tests/{ => integration_tests}/feature_flag_tests.py (95%)
copy tests/{utils => integration_tests/fixtures}/__init__.py (59%)
rename tests/{ => integration_tests}/fixtures/birth_names_dashboard.py (97%)
rename tests/{ => integration_tests}/fixtures/certificates.py (100%)
rename tests/{ => integration_tests}/fixtures/database.py (100%)
rename tests/{ => integration_tests}/fixtures/dataframes.py (100%)
rename tests/{ => integration_tests}/fixtures/datasource.py (100%)
rename tests/{ => integration_tests}/fixtures/deck_geojson_form_data.json (100%)
rename tests/{ => integration_tests}/fixtures/deck_path_form_data.json (100%)
rename tests/{ => integration_tests}/fixtures/energy_dashboard.py (97%)
rename tests/{ => integration_tests}/fixtures/importexport.py (100%)
rename tests/{ => integration_tests}/fixtures/public_role.py (96%)
rename tests/{ => integration_tests}/fixtures/pyodbcRow.py (100%)
rename tests/{ => integration_tests}/fixtures/query_context.py (98%)
rename tests/{ => integration_tests}/fixtures/sample.png (100%)
rename tests/{ => integration_tests}/fixtures/trends.csv (100%)
rename tests/{ => integration_tests}/fixtures/unicode_dashboard.py (97%)
rename tests/{ => integration_tests}/fixtures/world_bank_dashboard.py (99%)
rename tests/{ => integration_tests}/form_tests.py (96%)
rename tests/{ => integration_tests}/import_export_tests.py (98%)
rename tests/{ => integration_tests}/importexport/commands_tests.py (96%)
rename tests/{ => integration_tests}/insert_chart_mixin.py (100%)
rename tests/{ => integration_tests}/jinja_context_tests.py (98%)
rename tests/{ => integration_tests}/log_api_tests.py (100%)
rename tests/{ => integration_tests}/log_model_view_tests.py (100%)
rename tests/{ => integration_tests}/logging_configurator_tests.py (100%)
rename tests/{ => integration_tests}/migration_tests.py (100%)
rename tests/{dashboards => integration_tests/migrations}/__init__.py (100%)
rename tests/{ => integration_tests}/migrations/f1410ed7ec95_tests.py (100%)
rename tests/{ => integration_tests}/migrations/fc3a3a8ff221_tests.py (100%)
rename tests/{ => integration_tests}/model_tests.py (99%)
rename tests/{ => integration_tests}/pandas_postprocessing_tests.py (100%)
rename tests/{css_templates => integration_tests/queries}/__init__.py (100%)
rename tests/{ => integration_tests}/queries/api_tests.py (99%)
rename tests/{charts => integration_tests/queries/saved_queries}/__init__.py (100%)
rename tests/{ => integration_tests}/queries/saved_queries/api_tests.py (99%)
rename tests/{ => integration_tests}/queries/saved_queries/commands_tests.py (98%)
rename tests/{ => integration_tests}/query_context_tests.py (98%)
rename tests/{cachekeys => integration_tests/reports}/__init__.py (100%)
rename tests/{ => integration_tests}/reports/api_tests.py (99%)
rename tests/{ => integration_tests}/reports/commands_tests.py (99%)
rename tests/{ => integration_tests}/reports/scheduler_tests.py (96%)
rename tests/{ => integration_tests}/reports/utils.py (100%)
rename tests/{ => integration_tests}/result_set_tests.py (99%)
rename tests/{ => integration_tests}/schedules_test.py (98%)
rename tests/{async_events => integration_tests/security}/__init__.py (100%)
rename tests/{ => integration_tests}/security/analytics_db_safety_tests.py (96%)
rename tests/{ => integration_tests}/security/api_tests.py (96%)
rename tests/{ => integration_tests}/security/migrate_roles_tests.py (99%)
rename tests/{ => integration_tests}/security_tests.py (91%)
rename tests/{ => integration_tests}/sql_parse_tests.py (100%)
rename tests/{ => integration_tests}/sql_validator_tests.py (100%)
rename tests/{ => integration_tests}/sqla_models_tests.py (99%)
rename tests/{ => integration_tests}/sqla_views_tests.py (92%)
rename tests/{ => integration_tests}/sqllab_tests.py (99%)
rename tests/{ => integration_tests}/stats_logger_tests.py (100%)
rename tests/{ => integration_tests}/strategy_tests.py (98%)
rename tests/{ => integration_tests}/superset_test_config.py (93%)
copy tests/{ => integration_tests}/superset_test_config_sqllab_backend_persist.py (100%)
rename tests/{ => integration_tests}/superset_test_config_thumbnails.py (96%)
rename tests/{ => integration_tests}/superset_test_custom_template_processors.py (100%)
rename tests/{ => integration_tests}/tagging_tests.py (90%)
rename tests/{annotation_layers => integration_tests/tasks}/__init__.py (100%)
rename tests/{ => integration_tests}/tasks/async_queries_tests.py (96%)
rename tests/{ => integration_tests}/test_app.py (96%)
rename tests/{ => integration_tests}/thumbnails_tests.py (98%)
rename tests/{ => integration_tests}/utils/__init__.py (95%)
rename tests/{ => integration_tests}/utils/core_tests.py (100%)
rename tests/{ => integration_tests}/utils/csv_tests.py (100%)
rename tests/{ => integration_tests}/utils/date_parser_tests.py (99%)
rename tests/{ => integration_tests}/utils/decorators_tests.py (96%)
rename tests/{ => integration_tests}/utils/encrypt_tests.py (97%)
rename tests/{ => integration_tests}/utils/get_dashboards.py (100%)
rename tests/{ => integration_tests}/utils/hashing_tests.py (100%)
rename tests/{ => integration_tests}/utils/machine_auth_tests.py (97%)
rename tests/{ => integration_tests}/utils/public_interfaces_test.py (98%)
rename tests/{ => integration_tests}/utils_tests.py (99%)
rename tests/{ => integration_tests}/viz_tests.py (99%)
rename tests/{tasks => unit_tests}/__init__.py (100%)
rename tests/{superset_test_config_sqllab_backend_persist.py => unit_tests/conftest.py} (77%)
create mode 100644 tests/unit_tests/db_engine_specs/test_gsheets.py