You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by vi...@apache.org on 2021/11/18 12:14:54 UTC
[superset] branch gallery-image-update updated (16b0b7e -> 0813cfa)
This is an automated email from the ASF dual-hosted git repository.
villebro pushed a change to branch gallery-image-update
in repository https://gitbox.apache.org/repos/asf/superset.git.
from 16b0b7e chore: update gallery screenshot on readme
add a8d5342 chore: add browser info to template (#16732)
add f032cc2 fix shared query (#16753)
add d375538 only fetch db function when db exists in sql lab (#16754)
add 493e804 chore: log URI before downloading data on import (#16762)
add 48a61ba fix: handle CTEs with comments on is_select (#16769)
add a743526 fix: typo in log (#16767)
add 1d5100d fix(dataset): retain is_dttm if set on metadata sync (#16776)
add 596e1cd refactor: Changes the DatabaseSelector and TableSelector to use the new Select component (#16483)
add b6d78bf refactor: Changes the list views to use the new Select component (#16393)
add 9b17e86 chore: Moves messageToasts to the components folder (#14431)
add 486e0d4 chore: Upgrade Webpack to v5 (#16701)
add 99d15b2 chore: Moves the images folder to the assets folder (#14429)
add 77ae2e1 allow users to set port for cypress runs (#16533)
add 5cb49d2 feat: add support for JOIN in Druid (#16770)
add 4af5ae0 fix: encode rison characters when searching (#16768)
add 63aadd3 test: RTL overhaul - hackathon (#16626)
add a198dbb feat: add certifiedby & certification details fields to the edit dataset columns fields (#16454)
add 93fa478 Fix OpenAPI definition (#16672)
add 997320a chore: Update documentation on schema changes (#16784)
add 84f7614 feat(filter-set): Add filterset resource (#14015)
add 4086bed chore: bump superset to 0.18.6 (#16807)
add 6921d94 fix: show Import button only if has perms (#16763)
add 76f0408 feat: handle temporal columns in group bys (#16795)
add c933250 chore: Remove immutable.js (#16823)
add 0d064f4 Be able to lookup driver by engine alias (#16800)
add 1ff682f fix: Updates the selected values when changing the native filter type, column or default value (#16833)
add 55e2872 Fix 500 tab title (#16836)
add 04f7eca display tooltip when disabled (#16837)
add a341319 chore: upgrade to Node 16 (#16809)
add c520eb7 refactor: sqllab: move sqllab ralated enumns and utils to more logical place (#16843)
add ef95458 Exit init script immediately on error (#16758)
add 42fa548 fix(native-filters): filter indicator stale state (#16831)
add 0a8d0c6 fix(native-filters): emitted filter label format (#16828)
add 100760c fix(gallery): Hide the bottom info section when no chart is being selected (#16840)
add bbe7aa3 chore: db migrate timeseries_limit_metric to legacy_order_by in pivottable2 (#16849)
add f703c12 chore: bump superset-ui to 0.18.8 (#16850)
add 0f16177 fix(native-filters): ignore unset filter box time range (#16854)
add 8ad03c4 chore: Select component refactoring - FilterControl - Iteration 5 (#15777)
add 913df18 chore: Select component refactoring - MetricControl - Iteration 5 (#16423)
add e40ff3a chore: Select component refactoring - DndColumnSelectControl - Iteration 5 (#16440)
add ab9f8cb chore: Select component refactoring - PropertiesModal - Iteration 5 (#16445)
add 271ec6e chore: Select component refactoring - SaveModal - Iteration 5 (#16446)
add 667b88c chore: Select component refactoring - TimeSeriesColumnControl - Iteration 5 (#16442)
add d3f6145 fix(dashboard): Fill form with the latest values when undo in native filters (#16851)
add 6daf37b move repro steps to front (#16819)
add 27a40d2 chore: Upgrades Storybook to version 6.3.8 to make it compatible with Webpack 5 (#16857)
add 9ac55d9 fix(build): enable hot reloading of linked packages (#16867)
add b35645c feat: added extraEnvRaw variable to load values from other secrets (#16219)
add aa74721 feat: Add Private Google Sheets to dynamic form (#16628)
add 0ea83c5 feat: add Databricks ODBC engine spec (#16862)
add e3b14fe fix: Overhead when changing the filter name (#16877)
add 3d8cc15 fix: Clear native filters state (#16893)
add 3f784cc refactor: sql lab: handling command exceptions (#16852)
add 3272d1c fix(sqla): allow series limit without subquery support (#16896)
add 4da4fe4 fix: Removing parent filter causes incorrect state of child filter (#16876)
add 904c506 fixing db connection (#16899)
add 331de0c fix: Fix Uniqueness check before update for Sqllab Overwrites (#16859)
add 77e7d16 ci: check npm lockfile version (#16916)
add 94282b7 fix: time comparison can't guarantee the accuracy (#16895)
add 05632b9 chore: Moves the stylesheets folder to the assets folder (#16880)
add ae26967 fix: Disable lazy loading for the Database selector (#16908)
add 3d520f2 fix: Inclusive sign in time range display (#16906)
add 1a38ec6 chore: Adds the drag icon (#16919)
add c8db435 fix(Explore): Clear filter value when changing columns (#16871)
add 7f330c9 Verify undefined operatorId (#16923)
add c5d23fb fix: Unable to add dataset (#16925)
add 87290dd fix: Native filters cyclic dependency (#16921)
add 87baac7 fix: RBAC hide right menu (#16902)
add 90f711f chore: Moves spec files to the src folder - iteration 5 (#16927)
add a07c9d5 fix(dashboard): recursive parent on dashboard components (#16933)
add 420eff4 feat: add Firebolt DB engine spec (#16903)
add 3f6a24f chore: add certified columns to top of list (#16910)
add 6225c9a fix: replace absolute difference with difference in legacy charts (#16931)
add f0060a6 Native_filter on by default (#16874)
add 0d0c759 refactor: sql lab command: separate concerns into different modules (#16917)
add c05c6b3 fix missing series validation not raised an exception (#16946)
add ace9c78 fix(explore): Ensuring parameters key is included (#16949)
add 387ac2b fix: replace absolute difference with difference in compareOperator (#16930)
add 3dee22a fix(examples): incorrect covid row component id (#16953)
add 6d1fbb0 fix: don't log invalid redirect URL send by user (#16955)
add 028f6c0 chore: Moves spec files to the src folder - iteration 6 (#16935)
add 1ab36c9 chore: Moves spec files to the src folder - iteration 7 (#16943)
add 3f0756f chore: Select component refactoring - SelectControl - Iteration 5 (#16510)
add 739d841 fix(build): make npm linking work pt. 2 (#16958)
add 50ad84b chore: refactor header menu to show in header grid component (#16689)
add 85e3cec chore:upgrade superset-ui dependencies (#16965)
add 5866d5e fix: Revert "fix: RBAC hide right menu (#16902)" (#16968)
add 9a8911f test: update required tests to python 3.8 (#16973)
add 82601ab feat: upgrade docker image to py38 and add support for py39 (#16889)
add 93ebe3d fix: handle mixed time-series error (#16928)
add 2757b93 fix: Use production build config for cypress tests (#16978)
add 1cd0124 chore: upgrade babel (#16885)
add 0b7704a remove duplicate line (#16838)
add c577191 fix: When click on "View all" from favorite tab, get error (#16988)
add 191033c chore: Translates the favorite filter param (#16990)
add c993c58 fix(BigQuery): explicitly quote columns in select_star (#16822)
add 40861b3 fix: check if owners are actually being updated in `PUT /datasets/<id>` (#16941)
add 90cfa7f fix: FilterableTable result div width (#16912)
add cde4cdc fix(sqllab): SqlJsonExecutionContext.query null pointer (#16997)
add 66fbce9 chore: removing use of supersetTheme in favor of ThemeProvider (#17000)
add ac50961 chore: no direct use of supersetTheme (or bad LESS vars) in SqlEditor (#16999)
add 6dc00b3 fix: letter format of sort chart in dashboard edit (#17003)
add fd84614 fix: rolling and cum operator on multiple series (#16945)
add 5fc9970 chore improve response body (#16974)
add a782a62 chore: Select component refactoring - SelectAsyncControl - Iteration 5 (#16609)
add 6cdb324 chore: bump superset-ui 0.18.10 (#17009)
add 45908ff fix(dashboard): Race condition when setting activeTabs with nested tabs (#17007)
add 66b0877 Strict undefined check SelectControl (#17008)
add 5f73ca8 feat(linting): restrict direct use of supersetTheme in favor of ThemeProvider (#17001)
add c471a85 fix: Unnecessary queries when changing filter values (#16994)
add 9ef2861 Update CONTRIBUTING.md (#17016)
add be21143 fix: Filtering db names while creating dataset is not working (#17023)
add 50ad09b removing paramProperties (#17024)
add 03cdbac fix: error alerts js crash (#17015)
add ea70038 fix: error alerts again (#17026)
add 9e980b6 ci: fix broken test skips (#17005)
add 42efcdf chore(Dashboard): Implement dedicated message for missing dataset (#16959)
add a57ae35 fix: Verify when null value should be undefined in Select (#17013)
add a6173f1 chore(Dashboard): Highlight errored filters on the left pane of the Native Filters form plus several enhancements (#16940)
add e32a12f bug fix (#17019)
add bdbcfbc fix: show onhover menu only in edit mode (#17034)
add 2c8e06e initial fix (#16998)
add 7c1c89c fix: Loading indicator of table and schema selectors (#17040)
add 16a1df7 fix: clear modal state after adding dataset (#17044)
add 14b7f6c fix: Exclude SUPERSET_DEFAULT from the list of available color schemes (#17018)
add f2d41dc fix(other): column name in created content on profile page (#17029)
add 83a783d style: Update text for SLL Tooltip (#16993)
add 153469d fix: error alert levels again (#17027)
add c734035 docs: add vscode linter instructions to CONTRIBUTING.md (#17045)
add c2e1ab6 add logging on successful data uploads (#17065)
add 5e85f48 chore(druid): Standardizing time grain transformations (#17050)
add 11d52cb Update druid.py (#17079)
add 959fd76 fix: Owners selection in dataset edit UX (#17063)
add b9ff85d chore(engine): Translate fractional time grains—requires @superset-ui bump (#17078)
add 40e9add fix: accept headers on import (#17080)
add 3ad7483 fix(dashboard): race condition between hydrating dashboard and set active tabs (#17084)
add 8d54dee build(deps): bump lodash from 4.17.19 to 4.17.21 in /docs (#14577)
add 031f594 fix: prevent caching error pages (#17100)
add d944503 fix: Bump FAB to 3.3.4 (#17113)
add 83a2f83 chore: enable BQ tests (#17017)
add 434b576 fix: escape bind-like strings in virtual table query (#17111)
add 7a2e394 feat(config): Add none force-refresh option for auto refresh (#17039)
add 635898a fix(sqllab): Hover tooltip flashes in SQL Lab (#17068)
add 732e589 test: Cypress 7.0.0 migration (#16911)
add 5253193 fix: Update package-lock.json of superset-frontend and cypress-base (#17125)
add c9c669d fix for undefined userId (#17117)
add 69604c3 chore: Include codeowners for the Select component (#17102)
add eebc953 feat: Custom filters control (#17006)
add e055e59 chore: remove redundant po2json dev dependency (#17129)
add 98f6edd upgrade to 18.3 (#17121)
add 4a9107d chore: upgrade highlight.js (#17067)
add 9e6d5fc feat(dashboard): Let users re-arrange native filters (#16154)
add 40b88f0 feat: DBC UI Snowflake Form (#16856)
add 37944e1 feat(Filter-sets): connect to api (#17055)
add 57f869c fix(explore): remove unnecessary parameters from the explore url (#17123)
add 2ad9101 perf(native-filters): Decrease number of unnecessary rerenders in native filters (#17115)
add ae4ced8 fix: update values for default timezone selector (#17124)
add 565ee23 chore(druid): Explicitly cast col to TIMESTAMP (#17101)
add d7834f1 fix(filter-indicator): show filters handled by jinja as applied (#17140)
add 96f4421 fix: sql lab crash caused by invalid template (#17133)
add dacf797 remove title from cancel svg (#17147)
add d38e686 Update druid.py (#17146)
add 4cc095c update ui packages to 18.14 (#17151)
add 2062775 docs: add Symmetrics to users list (#17028)
add e32acd2 chore: Moves the datasource components to the components folder (#17130)
add f580f6b fix(Explore): Undefined owners (#17167)
add aa0f4d6 use typing_extension instead (#17174)
add 029ed90 fix: preventing sql lab None limit value (#17155)
add cd9e994 feat: Add prettier to pre-commit workflow (#17134)
add 4c708af fix: avoid filters containing null value (#17168)
add e5a0342 chore(Dashboard): Disable save button in Native Filters when an error is present (#17037)
add 860e481 fix(explore): timestamp format when copy datatable to clipboard (#17166)
add 91199c3 Handle undefined (#17183)
add 80a459f feat: support disabling domain sharding with a query param (#17177)
add 824e62b fix: dropdown placement for cascading filters popover (#17046)
add 35cbcc4 fix: auto refresh interval won't be updated (#17112)
add 2ba046f fix(sqla): convert prequery results to native python types (#17195)
add bedb8f4 fix(bigquery): calculated column cannot orderby in BigQuery (#17196)
add a63a01f small changes to dashboard->explore code (#17145)
add b5246b2 feat: Hide nav create with RBAC (#17157)
add 31085e3 fix: CI is blocked by mypy checking (#17213)
add 4f1d202 chore: use official isort in pre-commmit (#17215)
add ef3afbd refactor: Repeated boilerplate code between upload to database forms (#16756)
add 55be249 fix: Order of Select items when unselecting (#17169)
add 4c96ae7 chore: Breaks the dataViewCommon folder into TableCollection and Pagination (#17132)
add 08aab3b use full results as csv type (#17194)
add ef01cbb fix: reenabling terser plugin for webpack (#17205)
add cf284ba fix(native-filters): Fix update ownState (#17181)
add 48fd3c1 chore: Add docs to the Select component props (#17171)
add 3641093 allow owners to edit chart title (#17047)
add 5f8f67e Fix tools position (#17221)
add dbf5225 chore: bump to superset-ui 0.18.15 (#17232)
add dd71035 chore: Removes the ChartIcon component (#17216)
add 792efef Update setup.py (#17220)
add b7e7ef2 Revert "fix: the calculated columns explicit type convert into date (#14813)" (#16950)
add 743f4b6 Fix resetting does not clear form (#17217)
add 4316fe6 fix(annotataion): handle required fields properly (#17234)
add faf7c74 chore: bump superset-ui v0.18.16 (#17251)
add 65f1644 feat(dashboard): Add description to the native filter (#17025)
add 93f59e0 chore: remove supersetTheme with withTheme (#17069)
add 5aaa333 feat: Make Jinja template applied in timestamp columns (#17237)
add be6cca5 chore: bump deckgl 0.4.13 (#17266)
add 37909aa feat: add possibility to set ingress class name in Helm chart (#17252)
add ce558e0 chore: bump superset-ui to 0.18.17 (#17270)
add 9ef9adf test: added some sanity test for native filter (#17231)
add f0c0ef7 fix(cli): fail CLI script on failed import/export (#16976)
add ca6a1ec chore(doc): Update BigQuery Connection database connection UI into doc (#17191)
add fa44325 fix(explore): Metrics disappearing after removing metric from dataset (#17201)
add 8ee50de Drop constraint (#17275)
add 0a660a1 fix: Updated connection string for Firebolt (#17242)
add 456efc0 fix(reports): Owners no longer showing undefined in reports (#17223)
add b7bda70 fix: revert "feat(sqla): apply time grain to all temporal groupbys" (#17239)
add d0bad96 fix: Allow users to update database in Dataset Edit Modal (#17265)
add 5948a9f fix(AlertReportModal): Text Area Change (#17176)
add 8a27c67 change to 422 for stop query (#17292)
add 79ed0ae docs(UPDATING): Adding downtime for #16756 (#17293)
add 6a63a21 chore: Bumping pyarrow / pandas (#17290)
add abf24bb test: add native filter part2 (#17283)
add 1f2a7a4 fix: datatable crash when column is empty string (#17303)
add a898883 Remove redundant parentheses from setup.py (#17284)
add bea8502 run npm install to fix a bad package version (#17314)
add 9515ba6 chore: bump superset-ui to 0.18.17 (#17310)
add 5491a4d fix(Explore): Remove changes to the properties on cancel (#17184)
add a2a457b fix(Dashboard): Sidepanel positioning (#17200)
add 28b494c chore: migrate HiddenControl component from jsx to tsx (#17315)
add b3f0abf fix numbering on getting started with kubernetes docs (#17306)
add 7c6d6f4 Revert "fix(native-filters): Fix update ownState (#17181)" (#17311)
add 9a4ab10 fix: remove variables from styled component (#17228)
add 93bafa0 feat: improve logic in is_select (#17329)
add 2199ef2 chore: Test cases for annotations and annotation layers incorrect creation through API (#17246)
add 33bcf82 chore(websocket): bump dependencies (#17325)
add 85a19a9 fix: Unable to select None for Alert's log retention (#17268)
add 59a6502 fix: Color consistency (#17089)
add cb34a22 fix: import should accept old keys (#17330)
add 36f489e fix: Normalize prequery result type (#17312)
add 1c12167 fix: Revert default series sort-by metric and enforce non-xor with series limit (#17236)
add 4e9f812 fix: removed redundant logger definition (#17289)
add 03a2c6e feat: apply d3NumberFormat to table reports (#17336)
add 1fbce88 fix: set correct schema on config import (#16041)
add 43f4ab8 fix: clear 'delete' confirmation (#17345)
add e5fe186 fix: Show sqllab state when deleting databases (#17331)
add d0085b1 Check validity of control item (#17349)
add ab1fcf3 test: add native filter e2e test part3 (#17343)
add fa51b32 fix(dashboard): Return columns and verbose_map for groupby values of Pivot Table v2 [ID-7] (#17287)
add ee7c34b Make color scheme optional (#17357)
add f05a32e fix: Remove horizontal scroll navigation from SQL Lab (#17356)
add ee87b01 chore: bump superset-ui 0.18.20 (#17362)
add ed4a628 fix: Database selector overflow (#17369)
add b58f94ad chore: bump @typescript-eslint/eslint-plugin to 5.3.0 (#17367)
add 33a8e87 fix: failed timezone selector UT (#17370)
add 561d1ac feat(metrics): Provide override for disabling ad-hoc metrics (#17202)
add 6b1de57 fix: various typo fixes in MD files (#17309)
add 7d22c9c feat(native_filter_migration): add transition mode (#16992)
add 333b137 feat: Drill ODBC/JDBC Impersonation feature (#17353)
add 8f9cea8 docs: Reorder install instructions in CONTRIBUTING.md (#17387)
add 1beda79 fix(sqllab): Query limit dropdown number breaks to separate lines (#17382)
add a1961cf fix: Users being able to update datasets across DBs (#17348)
add 675ffaf revert: Partial revert of 17236 (#17383)
add 0d77f36 fix: handle TIME column serialization (#16869)
add 6431225 docs: add mishmash io to users list (#17350)
add 2544a4a fix(sqllab): Bugfix for tracking url transformation (#17263)
add 0257cf7 fix: title case in menus (#17135)
add 45480f7 refactor move ChartDataResult enums to common (#17399)
add 8756c90 fix(dashboard): don't show report modal for anonymous user (#17106)
add 28944f5 refactor move chart_data_apis from ChartRestApi ChartDataRestApi in seperate module (#17400)
add 7cdd58b Fix missing dashboardId (#17380)
add ffa55f7 chore: add dependencies for monorepo (#17403)
add 9ce6b7d refactor ChartDataCommand - separate loading query_context form cache into different module (#17405)
add 0712be4 fix(Dashboard): Only apply changes when editing properties (#17392)
add bcef8fa1 feature: Add quarter unit to datetrunc (#17416)
add bfc813d Update date_parser.py (#17426)
add f10bc6d fix: add fallback and validation for report and cron timezones (#17338)
add e6ff25c fix(chart): ensure samples data is displayed (#16900)
add aa8040e fix: allow POST chart/data request without CSRF token (#17429)
add ad8a7c4 fix: avoid escaping bind-like params containing colons (#17419)
add 0ca4312 fix: rename to schemas_allowed_for_file_upload in dbs.extra (#17323)
add d8851c9 refactor(TestChartApi): move chart data api tests into TestChartDataApi (#17407)
add 5d3e1b5 refactor: ChartDataCommand into two separate commands (#17425)
add e2a429b feat(explore): adhoc column expressions [ID-3] (#17379)
add 7f4c240 chore: bump superset-ui 0.18.25 (#17438)
add 9741eaa Fix 'DataFrame' object has no attribute 'ix' (#12092)
add 71e3fa1 use full resultType with csv download on chart in dashboard (#17431)
add eb029ab fix(sql lab): NULL styling in grid cell (#17385)
add 9f1bf1c fix: do not show migration toast if user not enable dashboard filter components (#17440)
add 3ee9e11 feat: add a config to enable retina quality images in screenshots (#17409)
add 211b32a fix(mssql): week time grain should respect datefirst setting (#10811)
add c829614 chore(deps): bump hosted-git-info from 2.8.8 to 2.8.9 in /docs (#14576)
add c2d8b0e chore: Notify user of custom label colors and related Dashboard color scheme (#17422)
add 96bdcc3 chore: bumping react syntax highlighter and thusly prismjs (#17439)
add 1e2c834 test: add native filter default value e2e (#17398)
add 34d7f0a chore: Ignore docs directory for dependabot (#17451)
add 9070b6b refactor(monorepo): stage 1 (#17427)
add 9cfce64 fix(docker): add ecpg to docker image (#16566)
add c54027a fix(views/core): iteration over None type (#14305)
add 3f2129b refactor: chartDataCommand - remove the responsibly of creating query context from command (#17461)
add 56d742f chore(fr-translation): update whole French translation (based on 1.3.0 release) (#16868)
add 0813cfa Merge branch 'master' into gallery-image-update
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 10 +-
.github/CODEOWNERS | 3 +
.github/ISSUE_TEMPLATE/bug_report.md | 14 +-
.github/dependabot.yml | 6 +
.github/workflows/bashlib.sh | 6 +-
.github/workflows/superset-e2e.yml | 24 +-
.github/workflows/superset-frontend.yml | 7 +
.github/workflows/superset-helm-lint.yml | 2 +-
.../workflows/superset-python-integrationtest.yml | 6 +-
.github/workflows/superset-python-misc.yml | 7 +-
.github/workflows/superset-python-unittest.yml | 2 +-
.github/workflows/superset-translations.yml | 6 +-
.pre-commit-config.yaml | 14 +-
.rat-excludes | 13 +
CONTRIBUTING.md | 64 +-
Dockerfile | 9 +-
Makefile | 16 +-
README.md | 58 +-
RELEASING/Dockerfile.from_local_tarball | 2 +-
RELEASING/Dockerfile.from_svn_tarball | 2 +-
RELEASING/Dockerfile.make_docs | 2 +-
RELEASING/Dockerfile.make_tarball | 2 +-
RELEASING/README.md | 2 +-
RESOURCES/INTHEWILD.md | 4 +
UPDATING.md | 84 +-
docker-compose.yml | 2 +-
docs/package-lock.json | 67 +-
.../docs/Connecting to Databases/databricks.mdx | 68 +
.../docs/Connecting to Databases/firebolt.mdx | 28 +
.../Connecting to Databases/google-bigquery.mdx | 62 +-
.../pages/docs/Connecting to Databases/index.mdx | 1 +
.../pages/docs/frequently-asked-questions-page.mdx | 14 +-
.../pages/docs/installation/installing_scratch.mdx | 2 +-
docs/src/pages/docs/installation/kubernetes.mdx | 10 +-
docs/src/resources/openapi.json | 84 +-
helm/superset/Chart.yaml | 2 +-
helm/superset/templates/deployment-beat.yaml | 5 +-
helm/superset/templates/deployment-worker.yaml | 5 +-
helm/superset/templates/deployment.yaml | 7 +-
helm/superset/templates/ingress.yaml | 3 +
helm/superset/templates/init-job.yaml | 5 +-
helm/superset/values.yaml | 19 +-
requirements/base.txt | 10 +-
requirements/development.in | 6 +-
requirements/development.txt | 8 +-
requirements/testing.in | 5 +
requirements/testing.txt | 90 +-
.../ci_check_npm_lock_version.sh | 22 +-
setup.cfg | 2 +-
setup.py | 14 +-
superset-frontend/.eslintignore | 4 +-
superset-frontend/.eslintrc.js | 66 +-
superset-frontend/.storybook/main.js | 6 +-
superset-frontend/.storybook/preview.jsx | 19 +-
superset-frontend/.storybook/storybook.css | 2 +-
superset-frontend/babel.config.js | 2 +-
superset-frontend/cypress-base/cypress.json | 4 +-
.../cypress/integration/chart_list/filter.test.ts | 88 +-
.../cypress/integration/dashboard/controls.test.ts | 2 +-
.../integration/dashboard/dashboard.helper.ts | 7 +
.../integration/dashboard/edit_properties.test.ts | 25 +-
.../cypress/integration/dashboard/filter.test.ts | 2 +-
.../cypress/integration/dashboard/markdown.test.ts | 22 +-
.../integration/dashboard/nativeFilters.test.ts | 316 +-
.../cypress/integration/dashboard/tabs.test.ts | 2 +-
.../integration/dashboard/url_params.test.ts | 14 +-
.../integration/dashboard_list/filter.test.ts | 68 +-
.../integration/explore/AdhocFilters.test.ts | 10 +-
.../integration/explore/AdhocMetrics.test.ts | 10 +-
.../integration/explore/advanced_analytics.test.ts | 12 +-
.../integration/explore/annotations.test.ts | 2 +-
.../cypress/integration/explore/control.test.ts | 26 +-
.../cypress/integration/explore/link.test.ts | 16 +-
.../explore/visualizations/line.test.ts | 17 +-
.../explore/visualizations/table.test.ts | 8 +-
.../cypress/integration/sqllab/query.test.ts | 2 +-
.../cypress-base/cypress/support/directories.ts | 648 +
.../cypress-base/cypress/utils/parsePostForm.ts | 2 +-
superset-frontend/cypress-base/package-lock.json | 4290 +-
superset-frontend/cypress-base/package.json | 10 +-
superset-frontend/cypress-base/tsconfig.json | 2 +-
superset-frontend/package-lock.json | 131258 +++++++++---------
superset-frontend/package.json | 280 +-
superset-frontend/spec/fixtures/mockDatasource.js | 1 +
.../spec/fixtures/mockNativeFilters.ts | 38 +
superset-frontend/spec/fixtures/mockReportState.js | 2 +-
superset-frontend/spec/fixtures/mockState.js | 4 +-
.../spec/fixtures/mockStateWithoutUser.tsx | 2 +-
superset-frontend/spec/fixtures/mockStore.js | 3 +-
superset-frontend/spec/helpers/reducerIndex.ts | 2 +-
superset-frontend/spec/helpers/theming.ts | 1 +
.../javascripts/components/CachedLabel_spec.jsx | 38 -
.../components/ColumnTypeLabel_spec.jsx | 77 -
.../dashboard/actions/dashboardLayout_spec.js | 2 +-
.../dashboard/actions/dashboardState_spec.js | 5 +-
.../dashboard/components/FiltersBadge_spec.tsx | 1 -
...MissingChart_spec.jsx => MissingChart_spec.tsx} | 35 +-
.../dashboard/components/PropertiesModal_spec.jsx | 26 +-
.../components/RefreshIntervalModal_spec.jsx | 80 -
.../components/RefreshIntervalModal_spec.tsx | 237 +
.../components/gridComponents/ChartHolder_spec.jsx | 2 +-
.../components/gridComponents/Chart_spec.jsx | 2 +-
.../components/gridComponents/Column_spec.jsx | 2 +-
.../components/gridComponents/Row_spec.jsx | 2 +-
.../components/gridComponents/Tab_spec.jsx | 2 +-
.../components/gridComponents/Tabs_spec.jsx | 5 +-
.../{HoverMenu_spec.jsx => HoverMenu_spec.tsx} | 0
.../nativeFilters/NativeFiltersModal_spec.tsx | 14 +-
...tainer_spec.jsx => ResizableContainer_spec.tsx} | 42 +-
...bleHandle_spec.jsx => ResizableHandle_spec.tsx} | 24 +-
.../dashboard/fixtures/mockNativeFilters.ts | 5 +-
.../util/getFormDataWithExtraFilters_spec.ts | 6 +-
.../util/getLeafComponentIdFromPath_spec.js | 5 +-
.../dashboard/util/newEntitiesFromDrop_spec.js | 8 +-
.../datasource/DatasourceEditor_spec.jsx | 252 -
.../components/AdhocMetricEditPopover_spec.jsx | 6 +-
...ateOption_spec.jsx => AggregateOption_spec.tsx} | 11 +-
...oxControl_spec.jsx => CheckboxControl_spec.tsx} | 45 +-
.../explore/components/ColorPickerControl_spec.jsx | 61 -
.../explore/components/ColorPickerControl_spec.tsx | 72 +
.../explore/components/DatasourceControl_spec.jsx | 6 +-
.../explore/components/SaveModal_spec.jsx | 5 +-
.../explore/components/SelectControl_spec.jsx | 137 +-
.../explore/components/TextArea_spec.jsx | 2 +-
.../spec/javascripts/explore/controlUtils_spec.tsx | 4 +-
.../spec/javascripts/explore/fixtures.tsx | 73 +-
.../spec/javascripts/messageToasts/.eslintrc | 30 -
superset-frontend/src/CRUD/CollectionTable.tsx | 22 +-
superset-frontend/src/CRUD/crud.less | 2 +-
superset-frontend/src/SqlLab/App.jsx | 2 +-
superset-frontend/src/SqlLab/actions/sqlLab.js | 12 +-
.../SqlLab/actions/sqlLab.test.js} | 48 +-
.../index.tsx} | 17 +-
.../SqlLab/components/App/App.test.jsx} | 0
.../SqlLab/components/{App.jsx => App/index.jsx} | 22 +-
.../ColumnElement/ColumnElement.test.tsx} | 3 +-
.../{ColumnElement.tsx => ColumnElement/index.tsx} | 0
.../index.jsx} | 7 +-
.../index.jsx} | 3 +-
.../ExploreResultsButton.test.jsx} | 3 +-
.../index.jsx} | 8 +-
.../HighlightedSql/HighlightedSql.test.jsx} | 0
.../index.tsx} | 3 +-
.../QueryAutoRefresh/QueryAutoRefresh.test.jsx} | 3 +-
.../index.jsx} | 3 +-
.../{QueryHistory.tsx => QueryHistory/index.tsx} | 5 +-
.../components/QuerySearch/QuerySearch.test.jsx} | 2 +-
.../{QuerySearch.tsx => QuerySearch/index.tsx} | 18 +-
.../QueryStateLabel/QueryStateLabel.test.jsx} | 0
.../index.tsx} | 5 +-
.../components/QueryTable/QueryTable.test.jsx} | 4 +-
.../components/ResultSet/ResultSet.test.jsx} | 4 +-
.../{ResultSet.tsx => ResultSet/index.tsx} | 105 +-
.../index.tsx} | 0
.../SaveDatasetModal/SaveDatasetModal.test.tsx} | 0
.../index.tsx} | 0
.../components/SaveQuery/SaveQuery.test.jsx} | 0
.../{SaveQuery.tsx => SaveQuery/index.tsx} | 0
.../ScheduleQueryButton.less | 0
.../index.tsx} | 0
.../ShareSqlLabQuery/ShareSqlLabQuery.test.jsx} | 0
.../index.tsx} | 15 +-
.../components/{ShowSQL.tsx => ShowSQL/index.tsx} | 5 +-
.../components/SouthPane/SouthPane.test.jsx} | 2 +-
.../SouthPane/{SouthPane.tsx => index.tsx} | 0
.../src/SqlLab/components/SouthPane/state.ts | 4 +-
.../components/SqlEditor/SqlEditor.test.jsx} | 6 +-
.../{SqlEditor.jsx => SqlEditor/index.jsx} | 49 +-
.../SqlEditorLeftBar/SqlEditorLeftBar.test.jsx} | 15 +-
.../index.jsx} | 15 +-
.../TabStatusIcon/TabStatusIcon.test.jsx} | 0
.../{TabStatusIcon.tsx => TabStatusIcon/index.tsx} | 3 +-
.../TabbedSqlEditors/TabbedSqlEditors.test.jsx} | 3 +-
.../index.jsx} | 12 +-
.../components/TableElement/TableElement.test.jsx} | 3 +-
.../{TableElement.tsx => TableElement/index.tsx} | 12 +-
.../TemplateParamsEditor.test.tsx} | 2 +-
.../index.tsx} | 0
.../javascripts/sqllab => src/SqlLab}/fixtures.ts | 0
superset-frontend/src/SqlLab/main.less | 4 +-
.../src/SqlLab/reducers/getInitialState.js | 2 +-
superset-frontend/src/SqlLab/reducers/index.js | 3 +-
.../SqlLab/reducers/sqlLab.test.js} | 1 -
superset-frontend/src/SqlLab/types.ts | 13 +
.../SqlLab/utils/emptyQueryResults.test.js} | 0
.../src/addSlice/AddSliceContainer.tsx | 14 +-
superset-frontend/src/api/dataset.ts | 63 -
.../{ => src/assets}/images/apache-kylin.png | Bin
.../{ => src/assets}/images/apache_feather.png | Bin
.../{ => src/assets}/images/babies.png | Bin
.../{ => src/assets}/images/bubble.png | Bin
.../assets}/images/chart-card-fallback.svg | 0
.../{ => src/assets}/images/clickhouse.png | Bin
.../{ => src/assets}/images/cloud.png | Bin
.../{ => src/assets}/images/create_role.png | Bin
superset-frontend/{ => src/assets}/images/dash.png | Bin
.../assets}/images/dashboard-card-fallback.svg | 0
superset-frontend/{ => src/assets}/images/db2.png | Bin
.../{ => src/assets}/images/druid.png | Bin
.../{ => src/assets}/images/druid_agg.png | Bin
.../{ => src/assets}/images/empty-charts.svg | 0
.../{ => src/assets}/images/empty-dashboard.svg | 0
.../{ => src/assets}/images/empty-queries.svg | 0
.../{ => src/assets}/images/empty-query.svg | 0
.../{ => src/assets}/images/empty.svg | 0
.../{ => src/assets}/images/error404.png | Bin
.../{ => src/assets}/images/error500.png | Bin
.../{ => src/assets}/images/exasol.png | Bin
.../{ => src/assets}/images/favicon.png | Bin
.../{ => src/assets}/images/firebird.png | Bin
.../{ => src/assets}/images/google-biquery.png | Bin
.../{ => src/assets}/images/greenplum.png | Bin
.../{ => src/assets}/images/hologres.png | Bin
.../{ => src/assets}/images/icons/alert.svg | 0
.../{ => src/assets}/images/icons/alert_solid.svg | 0
.../assets}/images/icons/alert_solid_small.svg | 0
.../{ => src/assets}/images/icons/ballot.svg | 0
.../{ => src/assets}/images/icons/binoculars.svg | 0
.../{ => src/assets}/images/icons/bolt.svg | 0
.../{ => src/assets}/images/icons/bolt_small.svg | 0
.../assets}/images/icons/bolt_small_run.svg | 0
.../{ => src/assets}/images/icons/calendar.svg | 0
.../{ => src/assets}/images/icons/cancel-x.svg | 2 +-
.../{ => src/assets}/images/icons/cancel.svg | 0
.../{ => src/assets}/images/icons/cancel_solid.svg | 0
.../{ => src/assets}/images/icons/card_view.svg | 0
.../{ => src/assets}/images/icons/cards.svg | 0
.../{ => src/assets}/images/icons/cards_locked.svg | 0
.../{ => src/assets}/images/icons/caret_down.svg | 0
.../{ => src/assets}/images/icons/caret_left.svg | 0
.../{ => src/assets}/images/icons/caret_right.svg | 0
.../{ => src/assets}/images/icons/caret_up.svg | 0
.../{ => src/assets}/images/icons/category.svg | 0
.../{ => src/assets}/images/icons/certified.svg | 0
.../{ => src/assets}/images/icons/check.svg | 0
.../assets}/images/icons/checkbox-half.svg | 0
.../{ => src/assets}/images/icons/checkbox-off.svg | 0
.../{ => src/assets}/images/icons/checkbox-on.svg | 0
.../{ => src/assets}/images/icons/circle.svg | 0
.../{ => src/assets}/images/icons/circle_check.svg | 0
.../assets}/images/icons/circle_check_solid.svg | 0
.../{ => src/assets}/images/icons/clock.svg | 0
.../{ => src/assets}/images/icons/close.svg | 0
.../{ => src/assets}/images/icons/code.svg | 0
.../{ => src/assets}/images/icons/cog.svg | 0
.../{ => src/assets}/images/icons/collapse.svg | 0
.../assets}/images/icons/color_palette.svg | 0
.../{ => src/assets}/images/icons/components.svg | 0
.../{ => src/assets}/images/icons/copy.svg | 0
.../assets}/images/icons/cross-filter-badge.svg | 0
.../assets}/images/icons/cursor_target.svg | 0
.../{ => src/assets}/images/icons/database.svg | 0
.../assets}/images/icons/dataset_physical.svg | 0
.../assets}/images/icons/dataset_virtual.svg | 0
.../images/icons/dataset_virtual_greyscale.svg | 0
.../assets}/images/icons/default_db_image.svg | 0
.../{ => src/assets}/images/icons/download.svg | 0
superset-frontend/src/assets/images/icons/drag.svg | 22 +
.../{ => src/assets}/images/icons/edit.svg | 0
.../{ => src/assets}/images/icons/edit_alt.svg | 0
.../{ => src/assets}/images/icons/email.svg | 0
.../{ => src/assets}/images/icons/error.svg | 0
.../{ => src/assets}/images/icons/error_solid.svg | 0
.../assets}/images/icons/error_solid_small.svg | 0
.../assets}/images/icons/error_solid_small_red.svg | 0
.../{ => src/assets}/images/icons/exclamation.svg | 0
.../{ => src/assets}/images/icons/expand.svg | 0
.../{ => src/assets}/images/icons/eye.svg | 0
.../{ => src/assets}/images/icons/eye_slash.svg | 0
.../assets}/images/icons/favorite-selected.svg | 0
.../assets}/images/icons/favorite-unselected.svg | 0
.../images/icons/favorite_small_selected.svg | 0
.../{ => src/assets}/images/icons/field_abc.svg | 0
.../assets}/images/icons/field_boolean.svg | 0
.../{ => src/assets}/images/icons/field_date.svg | 0
.../assets}/images/icons/field_derived.svg | 0
.../{ => src/assets}/images/icons/field_num.svg | 0
.../{ => src/assets}/images/icons/field_struct.svg | 0
.../{ => src/assets}/images/icons/file.svg | 0
.../{ => src/assets}/images/icons/filter.svg | 0
.../{ => src/assets}/images/icons/filter_small.svg | 0
.../{ => src/assets}/images/icons/folder.svg | 0
.../{ => src/assets}/images/icons/full.svg | 0
.../{ => src/assets}/images/icons/function_x.svg | 0
.../{ => src/assets}/images/icons/gear.svg | 0
.../{ => src/assets}/images/icons/grid.svg | 0
.../{ => src/assets}/images/icons/image.svg | 0
.../{ => src/assets}/images/icons/import.svg | 0
.../{ => src/assets}/images/icons/info-solid.svg | 0
.../{ => src/assets}/images/icons/info.svg | 0
.../assets}/images/icons/info_solid_small.svg | 0
.../{ => src/assets}/images/icons/join.svg | 0
.../{ => src/assets}/images/icons/keyboard.svg | 0
.../{ => src/assets}/images/icons/layers.svg | 0
.../{ => src/assets}/images/icons/lightbulb.svg | 0
.../{ => src/assets}/images/icons/link.svg | 0
.../{ => src/assets}/images/icons/list.svg | 0
.../{ => src/assets}/images/icons/list_view.svg | 0
.../{ => src/assets}/images/icons/location.svg | 0
.../{ => src/assets}/images/icons/lock_locked.svg | 0
.../assets}/images/icons/lock_unlocked.svg | 0
.../{ => src/assets}/images/icons/map.svg | 0
.../{ => src/assets}/images/icons/message.svg | 0
.../{ => src/assets}/images/icons/minus.svg | 0
.../{ => src/assets}/images/icons/minus_solid.svg | 0
.../{ => src/assets}/images/icons/more_horiz.svg | 0
.../{ => src/assets}/images/icons/more_vert.svg | 0
.../{ => src/assets}/images/icons/move.svg | 0
.../{ => src/assets}/images/icons/nav_charts.svg | 0
.../assets}/images/icons/nav_dashboard.svg | 0
.../{ => src/assets}/images/icons/nav_data.svg | 0
.../{ => src/assets}/images/icons/nav_explore.svg | 0
.../{ => src/assets}/images/icons/nav_home.svg | 0
.../{ => src/assets}/images/icons/nav_lab.svg | 0
.../{ => src/assets}/images/icons/note.svg | 0
.../{ => src/assets}/images/icons/offline.svg | 0
.../{ => src/assets}/images/icons/paperclip.svg | 0
.../{ => src/assets}/images/icons/placeholder.svg | 0
.../{ => src/assets}/images/icons/plus.svg | 0
.../{ => src/assets}/images/icons/plus_large.svg | 0
.../{ => src/assets}/images/icons/plus_small.svg | 0
.../{ => src/assets}/images/icons/plus_solid.svg | 0
.../{ => src/assets}/images/icons/queued.svg | 0
.../{ => src/assets}/images/icons/refresh.svg | 0
.../{ => src/assets}/images/icons/running.svg | 0
.../{ => src/assets}/images/icons/save.svg | 0
.../{ => src/assets}/images/icons/search.svg | 0
.../{ => src/assets}/images/icons/server.svg | 0
.../{ => src/assets}/images/icons/share.svg | 0
.../{ => src/assets}/images/icons/slack.svg | 0
.../{ => src/assets}/images/icons/sort.svg | 0
.../{ => src/assets}/images/icons/sort_asc.svg | 0
.../{ => src/assets}/images/icons/sort_desc.svg | 0
.../{ => src/assets}/images/icons/sql.svg | 0
.../{ => src/assets}/images/icons/table.svg | 0
.../{ => src/assets}/images/icons/tag.svg | 0
.../{ => src/assets}/images/icons/tags.svg | 0
.../{ => src/assets}/images/icons/transparent.svg | 0
.../{ => src/assets}/images/icons/trash.svg | 0
.../assets}/images/icons/triangle_change.svg | 0
.../assets}/images/icons/triangle_down.svg | 0
.../{ => src/assets}/images/icons/triangle_up.svg | 0
.../{ => src/assets}/images/icons/up-level.svg | 0
.../{ => src/assets}/images/icons/user.svg | 0
.../{ => src/assets}/images/icons/warning.svg | 0
.../assets}/images/icons/warning_solid.svg | 0
.../{ => src/assets}/images/icons/x-large.svg | 0
.../{ => src/assets}/images/icons/x-small.svg | 0
.../{ => src/assets}/images/loading.gif | Bin
.../{ => src/assets}/images/mariadb.png | Bin
.../{ => src/assets}/images/monet-db.png | Bin
.../{ => src/assets}/images/mssql-server.png | Bin
.../{ => src/assets}/images/mysql.png | Bin
.../{ => src/assets}/images/netezza.png | Bin
.../{ => src/assets}/images/noimg.png | Bin
.../{ => src/assets}/images/oracle.png | Bin
.../{ => src/assets}/images/postgresql.png | Bin
.../{ => src/assets}/images/presto.png | Bin
.../{ => src/assets}/images/redshift.png | Bin
superset-frontend/{ => src/assets}/images/s.png | Bin
.../assets}/images/screenshots/bank_dash.png | Bin
.../assets}/images/screenshots/deckgl_dash.png | Bin
.../assets}/images/screenshots/explore.jpg | Bin
.../assets}/images/screenshots/explore.png | Bin
.../images/screenshots/explore_visualizations.jpg | Bin 0 -> 485516 bytes
.../assets}/images/screenshots/gallery.jpg | Bin
.../assets}/images/screenshots/gallery.png | Bin
.../assets}/images/screenshots/geospatial_dash.jpg | Bin
.../assets}/images/screenshots/slack_dash.jpg | Bin
.../assets}/images/screenshots/sql_lab.jpg | Bin
.../{ => src/assets}/images/screenshots/sqllab.png | Bin
.../assets/images/screenshots/visualizations.png | Bin 0 -> 485516 bytes
.../{ => src/assets}/images/snowflake.png | Bin
.../{ => src/assets}/images/sqlite.png | Bin
.../{ => src/assets}/images/star-circle.svg | 0
.../assets}/images/superset-logo-horiz.png | Bin
.../{ => src/assets}/images/superset.png | Bin
.../assets}/images/superset_screenshot.png | Bin
.../{ => src/assets}/images/sybase.png | Bin
.../{ => src/assets}/images/trino.png | Bin
.../{ => src/assets}/images/tutorial/add_db.png | Bin
.../tutorial/tutorial_01_sources_database.png | Bin
.../images/tutorial/tutorial_02_add_database.png | Bin
.../images/tutorial/tutorial_03_database_name.png | Bin
.../tutorial_04_sqlalchemy_connection_string.png | Bin
.../tutorial/tutorial_05_connection_popup.png | Bin
.../images/tutorial/tutorial_06_list_of_tables.png | Bin
.../images/tutorial/tutorial_07_save_button.png | Bin
.../images/tutorial/tutorial_08_sources_tables.png | Bin
.../images/tutorial/tutorial_09_add_new_table.png | Bin
.../images/tutorial/tutorial_10_table_name.png | Bin
.../images/tutorial/tutorial_11_choose_db.png | Bin
.../tutorial_12_table_creation_success_msg.png | Bin
.../tutorial/tutorial_13_edit_table_config.png | Bin
.../images/tutorial/tutorial_14_field_config.png | Bin
.../tutorial/tutorial_15_click_table_name.png | Bin
.../tutorial/tutorial_16_datasource_chart_type.png | Bin
.../tutorial/tutorial_17_choose_time_range.png | Bin
.../images/tutorial/tutorial_18_choose_metric.png | Bin
.../images/tutorial/tutorial_19_click_query.png | Bin
.../tutorial/tutorial_20_count_star_result.png | Bin
.../images/tutorial/tutorial_21_group_by.png | Bin
.../tutorial/tutorial_22_group_by_result.png | Bin
.../tutorial_23_group_by_more_dimensions.png | Bin
.../images/tutorial/tutorial_24_max_metric.png | Bin
.../tutorial/tutorial_25_max_temp_filter.png | Bin
.../images/tutorial/tutorial_26_row_limit.png | Bin
.../tutorial/tutorial_27_top_10_max_temps.png | Bin
.../images/tutorial/tutorial_28_bar_chart.png | Bin
.../tutorial_29_bar_chart_series_metrics.png | Bin
.../tutorial/tutorial_30_bar_chart_results.png | Bin
.../tutorial_31_save_slice_to_dashboard.png | Bin
.../tutorial_32_save_slice_confirmation.png | Bin
.../images/tutorial/tutorial_33_dashboard.png | Bin
.../tutorial/tutorial_34_weather_dashboard.png | Bin
.../tutorial/tutorial_35_slice_on_dashboard.png | Bin
.../tutorial/tutorial_36_adjust_dimensions.gif | Bin
.../{ => src/assets}/images/union.png | Bin
.../{ => src/assets}/images/union.svg | 0
.../assets}/images/usertutorial/add_new_chart.png | Bin
.../usertutorial/advanced_analytics_base.png | Bin
.../assets}/images/usertutorial/annotation.png | Bin
.../images/usertutorial/annotation_settings.png | Bin
.../usertutorial/average_aggregate_for_cost.png | Bin
.../usertutorial/blue_bar_insert_component.png | Bin
.../images/usertutorial/chose_a_datasource.png | Bin
.../usertutorial/csv_to_database_configuration.png | Bin
.../assets}/images/usertutorial/edit-record.png | Bin
.../images/usertutorial/edit_annotation.png | Bin
.../usertutorial/filter_on_origin_country.png | Bin
.../assets}/images/usertutorial/markdown.png | Bin
.../usertutorial/no_filter_on_time_filter.png | Bin
.../images/usertutorial/parse_dates_column.png | Bin
.../images/usertutorial/publish_dashboard.png | Bin
.../assets}/images/usertutorial/resample.png | Bin
.../resize_tutorial_table_on_dashboard.png | Bin
.../assets}/images/usertutorial/rolling_mean.png | Bin
.../images/usertutorial/save_tutorial_table.png | Bin
.../usertutorial/select_dates_pivot_table.png | Bin
.../select_table_visualization_type.png | Bin
.../images/usertutorial/sum_cost_column.png | Bin
.../time_comparison_absolute_difference.png | Bin
.../usertutorial/time_comparison_two_series.png | Bin
.../images/usertutorial/tutorial_line_chart.png | Bin
.../images/usertutorial/tutorial_pivot_table.png | Bin
.../assets}/images/usertutorial/tutorial_table.png | Bin
.../assets}/images/usertutorial/upload_a_csv.png | Bin
.../{ => src/assets}/images/vertica.png | Bin
.../assets}/images/viz_thumbnails/area.png | Bin
.../{ => src/assets}/images/viz_thumbnails/bar.png | Bin
.../assets}/images/viz_thumbnails/big_number.png | Bin
.../images/viz_thumbnails/big_number_total.png | Bin
.../assets}/images/viz_thumbnails/box_plot.png | Bin
.../assets}/images/viz_thumbnails/bubble.png | Bin
.../assets}/images/viz_thumbnails/bullet.png | Bin
.../assets}/images/viz_thumbnails/cal_heatmap.png | Bin
.../assets}/images/viz_thumbnails/chord.png | Bin
.../assets}/images/viz_thumbnails/compare.png | Bin
.../assets}/images/viz_thumbnails/country_map.png | Bin
.../assets}/images/viz_thumbnails/deck_arc.png | Bin
.../assets}/images/viz_thumbnails/deck_geojson.png | Bin
.../assets}/images/viz_thumbnails/deck_grid.png | Bin
.../assets}/images/viz_thumbnails/deck_hex.png | Bin
.../assets}/images/viz_thumbnails/deck_multi.png | Bin
.../assets}/images/viz_thumbnails/deck_path.png | Bin
.../assets}/images/viz_thumbnails/deck_polygon.png | Bin
.../assets}/images/viz_thumbnails/deck_scatter.png | Bin
.../images/viz_thumbnails/deck_screengrid.png | Bin
.../images/viz_thumbnails/directed_force.png | Bin
.../assets}/images/viz_thumbnails/dist_bar.png | Bin
.../assets}/images/viz_thumbnails/dual_line.png | Bin
.../assets}/images/viz_thumbnails/event_flow.png | Bin
.../assets}/images/viz_thumbnails/filter_box.png | Bin
.../assets}/images/viz_thumbnails/heatmap.png | Bin
.../assets}/images/viz_thumbnails/histogram.png | Bin
.../assets}/images/viz_thumbnails/horizon.png | Bin
.../assets}/images/viz_thumbnails/iframe.png | Bin
.../assets}/images/viz_thumbnails/line.png | Bin
.../assets}/images/viz_thumbnails/line_multi.png | Bin
.../assets}/images/viz_thumbnails/mapbox.png | Bin
.../assets}/images/viz_thumbnails/markup.png | Bin
.../assets}/images/viz_thumbnails/multi.png | Bin
.../assets}/images/viz_thumbnails/paired_ttest.png | Bin
.../assets}/images/viz_thumbnails/para.png | Bin
.../assets}/images/viz_thumbnails/partition.png | Bin
.../{ => src/assets}/images/viz_thumbnails/pie.png | Bin
.../assets}/images/viz_thumbnails/pivot_table.png | Bin
.../assets}/images/viz_thumbnails/rose.png | Bin
.../assets}/images/viz_thumbnails/sankey.png | Bin
.../assets}/images/viz_thumbnails/separator.png | Bin
.../assets}/images/viz_thumbnails/sunburst.png | Bin
.../assets}/images/viz_thumbnails/table.png | Bin
.../assets}/images/viz_thumbnails/time_pivot.png | Bin
.../assets}/images/viz_thumbnails/time_table.png | Bin
.../assets}/images/viz_thumbnails/treemap.png | Bin
.../assets}/images/viz_thumbnails/word_cloud.png | Bin
.../assets}/images/viz_thumbnails/world_map.png | Bin
superset-frontend/src/assets/staticPages/404.html | 4 +-
superset-frontend/src/assets/staticPages/500.html | 6 +-
.../{ => src/assets}/stylesheets/antd/index.less | 0
.../assets}/stylesheets/less/cosmo/bootswatch.less | 0
.../assets}/stylesheets/less/cosmo/cosmoTheme.js | 1 +
.../assets}/stylesheets/less/cosmo/variables.less | 0
.../{ => src/assets}/stylesheets/less/fonts.less | 0
.../{ => src/assets}/stylesheets/less/index.less | 0
.../assets}/stylesheets/less/variables.less | 0
.../assets}/stylesheets/reactable-pagination.less | 2 +-
.../{ => src/assets}/stylesheets/superset.less | 0
superset-frontend/src/chart/Chart.jsx | 29 +-
superset-frontend/src/chart/ChartRenderer.jsx | 11 +-
superset-frontend/src/chart/chartAction.js | 31 +-
superset-frontend/src/common/components/.eslintrc | 13 +-
.../src/common/hooks/apiResources/apiResources.ts | 16 +-
.../src/common/hooks/apiResources/dashboards.ts | 3 +-
superset-frontend/src/components/.eslintrc | 13 +-
.../AlteredSliceTag/AlteredSliceTag.test.jsx | 4 +-
.../src/components/AnchorLink/index.jsx | 8 +-
.../AsyncAceEditor/AsyncAceEditor.test.tsx | 2 +-
.../src/components/AsyncAceEditor/index.tsx | 8 +-
.../src/components/AsyncEsmComponent/index.tsx | 2 +-
superset-frontend/src/components/Badge/index.tsx | 10 +-
superset-frontend/src/components/Button/index.tsx | 4 +-
.../components/CachedLabel/CachedLabel.test.tsx | 33 +-
.../src/components/CachedLabel/index.tsx | 4 +-
.../src/components/CertifiedIcon/index.tsx | 9 +-
.../src/components/ChartIcon/index.tsx | 44 -
.../src/components/Collapse/Collapse.test.tsx | 4 +-
.../CopyToClipboard/CopyToClipboard.stories.tsx | 4 +-
.../src/components/CopyToClipboard/index.jsx | 2 +-
.../DatabaseSelector/DatabaseSelector.test.tsx | 123 +-
.../src/components/DatabaseSelector/index.tsx | 372 +-
.../Datasource/ChangeDatasourceModal.test.jsx} | 2 +-
.../Datasource}/ChangeDatasourceModal.tsx | 4 +-
.../Datasource}/DatasourceEditor.jsx | 298 +-
.../Datasource/DatasourceEditor.test.jsx | 233 +
.../Datasource/DatasourceModal.test.jsx} | 4 +-
.../Datasource}/DatasourceModal.tsx | 29 +-
.../index.ts => Datasource/index.tsx} | 6 +-
.../src/components/DatePicker/index.tsx | 8 +-
.../components/DeleteModal/DeleteModal.test.tsx | 15 +-
.../src/components/DeleteModal/index.tsx | 34 +-
.../src/components/EditableTitle/index.tsx | 6 +-
.../components/ErrorMessage/BasicErrorAlert.tsx | 11 +-
.../DatasetNotFoundErrorMessage.test.tsx} | 33 +-
.../ErrorMessage/DatasetNotFoundErrorMessage.tsx} | 34 +-
.../src/components/ErrorMessage/ErrorAlert.tsx | 27 +-
.../ErrorMessage/ParameterErrorMessage.tsx | 9 +-
.../ErrorMessage/TimeoutErrorMessage.tsx | 7 +-
.../src/components/ErrorMessage/types.ts | 16 +-
.../components/FilterableTable/FilterableTable.tsx | 61 +-
.../FilterableTable/FilterableTableStyles.less | 2 +-
.../src/components/FlashProvider/index.tsx | 2 +-
.../src/components/Form/LabeledErrorBoundInput.tsx | 2 +-
superset-frontend/src/components/Icons/Icon.tsx | 12 +-
superset-frontend/src/components/Icons/index.tsx | 1 +
.../components/ImportModal/ImportModal.test.tsx | 33 +
.../src/components/ImportModal/index.tsx | 5 +-
superset-frontend/src/components/Label/index.tsx | 11 +-
.../src/components/ListView/CardSortSelect.tsx | 100 +-
.../src/components/ListView/Filters/Base.ts | 8 +-
.../src/components/ListView/Filters/DateRange.tsx | 21 +-
.../src/components/ListView/Filters/Search.tsx | 44 +-
.../src/components/ListView/Filters/Select.tsx | 148 +-
.../src/components/ListView/Filters/index.tsx | 29 +-
.../src/components/ListView/ListView.test.jsx | 30 +-
.../src/components/ListView/ListView.tsx | 26 +-
superset-frontend/src/components/ListView/types.ts | 18 +-
superset-frontend/src/components/ListView/utils.ts | 7 +-
.../ListViewCard/ListViewCard.stories.tsx | 4 +-
.../src/components/Loading/Loading.stories.tsx | 4 +-
.../src/components/Loading/Loading.test.tsx | 4 +-
.../src/components/Menu/Menu.test.tsx | 52 +
.../src/components/Menu/MenuRight.tsx | 269 +-
.../components/MessageToasts/Toast.test.jsx} | 4 +-
.../MessageToasts}/Toast.tsx | 3 +-
.../MessageToasts/ToastContainer.jsx} | 4 +-
.../MessageToasts/ToastPresenter.test.jsx} | 7 +-
.../MessageToasts}/ToastPresenter.tsx | 2 +-
.../MessageToasts/actions.ts} | 2 +-
.../MessageToasts}/getToastsFromPyFlashMessages.js | 4 +-
.../getToastsFromPyFlashMessages.test.js} | 5 +-
.../components/MessageToasts}/mockMessageToasts.js | 2 +-
.../MessageToasts/reducers.js} | 2 +-
.../components/MessageToasts/reducers.test.js} | 4 +-
.../MessageToasts}/types.ts | 0
.../MessageToasts}/withToasts.tsx | 2 +-
.../{Pagination.test.tsx => Wrapper.test.tsx} | 16 +-
.../Pagination/{index.tsx => Wrapper.tsx} | 0
.../src/components/Pagination/index.tsx | 98 +-
.../PopoverDropdown/PopoverDropdown.stories.tsx | 25 +-
.../HeaderReportActionsDropdown/index.tsx | 6 +-
.../src/components/ReportModal/index.tsx | 2 +-
.../components/SearchInput/SearchInput.stories.tsx | 62 -
.../components/SearchInput/SearchInput.test.jsx | 93 -
.../src/components/SearchInput/index.tsx | 108 -
.../src/components/Select/DeprecatedSelect.tsx | 7 +-
.../src/components/Select/Select.stories.tsx | 52 +-
.../src/components/Select/Select.test.tsx | 73 +-
superset-frontend/src/components/Select/Select.tsx | 200 +-
.../Select/WindowedSelect/WindowedMenuList.tsx | 17 +-
.../components/Select/WindowedSelect/windowed.tsx | 14 +-
superset-frontend/src/components/Select/styles.tsx | 49 +-
.../TableCollection.test.tsx | 2 +-
.../index.tsx} | 0
.../components/TableLoader/TableLoader.test.tsx | 4 +-
.../src/components/TableLoader/index.tsx | 4 +-
.../TableSelector/TableSelector.test.jsx | 291 -
.../TableSelector/TableSelector.test.tsx | 96 +
.../src/components/TableSelector/index.tsx | 480 +-
.../src/components/TableView/TableView.tsx | 3 +-
.../TimezoneSelector/TimezoneSelector.test.tsx | 33 +-
.../src/components/TimezoneSelector/index.tsx | 48 +-
.../URLShortLinkButton/URLShortLinkButton.test.tsx | 4 +-
.../src/components/URLShortLinkButton/index.jsx | 2 +-
.../components/WarningIconWithTooltip/index.tsx | 6 +-
.../src/components/dataViewCommon/Pagination.tsx | 48 -
superset-frontend/src/constants.ts | 4 +
.../src/dashboard/actions/dashboardInfo.ts | 91 +-
.../src/dashboard/actions/dashboardLayout.js | 58 +-
.../src/dashboard/actions/dashboardState.js | 39 +-
superset-frontend/src/dashboard/actions/hydrate.js | 610 +-
.../src/dashboard/actions/nativeFilters.ts | 408 +-
.../src/dashboard/actions/sliceEntities.js | 11 +-
.../dashboard/components/BuilderComponentPane.tsx | 106 +-
.../components/ColorSchemeControlWrapper.jsx | 6 +-
.../components/CssEditor/CssEditor.test.tsx | 4 +-
.../src/dashboard/components/Dashboard.jsx | 2 +
.../DashboardBuilder/DashboardBuilder.tsx | 70 +-
.../DashboardBuilder/DashboardContainer.tsx | 8 +-
.../dashboard/components/DashboardBuilder/state.ts | 21 +-
.../components/FilterBoxMigrationModal.tsx | 95 +
.../dashboard/components/FiltersBadge/selectors.ts | 15 +-
.../dashboard/components/Header/Header.test.tsx | 63 +-
.../HeaderActionsDropdown.test.tsx | 11 +-
.../Header/HeaderActionsDropdown/index.jsx | 21 +-
.../src/dashboard/components/Header/index.jsx | 58 +-
.../dashboard/components/PropertiesModal/index.jsx | 118 +-
.../PublishedStatus/PublishedStatus.test.tsx | 6 +-
.../dashboard/components/RefreshIntervalModal.tsx | 3 +-
.../src/dashboard/components/SaveModal.tsx | 12 +-
.../src/dashboard/components/SliceAdder.jsx | 20 +-
.../components/filterscope/FilterScopeSelector.jsx | 28 +-
.../filterscope/renderFilterScopeTreeNodes.jsx | 19 +-
.../dashboard/components/gridComponents/Chart.jsx | 32 +-
.../components/gridComponents/ChartHolder.jsx | 6 +-
.../components/gridComponents/ChartHolder.test.tsx | 7 +-
.../dashboard/components/gridComponents/Header.jsx | 9 +-
.../components/gridComponents/Markdown.jsx | 18 +-
.../dashboard/components/gridComponents/Tabs.jsx | 19 +-
.../src/dashboard/components/menu/HoverMenu.tsx | 60 +-
.../CascadeFilterControl.test.tsx | 41 +-
.../CascadeFilters/CascadeFilterControl/index.tsx | 7 +-
.../CascadeFilters/CascadePopover/index.tsx | 36 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 3 +-
.../FilterBar/FilterConfigurationLink/index.tsx | 3 +
.../FilterBar/FilterControls/FilterControl.tsx | 95 +-
.../FilterBar/FilterControls/FilterControls.tsx | 78 +-
.../FilterBar/FilterControls/FilterValue.tsx | 77 +-
.../FilterBar/FilterControls/state.ts | 23 +-
.../FilterBar/FilterControls/types.ts | 4 +-
.../FilterBar/FilterSets/EditSection.test.tsx | 2 +-
.../FilterBar/FilterSets/EditSection.tsx | 21 +-
.../FilterBar/FilterSets/FilterSets.test.tsx | 3 +-
.../FilterBar/FilterSets/FiltersHeader.tsx | 10 +-
.../nativeFilters/FilterBar/FilterSets/index.tsx | 106 +-
.../FilterSets/utils/findExistingFilterSet.test.ts | 12 +-
.../FilterBar/FilterSets/utils/index.ts | 1 +
.../nativeFilters/FilterBar/Header/index.tsx | 8 +-
.../components/nativeFilters/FilterBar/index.tsx | 130 +-
.../components/nativeFilters/FilterBar/state.ts | 88 +-
.../components/nativeFilters/FilterBar/utils.ts | 6 +-
.../FiltersConfigModal/DraggableFilter.tsx | 141 +
.../FiltersConfigModal/FilterConfigPane.test.tsx | 114 +
.../FiltersConfigModal/FilterConfigurePane.tsx | 99 +
.../FiltersConfigModal/FilterTabs.tsx | 251 -
.../FiltersConfigModal/FilterTitleContainer.tsx | 194 +
.../FiltersConfigModal/FilterTitlePane.tsx | 127 +
.../FiltersConfigForm/ColumnSelect.tsx | 7 +-
.../FiltersConfigForm/DatasetSelect.tsx | 6 +-
.../FilterScope/FilterScope.test.tsx | 12 +-
.../FiltersConfigForm/FilterScope/FilterScope.tsx | 1 +
.../FiltersConfigForm/FiltersConfigForm.tsx | 918 +-
.../FiltersConfigForm/getControlItemsMap.test.tsx | 1 +
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 45 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 243 +-
.../FiltersConfigModal/Footer/Footer.tsx | 3 +
.../nativeFilters/FiltersConfigModal/state.ts | 18 +-
.../nativeFilters/FiltersConfigModal/types.ts | 7 +-
.../nativeFilters/FiltersConfigModal/utils.ts | 286 +-
.../dashboard/components/nativeFilters/types.ts | 4 +
.../src/dashboard/containers/Chart.jsx | 29 +-
.../src/dashboard/containers/Dashboard.ts | 2 +
.../dashboard/containers/DashboardComponent.jsx | 18 +-
.../src/dashboard/containers/DashboardHeader.jsx | 23 +-
.../src/dashboard/containers/DashboardPage.tsx | 158 +-
.../src/dashboard/containers/SliceAdder.jsx | 7 +-
.../src/dashboard/reducers/dashboardState.js | 5 +-
.../dashboard/reducers/dashboardState.test.ts} | 33 +-
.../src/dashboard/reducers/nativeFilters.ts | 20 +-
superset-frontend/src/dashboard/reducers/types.ts | 16 +-
.../dashboard/stylesheets/builder-sidepane.less | 5 +-
.../dashboard/stylesheets/components/markdown.less | 2 +-
.../stylesheets/components/new-component.less | 2 +-
.../stylesheets/filter-scope-selector.less | 11 +-
.../src/dashboard/stylesheets/hover-menu.less | 95 -
.../src/dashboard/stylesheets/index.less | 3 +-
superset-frontend/src/dashboard/types.ts | 4 +
.../src/dashboard/util/activeDashboardFilters.js | 13 +-
.../util/charts/getFormDataWithExtraFilters.ts | 15 +-
superset-frontend/src/dashboard/util/constants.ts | 1 +
.../util/filterboxMigrationHelper.test.ts | 144 +
.../src/dashboard/util/filterboxMigrationHelper.ts | 526 +
.../dashboard/util/getComponentWidthFromDrop.js | 42 +-
.../dashboard/util/getFilterScopeFromNodesTree.js | 7 +-
.../dashboard/util/getLeafComponentIdFromPath.js | 2 +-
.../src/dashboard/util/injectCustomCss.ts | 2 +-
.../src/dashboard/util/newEntitiesFromDrop.js | 2 +-
superset-frontend/src/dataMask/actions.ts | 21 +-
superset-frontend/src/dataMask/reducer.ts | 7 +-
superset-frontend/src/explore/App.jsx | 14 +-
.../src/explore/actions/exploreActions.ts | 5 +-
.../src/explore/components/Control.tsx | 15 +-
.../explore/components/DataTableControl/index.tsx | 34 +-
.../DataTablesPane/DataTablesPane.test.tsx | 49 +-
.../explore/components/DataTablesPane/index.tsx | 170 +-
.../DatasourcePanel/DatasourcePanel.test.tsx | 7 +-
.../components/DatasourcePanel}/fixtures.tsx | 0
.../explore/components/DatasourcePanel/index.tsx | 15 +-
.../explore/components/ExploreActionButtons.tsx | 14 +-
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 125 +
.../index.jsx} | 82 +-
.../src/explore/components/ExploreChartPanel.jsx | 2 +
.../explore/components/ExploreContentPopover.tsx | 6 -
.../explore/components/ExploreViewContainer.jsx | 12 +-
.../PropertiesModal/PropertiesModal.test.tsx | 8 +-
.../explore/components/PropertiesModal/index.tsx | 113 +-
.../src/explore/components/SaveModal.tsx | 27 +-
.../AnnotationLayerControl/AnnotationLayer.jsx | 112 +-
.../AnnotationLayer.test.tsx | 170 +-
.../controls/AnnotationLayerControl/index.jsx | 19 +-
.../components/controls/ColorMapControl.jsx | 54 -
.../ColorSchemeControl/ColorSchemeControl.test.tsx | 68 +
.../index.jsx} | 108 +-
.../ConditionalFormattingControl.tsx | 6 +-
.../FormattingPopoverContent.tsx | 62 +-
.../controls/ConditionalFormattingControl/types.ts | 2 +-
.../DatasourceControl/DatasourceControl.test.tsx | 1 +
.../controls/DatasourceControl/index.jsx | 16 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 3 +-
.../DateFilterControl/components/CustomFrame.tsx | 8 +-
.../components/DateFunctionTooltip.tsx | 2 +-
.../components/controls/DateFilterControl/types.ts | 1 +
.../controls/DateFilterControl/utils/constants.ts | 47 +-
.../DateFilterControl/utils/dateFilterUtils.ts | 6 +-
.../controls/DateFilterControl/utils/dateParser.ts | 24 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 240 +-
.../ColumnSelectPopoverTrigger.tsx | 100 +-
.../DndColumnSelectControl/DndColumnSelect.tsx | 29 +-
.../DndColumnSelectPopoverTitle.jsx | 96 +
.../DndFilterSelect.test.tsx | 19 +-
.../DndMetricSelect.test.tsx | 192 +-
.../DndColumnSelectControl/DndMetricSelect.tsx | 111 +-
.../DndColumnSelectControl/OptionWrapper.tsx | 24 +-
.../controls/DndColumnSelectControl/types.ts | 19 +-
.../DndColumnSelectControl/utils/optionSelector.ts | 60 +-
.../controls/FilterBoxItemControl/index.jsx | 13 +-
.../controls/FilterControl/AdhocFilter/index.js | 4 +-
.../FilterControl/AdhocFilterControl/index.jsx | 6 +
.../FilterControl/AdhocFilterEditPopover/index.jsx | 62 +-
.../index.tsx | 242 +-
.../AdhocFilterEditPopoverSqlTabContent/index.jsx | 35 +-
.../FilterControl/AdhocFilterOption/index.jsx | 6 +
.../AdhocFilterPopoverTrigger/index.tsx | 5 +
.../controls/FixedOrMetricControl/index.jsx | 1 +
.../{HiddenControl.jsx => HiddenControl.tsx} | 25 +-
.../controls/MetricControl/AdhocMetric.js | 17 +-
.../AdhocMetricEditPopover.test.tsx | 56 +-
.../MetricControl/AdhocMetricEditPopover/index.jsx | 205 +-
.../controls/MetricControl/AdhocMetricOption.jsx | 6 +-
.../MetricControl/AdhocMetricPopoverTrigger.tsx | 8 +-
.../MetricControl/MetricDefinitionOption.jsx | 3 +-
.../MetricControl/MetricDefinitionValue.jsx | 6 +-
.../controls/MetricControl/MetricsControl.jsx | 95 +-
.../SelectAsyncControl/SelectAsyncControl.test.tsx | 38 +-
.../controls/SelectAsyncControl/index.jsx | 92 -
.../controls/SelectAsyncControl/index.tsx | 117 +
.../explore/components/controls/SelectControl.jsx | 287 +-
.../explore/components/controls/SpatialControl.jsx | 1 +
.../components/controls/TextAreaControl.jsx | 31 +-
.../components/controls/TextControl/index.tsx | 6 +-
.../TimeSeriesColumnControl.test.tsx | 10 +-
.../controls/TimeSeriesColumnControl/index.jsx | 28 +-
.../VizTypeControl/VizTypeControl.test.tsx | 33 +-
.../controls/VizTypeControl/VizTypeGallery.tsx | 53 +-
.../src/explore/components/controls/index.js | 2 -
superset-frontend/src/explore/constants.ts | 28 +-
.../src/explore/controlPanels/sections.tsx | 6 +-
.../src/explore/controlUtils/getControlConfig.ts | 6 +-
.../src/explore/controlUtils/getControlState.ts | 5 +-
superset-frontend/src/explore/controls.jsx | 44 +-
.../explore/exploreUtils/getExploreLongUrl.test.ts | 29 +-
.../src/explore/exploreUtils/index.js | 19 +
superset-frontend/src/explore/main.less | 2 +-
.../src/explore/reducers/getInitialState.ts | 2 +-
superset-frontend/src/explore/reducers/index.js | 6 +-
.../components/GroupBy/GroupByFilterPlugin.tsx | 18 +-
.../src/filters/components/GroupBy/controlPanel.ts | 7 +-
.../filters/components/Range/RangeFilterPlugin.tsx | 146 +-
.../components/Select/SelectFilterPlugin.tsx | 101 +-
.../src/filters/components/Select/buildQuery.ts | 11 +-
.../src/filters/components/Select/controlPanel.ts | 7 +-
.../src/filters/components/Select/types.ts | 2 +
.../filters/components/Time/TimeFilterPlugin.tsx | 39 +-
.../src/filters/components/Time/controlPanel.ts | 6 +-
.../filters/components/TimeGrain/transformProps.ts | 10 +-
.../utils_spec.ts => src/filters/utils.test.ts} | 0
superset-frontend/src/filters/utils.ts | 15 -
superset-frontend/src/messageToasts/constants.ts | 28 -
.../middleware/asyncEvent.test.ts} | 0
.../middleware/logger.test.js} | 0
.../src/middleware/loggerMiddleware.js | 8 +-
.../dates_spec.js => src/modules/dates.test.js} | 0
.../utils_spec.jsx => src/modules/utils.test.jsx} | 0
superset-frontend/src/preamble.ts | 1 +
superset-frontend/src/profile/App.tsx | 6 +-
.../profile/components/App.test.tsx} | 0
.../profile/components/CreatedContent.test.tsx} | 0
.../src/profile/components/CreatedContent.tsx | 12 +-
.../profile/components/Favorites.test.tsx} | 0
.../profile/components/RecentActivity.test.tsx} | 0
.../profile/components/Security.test.tsx} | 0
.../profile/components/UserInfo.test.tsx} | 0
.../src/profile/components/UserInfo.tsx | 4 +-
.../profile/components}/fixtures.tsx | 0
superset-frontend/src/profile/main.less | 2 +-
superset-frontend/src/reduxUtils.ts | 22 +-
superset-frontend/src/reports/actions/reports.js | 5 +-
superset-frontend/src/setup/setupColors.ts | 38 +-
superset-frontend/src/setup/setupErrorMessages.ts | 5 +
.../showSavedQuery/utils.test.jsx} | 0
superset-frontend/src/theme.ts | 4 +-
superset-frontend/src/types/Chart.ts | 3 +
superset-frontend/src/utils/cacheWrapper.ts | 28 +-
superset-frontend/src/utils/common.test.jsx | 1 -
superset-frontend/src/utils/downloadAsImage.ts | 4 +-
.../src/utils/getControlsForVizType.test.js | 13 +-
superset-frontend/src/utils/hostNamesConfig.js | 12 +-
superset-frontend/src/utils/testUtils.ts | 39 +-
superset-frontend/src/views/App.tsx | 4 +-
.../src/views/CRUD/alert/AlertList.tsx | 15 +-
.../src/views/CRUD/alert/AlertReportModal.test.jsx | 2 +-
.../src/views/CRUD/alert/AlertReportModal.test.tsx | 42 +
.../src/views/CRUD/alert/AlertReportModal.tsx | 184 +-
.../src/views/CRUD/alert/ExecutionLog.tsx | 2 +-
.../alert/components/AlertReportCronScheduler.tsx | 118 +-
.../src/views/CRUD/annotation/AnnotationList.tsx | 19 +-
.../src/views/CRUD/annotation/AnnotationModal.tsx | 14 +-
.../CRUD/annotationlayers/AnnotationLayerModal.tsx | 10 +-
.../CRUD/annotationlayers/AnnotationLayersList.tsx | 24 +-
.../src/views/CRUD/chart/ChartList.test.jsx | 2 +-
.../src/views/CRUD/chart/ChartList.tsx | 282 +-
.../views/CRUD/csstemplates/CssTemplateModal.tsx | 8 +-
.../views/CRUD/csstemplates/CssTemplatesList.tsx | 23 +-
.../views/CRUD/dashboard/DashboardList.test.jsx | 2 +-
.../src/views/CRUD/dashboard/DashboardList.tsx | 179 +-
.../components/SyntaxHighlighterCopy/index.tsx | 2 +-
.../views/CRUD/data/database/DatabaseList.test.jsx | 14 +-
.../src/views/CRUD/data/database/DatabaseList.tsx | 19 +-
.../DatabaseModal/DatabaseConnectionForm.tsx | 553 -
.../DatabaseConnectionForm/CommonParameters.tsx | 207 +
.../DatabaseConnectionForm/EncryptedField.tsx | 198 +
.../DatabaseConnectionForm/TableCatalog.tsx | 104 +
.../DatabaseConnectionForm/ValidatedInputField.tsx | 62 +
.../DatabaseModal/DatabaseConnectionForm/index.tsx | 172 +
.../data/database/DatabaseModal/ExtraOptions.tsx | 10 +-
.../data/database/DatabaseModal/index.test.jsx | 5 +
.../CRUD/data/database/DatabaseModal/index.tsx | 123 +-
.../CRUD/data/database/DatabaseModal/styles.ts | 12 +-
.../src/views/CRUD/data/database/types.ts | 16 +-
.../views/CRUD/data/dataset/AddDatasetModal.tsx | 64 +-
.../views/CRUD/data/dataset/DatasetList.test.jsx | 12 +-
.../src/views/CRUD/data/dataset/DatasetList.tsx | 70 +-
.../src/views/CRUD/data/dataset/types.ts | 3 +-
.../src/views/CRUD/data/query/QueryList.tsx | 10 +-
.../views/CRUD/data/query/QueryPreviewModal.tsx | 20 +-
.../CRUD/data/savedquery/SavedQueryList.test.jsx | 16 +-
.../views/CRUD/data/savedquery/SavedQueryList.tsx | 17 +-
.../data/savedquery/SavedQueryPreviewModal.tsx | 129 +-
superset-frontend/src/views/CRUD/hooks.ts | 14 +-
superset-frontend/src/views/CRUD/utils.tsx | 71 +-
.../src/views/CRUD/welcome/ChartTable.tsx | 6 +-
.../src/views/CRUD/welcome/DashboardTable.tsx | 7 +-
.../src/views/CRUD/welcome/SavedQueries.tsx | 2 +-
.../src/views/CRUD/welcome/Welcome.tsx | 2 +-
superset-frontend/src/views/menu.tsx | 7 +-
superset-frontend/src/views/store.ts | 9 +-
.../src/visualizations/FilterBox/FilterBox.less | 2 +-
.../FilterBox/FilterBoxChartPlugin.js | 5 +-
.../TimeTable/TimeTableChartPlugin.js | 2 +-
superset-frontend/tsconfig.json | 2 +-
superset-frontend/webpack.config.js | 133 +-
superset-websocket/Dockerfile | 2 +-
superset-websocket/package-lock.json | 8654 +-
superset-websocket/package.json | 34 +-
superset-websocket/spec/index.test.ts | 30 +-
superset-websocket/src/index.ts | 2 +-
superset-websocket/utils/client-ws-app/app.js | 2 +-
.../utils/client-ws-app/package-lock.json | 1969 +-
.../utils/client-ws-app/package.json | 12 +-
.../client-ws-app/views/{error.jade => error.pug} | 0
.../client-ws-app/views/{index.jade => index.pug} | 0
.../views/{layout.jade => layout.pug} | 0
superset/annotation_layers/annotations/schemas.py | 22 +-
superset/annotation_layers/schemas.py | 2 +-
superset/charts/api.py | 339 +-
superset/charts/dao.py | 1 +
.../charts => superset/charts/data}/__init__.py | 0
superset/charts/data/api.py | 390 +
.../charts/{commands/data.py => data/commands.py} | 46 +-
.../charts/data/query_context_cache_loader.py | 20 +-
superset/charts/post_processing.py | 27 +-
superset/charts/schemas.py | 17 +-
superset/cli.py | 27 +-
superset/commands/exceptions.py | 22 +-
superset/commands/export.py | 6 +-
superset/commands/importers/v1/examples.py | 8 +-
.../common/chart_data.py | 36 +-
.../common/db_query_status.py | 26 +-
.../v1/utils.py => common/not_authrized_object.py} | 35 +-
superset/common/query_actions.py | 15 +-
superset/common/query_context.py | 69 +-
superset/common/query_object.py | 59 +-
.../common/request_contexed_based.py | 35 +-
superset/common/utils.py | 12 +-
superset/config.py | 24 +-
superset/connectors/base/models.py | 43 +-
superset/connectors/druid/models.py | 4 +-
superset/connectors/sqla/models.py | 276 +-
superset/connectors/sqla/views.py | 9 +
superset/constants.py | 2 +-
superset/dao/base.py | 35 +
superset/dashboards/commands/exceptions.py | 11 +-
.../dashboards/filter_sets}/__init__.py | 0
superset/dashboards/filter_sets/api.py | 387 +
.../dashboards/filter_sets/commands}/__init__.py | 0
superset/dashboards/filter_sets/commands/base.py | 91 +
superset/dashboards/filter_sets/commands/create.py | 78 +
superset/dashboards/filter_sets/commands/delete.py | 56 +
.../dashboards/filter_sets/commands/exceptions.py | 94 +
superset/dashboards/filter_sets/commands/update.py | 56 +
.../dashboards/filter_sets/consts.py | 26 +-
superset/dashboards/filter_sets/dao.py | 64 +
superset/dashboards/filter_sets/filters.py | 58 +
superset/dashboards/filter_sets/schemas.py | 93 +
superset/databases/api.py | 19 +-
superset/databases/commands/export.py | 17 +-
superset/databases/commands/importers/v1/utils.py | 7 +
superset/databases/dao.py | 10 +-
superset/databases/schemas.py | 54 +-
superset/datasets/api.py | 3 +-
superset/datasets/commands/importers/v1/utils.py | 16 +-
superset/datasets/commands/update.py | 4 +-
superset/datasets/dao.py | 29 +-
superset/datasets/schemas.py | 2 +
superset/db_engine_specs/__init__.py | 11 +-
superset/db_engine_specs/ascend.py | 2 +-
superset/db_engine_specs/athena.py | 2 +-
superset/db_engine_specs/base.py | 12 +-
superset/db_engine_specs/bigquery.py | 140 +-
superset/db_engine_specs/clickhouse.py | 4 +-
superset/db_engine_specs/crate.py | 2 +-
superset/db_engine_specs/databricks.py | 25 +-
superset/db_engine_specs/db2.py | 2 +-
superset/db_engine_specs/dremio.py | 2 +-
superset/db_engine_specs/drill.py | 22 +-
superset/db_engine_specs/druid.py | 55 +-
superset/db_engine_specs/exasol.py | 2 +-
.../db_engine_specs/{impala.py => firebolt.py} | 45 +-
superset/db_engine_specs/gsheets.py | 23 +-
superset/db_engine_specs/hana.py | 2 +-
superset/db_engine_specs/hive.py | 13 +-
superset/db_engine_specs/impala.py | 2 +-
superset/db_engine_specs/kylin.py | 2 +-
superset/db_engine_specs/mssql.py | 29 +-
superset/db_engine_specs/mysql.py | 2 +-
superset/db_engine_specs/netezza.py | 2 +-
superset/db_engine_specs/oracle.py | 2 +-
superset/db_engine_specs/pinot.py | 4 +-
superset/db_engine_specs/postgres.py | 4 +-
superset/db_engine_specs/presto.py | 4 +-
superset/db_engine_specs/rockset.py | 2 +-
superset/db_engine_specs/snowflake.py | 124 +-
superset/db_engine_specs/sqlite.py | 2 +-
superset/db_engine_specs/teradata.py | 2 +-
superset/db_engine_specs/trino.py | 2 +-
superset/errors.py | 6 +
superset/examples/bart_lines.py | 9 +-
superset/examples/birth_names.py | 55 +-
.../examples/configs/charts/Quarterly_Sales.yaml | 2 +-
.../charts/Quarterly_Sales_By_Product_Line.yaml | 2 +-
.../dashboards/COVID_Vaccine_Dashboard.yaml | 2 +-
superset/examples/country_map.py | 9 +-
superset/examples/energy.py | 9 +-
superset/examples/flights.py | 9 +-
superset/examples/long_lat.py | 9 +-
superset/examples/multiformat_time_series.py | 9 +-
superset/examples/paris.py | 9 +-
superset/examples/random_time_series.py | 9 +-
superset/examples/sf_population_polygons.py | 9 +-
superset/examples/utils.py | 2 +-
superset/examples/world_bank.py | 11 +-
superset/exceptions.py | 25 +-
superset/initialization/__init__.py | 12 +-
superset/jinja_context.py | 8 +
...e5f1dacd_rename_to_schemas_allowed_for_file_.py | 89 +
...1091c0ef16_add_extra_column_to_columns_model.py | 33 +-
.../32646df09c64_update_time_grain_sqla.py | 72 +
.../versions/3ebe0993c770_filterset_table.py | 56 +
...453f4e2e_migrate_timeseries_limit_metric_to_.py | 74 +
.../versions/b92d69a6643c_rename_csv_to_file.py | 69 +
superset/models/core.py | 20 +-
superset/models/dashboard.py | 35 +
superset/models/filter_set.py | 106 +
superset/models/helpers.py | 32 +-
superset/models/slice.py | 13 +
superset/models/sql_lab.py | 10 +-
superset/reports/commands/execute.py | 4 +-
superset/reports/schemas.py | 13 +-
superset/result_set.py | 4 +-
superset/security/manager.py | 6 +-
superset/sql_lab.py | 33 +-
superset/sql_parse.py | 33 +-
superset/sqllab/command.py | 410 +-
superset/sqllab/exceptions.py | 100 +
superset/sqllab/execution_context_convertor.py | 67 +
.../sqllab/limiting_factor.py | 15 +-
superset/sqllab/query_render.py | 153 +
superset/sqllab/sql_json_executer.py | 207 +
.../{utils => sqllab}/sqllab_execution_context.py | 11 +-
superset/sqllab/utils.py | 47 +
.../database.py => superset/sqllab/validators.py | 21 +-
superset/tasks/async_queries.py | 23 +-
superset/tasks/cron_util.py | 14 +-
superset/translations/de/LC_MESSAGES/messages.json | 8 +-
superset/translations/de/LC_MESSAGES/messages.po | 6 +-
superset/translations/en/LC_MESSAGES/messages.json | 8 +-
superset/translations/en/LC_MESSAGES/messages.po | 6 +-
superset/translations/es/LC_MESSAGES/messages.json | 8 +-
superset/translations/es/LC_MESSAGES/messages.po | 6 +-
superset/translations/fr/LC_MESSAGES/messages.json | 4066 +-
superset/translations/fr/LC_MESSAGES/messages.po | 11290 +-
superset/translations/it/LC_MESSAGES/messages.json | 8 +-
superset/translations/it/LC_MESSAGES/messages.po | 6 +-
superset/translations/ja/LC_MESSAGES/messages.json | 8 +-
superset/translations/ja/LC_MESSAGES/messages.po | 6 +-
superset/translations/ko/LC_MESSAGES/messages.json | 8 +-
superset/translations/ko/LC_MESSAGES/messages.po | 6 +-
superset/translations/messages.pot | 6 +-
superset/translations/pt/LC_MESSAGES/message.json | 8 +-
superset/translations/pt/LC_MESSAGES/message.po | 6 +-
superset/translations/pt/LC_MESSAGES/messages.json | 2 +-
.../translations/pt_BR/LC_MESSAGES/messages.json | 10 +-
.../translations/pt_BR/LC_MESSAGES/messages.po | 10 +-
superset/translations/ru/LC_MESSAGES/messages.json | 8 +-
superset/translations/ru/LC_MESSAGES/messages.po | 6 +-
superset/translations/sl/LC_MESSAGES/messages.json | 10 +-
superset/translations/sl/LC_MESSAGES/messages.po | 10 +-
superset/translations/zh/LC_MESSAGES/messages.json | 12 +-
superset/translations/zh/LC_MESSAGES/messages.po | 12 +-
superset/typing.py | 8 +
superset/utils/core.py | 105 +-
superset/utils/date_parser.py | 9 +-
superset/utils/memoized.py | 4 +-
superset/utils/pandas_postprocessing.py | 69 +-
superset/utils/webdriver.py | 17 +-
superset/views/base.py | 8 +-
superset/views/core.py | 156 +-
superset/views/dashboard/views.py | 12 +-
superset/views/database/forms.py | 136 +-
superset/views/database/mixins.py | 12 +-
superset/views/database/validators.py | 6 +-
superset/views/database/views.py | 30 +-
superset/views/redirects.py | 2 +-
superset/views/utils.py | 3 +-
superset/viz.py | 165 +-
tests/integration_tests/access_tests.py | 32 +-
.../annotation_layers/api_tests.py | 89 +-
.../annotation_layers/fixtures.py | 1 +
tests/integration_tests/base_tests.py | 6 +-
tests/integration_tests/cache_tests.py | 2 +-
tests/integration_tests/cachekeys/api_tests.py | 10 +-
tests/integration_tests/celery_tests.py | 6 +-
tests/integration_tests/charts/api_tests.py | 833 +-
.../charts/data}/__init__.py | 0
tests/integration_tests/charts/data/api_tests.py | 849 +
tests/integration_tests/cli_tests.py | 150 +
tests/integration_tests/core_tests.py | 22 +-
tests/integration_tests/csv_upload_tests.py | 111 +-
tests/integration_tests/dashboard_utils.py | 3 +
.../dashboards/filter_sets}/__init__.py | 0
.../dashboards/filter_sets/conftest.py | 322 +
.../dashboards/filter_sets/consts.py | 18 +-
.../dashboards/filter_sets/create_api_tests.py | 630 +
.../dashboards/filter_sets/delete_api_tests.py | 210 +
.../dashboards/filter_sets/get_api_tests.py | 130 +
.../dashboards/filter_sets/update_api_tests.py | 520 +
.../dashboards/filter_sets/utils.py | 102 +
.../dashboards/superset_factory_util.py | 48 +-
tests/integration_tests/databases/api_tests.py | 33 +-
.../integration_tests/databases/commands_tests.py | 45 +-
tests/integration_tests/datasets/api_tests.py | 33 +-
tests/integration_tests/datasets/commands_tests.py | 7 +-
tests/integration_tests/datasource_tests.py | 20 +-
.../db_engine_specs/base_engine_spec_tests.py | 40 +-
.../db_engine_specs/bigquery_tests.py | 48 +-
.../db_engine_specs/druid_tests.py | 6 +-
.../db_engine_specs/firebolt_tests.py | 39 +
.../db_engine_specs/mssql_tests.py | 2 +-
.../fixtures/birth_names_dashboard.py | 13 +-
tests/integration_tests/fixtures/database.py | 2 +-
tests/integration_tests/fixtures/dataframes.py | 16 +
tests/integration_tests/fixtures/datasource.py | 8 +-
.../fixtures/world_bank_dashboard.py | 7 +-
tests/integration_tests/import_export_tests.py | 84 +-
tests/integration_tests/jinja_context_tests.py | 5 +
tests/integration_tests/model_tests.py | 39 +-
.../pandas_postprocessing_tests.py | 130 +-
tests/integration_tests/queries/api_tests.py | 3 +-
tests/integration_tests/query_context_tests.py | 110 +-
tests/integration_tests/reports/api_tests.py | 33 +
tests/integration_tests/reports/commands_tests.py | 3 +-
tests/integration_tests/security_tests.py | 9 +-
tests/integration_tests/sqla_models_tests.py | 108 +-
tests/integration_tests/sqllab_tests.py | 29 +-
tests/integration_tests/superset_test_config.py | 2 +-
.../integration_tests/tasks/async_queries_tests.py | 4 +-
tests/integration_tests/utils/date_parser_tests.py | 4 +
tests/integration_tests/utils_tests.py | 45 +-
.../annotation_layers/fixtures.py} | 14 +-
tests/unit_tests/annotation_layers/schema_tests.py | 157 +
tests/unit_tests/charts/test_post_processing.py | 56 +-
tests/unit_tests/core_tests.py | 4 -
tests/unit_tests/db_engine_specs/test_bigquery.py | 147 +
tests/unit_tests/db_engine_specs/test_drill.py | 67 +
tests/unit_tests/db_engine_specs/test_gsheets.py | 6 +-
tests/unit_tests/sql_parse_tests.py | 93 +
tests/unit_tests/tasks/test_cron_util.py | 38 +
1147 files changed, 104482 insertions(+), 91892 deletions(-)
create mode 100644 docs/src/pages/docs/Connecting to Databases/databricks.mdx
create mode 100644 docs/src/pages/docs/Connecting to Databases/firebolt.mdx
copy RELEASING/Dockerfile.make_docs => scripts/ci_check_npm_lock_version.sh (68%)
mode change 100644 => 100755
create mode 100644 superset-frontend/cypress-base/cypress/support/directories.ts
delete mode 100644 superset-frontend/spec/javascripts/components/CachedLabel_spec.jsx
delete mode 100644 superset-frontend/spec/javascripts/components/ColumnTypeLabel_spec.jsx
copy superset-frontend/spec/javascripts/dashboard/components/{MissingChart_spec.jsx => MissingChart_spec.tsx} (56%)
delete mode 100644 superset-frontend/spec/javascripts/dashboard/components/RefreshIntervalModal_spec.jsx
create mode 100644 superset-frontend/spec/javascripts/dashboard/components/RefreshIntervalModal_spec.tsx
rename superset-frontend/spec/javascripts/dashboard/components/menu/{HoverMenu_spec.jsx => HoverMenu_spec.tsx} (100%)
copy superset-frontend/spec/javascripts/dashboard/components/resizable/{ResizableContainer_spec.jsx => ResizableContainer_spec.tsx} (50%)
rename superset-frontend/spec/javascripts/dashboard/components/resizable/{ResizableHandle_spec.jsx => ResizableHandle_spec.tsx} (68%)
delete mode 100644 superset-frontend/spec/javascripts/datasource/DatasourceEditor_spec.jsx
rename superset-frontend/spec/javascripts/explore/components/{AggregateOption_spec.jsx => AggregateOption_spec.tsx} (81%)
rename superset-frontend/spec/javascripts/explore/components/{CheckboxControl_spec.jsx => CheckboxControl_spec.tsx} (61%)
delete mode 100644 superset-frontend/spec/javascripts/explore/components/ColorPickerControl_spec.jsx
create mode 100644 superset-frontend/spec/javascripts/explore/components/ColorPickerControl_spec.tsx
delete mode 100644 superset-frontend/spec/javascripts/messageToasts/.eslintrc
rename superset-frontend/{spec/javascripts/sqllab/actions/sqlLab_spec.js => src/SqlLab/actions/sqlLab.test.js} (96%)
rename superset-frontend/src/SqlLab/components/{AceEditorWrapper.tsx => AceEditorWrapper/index.tsx} (95%)
rename superset-frontend/{spec/javascripts/sqllab/App_spec.jsx => src/SqlLab/components/App/App.test.jsx} (100%)
rename superset-frontend/src/SqlLab/components/{App.jsx => App/index.jsx} (84%)
rename superset-frontend/{spec/javascripts/sqllab/ColumnElement_spec.tsx => src/SqlLab/components/ColumnElement/ColumnElement.test.tsx} (97%)
rename superset-frontend/src/SqlLab/components/{ColumnElement.tsx => ColumnElement/index.tsx} (100%)
rename superset-frontend/src/SqlLab/components/{EstimateQueryCostButton.jsx => EstimateQueryCostButton/index.jsx} (94%)
rename superset-frontend/src/SqlLab/components/{ExploreCtasResultsButton.jsx => ExploreCtasResultsButton/index.jsx} (98%)
rename superset-frontend/{spec/javascripts/sqllab/ExploreResultsButton_spec.jsx => src/SqlLab/components/ExploreResultsButton/ExploreResultsButton.test.jsx} (98%)
rename superset-frontend/src/SqlLab/components/{ExploreResultsButton.jsx => ExploreResultsButton/index.jsx} (97%)
rename superset-frontend/{spec/javascripts/sqllab/HighlightedSql_spec.jsx => src/SqlLab/components/HighlightedSql/HighlightedSql.test.jsx} (100%)
rename superset-frontend/src/SqlLab/components/{HighlightedSql.tsx => HighlightedSql/index.tsx} (98%)
rename superset-frontend/{spec/javascripts/sqllab/QueryAutoRefresh_spec.jsx => src/SqlLab/components/QueryAutoRefresh/QueryAutoRefresh.test.jsx} (96%)
rename superset-frontend/src/SqlLab/components/{QueryAutoRefresh.jsx => QueryAutoRefresh/index.jsx} (98%)
rename superset-frontend/src/SqlLab/components/{QueryHistory.tsx => QueryHistory/index.tsx} (93%)
rename superset-frontend/{spec/javascripts/sqllab/QuerySearch_spec.jsx => src/SqlLab/components/QuerySearch/QuerySearch.test.jsx} (99%)
rename superset-frontend/src/SqlLab/components/{QuerySearch.tsx => QuerySearch/index.tsx} (95%)
rename superset-frontend/{spec/javascripts/sqllab/QueryStateLabel_spec.jsx => src/SqlLab/components/QueryStateLabel/QueryStateLabel.test.jsx} (100%)
rename superset-frontend/src/SqlLab/components/{QueryStateLabel.tsx => QueryStateLabel/index.tsx} (92%)
rename superset-frontend/{spec/javascripts/sqllab/QueryTable_spec.jsx => src/SqlLab/components/QueryTable/QueryTable.test.jsx} (94%)
rename superset-frontend/{spec/javascripts/sqllab/ResultSet_spec.jsx => src/SqlLab/components/ResultSet/ResultSet.test.jsx} (98%)
rename superset-frontend/src/SqlLab/components/{ResultSet.tsx => ResultSet/index.tsx} (91%)
rename superset-frontend/src/SqlLab/components/{RunQueryActionButton.tsx => RunQueryActionButton/index.tsx} (100%)
rename superset-frontend/{spec/javascripts/sqllab/SaveDatasetModal_spec.tsx => src/SqlLab/components/SaveDatasetModal/SaveDatasetModal.test.tsx} (100%)
rename superset-frontend/src/SqlLab/components/{SaveDatasetModal.tsx => SaveDatasetModal/index.tsx} (100%)
rename superset-frontend/{spec/javascripts/sqllab/SaveQuery_spec.jsx => src/SqlLab/components/SaveQuery/SaveQuery.test.jsx} (100%)
rename superset-frontend/src/SqlLab/components/{SaveQuery.tsx => SaveQuery/index.tsx} (100%)
rename superset-frontend/src/SqlLab/components/{ => ScheduleQueryButton}/ScheduleQueryButton.less (100%)
rename superset-frontend/src/SqlLab/components/{ScheduleQueryButton.tsx => ScheduleQueryButton/index.tsx} (100%)
rename superset-frontend/{spec/javascripts/sqllab/ShareSqlLabQuery_spec.jsx => src/SqlLab/components/ShareSqlLabQuery/ShareSqlLabQuery.test.jsx} (100%)
rename superset-frontend/src/SqlLab/components/{ShareSqlLabQuery.tsx => ShareSqlLabQuery/index.tsx} (92%)
rename superset-frontend/src/SqlLab/components/{ShowSQL.tsx => ShowSQL/index.tsx} (93%)
rename superset-frontend/{spec/javascripts/sqllab/SouthPane_spec.jsx => src/SqlLab/components/SouthPane/SouthPane.test.jsx} (98%)
rename superset-frontend/src/SqlLab/components/SouthPane/{SouthPane.tsx => index.tsx} (100%)
rename superset-frontend/{spec/javascripts/sqllab/SqlEditor_spec.jsx => src/SqlLab/components/SqlEditor/SqlEditor.test.jsx} (95%)
rename superset-frontend/src/SqlLab/components/{SqlEditor.jsx => SqlEditor/index.jsx} (95%)
rename superset-frontend/{spec/javascripts/sqllab/SqlEditorLeftBar_spec.jsx => src/SqlLab/components/SqlEditorLeftBar/SqlEditorLeftBar.test.jsx} (89%)
rename superset-frontend/src/SqlLab/components/{SqlEditorLeftBar.jsx => SqlEditorLeftBar/index.jsx} (95%)
rename superset-frontend/{spec/javascripts/sqllab/TabStatusIcon_spec.jsx => src/SqlLab/components/TabStatusIcon/TabStatusIcon.test.jsx} (100%)
rename superset-frontend/src/SqlLab/components/{TabStatusIcon.tsx => TabStatusIcon/index.tsx} (95%)
rename superset-frontend/{spec/javascripts/sqllab/TabbedSqlEditors_spec.jsx => src/SqlLab/components/TabbedSqlEditors/TabbedSqlEditors.test.jsx} (99%)
rename superset-frontend/src/SqlLab/components/{TabbedSqlEditors.jsx => TabbedSqlEditors/index.jsx} (98%)
rename superset-frontend/{spec/javascripts/sqllab/TableElement_spec.jsx => src/SqlLab/components/TableElement/TableElement.test.jsx} (98%)
rename superset-frontend/src/SqlLab/components/{TableElement.tsx => TableElement/index.tsx} (95%)
rename superset-frontend/{spec/javascripts/sqllab/TemplateParamsEditor_spec.tsx => src/SqlLab/components/TemplateParamsEditor/TemplateParamsEditor.test.tsx} (96%)
rename superset-frontend/src/SqlLab/components/{TemplateParamsEditor.tsx => TemplateParamsEditor/index.tsx} (100%)
rename superset-frontend/{spec/javascripts/sqllab => src/SqlLab}/fixtures.ts (100%)
rename superset-frontend/{spec/javascripts/sqllab/reducers/sqlLab_spec.js => src/SqlLab/reducers/sqlLab.test.js} (99%)
rename superset-frontend/{spec/javascripts/sqllab/utils/emptyQueryResults_spec.js => src/SqlLab/utils/emptyQueryResults.test.js} (100%)
delete mode 100644 superset-frontend/src/api/dataset.ts
rename superset-frontend/{ => src/assets}/images/apache-kylin.png (100%)
rename superset-frontend/{ => src/assets}/images/apache_feather.png (100%)
rename superset-frontend/{ => src/assets}/images/babies.png (100%)
rename superset-frontend/{ => src/assets}/images/bubble.png (100%)
rename superset-frontend/{ => src/assets}/images/chart-card-fallback.svg (100%)
rename superset-frontend/{ => src/assets}/images/clickhouse.png (100%)
rename superset-frontend/{ => src/assets}/images/cloud.png (100%)
rename superset-frontend/{ => src/assets}/images/create_role.png (100%)
rename superset-frontend/{ => src/assets}/images/dash.png (100%)
rename superset-frontend/{ => src/assets}/images/dashboard-card-fallback.svg (100%)
rename superset-frontend/{ => src/assets}/images/db2.png (100%)
rename superset-frontend/{ => src/assets}/images/druid.png (100%)
rename superset-frontend/{ => src/assets}/images/druid_agg.png (100%)
rename superset-frontend/{ => src/assets}/images/empty-charts.svg (100%)
rename superset-frontend/{ => src/assets}/images/empty-dashboard.svg (100%)
rename superset-frontend/{ => src/assets}/images/empty-queries.svg (100%)
rename superset-frontend/{ => src/assets}/images/empty-query.svg (100%)
rename superset-frontend/{ => src/assets}/images/empty.svg (100%)
rename superset-frontend/{ => src/assets}/images/error404.png (100%)
rename superset-frontend/{ => src/assets}/images/error500.png (100%)
rename superset-frontend/{ => src/assets}/images/exasol.png (100%)
rename superset-frontend/{ => src/assets}/images/favicon.png (100%)
rename superset-frontend/{ => src/assets}/images/firebird.png (100%)
rename superset-frontend/{ => src/assets}/images/google-biquery.png (100%)
rename superset-frontend/{ => src/assets}/images/greenplum.png (100%)
rename superset-frontend/{ => src/assets}/images/hologres.png (100%)
rename superset-frontend/{ => src/assets}/images/icons/alert.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/alert_solid.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/alert_solid_small.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/ballot.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/binoculars.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/bolt.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/bolt_small.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/bolt_small_run.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/calendar.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/cancel-x.svg (97%)
rename superset-frontend/{ => src/assets}/images/icons/cancel.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/cancel_solid.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/card_view.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/cards.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/cards_locked.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/caret_down.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/caret_left.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/caret_right.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/caret_up.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/category.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/certified.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/check.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/checkbox-half.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/checkbox-off.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/checkbox-on.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/circle.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/circle_check.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/circle_check_solid.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/clock.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/close.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/code.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/cog.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/collapse.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/color_palette.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/components.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/copy.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/cross-filter-badge.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/cursor_target.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/database.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/dataset_physical.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/dataset_virtual.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/dataset_virtual_greyscale.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/default_db_image.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/download.svg (100%)
create mode 100644 superset-frontend/src/assets/images/icons/drag.svg
rename superset-frontend/{ => src/assets}/images/icons/edit.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/edit_alt.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/email.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/error.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/error_solid.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/error_solid_small.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/error_solid_small_red.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/exclamation.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/expand.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/eye.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/eye_slash.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/favorite-selected.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/favorite-unselected.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/favorite_small_selected.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/field_abc.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/field_boolean.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/field_date.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/field_derived.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/field_num.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/field_struct.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/file.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/filter.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/filter_small.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/folder.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/full.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/function_x.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/gear.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/grid.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/image.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/import.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/info-solid.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/info.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/info_solid_small.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/join.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/keyboard.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/layers.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/lightbulb.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/link.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/list.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/list_view.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/location.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/lock_locked.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/lock_unlocked.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/map.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/message.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/minus.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/minus_solid.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/more_horiz.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/more_vert.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/move.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/nav_charts.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/nav_dashboard.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/nav_data.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/nav_explore.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/nav_home.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/nav_lab.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/note.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/offline.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/paperclip.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/placeholder.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/plus.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/plus_large.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/plus_small.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/plus_solid.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/queued.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/refresh.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/running.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/save.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/search.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/server.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/share.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/slack.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/sort.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/sort_asc.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/sort_desc.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/sql.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/table.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/tag.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/tags.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/transparent.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/trash.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/triangle_change.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/triangle_down.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/triangle_up.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/up-level.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/user.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/warning.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/warning_solid.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/x-large.svg (100%)
rename superset-frontend/{ => src/assets}/images/icons/x-small.svg (100%)
rename superset-frontend/{ => src/assets}/images/loading.gif (100%)
rename superset-frontend/{ => src/assets}/images/mariadb.png (100%)
rename superset-frontend/{ => src/assets}/images/monet-db.png (100%)
rename superset-frontend/{ => src/assets}/images/mssql-server.png (100%)
rename superset-frontend/{ => src/assets}/images/mysql.png (100%)
rename superset-frontend/{ => src/assets}/images/netezza.png (100%)
rename superset-frontend/{ => src/assets}/images/noimg.png (100%)
rename superset-frontend/{ => src/assets}/images/oracle.png (100%)
rename superset-frontend/{ => src/assets}/images/postgresql.png (100%)
rename superset-frontend/{ => src/assets}/images/presto.png (100%)
rename superset-frontend/{ => src/assets}/images/redshift.png (100%)
rename superset-frontend/{ => src/assets}/images/s.png (100%)
rename superset-frontend/{ => src/assets}/images/screenshots/bank_dash.png (100%)
rename superset-frontend/{ => src/assets}/images/screenshots/deckgl_dash.png (100%)
rename superset-frontend/{ => src/assets}/images/screenshots/explore.jpg (100%)
rename superset-frontend/{ => src/assets}/images/screenshots/explore.png (100%)
create mode 100644 superset-frontend/src/assets/images/screenshots/explore_visualizations.jpg
rename superset-frontend/{ => src/assets}/images/screenshots/gallery.jpg (100%)
rename superset-frontend/{ => src/assets}/images/screenshots/gallery.png (100%)
rename superset-frontend/{ => src/assets}/images/screenshots/geospatial_dash.jpg (100%)
rename superset-frontend/{ => src/assets}/images/screenshots/slack_dash.jpg (100%)
rename superset-frontend/{ => src/assets}/images/screenshots/sql_lab.jpg (100%)
rename superset-frontend/{ => src/assets}/images/screenshots/sqllab.png (100%)
create mode 100644 superset-frontend/src/assets/images/screenshots/visualizations.png
rename superset-frontend/{ => src/assets}/images/snowflake.png (100%)
rename superset-frontend/{ => src/assets}/images/sqlite.png (100%)
rename superset-frontend/{ => src/assets}/images/star-circle.svg (100%)
rename superset-frontend/{ => src/assets}/images/superset-logo-horiz.png (100%)
rename superset-frontend/{ => src/assets}/images/superset.png (100%)
rename superset-frontend/{ => src/assets}/images/superset_screenshot.png (100%)
rename superset-frontend/{ => src/assets}/images/sybase.png (100%)
rename superset-frontend/{ => src/assets}/images/trino.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/add_db.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_01_sources_database.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_02_add_database.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_03_database_name.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_04_sqlalchemy_connection_string.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_05_connection_popup.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_06_list_of_tables.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_07_save_button.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_08_sources_tables.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_09_add_new_table.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_10_table_name.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_11_choose_db.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_12_table_creation_success_msg.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_13_edit_table_config.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_14_field_config.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_15_click_table_name.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_16_datasource_chart_type.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_17_choose_time_range.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_18_choose_metric.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_19_click_query.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_20_count_star_result.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_21_group_by.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_22_group_by_result.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_23_group_by_more_dimensions.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_24_max_metric.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_25_max_temp_filter.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_26_row_limit.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_27_top_10_max_temps.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_28_bar_chart.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_29_bar_chart_series_metrics.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_30_bar_chart_results.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_31_save_slice_to_dashboard.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_32_save_slice_confirmation.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_33_dashboard.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_34_weather_dashboard.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_35_slice_on_dashboard.png (100%)
rename superset-frontend/{ => src/assets}/images/tutorial/tutorial_36_adjust_dimensions.gif (100%)
rename superset-frontend/{ => src/assets}/images/union.png (100%)
rename superset-frontend/{ => src/assets}/images/union.svg (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/add_new_chart.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/advanced_analytics_base.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/annotation.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/annotation_settings.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/average_aggregate_for_cost.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/blue_bar_insert_component.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/chose_a_datasource.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/csv_to_database_configuration.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/edit-record.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/edit_annotation.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/filter_on_origin_country.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/markdown.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/no_filter_on_time_filter.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/parse_dates_column.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/publish_dashboard.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/resample.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/resize_tutorial_table_on_dashboard.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/rolling_mean.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/save_tutorial_table.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/select_dates_pivot_table.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/select_table_visualization_type.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/sum_cost_column.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/time_comparison_absolute_difference.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/time_comparison_two_series.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/tutorial_line_chart.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/tutorial_pivot_table.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/tutorial_table.png (100%)
rename superset-frontend/{ => src/assets}/images/usertutorial/upload_a_csv.png (100%)
rename superset-frontend/{ => src/assets}/images/vertica.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/area.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/bar.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/big_number.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/big_number_total.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/box_plot.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/bubble.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/bullet.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/cal_heatmap.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/chord.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/compare.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/country_map.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/deck_arc.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/deck_geojson.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/deck_grid.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/deck_hex.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/deck_multi.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/deck_path.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/deck_polygon.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/deck_scatter.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/deck_screengrid.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/directed_force.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/dist_bar.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/dual_line.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/event_flow.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/filter_box.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/heatmap.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/histogram.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/horizon.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/iframe.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/line.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/line_multi.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/mapbox.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/markup.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/multi.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/paired_ttest.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/para.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/partition.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/pie.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/pivot_table.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/rose.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/sankey.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/separator.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/sunburst.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/table.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/time_pivot.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/time_table.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/treemap.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/word_cloud.png (100%)
rename superset-frontend/{ => src/assets}/images/viz_thumbnails/world_map.png (100%)
rename superset-frontend/{ => src/assets}/stylesheets/antd/index.less (100%)
rename superset-frontend/{ => src/assets}/stylesheets/less/cosmo/bootswatch.less (100%)
rename superset-frontend/{ => src/assets}/stylesheets/less/cosmo/cosmoTheme.js (99%)
rename superset-frontend/{ => src/assets}/stylesheets/less/cosmo/variables.less (100%)
rename superset-frontend/{ => src/assets}/stylesheets/less/fonts.less (100%)
rename superset-frontend/{ => src/assets}/stylesheets/less/index.less (100%)
rename superset-frontend/{ => src/assets}/stylesheets/less/variables.less (100%)
rename superset-frontend/{ => src/assets}/stylesheets/reactable-pagination.less (97%)
rename superset-frontend/{ => src/assets}/stylesheets/superset.less (100%)
delete mode 100644 superset-frontend/src/components/ChartIcon/index.tsx
rename superset-frontend/{spec/javascripts/datasource/ChangeDatasourceModal_spec.jsx => src/components/Datasource/ChangeDatasourceModal.test.jsx} (98%)
rename superset-frontend/src/{datasource => components/Datasource}/ChangeDatasourceModal.tsx (98%)
rename superset-frontend/src/{datasource => components/Datasource}/DatasourceEditor.jsx (83%)
create mode 100644 superset-frontend/src/components/Datasource/DatasourceEditor.test.jsx
rename superset-frontend/{spec/javascripts/datasource/DatasourceModal_spec.jsx => src/components/Datasource/DatasourceModal.test.jsx} (96%)
rename superset-frontend/src/{datasource => components/Datasource}/DatasourceModal.tsx (88%)
rename superset-frontend/src/components/{dataViewCommon/index.ts => Datasource/index.tsx} (83%)
copy superset-frontend/src/{explore/components/controls/DndColumnSelectControl/DndMetricSelect.test.tsx => components/ErrorMessage/DatasetNotFoundErrorMessage.test.tsx} (55%)
rename superset-frontend/{spec/javascripts/dashboard/components/resizable/ResizableContainer_spec.jsx => src/components/ErrorMessage/DatasetNotFoundErrorMessage.tsx} (61%)
rename superset-frontend/{spec/javascripts/messageToasts/components/Toast_spec.jsx => src/components/MessageToasts/Toast.test.jsx} (94%)
rename superset-frontend/src/{messageToasts/components => components/MessageToasts}/Toast.tsx (97%)
rename superset-frontend/src/{messageToasts/containers/ToastPresenter.jsx => components/MessageToasts/ToastContainer.jsx} (91%)
rename superset-frontend/{spec/javascripts/messageToasts/components/ToastPresenter_spec.jsx => src/components/MessageToasts/ToastPresenter.test.jsx} (90%)
rename superset-frontend/src/{messageToasts/components => components/MessageToasts}/ToastPresenter.tsx (97%)
rename superset-frontend/src/{messageToasts/actions/index.ts => components/MessageToasts/actions.ts} (98%)
rename superset-frontend/src/{messageToasts/utils => components/MessageToasts}/getToastsFromPyFlashMessages.js (93%)
rename superset-frontend/{spec/javascripts/messageToasts/utils/getToastsFromPyFlashMessages_spec.js => src/components/MessageToasts/getToastsFromPyFlashMessages.test.js} (90%)
rename superset-frontend/{spec/javascripts/messageToasts => src/components/MessageToasts}/mockMessageToasts.js (93%)
rename superset-frontend/src/{messageToasts/reducers/index.js => components/MessageToasts/reducers.js} (96%)
rename superset-frontend/{spec/javascripts/messageToasts/reducers/messageToasts_spec.js => src/components/MessageToasts/reducers.test.js} (90%)
rename superset-frontend/src/{messageToasts => components/MessageToasts}/types.ts (100%)
rename superset-frontend/src/{messageToasts/enhancers => components/MessageToasts}/withToasts.tsx (98%)
rename superset-frontend/src/components/Pagination/{Pagination.test.tsx => Wrapper.test.tsx} (86%)
copy superset-frontend/src/components/Pagination/{index.tsx => Wrapper.tsx} (100%)
delete mode 100644 superset-frontend/src/components/SearchInput/SearchInput.stories.tsx
delete mode 100644 superset-frontend/src/components/SearchInput/SearchInput.test.jsx
delete mode 100644 superset-frontend/src/components/SearchInput/index.tsx
rename superset-frontend/src/components/{dataViewCommon => TableCollection}/TableCollection.test.tsx (98%)
rename superset-frontend/src/components/{dataViewCommon/TableCollection.tsx => TableCollection/index.tsx} (100%)
delete mode 100644 superset-frontend/src/components/TableSelector/TableSelector.test.jsx
create mode 100644 superset-frontend/src/components/TableSelector/TableSelector.test.tsx
delete mode 100644 superset-frontend/src/components/dataViewCommon/Pagination.tsx
create mode 100644 superset-frontend/src/dashboard/components/FilterBoxMigrationModal.tsx
create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/DraggableFilter.tsx
create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterConfigPane.test.tsx
create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterConfigurePane.tsx
delete mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterTabs.tsx
create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterTitleContainer.tsx
create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterTitlePane.tsx
rename superset-frontend/{spec/javascripts/dashboard/components/MissingChart_spec.jsx => src/dashboard/reducers/dashboardState.test.ts} (57%)
delete mode 100644 superset-frontend/src/dashboard/stylesheets/hover-menu.less
create mode 100644 superset-frontend/src/dashboard/util/filterboxMigrationHelper.test.ts
create mode 100644 superset-frontend/src/dashboard/util/filterboxMigrationHelper.ts
rename superset-frontend/{spec/javascripts/datasource => src/explore/components/DatasourcePanel}/fixtures.tsx (100%)
create mode 100644 superset-frontend/src/explore/components/ExploreChartHeader/ExploreChartHeader.test.tsx
rename superset-frontend/src/explore/components/{ExploreChartHeader.jsx => ExploreChartHeader/index.jsx} (79%)
delete mode 100644 superset-frontend/src/explore/components/controls/ColorMapControl.jsx
create mode 100644 superset-frontend/src/explore/components/controls/ColorSchemeControl/ColorSchemeControl.test.tsx
rename superset-frontend/src/explore/components/controls/{ColorSchemeControl.jsx => ColorSchemeControl/index.jsx} (54%)
create mode 100644 superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndColumnSelectPopoverTitle.jsx
rename superset-frontend/src/explore/components/controls/{HiddenControl.jsx => HiddenControl.tsx} (69%)
delete mode 100644 superset-frontend/src/explore/components/controls/SelectAsyncControl/index.jsx
create mode 100644 superset-frontend/src/explore/components/controls/SelectAsyncControl/index.tsx
rename superset-frontend/{spec/javascripts/filters/utils_spec.ts => src/filters/utils.test.ts} (100%)
delete mode 100644 superset-frontend/src/messageToasts/constants.ts
rename superset-frontend/{spec/javascripts/middleware/asyncEvent_spec.ts => src/middleware/asyncEvent.test.ts} (100%)
rename superset-frontend/{spec/javascripts/middleware/logger_spec.js => src/middleware/logger.test.js} (100%)
rename superset-frontend/{spec/javascripts/modules/dates_spec.js => src/modules/dates.test.js} (100%)
rename superset-frontend/{spec/javascripts/modules/utils_spec.jsx => src/modules/utils.test.jsx} (100%)
rename superset-frontend/{spec/javascripts/profile/App_spec.tsx => src/profile/components/App.test.tsx} (100%)
rename superset-frontend/{spec/javascripts/profile/CreatedContent_spec.tsx => src/profile/components/CreatedContent.test.tsx} (100%)
rename superset-frontend/{spec/javascripts/profile/Favorites_spec.tsx => src/profile/components/Favorites.test.tsx} (100%)
rename superset-frontend/{spec/javascripts/profile/RecentActivity_spec.tsx => src/profile/components/RecentActivity.test.tsx} (100%)
rename superset-frontend/{spec/javascripts/profile/Security_spec.tsx => src/profile/components/Security.test.tsx} (100%)
rename superset-frontend/{spec/javascripts/profile/UserInfo_spec.tsx => src/profile/components/UserInfo.test.tsx} (100%)
rename superset-frontend/{spec/javascripts/profile => src/profile/components}/fixtures.tsx (100%)
rename superset-frontend/{spec/javascripts/showSavedQuery/utils_spec.jsx => src/showSavedQuery/utils.test.jsx} (100%)
create mode 100644 superset-frontend/src/views/CRUD/alert/AlertReportModal.test.tsx
delete mode 100644 superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx
create mode 100644 superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm/CommonParameters.tsx
create mode 100644 superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm/EncryptedField.tsx
create mode 100644 superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm/TableCatalog.tsx
create mode 100644 superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm/ValidatedInputField.tsx
create mode 100644 superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm/index.tsx
rename superset-websocket/utils/client-ws-app/views/{error.jade => error.pug} (100%)
rename superset-websocket/utils/client-ws-app/views/{index.jade => index.pug} (100%)
rename superset-websocket/utils/client-ws-app/views/{layout.jade => layout.pug} (100%)
copy {tests/unit_tests/charts => superset/charts/data}/__init__.py (100%)
create mode 100644 superset/charts/data/api.py
rename superset/charts/{commands/data.py => data/commands.py} (68%)
copy tests/integration_tests/fixtures/database.py => superset/charts/data/query_context_cache_loader.py (63%)
copy requirements/development.in => superset/common/chart_data.py (65%)
copy requirements/development.in => superset/common/db_query_status.py (69%)
copy superset/{databases/commands/importers/v1/utils.py => common/not_authrized_object.py} (52%)
copy requirements/development.in => superset/common/request_contexed_based.py (55%)
copy {tests/unit_tests/charts => superset/dashboards/filter_sets}/__init__.py (100%)
create mode 100644 superset/dashboards/filter_sets/api.py
copy {tests/unit_tests/charts => superset/dashboards/filter_sets/commands}/__init__.py (100%)
create mode 100644 superset/dashboards/filter_sets/commands/base.py
create mode 100644 superset/dashboards/filter_sets/commands/create.py
create mode 100644 superset/dashboards/filter_sets/commands/delete.py
create mode 100644 superset/dashboards/filter_sets/commands/exceptions.py
create mode 100644 superset/dashboards/filter_sets/commands/update.py
copy requirements/development.in => superset/dashboards/filter_sets/consts.py (66%)
create mode 100644 superset/dashboards/filter_sets/dao.py
create mode 100644 superset/dashboards/filter_sets/filters.py
create mode 100644 superset/dashboards/filter_sets/schemas.py
copy superset/db_engine_specs/{impala.py => firebolt.py} (59%)
create mode 100644 superset/migrations/versions/0ca9e5f1dacd_rename_to_schemas_allowed_for_file_.py
copy tests/integration_tests/fixtures/database.py => superset/migrations/versions/181091c0ef16_add_extra_column_to_columns_model.py (54%)
create mode 100644 superset/migrations/versions/32646df09c64_update_time_grain_sqla.py
create mode 100644 superset/migrations/versions/3ebe0993c770_filterset_table.py
create mode 100644 superset/migrations/versions/60dc453f4e2e_migrate_timeseries_limit_metric_to_.py
create mode 100644 superset/migrations/versions/b92d69a6643c_rename_csv_to_file.py
create mode 100644 superset/models/filter_set.py
create mode 100644 superset/sqllab/exceptions.py
create mode 100644 superset/sqllab/execution_context_convertor.py
copy tests/integration_tests/fixtures/database.py => superset/sqllab/limiting_factor.py (79%)
create mode 100644 superset/sqllab/query_render.py
create mode 100644 superset/sqllab/sql_json_executer.py
rename superset/{utils => sqllab}/sqllab_execution_context.py (95%)
create mode 100644 superset/sqllab/utils.py
copy tests/integration_tests/fixtures/database.py => superset/sqllab/validators.py (64%)
copy tests/{unit_tests/charts => integration_tests/charts/data}/__init__.py (100%)
create mode 100644 tests/integration_tests/charts/data/api_tests.py
copy tests/{unit_tests/charts => integration_tests/dashboards/filter_sets}/__init__.py (100%)
create mode 100644 tests/integration_tests/dashboards/filter_sets/conftest.py
copy requirements/development.in => tests/integration_tests/dashboards/filter_sets/consts.py (74%)
create mode 100644 tests/integration_tests/dashboards/filter_sets/create_api_tests.py
create mode 100644 tests/integration_tests/dashboards/filter_sets/delete_api_tests.py
create mode 100644 tests/integration_tests/dashboards/filter_sets/get_api_tests.py
create mode 100644 tests/integration_tests/dashboards/filter_sets/update_api_tests.py
create mode 100644 tests/integration_tests/dashboards/filter_sets/utils.py
create mode 100644 tests/integration_tests/db_engine_specs/firebolt_tests.py
copy tests/{integration_tests/fixtures/database.py => unit_tests/annotation_layers/fixtures.py} (78%)
create mode 100644 tests/unit_tests/annotation_layers/schema_tests.py
create mode 100644 tests/unit_tests/db_engine_specs/test_bigquery.py
create mode 100644 tests/unit_tests/db_engine_specs/test_drill.py
create mode 100644 tests/unit_tests/sql_parse_tests.py