You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2024/09/20 01:02:51 UTC
(superset) branch control-panel-2.0 updated (d3a8c8341b -> fd61123e41)
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch control-panel-2.0
in repository https://gitbox.apache.org/repos/asf/superset.git
discard d3a8c8341b first baby steps
add d49d79121c chore: trigger CI jobs on all release-related branches (#29274)
add 358e83a849 build(deps): bump ws from 8.17.0 to 8.17.1 in /superset-websocket (#29276)
add c7b8ae9013 build(deps): bump ws from 7.5.9 to 7.5.10 in /docs (#29275)
add ab7f8ad1bf docs: remove comment header in README.md (#29273)
add 527f1d20ad fix: filters not updating with force update when caching is enabled (#29291)
add 725afc3848 fix(sqllab): invalid empty state on switch tab (#29278)
add 4537ab6b1a fix(sqllab): excessive API calls for schemas (#29279)
add 796726376a chore: make flask-talisman work with test config (#29277)
add 9f70697046 chore: use json codec for key value lock (#29285)
add 188b5f4781 docs: add Agoda to users list (#29300)
add 36b1535199 chore(e2e): using updated repo secret, new Cypress project id (#29296)
add 99fc04b9a6 build(deps-dev): bump ws from 7.5.7 to 7.5.10 in /superset-embedded-sdk (#29308)
add 172ddb47d5 fix(metastore-cache): prune before add (#29301)
add 03969d5f90 chore(distributed-lock): refactor tests (#29302)
add 1770f8b783 fix(key-value): use flush instead of commit (#29286)
add 313ee596f5 fix(Dashboard): Color inconsistency on refreshes and conflicts (#27439)
add 70f6f5f3ef fix(ui): Disable ability to export data when user does not have the correct permission (#28429)
add a5355d86fc feat: Dashboard tabs api endpoint (#27962)
add 03143bf9ad chore(applitools): making tests more static for consistent testing (#28201)
add 6378ec5d69 feat(dashboard): Enables pivot table download option at dashboard level (#29123)
add 5e060cef7c feat: add new SQLLAB_FORCE_RUN_ASYNC feature flag (#29231)
add 514eda82fb fix: don't strip SQL comments in Explore - 2nd try (#28753)
add 118552d4d2 chore(e2e): more instructions for manual test runs. (#29319)
add 8c990adabe build(deps): bump deck.gl from 9.0.6 to 9.0.12 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#28296)
add 9444c6bd4b fix: Remove recursive repr call (#29314)
add 79d84f30f5 docs: update CVEs fixed on 4.0.1 and 3.1.3 (#29313)
add fe3ba12801 refactor: Adds the sort_by_metric control to sharedControls (#29325)
add 4fe04e63ac chore(e2e): simplify Cypress record key usage (#29327)
add 01ffc1227a docs: Update INTHEWILD.md with Bluesquare (#29337)
add ee5227733b fix: Cannot delete empty column inside a tab using the dashboard editor (#29346)
add 160cece017 fix(explore): restored hidden field values has discarded (#29349)
add 5ffa616d98 fix: actually write changes on "superset import-datasources" (#14817)
add 213fd69b2b chore: Rename Totals to Summary in table chart (#29360)
add 708afb7146 fix(revert 27883): Excess padding in horizontal Bar charts (#29345)
add d69363ef11 fix(tests): Ensure fixture is invoked (#29352)
add c12b4e9cba chore(tests): Cleanup Celery tests (#29355)
add f9f70e3e55 chore(tests): Fix MySQL logic (#29356)
add dffad48504 feat(build): uplift `Jest` to v29 (#29118)
add d74d3a87bb fix: default logging (#27777)
add b5a72e21f7 refactor(Homepage): Migrate Home.test to RTL (#29353)
add de6a518161 fix(Query): Parse html string error responses to avoid displaying raw HTML as error message (#29321)
add 58f33d227a fix(explore): don't respect y-axis formatting (#29367)
add c83d5b88e1 feat: Adds the ECharts Sankey chart (#29329)
add d4054e3d85 feat: Adds chart IDs option to migrate-viz (#29361)
add c49a6dfdef feat(e2e): implementing Cypress Dashboard on `master` branch merges (#29351)
add 731cfb1553 chore(tests): Mark TestConnectionDatabaseCommand as non-test related (#29366)
add 53450b7e2f fix(tox): Address issue with generative environment variables (#29368)
add 5948dac889 chore(ci): Start Celery worker as a background process (#29371)
add 466dda2b14 chore(security): Clean up session/commit logic (#29381)
add 9d405738c0 chore(tests): Remove unnecessary mock (#29386)
add 59d1eea4c8 ci: remove update repo on issue comment (#29388)
add 9c5c124155 docs: fix typo in docker compose doc (#29390)
add c70a9d0e67 fix(readme): changing video from mp4 to webm format (#29392)
add 2a587a771c feat: Add Ant Design 5 Theme (#29328)
add 66bc8ceddd chore(Table): Add aria-label to Table page size selector (#29391)
add ed3c66b6a6 chore(deps): bump scroll-into-view-if-needed from 2.2.28 to 3.1.0 in /superset-frontend (#28816)
add f128718d34 docs: fix typos (#29400)
add a3f0d00714 refactor(src/explore/comp/controls/metricControl): migrate Enzyme test to RTL syntax (#29380)
add 8fb8199a55 chore(dao/command): Add transaction decorator to try to enforce "unit of work" (#24969)
add e274925b2a chore(frontend): remove obsolete ESLint rules in tests (#29405)
add 5c9352fae4 docs: update INTHEWILD.md with bluquist (#29399)
add ba405bacbf docs: Update INTHEWILD.md with Aveti Learning (#29413)
add 179cf269c6 fix: SQL label missing for non-group-by queries (#29420)
add 42773b9b1c chore(deps): bump stream from 0.0.2 to 0.0.3 in /docs (#29431)
add cfe29406e5 chore(deps-dev): bump typescript from 5.4.5 to 5.5.2 in /docs (#29432)
add 5aac1b59b1 chore(deps): bump rehype-raw from 6.1.1 to 7.0.0 in /superset-frontend (#29433)
add 7727b9dc79 chore(deps-dev): bump eslint-import-resolver-typescript from 2.5.0 to 3.6.1 in /superset-frontend (#29435)
add 0cf676b574 chore(deps-dev): bump ts-jest from 29.1.2 to 29.1.5 in /superset-websocket (#29423)
add 7d6e933348 chore(key-value): convert command to dao (#29344)
add 028665030f chore: Added 10Web to the list of organizations that use Apache Superset (#29442)
add 446a3b22dc chore: move all GHAs to ubuntu-22.04 (#29447)
add 839ca82a19 chore(deps): bump react-markdown from 8.0.3 to 8.0.7 in /superset-frontend (#29439)
add 1e73820277 chore(deps): bump @algolia/client-search from 4.23.3 to 4.24.0 in /docs (#29428)
add cf031bbee4 chore(deps-dev): bump webpack from 5.91.0 to 5.92.1 in /docs (#29429)
add 7a0ae36c4a chore(deps): bump actions/checkout from 2 to 4 (#29434)
add 3449b8f9dc chore(deps-dev): update @types/lodash requirement from ^4.17.4 to ^4.17.6 in /superset-frontend/plugins/plugin-chart-handlebars (#29425)
add 7bb7fc0f49 chore(deps): bump deck.gl from 9.0.12 to 9.0.20 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#29426)
add 7f3c8efab0 fix(metastore-cache): import dao in methods (#29451)
add fb1f2c4f18 fix: re-add missing code from PR #28132 (#29446)
add d5c0506faa fix: OAuth2 in async DBs (#29461)
add 35da6ac270 fix: Dashboard hangs when initial filters cannot be loaded (#29456)
add 6b73b69b41 feat(CLI command): Apache Superset "Factory Reset" CLI command #27207 (#27221)
add 5231e86b6c docs(docker compose): fix step 4 list formatting (#29468)
add 48f6fe6d69 chore(i18n): Translated charts and filters into Russian (#29377)
add 145694d828 chore: run babel_update.sh to update po files (#29476)
add 4e861cf86e chore(utils): Support select_columns with getUserOwnedObjects and split recentActivityObjs (#29459)
add 6d2b3b8698 fix: Enable explore button on SQL Lab view when connected to Apache Pinot as a database (#28364)
add 0f60701995 chore(Home): Avoid firing API requests when a custom Home is used (#29493)
add d89648147f feat(dashboard): add API endpoints for generating and downloading screenshots (#29187)
add e768796491 refactor: Upgrade Card to Ant Design 5 (#29389)
add 241834205f fix: remove info from datasource access error (#29470)
add 0e0028260f fix: add more disallowed pg functions (#29454)
add ee72d6cdca feat: Enable customizing the docker admin password (#29498)
add 9724c99341 feat: add support to NOT LIKE operator (#29384)
add 1682994b7e docs: cleanup markdown warnings (#29511)
add 9052f9fbb4 fix(plugins): Fix dashboard filter for Table and Big Number with Time Comparison (#29517)
add dc16255605 docs: Add Vasu and Jamie to the Users List (#29486)
add b481bc95b5 fix(plugins): Big Number with Time Comparison (#29520)
add b4560d442b feat(database): Add OceanBase support (#29496)
add 3d0665183c fix: Table time comparison breaking after form data update (#29525)
add e749efcb97 fix: refactor view error handling into a separate module (#29330)
add 813775e719 chore(build): sync Jest version across plugins (#29414)
add 3bf89893dc feat(build): uplift Storybook to v8 (#29408)
add 428b68f3e0 refactor: Upgrade Badge component to Ant Design 5 (#29124)
add bea4882b04 docs: Add frontend dependency installation steps (#29510)
add 1734eeaf0c chore(deps): bump deck.gl from 8.9.22 to 9.0.21 in /superset-frontend (#29529)
add 5aacf563d8 chore(deps): bump regenerator-runtime from 0.13.11 to 0.14.1 in /superset-frontend (#29437)
add ec5bbaa678 feat: add connector for CouchbaseDB (#29225)
add 17a4537215 docs(intro): Add OceanBase to the Supported Databases section of readme.md. (#29537)
add 1d35ca4bc5 fix(websocket): add error handling (#29538)
add 67df4e3ce3 fix: prevent guest users from changing columns (#29530)
add 33a31ca393 chore(deps): bump deck.gl from 8.9.22 to 9.0.20 in /superset-frontend (#29436)
add dd74757032 fix: babel_update script crash (#29548)
add 33b934cbb3 fix(Tags filter): Filter assets by tag ID (#29412)
add d535f3fe56 fix: make catalog migration lenient (#29549)
add 3f6b7e2456 docs: Added Keycloak auth configuration (#29487)
add 84a1cd245c chore: cleanup documentation (#29552)
add 0d352b4e06 fix(dataset import): Support catalog field during dataset import (#29576)
add fa095a98ed fix: Trino `get_columns` (#29566)
add a56f656a83 fix: small fixes to the catalog migration (#29579)
add fb15278f97 fix: catalog permission check (#29581)
add 462cda400b fix(storybook): fix broken Storybook stories during development (#29587)
add 6eda6dfe06 docs: update CVEs for 4.0.2 (#29599)
add d51a2add65 docs(contributing): removing old blog post link (#29603)
add e90a9b3c87 chore(docs): create architecture page (#28481)
add 00ab12ce9b fix(docs): fix broken indexed link from Google search (#28496)
add ec508a70a6 docs(Database): Clarify host value expected when running in docker (#28124)
add b66c0f8d30 fix: schemas for upload API (#29604)
add 028e9c9294 chore: Updates CHANGELOG.md with 4.0.2 data (#29600)
add c30ca534a3 feat(build): uplift Lerna + replace insecure shortid with nanoid + uplift Yeoman-related packages + ESM-ize generator-superset (#29419)
add b39952549f fix: sort schemas when uploading data (#29610)
add 245e1986c1 chore: Clear redux localStorage on logout (#29602)
add 9da5be3d79 docs: fix code comment explaining local override (#29612)
add db3fa8df77 fix(sqllab): Show warning message when deprecated db is selected (#29607)
add 3ade01f828 feat: custom values to sandbox iframe (#29590)
add ae6e58f918 feat(frontend/hooks): replace 3rd-party BroadcastChannel with native Web API equivalence (#29584)
add c0d46eb1af refactor(Tag): Upgrade Tag and TagsList to Ant Design 5 (#29593)
add 6dbfe2aab9 feat: add slackv2 notification (#29264)
add 1e412a8711 refactor(Dashboard): Fetch dashboard screenshot via dedicated endpoint (#29272)
add 5b79752e5d fix: Add Japanese Translations (#29567)
add 85b66946ed refactor: Remove dead code from the Word Cloud plugin (#29594)
add 5539f87912 fix(sqllab): prev shema/table options remained on fail (#29638)
add 9487d6c9d6 fix: Required native filter message wrongfully appearing (#29643)
add ae0edbfdce chore: add catalog_access to OBJECT_SPEC_PERMISSIONS (#29650)
add 92537f1fd5 fix: Loading of native filter column (#29647)
add be833dce4f fix: Layout of native filters modal with lengthy columns (#29648)
add 2a9a1d3194 docs: update creating-your-first-dashboard.mdx (#29631)
add 27dde2a811 feat(alert/report): Added optional CC and BCC fields for email notifi⦠(#29088)
add 453e6deb97 fix: Dashboard editable title weird behavior when adding spaces (#29667)
add cd713a239e fix: Use default custom time range time without timezone (#29669)
add 3de2b7c989 refactor(ProgressBar): Upgrade ProgressBar to Antd 5 (#29666)
add 922128f6e0 fix: Add user filtering to changed_by. Fixes #27986 (#29287)
add 72caec10fe feat(country map): Adding Hungary (and other touchups) (#29627)
add dac69e2092 feat(explorer): Add configs and formatting to discrete comparison columns (#29553)
add 5ed19319dd build(deps-dev): bump thread-loader from 3.0.4 to 4.0.2 in /superset-frontend (#26557)
add 3c971455e7 fix(explore): missing column autocomplete in custom SQL (#29672)
add f51bf67554 chore(build): pin Storybook-related packages to 8.1.11 as further v8+ version requires React 18 (#29731)
add 705ffda574 build(deps): bump ace-builds from 1.4.14 to 1.35.4 in /superset-frontend (#29762)
add 396cf9b822 build(deps-dev): bump @svgr/webpack from 8.0.1 to 8.1.0 in /superset-frontend (#29754)
add e21f945802 build(deps-dev): bump mini-css-extract-plugin from 2.7.6 to 2.9.0 in /superset-frontend (#29753)
add 363999d197 build(deps): bump @docsearch/react from 3.6.0 to 3.6.1 in /docs (#29751)
add 1ec8eb8f57 build(deps-dev): bump typescript from 5.5.2 to 5.5.4 in /docs (#29750)
add d4f0ac4a63 build(deps): bump @types/lodash from 4.17.4 to 4.17.7 in /superset-websocket (#29746)
add adc2ba405b build(deps): bump deck.gl from 9.0.21 to 9.0.24 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#29744)
add 40f9a40aa1 build(deps-dev): bump prettier from 3.2.5 to 3.3.3 in /superset-websocket (#29742)
add 385cf8af8c build(deps): bump debug from 4.3.5 to 4.3.6 in /superset-websocket/utils/client-ws-app (#29739)
add 06ac7bf16c build(deps): bump fast-xml-parser from 4.2.7 to 4.4.1 in /superset-frontend (#29767)
add a9229899f6 build(deps-dev): update @babel/types requirement from ^7.24.0 to ^7.24.5 in /superset-frontend/plugins/plugin-chart-pivot-table (#28297)
add bcc14b5274 build(deps-dev): bump ts-loader from 7.0.5 to 9.5.1 in /superset-frontend (#29760)
add fd8f8719f8 build(deps-dev): bump history from 4.10.1 to 5.3.0 in /superset-frontend (#29763)
add 320ba9eac2 build(deps): update underscore requirement from ^1.13.6 to ^1.13.7 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#29743)
add ee54363163 build(deps-dev): update @types/lodash requirement from ^4.17.6 to ^4.17.7 in /superset-frontend/plugins/plugin-chart-handlebars (#29740)
add 00bab74d17 chore(deps): bump d3-hierarchy from 1.1.9 to 3.1.2 in /superset-frontend (#28820)
add f0fa96fc46 chore(deps): bump abortcontroller-polyfill from 1.2.1 to 1.7.5 in /superset-frontend (#29427)
add c22dfa1abb docs(contributing): fix broken link to translations sub-section (#29768)
add cff9865c47 build(deps-dev): bump webpack from 5.92.1 to 5.93.0 in /docs (#29747)
add 68ef13e37f build(deps): bump @ant-design/icons from 5.3.7 to 5.4.0 in /docs (#29748)
add c3702be9d4 docs: Check markdown files for bad links using linkinator (#28424)
add 134ca38b8d fix(Database): Refresh catalogs on db update returns database error (#29681)
add 8891f04f11 fix(frontend/docker, ci): fix borked Docker build due to Lerna v8 uplift (#29725)
add 525e837c5b fix: catalog upgrade/downgrade (#29780)
add 6bf8596d68 fix: remove --no-optional from docker-compose build (#29779)
add d21d7591c0 feat(alerts): enable tab selection for dashboard alerts/reports (#29096)
add 2bce20f790 fix: Fixing incomplete string escaping. (#29772)
add 2231348356 build(deps-dev): bump @types/node from 20.13.0 to 22.0.0 in /superset-websocket (#29738)
add 714caeafb6 chore(docs): remove mention of MariaDB in dev environment setup (#29790)
add 06c9f3368a chore(deps): bump dayjs to unblock CI. (#29794)
add 4c52ecc4d8 fix(Dashboard): Copying a Dashboard does not commit the transaction (#29776)
add 0d62bb2261 fix(translations): Translate embedded errors (#29782)
add da46ad4013 feat: adding AntdThemeProvider to storybook config (#29795)
add 20adae8b21 build(deps-dev): bump webpack from 5.89.0 to 5.93.0 in /superset-frontend (#29765)
add 2b4a8e9083 build(deps): bump @types/lodash from 4.17.0 to 4.17.7 in /superset-frontend (#29755)
add c094ac3584 style: remove uppercase from labels, buttons, tabs to align with design system (#29673)
add c5829419e3 feat: get html (links/styling/img/...) to work in pivot table (#29724)
add 5d06b01fd6 chore: deleting vestigial EMAIL_NOTIFICATIONS (#29792)
add 59e366ce90 fix(ci): release process for labeling PRs (#29688)
add 66eb9593d1 fix(list/chart views): Chart Properties modal now has transitions (#28796)
add 2cbd945692 fix: bump packages to unblock ci (#29805)
add 249f5ec31a fix: Downgrade of revision 678eefb4ab44 throws error (#29799)
add d143b24232 perf: Lazy load React Ace (#29796)
add 5936e8dbca perf: Antd icons tree shaking (#29787)
add 71786dba64 fix(ci): remove unused "type: ignore" comment to unblock precommit check in CI (#29830)
add 1d2dee8a4e build(deps): bump rimraf from 3.0.2 to 6.0.1 in /superset-frontend (#29758)
add e623d745f5 fix: set default timezone to UTC for cron timezone conversions (#29798)
add 4d9fd1b045 build(deps-dev): bump @types/node from 22.0.0 to 22.0.2 in /superset-websocket (#29811)
add 516f3663c0 build(deps-dev): bump @types/jest from 27.0.2 to 29.5.12 in /superset-websocket (#29809)
add 5339f3dffa build(deps): bump memoize-one from 5.1.1 to 5.2.1 in /superset-frontend (#29821)
add ebbef827ff build(deps-dev): bump style-loader from 3.3.4 to 4.0.0 in /superset-frontend (#29820)
add 91faa3593a build(deps-dev): bump @types/react-syntax-highlighter from 15.5.11 to 15.5.13 in /superset-frontend (#29816)
add eaaa44c6c1 build(deps): bump mustache from 2.3.2 to 4.2.0 in /superset-frontend (#29815)
add 26e1779f20 build(deps): bump chrono-node from 2.7.5 to 2.7.6 in /superset-frontend (#29813)
add 74e811706b build(deps): bump @fontsource/inter from 5.0.19 to 5.0.20 in /superset-frontend (#29812)
add d1ea4abb12 build(deps-dev): bump eslint-plugin-file-progress from 1.2.0 to 1.4.0 in /superset-frontend (#29759)
add 5ff259e870 build(deps): bump react-diff-viewer-continued from 3.2.5 to 3.4.0 in /superset-frontend (#29756)
add 40520c54d4 build(deps): bump react-bootstrap-slider from 2.1.5 to 3.0.0 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#28294)
add 57e8cd2ba2 fix: pass slack recipients correctly (#29721)
add c87a4fd642 chore(deps): npm audit fix results (#29838)
add 5a3b1ee3fd fix: machine auth for GAQ enabled deployments (#29591)
add ecb9ff0f8a build(deps-dev): update @babel/types requirement from ^7.24.5 to ^7.25.2 in /superset-frontend/plugins/plugin-chart-pivot-table (#29808)
add 27c08d0e0e refactor(controls): Migrate MetricDefinitionValue.test to RTL (#29845)
add 819597faf6 refactor(controls): Migrate AdhocMetricOption.test to RTL (#29843)
add 6bc8567802 refactor(ChartCreation): Migrate tests to RTL (#29674)
add e2eb9fe35e fix: Add missing icons (#29851)
add 9c058fee7a perf: Lazy load moment-timezone (#29791)
add d877d46557 refactor(Slider): Upgrade Slider to Antd 5 (#29786)
add f1136b57dd perf: Remove antd-with-locales import (#29788)
add 5b5f448af0 perf: Lazy load rehype-raw and react-markdown (#29855)
add aa26ca5c27 fix(docs): update timescale.png (#24411)
add 4a06e830ca chore: describe timezone issue with alerts and reports scheduler in UPDATING.md (#29863)
add c27db070db fix: mypy fails related to simplejson.dumps (#29861)
add 422aa6b657 chore: Add the 4.1 release notes (#29262)
add 7eb3ca408f chore(cleanup): Removing bootstrap (experimental) (#29844)
add e011c91921 chore: pre-matrixify pre-commit check (#29866)
add 9fed576cb4 fix: update celery config imports (#29862)
add 1c3ef01209 chore(build): uplift several outdated frontend packages (#29652)
add 61c0970968 fix: create permissions on DB import (#29802)
add 052b38bdf3 fix(capitalization): Capitalizing a button. (#29867)
add e16ba28a8c docs: add unit to companies list (#29870)
add fede4f9f1b chore(deps): bumping jquery (#29841)
add c7dc4dc7fc fix: mypy issue on py3.9 + prevent similar issues (#29864)
add 226b755798 chore(docs): reorder fs users (#29876)
add 0c3aa7d8fe fix: load slack channels earlier (#29846)
add db1d77cba2 chore(deps): bumping underscore via npm override (#29859)
add c220245414 perf: Implement Echarts treeshaking (#29874)
add 9b95accf6b feat(build): webpack visualizer (#29875)
add 56e59b47fe chore: remove useless GitHub action required check (#29869)
add e77f755765 chore: remove useless GitHub action (#29868)
add fb6efb9e9a fix(PivotTable): Pass string only to safeHtmlSpan (#29895)
add 38d64e8dd2 fix: add mutator to get_columns_description (#29885)
add b323bf0fb6 fix(Embedded): Deleting Embedded Dashboards does not commit the transaction (#29894)
add fb7f50868d fix: Error when downgrading add_catalog_perm_to_tables migration (#29906)
add 222c46f639 chore: Changes the migrations owners (#29904)
add 57a4199f52 chore: Logs the duration of migrations execution (#29893)
add c016ca5ad9 feat: Enable injecting custom html into head (#29917)
add 050c6daff3 fix(cli): add impersonate_user to db import (#29522)
add 9f5eb899e8 fix: add imports back to celery file (#29921)
add 39209c2b40 fix: handle empty catalog when DB supports them (#29840)
add f5d614d80d fix: Rename database from 'couchbasedb' to 'couchbase' in documentation and db_engine_specs (#29911)
add fe5242a876 fix: Fix delete_fake_db (#29935)
add 5c9a882226 build(deps-dev): bump axios from 1.6.0 to 1.7.4 in /superset-embedded-sdk (#29946)
add e38f2f990c build(deps-dev): bump axios from 1.7.3 to 1.7.4 in /superset-frontend (#29949)
add edd94b66e5 build(deps): bump axios from 1.6.8 to 1.7.4 in /docs (#29945)
add 88d07ce603 fix: only show dataset name in list (#29944)
add 56f75922b9 chore: add additional code owners to migrations (#29952)
add 47715c39d0 fix(embedded): Remove CSRF requirement for dashboard download API (#29953)
add e8f5d7680f fix: upgrade_catalog_perms and downgrade_catalog_perms implementation (#29860)
add 2cc07e6112 fix: try to prevent deadlocks when running upgrade (#29625)
add a225f329c5 feat(docs): fix bug google chrome < 114 not found (#29941)
add 6e1ef193dd fix(sqllab): Add abort call on query refresh timeout (#29956)
add bac61fc24e chore: Allow auto pruning of the query table (#29936)
add 5bd6e92cb8 chore(deps): bump micromatch (#29948)
add 955db48c59 chore: Update to Dockerfile to get creating releases to work (#29937)
add 7e88649730 fix: thumbnail url json response was malformed (#29938)
add 5ec3093deb chore(antd): straightening out button import paths (#29969)
add 907fc8a713 build(deps-dev): bump eslint-plugin-cypress from 2.11.2 to 3.4.0 in /superset-frontend + corresponding refactor (#29964)
add cf083bf827 fix(i18n): translation fix in server side generated time grains (#29951)
add 175ba78d32 docs: improve pre-commit docs and discoverability when CI fails (#29970)
add 1818054166 chore(tests): Spelling (#25454)
add 7650c47e72 fix: Gamma users shouldn't be able to create roles (#29687)
add 1ca5947a7d fix(sqllab): flaky json explore modal due to shallow equality checks for extra data (#29978)
add 8e2f81816f build(node): Bumping to Node 20 (#29988)
add 1a1548da3b chore(shared components): Migrate enzyme to RTL (#26258)
add c049771a7f chore(chart-controls): migrate enzyme to RTL (#26257)
add 4d821f44ae fix: trino thread app missing full context (#29981)
add 5e847c7afa build(deps): bump ws and @applitools/eyes-cypress in /superset-frontend/cypress-base (#29947)
add eb2d69a5e6 fix: Duplicated example dataset (#29993)
add bf94370d38 chore(init): adding link to secret key instructions (#29990)
add 4b59e42d3f chore: improve mask/unmask encrypted_extra (#29943)
add 5906890b78 feat: Adding Elestio as deployment option (#25775)
add 17eecb1981 fix(trino): handle missing db in migration (#29997)
add 9d5268ab6d feat(sqllab): Adds refresh button to table metadata in SQL Lab (#29974)
add ce72a0ac27 fix: set columns numeric datatypes when exporting to excel (#27229)
add bc6d2dba37 feat(time_comparison): Support all date formats when computing custom and inherit offsets (#30002)
add d497dcad41 fix: Security manager incorrect calls (#29884)
add cb23d6f1a8 fix: Removed fixed width constraint from Save button (#29686)
add 7db34b994e fix(screenshots): dashboard screenshots do not capture filter state (#29989)
add 9249facaf5 fix: Reports are not sent when selecting to send as PNG, CSV or text (#30001)
add 2fda221b7c feat(alert/reports): adding logic to handle downstream reports when tab is deleted from dashboard (#29333)
add 0a626bd8ae build(deps): bump d3-time from 1.1.0 to 3.1.0 in /superset-frontend/packages/superset-ui-core (#28292)
add c8436eb9c0 build(deps): bump remark-gfm from 3.0.1 to 4.0.0 in /superset-frontend/packages/superset-ui-core (#27832)
add cf4a21d095 build(deps): bump micromatch from 4.0.5 to 4.0.8 in /docs (#30009)
add e8db5dfd67 build(deps): bump micromatch from 4.0.4 to 4.0.8 in /superset-frontend/cypress-base (#30008)
add 5bebcf61fe chore(deps): bump cross-env (#30007)
add 764d4fa1ad fix(translations): Fixed APPLY translation in Spanish (#30013)
add 029799e2e8 chore(deps): bump core-js (#30011)
add 4e346180e0 chore(translations): Arabic translations (#29586)
add fcf0450294 fix(user-dao): return user model instances (#30020)
add 2afb66d68d fix: Dashboard list row height does not match other lists (#30025)
add 07a90ad4fe fix: Partition calls from Jinja context (#30019)
add d80f23ed94 fix(migrations): Fix the time comparison migration (#30029)
add c428108713 fix(plugins): display correct tooltip (fixes #3342) (#30023)
add e886cc40fe fix: duplicate `truncateXAxis` option in `BarChart` (#29916)
add 75c500c9a5 fix: Handle zstd encoding in webpack proxy config (#30034)
add 07985e2f5a fix: Revert "fix(list/chart views): Chart Properties modal now has transitions" (#30041)
add 606ddc3181 chore(docs): clean up a few md errors (#30057)
add e2c4435cab fix: use StrEnum type for GuestTokenResourceType to fix token parsing (#30042)
add 4fe3000275 chore(docs): docker instructions use `docker compose` instead of the deprecated `docker-compose` (#30030)
add 1f2f66bcb0 feat(docker): add GUNICORN_LOGLEVEL env var (#24308)
add cd6b8b2f6d fix: Delete modal button with lowercase text (#30060)
add 103cd3d6f3 feat(GAQ): Add Redis Sentinel Support for Global Async Queries (#29912)
add 548d543efe fix: When hovering Drill By the dashboard is scrolled to the top (#30073)
add 9596e458c6 refactor(databases): Create constants.ts, move interface to types.ts (#30027)
add 72a520fba4 fix: Retrieving Slack channels when Slack is disabled (#30074)
add 9c3eb8f51f fix(accessibility): logo outline on tab navigation, but not on click (#30077)
add dd6c0ad001 build(deps-dev): bump eslint-plugin-no-only-tests from 2.4.0 to 3.3.0 in /superset-frontend (#30116)
add d3760f3000 build(deps): bump d3-time-format and @types/d3-time-format in /superset-frontend (#30117)
add 78a53bfa06 build(deps-dev): bump eslint-plugin-react-prefer-function-component from 0.0.7 to 3.3.0 in /superset-frontend (#30102)
add 02adf44768 build(deps-dev): bump webpack from 5.93.0 to 5.94.0 in /superset-frontend (#30038)
add db06a4e241 build(deps-dev): bump webpack from 5.76.0 to 5.94.0 in /superset-embedded-sdk (#30037)
add 2b27e9eda1 build(deps): bump aws-actions/amazon-ecs-deploy-task-definition from 1 to 2 (#30090)
add af066a4630 fix: DeckGL legend layout (#30140)
add 5c5b4d0f5f fix: JSON loading logs (#30138)
add c929f5ed7a fix: pass if table is already removed on upgrade (#30017)
add 0415ed34ce feat: allow create/update OAuth2 DB (#30071)
add 09dfe2f2ab feat: Oauth2 in DatabaseSelector (#30082)
add 6009023fad fix(catalog): Table Schema View with no catalog (#30139)
add ff449ad8ab feat: OAuth2 database field (#30126)
add 880d634dc8 fix(sqllab): race condition when updating same cursor position (#30141)
add 9cb9e5beee fix: New tooltip inappropriately combines series on mixed chart (#30137)
add cc39afef46 chore: accelerate docker compose by skipping frontend build (#30021)
add 34e240ef0e docs: document how docker-compose-image-tag requires -dev suffixed images (#30144)
add 5e42d7aed0 fix: Adds the Deprecated label to Time-series Percent Change chart (#30148)
add 1338c25896 chore(docs): update xendit link (#30153)
add d406c80942 chore(tests): skip extremely flaky gaq test (#30072)
add 272ed98db5 chore(docs): replace http with https (#30155)
add 3f2e2371ef docs: Fixing missing 'c' in installation guide documentation (#30127)
add acea58ebe7 fix(docs): typo in docker-compose.mdx (#30147)
add 2097b716f4 fix(sqllab): race condition when updating cursor position (#30154)
add de3de541e7 fix: FacePile is requesting avatars when SLACK_ENABLE_AVATARS is false (#30156)
add e02b18c63c fix(native filter): undefined layout type on filterInScope (#30164)
add 5374a4c9c4 build(deps-dev): bump prettier-plugin-packagejson from 2.4.10 to 2.5.2 in /superset-frontend (#30118)
add 4bf441149d build(deps): bump cryptography from 42.0.7 to 42.0.8 (#30143)
add 75f19312ec build(deps): bump uuid and @types/uuid in /superset-websocket (#30096)
add 02c47b8eb5 build(deps-dev): bump ts-jest from 29.1.5 to 29.2.5 in /superset-websocket (#30095)
add a1143228b2 build(deps): bump react-svg-pan-zoom from 3.12.1 to 3.13.1 in /docs (#30108)
add b178675276 build(deps-dev): bump @docusaurus/tsconfig from 3.4.0 to 3.5.2 in /docs (#30107)
add 1317af8d85 build(deps): bump prism-react-renderer from 2.3.1 to 2.4.0 in /docs (#30106)
add 63eb7e5519 build(deps): bump react-ultimate-pagination and @types/react-ultimate-pagination in /superset-frontend (#30111)
add 1fe5db2ec3 build(deps-dev): bump @docusaurus/module-type-aliases from 3.4.0 to 3.5.2 in /docs (#30105)
add 043b5d4b9a build(deps): bump ws and @types/ws in /superset-websocket (#30094)
add d3f5c795ff chore(docs): bump docusaurus from 3.4.0 to 3.5.2 (#30167)
add 6294e339e2 feat(db_engine): Implement user impersonation support for StarRocks (#28110)
add 4d1db9e32c fix(sqllab): Skip AceEditor in inactive tabs (#30171)
add aa50eb3b03 build(dev-deps, deps): upgrade major versions for FE deps (#29963)
add c6ccd2ee6a build(deps): bump core-js from 3.37.1 to 3.38.1 in /superset-frontend/packages/superset-ui-demo (#30088)
add 601e55656c feat(jinja): add advanced temporal filter functionality (#30142)
add d7547fc4ef build(deps-dev): bump typescript from 4.9.5 to 5.5.4 in /superset-websocket (#30097)
add 0744abe87b fix: Chart cache-warmup task fails on Superset 4.0 (#28706)
add 3aafd29768 fix: Disable cross filtering on charts with no dimensions (#30176)
add 05197db71b build(deps): bump @types/node from 20.12.7 to 22.5.4 in /superset-frontend (#30166)
add 1f890718a2 feat: `is_mutating` method (#30177)
add d685497a10 build(deps): bump antd from 5.20.0 to 5.20.5 in /docs (#30179)
add 0080374a77 build(deps-dev): bump webpack from 5.93.0 to 5.94.0 in /docs (#30036)
add 100b31cb71 build(deps-dev): bump @types/react from 18.3.3 to 18.3.5 in /docs (#30101)
add ff5cc09eac chore(docs): Removing dead link from INTHEWILD.md (#30199)
add fed117fbf7 build(deps-dev): update @babel/types requirement from ^7.25.2 to ^7.25.6 in /superset-frontend/plugins/plugin-chart-pivot-table (#30103)
add 6baeb659a7 fix: set default mysql isolation level to 'READ COMMITTED' (#30174)
add 52a03f18a1 fix(Embedded): Dashboard screenshot should use GuestUser (#30200)
add cddf1530da chore: remove duplicate `_process_sql_expression` (#30213)
add d191e67e51 fix(Dashboard download): Download dashboard screenshot/PDF using SupersetClient (#30212)
add dd4f223a39 fix(sdk): use latest @supserset-ui/switchboard version to avoid pulling empty dependency (#30217)
add d0c9cde0ba chore(frontend): Spelling (#25452)
add 5a0e88771b build(deps): update @babel/runtime requirement from ^7.1.2 to ^7.25.6 in /superset-frontend/packages/superset-ui-core (#30091)
add 7bb6a14944 feat: Displaying details to Dataset/Database deletion modals (#30016)
add a31a4eebdd feat(embedded): add hook to allow superset admins to validate guest token parameters (#30132)
add e2a6d370f0 build(deps): bump send and express in /superset-websocket/utils/client-ws-app (#30225)
add dca970946d build(deps): bump serve-static and express in /superset-websocket/utils/client-ws-app (#30226)
add 1b34ad65fa fix(Celery): Pass guest_token as user context is not available in Celery (#30224)
add 4385b44e86 chore(docs): note that release-tagged docker images no longer ship with metadata db drivers as of 4.1.0 (#30243)
add 750888f6d3 fix(docs): change flask-oidc url (#30237)
add 0f44362348 refactor(explore): Migrate MetricsControl test suite to RTL (#30232)
add 88b698c092 fix(deps): release new embedded sdk (#30234)
add be0a0ced25 fix: filters panel broken due to tabs scroll (#30180)
add f8a77537a7 fix(uploads): respect db engine spec's supports_multivalues_insert value for file uploads & enable multi-insert for MSSQL (#30222)
add c4c0845b3b build(deps): bump serve-static and express in /superset-frontend (#30229)
add 2e107398ae build(deps): bump send and express in /superset-frontend (#30228)
add 8c0b873ae2 build(deps, deps-dev): upgrade major versions for dependencies of `@superset/embedded-sdk` (#30242)
add 23467bd7e4 fix(Fave): Charts and Dashboards fave/unfave do not commit transactions (#30215)
add ff3b86b5ff feat(sqllab): Add timeout on fetching query results (#29959)
add c5594f2979 feat(explore): Add time shift color control to ECharts (#29897)
add dbab2fb955 fix(CrossFilters): Do not reload unrelated filters in global scope (#30252)
add 3877355555 build(ci): make linkinator advisory (#30257)
add 8cd18cac8c chore(build): remove extraneous prettier step in superset-frontend CI (#30253)
add bdf29cb7c2 chore: organize SQL parsing files (#30258)
add e9094659d3 refactor(frontend): migrate 6 tests from Enzyme to RTL (#30151)
add bcbd679a75 chore(docker): move mysql os-level deps (GPL) to dev image only (#29771)
add d1bdbd8189 docs: Update kubernetes.mdx (#30268)
add 3ad0fd48ef chore(deps): bump dremio deps (#25910)
add 0679454b48 fix(Screenshot): Dashboard screenshot cache key to include state (#30265)
add f553344aa1 chore(sqllab): Add shortcuts for switching tabs (#30173)
add 63f4f4f60c chore: remove redundant code (#30261)
add 2166cbdd80 fix(install/docker): use zstd-baked image for building superset-frontend in containerized env (#30279)
add 46b1d869b1 fix: Move copying translation files before npm run build in Docker (#30099)
add f315a4f02c chore: move SLACK_ENABLE_AVATARS from config to feature flag (#30274)
add c33d49ecab fix(dashboard): invalid button style in undo/redo button (#30273)
add 2f0c9947ce fix(dashboard): Invalid owner's name displayed after updates (#30272)
add cd8b56706b fix: unable to disallow csv upload on header menu (#30271)
add 930078b6f5 chore(explore): Medium font weight for section headers (#30321)
add a3952051e1 feat(jinja): add option to format time filters using strftime (#30323)
add 08145d88b9 style(explore): clarify ambiguously named "sort by" field (#30254)
add e54353c4da docs: HTML embedding of charts/dashboards without authentication (#30032)
add 0dcfe74bc6 build(deps): bump express from 4.19.2 to 4.20.0 in /docs (#30227)
add 1441ad8546 chore(UPDATING.md): Add item to UPDATING describing translations build flag (#30313)
add 78099b0d1f fix(migration): 87d38ad83218 failing on upgrade (#30275)
add a90aa055f5 chore: bump cypress to v 11 (#30262)
add 68594d97cb chore(helm): correct a typo (#30123)
add 6c2bd2a968 fix(table): Use extras in queries (#30335)
add 186e75f9b2 docs: Update cache.mdx, add needed space (#30333)
add 9b87ca9209 docs: sql-templating (#30337)
new fd61123e41 first baby steps
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (d3a8c8341b)
\
N -- N -- N refs/heads/control-panel-2.0 (fd61123e41)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.asf.yaml | 8 +-
.gitattributes | 1 +
.github/CODEOWNERS | 2 +-
.github/ISSUE_TEMPLATE/bug-report.yml | 2 +-
.github/dependabot.yml | 5 +-
.github/workflows/bashlib.sh | 14 +
.github/workflows/bump-python-package.yml | 2 +-
.github/workflows/cancel_duplicates.yml | 2 +-
.github/workflows/check_db_migration_confict.yml | 4 +-
.github/workflows/codeql-analysis.yml | 2 +-
.github/workflows/dependency-review.yml | 2 +-
.github/workflows/docker.yml | 6 +-
.github/workflows/embedded-sdk-release.yml | 8 +-
.github/workflows/embedded-sdk-test.yml | 4 +-
.github/workflows/ephemeral-env-pr-close.yml | 4 +-
.github/workflows/ephemeral-env.yml | 10 +-
.github/workflows/generate-FOSSA-report.yml | 6 +-
.github/workflows/github-action-validator.yml | 6 +-
.github/workflows/issue_creation.yml | 2 +-
.github/workflows/labeler.yml | 2 +-
.github/workflows/latest-release-tag.yml | 2 +-
.github/workflows/license-check.yml | 2 +-
.github/workflows/no-hold-label.yml | 2 +-
.github/workflows/pr-lint.yml | 2 +-
.github/workflows/pre-commit.yml | 18 +-
.github/workflows/prefer-typescript.yml | 4 +-
.github/workflows/release.yml | 8 +-
.github/workflows/superset-applitool-cypress.yml | 6 +-
.../workflows/superset-applitools-storybook.yml | 6 +-
.github/workflows/superset-cli.yml | 4 +-
.github/workflows/superset-docs-deploy.yml | 8 +-
.github/workflows/superset-docs-verify.yml | 30 +-
.github/workflows/superset-e2e.yml | 20 +-
.github/workflows/superset-frontend.yml | 13 +-
.github/workflows/superset-helm-lint.yml | 2 +-
.github/workflows/superset-helm-release.yml | 4 +-
.../workflows/superset-python-integrationtest.yml | 28 +-
.github/workflows/superset-python-misc.yml | 53 -
.github/workflows/superset-python-presto-hive.yml | 18 +-
.github/workflows/superset-python-unittest.yml | 4 +-
.github/workflows/superset-translations.yml | 6 +-
.github/workflows/superset-websocket.yml | 4 +-
.github/workflows/supersetbot.yml | 2 +-
.github/workflows/tag-release.yml | 37 +-
.github/workflows/tech-debt.yml | 8 +-
.github/workflows/update-monorepo-lockfiles.yml | 52 -
.github/workflows/welcome-new-users.yml | 2 +-
.gitignore | 5 +
.pre-commit-config.yaml | 3 +
.rat-excludes | 4 +
CHANGELOG.md | 1 +
CHANGELOG/4.0.2.md | 78 +
CODE_OF_CONDUCT.md | 5 +-
Dockerfile | 95 +-
README.md | 16 +-
RELEASING/Dockerfile.from_local_tarball | 7 +-
RELEASING/Dockerfile.make_tarball | 4 +-
RELEASING/README.md | 16 +-
RELEASING/release-notes-1-0/README.md | 4 +-
RELEASING/release-notes-1-5/README.md | 2 +-
RELEASING/release-notes-4-1/README.md | 140 +
.../release-notes-4-1/media/big_number_chart.png | Bin 0 -> 112940 bytes
.../release-notes-4-1/media/columnar_modal_1.png | Bin 0 -> 60210 bytes
.../release-notes-4-1/media/columnar_modal_2.png | Bin 0 -> 44706 bytes
.../release-notes-4-1/media/columnar_modal_3.png | Bin 0 -> 49899 bytes
RELEASING/release-notes-4-1/media/csv_modal_1.png | Bin 0 -> 67512 bytes
RELEASING/release-notes-4-1/media/csv_modal_2.png | Bin 0 -> 74493 bytes
RELEASING/release-notes-4-1/media/csv_modal_3.png | Bin 0 -> 56511 bytes
RELEASING/release-notes-4-1/media/csv_modal_4.png | Bin 0 -> 50440 bytes
.../release-notes-4-1/media/excel_modal_1.png | Bin 0 -> 69201 bytes
.../release-notes-4-1/media/excel_modal_2.png | Bin 0 -> 60322 bytes
.../release-notes-4-1/media/excel_modal_3.png | Bin 0 -> 53868 bytes
.../release-notes-4-1/media/excel_modal_4.png | Bin 0 -> 50251 bytes
RELEASING/release-notes-4-1/media/heatmap.png | Bin 0 -> 135513 bytes
RELEASING/release-notes-4-1/media/histogram.png | Bin 0 -> 522655 bytes
RELEASING/release-notes-4-1/media/sankey.png | Bin 0 -> 632129 bytes
RELEASING/release-notes-4-1/media/slack_modal.png | Bin 0 -> 65868 bytes
.../release-notes-4-1/media/table_with_time.png | Bin 0 -> 172081 bytes
RELEASING/release-notes-4-1/media/tooltips.png | Bin 0 -> 371925 bytes
RESOURCES/FEATURE_FLAGS.md | 13 +-
RESOURCES/INTHEWILD.md | 65 +-
UPDATING.md | 27 +-
docker-compose-image-tag.yml | 5 +-
docker-compose-non-dev.yml | 3 +-
docker-compose.yml | 16 +-
docker/docker-frontend.sh | 10 +-
docker/docker-init.sh | 4 +-
docker/pythonpath_dev/superset_config.py | 8 +-
.../pythonpath_dev/superset_config_local.example | 2 +-
docker/run-server.sh | 1 +
docs/.nvmrc | 2 +-
docs/data/countries.json | 1 +
docs/docs/configuration/alerts-reports.mdx | 13 +-
docs/docs/configuration/cache.mdx | 2 +-
docs/docs/configuration/configuring-superset.mdx | 118 +-
docs/docs/configuration/databases.mdx | 41 +-
docs/docs/configuration/networking-settings.mdx | 59 +-
docs/docs/configuration/sql-templating.mdx | 78 +-
docs/docs/contributing/contributing.mdx | 6 +-
docs/docs/contributing/development.mdx | 111 +-
docs/docs/contributing/guidelines.mdx | 10 +-
docs/docs/contributing/howtos.mdx | 30 +-
docs/docs/faq.mdx | 4 +-
docs/docs/installation/architecture.mdx | 68 +
docs/docs/installation/docker-builds.mdx | 42 +-
docs/docs/installation/docker-compose.mdx | 55 +-
docs/docs/installation/kubernetes.mdx | 11 +-
docs/docs/installation/pypi.mdx | 32 +-
docs/docs/installation/upgrading-superset.mdx | 2 +-
docs/docs/quickstart.mdx | 8 +
docs/docs/security/cves.mdx | 18 +-
.../creating-your-first-dashboard.mdx | 4 +-
docs/docusaurus.config.js | 4 +
docs/package.json | 38 +-
docs/src/intro_header.txt | 4 +
docs/src/resources/data.js | 10 +
docs/src/styles/main.less | 2 -
docs/static/img/databases/couchbase.svg | 19 +
docs/static/img/databases/oceanbase.svg | 67 +
docs/static/img/databases/timescale.png | Bin 16120 -> 10894 bytes
docs/yarn.lock | 1424 +-
helm/superset/Chart.yaml | 2 +-
helm/superset/README.md | 2 +-
helm/superset/values.yaml | 2 +-
pyproject.toml | 15 +-
requirements/base.txt | 15 +-
requirements/development.txt | 24 +-
scripts/change_detector.py | 2 +-
scripts/cypress_run.py | 11 +-
scripts/permissions_cleanup.py | 7 +-
scripts/python_tests.sh | 1 +
scripts/tests/README.md | 28 +-
scripts/tests/run.sh | 6 +
scripts/translations/babel_update.sh | 6 +
superset-embedded-sdk/README.md | 15 +-
superset-embedded-sdk/package-lock.json | 10282 +-
superset-embedded-sdk/package.json | 31 +-
.../src/guestTokenRefresh.test.ts | 2 +-
superset-embedded-sdk/src/guestTokenRefresh.ts | 4 +-
superset-embedded-sdk/src/index.ts | 9 +-
superset-frontend/.nvmrc | 2 +-
superset-frontend/.prettierignore | 3 +
superset-frontend/.storybook/main.js | 2 +-
superset-frontend/.storybook/preview.jsx | 9 +-
superset-frontend/cypress-base/cypress.config.ts | 12 +-
.../cypress/e2e/chart_list/list.test.ts | 21 +-
.../cypress/e2e/dashboard/drillby.test.ts | 57 +-
.../cypress/e2e/dashboard/drilltodetail.test.ts | 152 +-
.../cypress/e2e/dashboard/editmode.test.ts | 58 +-
.../cypress/e2e/dashboard/nativeFilters.test.ts | 8 +-
.../cypress/e2e/dashboard/tabs.test.ts | 11 +-
.../cypress-base/cypress/e2e/dashboard/utils.ts | 38 +-
.../cypress/e2e/dashboard_list/list.test.ts | 3 +-
.../cypress/e2e/database/modal.test.ts | 12 +-
.../cypress/e2e/explore/AdhocMetrics.test.ts | 10 +-
.../cypress/e2e/explore/_skip.AdhocFilters.test.ts | 28 +-
.../cypress/e2e/explore/advanced_analytics.test.ts | 2 +-
.../cypress/e2e/explore/control.test.ts | 94 +-
.../cypress-base/cypress/e2e/explore/link.test.ts | 16 +-
.../e2e/explore/visualizations/area.test.js | 5 +-
.../e2e/explore/visualizations/box_plot.test.js | 5 +-
.../e2e/explore/visualizations/bubble.test.js | 30 +-
.../e2e/explore/visualizations/compare.test.js | 8 +-
.../e2e/explore/visualizations/dist_bar.test.js | 8 +-
.../e2e/explore/visualizations/gauge.test.js | 5 +-
.../e2e/explore/visualizations/graph.test.ts | 5 +-
.../e2e/explore/visualizations/histogram.test.ts | 5 +-
.../e2e/explore/visualizations/line.test.ts | 13 +-
.../cypress/e2e/explore/visualizations/pie.test.js | 5 +-
.../e2e/explore/visualizations/sankey.test.js | 5 +-
.../e2e/explore/visualizations/sunburst.test.js | 5 +-
.../e2e/explore/visualizations/table.test.ts | 3 +-
.../e2e/explore/visualizations/world_map.test.js | 7 +-
.../e2e/sqllab/_skip.sourcePanel.index.test.js | 2 +-
.../cypress-base/cypress/e2e/sqllab/query.test.ts | 43 +-
.../cypress-base/cypress/plugins/index.js | 31 -
.../cypress-base/cypress/support/directories.ts | 2 +-
.../cypress-base/cypress/support/e2e.ts | 2 +-
.../cypress-base/cypress/utils/index.ts | 20 +-
superset-frontend/cypress-base/package-lock.json | 975 +-
superset-frontend/cypress-base/package.json | 10 +-
superset-frontend/jest.config.js | 15 +-
superset-frontend/lerna.json | 5 +-
superset-frontend/package-lock.json | 151288 +++++++-----------
superset-frontend/package.json | 164 +-
.../generator-superset/.eslintrc} | 8 +-
.../generator-superset/generators/app/index.js | 21 +-
.../generators/plugin-chart/index.js | 17 +-
.../plugin-chart/templates/package-lock.erb | 2 +-
.../generators/plugin-chart/templates/package.erb | 2 +-
.../packages/generator-superset/jest.config.js | 3 +-
.../packages/generator-superset/package.json | 20 +-
.../packages/generator-superset/test/app.test.js | 32 +-
.../generator-superset/test/plugin-chart.test.js | 67 +-
.../superset-ui-chart-controls/CHANGELOG.md | 2 +-
.../superset-ui-chart-controls/package.json | 4 +-
.../src/ace-builds.d.ts} | 4 +-
.../src/components/SQLPopover.tsx | 17 +-
.../superset-ui-chart-controls/src/constants.ts | 2 +
.../src/sections/timeComparison.tsx | 2 +-
.../src/shared-controls/dndControls.tsx | 7 +-
.../src/shared-controls/sharedControls.tsx | 24 +
.../superset-ui-chart-controls/src/types.ts | 3 +
.../test/components/ColumnOption.test.tsx | 159 +-
.../components/InfoTooltipWithTrigger.test.tsx | 89 +-
.../test/components/MetricOption.test.tsx | 145 +-
.../operators/utils/extractExtraMetrics.test.ts | 2 +-
.../test/utils/defineSavedMetrics.test.tsx | 2 +-
.../packages/superset-ui-core/package.json | 22 +-
.../src/color/CategoricalColorScale.ts | 217 +-
.../src/color/ColorSchemeRegistry.ts | 2 +-
...olorSingleton.ts => LabelsColorMapSingleton.ts} | 74 +-
.../packages/superset-ui-core/src/color/index.ts | 8 +-
.../packages/superset-ui-core/src/color/utils.ts | 5 +-
.../src/components/SafeMarkdown.tsx | 24 +-
.../useComponentDidUpdate/useComponentDidUpdate.ts | 10 +-
.../src/query/getClientErrorObject.ts | 111 +-
.../superset-ui-core/src/query/types/Operator.ts | 1 +
.../superset-ui-core/src/query/types/Query.ts | 2 +-
.../src/query/types/QueryFormData.ts | 2 +-
.../src/time-comparison/customTimeRangeDecode.ts | 8 +-
.../src/time-comparison/getTimeOffset.ts | 18 +-
.../superset-ui-core/src/utils/featureFlags.ts | 3 +
.../superset-ui-core/src/utils/html.test.tsx | 76 +
.../packages/superset-ui-core/src/utils/html.tsx | 55 +-
.../tooltip/TooltipFrame.test.tsx | 15 +-
.../tooltip/TooltipTable.test.tsx | 74 +-
.../test/color/CategoricalColorNameSpace.test.ts | 2 +-
.../test/color/CategoricalColorScale.test.ts | 286 +-
.../test/color/LabelsColorMapSingleton.test.ts | 234 +
.../test/color/SharedLabelColorSingleton.test.ts | 201 -
.../test/connection/callApi/callApi.test.ts | 2 +-
.../test/query/getClientErrorObject.test.ts | 133 +-
.../test/query/processExtraFormData.test.ts | 4 +-
.../time-comparison/computeCustomDateTime.test.ts | 2 +-
.../time-comparison/customTimeRangeDecode.test.ts | 16 +-
.../test/time-comparison/getTimeOffset.test.ts | 66 +-
.../test/time-comparison/parseDttmToDate.test.ts | 58 +-
.../superset-ui-core/test/utils/logging.test.ts | 6 +-
.../packages/superset-ui-demo/.storybook/main.js | 2 +-
.../superset-ui-demo/.storybook/preview.js | 5 +-
.../packages/superset-ui-demo/package.json | 22 +-
.../BoxPlot/stories/basic.tsx | 4 +-
.../{BoxPolot.stories.tsx => BoxPlot.stories.tsx} | 0
.../plugins/plugin-chart-pivot-table/testData.ts | 2 +-
.../plugins/plugin-chart-table/Table.stories.tsx | 2 +-
.../plugin-chart-word-cloud/WordCloud.stories.tsx | 18 +-
.../packages/superset-ui-demo/tsconfig.json | 2 +-
.../plugins/legacy-plugin-chart-chord/src/Chord.js | 8 +-
.../legacy-plugin-chart-chord/src/controlPanel.ts | 13 +-
.../scripts/Country Map GeoJSON Generator.ipynb | 260 +-
.../src/countries.ts | 2 +
.../src/countries/afghanistan.geojson | 1 +
.../src/countries/aland.geojson | 1 +
.../src/countries/albania.geojson | 1 +
.../src/countries/algeria.geojson | 1 +
.../src/countries/american_samoa.geojson | 1 +
.../src/countries/andorra.geojson | 1 +
.../src/countries/angola.geojson | 1 +
.../src/countries/anguilla.geojson | 1 +
.../src/countries/antarctica.geojson | 1 +
.../src/countries/antigua_and_barbuda.geojson | 1 +
.../src/countries/argentina.geojson | 1 +
.../src/countries/armenia.geojson | 1 +
.../src/countries/australia.geojson | 1 +
.../src/countries/austria.geojson | 1 +
.../src/countries/azerbaijan.geojson | 1 +
.../src/countries/bahrain.geojson | 1 +
.../src/countries/bangladesh.geojson | 1 +
.../src/countries/barbados.geojson | 1 +
.../src/countries/belarus.geojson | 1 +
.../src/countries/belgium.geojson | 1 +
.../src/countries/belize.geojson | 1 +
.../src/countries/benin.geojson | 1 +
.../src/countries/bermuda.geojson | 1 +
.../src/countries/bhutan.geojson | 1 +
.../src/countries/bolivia.geojson | 1 +
.../src/countries/bosnia_and_herzegovina.geojson | 1 +
.../src/countries/botswana.geojson | 1 +
.../src/countries/brazil.geojson | 1 +
.../src/countries/brunei.geojson | 1 +
.../src/countries/bulgaria.geojson | 1 +
.../src/countries/burkina_faso.geojson | 1 +
.../src/countries/burundi.geojson | 1 +
.../src/countries/cambodia.geojson | 1 +
.../src/countries/cameroon.geojson | 1 +
.../src/countries/canada.geojson | 1 +
.../src/countries/cape_verde.geojson | 1 +
.../src/countries/central_african_republic.geojson | 1 +
.../src/countries/chad.geojson | 1 +
.../src/countries/chile.geojson | 1 +
.../src/countries/china.geojson | 1 +
.../src/countries/colombia.geojson | 1 +
.../src/countries/comoros.geojson | 1 +
.../src/countries/cook_islands.geojson | 1 +
.../src/countries/costa_rica.geojson | 1 +
.../src/countries/croatia.geojson | 1 +
.../src/countries/cuba.geojson | 1 +
.../src/countries/cyprus.geojson | 1 +
.../src/countries/czech_republic.geojson | 1 +
.../democratic_republic_of_the_congo.geojson | 1 +
.../src/countries/denmark.geojson | 1 +
.../src/countries/djibouti.geojson | 1 +
.../src/countries/dominica.geojson | 1 +
.../src/countries/dominican_republic.geojson | 1 +
.../src/countries/ecuador.geojson | 1 +
.../src/countries/egypt.geojson | 1 +
.../src/countries/el_salvador.geojson | 1 +
.../src/countries/equatorial_guinea.geojson | 1 +
.../src/countries/eritrea.geojson | 1 +
.../src/countries/estonia.geojson | 1 +
.../src/countries/ethiopia.geojson | 1 +
.../src/countries/fiji.geojson | 1 +
.../src/countries/finland.geojson | 1 +
.../src/countries/france.geojson | 1 +
.../src/countries/france_regions.geojson | 1 +
.../src/countries/french_polynesia.geojson | 1 +
.../src/countries/gabon.geojson | 1 +
.../src/countries/gambia.geojson | 1 +
.../src/countries/germany.geojson | 1 +
.../src/countries/ghana.geojson | 1 +
.../src/countries/greece.geojson | 1 +
.../src/countries/greenland.geojson | 1 +
.../src/countries/grenada.geojson | 1 +
.../src/countries/guatemala.geojson | 1 +
.../src/countries/guinea.geojson | 1 +
.../src/countries/guyana.geojson | 1 +
.../src/countries/haiti.geojson | 1 +
.../src/countries/honduras.geojson | 1 +
.../src/countries/hungary.geojson | 50 +
.../src/countries/iceland.geojson | 1 +
.../src/countries/india.geojson | 3 +-
.../src/countries/indonesia.geojson | 1 +
.../src/countries/iran.geojson | 1 +
.../src/countries/israel.geojson | 1 +
.../src/countries/italy.geojson | 1 +
.../src/countries/italy_regions.geojson | 1 +
.../src/countries/japan.geojson | 1 +
.../src/countries/jordan.geojson | 1 +
.../src/countries/kazakhstan.geojson | 1 +
.../src/countries/kenya.geojson | 1 +
.../src/countries/korea.geojson | 1 +
.../src/countries/kuwait.geojson | 1 +
.../src/countries/kyrgyzstan.geojson | 1 +
.../src/countries/laos.geojson | 1 +
.../src/countries/latvia.geojson | 1 +
.../src/countries/lebanon.geojson | 1 +
.../src/countries/lesotho.geojson | 1 +
.../src/countries/liberia.geojson | 1 +
.../src/countries/libya.geojson | 1 +
.../src/countries/liechtenstein.geojson | 1 +
.../src/countries/lithuania.geojson | 1 +
.../src/countries/luxembourg.geojson | 1 +
.../src/countries/macedonia.geojson | 1 +
.../src/countries/madagascar.geojson | 1 +
.../src/countries/malawi.geojson | 1 +
.../src/countries/malaysia.geojson | 1 +
.../src/countries/maldives.geojson | 1 +
.../src/countries/mali.geojson | 1 +
.../src/countries/malta.geojson | 1 +
.../src/countries/marshall_islands.geojson | 1 +
.../src/countries/mauritania.geojson | 1 +
.../src/countries/mauritius.geojson | 1 +
.../src/countries/mexico.geojson | 1 +
.../src/countries/moldova.geojson | 1 +
.../src/countries/mongolia.geojson | 1 +
.../src/countries/montenegro.geojson | 1 +
.../src/countries/montserrat.geojson | 1 +
.../src/countries/morocco.geojson | 1 +
.../src/countries/mozambique.geojson | 1 +
.../src/countries/myanmar.geojson | 1 +
.../src/countries/namibia.geojson | 1 +
.../src/countries/nauru.geojson | 1 +
.../src/countries/nepal.geojson | 1 +
.../src/countries/netherlands.geojson | 1 +
.../src/countries/new_caledonia.geojson | 1 +
.../src/countries/new_zealand.geojson | 1 +
.../src/countries/nicaragua.geojson | 1 +
.../src/countries/niger.geojson | 1 +
.../src/countries/nigeria.geojson | 1 +
.../src/countries/northern_mariana_islands.geojson | 1 +
.../src/countries/norway.geojson | 1 +
.../src/countries/oman.geojson | 1 +
.../src/countries/pakistan.geojson | 1 +
.../src/countries/palau.geojson | 1 +
.../src/countries/panama.geojson | 1 +
.../src/countries/papua_new_guinea.geojson | 1 +
.../src/countries/paraguay.geojson | 1 +
.../src/countries/peru.geojson | 1 +
.../src/countries/philippines.geojson | 1 +
.../src/countries/philippines_regions.geojson | 1 +
.../src/countries/poland.geojson | 1 +
.../src/countries/portugal.geojson | 1 +
.../src/countries/qatar.geojson | 1 +
.../src/countries/romania.geojson | 1 +
.../src/countries/russia.geojson | 1 +
.../src/countries/rwanda.geojson | 1 +
.../src/countries/saint_lucia.geojson | 1 +
.../countries/saint_pierre_and_miquelon.geojson | 1 +
.../saint_vincent_and_the_grenadines.geojson | 1 +
.../src/countries/samoa.geojson | 1 +
.../src/countries/san_marino.geojson | 1 +
.../src/countries/sao_tome_and_principe.geojson | 1 +
.../src/countries/saudi_arabia.geojson | 1 +
.../src/countries/senegal.geojson | 1 +
.../src/countries/seychelles.geojson | 1 +
.../src/countries/sierra_leone.geojson | 1 +
.../src/countries/singapore.geojson | 1 +
.../src/countries/slovakia.geojson | 1 +
.../src/countries/slovenia.geojson | 1 +
.../src/countries/solomon_islands.geojson | 1 +
.../src/countries/somalia.geojson | 1 +
.../src/countries/south_africa.geojson | 1 +
.../src/countries/spain.geojson | 1 +
.../src/countries/sri_lanka.geojson | 1 +
.../src/countries/sudan.geojson | 1 +
.../src/countries/suriname.geojson | 1 +
.../src/countries/sweden.geojson | 1 +
.../src/countries/switzerland.geojson | 1 +
.../src/countries/syria.geojson | 1 +
.../src/countries/taiwan.geojson | 1 +
.../src/countries/tajikistan.geojson | 1 +
.../src/countries/tanzania.geojson | 1 +
.../src/countries/thailand.geojson | 1 +
.../src/countries/the_bahamas.geojson | 1 +
.../src/countries/timorleste.geojson | 1 +
.../src/countries/togo.geojson | 1 +
.../src/countries/tonga.geojson | 1 +
.../src/countries/trinidad_and_tobago.geojson | 1 +
.../src/countries/tunisia.geojson | 1 +
.../src/countries/turkey.geojson | 1 +
.../src/countries/turkey_regions.geojson | 1 +
.../src/countries/turkmenistan.geojson | 1 +
.../src/countries/turks_and_caicos_islands.geojson | 1 +
.../src/countries/uganda.geojson | 1 +
.../src/countries/uk.geojson | 1 +
.../src/countries/ukraine.geojson | 1 +
.../src/countries/united_arab_emirates.geojson | 1 +
.../united_states_minor_outlying_islands.geojson | 1 +
.../countries/united_states_virgin_islands.geojson | 1 +
.../src/countries/uruguay.geojson | 1 +
.../src/countries/usa.geojson | 1 +
.../src/countries/uzbekistan.geojson | 1 +
.../src/countries/vanuatu.geojson | 1 +
.../src/countries/venezuela.geojson | 1 +
.../src/countries/vietnam.geojson | 1 +
.../src/countries/wallis_and_futuna.geojson | 1 +
.../src/countries/yemen.geojson | 1 +
.../src/countries/zambia.geojson | 1 +
.../src/countries/zimbabwe.geojson | 1 +
.../src/controlPanel.tsx | 13 +-
.../src/Histogram.jsx | 2 +-
.../legacy-plugin-chart-partition/package.json | 8 +-
.../legacy-plugin-chart-partition/src/Partition.js | 4 +-
.../test/OptionDescription.test.jsx | 41 +-
.../plugins/legacy-plugin-chart-rose/src/Rose.js | 14 +-
.../legacy-plugin-chart-sankey/src/Sankey.js | 2 +-
.../legacy-plugin-chart-sankey/src/controlPanel.ts | 13 +-
.../legacy-plugin-chart-sankey/src/index.js | 2 +-
.../src/controlPanel.ts | 13 +-
.../legacy-preset-chart-deckgl/package.json | 6 +-
.../src/CategoricalDeckGLContainer.tsx | 10 +-
.../src/components/Legend.tsx | 4 +-
.../src/layers/Heatmap/Heatmap.tsx | 2 +-
.../src/layers/Heatmap/controlPanel.ts | 2 +-
.../legacy-preset-chart-nvd3/src/Compare/index.js | 3 +-
.../legacy-preset-chart-nvd3/src/NVD3Controls.tsx | 2 +-
.../legacy-preset-chart-nvd3/src/NVD3Vis.js | 4 +-
.../legacy-preset-chart-nvd3/src/transformProps.js | 4 +-
.../plugins/plugin-chart-echarts/package.json | 2 +-
.../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx | 41 +-
.../BigNumberPeriodOverPeriod/buildQuery.ts | 51 +-
.../BigNumberPeriodOverPeriod/transformProps.ts | 30 +-
.../BigNumber/BigNumberPeriodOverPeriod/types.ts | 1 +
.../src/BigNumber/BigNumberTotal/controlPanel.ts | 2 +-
.../BigNumberWithTrendline/controlPanel.tsx | 2 +-
.../BigNumberWithTrendline/transformProps.ts | 2 +-
.../plugin-chart-echarts/src/BigNumber/types.ts | 2 +-
.../src/BoxPlot/transformProps.ts | 11 +-
.../plugin-chart-echarts/src/Bubble/index.ts | 4 +-
.../src/Bubble/transformProps.ts | 7 +-
.../src/Funnel/controlPanel.tsx | 6 +-
.../src/Funnel/transformProps.ts | 7 +-
.../plugin-chart-echarts/src/Gauge/constants.ts | 2 +-
.../src/Gauge/controlPanel.tsx | 13 +-
.../src/Gauge/transformProps.ts | 11 +-
.../plugin-chart-echarts/src/Graph/constants.ts | 2 +-
.../src/Graph/transformProps.ts | 7 +-
.../plugin-chart-echarts/src/Graph/types.ts | 4 +-
.../src/Heatmap/transformProps.ts | 17 +-
.../plugin-chart-echarts/src/Histogram/index.ts | 4 +-
.../src/Histogram/transformProps.ts | 8 +-
.../src/MixedTimeseries/EchartsMixedTimeseries.tsx | 25 +-
.../src/MixedTimeseries/controlPanel.tsx | 1 +
.../src/MixedTimeseries/transformProps.ts | 30 +-
.../plugin-chart-echarts/src/Pie/controlPanel.tsx | 7 +-
.../plugin-chart-echarts/src/Pie/transformProps.ts | 7 +-
.../src/Radar/transformProps.ts | 9 +-
.../plugin-chart-echarts/src/Sankey/Sankey.tsx} | 27 +-
.../plugin-chart-echarts/src/Sankey/buildQuery.ts} | 20 +-
.../src/Sankey/controlPanel.tsx} | 46 +-
.../src/Sankey/images/example1.png | Bin 0 -> 151732 bytes
.../src/Sankey/images/example2.png | Bin 0 -> 101327 bytes
.../src/Sankey/images/thumbnail.png | Bin 0 -> 59782 bytes
.../src/{Histogram => Sankey}/index.ts | 28 +-
.../src/Sankey/transformProps.ts | 127 +
.../src/Sankey}/types.ts | 26 +-
.../src/Sunburst/EchartsSunburst.tsx | 6 +-
.../src/Sunburst/controlPanel.tsx | 13 +-
.../src/Sunburst/transformProps.ts | 4 +-
.../plugin-chart-echarts/src/Sunburst/types.ts | 2 +-
.../src/Timeseries/Area/controlPanel.tsx | 3 +-
.../src/Timeseries/EchartsTimeseries.tsx | 15 +-
.../src/Timeseries/Regular/Bar/controlPanel.tsx | 5 +-
.../src/Timeseries/Regular/Line/controlPanel.tsx | 1 +
.../Timeseries/Regular/Scatter/controlPanel.tsx | 1 +
.../Timeseries/Regular/SmoothLine/controlPanel.tsx | 1 +
.../src/Timeseries/Step/controlPanel.tsx | 1 +
.../src/Timeseries/transformProps.ts | 18 +-
.../src/Timeseries/transformers.ts | 42 +-
.../plugin-chart-echarts/src/Timeseries/types.ts | 3 +-
.../plugin-chart-echarts/src/Tree/constants.ts | 2 +-
.../src/Tree/transformProps.ts | 7 +-
.../plugins/plugin-chart-echarts/src/Tree/types.ts | 4 +-
.../src/Treemap/EchartsTreemap.tsx | 7 +-
.../src/Treemap/controlPanel.tsx | 13 +-
.../src/Treemap/transformProps.ts | 9 +-
.../plugin-chart-echarts/src/Treemap/types.ts | 2 +-
.../plugin-chart-echarts/src/Waterfall/index.ts | 4 +-
.../src/Waterfall/transformProps.ts | 5 +-
.../plugin-chart-echarts/src/Waterfall/types.ts | 4 +-
.../plugin-chart-echarts/src/components/Echart.tsx | 59 +-
.../plugins/plugin-chart-echarts/src/constants.ts | 1 +
.../plugins/plugin-chart-echarts/src/index.ts | 2 +
.../plugins/plugin-chart-echarts/src/types.ts | 6 +-
.../src/utils/eventHandlers.ts | 17 +-
.../plugin-chart-echarts/src/utils/forecast.ts | 4 +-
.../plugin-chart-echarts/src/utils/series.ts | 4 +-
.../plugin-chart-echarts/src/utils/tooltip.ts | 4 +-
.../test/Graph/transformProps.test.ts | 2 +-
.../test/Pie/transformProps.test.ts | 7 +-
.../test/Timeseries/transformProps.test.ts | 1 -
.../test/Timeseries/transformers.test.ts | 84 +
.../plugins/plugin-chart-handlebars/package.json | 2 +-
.../src/plugin/controls/metrics.tsx | 2 +-
.../plugins/plugin-chart-pivot-table/package.json | 4 +-
.../src/PivotTableChart.tsx | 2 +
.../src/plugin/controlPanel.tsx | 14 +-
.../src/plugin/transformProps.ts | 2 +
.../src/react-pivottable/TableRenderers.jsx | 22 +-
.../plugins/plugin-chart-pivot-table/src/types.ts | 1 +
.../plugins/plugin-chart-table/package.json | 9 +-
.../src/DataTable/components/SelectPageSize.tsx | 7 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 41 +-
.../plugins/plugin-chart-table/src/buildQuery.ts | 74 +-
.../plugin-chart-table/src/controlPanel.tsx | 53 +-
.../plugin-chart-table/src/transformProps.ts | 130 +-
.../plugin-chart-table/test/TableChart.test.tsx | 172 +-
.../plugin-chart-table/test/buildQuery.test.ts | 43 +
.../plugins/plugin-chart-table/test/enzyme.tsx | 67 -
.../plugins/plugin-chart-table/test/testData.ts | 128 +
.../plugin-chart-table/test/testHelpers.tsx} | 24 +-
.../src/chart/WordCloud.tsx | 9 +-
.../plugins/plugin-chart-word-cloud/src/index.ts | 2 -
.../src/legacyPlugin/index.ts | 43 -
.../src/legacyPlugin/transformProps.ts | 84 -
.../src/plugin/controlPanel.ts | 13 +-
.../plugin-chart-word-cloud/src/plugin/index.ts | 2 +-
.../src/plugin/transformProps.ts | 55 +-
.../test/{plugin => }/buildQuery.test.ts | 4 +-
.../test/legacyPlugin/transformProps.test.ts | 74 -
superset-frontend/scripts/build.js | 4 +-
superset-frontend/scripts/copyAssets.js | 10 +-
superset-frontend/src/GlobalStyles.tsx | 7 +-
superset-frontend/src/SqlLab/actions/sqlLab.js | 45 +-
.../src/SqlLab/actions/sqlLab.test.js | 124 +-
.../AceEditorWrapper/AceEditorWrapper.test.tsx | 44 +-
.../SqlLab/components/AceEditorWrapper/index.tsx | 18 +-
.../AceEditorWrapper/useAnnotations.test.ts | 2 +-
.../components/AceEditorWrapper/useAnnotations.ts | 5 +-
.../components/AceEditorWrapper/useKeywords.ts | 6 +-
.../EditorAutoSync/EditorAutoSync.test.tsx | 34 +-
.../components/KeyboardShortcutButton/index.tsx | 4 +
.../QueryAutoRefresh/QueryAutoRefresh.test.tsx | 2 +-
.../SqlLab/components/QueryAutoRefresh/index.tsx | 19 +-
.../src/SqlLab/components/QueryHistory/index.tsx | 6 +-
.../QueryLimitSelect/QueryLimitSelect.test.tsx | 12 +-
.../SqlLab/components/ResultSet/ResultSet.test.tsx | 101 +
.../src/SqlLab/components/ResultSet/index.tsx | 63 +-
.../components/SaveDatasetActionButton/index.tsx | 9 +-
.../components/ScheduleQueryButton/index.tsx | 11 +-
.../src/SqlLab/components/SouthPane/index.tsx | 4 +-
.../SqlLab/components/SqlEditor/SqlEditor.test.tsx | 24 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 234 +-
.../SqlEditorLeftBar/SqlEditorLeftBar.test.tsx | 37 +-
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 12 +-
.../components/TableElement/TableElement.test.tsx | 37 +-
.../src/SqlLab/components/TableElement/index.tsx | 21 +-
superset-frontend/src/SqlLab/fixtures.ts | 19 +-
.../src/SqlLab/reducers/getInitialState.ts | 1 +
superset-frontend/src/SqlLab/reducers/sqlLab.js | 14 +-
.../src/SqlLab/reducers/sqlLab.test.js | 29 +
.../src/SqlLab/utils/newQueryTabName.ts | 4 +-
superset-frontend/src/assets/images/couchbase.svg | 19 +
superset-frontend/src/assets/images/oceanbase.svg | 67 +
superset-frontend/src/assets/images/timescale.png | Bin 15319 -> 7221 bytes
.../assets/stylesheets/less/cosmo/bootswatch.less | 5 -
.../src/assets/stylesheets/less/fonts.less | 6 +-
.../{Slider => AntdThemeProvider}/index.tsx | 15 +-
.../Tooltip.test.tsx} | 50 +-
.../src/components/AsyncAceEditor/Tooltip.tsx | 57 +
.../src/components/AsyncAceEditor/index.tsx | 104 +-
.../src/components/Badge/Badge.stories.tsx | 49 +-
.../src/components/Badge/Badge.test.tsx | 9 -
superset-frontend/src/components/Badge/index.tsx | 31 +-
.../src/components/Button/Button.test.tsx | 53 +-
superset-frontend/src/components/Button/index.tsx | 3 +-
.../Card/Card.test.tsx} | 13 +-
superset-frontend/src/components/Card/index.tsx | 7 +-
.../CertifiedBadge/CertifiedBadge.stories.tsx | 3 +
superset-frontend/src/components/Chart/Chart.jsx | 4 +-
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 4 +
.../src/components/Chart/ChartRenderer.jsx | 8 +-
.../src/components/Chart/ChartRenderer.test.jsx | 41 +-
.../Chart/DrillBy/DrillByMenuItems.test.tsx | 1 +
.../components/Chart/DrillBy/DrillByMenuItems.tsx | 5 +-
.../components/Chart/DrillBy/DrillByModal.test.tsx | 1 +
.../src/components/Chart/DrillBy/DrillByModal.tsx | 19 +-
.../Chart/DrillBy/useResultsTableView.test.ts | 4 +-
.../Chart/DrillBy/useResultsTableView.tsx | 3 +
.../Chart/DrillDetail/DrillDetailPane.tsx | 15 +-
.../src/components/Checkbox/Checkbox.stories.tsx | 2 +-
.../src/components/Checkbox/Checkbox.test.tsx | 84 +-
.../ConfirmStatusChange.test.jsx | 63 +-
.../DatabaseSelector/DatabaseSelector.test.tsx | 6 +-
.../src/components/DatabaseSelector/index.tsx | 31 +-
.../Datasource/ChangeDatasourceModal.test.jsx | 86 +-
.../components/Datasource/CollectionTable.test.jsx | 30 +-
.../src/components/Datasource/CollectionTable.tsx | 6 +-
.../src/components/Datasource/DatasourceEditor.jsx | 8 +-
.../src/components/Datasource/Field.test.tsx | 54 +-
.../components/DeleteModal/DeleteModal.test.tsx | 4 +-
.../src/components/DeleteModal/index.tsx | 4 +-
.../src/components/DropdownButton/index.tsx | 2 -
.../DropdownContainer/Overview.stories.tsx | 1 -
.../src/components/DynamicEditableTitle/index.tsx | 267 +-
.../EditableTitle/EditableTitle.test.tsx | 152 +-
.../components/ErrorMessage/BasicErrorAlert.tsx | 2 +-
.../ErrorMessage/OAuth2RedirectMessage.tsx | 2 +-
.../getErrorMessageComponentRegistry.test.tsx | 2 +-
.../src/components/FacePile/FacePile.test.tsx | 38 +-
.../src/components/FacePile/index.tsx | 15 +-
superset-frontend/src/components/Form/FormItem.tsx | 1 -
.../src/components/Form/FormLabel.tsx | 2 -
.../src/components/FormRow/FormRow.test.jsx | 52 +-
.../components/IconTooltip/IconTooltip.test.jsx | 42 +-
.../src/components/Icons/AntdEnhanced.tsx | 101 +-
.../components/ImportModal/ImportModal.test.tsx | 216 +-
.../src/components/InfoTooltip/index.tsx | 15 +-
.../src/components/Label/Label.test.tsx | 50 +-
.../components/LastUpdated/LastUpdated.test.tsx | 34 +-
.../src/components/ListView/ListView.test.jsx | 72 +-
superset-frontend/src/components/ListView/types.ts | 9 +-
superset-frontend/src/components/ListView/utils.ts | 2 +-
.../src/components/MessageToasts/Toast.test.jsx | 47 +-
.../MessageToasts/ToastPresenter.test.jsx | 46 +-
.../src/components/MessageToasts/actions.ts | 4 +-
.../components/MetadataBar/MetadataBar.test.tsx | 2 +-
.../src/components/MetadataBar/MetadataBar.tsx | 6 +-
.../MetadataBar/MetadataBarOverview.stories.tsx | 228 +-
superset-frontend/src/components/Modal/Modal.tsx | 1 -
.../PopoverDropdown/PopoverDropdown.stories.tsx | 18 +-
.../components/ProgressBar/ProgressBar.stories.tsx | 44 +-
.../src/components/ProgressBar/index.tsx | 15 +-
.../src/components/Radio/Radio.stories.tsx | 2 +-
.../src/components/Select/Select.test.tsx | 14 +
superset-frontend/src/components/Select/Select.tsx | 12 +-
.../src/components/Slider/Slider.stories.tsx | 77 +-
.../Slider/Slider.test.tsx} | 31 +-
superset-frontend/src/components/Slider/index.tsx | 8 +-
.../src/components/Switch/Switch.stories.tsx | 2 +-
.../src/components/Table/Table.stories.tsx | 42 +-
.../src/components/Table/TableOverview.stories.tsx | 27 +-
.../ActionCell/ActionCell.overview.tsx | 1 -
.../ActionCell/ActionCell.stories.tsx | 6 +-
.../BooleanCell/BooleanCell.stories.tsx | 6 +-
.../ButtonCell/ButtonCell.stories.tsx | 8 +-
.../cell-renderers/NullCell/NullCell.stories.tsx | 6 +-
.../NumericCell/NumericCell.stories.tsx | 8 +-
.../cell-renderers/TimeCell/TimeCell.stories.tsx | 10 +-
.../src/components/Table/sorters.test.ts | 2 +-
.../src/components/TableSelector/index.tsx | 2 +-
superset-frontend/src/components/Tabs/Tabs.tsx | 1 -
.../components/Tags/Tag.stories.tsx} | 15 +-
superset-frontend/src/components/Tags/Tag.tsx | 3 +-
.../src/components/Tags/TagsList.stories.tsx | 8 +-
.../TimezoneSelector.DaylightSavingTime.test.tsx | 65 +
.../TimezoneSelector/TimezoneSelector.stories.tsx | 2 +-
.../TimezoneSelector/TimezoneSelector.test.tsx | 49 +-
.../src/components/TimezoneSelector/index.tsx | 152 +-
.../TooltipParagraph/TooltipParagraph.test.tsx | 2 +-
superset-frontend/src/components/index.ts | 5 +-
.../src/dashboard/actions/dashboardInfo.ts | 39 +-
.../src/dashboard/actions/dashboardState.js | 80 +-
superset-frontend/src/dashboard/actions/hydrate.js | 11 -
.../components/AddSliceCard/AddSliceCard.tsx | 2 -
.../components/ColorSchemeControlWrapper.jsx | 8 +-
.../DashboardBuilder/DashboardBuilder.test.tsx | 6 +-
.../DashboardBuilder/DashboardBuilder.tsx | 29 +-
.../DashboardBuilder/DashboardContainer.tsx | 118 +-
.../DashboardBuilder/DashboardWrapper.test.tsx | 4 +-
.../dashboard/components/DashboardBuilder/state.ts | 14 +-
.../dashboard/components/FiltersBadge/index.tsx | 4 +-
.../Header/HeaderActionsDropdown/index.jsx | 2 +-
.../src/dashboard/components/Header/index.jsx | 19 +-
.../PropertiesModal/PropertiesModal.test.jsx | 41 +-
.../PropertiesModal/PropertiesModal.test.tsx | 12 +-
.../dashboard/components/PropertiesModal/index.tsx | 53 +-
.../components/SliceHeader/SliceHeader.test.tsx | 4 +-
.../src/dashboard/components/SliceHeader/index.tsx | 4 +-
.../components/SliceHeaderControls/index.tsx | 15 +
.../components/SyncDashboardState/index.tsx | 4 +-
.../dnd/handleScroll/handleScroll.test.ts | 3 +-
.../dashboard/components/gridComponents/Chart.jsx | 24 +-
.../components/gridComponents/Chart.test.jsx | 8 +-
.../dashboard/components/gridComponents/Tabs.jsx | 3 +-
.../menu/DownloadMenuItems/DownloadAsPdf.test.tsx | 66 -
.../menu/DownloadMenuItems/DownloadAsPdf.tsx | 55 -
.../DownloadMenuItems/DownloadMenuItems.test.tsx | 6 +-
.../DownloadMenuItems/DownloadScreenshot.test.tsx | 209 +
.../menu/DownloadMenuItems/DownloadScreenshot.tsx | 166 +
.../components/menu/DownloadMenuItems/index.tsx | 21 +-
.../components/menu/DownloadMenuItems/types.ts} | 6 +-
.../src/dashboard/components/menu/HoverMenu.tsx | 2 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 6 +-
.../FilterBar/FilterControls/FilterControls.tsx | 4 +-
.../FilterBar/FilterControls/FilterValue.tsx | 2 +-
.../components/nativeFilters/FilterCard/Styles.ts | 1 -
.../nativeFilters/FilterCard/useFilterScope.ts | 9 +-
.../FiltersConfigForm/ColumnSelect.tsx | 48 +-
.../FiltersConfigForm/DependencyList.tsx | 1 -
.../FilterScope/FilterScope.test.tsx | 1 +
.../FiltersConfigForm/FiltersConfigForm.tsx | 48 +-
.../FiltersConfigForm/getControlItemsMap.test.tsx | 3 +-
.../FiltersConfigForm/getControlItemsMap.tsx | 4 +
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 4 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 2 +
.../nativeFilters/FiltersConfigModal/utils.ts | 4 +-
.../dashboard/components/nativeFilters/state.ts | 2 +-
.../components/nativeFilters/utils.test.ts | 6 +-
.../src/dashboard/containers/Chart.jsx | 12 +-
.../dashboard/containers/DashboardComponent.jsx | 1 +
.../src/dashboard/containers/DashboardPage.tsx | 27 +-
superset-frontend/src/dashboard/types.ts | 1 +
.../util/charts/getFormDataWithExtraFilters.ts | 16 +-
.../src/dashboard/util/crossFilters.test.ts | 4 +-
.../src/dashboard/util/crossFilters.ts | 19 +-
.../src/dashboard/util/getDashboardUrl.test.js | 4 +-
.../src/dashboard/util/newComponentFactory.js | 4 +-
.../src/dashboard/util/permissionUtils.test.ts | 6 +-
superset-frontend/src/dataMask/reducer.ts | 2 +-
superset-frontend/src/embedded/index.tsx | 8 +-
.../src/explore/actions/exploreActions.test.js | 5 +-
.../components/ControlPanelsContainer.test.tsx | 56 +
.../explore/components/ControlPanelsContainer.tsx | 11 +-
.../explore/components/DataTableControl/index.tsx | 5 +-
.../components/DataTablesPane/DataTablesPane.tsx | 3 +
.../components/DataTableControls.tsx | 5 +-
.../components/ResultsPaneOnDashboard.tsx | 2 +
.../DataTablesPane/components/SamplesPane.tsx | 3 +
.../components/SingleQueryResultPane.tsx | 2 +
.../DataTablesPane/components/useResultsPane.tsx | 3 +
.../DataTablesPane/test/DataTablesPane.test.tsx | 28 +
.../components/DataTablesPane/test/fixture.tsx | 3 +
.../src/explore/components/DataTablesPane/types.ts | 5 +
.../explore/components/DatasourcePanel/index.tsx | 3 +-
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 58 +-
.../components/ExploreChartHeader/index.jsx | 38 +-
.../explore/components/ExploreChartPanel/index.jsx | 2 +
.../StashFormDataContainer.test.tsx | 30 +-
.../components/StashFormDataContainer/index.tsx | 9 +-
.../components/controls/CheckboxControl.test.tsx | 1 -
.../controls/CollectionControl/index.jsx | 4 +-
.../ColorSchemeControl/ColorSchemeControl.test.tsx | 13 +-
.../ColorSchemeControl/ColorSchemeLabel.tsx | 12 +-
.../controls/ColorSchemeControl/index.tsx | 14 +-
.../ColumnConfigControl/ColumnConfigControl.tsx | 14 +-
.../ColumnConfigControl/ControlForm/index.tsx | 1 -
.../components/controls/ComparisonRangeLabel.tsx | 57 +-
.../FormattingPopoverContent.test.tsx | 121 +
.../FormattingPopoverContent.tsx | 10 +-
.../controls/DatasourceControl/index.jsx | 6 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 1 -
.../DateFilterControl/components/CustomFrame.tsx | 32 +-
.../DateFilterControl/tests/CustomFrame.test.tsx | 45 +-
.../controls/DateFilterControl/utils/constants.ts | 28 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 7 +
.../DndFilterSelect.test.tsx | 1 +
.../AdhocFilterControl/AdhocFilterControl.test.jsx | 1 -
.../AdhocFilterEditPopover.test.jsx | 1 -
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 3 +-
.../AdhocFilterEditPopoverSqlTabContent/index.jsx | 15 +-
.../AdhocMetricEditPopover.test.jsx | 1 -
.../MetricControl/AdhocMetricEditPopover/index.jsx | 12 +-
.../MetricControl/AdhocMetricOption.test.jsx | 101 +-
.../MetricControl/FilterDefinitionOption.test.jsx | 1 -
.../MetricControl/MetricDefinitionOption.test.jsx | 53 -
.../MetricControl/MetricDefinitionOption.test.tsx | 60 +
.../MetricControl/MetricDefinitionValue.test.jsx | 51 +-
.../controls/MetricControl/MetricsControl.test.jsx | 224 +-
.../explore/components/controls/SelectControl.jsx | 64 +-
.../components/controls/SelectControl.test.jsx | 241 +-
.../components/controls/TextAreaControl.test.jsx | 1 -
.../components/controls/TimeOffsetControl.tsx | 14 +-
.../components/controls/ViewportControl.test.jsx | 1 -
.../controls/VizTypeControl/FastVizSwitcher.tsx | 2 -
.../controls/VizTypeControl/VizTypeGallery.tsx | 1 -
.../useExploreAdditionalActionsMenu/index.jsx | 30 +-
.../src/explore/controlUtils/controlUtils.test.tsx | 2 +-
.../controlUtils/getColumnKeywords.test.tsx} | 25 +-
.../src/explore/controlUtils/getColumnKeywords.tsx | 49 +
.../explore/controlUtils/standardizedFormData.ts | 2 +-
.../src/explore/exploreUtils/index.js | 6 +-
.../src/explore/reducers/exploreReducer.js | 18 +-
.../src/explore/reducers/exploreReducer.test.js | 45 +
.../src/features/alerts/AlertReportModal.test.tsx | 37 +-
.../src/features/alerts/AlertReportModal.tsx | 224 +-
.../alerts/components/NotificationMethod.test.tsx | 483 +
.../alerts/components/NotificationMethod.tsx | 476 +-
.../alerts/components/RecipientIcon.test.tsx | 50 +
.../features/alerts/components/RecipientIcon.tsx | 14 +-
superset-frontend/src/features/alerts/types.ts | 45 +-
.../src/features/dashboards/DashboardCard.test.tsx | 10 +-
.../src/features/dashboards/DashboardCard.tsx | 2 +-
.../DatabaseConnectionForm/CommonParameters.tsx | 31 +-
.../DatabaseConnectionForm/EncryptedField.tsx | 6 +-
.../OAuth2ClientField.test.tsx | 181 +
.../DatabaseConnectionForm/OAuth2ClientField.tsx | 112 +
.../DatabaseConnectionForm/ValidatedInputField.tsx | 5 +-
.../DatabaseConnectionForm/constants.ts | 92 +
.../DatabaseModal/DatabaseConnectionForm/index.tsx | 122 +-
.../databases/DatabaseModal/ExtraOptions.tsx | 27 +-
.../databases/DatabaseModal/SSHTunnelForm.tsx | 1 -
.../databases/DatabaseModal/index.test.tsx | 22 +-
.../src/features/databases/DatabaseModal/index.tsx | 20 +
.../src/features/databases/DatabaseModal/styles.ts | 3 -
superset-frontend/src/features/databases/types.ts | 34 +
.../DatasetPanel/DatasetPanel.stories.tsx | 6 +-
.../datasets/AddDataset/DatasetPanel/types.ts | 4 +-
.../AddDataset/LeftPanel/LeftPanel.test.tsx | 4 +-
.../datasets/hooks/useGetDatasetRelatedCounts.ts | 2 +-
superset-frontend/src/features/home/Menu.tsx | 12 +-
.../src/features/home/RightMenu.test.tsx | 41 +-
superset-frontend/src/features/home/RightMenu.tsx | 10 +-
.../features/queries/QueryPreviewModal.test.tsx | 2 +-
.../src/features/queries/QueryPreviewModal.tsx | 1 -
.../features/queries/SavedQueryPreviewModal.tsx | 1 -
.../HeaderReportDropdown/index.test.tsx | 3 +-
.../reports/ReportModal/ReportModal.test.tsx | 4 +-
.../src/features/reports/ReportModal/index.tsx | 10 +-
superset-frontend/src/features/reports/types.ts | 9 +-
.../features/rls/RowLevelSecurityModal.test.tsx | 1 +
.../src/features/rls/RowLevelSecurityModal.tsx | 8 +-
.../src/hooks/apiResources/apiResources.ts | 4 +-
.../src/hooks/apiResources/catalogs.ts | 61 +-
.../src/hooks/apiResources/queryApi.test.ts | 2 +-
.../src/hooks/apiResources/queryApi.ts | 1 +
.../src/hooks/apiResources/queryValidations.ts | 2 +-
.../src/hooks/apiResources/schemas.test.ts | 30 +-
.../src/hooks/apiResources/schemas.ts | 84 +-
superset-frontend/src/hooks/apiResources/sqlLab.ts | 4 +-
superset-frontend/src/hooks/apiResources/tables.ts | 19 +-
.../src/hooks/strictBroadcastChannel.ts | 63 +
.../src/hooks/useDebounceValue.test.ts | 1 +
superset-frontend/src/hooks/useTabId.ts | 28 +-
superset-frontend/src/middleware/logger.test.js | 20 +-
.../src/middleware/loggerMiddleware.js | 4 +-
.../src/pages/AlertReportList/index.tsx | 4 +-
superset-frontend/src/pages/AllEntities/index.tsx | 1 -
superset-frontend/src/pages/Chart/index.tsx | 14 +-
.../src/pages/ChartCreation/ChartCreation.test.tsx | 176 +-
.../src/pages/ChartList/ChartList.test.jsx | 4 +-
superset-frontend/src/pages/ChartList/index.tsx | 8 +-
.../src/pages/DashboardList/DashboardList.test.jsx | 4 +-
.../src/pages/DashboardList/index.tsx | 5 +-
.../src/pages/DatabaseList/DatabaseList.test.jsx | 9 +-
.../__snapshots__/DatabaseList.test.jsx.snap | 15 +
superset-frontend/src/pages/DatabaseList/index.tsx | 87 +-
.../src/pages/DatasetList/DatasetList.test.tsx | 4 +-
superset-frontend/src/pages/DatasetList/index.tsx | 89 +-
superset-frontend/src/pages/Home/Home.test.tsx | 237 +-
superset-frontend/src/pages/Home/index.tsx | 2 +-
.../RowLevelSecurityList.test.tsx | 4 +-
.../pages/SavedQueryList/SavedQueryList.test.jsx | 8 +-
.../src/pages/SavedQueryList/index.tsx | 2 +-
superset-frontend/src/reduxUtils.ts | 8 +-
superset-frontend/src/setup/setupApp.ts | 2 +-
superset-frontend/src/theme/index.ts | 84 +
superset-frontend/src/theme/light.ts | 119 +
.../src/types/DashboardContextForExplore.ts | 4 +-
superset-frontend/src/types/Owner.ts | 5 +-
superset-frontend/src/types/ace-builds.ts | 3 +-
superset-frontend/src/utils/colorScheme.ts | 140 +
superset-frontend/src/utils/downloadAsPdf.ts | 74 -
superset-frontend/src/utils/export.ts | 4 +-
superset-frontend/src/utils/getOwnerName.test.ts | 2 +
superset-frontend/src/utils/getOwnerName.ts | 2 +-
superset-frontend/src/utils/reducerUtils.js | 6 +-
superset-frontend/src/views/CRUD/utils.tsx | 60 +-
.../src/views/RootContextProviders.tsx | 50 +-
superset-frontend/src/views/routes.test.tsx | 2 +-
superset-frontend/src/views/store.ts | 6 +-
.../src/visualizations/presets/MainPreset.js | 2 +
.../tools/eslint-plugin-translation-vars/index.js | 2 +-
superset-frontend/webpack.config.js | 70 +-
superset-frontend/webpack.proxy-config.js | 3 +
superset-websocket/.nvmrc | 2 +-
superset-websocket/README.md | 22 +-
superset-websocket/package-lock.json | 7087 +-
superset-websocket/package.json | 23 +-
superset-websocket/src/index.ts | 3 +
superset-websocket/utils/README.md | 6 +-
superset-websocket/utils/client-ws-app/.nvmrc | 2 +-
superset-websocket/utils/client-ws-app/README.md | 8 +-
.../utils/client-ws-app/package-lock.json | 271 +-
.../utils/client-ws-app/package.json | 4 +-
superset/async_events/async_query_manager.py | 80 +-
superset/async_events/cache_backend.py | 209 +
superset/cachekeys/api.py | 8 +-
superset/cachekeys/schemas.py | 4 +
superset/charts/api.py | 27 +-
superset/charts/filters.py | 19 +-
superset/cli/examples.py | 2 +
superset/cli/main.py | 2 +
superset/cli/reset.py | 74 +
superset/cli/test.py | 11 +-
superset/cli/update.py | 3 +
superset/cli/viz_migrations.py | 151 +-
.../commands/annotation_layer/annotation/create.py | 10 +-
.../commands/annotation_layer/annotation/delete.py | 11 +-
.../commands/annotation_layer/annotation/update.py | 12 +-
superset/commands/annotation_layer/create.py | 10 +-
superset/commands/annotation_layer/delete.py | 11 +-
superset/commands/annotation_layer/update.py | 12 +-
superset/commands/chart/create.py | 14 +-
superset/commands/chart/delete.py | 11 +-
superset/commands/chart/exceptions.py | 8 +
.../commands/{dataset/refresh.py => chart/fave.py} | 52 +-
superset/commands/chart/importers/v1/utils.py | 2 +-
.../{dataset/refresh.py => chart/unfave.py} | 52 +-
superset/commands/chart/update.py | 27 +-
superset/commands/css/delete.py | 11 +-
superset/commands/dashboard/copy.py | 53 +
superset/commands/dashboard/create.py | 13 +-
superset/commands/dashboard/delete.py | 27 +-
superset/commands/dashboard/exceptions.py | 16 +
.../{security/delete.py => dashboard/fave.py} | 37 +-
superset/commands/dashboard/importers/v0.py | 3 +-
superset/commands/dashboard/importers/v1/utils.py | 2 +-
superset/commands/dashboard/permalink/create.py | 56 +-
superset/commands/dashboard/permalink/get.py | 9 +-
.../{security/delete.py => dashboard/unfave.py} | 37 +-
superset/commands/dashboard/update.py | 114 +-
superset/commands/database/create.py | 36 +-
superset/commands/database/delete.py | 11 +-
superset/commands/database/importers/v1/utils.py | 49 +-
superset/commands/database/ssh_tunnel/create.py | 11 +-
superset/commands/database/ssh_tunnel/delete.py | 10 +-
superset/commands/database/ssh_tunnel/update.py | 29 +-
superset/commands/database/test_connection.py | 24 +-
superset/commands/database/update.py | 109 +-
superset/commands/database/uploaders/base.py | 10 +-
superset/commands/database/validate.py | 11 +-
superset/commands/dataset/columns/delete.py | 11 +-
superset/commands/dataset/create.py | 38 +-
superset/commands/dataset/delete.py | 11 +-
superset/commands/dataset/duplicate.py | 115 +-
superset/commands/dataset/importers/v0.py | 4 +-
superset/commands/dataset/importers/v1/utils.py | 4 +-
superset/commands/dataset/metrics/delete.py | 11 +-
superset/commands/dataset/refresh.py | 14 +-
superset/commands/dataset/update.py | 42 +-
.../commands/distributed_lock/__init__.py | 0
.../create.py => distributed_lock/base.py} | 29 +-
superset/commands/distributed_lock/create.py | 64 +
.../delete.py | 39 +-
.../user.py => commands/distributed_lock/get.py} | 38 +-
superset/commands/exceptions.py | 2 +-
superset/commands/explore/permalink/create.py | 64 +-
superset/commands/explore/permalink/get.py | 8 +-
superset/commands/importers/v1/__init__.py | 6 +-
superset/commands/importers/v1/assets.py | 18 +-
superset/commands/importers/v1/examples.py | 5 +-
superset/commands/key_value/create.py | 103 -
superset/commands/key_value/delete.py | 64 -
superset/commands/key_value/delete_expired.py | 65 -
superset/commands/key_value/get.py | 72 -
superset/commands/key_value/update.py | 90 -
superset/commands/key_value/upsert.py | 100 -
superset/commands/query/delete.py | 11 +-
superset/commands/report/create.py | 10 +-
superset/commands/report/delete.py | 11 +-
superset/commands/report/execute.py | 74 +-
superset/commands/report/log_prune.py | 14 +-
superset/commands/report/update.py | 13 +-
superset/commands/security/create.py | 9 +-
superset/commands/security/delete.py | 10 +-
superset/commands/security/reset.py | 94 +
superset/commands/security/update.py | 12 +-
superset/commands/sql_lab/execute.py | 22 +-
superset/commands/sql_lab/query.py | 109 +
superset/commands/tag/create.py | 54 +-
superset/commands/tag/delete.py | 27 +-
superset/commands/tag/update.py | 20 +-
superset/commands/temporary_cache/create.py | 11 +-
superset/commands/temporary_cache/delete.py | 11 +-
superset/commands/temporary_cache/update.py | 11 +-
superset/common/query_actions.py | 2 +-
superset/common/query_context.py | 4 +-
superset/common/query_context_processor.py | 65 +-
superset/config.py | 95 +-
superset/connectors/sqla/models.py | 127 +-
superset/connectors/sqla/utils.py | 5 +-
superset/constants.py | 2 +
superset/css_templates/api.py | 14 +-
superset/daos/base.py | 48 +-
superset/daos/chart.py | 2 -
superset/daos/dashboard.py | 17 +-
superset/daos/database.py | 6 +-
superset/daos/dataset.py | 37 +-
superset/daos/exceptions.py | 24 -
superset/daos/key_value.py | 145 +
superset/daos/query.py | 2 -
superset/daos/report.py | 48 +-
superset/daos/tag.py | 66 +-
superset/daos/user.py | 5 +-
superset/dashboards/api.py | 302 +-
superset/dashboards/filters.py | 19 +-
superset/dashboards/schemas.py | 66 +-
superset/databases/api.py | 31 +-
superset/databases/schemas.py | 4 +
superset/datasets/api.py | 2 +
superset/datasets/schemas.py | 1 +
superset/db_engine_specs/README.md | 9 +-
superset/db_engine_specs/base.py | 149 +-
superset/db_engine_specs/bigquery.py | 48 +-
superset/db_engine_specs/couchbase.py | 257 +
superset/db_engine_specs/databricks.py | 23 +-
superset/db_engine_specs/db2.py | 2 +
superset/db_engine_specs/dremio.py | 5 +
superset/db_engine_specs/gsheets.py | 53 +-
superset/db_engine_specs/hive.py | 2 +-
superset/db_engine_specs/impala.py | 2 +-
superset/db_engine_specs/mssql.py | 1 +
.../db_engine_specs/{starrocks.py => oceanbase.py} | 158 +-
superset/db_engine_specs/pinot.py | 4 -
superset/db_engine_specs/postgres.py | 3 +-
superset/db_engine_specs/presto.py | 415 +-
superset/db_engine_specs/snowflake.py | 6 +
superset/db_engine_specs/starrocks.py | 50 +-
superset/db_engine_specs/trino.py | 39 +-
.../lock.py => distributed_lock/__init__.py} | 72 +-
.../distributed_lock/types.py | 5 +
.../exceptions.py => distributed_lock/utils.py} | 41 +-
superset/examples/bart_lines.py | 1 -
superset/examples/birth_names.py | 3 -
.../{World_Map.yaml => Sankey.yaml} | 34 +-
.../configs/dashboards/Featured_Charts.yaml | 34 +-
.../datasets/examples/wb_health_population.yaml | 4317 -
superset/examples/country_map.py | 1 -
superset/examples/css_templates.py | 2 -
superset/examples/deck.py | 1 -
superset/examples/energy.py | 3 -
superset/examples/flights.py | 1 -
superset/examples/helpers.py | 3 -
superset/examples/long_lat.py | 1 -
superset/examples/misc_dashboard.py | 1 -
superset/examples/multiformat_time_series.py | 1 -
superset/examples/paris.py | 1 -
superset/examples/random_time_series.py | 2 -
superset/examples/sf_population_polygons.py | 1 -
superset/examples/supported_charts_dashboard.py | 3 -
superset/examples/tabbed_dashboard.py | 3 -
superset/examples/world_bank.py | 6 +-
superset/exceptions.py | 35 +-
superset/extensions/__init__.py | 9 +-
superset/extensions/metadb.py | 2 +-
superset/extensions/metastore_cache.py | 44 +-
superset/extensions/pylint.py | 17 +
superset/initialization/__init__.py | 36 +-
superset/jinja_context.py | 116 +-
superset/key_value/models.py | 5 +
superset/key_value/shared_entries.py | 18 +-
superset/key_value/types.py | 9 +-
superset/key_value/utils.py | 4 +-
superset/migrations/env.py | 17 +-
superset/migrations/shared/catalogs.py | 657 +-
superset/migrations/shared/constraints.py | 22 +
superset/migrations/shared/migrate_viz/base.py | 2 -
.../migrations/shared/migrate_viz/processors.py | 12 +
superset/migrations/shared/utils.py | 14 +
...d83218_migrate_can_view_and_drill_permission.py | 2 +-
...20_16-02_678eefb4ab44_add_access_token_table.py | 3 +
...-04-11_15-41_5f57af97bc3f_add_catalog_column.py | 28 +-
...0-52_58d051681a3b_add_catalog_perm_to_tables.py | 2 +-
...9123a_update_charts_with_old_time_comparison.py | 28 +-
...4-05-24_11-31_02f4f7811799_remove_sl__tables.py | 197 -
...2f4f7811799_remove_sl_dataset_columns_table.py} | 49 +-
..._39549add7bfc_remove_sl_table_columns_table.py} | 49 +-
...15-23_38f4144e8558_remove_sl_dataset_tables.py} | 49 +-
..._15-27_e53fd48cc078_remove_sl_dataset_users.py} | 49 +-
...4-08-13_15-29_a6b32d2d07b1_remove_sl_columns.py | 82 +
...4-08-13_15-31_007a1abffe7e_remove_sl_tables.py} | 66 +-
...08-13_15-33_48cbb571fa3a_remove_sl_datasets.py} | 66 +-
superset/models/core.py | 24 +-
superset/models/dashboard.py | 52 +-
superset/models/helpers.py | 68 +-
superset/models/slice.py | 1 +
superset/queries/api.py | 6 +-
superset/queries/saved_queries/api.py | 23 +-
superset/queries/saved_queries/filters.py | 19 +-
superset/reports/api.py | 73 +-
superset/reports/models.py | 1 +
superset/reports/notifications/__init__.py | 1 +
superset/reports/notifications/email.py | 17 +-
superset/reports/notifications/exceptions.py | 11 +
superset/reports/notifications/slack.py | 218 +-
superset/reports/notifications/slack_mixin.py | 124 +
superset/reports/notifications/slackv2.py | 130 +
superset/reports/schemas.py | 13 +
superset/row_level_security/api.py | 17 +-
superset/security/api.py | 18 +-
superset/security/guest_token.py | 5 +-
superset/security/manager.py | 126 +-
superset/{commands/key_value => sql}/__init__.py | 0
superset/sql/parse.py | 648 +
superset/sql_lab.py | 42 +-
superset/sql_parse.py | 589 +-
superset/sqllab/api.py | 3 +-
superset/sqllab/sql_json_executer.py | 3 +
superset/sqllab/sqllab_execution_context.py | 6 +-
superset/tags/filters.py | 54 +
superset/tags/models.py | 1 +
superset/tasks/cache.py | 6 +-
superset/tasks/celery_app.py | 5 +-
superset/tasks/scheduler.py | 20 +-
superset/tasks/thumbnails.py | 49 +
superset/tasks/utils.py | 48 +-
superset/templates/head_custom_extra.html | 24 +
superset/templates/superset/base.html | 1 +
superset/templates/superset/basic.html | 11 +-
.../form_view/database_schemas_selector.html | 2 +-
superset/translations/ar/LC_MESSAGES/messages.po | 14855 +-
superset/translations/de/LC_MESSAGES/messages.po | 6794 +-
superset/translations/en/LC_MESSAGES/messages.po | 6745 +-
superset/translations/es/LC_MESSAGES/messages.po | 6780 +-
superset/translations/fr/LC_MESSAGES/messages.po | 6794 +-
superset/translations/it/LC_MESSAGES/messages.po | 6770 +-
superset/translations/ja/LC_MESSAGES/messages.po | 6833 +-
superset/translations/ko/LC_MESSAGES/messages.po | 6770 +-
superset/translations/messages.pot | 6744 +-
superset/translations/nl/LC_MESSAGES/messages.po | 6793 +-
superset/translations/pt/LC_MESSAGES/messages.po | 6771 +-
.../translations/pt_BR/LC_MESSAGES/messages.po | 6792 +-
superset/translations/requirements.txt | 1 +
superset/translations/ru/LC_MESSAGES/messages.po | 7297 +-
superset/translations/sk/LC_MESSAGES/messages.po | 6746 +-
superset/translations/sl/LC_MESSAGES/messages.po | 6791 +-
superset/translations/tr/LC_MESSAGES/messages.po | 6764 +-
superset/translations/uk/LC_MESSAGES/messages.po | 6794 +-
superset/translations/zh/LC_MESSAGES/messages.po | 6778 +-
.../translations/zh_TW/LC_MESSAGES/messages.po | 6778 +-
superset/utils/core.py | 6 +-
superset/utils/database.py | 5 +-
superset/utils/decorators.py | 63 +
superset/utils/excel.py | 21 +-
superset/utils/json.py | 115 +-
superset/utils/log.py | 2 +-
superset/utils/logging_configurator.py | 12 +-
superset/utils/machine_auth.py | 2 +
superset/utils/oauth2.py | 2 +-
superset/utils/screenshots.py | 23 +-
superset/utils/slack.py | 89 +
superset/views/api.py | 3 +-
superset/views/base.py | 197 +-
superset/views/base_api.py | 27 +-
superset/views/base_schemas.py | 127 -
superset/views/core.py | 16 +-
superset/views/dashboard/views.py | 2 +-
superset/views/database/mixins.py | 2 +-
superset/views/datasource/views.py | 4 +-
superset/views/error_handling.py | 222 +
superset/views/key_value.py | 2 +-
superset/views/sql_lab/views.py | 4 +-
superset/views/users/api.py | 13 +-
tests/integration_tests/async_events/api_tests.py | 53 +-
tests/integration_tests/base_tests.py | 20 +-
tests/integration_tests/celery_tests.py | 29 +-
tests/integration_tests/charts/api_tests.py | 164 +-
tests/integration_tests/charts/commands_tests.py | 69 +-
tests/integration_tests/charts/data/api_tests.py | 4 +
tests/integration_tests/commands_test.py | 13 +-
tests/integration_tests/conftest.py | 87 +-
tests/integration_tests/core_tests.py | 6 +-
tests/integration_tests/dashboard_tests.py | 6 +-
tests/integration_tests/dashboards/api_tests.py | 492 +-
.../integration_tests/dashboards/commands_tests.py | 174 +-
.../dashboards/update_tabs_test.py | 219 +
tests/integration_tests/databases/api_tests.py | 131 +-
.../integration_tests/databases/commands_tests.py | 70 +-
tests/integration_tests/datasets/api_tests.py | 96 +-
tests/integration_tests/datasets/commands_tests.py | 12 +-
tests/integration_tests/datasource/api_tests.py | 2 +-
tests/integration_tests/datasource_tests.py | 137 +-
.../db_engine_specs/bigquery_tests.py | 4 +-
.../db_engine_specs/gsheets_tests.py | 4 +-
.../db_engine_specs/mysql_tests.py | 4 +-
.../db_engine_specs/postgres_tests.py | 16 +-
.../db_engine_specs/presto_tests.py | 13 +-
tests/integration_tests/embedded/api_tests.py | 1 +
tests/integration_tests/embedded/dao_tests.py | 6 +-
tests/integration_tests/embedded/test_view.py | 2 +
tests/integration_tests/event_logger_tests.py | 2 +-
.../explore/permalink/commands_tests.py | 9 +-
.../extensions/metastore_cache_test.py | 26 +-
tests/integration_tests/fixtures/importexport.py | 7 +-
tests/integration_tests/fixtures/tags.py | 35 +
.../fixtures/unicode_dashboard.py | 5 +-
.../fixtures/world_bank_dashboard.py | 15 +-
tests/integration_tests/key_value/__init__.py | 16 -
.../key_value/commands/create_test.py | 96 -
.../key_value/commands/delete_test.py | 83 -
.../key_value/commands/fixtures.py | 69 -
.../key_value/commands/get_test.py | 103 -
.../key_value/commands/update_test.py | 97 -
.../key_value/commands/upsert_test.py | 101 -
...update_charts_with_old_time_comparison__test.py | 204 +-
tests/integration_tests/model_tests.py | 23 +
.../queries/saved_queries/api_tests.py | 125 +-
.../queries/saved_queries/commands_tests.py | 6 +-
tests/integration_tests/query_context_tests.py | 31 +
.../commands/execute_dashboard_report_tests.py | 30 +-
tests/integration_tests/reports/commands_tests.py | 429 +-
tests/integration_tests/reports/utils.py | 34 +-
tests/integration_tests/security/api_tests.py | 143 +-
.../security/guest_token_security_tests.py | 36 +-
.../security/row_level_security_tests.py | 11 +-
tests/integration_tests/security_tests.py | 5 +-
tests/integration_tests/sql_lab/api_tests.py | 2 +-
tests/integration_tests/sqla_models_tests.py | 11 +-
tests/integration_tests/sqllab_tests.py | 5 +-
tests/integration_tests/superset_test_config.py | 9 +-
.../superset_test_config_thumbnails.py | 4 -
tests/integration_tests/tags/dao_tests.py | 3 +-
.../integration_tests/tasks/async_queries_tests.py | 94 +-
tests/integration_tests/tasks/test_cache.py | 15 +-
.../tasks/{test_cache.py => test_utils.py} | 32 +-
tests/integration_tests/users/api_tests.py | 5 +-
.../async_events/async_query_manager_tests.py | 37 +-
.../charts/commands/importers/v1/import_test.py | 42 +-
tests/unit_tests/commands/databases/create_test.py | 33 +-
.../commands/databases/test_connection_test.py | 91 +
tests/unit_tests/commands/databases/update_test.py | 64 +-
.../unit_tests/commands/databases/validate_test.py | 206 +
tests/unit_tests/commands/report/execute_test.py | 222 +
tests/unit_tests/connectors/sqla/models_test.py | 4 +-
tests/unit_tests/connectors/sqla/utils_test.py | 91 +
tests/unit_tests/dao/dataset_test.py | 6 +-
tests/unit_tests/dao/key_value_test.py | 395 +
tests/unit_tests/dao/tag_test.py | 7 -
tests/unit_tests/dao/user_test.py | 95 +-
.../commands/importers/v1/import_test.py | 42 +-
tests/unit_tests/databases/api_test.py | 90 +-
.../databases/commands/importers/v1/import_test.py | 57 +-
.../databases/ssh_tunnel/commands/create_test.py | 2 +-
tests/unit_tests/databases/ssh_tunnel/dao_tests.py | 1 -
tests/unit_tests/datasets/commands/export_test.py | 1 +
tests/unit_tests/db_engine_specs/test_athena.py | 4 +-
tests/unit_tests/db_engine_specs/test_base.py | 81 +
tests/unit_tests/db_engine_specs/test_bigquery.py | 96 +-
tests/unit_tests/db_engine_specs/test_couchbase.py | 93 +
.../unit_tests/db_engine_specs/test_databricks.py | 22 +-
tests/unit_tests/db_engine_specs/test_db2.py | 8 +-
tests/unit_tests/db_engine_specs/test_gsheets.py | 92 +-
tests/unit_tests/db_engine_specs/test_mssql.py | 6 +-
tests/unit_tests/db_engine_specs/test_oceanbase.py | 59 +
tests/unit_tests/db_engine_specs/test_postgres.py | 8 +-
tests/unit_tests/db_engine_specs/test_snowflake.py | 103 +
tests/unit_tests/db_engine_specs/test_starrocks.py | 45 +
tests/unit_tests/db_engine_specs/test_trino.py | 113 +-
.../unit_tests/distributed_lock/__init__.py | 0
.../distributed_lock/distributed_lock_tests.py | 101 +
tests/unit_tests/fixtures/common.py | 26 +-
tests/unit_tests/jinja_context_test.py | 196 +-
.../unit_tests/migrations/shared/catalogs_test.py | 198 +-
tests/unit_tests/models/core_test.py | 99 +-
tests/unit_tests/notifications/__init__.py | 16 -
tests/unit_tests/notifications/slack_tests.py | 88 -
.../unit_tests/pandas_postprocessing/test_pivot.py | 2 +-
.../pandas_postprocessing/test_rename.py | 2 +-
.../{ => reports}/notifications/email_tests.py | 1 +
.../reports/notifications/slack_tests.py | 347 +-
tests/unit_tests/security/manager_test.py | 240 +-
.../unit_tests/sql}/__init__.py | 0
tests/unit_tests/sql/parse_tests.py | 920 +
tests/unit_tests/sql_lab_execution_context.py | 96 +
tests/unit_tests/sql_lab_test.py | 4 +-
tests/unit_tests/sql_parse_tests.py | 189 +-
tests/unit_tests/tags/filters_test.py | 85 +
tests/unit_tests/utils/excel_tests.py | 65 +-
tests/unit_tests/utils/json_tests.py | 46 +
tests/unit_tests/utils/lock_tests.py | 79 -
tests/unit_tests/utils/slack_test.py | 193 +
1313 files changed, 106232 insertions(+), 245363 deletions(-)
delete mode 100644 .github/workflows/superset-python-misc.yml
delete mode 100644 .github/workflows/update-monorepo-lockfiles.yml
create mode 100644 CHANGELOG/4.0.2.md
create mode 100644 RELEASING/release-notes-4-1/README.md
create mode 100644 RELEASING/release-notes-4-1/media/big_number_chart.png
create mode 100644 RELEASING/release-notes-4-1/media/columnar_modal_1.png
create mode 100644 RELEASING/release-notes-4-1/media/columnar_modal_2.png
create mode 100644 RELEASING/release-notes-4-1/media/columnar_modal_3.png
create mode 100644 RELEASING/release-notes-4-1/media/csv_modal_1.png
create mode 100644 RELEASING/release-notes-4-1/media/csv_modal_2.png
create mode 100644 RELEASING/release-notes-4-1/media/csv_modal_3.png
create mode 100644 RELEASING/release-notes-4-1/media/csv_modal_4.png
create mode 100644 RELEASING/release-notes-4-1/media/excel_modal_1.png
create mode 100644 RELEASING/release-notes-4-1/media/excel_modal_2.png
create mode 100644 RELEASING/release-notes-4-1/media/excel_modal_3.png
create mode 100644 RELEASING/release-notes-4-1/media/excel_modal_4.png
create mode 100644 RELEASING/release-notes-4-1/media/heatmap.png
create mode 100644 RELEASING/release-notes-4-1/media/histogram.png
create mode 100644 RELEASING/release-notes-4-1/media/sankey.png
create mode 100644 RELEASING/release-notes-4-1/media/slack_modal.png
create mode 100644 RELEASING/release-notes-4-1/media/table_with_time.png
create mode 100644 RELEASING/release-notes-4-1/media/tooltips.png
create mode 100644 docs/docs/installation/architecture.mdx
create mode 100644 docs/src/intro_header.txt
create mode 100644 docs/static/img/databases/couchbase.svg
create mode 100644 docs/static/img/databases/oceanbase.svg
delete mode 100644 superset-frontend/cypress-base/cypress/plugins/index.js
copy superset-frontend/{src/types/ace-builds.ts => packages/generator-superset/.eslintrc} (91%)
rename superset-frontend/{plugins/plugin-chart-word-cloud/src/chart/Encoder.ts => packages/superset-ui-chart-controls/src/ace-builds.d.ts} (92%)
rename superset-frontend/packages/superset-ui-core/src/color/{SharedLabelColorSingleton.ts => LabelsColorMapSingleton.ts} (52%)
create mode 100644 superset-frontend/packages/superset-ui-core/test/color/LabelsColorMapSingleton.test.ts
delete mode 100644 superset-frontend/packages/superset-ui-core/test/color/SharedLabelColorSingleton.test.ts
rename superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot/{BoxPolot.stories.tsx => BoxPlot.stories.tsx} (100%)
create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/hungary.geojson
rename superset-frontend/{src/types/dom-to-pdf.d.ts => plugins/plugin-chart-echarts/src/Sankey/Sankey.tsx} (70%)
copy superset-frontend/{src/components/Slider/index.tsx => plugins/plugin-chart-echarts/src/Sankey/buildQuery.ts} (64%)
copy superset-frontend/plugins/{legacy-plugin-chart-sankey/src/controlPanel.ts => plugin-chart-echarts/src/Sankey/controlPanel.tsx} (63%)
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/images/example1.png
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/images/example2.png
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/images/thumbnail.png
copy superset-frontend/plugins/plugin-chart-echarts/src/{Histogram => Sankey}/index.ts (70%)
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/transformProps.ts
rename superset-frontend/plugins/{plugin-chart-word-cloud/src/legacyPlugin => plugin-chart-echarts/src/Sankey}/types.ts (63%)
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/transformers.test.ts
delete mode 100644 superset-frontend/plugins/plugin-chart-table/test/enzyme.tsx
copy superset-frontend/{src/utils/getOwnerName.test.ts => plugins/plugin-chart-table/test/testHelpers.tsx} (65%)
delete mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/legacyPlugin/index.ts
delete mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/legacyPlugin/transformProps.ts
rename superset-frontend/plugins/plugin-chart-word-cloud/test/{plugin => }/buildQuery.test.ts (92%)
delete mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/test/legacyPlugin/transformProps.test.ts
create mode 100644 superset-frontend/src/assets/images/couchbase.svg
create mode 100644 superset-frontend/src/assets/images/oceanbase.svg
copy superset-frontend/src/components/{Slider => AntdThemeProvider}/index.tsx (71%)
copy superset-frontend/src/components/{Badge/Badge.test.tsx => AsyncAceEditor/Tooltip.test.tsx} (53%)
create mode 100644 superset-frontend/src/components/AsyncAceEditor/Tooltip.tsx
copy superset-frontend/src/{utils/getOwnerName.ts => components/Card/Card.test.tsx} (80%)
copy superset-frontend/src/{dashboard/components/menu/DownloadMenuItems/DownloadMenuItems.test.tsx => components/Slider/Slider.test.tsx} (63%)
copy superset-frontend/{packages/generator-superset/jest.config.js => src/components/Tags/Tag.stories.tsx} (76%)
create mode 100644 superset-frontend/src/components/TimezoneSelector/TimezoneSelector.DaylightSavingTime.test.tsx
delete mode 100644 superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.test.tsx
delete mode 100644 superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.tsx
create mode 100644 superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadScreenshot.test.tsx
create mode 100644 superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadScreenshot.tsx
copy superset-frontend/src/{types/ace-builds.ts => dashboard/components/menu/DownloadMenuItems/types.ts} (91%)
create mode 100644 superset-frontend/src/explore/components/controls/ConditionalFormattingControl/FormattingPopoverContent.test.tsx
delete mode 100644 superset-frontend/src/explore/components/controls/MetricControl/MetricDefinitionOption.test.jsx
create mode 100644 superset-frontend/src/explore/components/controls/MetricControl/MetricDefinitionOption.test.tsx
rename superset-frontend/{plugins/plugin-chart-word-cloud/test/index.test.ts => src/explore/controlUtils/getColumnKeywords.test.tsx} (61%)
create mode 100644 superset-frontend/src/explore/controlUtils/getColumnKeywords.tsx
create mode 100644 superset-frontend/src/explore/reducers/exploreReducer.test.js
create mode 100644 superset-frontend/src/features/alerts/components/NotificationMethod.test.tsx
create mode 100644 superset-frontend/src/features/alerts/components/RecipientIcon.test.tsx
create mode 100644 superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/OAuth2ClientField.test.tsx
create mode 100644 superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/OAuth2ClientField.tsx
create mode 100644 superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/constants.ts
create mode 100644 superset-frontend/src/hooks/strictBroadcastChannel.ts
create mode 100644 superset-frontend/src/pages/DatabaseList/__snapshots__/DatabaseList.test.jsx.snap
create mode 100644 superset-frontend/src/theme/index.ts
create mode 100644 superset-frontend/src/theme/light.ts
create mode 100644 superset-frontend/src/utils/colorScheme.ts
delete mode 100644 superset-frontend/src/utils/downloadAsPdf.ts
create mode 100644 superset/async_events/cache_backend.py
create mode 100644 superset/cli/reset.py
copy superset/commands/{dataset/refresh.py => chart/fave.py} (50%)
copy superset/commands/{dataset/refresh.py => chart/unfave.py} (50%)
create mode 100644 superset/commands/dashboard/copy.py
copy superset/commands/{security/delete.py => dashboard/fave.py} (54%)
copy superset/commands/{security/delete.py => dashboard/unfave.py} (54%)
copy docs/static/.nojekyll => superset/commands/distributed_lock/__init__.py (100%)
copy superset/commands/{temporary_cache/create.py => distributed_lock/base.py} (56%)
create mode 100644 superset/commands/distributed_lock/create.py
copy superset/commands/{temporary_cache => distributed_lock}/delete.py (52%)
copy superset/{daos/user.py => commands/distributed_lock/get.py} (55%)
delete mode 100644 superset/commands/key_value/create.py
delete mode 100644 superset/commands/key_value/delete.py
delete mode 100644 superset/commands/key_value/delete_expired.py
delete mode 100644 superset/commands/key_value/get.py
delete mode 100644 superset/commands/key_value/update.py
delete mode 100644 superset/commands/key_value/upsert.py
create mode 100644 superset/commands/security/reset.py
create mode 100644 superset/commands/sql_lab/query.py
create mode 100644 superset/daos/key_value.py
create mode 100644 superset/db_engine_specs/couchbase.py
copy superset/db_engine_specs/{starrocks.py => oceanbase.py} (56%)
rename superset/{utils/lock.py => distributed_lock/__init__.py} (53%)
rename tests/integration_tests/key_value/commands/__init__.py => superset/distributed_lock/types.py (91%)
copy superset/{reports/notifications/exceptions.py => distributed_lock/utils.py} (53%)
rename superset/examples/configs/charts/Featured Charts/{World_Map.yaml => Sankey.yaml} (67%)
delete mode 100644 superset/examples/configs/datasets/examples/wb_health_population.yaml
delete mode 100644 superset/migrations/versions/2024-05-24_11-31_02f4f7811799_remove_sl__tables.py
copy superset/migrations/versions/{2024-05-01_10-52_58d051681a3b_add_catalog_perm_to_tables.py => 2024-05-24_11-31_02f4f7811799_remove_sl_dataset_columns_table.py} (51%)
copy superset/migrations/versions/{2024-05-01_10-52_58d051681a3b_add_catalog_perm_to_tables.py => 2024-08-13_15-17_39549add7bfc_remove_sl_table_columns_table.py} (51%)
copy superset/migrations/versions/{2024-05-01_10-52_58d051681a3b_add_catalog_perm_to_tables.py => 2024-08-13_15-23_38f4144e8558_remove_sl_dataset_tables.py} (51%)
copy superset/migrations/versions/{2024-05-01_10-52_58d051681a3b_add_catalog_perm_to_tables.py => 2024-08-13_15-27_e53fd48cc078_remove_sl_dataset_users.py} (51%)
create mode 100644 superset/migrations/versions/2024-08-13_15-29_a6b32d2d07b1_remove_sl_columns.py
copy superset/migrations/versions/{2024-03-20_16-02_678eefb4ab44_add_access_token_table.py => 2024-08-13_15-31_007a1abffe7e_remove_sl_tables.py} (58%)
copy superset/migrations/versions/{2024-03-20_16-02_678eefb4ab44_add_access_token_table.py => 2024-08-13_15-33_48cbb571fa3a_remove_sl_datasets.py} (58%)
create mode 100644 superset/reports/notifications/slack_mixin.py
create mode 100644 superset/reports/notifications/slackv2.py
rename superset/{commands/key_value => sql}/__init__.py (100%)
create mode 100644 superset/sql/parse.py
create mode 100644 superset/templates/head_custom_extra.html
delete mode 100644 superset/views/base_schemas.py
create mode 100644 superset/views/error_handling.py
create mode 100644 tests/integration_tests/dashboards/update_tabs_test.py
delete mode 100644 tests/integration_tests/key_value/__init__.py
delete mode 100644 tests/integration_tests/key_value/commands/create_test.py
delete mode 100644 tests/integration_tests/key_value/commands/delete_test.py
delete mode 100644 tests/integration_tests/key_value/commands/fixtures.py
delete mode 100644 tests/integration_tests/key_value/commands/get_test.py
delete mode 100644 tests/integration_tests/key_value/commands/update_test.py
delete mode 100644 tests/integration_tests/key_value/commands/upsert_test.py
copy tests/integration_tests/tasks/{test_cache.py => test_utils.py} (63%)
create mode 100644 tests/unit_tests/commands/databases/test_connection_test.py
create mode 100644 tests/unit_tests/commands/databases/validate_test.py
create mode 100644 tests/unit_tests/commands/report/execute_test.py
create mode 100644 tests/unit_tests/connectors/sqla/utils_test.py
create mode 100644 tests/unit_tests/dao/key_value_test.py
create mode 100644 tests/unit_tests/db_engine_specs/test_couchbase.py
create mode 100644 tests/unit_tests/db_engine_specs/test_oceanbase.py
copy docs/static/.nojekyll => tests/unit_tests/distributed_lock/__init__.py (100%)
create mode 100644 tests/unit_tests/distributed_lock/distributed_lock_tests.py
delete mode 100644 tests/unit_tests/notifications/__init__.py
delete mode 100644 tests/unit_tests/notifications/slack_tests.py
rename tests/unit_tests/{ => reports}/notifications/email_tests.py (98%)
copy {superset/advanced_data_type => tests/unit_tests/sql}/__init__.py (100%)
create mode 100644 tests/unit_tests/sql/parse_tests.py
create mode 100644 tests/unit_tests/sql_lab_execution_context.py
create mode 100644 tests/unit_tests/tags/filters_test.py
delete mode 100644 tests/unit_tests/utils/lock_tests.py
create mode 100644 tests/unit_tests/utils/slack_test.py
(superset) 01/01: first baby steps
Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a commit to branch control-panel-2.0
in repository https://gitbox.apache.org/repos/asf/superset.git
commit fd61123e41be05b11e24b6764e2f6165e0dea74e
Author: Evan Rusackas <ev...@preset.io>
AuthorDate: Mon Jun 17 15:26:00 2024 -0600
first baby steps
---
.../ControlPanel/ControlPanel.stories.tsx | 49 ++++++++
.../src/components/ControlPanel/index.tsx | 132 +++++++++++++++++++++
2 files changed, 181 insertions(+)
diff --git a/superset-frontend/src/components/ControlPanel/ControlPanel.stories.tsx b/superset-frontend/src/components/ControlPanel/ControlPanel.stories.tsx
new file mode 100644
index 0000000000..e96140a022
--- /dev/null
+++ b/superset-frontend/src/components/ControlPanel/ControlPanel.stories.tsx
@@ -0,0 +1,49 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import ControlPanel, { ControlPanelProps } from '.';
+
+export default {
+ title: 'ControlPanel',
+ component: ControlPanel,
+};
+
+export const InteractiveControlPanel = (args: ControlPanelProps) => <ControlPanel {...args} />;
+
+InteractiveControlPanel.args = {
+ // padded: true,
+ // title: 'Card title',
+ // children: 'Card content',
+ // bordered: true,
+ // loading: false,
+ // hoverable: false,
+};
+
+InteractiveControlPanel.argTypes = {
+ // onClick: {
+ // table: {
+ // disable: true,
+ // },
+ // action: 'onClick',
+ // },
+ // theme: {
+ // table: {
+ // disable: true,
+ // },
+ // },
+};
diff --git a/superset-frontend/src/components/ControlPanel/index.tsx b/superset-frontend/src/components/ControlPanel/index.tsx
new file mode 100644
index 0000000000..47edd2fb0a
--- /dev/null
+++ b/superset-frontend/src/components/ControlPanel/index.tsx
@@ -0,0 +1,132 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import React, { useState } from 'react';
+import { Tree, Input, InputNumber, Select, Slider } from 'antd';
+
+const { Option } = Select;
+
+const ControlPanel = (props) => {
+ const [treeData, setTreeData] = useState([
+ {
+ title: 'Root Node',
+ key: '0',
+ children: [
+ { title: 'Numeric Input', key: '0-0', value: 10, type: 'number' },
+ { title: 'Slider Input', key: '0-1', value: 50, type: 'number', range: [0, 100] },
+ { title: 'Text Input', key: '0-2', value: 'Initial Text', type: 'string' },
+ {
+ title: 'Select Input',
+ key: '0-3',
+ value: 'option1',
+ type: 'enum',
+ options: ['option1', 'option2', 'option3'],
+ },
+ ],
+ },
+ ]);
+
+ const onInputChange = (key, value) => {
+ const newTreeData = [...treeData];
+ const updateTreeData = (data) => {
+ data.forEach((item) => {
+ if (item.key === key) {
+ item.value = value;
+ }
+ if (item.children) {
+ updateTreeData(item.children);
+ }
+ });
+ };
+ updateTreeData(newTreeData);
+ setTreeData(newTreeData);
+ };
+
+ const renderInputComponent = (node) => {
+ if (node.type === 'number') {
+ if (node.range) {
+ return (
+ <Slider
+ style={{ marginRight: '8px', width: 150 }}
+ value={node.value}
+ min={node.range[0]}
+ max={node.range[1]}
+ onChange={(value) => onInputChange(node.key, value)}
+ />
+ );
+ } else {
+ return (
+ <InputNumber
+ style={{ marginRight: '8px' }}
+ value={node.value}
+ onChange={(value) => onInputChange(node.key, value)}
+ />
+ );
+ }
+ } else if (node.type === 'enum') {
+ return (
+ <Select
+ style={{ marginRight: '8px', width: 120 }}
+ value={node.value}
+ onChange={(value) => onInputChange(node.key, value)}
+ >
+ {node.options &&
+ node.options.map((option) => (
+ <Option key={option} value={option}>
+ {option}
+ </Option>
+ ))}
+ </Select>
+ );
+ } else if (node.type === 'string') {
+ return (
+ <Input
+ style={{ marginRight: '8px' }}
+ value={node.value}
+ onChange={(e) => onInputChange(node.key, e.target.value)}
+ />
+ );
+ } else {
+ return null;
+ }
+ };
+
+ const renderTreeNode = (nodeData) => {
+ return {
+ title: (
+ <div style={{ display: 'flex', alignItems: 'center' }}>
+ {renderInputComponent(nodeData)}
+ {nodeData.title}
+ </div>
+ ),
+ key: nodeData.key,
+ children: nodeData.children ? nodeData.children.map(renderTreeNode) : [],
+ };
+ };
+
+ return (
+ <Tree
+ {...props}
+ showLine
+ treeData={treeData.map(renderTreeNode)}
+ />
+ );
+};
+
+export default ControlPanel;