This is an automated email from the ASF dual-hosted git repository.
suddjian pushed a change to branch fancy-viz-select-modal
in repository https://gitbox.apache.org/repos/asf/superset.git.
from 9225fb0 feat(Explore): Viz gallery component tweaks (#15520)
add 0c470fe move metric parsing to state instantiation (#15069)
add 256e145 feat: style import button (#15057)
add 2d3f552 adding fetching to query status (#15064)
add 1db92cc feat: spinner for imports (#15055)
add 4d24d4d fix: confirm overwrite and password on import (#15056)
add e8414df fix: disappearing tooltips on dashboards (#15073)
add 834bb94 fix(datasets): consistent dataset list (#15014)
add 65714cc fix(dnd): add isExtra prop to Option (#15080)
add 8aaa603 fix(native-filters): remove hard-coded default time range
(#15015)
add 1468026 chore: Improves the native filters UI/UX - iteration 7
(#15017)
add 6c9f15a fix(native-filters): show error if default value query failed
(#15005)
add c0eff8f fix(native-filters): empty label indicator (#15084)
add f8b270d fix(explore): Explore page boolean filter is broken for
Presto DB (#14952)
add cc2b4fe fix: show custom errors in SQL Lab (#14959)
add 7d5bc24 chore: rename 'tables' to 'datasets' in error message (#15078)
add 31da394 Stop using deprecated task API (#15062)
add 3456dd5 fix(native-filters): fix Select filter crashing when changing
filter type (#15090)
add 5e825cf fix(native-filters): handle descending sorting correctly
(#15112)
add 51f0d4f feat(native-filters): Hide filters which don't affect any
visible charts (#15063)
add 535ca73 docs: add Ontruck to users list (#14928)
add ff2d588 feat(native-filters): Defer loading filters data until filter
is visible (#15120)
add 53df152 feat: show spinner on exports (#15107)
add 8e6a5a6 chore: Homepage cleanup (#14823)
add 856a2bd fix(explore): fix y-axis lower bound 0 value (#15091)
add 57035c1 fix: improve dashboard fullscreen text (#15139)
add 3866044 fix(native-filters): Don't send unnecessary PUT request on
dashboard render (#15146)
add 82ad053 fix: Filter overlay in dashboard when scrolling (#15140)
add 143a1b0 fix: Test connection before starting on create transaction
(#15100)
add 448c689 Fix typo in contributing.md (#15152)
add 6ed0a3a chore: update documentation for frontend feature flags
(#15093)
add 045fa1b feat(dashboard): Let users download full CSV of a table
(#15046)
add 7a21f9a chore: Disable comment logging for ephemeral envs (#15156)
add e2abf59 feat(Explore): add sort to edit dataset modal (#14872)
add 98ec365 feat(webpack): configure publicPath via ASSET_BASE_URL env
var (#15105)
add 90d9097 fix: validate DB-specific parameters (#15155)
add b3c1979 chore: Scrolls top when opening a select filter (#15141)
add 9ba2983 chore: Bump plugin-chart-pivot-table to 0.17.57 (#15168)
add 9c3c3fa feat(native-filters): add optional time col to time range
(#15117)
add 53225e8 refactor(explore): remove side effect in render from
CalendarFrame for DatePicker (#15147)
add 5316dc8 fix(dashboard): Prevent rerendering View Query modal on
window resize (#15172)
add 75018bf fix: Presto postgres test (#15163)
add 7b87eb1 fix: use npm v7 in docker compose (#15160)
add 7dc0cee add another wait for chart element (#15108)
add b179863 refactor: Convert TableElement to TypeScript (#14978)
add d30f3c8 fix space (#15175)
add ffdbcbd fix: ignore errors in GetLog (#15181)
add 9282c58 feat(helm): Make local admin optional (#14703)
add 6edf340 fix(docker/helm): Make webserver query timeout adjustable
(#15007)
add 8360292 feat(api): add featured datatypes to dashboard dataset ep
(#15188)
add 0c22266 chore: Improves the native filters bar layout (#15115)
add 4289929 chore: Allows the user to force fetch the default values
(#15178)
add fc8ad4f chore: Makes the refresh button only appear when the filter
has a dataset (#15194)
add dafaaae chore: Changes the dashboard highlight color when selecting a
filter (#15192)
add d578ae9 feat: Select component (Iteration 1) (#15121)
add e689b0d fix(dashboard): duplicated toast (#15138)
add d625f5f feat: show rich error messages on past failed queries (#15158)
add ca89292 refactor: refactor Icon to Icons in sqlEditor component
(#14463)
add 70afa08 fix(helm): Set working defaults for google OAuth2 example
(#13614)
add 5e543e3 fix(aarch64): Bump pyarrow version to 4.0.1 (#14891)
add 91e424b fix(logging): downgrade csv export log to debug (#15123)
add 408d58f fix: SQL Lab show "Refetch Results" button while fetching new
query results (#15109)
add 965dacd fix: Fix dremio dialect not having a `driver` field (#15198)
add cb10427 fix dataset select list (#15203)
add e5187a4 fix(dashboard): fix nested tab (#15134)
add fe5381d fix(native-filters): Fix Select `Default First Value` by
clicked `Clear All` (#15219)
add 7237324 chore: bump superset-ui to 0.17.58 (#15220)
add 1269cc2 fix(examples): calendar chart metric should be metrics
(#15173)
add 388eb01 feat(native-filters): Disable Apply button if filter required
(#15222)
add ea8507b fix: Filter bar not occupying 100% height when filter sets FF
unset (#15228)
add c7c6375 feat(native-filters): Hide time filters if loaded datasets
don't have temporal columns (#15225)
add 745b577 docs: Fix naming: Flask-Cache -> Flask-Caching (#15233)
add 2cf9946 chore: Add height/width TrashIcon SVG(18px/18px)-Edit Dataset
modal (#14956)
add a102715 add ascend engine spec (#14682)
add 822eb2e feat(sql): add jinja support to metrics and expressions
(#15247)
add f24264c feat(native-filters): add support for import/export dashboard
(#15253)
add cee4032 initail commit (#15261)
add a7f89b8 chore(docs): update releasing docs (#15040)
add 14598d4 chore: add dry false config to CleanWebpackPlugin (#14691)
add b1689aa chore move calling configure_feature_flags more earlier
(#15223)
add 2792ddc refactor: move SupersetAppInitializer to specific
initialization package (#15278)
add b28d7ea fix(native-filters): default value checkbox in config modal
(#15257)
add cd0e03a chore: encapsulate flask app into superset app (#15281)
add 1948678 fix(helm): Use import_datasources.yaml, if it exists (#14704)
add 048609d feat(native-filters): Show/Highlight errored/focused status
(#15276)
add cef3dc0 fix(native-filters): improve time range filter performance
(#15295)
add 4d48f04 adding new feature flag (#15238)
add ab153e6 feat: Synchronously return cached charts (#15157)
add 5b2eb8d Revert "fix: SQL Lab show "Refetch Results" button while
fetching new query results (#15109)" (#15301)
add fc1a62b chore: Improves the Select component UI/UX - iteration 2
(#15235)
add 58cc78d fix: return query if it already exists (#15207)
add c211f7d refactor: icon to icons in DatasourceEditor (#15240)
add f31d573 feat(editable-title): move and scroll to the end (#15270)
add 6324490 fix(dashboard): Close FiltersBadge popover on window resize
(#15305)
add b89ee0c fix(native-filters): Assume that temporal columns exist if
column_types is undefined (#15324)
add 216e2b8 fix: datasource payload is incorrect (#15184)
add 4b00c15 feat: implement specific errors for SQL Lab (#15206)
add ea382e4 fix: Capitalize time grainularity weekdays (#15319)
add f35ce39 refactor: migrate icon to icons in tablecollection (#15309)
add 7a1223c Revert "build(webpack): use [contenthash] instead of
[chunkhash] (#14942)" (#15285)
add b295c6a fix(api): handle undefined column type_generic (#15315)
add a330b66 docs: correct incorrect hyperlink (#15245)
add e1ceb7f refactor: Icon to icons for certifiedIcon (#15306)
add 352656a Fix issue #15335 (#15339)
add f0b6419 feat(native-filters): Set default scope by filters' and
charts' datasets (#15302)
add b3cdff4 fix(native-filters): show default text on filter scoping tree
(#15351)
add fae4531 fix: missing orderby in query on the nvd3 timeseries chart
(#15343)
add b3616d2 fix: follow up pr-15343 (#15355)
add 241ee32 feat: custom error SQL Lab timeout (#15342)
add 680b447 style(sqllab): update table count styling (#15200)
add a477505 refactor: icon to icons for basicerror componenet (#15336)
add a3f4e4a refactor: icon to icons in erroralert component (#15341)
add 53aa351 chore: bump @svgr/webpack to 5.5.0 (#15349)
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 94b2ab3 Merge branch 'master' into fancy-viz-select-modal
No new revisions were added by this update.
Summary of changes:
.github/CODEOWNERS | 6 +-
.github/ISSUE_TEMPLATE/sip.md | 4 +-
.github/workflows/bashlib.sh | 2 +-
.github/workflows/ephemeral-env.yml | 1 -
.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 | 39 +-
INSTALL.md | 2 +-
README.md | 1 +
RELEASING/README.md | 7 +-
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 +-
RESOURCES/INTHEWILD.md | 1 +
docker/docker-bootstrap.sh | 2 +-
docker/docker-entrypoint.sh | 2 +-
docker/docker-frontend.sh | 1 +
docs/installation.rst | 11 +-
docs/src/images/databases/netezza.png | Bin 0 -> 54596 bytes
.../pages/docs/Connecting to Databases/ascend.mdx | 17 +
.../pages/docs/Connecting to Databases/index.mdx | 2 +
.../pages/docs/Connecting to Databases/netezza.mdx | 18 +
.../docs/Creating Charts and Dashboards/index.mdx | 16 +
docs/src/pages/docs/Miscellaneous/issue_codes.mdx | 128 +
.../pages/docs/frequently-asked-questions-page.mdx | 2 +-
docs/src/pages/docs/installation/caching.mdx | 6 +-
docs/src/pages/docs/installation/configuring.mdx | 3 +-
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 | 11 +-
helm/superset/templates/init-job.yaml | 6 +-
helm/superset/values.yaml | 62 +-
requirements/base.txt | 4 +-
requirements/testing.txt | 2 -
scripts/python_tests.sh | 2 +-
scripts/tests/run.sh | 2 +-
setup.cfg | 2 +-
setup.py | 8 +-
.../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/fav_star.test.js | 22 +-
.../cypress/integration/dashboard/markdown.test.ts | 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/package.json | 5 +-
.../spec/fixtures/mockDashboardLayout.js | 2 +-
superset-frontend/spec/fixtures/mockDatasource.js | 1 +
.../spec/fixtures/mockNativeFilters.ts | 3 -
.../helpers/IntersectionObserver.ts} | 25 +-
superset-frontend/spec/helpers/shim.ts | 2 +
.../dashboard/components/DashboardBuilder_spec.jsx | 17 +-
.../dashboard/components/FiltersBadge_spec.tsx | 99 +-
.../components/gridComponents/ChartHolder_spec.jsx | 2 +
.../components/gridComponents/Chart_spec.jsx | 32 +-
.../components/gridComponents/Column_spec.jsx | 6 +-
.../components/gridComponents/Divider_spec.jsx | 2 +-
.../components/gridComponents/Row_spec.jsx | 6 +-
.../components/gridComponents/Tab_spec.jsx | 10 +-
.../components/gridComponents/Tabs_spec.jsx | 13 +-
.../dashboard/fixtures/mockNativeFilters.ts | 1 -
.../dashboard/util/getDashboardUrl_spec.js | 45 +-
.../util/getFormDataWithExtraFilters_spec.ts | 1 +
.../datasource/ChangeDatasourceModal_spec.jsx | 2 +-
.../datasource/DatasourceEditor_spec.jsx | 26 +-
.../explore/components/BoundsControl_spec.jsx | 9 +
.../spec/javascripts/sqllab/TableElement_spec.jsx | 10 +-
superset-frontend/src/CRUD/CollectionTable.tsx | 107 +-
.../src/SqlLab/components/QueryTable/index.jsx | 19 +-
.../src/SqlLab/components/SouthPane/SouthPane.tsx | 3 +
.../src/SqlLab/components/SqlEditor.jsx | 13 +-
.../src/SqlLab/components/SqlEditorLeftBar.jsx | 20 +
.../{TableElement.jsx => TableElement.tsx} | 139 +-
.../src/SqlLab/reducers/getInitialState.js | 4 +
superset-frontend/src/SqlLab/types.ts | 1 +
superset-frontend/src/chart/chartAction.js | 33 +-
superset-frontend/src/common/components/index.tsx | 5 +-
.../hooks/useComponentDidUpdate/index.ts} | 6 +-
.../useComponentDidUpdate.test.ts} | 36 +-
.../useComponentDidUpdate.ts} | 17 +-
.../hooks/useElementOnScreen/index.ts} | 48 +-
superset-frontend/src/components/Alert/index.tsx | 3 +-
.../AlteredSliceTag/AlteredSliceTag.test.jsx | 4 +-
.../src/components/AnchorLink/index.jsx | 8 +-
superset-frontend/src/components/Button/index.tsx | 1 +
.../src/components/CertifiedIcon/index.tsx | 7 +-
.../src/components/EditableTitle/index.tsx | 7 +
.../ErrorMessage/BasicErrorAlert.test.tsx | 14 +-
.../components/ErrorMessage/BasicErrorAlert.tsx | 11 +-
.../components/ErrorMessage/ErrorAlert.test.tsx | 14 +-
.../src/components/ErrorMessage/ErrorAlert.tsx | 34 +-
.../src/components/ErrorMessage/types.ts | 13 +
.../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 +
.../components/ImportModal/ImportModal.test.tsx | 36 +-
.../src/components/ImportModal/index.tsx | 75 +-
.../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/Filters/Search.tsx | 2 +-
.../src/components/ListView/ListView.tsx | 8 +-
.../src/components/PopoverDropdown/index.tsx | 7 +-
.../src/components/RefreshLabel/index.tsx | 9 +-
...ct.stories.tsx => DeprecatedSelect.stories.tsx} | 2 +-
.../Select/{Select.tsx => DeprecatedSelect.tsx} | 0
.../src/components/Select/NativeSelect.tsx | 5 +
.../src/components/Select/Select.stories.tsx | 504 +-
superset-frontend/src/components/Select/Select.tsx | 676 +-
superset-frontend/src/components/Select/index.ts | 4 +-
superset-frontend/src/components/Select/styles.tsx | 2 +-
superset-frontend/src/components/Select/utils.ts | 12 +
.../src/components/TableSelector/index.tsx | 13 +-
.../src/components/TableView/TableView.tsx | 47 +-
.../src/components/TableView/types.ts | 12 +-
.../components/dataViewCommon/TableCollection.tsx | 8 +-
.../components/{TableView/types.ts => index.ts} | 6 +-
superset-frontend/src/constants.ts | 8 +
.../src/dashboard/actions/dashboardState.js | 11 +-
superset-frontend/src/dashboard/actions/hydrate.js | 6 +-
.../src/dashboard/actions/nativeFilters.ts | 25 +
.../CrossFilterScopingForm.test.tsx | 6 +-
.../CrossFilterScopingForm/index.tsx | 6 +-
.../DashboardBuilder/DashboardBuilder.tsx | 237 +-
.../DashboardBuilder/DashboardContainer.tsx | 57 +-
.../dashboard/components/DashboardBuilder/state.ts | 7 +-
.../dashboard/components/DashboardBuilder/utils.ts | 3 +-
.../dashboard/components/DeleteComponentButton.jsx | 6 +-
.../components/FiltersBadge/DetailsPanel/index.tsx | 15 +-
.../FiltersBadge/FilterIndicator/index.tsx | 26 +-
.../dashboard/components/FiltersBadge/Styles.tsx | 10 +
.../dashboard/components/FiltersBadge/index.tsx | 160 +-
.../dashboard/components/FiltersBadge/selectors.ts | 70 +-
.../HeaderActionsDropdown.test.tsx | 2 +-
.../Header/HeaderActionsDropdown/index.jsx | 31 +-
.../src/dashboard/components/Header/index.jsx | 5 +-
.../src/dashboard/components/IconButton.jsx | 63 -
.../components/IconButton.tsx} | 39 +-
.../dashboard/components/PropertiesModal/index.jsx | 1 -
.../components/SliceHeader/SliceHeader.test.tsx | 10 +-
.../src/dashboard/components/SliceHeader/index.tsx | 43 +-
.../SliceHeaderControls.test.tsx | 50 +-
.../SliceHeaderControls/{index.jsx => index.tsx} | 158 +-
.../src/dashboard/components/StickyVerticalBar.tsx | 100 -
.../dashboard/components/gridComponents/Chart.jsx | 30 +-
.../components/gridComponents/ChartHolder.jsx | 62 +-
.../components/gridComponents/ChartHolder.test.tsx | 42 +-
.../dashboard/components/gridComponents/Column.jsx | 30 +-
.../components/gridComponents/Markdown.jsx | 1 +
.../dashboard/components/gridComponents/Row.jsx | 26 +-
.../dashboard/components/gridComponents/Tabs.jsx | 60 +-
.../components/gridComponents/Tabs.test.tsx | 2 +-
.../dashboard/components/gridComponents/index.js | 4 +-
.../CascadeFilters/CascadeFilterControl/index.tsx | 54 +-
.../CascadeFilters/CascadePopover/index.tsx | 29 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 64 +-
.../FilterBar/FilterControls/FilterControl.tsx | 56 +-
.../FilterBar/FilterControls/FilterControls.tsx | 33 +-
.../FilterBar/FilterControls/FilterValue.tsx | 92 +-
.../FilterBar/FilterControls/types.ts | 1 +
.../FilterBar/FilterSets/FiltersHeader.tsx | 24 +-
.../nativeFilters/FilterBar/FilterSets/index.tsx | 26 +-
.../nativeFilters/FilterBar/Header/Header.test.tsx | 1 -
.../nativeFilters/FilterBar/Header/index.tsx | 40 +-
.../components/nativeFilters/FilterBar/index.tsx | 164 +-
.../components/nativeFilters/FilterBar/state.ts | 16 +-
.../components/nativeFilters/FilterBar/utils.ts | 38 +
.../FiltersConfigForm/CollapsibleControl.tsx | 43 +-
.../FiltersConfigForm/ColumnSelect.test.tsx | 51 +-
.../FiltersConfigForm/ColumnSelect.tsx | 124 +-
.../FiltersConfigForm/DefaultValue.tsx | 9 +-
.../FiltersConfigForm/FilterScope/FilterScope.tsx | 85 +-
.../FiltersConfigForm/FilterScope/ScopingTree.tsx | 29 +-
.../FiltersConfigForm/FilterScope/state.ts | 16 +-
.../FiltersConfigForm/FilterScope/types.ts | 12 +-
.../FiltersConfigForm/FilterScope/utils.ts | 40 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 654 +-
.../FiltersConfigForm/getControlItemsMap.test.tsx | 7 +-
.../FiltersConfigForm/getControlItemsMap.tsx | 94 +-
.../FiltersConfigModal/FiltersConfigForm/state.ts | 58 +-
.../FiltersConfigModal/FiltersConfigForm/utils.ts | 35 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 454 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 2 +-
.../nativeFilters/FiltersConfigModal/types.ts | 2 +-
.../nativeFilters/FiltersConfigModal/utils.ts | 15 +-
.../dashboard/components/nativeFilters/state.ts | 85 +-
.../dashboard/components/nativeFilters/types.ts | 2 +-
.../dashboard/components/nativeFilters/utils.ts | 4 +-
.../src/dashboard/containers/Chart.jsx | 2 +
.../dashboard/containers/DashboardComponent.jsx | 37 +-
.../src/dashboard/containers/DashboardHeader.jsx | 4 +
.../src/dashboard/containers/FiltersBadge.tsx | 115 -
.../src/dashboard/reducers/dashboardState.js | 13 +-
.../src/dashboard/reducers/nativeFilters.ts | 2 +
.../src/dashboard/stylesheets/index.less | 1 -
superset-frontend/src/dashboard/types.ts | 29 +-
.../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 | 11 +-
.../src/datasource/ChangeDatasourceModal.tsx | 104 +-
.../src/datasource/DatasourceEditor.jsx | 48 +-
.../src/explore/components/ControlHeader.jsx | 25 +-
.../explore/components/DataTablesPane/index.tsx | 4 +-
.../explore/components/DatasourcePanel/index.tsx | 43 +-
.../explore/components/controls/BoundsControl.jsx | 4 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 25 +-
.../DateFilterControl/components/CalendarFrame.tsx | 21 +-
.../DndColumnSelectControl/DndFilterSelect.tsx | 17 +-
.../DndColumnSelectControl/Option.test.tsx | 11 +
.../controls/DndColumnSelectControl/Option.tsx | 18 +-
.../DndColumnSelectControl/OptionWrapper.tsx | 8 +-
.../controls/DndColumnSelectControl/types.ts | 1 +
.../FilterControl/AdhocFilter/AdhocFilter.test.js | 39 +
.../controls/FilterControl/AdhocFilter/index.js | 54 +-
.../AdhocFilterControl/AdhocFilterControl.test.jsx | 16 +-
.../FilterControl/AdhocFilterControl/index.jsx | 13 +-
...AdhocFilterEditPopoverSimpleTabContent.test.jsx | 277 -
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 322 +
.../index.jsx | 457 -
.../index.tsx | 463 +
.../controls/FilterControl/adhocFilterType.js | 3 -
.../MetricControl/FilterDefinitionOption.jsx | 1 +
.../explore/components/controls/ViewQueryModal.tsx | 6 +-
superset-frontend/src/explore/constants.ts | 96 +-
.../src/explore/exploreUtils/index.js | 12 +-
.../components/GroupBy/GroupByFilterPlugin.tsx | 71 +-
.../src/filters/components/GroupBy/controlPanel.ts | 30 +
.../filters/components/Range/RangeFilterPlugin.tsx | 90 +-
.../src/filters/components/Range/controlPanel.ts | 21 +-
.../components/Select/SelectFilterPlugin.test.tsx | 4 +-
.../components/Select/SelectFilterPlugin.tsx | 25 +-
.../filters/components/Select/buildQuery.test.ts | 43 +-
.../src/filters/components/Select/buildQuery.ts | 51 +-
.../src/filters/components/Select/controlPanel.ts | 17 +-
.../src/filters/components/Select/types.ts | 2 +-
.../filters/components/Time/TimeFilterPlugin.tsx | 70 +-
.../src/filters/components/Time/controlPanel.ts | 39 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 54 +-
.../filters/components/TimeColumn/controlPanel.ts | 22 +-
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 62 +-
.../filters/components/TimeGrain/controlPanel.ts | 22 +-
superset-frontend/src/filters/components/common.ts | 2 +-
superset-frontend/src/setup/setupColors.ts | 5 +-
superset-frontend/src/setup/setupErrorMessages.ts | 48 +
.../react-lines-ellipsis.d.ts} | 57 +-
.../FilterBar/utils.ts => utils/export.ts} | 50 +-
superset-frontend/src/utils/urlUtils.ts | 13 +-
.../src/views/CRUD/chart/ChartCard.tsx | 4 +-
.../src/views/CRUD/chart/ChartList.test.jsx | 2 +-
.../src/views/CRUD/chart/ChartList.tsx | 16 +-
.../src/views/CRUD/dashboard/DashboardCard.tsx | 8 +-
.../views/CRUD/dashboard/DashboardList.test.jsx | 2 +-
.../src/views/CRUD/dashboard/DashboardList.tsx | 14 +-
.../src/views/CRUD/data/database/DatabaseList.tsx | 16 +-
.../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 | 234 +-
.../src/views/CRUD/data/database/types.ts | 35 +-
.../src/views/CRUD/data/dataset/DatasetList.tsx | 41 +-
.../CRUD/data/dataset/constants.ts} | 43 +-
.../CRUD/data/savedquery/SavedQueryList.test.jsx | 11 +-
.../views/CRUD/data/savedquery/SavedQueryList.tsx | 15 +-
superset-frontend/src/views/CRUD/hooks.ts | 137 +-
.../types.ts => views/CRUD/storageKeys.ts} | 15 +-
superset-frontend/src/views/CRUD/types.ts | 5 +
superset-frontend/src/views/CRUD/utils.test.tsx | 145 +
superset-frontend/src/views/CRUD/utils.tsx | 65 +-
.../src/views/CRUD/welcome/ActivityTable.test.tsx | 13 +-
.../src/views/CRUD/welcome/ActivityTable.tsx | 49 +-
.../src/views/CRUD/welcome/ChartTable.test.tsx | 12 +-
.../src/views/CRUD/welcome/ChartTable.tsx | 49 +-
.../src/views/CRUD/welcome/DashboardTable.tsx | 60 +-
.../src/views/CRUD/welcome/EmptyState.tsx | 2 +-
.../src/views/CRUD/welcome/SavedQueries.tsx | 2 +-
.../src/views/CRUD/welcome/Welcome.test.tsx | 4 +-
.../src/views/CRUD/welcome/Welcome.tsx | 30 +-
superset-frontend/webpack.config.js | 16 +-
superset/app.py | 733 +-
superset/charts/api.py | 45 +-
superset/charts/schemas.py | 14 +-
superset/common/query_object.py | 4 +-
superset/config.py | 52 +-
superset/connectors/base/models.py | 25 +-
superset/connectors/connector_registry.py | 26 +
superset/connectors/druid/models.py | 12 +-
superset/connectors/sqla/models.py | 44 +-
superset/dashboards/api.py | 6 +-
superset/dashboards/commands/importers/v0.py | 25 +-
superset/dashboards/schemas.py | 1 +
superset/databases/api.py | 26 +-
superset/databases/commands/create.py | 22 +-
superset/databases/commands/exceptions.py | 4 +-
superset/databases/commands/validate.py | 11 +-
superset/databases/schemas.py | 55 +-
superset/datasets/api.py | 24 +-
superset/db_engine_specs/__init__.py | 29 +-
.../db_engine_specs/ascend.py | 30 +-
superset/db_engine_specs/athena.py | 21 +-
superset/db_engine_specs/base.py | 43 +-
superset/db_engine_specs/bigquery.py | 96 +-
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 | 43 +-
superset/db_engine_specs/hive.py | 12 +-
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 | 24 +-
superset/db_engine_specs/snowflake.py | 31 +-
superset/db_engine_specs/sqlite.py | 16 +-
superset/db_engine_specs/trino.py | 83 +-
superset/errors.py | 282 +-
superset/examples/random_time_series.py | 2 +-
superset/exceptions.py | 28 +-
superset/{app.py => initialization/__init__.py} | 111 +-
superset/models/dashboard.py | 14 +
superset/queries/saved_queries/api.py | 6 +-
superset/security/manager.py | 51 +-
superset/sql_lab.py | 113 +-
superset/tasks/async_queries.py | 149 +-
superset/tasks/thumbnails.py | 60 +-
superset/translations/ja/LC_MESSAGES/messages.json | 8 +-
superset/translations/ja/LC_MESSAGES/messages.po | 8 +-
superset/translations/ko/LC_MESSAGES/messages.json | 8 +-
superset/translations/ko/LC_MESSAGES/messages.po | 8 +-
superset/translations/messages.pot | 8 +-
superset/translations/sl/LC_MESSAGES/messages.json | 4501 ++++++
superset/translations/sl/LC_MESSAGES/messages.po | 13575 +++++++++++++++++++
superset/typing.py | 16 +-
superset/utils/cache.py | 4 +
superset/utils/core.py | 14 +-
superset/utils/webdriver.py | 10 +-
superset/views/base.py | 3 +
superset/views/chart/views.py | 5 +-
superset/views/core.py | 244 +-
superset/views/sql_lab.py | 6 +-
superset/viz.py | 23 +-
tests/db_engine_specs/snowflake_tests.py | 45 -
tests/{tasks => integration_tests}/__init__.py | 0
tests/{ => integration_tests}/access_tests.py | 14 +-
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 | 34 +-
.../charts}/__init__.py | 0
tests/{ => integration_tests}/charts/api_tests.py | 114 +-
.../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 | 85 +-
.../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 | 24 +-
.../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 | 273 +-
.../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} | 13 +-
.../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 | 55 +-
tests/{ => integration_tests}/sqla_views_tests.py | 4 +-
tests/{ => integration_tests}/sqllab_tests.py | 226 +-
.../{ => 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
tox.ini | 14 +-
531 files changed, 31152 insertions(+), 6147 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/ascend.mdx
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
copy
superset-frontend/{src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FilterScope/types.ts
=> spec/helpers/IntersectionObserver.ts} (79%)
rename superset-frontend/src/SqlLab/components/{TableElement.jsx =>
TableElement.tsx} (77%)
copy superset-frontend/src/{components/TableView/types.ts =>
common/hooks/useComponentDidUpdate/index.ts} (88%)
rename superset-frontend/src/{dashboard/stylesheets/buttons.less =>
common/hooks/useComponentDidUpdate/useComponentDidUpdate.test.ts} (62%)
copy superset-frontend/src/{filters/components/Time/controlPanel.ts =>
common/hooks/useComponentDidUpdate/useComponentDidUpdate.ts} (72%)
copy
superset-frontend/src/{dashboard/components/nativeFilters/FilterBar/utils.ts =>
common/hooks/useElementOnScreen/index.ts} (52%)
copy superset-frontend/src/components/Select/{Select.stories.tsx =>
DeprecatedSelect.stories.tsx} (99%)
copy superset-frontend/src/components/Select/{Select.tsx =>
DeprecatedSelect.tsx} (100%)
copy superset-frontend/src/components/{TableView/types.ts => index.ts} (88%)
delete mode 100644 superset-frontend/src/dashboard/components/IconButton.jsx
copy superset-frontend/src/{filters/components/common.ts =>
dashboard/components/IconButton.tsx} (53%)
rename
superset-frontend/src/dashboard/components/SliceHeaderControls/{index.jsx =>
index.tsx} (74%)
delete mode 100644
superset-frontend/src/dashboard/components/StickyVerticalBar.tsx
delete mode 100644 superset-frontend/src/dashboard/containers/FiltersBadge.tsx
delete mode 100644
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent/AdhocFilterEditPopoverSimpleTabContent.test.jsx
create mode 100644
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent/AdhocFilterEditPopoverSimpleTabContent.test.tsx
delete mode 100644
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent/index.jsx
create mode 100644
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent/index.tsx
copy superset-frontend/src/{filters/components/GroupBy/controlPanel.ts =>
types/react-lines-ellipsis.d.ts} (50%)
copy
superset-frontend/src/{dashboard/components/nativeFilters/FilterBar/utils.ts =>
utils/export.ts} (50%)
create mode 100644
superset-frontend/src/views/CRUD/data/database/DatabaseModal/ModalHeader.tsx
copy superset-frontend/src/{filters/components/Range/controlPanel.ts =>
views/CRUD/data/dataset/constants.ts} (54%)
copy
superset-frontend/src/{dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FilterScope/types.ts
=> views/CRUD/storageKeys.ts} (76%)
create mode 100644 superset-frontend/src/views/CRUD/utils.test.tsx
copy tests/db_engine_specs/impala_tests.py =>
superset/db_engine_specs/ascend.py (54%)
copy superset/db_engine_specs/{gsheets.py => netezza.py} (51%)
copy superset/{app.py => initialization/__init__.py} (90%)
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 (98%)
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 (92%)
rename tests/{queries => integration_tests/charts}/__init__.py (100%)
rename tests/{ => integration_tests}/charts/api_tests.py (95%)
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 (88%)
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%)
copy tests/{db_engine_specs/athena_tests.py =>
integration_tests/db_engine_specs/ascend_tests.py} (69%)
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 (89%)
rename tests/{ => integration_tests}/sqla_views_tests.py (92%)
rename tests/{ => integration_tests}/sqllab_tests.py (79%)
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%)
rename 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%)