Compare commits

...

112 Commits

Author SHA1 Message Date
Gnought
44ff462718 chore(deps): bump selenium 4.14.0+ (#25933)
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2025-01-13 14:52:29 -07:00
Vitor Avila
9661afff16 fix(Embedded): Skip CSRF validation for dashboard download endpoints (#31798) 2025-01-13 16:50:24 -03:00
Vitor Avila
1a43654207 chore(tests): Changing the logic for an intermittent tag test (#31820) 2025-01-13 11:11:23 -08:00
alexandrusoare
822441e0bd fix(modal): fixed z-index issue (#31815) 2025-01-13 18:30:32 +01:00
Levis Mbote
66f1e1f714 refactor(bulk_select): Fix bulk select tagging issues for users (#31631) 2025-01-13 17:30:29 +01:00
Mehmet Salih Yavuz
b5e62753b7 refactor(date picker): Migrate Date Picker to Ant Design 5 (#31019)
Co-authored-by: Geido <60598000+geido@users.noreply.github.com>
2025-01-13 15:02:17 +01:00
sha174n
aae8fda11d docs: improve dev python environment install (#31787)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2025-01-13 10:22:53 +00:00
Evan Rusackas
bebcd3dcdd fix: corrects spelling of USE_ANALAGOUS_COLORS to be USE_ANALOGOUS_COLORS (#31774) 2025-01-10 18:44:32 -07:00
Elizabeth Thompson
5e0de04eab chore: adding Antonio as a helm codeowner (#31797) 2025-01-10 16:55:49 -08:00
Enzo Martellucci
472ca9d8f6 refactor(dashboard): Migrate ResizableContainer to TypeScript and functional component (#31452) 2025-01-10 20:15:52 +01:00
Vitor Avila
41ed37ab02 fix(oauth): Handle updates to the OAuth config (#31777) 2025-01-10 15:54:53 -03:00
Michael S. Molina
bbdc195a3b chore: Skips integration tests affected by legacy charts removal (#31791) 2025-01-10 14:53:54 -03:00
Maxime Beauchemin
740fbf72d7 feat: redesign labels (#31575) 2025-01-10 09:30:12 -08:00
Mehmet Salih Yavuz
8a2aada58d fix(button): change back button styles for dropdown buttons (#31789) 2025-01-10 14:23:36 +01:00
Maxime Beauchemin
7bd53a84d5 feat: improve docker-compose services boot sequence (#31747) 2025-01-09 16:24:53 -08:00
dependabot[bot]
5f18e849c1 build(deps-dev): bump css-loader from 6.8.1 to 7.1.2 in /superset-frontend (#31661)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-09 14:42:12 -07:00
dependabot[bot]
49876c3f13 build(deps-dev): bump css-minimizer-webpack-plugin from 5.0.1 to 7.0.0 in /superset-frontend (#31668)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-09 13:44:07 -07:00
Michael S. Molina
399b709aaf refactor: Removes 5.0 approved legacy charts (#31582) 2025-01-09 16:45:05 -03:00
Michael S. Molina
a477d84729 fix: Heatmap sorting (#31752) 2025-01-09 14:28:45 -03:00
Michael S. Molina
5acd03876b refactor: Removes Apply to all panels filters scope configuration (#31754) 2025-01-09 10:59:41 -03:00
Damian Pendrak
3a6fdf8bdf fix(sqllab): unable to update saved queries (#31639) 2025-01-09 11:16:08 +01:00
alexandrusoare
9cd3a8d5b0 refactor(Button): Upgrade Button component to Antd5 (#31623) 2025-01-09 11:04:59 +01:00
Maxime Beauchemin
840a920aba feat: allowing print() statements to be unbuffered in docker (#31760) 2025-01-08 19:12:22 -08:00
Beto Dealmeida
e4b3ecd372 feat: push predicates into virtual datasets (#31486) 2025-01-08 22:11:28 -05:00
mujibishola
f29eafd044 docs: add Remita to list (#31756) 2025-01-08 14:57:38 -08:00
Steven Liu
4f1a837bd3 docs: add cover genius to the user list (#31750)
Co-authored-by: Steven Liu <steven.l@covergenius.com>
2025-01-08 10:34:39 -08:00
Maxime Beauchemin
d5a4815836 fix: GHA frontend builds fail when frontends hasn't changed (#31742) 2025-01-07 17:33:11 -08:00
Joe Li
210537a4d2 feat: adds a github action to auto label draft prs (#31518) 2025-01-07 17:18:19 -08:00
Maxime Beauchemin
0eca79cb6c feat: use docker in frontend GHA to parallelize work (#31490) 2025-01-07 16:35:57 -08:00
Maxime Beauchemin
550d893c38 feat: make CI against 'next' python version not-required (#31740) 2025-01-07 15:15:37 -08:00
Maxime Beauchemin
71dca5c076 feat: add and use UUIDMixin for most models (#30398) 2025-01-07 13:58:38 -08:00
Samra Hanif
7f72b062d1 feat(Sqllab): Enabling selection and copying of columns and rows in sql lab and dataset view (#31602) 2025-01-07 11:26:06 -07:00
Evan Rusackas
d68f8d11fe chore(ff): deprecating DRILL_TO_DETAIL feature flag to launch it prime-time (#31412) 2025-01-07 10:03:17 -07:00
Beto Dealmeida
b54de611d3 fix: remove old database constraint on the Dataset model (#29649) 2025-01-07 10:22:17 -05:00
Mehmet Salih Yavuz
f3c5d1c608 refactor(Steps): Migrate Steps to Ant Design 5 (#31718) 2025-01-07 12:41:19 +01:00
dependabot[bot]
9e17304523 chore(deps): bump react-virtualized-auto-sizer from 1.0.24 to 1.0.25 in /superset-frontend (#31537)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 16:38:47 -08:00
dependabot[bot]
0460415bcb chore(deps-dev): bump eslint-plugin-react-hooks from 4.6.0 to 4.6.2 in /superset-frontend (#31552)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 16:22:13 -08:00
dependabot[bot]
b4c5f65a5f chore(deps-dev): bump webpack from 5.94.0 to 5.97.1 in /superset-frontend (#31545)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 16:21:51 -08:00
dependabot[bot]
62486a7dd1 chore(deps-dev): bump eslint-plugin-cypress from 3.5.0 to 3.6.0 in /superset-frontend (#31551)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 16:20:46 -08:00
dependabot[bot]
8e32aca282 chore(deps): bump abortcontroller-polyfill from 1.7.5 to 1.7.8 in /superset-frontend (#31559)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 16:20:21 -08:00
dependabot[bot]
c7ae5c587a build(deps): update @emotion/cache requirement from ^11.4.0 to ^11.14.0 in /superset-frontend/packages/superset-ui-demo (#31653)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 16:19:39 -08:00
dependabot[bot]
2cea1bcc82 build(deps): bump markdown-to-jsx from 7.4.7 to 7.7.2 in /superset-frontend (#31664)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 15:48:34 -08:00
dependabot[bot]
5ff2dfb8e2 build(deps): bump html-webpack-plugin from 5.6.0 to 5.6.3 in /superset-frontend (#31665)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 15:47:35 -08:00
dependabot[bot]
4b54b2b953 build(deps-dev): bump @emotion/babel-plugin from 11.12.0 to 11.13.5 in /superset-frontend (#31666)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 15:47:00 -08:00
dependabot[bot]
7e4570bc9c build(deps-dev): bump jsdom from 24.1.1 to 25.0.1 in /superset-frontend (#31667)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 15:46:35 -08:00
Maxime Beauchemin
78d7df02cb fix: docker builds in forks (#31732) 2025-01-06 15:12:52 -08:00
Maxime Beauchemin
ee36cf058c fix: docker-compose-image-tag fails to start (#31606) 2025-01-06 11:21:58 -08:00
dependabot[bot]
668194d574 build(deps): bump jinja2 from 3.1.4 to 3.1.5 in /superset/translations (#31685)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 11:20:19 -08:00
Gowtham Sai
c13cb8a1f2 fix(inthewild): Update companies using superset (#31710) 2025-01-06 10:22:43 -08:00
Jiwen liu
72e87d6980 feat(doris): add catalog support for Apache Doris (#31580)
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2025-01-06 10:21:00 -08:00
Jan Suleiman
a986a61b5f feat(plugin): add plugin-chart-cartodiagram (#25869)
Co-authored-by: Jakob Miksch <jakob@meggsimum.de>
2025-01-06 08:58:03 -08:00
Đỗ Trọng Hải
5484db34f9 chore: replace imp built-in module usage for future Python3.12 usage (#31622)
Signed-off-by: hainenber <dotronghai96@gmail.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2025-01-06 08:45:45 -08:00
Đỗ Trọng Hải
109e6c69ff chore(fe/sec): resolve High CVE-2024-21538 and Moderate CVE-2024-55565 by bumping nanoid and cross-spawn (#31712)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2025-01-05 14:48:42 -07:00
Ville Brofeldt
e311bc1ca5 chore(helm): bump helm on CI to latest version (#31627)
Co-authored-by: ochalover <notkadam@gmail.com>
2025-01-03 13:16:12 -08:00
Ville Brofeldt
553d41fedd chore: add helm code owners (#31701) 2025-01-03 13:14:42 -08:00
Jillian
2996d9ab9c docs: add Open edX to users list (#31691) 2025-01-03 10:55:37 -08:00
victor felder
bf1da0f91f fix: typo in plugin-chart-echats controls (#31673) 2025-01-03 11:25:15 -07:00
Mehmet Salih Yavuz
ca12a1d466 refactor(space): Migrate Space to Ant Design 5 (#31693) 2025-01-03 16:41:03 +01:00
João Pedro Alcântara
7c90323649 fix(helm): change values.yaml comments (#31688) 2025-01-02 13:56:11 -08:00
dependabot[bot]
27e42b5091 chore(deps-dev): bump eslint from 9.14.0 to 9.17.0 in /superset-websocket (#31530)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-02 08:41:16 -08:00
dependabot[bot]
65c72c12c4 build(deps): update echarts requirement from ^5.4.1 to ^5.6.0 in /superset-frontend/plugins/plugin-chart-echarts (#31670)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>
2025-01-02 08:35:59 -08:00
dependabot[bot]
bcf649a116 build(deps): update chalk requirement from ^5.4.0 to ^5.4.1 in /superset-frontend/packages/generator-superset (#31652)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>
2025-01-02 08:34:44 -08:00
dependabot[bot]
e371de4ea3 build(deps): bump core-js from 3.38.1 to 3.39.0 in /superset-frontend/packages/superset-ui-demo (#31655)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>
2025-01-02 08:34:33 -08:00
dependabot[bot]
b27df30222 build(deps): bump antd from 5.22.5 to 5.22.7 in /docs (#31656)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-02 08:33:13 -08:00
dependabot[bot]
892349d7c9 build(deps-dev): update @babel/core requirement from ^7.23.9 to ^7.26.0 in /superset-frontend/packages/superset-ui-demo (#31657)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>
2025-01-02 08:32:56 -08:00
dependabot[bot]
dec8a65730 build(deps): update @emotion/react requirement from ^11.13.3 to ^11.14.0 in /superset-frontend/packages/superset-ui-demo (#31658)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>
2025-01-02 08:32:36 -08:00
dependabot[bot]
3084cebd6b build(deps-dev): bump @types/node from 22.7.4 to 22.10.3 in /superset-websocket (#31662)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-02 08:32:11 -08:00
dependabot[bot]
879e795147 build(deps-dev): bump typescript-eslint from 8.12.2 to 8.19.0 in /superset-websocket (#31663)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-02 08:31:52 -08:00
dependabot[bot]
509c0a6aab build(deps-dev): update @types/node requirement from ^22.5.4 to ^22.10.3 in /superset-frontend/packages/superset-ui-core (#31672)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>
2025-01-02 08:30:48 -08:00
Mehmet Salih Yavuz
91d1648230 refactor(empty): Migrate Empty component to Ant Design 5 (#31633) 2024-12-30 12:38:14 +01:00
Fardin Mustaque
640dac1eff fix: Big Number side cut fixed (#31407)
Co-authored-by: Geido <60598000+geido@users.noreply.github.com>
2024-12-27 12:21:58 +01:00
Mehmet Salih Yavuz
9321ab9deb refactor(Divider): Migrate Divider to Ant Design 5 (#31607) 2024-12-27 11:47:21 +01:00
Mehmet Salih Yavuz
a193d790b2 refactor(moment): Replace Moment.js with DayJs (#31310) 2024-12-23 18:42:43 +01:00
dependabot[bot]
b382ef1058 build(deps-dev): update @types/jest requirement from ^29.5.12 to ^29.5.14 in /superset-frontend/plugins/plugin-chart-handlebars (#30778)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 16:31:07 -07:00
dependabot[bot]
488e7b4692 chore(deps): bump hot-shots from 10.0.0 to 10.2.1 in /superset-websocket (#31526)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 15:30:36 -08:00
dependabot[bot]
be7df6c16f chore(deps-dev): update @babel/preset-react requirement from ^7.23.3 to ^7.26.3 in /superset-frontend/packages/superset-ui-demo (#31538)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 15:25:17 -08:00
dependabot[bot]
ddd964e49a chore(deps-dev): bump eslint-plugin-jest-dom from 3.6.5 to 5.5.0 in /superset-frontend (#31217)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>
2024-12-20 14:45:07 -07:00
dependabot[bot]
a275a86d12 chore(deps): bump antd from 5.22.2 to 5.22.5 in /docs (#31541)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 14:43:51 -07:00
dependabot[bot]
1c99f399c2 chore(deps): bump prism-react-renderer from 2.4.0 to 2.4.1 in /docs (#31536)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 14:42:54 -07:00
dependabot[bot]
c38c7a29fd build(deps): bump find-my-way and @applitools/eyes-cypress in /superset-frontend/cypress-base (#30322)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 14:42:15 -07:00
dependabot[bot]
0fde78cb17 build(deps-dev): update @types/lodash requirement from ^4.17.7 to ^4.17.13 in /superset-frontend/packages/superset-ui-core (#30789)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-20 14:38:52 -07:00
dependabot[bot]
5df3317ad0 chore(deps-dev): bump @types/lodash from 4.17.7 to 4.17.13 in /superset-websocket (#31523)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 14:38:33 -07:00
dependabot[bot]
e88c4e1100 chore(deps-dev): bump @types/rison from 0.0.9 to 0.1.0 in /superset-frontend (#31546)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 14:37:57 -07:00
dependabot[bot]
d85bb8b6a0 chore(deps): bump react-reverse-portal from 2.1.1 to 2.1.2 in /superset-frontend (#31557)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 14:35:53 -07:00
Maxime Beauchemin
fd9c2b399e fix: install uv in docker-bootstrap (#31588) 2024-12-20 13:22:53 -08:00
Sam Firke
e8daa63d7e fix(docs): get quickstart guide working again (#31583) 2024-12-20 13:11:25 -08:00
shubham-rohatgi
640d6f848a docs: add Virtuoso QA to users list (#31577) 2024-12-20 11:40:11 -07:00
dependabot[bot]
8c5e525c57 chore(deps): bump debug from 4.3.7 to 4.4.0 in /superset-websocket/utils/client-ws-app (#31520)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 11:38:36 -07:00
dependabot[bot]
e87feba45d build(deps-dev): bump thread-loader from 4.0.2 to 4.0.4 in /superset-frontend (#30474)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 10:00:11 -08:00
dependabot[bot]
9d3438a8b3 build(deps): bump gh-pages from 5.0.0 to 6.1.1 in /superset-frontend/packages/superset-ui-demo (#30085)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 09:31:20 -08:00
dependabot[bot]
fd6ef4f870 chore(deps-dev): bump eslint-import-resolver-typescript from 3.6.3 to 3.7.0 in /superset-frontend (#31558)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 09:41:59 -07:00
dependabot[bot]
d94bd413e5 chore(deps-dev): bump prettier from 3.3.3 to 3.4.2 in /superset-websocket (#31521)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 09:41:45 -07:00
dependabot[bot]
0c2f697f6d build(deps-dev): update @types/underscore requirement from ^1.11.15 to ^1.13.0 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#30785)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-20 09:41:33 -07:00
dependabot[bot]
b831bed7cd build(deps-dev): update @types/lodash requirement from ^4.17.7 to ^4.17.13 in /superset-frontend/plugins/plugin-chart-handlebars (#30779)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-20 09:40:30 -07:00
dependabot[bot]
d9554622c0 chore(deps-dev): bump webpack from 5.96.1 to 5.97.1 in /docs (#31539)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 16:52:48 -07:00
dependabot[bot]
89ad48764a chore(deps): bump @algolia/client-search from 5.15.0 to 5.18.0 in /docs (#31540)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 16:50:51 -07:00
dependabot[bot]
5ab3c5ea99 build(deps): bump @math.gl/web-mercator from 3.6.3 to 4.0.1 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#27809)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>
2024-12-19 15:47:01 -08:00
dependabot[bot]
fdc7273d56 chore(deps): update @deck.gl/aggregation-layers requirement from ^9.0.37 to ^9.0.38 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#31529)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-19 15:39:21 -08:00
dependabot[bot]
a59a0fe475 chore(deps): bump gh-pages from 5.0.0 to 6.2.0 in /superset-frontend/packages/superset-ui-demo (#31572)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-19 15:38:02 -08:00
dependabot[bot]
16e29c466e build(deps): bump @types/d3-format from 1.4.5 to 3.0.4 in /superset-frontend/packages/superset-ui-core (#30458)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>
2024-12-19 16:35:10 -07:00
dependabot[bot]
35d109389f chore(deps): bump @docsearch/react from 3.6.3 to 3.8.2 in /docs (#31542)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 16:17:11 -07:00
dependabot[bot]
e5b561c87f chore(deps-dev): bump typescript from 4.9.5 to 5.7.2 in /superset-frontend/packages/superset-ui-demo (#31225)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-19 16:07:43 -07:00
dependabot[bot]
3999c0fc41 chore(deps): update dompurify requirement from ^3.1.3 to ^3.2.3 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#31388)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-19 16:07:03 -07:00
dependabot[bot]
e2a1ce220e chore(deps): bump @storybook/types from 8.1.11 to 8.4.7 in /superset-frontend/packages/superset-ui-demo (#31543)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-19 15:57:20 -07:00
dependabot[bot]
369346c03d chore(deps): update chalk requirement from ^5.3.0 to ^5.4.0 in /superset-frontend/packages/generator-superset (#31533)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-19 15:56:59 -07:00
dependabot[bot]
d09ccb2504 chore(deps-dev): update @types/d3-time requirement from ^3.0.3 to ^3.0.4 in /superset-frontend/packages/superset-ui-core (#31532)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-19 15:56:48 -07:00
dependabot[bot]
c514b6b0b9 chore(deps): update yeoman-generator requirement from ^7.3.2 to ^7.4.0 in /superset-frontend/packages/generator-superset (#31531)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-19 15:56:33 -07:00
dependabot[bot]
040f27e6da chore(deps): update @deck.gl/layers requirement from ^9.0.37 to ^9.0.38 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#31525)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-19 15:55:36 -07:00
dependabot[bot]
a5fdf6d14a chore(deps-dev): update @babel/types requirement from ^7.25.6 to ^7.26.3 in /superset-frontend/plugins/plugin-chart-pivot-table (#31524)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-19 15:55:16 -07:00
dependabot[bot]
16c9418ee1 chore(deps): update @emotion/styled requirement from ^11.3.0 to ^11.14.0 in /superset-frontend/packages/superset-ui-demo (#31389)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-12-19 15:55:00 -07:00
Maxime Beauchemin
d8aba2f7e6 chore: remove dependency on func_timeout because LGPL (#31519) 2024-12-19 09:32:20 -08:00
Maxime Beauchemin
db11a2a308 chore: update browser list (#31517) 2024-12-19 09:53:35 -07:00
523 changed files with 17762 additions and 17325 deletions

View File

@@ -75,16 +75,13 @@ github:
- dependency-review
- frontend-build
- pre-commit (current)
- pre-commit (next)
- pre-commit (previous)
- test-mysql
- test-postgres (current)
- test-postgres (next)
- test-postgres-hive
- test-postgres-presto
- test-sqlite
- unit-tests (current)
- unit-tests (next)
required_pull_request_reviews:
dismiss_stale_reviews: false

View File

@@ -34,7 +34,6 @@
**/*.sqllite
**/*.swp
**/.terser-plugin-cache/
**/.storybook/
**/node_modules/
tests/

4
.github/CODEOWNERS vendored
View File

@@ -12,7 +12,7 @@
# Notify Helm Chart maintainers about changes in it
/helm/superset/ @craig-rueda @dpgaspar @villebro @nytai @michael-s-molina
/helm/superset/ @craig-rueda @dpgaspar @villebro @nytai @michael-s-molina @mistercrunch @rusackas @Antonio-RiveroMartnez
# Notify E2E test maintainers of changes
@@ -24,7 +24,7 @@
# Notify PMC members of changes to required GitHub Actions
/.asf.yaml @villebro @geido @eschutho @rusackas @betodealmeida @nytai @mistercrunch @craig-rueda @kgabryje @dpgaspar
/.asf.yaml @villebro @geido @eschutho @rusackas @betodealmeida @nytai @mistercrunch @craig-rueda @kgabryje @dpgaspar @Antonio-RiveroMartnez
# Maps are a finicky contribution process we care about

View File

@@ -0,0 +1,23 @@
name: Label Draft PRs
on:
pull_request:
types:
- opened
- converted_to_draft
jobs:
label-draft:
runs-on: ubuntu-latest
steps:
- name: Check if the PR is a draft
id: check-draft
uses: actions/github-script@v6
with:
script: |
const isDraft = context.payload.pull_request.draft;
core.setOutput('isDraft', isDraft);
- name: Add `review:draft` Label
if: steps.check-draft.outputs.isDraft == 'true'
uses: actions-ecosystem/action-add-labels@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
labels: "review:draft"

View File

@@ -14,6 +14,7 @@ concurrency:
cancel-in-progress: true
jobs:
setup_matrix:
runs-on: ubuntu-24.04
outputs:
@@ -36,6 +37,7 @@ jobs:
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
IMAGE_TAG: apache/superset:GHA-${{ matrix.build_preset }}-${{ github.run_id }}
steps:
@@ -71,35 +73,65 @@ jobs:
# Single platform builds in pull_request context to speed things up
if [ "${{ github.event_name }}" = "push" ]; then
PLATFORM_ARG="--platform linux/arm64 --platform linux/amd64"
# can only --load images in single-platform builds
PUSH_OR_LOAD="--push"
elif [ "${{ github.event_name }}" = "pull_request" ]; then
PLATFORM_ARG="--platform linux/amd64"
PUSH_OR_LOAD="--load"
fi
supersetbot docker \
--push \
$PUSH_OR_LOAD \
--preset ${{ matrix.build_preset }} \
--context "$EVENT" \
--context-ref "$RELEASE" $FORCE_LATEST \
--extra-flags "--build-arg INCLUDE_CHROMIUM=false" \
--extra-flags "--build-arg INCLUDE_CHROMIUM=false --tag $IMAGE_TAG" \
$PLATFORM_ARG
# in the context of push (using multi-platform build), we need to pull the image locally
- name: Docker pull
if: steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker
run: docker pull apache/superset:GHA-${GITHUB_RUN_ID}
if: github.event_name == 'push' && (steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker)
run: docker pull $IMAGE_TAG
- name: Print docker stats
if: steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker
run: |
IMAGE_ID=$(docker images --filter "label=sha=${{ github.sha }}" --format "{{.ID}}" | head -n 1)
echo "SHA: ${{ github.sha }}"
echo "IMAGE: $IMAGE_ID"
docker images $IMAGE_ID
docker history $IMAGE_ID
echo "IMAGE: $IMAGE_TAG"
docker images $IMAGE_TAG
docker history $IMAGE_TAG
- name: docker-compose sanity check
if: (steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker) && (matrix.build_preset == 'dev' || matrix.build_preset == 'lean')
shell: bash
run: |
export SUPERSET_BUILD_TARGET=${{ matrix.build_preset }}
# This should reuse the CACHED image built in the previous steps
docker compose build superset-init --build-arg DEV_MODE=false --build-arg INCLUDE_CHROMIUM=false
docker compose up superset-init --exit-code-from superset-init
docker-compose-image-tag:
runs-on: ubuntu-24.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Check for file changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Docker Environment
if: steps.check.outputs.docker
uses: ./.github/actions/setup-docker
with:
dockerhub-user: ${{ secrets.DOCKERHUB_USER }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
build: "false"
install-docker-compose: "true"
- name: docker-compose sanity check
if: steps.check.outputs.docker
shell: bash
run: |
docker compose -f docker-compose-image-tag.yml up superset-init --exit-code-from superset-init

View File

@@ -24,7 +24,7 @@ jobs:
- uses: JustinBeckwith/linkinator-action@v1.11.0
continue-on-error: true # This will make the job advisory (non-blocking, no red X)
with:
paths: "**/*.md, **/*.mdx"
paths: "**/*.md, **/*.mdx, !superset-frontend/CHANGELOG.md"
linksToSkip: >-
^https://github.com/apache/(superset|incubator-superset)/(pull|issue)/\d+,
http://localhost:8088/,

View File

@@ -1,4 +1,4 @@
name: Frontend
name: "Frontend Build CI (unit tests, linting & sanity checks)"
on:
push:
@@ -13,68 +13,168 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
env:
TAG: apache/superset:GHA-${{ github.run_id }}
jobs:
frontend-build:
runs-on: ubuntu-24.04
outputs:
should-run: ${{ steps.check.outputs.frontend }}
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
- name: Checkout Code
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Check npm lock file version
run: ./scripts/ci_check_npm_lock_version.sh ./superset-frontend/package-lock.json
- name: Check for file changes
- name: Check for File Changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Node.js
- name: Build Docker Image
if: steps.check.outputs.frontend
uses: actions/setup-node@v4
shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
docker buildx build \
-t $TAG \
--cache-from=type=registry,ref=apache/superset-cache:3.10-slim-bookworm \
--target superset-node-ci \
.
- name: Save Docker Image as Artifact
if: steps.check.outputs.frontend
run: |
docker save $TAG | gzip > docker-image.tar.gz
- name: Upload Docker Image Artifact
if: steps.check.outputs.frontend
uses: actions/upload-artifact@v4
with:
node-version: "20"
- name: Install dependencies
if: steps.check.outputs.frontend
uses: ./.github/actions/cached-dependencies
name: docker-image
path: docker-image.tar.gz
sharded-jest-tests:
needs: frontend-build
if: needs.frontend-build.outputs.should-run == 'true'
strategy:
matrix:
shard: [1, 2, 3, 4, 5, 6, 7, 8]
fail-fast: false
runs-on: ubuntu-24.04
steps:
- name: Download Docker Image Artifact
uses: actions/download-artifact@v4
with:
run: npm-install
- name: eslint
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
name: docker-image
- name: Load Docker Image
run: docker load < docker-image.tar.gz
- name: npm run test with coverage
run: |
npm run eslint -- . --quiet
- name: tsc
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: |
npm run type
- name: Build plugins packages
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: npm run plugins:build
- name: Build plugins Storybook
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: npm run plugins:build-storybook
- name: superset-ui/core coverage
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: |
npm run core:cover
- name: unit tests
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: |
npm run test -- --coverage --silent
# todo: remove this step when fix generator as a project in root jest.config.js
- name: generator-superset unit tests
if: steps.check.outputs.frontend
working-directory: ./superset-frontend/packages/generator-superset
run: npm run test
- name: Upload code coverage
mkdir -p ${{ github.workspace }}/superset-frontend/coverage
docker run \
-v ${{ github.workspace }}/superset-frontend/coverage:/app/superset-frontend/coverage \
--rm $TAG \
bash -c \
"npm run test -- --coverage --shard=${{ matrix.shard }}/8 --coverageReporters=json-summary"
- name: Upload Coverage Artifact
uses: actions/upload-artifact@v4
with:
name: coverage-artifacts-${{ matrix.shard }}
path: superset-frontend/coverage
report-coverage:
needs: [sharded-jest-tests]
if: needs.frontend-build.outputs.should-run == 'true'
runs-on: ubuntu-24.04
steps:
- name: Download Coverage Artifacts
uses: actions/download-artifact@v4
with:
pattern: coverage-artifacts-*
path: coverage/
- name: Show Files
run: find coverage/
- name: Merge Code Coverage
run: npx nyc merge coverage/ merged-output/coverage-summary.json
- name: Upload Code Coverage
uses: codecov/codecov-action@v5
with:
flags: javascript
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
files: merged-output/coverage-summary.json
slug: apache/superset
core-cover:
needs: frontend-build
if: needs.frontend-build.outputs.should-run == 'true'
runs-on: ubuntu-24.04
steps:
- name: Download Docker Image Artifact
uses: actions/download-artifact@v4
with:
name: docker-image
- name: Load Docker Image
run: docker load < docker-image.tar.gz
- name: superset-ui/core coverage
run: |
docker run --rm $TAG bash -c \
"npm run core:cover"
lint-frontend:
needs: frontend-build
if: needs.frontend-build.outputs.should-run == 'true'
runs-on: ubuntu-24.04
steps:
- name: Download Docker Image Artifact
uses: actions/download-artifact@v4
with:
name: docker-image
- name: Load Docker Image
run: docker load < docker-image.tar.gz
- name: eslint
run: |
docker run --rm $TAG bash -c \
"npm i && npm run eslint -- . --quiet"
- name: tsc
run: |
docker run --rm $TAG bash -c \
"npm run type"
validate-frontend:
needs: frontend-build
if: needs.frontend-build.outputs.should-run == 'true'
runs-on: ubuntu-24.04
steps:
- name: Download Docker Image Artifact
uses: actions/download-artifact@v4
with:
name: docker-image
- name: Load Docker Image
run: docker load < docker-image.tar.gz
- name: Build Plugins Packages
run: |
docker run --rm $TAG bash -c \
"npm run plugins:build"
- name: Build Plugins Storybook
run: |
docker run --rm $TAG bash -c \
"npm run plugins:build-storybook"

View File

@@ -25,7 +25,7 @@ jobs:
- name: Set up Helm
uses: azure/setup-helm@v4
with:
version: v3.5.4
version: v3.16.4
- name: Setup Python
uses: ./.github/actions/setup-backend/

View File

@@ -24,9 +24,9 @@ ARG PY_VER=3.10-slim-bookworm
ARG BUILDPLATFORM=${BUILDPLATFORM:-amd64}
######################################################################
# superset-node used for building frontend assets
# superset-node-ci used as a base for building frontend assets and CI
######################################################################
FROM --platform=${BUILDPLATFORM} node:20-bullseye-slim AS superset-node
FROM --platform=${BUILDPLATFORM} node:20-bullseye-slim AS superset-node-ci
ARG BUILD_TRANSLATIONS="false" # Include translations in the final build
ENV BUILD_TRANSLATIONS=${BUILD_TRANSLATIONS}
ARG DEV_MODE="false" # Skip frontend build in dev mode
@@ -53,6 +53,10 @@ RUN mkdir -p /app/superset/static/assets \
/app/superset/translations
# Mount package files and install dependencies if not in dev mode
# NOTE: we mount packages and plugins as they are referenced in package.json as workspaces
# ideally we'd COPY only their package.json. Here npm ci will be cached as long
# as the full content of these folders don't change, yielding a decent cache reuse rate.
# Note that's it's not possible selectively COPY of mount using blobs.
RUN --mount=type=bind,source=./superset-frontend/package.json,target=./package.json \
--mount=type=bind,source=./superset-frontend/package-lock.json,target=./package-lock.json \
--mount=type=cache,target=/root/.cache \
@@ -66,6 +70,11 @@ RUN --mount=type=bind,source=./superset-frontend/package.json,target=./package.j
# Runs the webpack build process
COPY superset-frontend /app/superset-frontend
######################################################################
# superset-node used for compile frontend assets
######################################################################
FROM superset-node-ci AS superset-node
# Build the frontend if not in dev mode
RUN --mount=type=cache,target=/app/superset-frontend/.temp_cache \
--mount=type=cache,target=/root/.npm \

View File

@@ -44,7 +44,6 @@ These features are **finished** but currently being tested. They are usable, but
- ALLOW_FULL_CSV_EXPORT
- CACHE_IMPERSONATION
- CONFIRM_DASHBOARD_DIFF
- DRILL_TO_DETAIL
- DYNAMIC_PLUGINS
- ENABLE_SUPERSET_META_DB: [(docs)](https://superset.apache.org/docs/configuration/databases/#querying-across-databases)
- ESTIMATE_QUERY_COST
@@ -99,5 +98,6 @@ These features flags currently default to True and **will be removed in a future
- AVOID_COLORS_COLLISION
- DASHBOARD_CROSS_FILTERS
- DRILL_TO_DETAIL
- ENABLE_JAVASCRIPT_CONTROLS
- KV_STORE

View File

@@ -43,10 +43,12 @@ Join our growing community!
- [Capital Service S.A.](https://capitalservice.pl) [@pkonarzewski]
- [Clark.de](https://clark.de/)
- [KarrotPay](https://www.daangnpay.com/)
- [Remita](https://remita.net) [@mujibishola]
- [Taveo](https://www.taveo.com) [@codek]
- [Unit](https://www.unit.co/about-us) [@amitmiran137]
- [Wise](https://wise.com) [@koszti]
- [Xendit](https://xendit.co/) [@LieAlbertTriAdrian]
- [Cover Genius](https://covergenius.com/)
### Gaming
- [Popoko VM Games Studio](https://popoko.live)
@@ -59,18 +61,21 @@ Join our growing community!
- [Fanatics](https://www.fanatics.com/) [@coderfender]
- [Fordeal](https://www.fordeal.com) [@Renkai]
- [GFG - Global Fashion Group](https://global-fashion-group.com) [@ksaagariconic]
- [GoTo/Gojek](https://www.gojek.io/) [@gwthm-in]
- [HuiShouBao](https://www.huishoubao.com/) [@Yukinoshita-Yukino]
- [Now](https://www.now.vn/) [@davidkohcw]
- [Qunar](https://www.qunar.com/) [@flametest]
- [Rakuten Viki](https://www.viki.com)
- [Shopee](https://shopee.sg) [@xiaohanyu]
- [Shopkick](https://www.shopkick.com) [@LAlbertalli]
- [ShopUp](https://www.shopup.org/) [@gwthm-in]
- [Tails.com](https://tails.com/gb/) [@alanmcruickshank]
- [THE ICONIC](https://theiconic.com.au/) [@ksaagariconic]
- [Utair](https://www.utair.ru) [@utair-digital]
- [VkusVill](https://vkusvill.ru/) [@ETselikov]
- [Zalando](https://www.zalando.com) [@dmigo]
- [Zalora](https://www.zalora.com) [@ksaagariconic]
- [Zepto](https://www.zeptonow.com/) [@gwthm-in]
### Enterprise Technology
- [A3Data](https://a3data.com.br) [@neylsoncrepalde]
@@ -119,6 +124,7 @@ Join our growing community!
- [Tobii](https://www.tobii.com/) [@dwa]
- [Tooploox](https://www.tooploox.com/) [@jakubczaplicki]
- [Unvired](https://unvired.com) [@srinisubramanian]
- [Virtuoso QA](https://www.virtuosoqa.com)
- [Whale](https://whale.im)
- [Windsor.ai](https://www.windsor.ai/) [@octaviancorlade]
- [Zeta](https://www.zeta.tech/) [@shaikidris]
@@ -138,6 +144,7 @@ Join our growing community!
### Education
- [Aveti Learning](https://avetilearning.com/) [@TheShubhendra]
- [Brilliant.org](https://brilliant.org/)
- [Open edX](https://openedx.org/)
- [Platzi.com](https://platzi.com/)
- [Sunbird](https://www.sunbird.org/) [@eksteporg]
- [The GRAPH Network](https://thegraphnetwork.org/) [@fccoelho]

View File

@@ -23,7 +23,8 @@ This file documents any backwards-incompatible changes in Superset and
assists people when migrating to a new version.
## Next
- [31774](https://github.com/apache/superset/pull/31774): Fixes the spelling of the `USE-ANALAGOUS-COLORS` feature flag. Please update any scripts/configuration item to use the new/corrected `USE-ANALOGOUS-COLORS` flag spelling.
- [31582](https://github.com/apache/superset/pull/31582) Removed the legacy Area, Bar, Event Flow, Heatmap, Histogram, Line, Sankey, and Sankey Loop charts. They were all automatically migrated to their ECharts counterparts with the exception of the Event Flow and Sankey Loop charts which were removed as they were not actively maintained and not widely used. If you were using the Event Flow or Sankey Loop charts, you will need to find an alternative solution.
- [31198](https://github.com/apache/superset/pull/31198) Disallows by default the use of the following ClickHouse functions: "version", "currentDatabase", "hostName".
- [29798](https://github.com/apache/superset/pull/29798) Since 3.1.0, the intial schedule for an alert or report was mistakenly offset by the specified timezone's relation to UTC. The initial schedule should now begin at the correct time.
- [30021](https://github.com/apache/superset/pull/30021) The `dev` layer in our Dockerfile no long includes firefox binaries, only Chromium to reduce bloat/docker-build-time.

View File

@@ -22,9 +22,6 @@
# unique random secure passwords and SECRET_KEY.
# -----------------------------------------------------------------------
x-superset-image: &superset-image apachesuperset.docker.scarf.sh/apache/superset:${TAG:-latest-dev}
x-superset-depends-on: &superset-depends-on
- db
- redis
x-superset-volumes:
&superset-volumes # /app/pythonpath_docker will be appended to the PYTHONPATH in the final container
- ./docker:/app/docker
@@ -64,8 +61,12 @@ services:
restart: unless-stopped
ports:
- 8088:8088
depends_on: *superset-depends-on
depends_on:
superset-init:
condition: service_completed_successfully
volumes: *superset-volumes
environment:
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
superset-init:
image: *superset-image
@@ -76,11 +77,18 @@ services:
required: true
- path: docker/.env-local # optional override
required: false
depends_on: *superset-depends-on
depends_on:
db:
condition: service_started
redis:
condition: service_started
user: "root"
volumes: *superset-volumes
healthcheck:
disable: true
environment:
SUPERSET_LOAD_EXAMPLES: "${SUPERSET_LOAD_EXAMPLES:-yes}"
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
superset-worker:
image: *superset-image
@@ -92,7 +100,9 @@ services:
- path: docker/.env-local # optional override
required: false
restart: unless-stopped
depends_on: *superset-depends-on
depends_on:
superset-init:
condition: service_completed_successfully
user: "root"
volumes: *superset-volumes
healthcheck:
@@ -101,6 +111,8 @@ services:
"CMD-SHELL",
"celery -A superset.tasks.celery_app:app inspect ping -d celery@$$HOSTNAME",
]
environment:
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
superset-worker-beat:
image: *superset-image
@@ -112,11 +124,15 @@ services:
- path: docker/.env-local # optional override
required: false
restart: unless-stopped
depends_on: *superset-depends-on
depends_on:
superset-init:
condition: service_completed_successfully
user: "root"
volumes: *superset-volumes
healthcheck:
disable: true
environment:
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
volumes:
superset_home:

View File

@@ -21,9 +21,6 @@
# create you own docker environment file (docker/.env) with your own
# unique random secure passwords and SECRET_KEY.
# -----------------------------------------------------------------------
x-superset-depends-on: &superset-depends-on
- db
- redis
x-superset-volumes:
&superset-volumes # /app/pythonpath_docker will be appended to the PYTHONPATH in the final container
- ./docker:/app/docker
@@ -70,8 +67,12 @@ services:
restart: unless-stopped
ports:
- 8088:8088
depends_on: *superset-depends-on
depends_on:
superset-init:
condition: service_completed_successfully
volumes: *superset-volumes
environment:
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
superset-init:
container_name: superset_init
@@ -83,11 +84,18 @@ services:
required: true
- path: docker/.env-local # optional override
required: false
depends_on: *superset-depends-on
depends_on:
db:
condition: service_started
redis:
condition: service_started
user: "root"
volumes: *superset-volumes
healthcheck:
disable: true
environment:
SUPERSET_LOAD_EXAMPLES: "${SUPERSET_LOAD_EXAMPLES:-yes}"
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
superset-worker:
build:
@@ -100,7 +108,9 @@ services:
- path: docker/.env-local # optional override
required: false
restart: unless-stopped
depends_on: *superset-depends-on
depends_on:
superset-init:
condition: service_completed_successfully
user: "root"
volumes: *superset-volumes
healthcheck:
@@ -109,6 +119,8 @@ services:
"CMD-SHELL",
"celery -A superset.tasks.celery_app:app inspect ping -d celery@$$HOSTNAME",
]
environment:
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
superset-worker-beat:
build:
@@ -121,11 +133,15 @@ services:
- path: docker/.env-local # optional override
required: false
restart: unless-stopped
depends_on: *superset-depends-on
depends_on:
superset-init:
condition: service_completed_successfully
user: "root"
volumes: *superset-volumes
healthcheck:
disable: true
environment:
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
volumes:
superset_home:

View File

@@ -22,9 +22,6 @@
# unique random secure passwords and SECRET_KEY.
# -----------------------------------------------------------------------
x-superset-user: &superset-user root
x-superset-depends-on: &superset-depends-on
- db
- redis
x-superset-volumes: &superset-volumes
# /app/pythonpath_docker will be appended to the PYTHONPATH in the final container
- ./docker:/app/docker
@@ -95,10 +92,13 @@ services:
extra_hosts:
- "host.docker.internal:host-gateway"
user: *superset-user
depends_on: *superset-depends-on
depends_on:
superset-init:
condition: service_completed_successfully
volumes: *superset-volumes
environment:
CYPRESS_CONFIG: "${CYPRESS_CONFIG:-}"
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
superset-websocket:
container_name: superset_websocket
@@ -143,11 +143,17 @@ services:
required: true
- path: docker/.env-local # optional override
required: false
depends_on: *superset-depends-on
depends_on:
db:
condition: service_started
redis:
condition: service_started
user: *superset-user
volumes: *superset-volumes
environment:
CYPRESS_CONFIG: "${CYPRESS_CONFIG:-}"
SUPERSET_LOAD_EXAMPLES: "${SUPERSET_LOAD_EXAMPLES:-yes}"
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
healthcheck:
disable: true
@@ -174,7 +180,6 @@ services:
required: true
- path: docker/.env-local # optional override
required: false
depends_on: *superset-depends-on
volumes: *superset-volumes
superset-worker:
@@ -189,8 +194,12 @@ services:
required: false
environment:
CELERYD_CONCURRENCY: 2
CYPRESS_CONFIG: "${CYPRESS_CONFIG:-}"
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
restart: unless-stopped
depends_on: *superset-depends-on
depends_on:
superset-init:
condition: service_completed_successfully
user: *superset-user
volumes: *superset-volumes
extra_hosts:
@@ -212,11 +221,15 @@ services:
- path: docker/.env-local # optional override
required: false
restart: unless-stopped
depends_on: *superset-depends-on
depends_on:
- superset-worker
user: *superset-user
volumes: *superset-volumes
healthcheck:
disable: true
environment:
CYPRESS_CONFIG: "${CYPRESS_CONFIG:-}"
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
superset-tests-worker:
build:
@@ -237,8 +250,11 @@ services:
REDIS_RESULTS_DB: 3
REDIS_HOST: localhost
CELERYD_CONCURRENCY: 8
SUPERSET_LOG_LEVEL: "${SUPERSET_LOG_LEVEL:-info}"
network_mode: host
depends_on: *superset-depends-on
depends_on:
superset-init:
condition: service_completed_successfully
user: *superset-user
volumes: *superset-volumes
healthcheck:

View File

@@ -15,6 +15,8 @@
# limitations under the License.
#
# Allowing python to print() in docker
PYTHONUNBUFFERED=1
COMPOSE_PROJECT_NAME=superset
DEV_MODE=true
@@ -64,3 +66,4 @@ SUPERSET_SECRET_KEY=TEST_NON_DEV_SECRET
ENABLE_PLAYWRIGHT=false
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
BUILD_SUPERSET_FRONTEND_IN_DOCKER=true
SUPERSET_LOG_LEVEL=info

View File

@@ -20,8 +20,10 @@ set -eo pipefail
# Make python interactive
if [ "$DEV_MODE" == "true" ]; then
echo "Reinstalling the app in editable mode"
uv pip install -e .
if command -v uv > /dev/null 2>&1; then
echo "Reinstalling the app in editable mode"
uv pip install -e .
fi
fi
REQUIREMENTS_LOCAL="/app/docker/requirements-local.txt"
# If Cypress run overwrite the password for admin and export env variables
@@ -32,7 +34,13 @@ if [ "$CYPRESS_CONFIG" == "true" ]; then
fi
if [[ "$DATABASE_DIALECT" == postgres* ]] ; then
echo "Installing postgres requirements"
uv pip install -e .[postgres]
if command -v uv > /dev/null 2>&1; then
# Use uv in newer images
uv pip install -e .[postgres]
else
# Use pip in older images
pip install -e .[postgres]
fi
fi
#
# Make sure we have dev requirements installed

View File

@@ -76,7 +76,7 @@ if [ "$SUPERSET_LOAD_EXAMPLES" = "yes" ]; then
superset load_test_users
superset load_examples --load-test-data
else
superset load_examples --force
superset load_examples
fi
echo_step "4" "Complete" "Loading examples"
fi

View File

@@ -104,6 +104,9 @@ WEBDRIVER_BASEURL = "http://superset:8088/" # When using docker compose baseurl
WEBDRIVER_BASEURL_USER_FRIENDLY = WEBDRIVER_BASEURL
SQLLAB_CTAS_NO_LIMIT = True
log_level_text = os.getenv("SUPERSET_LOG_LEVEL", "INFO")
LOG_LEVEL = getattr(logging, log_level_text.upper(), logging.INFO)
#
# Optionally import superset_config_docker.py (which will have been included on
# the PYTHONPATH) in order to allow for local settings to be overridden

View File

@@ -72,6 +72,7 @@ documentation.
configured to be secure.
:::
### Supported environment variables
Affecting the Docker build process:
@@ -79,6 +80,10 @@ Affecting the Docker build process:
- **INCLUDE_FIREFOX (default=false):** whether to include the Firefox headless browser in the build
- **INCLUDE_CHROMIUM (default=false):** whether to include the Firefox headless browser in the build
- **BUILD_TRANSLATIONS(default=false):** whether to compile the translations from the .po files available
- **SUPERSET_LOAD_EXAMPLES (default=yes):** whether to load the examples into the database upon startup,
save some precious time on startup by `SUPERSET_LOAD_EXAMPLES=no docker compose up`
- **SUPERSET_LOG_LEVEL (default=info)**: Can be set to debug, info, warning, error, critical
for more verbose logging
For more env vars that affect your configuration, see this
[superset_config.py](https://github.com/apache/superset/blob/master/docker/pythonpath_dev/superset_config.py)
@@ -117,7 +122,8 @@ instance, but many people like to run that tooling from their host.
Assuming you already have a way to setup your python environments
like `pyenv`, `virtualenv` or something else, all you should have to
do is to install our dev, pinned python requirements bundle
do is to install our dev, pinned python requirements bundle, after installing
the prerequisites mentioned in [OS Dependencies](https://superset.apache.org/docs/installation/pypi/#os-dependencies)
```bash
pip install -r requirements/development.txt

View File

@@ -121,6 +121,13 @@ Here various release tags, github SHA, and latest `master` can be referenced by
Refer to the docker-related documentation to learn more about existing tags you can point to
from Docker Hub.
:::note
For option #2 and #3, we recommend checking out the release tag from the better repository
(ie: `git checkout 4.0.0`) for more guaranteed results. This ensures that the `docker-compose.*.yml`
configurations and that the mounted `docker/` scripts are in sync with the image you are
looking to fire up.
:::
## `docker compose` tips & configuration
:::caution

View File

@@ -31,6 +31,9 @@ $ git clone https://github.com/apache/superset
# Enter the repository you just cloned
$ cd superset
# Set the repo to the state associated with the latest official version
$ git checkout tags/4.1.1
# Fire up Superset using Docker Compose
$ docker compose -f docker-compose-image-tag.yml up
```

View File

@@ -253,6 +253,9 @@ You can get current nonce value by calling jinja macro `csp_nonce()`.
connect-src 'self' https://api.mapbox.com https://events.mapbox.com
```
- Cartodiagram charts request map data (image and json) from external resources that can be edited by users,
and therefore either require a list of allowed domains to request from or a wildcard (`'*'`) for `img-src` and `connect-src`.
* Other CSP directives default to `'self'` to limit content to the same origin as the Superset server.
In order to adjust provided CSP configuration to your needs, follow the instructions and examples provided in

View File

@@ -17,9 +17,9 @@
"typecheck": "tsc"
},
"dependencies": {
"@algolia/client-search": "^5.15.0",
"@algolia/client-search": "^5.18.0",
"@ant-design/icons": "^5.5.2",
"@docsearch/react": "^3.6.3",
"@docsearch/react": "^3.8.2",
"@docusaurus/core": "^3.5.2",
"@docusaurus/plugin-client-redirects": "^3.5.2",
"@docusaurus/preset-classic": "^3.5.2",
@@ -29,14 +29,14 @@
"@saucelabs/theme-github-codeblock": "^0.3.0",
"@superset-ui/style": "^0.14.23",
"@svgr/webpack": "^8.1.0",
"antd": "^5.22.2",
"antd": "^5.22.7",
"buffer": "^6.0.3",
"clsx": "^2.1.1",
"docusaurus-plugin-less": "^2.0.2",
"file-loader": "^6.2.0",
"less": "^4.2.1",
"less-loader": "^11.0.0",
"prism-react-renderer": "^2.4.0",
"prism-react-renderer": "^2.4.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-github-btn": "^1.4.0",
@@ -50,7 +50,7 @@
"@docusaurus/tsconfig": "^3.6.3",
"@types/react": "^18.3.12",
"typescript": "^5.7.2",
"webpack": "^5.96.1"
"webpack": "^5.97.1"
},
"browserslist": {
"production": [

View File

@@ -2,37 +2,32 @@
# yarn lockfile v1
"@algolia/autocomplete-core@1.9.3":
version "1.9.3"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz#1d56482a768c33aae0868c8533049e02e8961be7"
integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==
"@algolia/autocomplete-core@1.17.7":
version "1.17.7"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz#2c410baa94a47c5c5f56ed712bb4a00ebe24088b"
integrity sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==
dependencies:
"@algolia/autocomplete-plugin-algolia-insights" "1.9.3"
"@algolia/autocomplete-shared" "1.9.3"
"@algolia/autocomplete-plugin-algolia-insights" "1.17.7"
"@algolia/autocomplete-shared" "1.17.7"
"@algolia/autocomplete-plugin-algolia-insights@1.9.3":
version "1.9.3"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz#9b7f8641052c8ead6d66c1623d444cbe19dde587"
integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==
"@algolia/autocomplete-plugin-algolia-insights@1.17.7":
version "1.17.7"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz#7d2b105f84e7dd8f0370aa4c4ab3b704e6760d82"
integrity sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==
dependencies:
"@algolia/autocomplete-shared" "1.9.3"
"@algolia/autocomplete-shared" "1.17.7"
"@algolia/autocomplete-preset-algolia@1.17.6":
version "1.17.6"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.6.tgz#465b652bff5c262aad4da2488d78629cfa906be6"
integrity sha512-Cvg5JENdSCMuClwhJ1ON1/jSuojaYMiUW2KePm18IkdCzPJj/NXojaOxw58RFtQFpJgfVW8h2E8mEoDtLlMdeA==
"@algolia/autocomplete-preset-algolia@1.17.7":
version "1.17.7"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz#c9badc0d73d62db5bf565d839d94ec0034680ae9"
integrity sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==
dependencies:
"@algolia/autocomplete-shared" "1.17.6"
"@algolia/autocomplete-shared" "1.17.7"
"@algolia/autocomplete-shared@1.17.6":
version "1.17.6"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.6.tgz#ad951632b6d477d4ba9a68a347e1702d26009d58"
integrity sha512-aq/3V9E00Tw2GC/PqgyPGXtqJUlVc17v4cn1EUhSc+O/4zd04Uwb3UmPm8KDaYQQOrkt1lwvCj2vG2wRE5IKhw==
"@algolia/autocomplete-shared@1.9.3":
version "1.9.3"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa"
integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==
"@algolia/autocomplete-shared@1.17.7":
version "1.17.7"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz#105e84ad9d1a31d3fb86ba20dc890eefe1a313a0"
integrity sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==
"@algolia/cache-browser-local-storage@4.23.3":
version "4.23.3"
@@ -53,15 +48,15 @@
dependencies:
"@algolia/cache-common" "4.23.3"
"@algolia/client-abtesting@5.12.0":
version "5.12.0"
resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.12.0.tgz#45175422ee85d505ff6a16d1634a739478a6ad0b"
integrity sha512-hx4eVydkm3yrFCFxmcBtSzI/ykt0cZ6sDWch+v3JTgKpD2WtosMJU3Upv1AjQ4B6COSHCOWEX3vfFxW6OoH6aA==
"@algolia/client-abtesting@5.18.0":
version "5.18.0"
resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.18.0.tgz#1bc368444d08b6e48ce56f1d5c935bfb9f658a98"
integrity sha512-DLIrAukjsSrdMNNDx1ZTks72o4RH/1kOn8Wx5zZm8nnqFexG+JzY4SANnCNEjnFQPJTTvC+KpgiNW/CP2lumng==
dependencies:
"@algolia/client-common" "5.12.0"
"@algolia/requester-browser-xhr" "5.12.0"
"@algolia/requester-fetch" "5.12.0"
"@algolia/requester-node-http" "5.12.0"
"@algolia/client-common" "5.18.0"
"@algolia/requester-browser-xhr" "5.18.0"
"@algolia/requester-fetch" "5.18.0"
"@algolia/requester-node-http" "5.18.0"
"@algolia/client-account@4.23.3":
version "4.23.3"
@@ -82,15 +77,15 @@
"@algolia/requester-common" "4.23.3"
"@algolia/transporter" "4.23.3"
"@algolia/client-analytics@5.12.0":
version "5.12.0"
resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.12.0.tgz#e387f4de01f4fb549b7506762003bef335be2927"
integrity sha512-EpTsSv6IW8maCfXCDIptgT7+mQJj7pImEkcNUnxR8yUKAHzTogTXv9yGm2WXOZFVuwstd2i0sImhQ1Vz8RH/hA==
"@algolia/client-analytics@5.18.0":
version "5.18.0"
resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.18.0.tgz#de0dc80011fdbaa9853adbdb836e0a80f08f53df"
integrity sha512-0VpGG2uQW+h2aejxbG8VbnMCQ9ary9/ot7OASXi6OjE0SRkYQ/+pkW+q09+IScif3pmsVVYggmlMPtAsmYWHng==
dependencies:
"@algolia/client-common" "5.12.0"
"@algolia/requester-browser-xhr" "5.12.0"
"@algolia/requester-fetch" "5.12.0"
"@algolia/requester-node-http" "5.12.0"
"@algolia/client-common" "5.18.0"
"@algolia/requester-browser-xhr" "5.18.0"
"@algolia/requester-fetch" "5.18.0"
"@algolia/requester-node-http" "5.18.0"
"@algolia/client-common@4.23.3":
version "4.23.3"
@@ -100,25 +95,20 @@
"@algolia/requester-common" "4.23.3"
"@algolia/transporter" "4.23.3"
"@algolia/client-common@5.12.0":
version "5.12.0"
resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.12.0.tgz#e33b6fefb333beb56eb58ab7424fcd7ec11ac7d0"
integrity sha512-od3WmO8qxyfNhKc+K3D17tvun3IMs/xMNmxCG9MiElAkYVbPPTRUYMkRneCpmJyQI0hNx2/EA4kZgzVfQjO86Q==
"@algolia/client-common@5.18.0":
version "5.18.0"
resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.18.0.tgz#8de3991b25ff3c9bbf5ef06c19f6a4a4fa64f328"
integrity sha512-X1WMSC+1ve2qlMsemyTF5bIjwipOT+m99Ng1Tyl36ZjQKTa54oajBKE0BrmM8LD8jGdtukAgkUhFoYOaRbMcmQ==
"@algolia/client-common@5.15.0":
version "5.15.0"
resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.15.0.tgz#cd47ae07a3afc7065438a2dab29f8434f848928e"
integrity sha512-IofrVh213VLsDkPoSKMeM9Dshrv28jhDlBDLRcVJQvlL8pzue7PEB1EZ4UoJFYS3NSn7JOcJ/V+olRQzXlJj1w==
"@algolia/client-insights@5.12.0":
version "5.12.0"
resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.12.0.tgz#bb80c4227178b452dd93a649b9991b8140cba52d"
integrity sha512-8alajmsYUd+7vfX5lpRNdxqv3Xx9clIHLUItyQK0Z6gwGMbVEFe6YYhgDtwslMAP0y6b0WeJEIZJMLgT7VYpRw==
"@algolia/client-insights@5.18.0":
version "5.18.0"
resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.18.0.tgz#2c6f158e57265fd0888f5b84fe7302d6d659c0ff"
integrity sha512-FAJRNANUOSs/FgYOJ/Njqp+YTe4TMz2GkeZtfsw1TMiA5mVNRS/nnMpxas9771aJz7KTEWvK9GwqPs0K6RMYWg==
dependencies:
"@algolia/client-common" "5.12.0"
"@algolia/requester-browser-xhr" "5.12.0"
"@algolia/requester-fetch" "5.12.0"
"@algolia/requester-node-http" "5.12.0"
"@algolia/client-common" "5.18.0"
"@algolia/requester-browser-xhr" "5.18.0"
"@algolia/requester-fetch" "5.18.0"
"@algolia/requester-node-http" "5.18.0"
"@algolia/client-personalization@4.23.3":
version "4.23.3"
@@ -129,25 +119,25 @@
"@algolia/requester-common" "4.23.3"
"@algolia/transporter" "4.23.3"
"@algolia/client-personalization@5.12.0":
version "5.12.0"
resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.12.0.tgz#ad711245403754686efff6a65d6c83877e64ecfa"
integrity sha512-bUV9HtfkTBgpoVhxFrMkmVPG03ZN1Rtn51kiaEtukucdk3ggjR9Qu1YUfRSU2lFgxr9qJc8lTxwfvhjCeJRcqw==
"@algolia/client-personalization@5.18.0":
version "5.18.0"
resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.18.0.tgz#26128f6a1aef523ae32f29ef9afd18fd2f159b98"
integrity sha512-I2dc94Oiwic3SEbrRp8kvTZtYpJjGtg5y5XnqubgnA15AgX59YIY8frKsFG8SOH1n2rIhUClcuDkxYQNXJLg+w==
dependencies:
"@algolia/client-common" "5.12.0"
"@algolia/requester-browser-xhr" "5.12.0"
"@algolia/requester-fetch" "5.12.0"
"@algolia/requester-node-http" "5.12.0"
"@algolia/client-common" "5.18.0"
"@algolia/requester-browser-xhr" "5.18.0"
"@algolia/requester-fetch" "5.18.0"
"@algolia/requester-node-http" "5.18.0"
"@algolia/client-query-suggestions@5.12.0":
version "5.12.0"
resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.12.0.tgz#fc3bbf6d86e8989bb8487dc69ec49743fa75ceb4"
integrity sha512-Q5CszzGWfxbIDs9DJ/QJsL7bP6h+lJMg27KxieEnI9KGCu0Jt5iFA3GkREkgRZxRdzlHbZKkrIzhtHVbSHw/rg==
"@algolia/client-query-suggestions@5.18.0":
version "5.18.0"
resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.18.0.tgz#9911560aa2dd26984a6d3f9803f14aecc2f1d10e"
integrity sha512-x6XKIQgKFTgK/bMasXhghoEjHhmgoP61pFPb9+TaUJ32aKOGc65b12usiGJ9A84yS73UDkXS452NjyP50Knh/g==
dependencies:
"@algolia/client-common" "5.12.0"
"@algolia/requester-browser-xhr" "5.12.0"
"@algolia/requester-fetch" "5.12.0"
"@algolia/requester-node-http" "5.12.0"
"@algolia/client-common" "5.18.0"
"@algolia/requester-browser-xhr" "5.18.0"
"@algolia/requester-fetch" "5.18.0"
"@algolia/requester-node-http" "5.18.0"
"@algolia/client-search@4.23.3":
version "4.23.3"
@@ -158,40 +148,30 @@
"@algolia/requester-common" "4.23.3"
"@algolia/transporter" "4.23.3"
"@algolia/client-search@5.12.0":
version "5.12.0"
resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.12.0.tgz#cd3eb4854664177d6e992bb2b942e2a12e4cb919"
integrity sha512-R3qzEytgVLHOGNri+bpta6NtTt7YtkvUe/QBcAmMDjW4Jk1P0eBYIPfvnzIPbINRsLxIq9fZs9uAYBgsrts4Zg==
"@algolia/client-search@5.18.0", "@algolia/client-search@^5.18.0":
version "5.18.0"
resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.18.0.tgz#26a3b55b6783cf7eaa8c28b48b891ed245c7e708"
integrity sha512-qI3LcFsVgtvpsBGR7aNSJYxhsR+Zl46+958ODzg8aCxIcdxiK7QEVLMJMZAR57jGqW0Lg/vrjtuLFDMfSE53qA==
dependencies:
"@algolia/client-common" "5.12.0"
"@algolia/requester-browser-xhr" "5.12.0"
"@algolia/requester-fetch" "5.12.0"
"@algolia/requester-node-http" "5.12.0"
"@algolia/client-search@^5.15.0":
version "5.15.0"
resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.15.0.tgz#8645f5bc87a959b8008e021d8b31d55a47920b94"
integrity sha512-Z32gEMrRRpEta5UqVQA612sLdoqY3AovvUPClDfMxYrbdDAebmGDVPtSogUba1FZ4pP5dx20D3OV3reogLKsRA==
dependencies:
"@algolia/client-common" "5.15.0"
"@algolia/requester-browser-xhr" "5.15.0"
"@algolia/requester-fetch" "5.15.0"
"@algolia/requester-node-http" "5.15.0"
"@algolia/client-common" "5.18.0"
"@algolia/requester-browser-xhr" "5.18.0"
"@algolia/requester-fetch" "5.18.0"
"@algolia/requester-node-http" "5.18.0"
"@algolia/events@^4.0.1":
version "4.0.1"
resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950"
integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==
"@algolia/ingestion@1.12.0":
version "1.12.0"
resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.12.0.tgz#01a297fb2a58019595e5d74e95939da033a18194"
integrity sha512-zpHo6qhR22tL8FsdSI4DvEraPDi/019HmMrCFB/TUX98yzh5ooAU7sNW0qPL1I7+S++VbBmNzJOEU9VI8tEC8A==
"@algolia/ingestion@1.18.0":
version "1.18.0"
resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.18.0.tgz#023e2fda366655b0e8f2cdddd98666412815429d"
integrity sha512-bGvJg7HnGGm+XWYMDruZXWgMDPVt4yCbBqq8DM6EoaMBK71SYC4WMfIdJaw+ABqttjBhe6aKNRkWf/bbvYOGyw==
dependencies:
"@algolia/client-common" "5.12.0"
"@algolia/requester-browser-xhr" "5.12.0"
"@algolia/requester-fetch" "5.12.0"
"@algolia/requester-node-http" "5.12.0"
"@algolia/client-common" "5.18.0"
"@algolia/requester-browser-xhr" "5.18.0"
"@algolia/requester-fetch" "5.18.0"
"@algolia/requester-node-http" "5.18.0"
"@algolia/logger-common@4.23.3":
version "4.23.3"
@@ -205,15 +185,15 @@
dependencies:
"@algolia/logger-common" "4.23.3"
"@algolia/monitoring@1.12.0":
version "1.12.0"
resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.12.0.tgz#f510bfd9d09352b31ccce293d1fd84cdea59354c"
integrity sha512-i2AJZED/zf4uhxezAJUhMKoL5QoepCBp2ynOYol0N76+TSoohaMADdPnWCqOULF4RzOwrG8wWynAwBlXsAI1RQ==
"@algolia/monitoring@1.18.0":
version "1.18.0"
resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.18.0.tgz#e94a4c436be0d8c1e9d19c69aeff8e67d0237736"
integrity sha512-lBssglINIeGIR+8KyzH05NAgAmn1BCrm5D2T6pMtr/8kbTHvvrm1Zvcltc5dKUQEFyyx3J5+MhNc7kfi8LdjVw==
dependencies:
"@algolia/client-common" "5.12.0"
"@algolia/requester-browser-xhr" "5.12.0"
"@algolia/requester-fetch" "5.12.0"
"@algolia/requester-node-http" "5.12.0"
"@algolia/client-common" "5.18.0"
"@algolia/requester-browser-xhr" "5.18.0"
"@algolia/requester-fetch" "5.18.0"
"@algolia/requester-node-http" "5.18.0"
"@algolia/recommend@4.23.3":
version "4.23.3"
@@ -232,15 +212,15 @@
"@algolia/requester-node-http" "4.23.3"
"@algolia/transporter" "4.23.3"
"@algolia/recommend@5.12.0":
version "5.12.0"
resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.12.0.tgz#bc9f69c78c08ba9a3579e7fe2a0f4037b494cc55"
integrity sha512-0jmZyKvYnB/Bj5c7WKsKedOUjnr0UtXm0LVFUdQrxXfqOqvWv9n6Vpr65UjdYG4Q49kRQxhlwtal9WJYrYymXg==
"@algolia/recommend@5.18.0":
version "5.18.0"
resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.18.0.tgz#bd07d3057dd2030718c6707a4fe247b871f1834d"
integrity sha512-uSnkm0cdAuFwdMp4pGT5vHVQ84T6AYpTZ3I0b3k/M3wg4zXDhl3aCiY8NzokEyRLezz/kHLEEcgb/tTTobOYVw==
dependencies:
"@algolia/client-common" "5.12.0"
"@algolia/requester-browser-xhr" "5.12.0"
"@algolia/requester-fetch" "5.12.0"
"@algolia/requester-node-http" "5.12.0"
"@algolia/client-common" "5.18.0"
"@algolia/requester-browser-xhr" "5.18.0"
"@algolia/requester-fetch" "5.18.0"
"@algolia/requester-node-http" "5.18.0"
"@algolia/requester-browser-xhr@4.23.3":
version "4.23.3"
@@ -249,38 +229,24 @@
dependencies:
"@algolia/requester-common" "4.23.3"
"@algolia/requester-browser-xhr@5.12.0":
version "5.12.0"
resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.12.0.tgz#dba0072d5098a145e4724a723ea1c765b4af0cb6"
integrity sha512-KxwleraFuVoEGCoeW6Y1RAEbgBMS7SavqeyzWdtkJc6mXeCOJXn1iZitb8Tyn2FcpMNUKlSm0adrUTt7G47+Ow==
"@algolia/requester-browser-xhr@5.18.0":
version "5.18.0"
resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.18.0.tgz#6e7e56bb687904a01c91988393f5c1969944ee3d"
integrity sha512-1XFjW0C3pV0dS/9zXbV44cKI+QM4ZIz9cpatXpsjRlq6SUCpLID3DZHsXyE6sTb8IhyPaUjk78GEJT8/3hviqg==
dependencies:
"@algolia/client-common" "5.12.0"
"@algolia/requester-browser-xhr@5.15.0":
version "5.15.0"
resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.15.0.tgz#5ffdccdf5cd7814ed3486bed418edb6db25c32a2"
integrity sha512-Po/GNib6QKruC3XE+WKP1HwVSfCDaZcXu48kD+gwmtDlqHWKc7Bq9lrS0sNZ456rfCKhXksOmMfUs4wRM/Y96w==
dependencies:
"@algolia/client-common" "5.15.0"
"@algolia/client-common" "5.18.0"
"@algolia/requester-common@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.23.3.tgz#7dbae896e41adfaaf1d1fa5f317f83a99afb04b3"
integrity sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==
"@algolia/requester-fetch@5.12.0":
version "5.12.0"
resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.12.0.tgz#4db2772b9b0699fdfadbcd7b87e0608a4acf8363"
integrity sha512-FuDZXUGU1pAg2HCnrt8+q1VGHKChV/LhvjvZlLOT7e56GJie6p+EuLu4/hMKPOVuQQ8XXtrTHKIU3Lw+7O5/bQ==
"@algolia/requester-fetch@5.18.0":
version "5.18.0"
resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.18.0.tgz#fcccc76bd7d16fb54c56d15baa6b5f657b17ca71"
integrity sha512-0uodeNdAHz1YbzJh6C5xeQ4T6x5WGiUxUq3GOaT/R4njh5t78dq+Rb187elr7KtnjUmETVVuCvmEYaThfTHzNg==
dependencies:
"@algolia/client-common" "5.12.0"
"@algolia/requester-fetch@5.15.0":
version "5.15.0"
resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.15.0.tgz#2ce94d4855090fac192b208d95eeea22e1ca4489"
integrity sha512-rOZ+c0P7ajmccAvpeeNrUmEKoliYFL8aOR5qGW5pFq3oj3Iept7Y5mEtEsOBYsRt6qLnaXn4zUKf+N8nvJpcIw==
dependencies:
"@algolia/client-common" "5.15.0"
"@algolia/client-common" "5.18.0"
"@algolia/requester-node-http@4.23.3":
version "4.23.3"
@@ -289,19 +255,12 @@
dependencies:
"@algolia/requester-common" "4.23.3"
"@algolia/requester-node-http@5.12.0":
version "5.12.0"
resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.12.0.tgz#6c6bb47df33351b819790f26346632196c97a3c7"
integrity sha512-ncDDY7CxZhMs6LIoPl+vHFQceIBhYPY5EfuGF1V7beO0U38xfsCYEyutEFB2kRzf4D9Gqppn3iWX71sNtrKcuw==
"@algolia/requester-node-http@5.18.0":
version "5.18.0"
resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.18.0.tgz#c5b16de53d83276067583e7b2f56b09eac938435"
integrity sha512-tZCqDrqJ2YE2I5ukCQrYN8oiF6u3JIdCxrtKq+eniuLkjkO78TKRnXrVcKZTmfFJyyDK8q47SfDcHzAA3nHi6w==
dependencies:
"@algolia/client-common" "5.12.0"
"@algolia/requester-node-http@5.15.0":
version "5.15.0"
resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.15.0.tgz#e2020afcdaea56dc204bc6c82daab41478b32d87"
integrity sha512-b1jTpbFf9LnQHEJP5ddDJKE2sAlhYd7EVSOWgzo/27n/SfCoHfqD0VWntnWYD83PnOKvfe8auZ2+xCb0TXotrQ==
dependencies:
"@algolia/client-common" "5.15.0"
"@algolia/client-common" "5.18.0"
"@algolia/transporter@4.23.3":
version "4.23.3"
@@ -327,10 +286,10 @@
dependencies:
"@ctrl/tinycolor" "^3.6.1"
"@ant-design/cssinjs-utils@^1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@ant-design/cssinjs-utils/-/cssinjs-utils-1.1.1.tgz#57abb43671023f937348bd33442862c60ac8e8b2"
integrity sha512-2HAiyGGGnM0es40SxdszeQAU5iWp41wBIInq+ONTCKjlSKOrzQfnw4JDtB8IBmqE6tQaEKwmzTP2LGdt5DSwYQ==
"@ant-design/cssinjs-utils@^1.1.3":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@ant-design/cssinjs-utils/-/cssinjs-utils-1.1.3.tgz#5dd79126057920a6992d57b38dd84e2c0b707977"
integrity sha512-nOoQMLW1l+xR1Co8NFVYiP8pZp3VjIIzqV6D6ShYF2ljtdwWJn5WSsH+7kvCktXL/yhEtWURKOfH5Xz/gzlwsg==
dependencies:
"@ant-design/cssinjs" "^1.21.0"
"@babel/runtime" "^7.23.2"
@@ -361,7 +320,7 @@
resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz#ed2be7fb4d82ac7e1d45a54a5b06d6cecf8be6f6"
integrity sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==
"@ant-design/icons@^5.5.1", "@ant-design/icons@^5.5.2":
"@ant-design/icons@^5.5.2":
version "5.5.2"
resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.5.2.tgz#c4567943cc2b7c6dbe9cae68c06ffa35f755dc0d"
integrity sha512-xc53rjVBl9v2BqFxUjZGti/RfdDeA8/6KYglmInM2PNqSXc/WfuGDTifJI/ZsokJK0aeKvOIbXc9y2g8ILAhEA==
@@ -1451,20 +1410,20 @@
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
"@docsearch/css@3.6.3":
version "3.6.3"
resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.6.3.tgz#d787cc9d27a7e67305fa47d668656eb2e64c4526"
integrity sha512-3uvbg8E7rhqE1C4oBAK3tGlS2qfhi9zpfZgH/yjDPF73vd9B41urVIKujF4rczcF4E3qs34SedhehiDJ4UdNBA==
"@docsearch/css@3.8.2":
version "3.8.2"
resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.8.2.tgz#7973ceb6892c30f154ba254cd05c562257a44977"
integrity sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==
"@docsearch/react@^3.5.2", "@docsearch/react@^3.6.3":
version "3.6.3"
resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.6.3.tgz#326a0811306060bfb481df3cd0db51adaa9f737c"
integrity sha512-2munr4uBuZq1PG+Ge+F+ldIdxb3Wi8OmEIv2tQQb4RvEvvph+xtQkxwHzVIEnt5s+HecwucuXwB+3JhcZboFLg==
"@docsearch/react@^3.5.2", "@docsearch/react@^3.8.2":
version "3.8.2"
resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.8.2.tgz#7b11d39b61c976c0aa9fbde66e6b73b30f3acd42"
integrity sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==
dependencies:
"@algolia/autocomplete-core" "1.9.3"
"@algolia/autocomplete-preset-algolia" "1.17.6"
"@docsearch/css" "3.6.3"
algoliasearch "^5.11.0"
"@algolia/autocomplete-core" "1.17.7"
"@algolia/autocomplete-preset-algolia" "1.17.7"
"@docsearch/css" "3.8.2"
algoliasearch "^5.14.2"
"@docusaurus/core@3.5.2", "@docusaurus/core@^3.5.2":
version "3.5.2"
@@ -2259,17 +2218,17 @@
classnames "^2.3.2"
rc-util "^5.24.4"
"@rc-component/trigger@^2.0.0", "@rc-component/trigger@^2.1.1", "@rc-component/trigger@^2.2.5":
version "2.2.5"
resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-2.2.5.tgz#5ebe383e563e667b3fa24b6b32afedbab378a92e"
integrity sha512-F1EJ4KjFpGAHAjuKvOyZB/6IZDkVx0bHl0M4fQM5wXcmm7lgTgVSSnR3bXwdmS6jOJGHOqfDxIJW3WUvwMIXhQ==
"@rc-component/trigger@^2.0.0", "@rc-component/trigger@^2.1.1", "@rc-component/trigger@^2.2.6":
version "2.2.6"
resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-2.2.6.tgz#bfe6602313b3fadd659687746511f813299d5ea4"
integrity sha512-/9zuTnWwhQ3S3WT1T8BubuFTT46kvnXgaERR9f4BTKyn61/wpf/BvbImzYBubzJibU707FxwbKszLlHjcLiv1Q==
dependencies:
"@babel/runtime" "^7.23.2"
"@rc-component/portal" "^1.1.0"
classnames "^2.3.2"
rc-motion "^2.0.0"
rc-resize-observer "^1.3.1"
rc-util "^5.38.0"
rc-util "^5.44.0"
"@saucelabs/theme-github-codeblock@^0.3.0":
version "0.3.0"
@@ -3202,125 +3161,125 @@
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1":
version "1.12.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb"
integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==
"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1":
version "1.14.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6"
integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==
dependencies:
"@webassemblyjs/helper-numbers" "1.11.6"
"@webassemblyjs/helper-wasm-bytecode" "1.11.6"
"@webassemblyjs/helper-numbers" "1.13.2"
"@webassemblyjs/helper-wasm-bytecode" "1.13.2"
"@webassemblyjs/floating-point-hex-parser@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431"
integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==
"@webassemblyjs/floating-point-hex-parser@1.13.2":
version "1.13.2"
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb"
integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==
"@webassemblyjs/helper-api-error@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768"
integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==
"@webassemblyjs/helper-api-error@1.13.2":
version "1.13.2"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7"
integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==
"@webassemblyjs/helper-buffer@1.12.1":
version "1.12.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6"
integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==
"@webassemblyjs/helper-buffer@1.14.1":
version "1.14.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b"
integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==
"@webassemblyjs/helper-numbers@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5"
integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==
"@webassemblyjs/helper-numbers@1.13.2":
version "1.13.2"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d"
integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==
dependencies:
"@webassemblyjs/floating-point-hex-parser" "1.11.6"
"@webassemblyjs/helper-api-error" "1.11.6"
"@webassemblyjs/floating-point-hex-parser" "1.13.2"
"@webassemblyjs/helper-api-error" "1.13.2"
"@xtuc/long" "4.2.2"
"@webassemblyjs/helper-wasm-bytecode@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9"
integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==
"@webassemblyjs/helper-wasm-bytecode@1.13.2":
version "1.13.2"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b"
integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==
"@webassemblyjs/helper-wasm-section@1.12.1":
version "1.12.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf"
integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==
"@webassemblyjs/helper-wasm-section@1.14.1":
version "1.14.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348"
integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==
dependencies:
"@webassemblyjs/ast" "1.12.1"
"@webassemblyjs/helper-buffer" "1.12.1"
"@webassemblyjs/helper-wasm-bytecode" "1.11.6"
"@webassemblyjs/wasm-gen" "1.12.1"
"@webassemblyjs/ast" "1.14.1"
"@webassemblyjs/helper-buffer" "1.14.1"
"@webassemblyjs/helper-wasm-bytecode" "1.13.2"
"@webassemblyjs/wasm-gen" "1.14.1"
"@webassemblyjs/ieee754@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a"
integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==
"@webassemblyjs/ieee754@1.13.2":
version "1.13.2"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba"
integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==
dependencies:
"@xtuc/ieee754" "^1.2.0"
"@webassemblyjs/leb128@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7"
integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==
"@webassemblyjs/leb128@1.13.2":
version "1.13.2"
resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0"
integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==
dependencies:
"@xtuc/long" "4.2.2"
"@webassemblyjs/utf8@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a"
integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==
"@webassemblyjs/utf8@1.13.2":
version "1.13.2"
resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1"
integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==
"@webassemblyjs/wasm-edit@^1.12.1":
version "1.12.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b"
integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==
"@webassemblyjs/wasm-edit@^1.14.1":
version "1.14.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597"
integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==
dependencies:
"@webassemblyjs/ast" "1.12.1"
"@webassemblyjs/helper-buffer" "1.12.1"
"@webassemblyjs/helper-wasm-bytecode" "1.11.6"
"@webassemblyjs/helper-wasm-section" "1.12.1"
"@webassemblyjs/wasm-gen" "1.12.1"
"@webassemblyjs/wasm-opt" "1.12.1"
"@webassemblyjs/wasm-parser" "1.12.1"
"@webassemblyjs/wast-printer" "1.12.1"
"@webassemblyjs/ast" "1.14.1"
"@webassemblyjs/helper-buffer" "1.14.1"
"@webassemblyjs/helper-wasm-bytecode" "1.13.2"
"@webassemblyjs/helper-wasm-section" "1.14.1"
"@webassemblyjs/wasm-gen" "1.14.1"
"@webassemblyjs/wasm-opt" "1.14.1"
"@webassemblyjs/wasm-parser" "1.14.1"
"@webassemblyjs/wast-printer" "1.14.1"
"@webassemblyjs/wasm-gen@1.12.1":
version "1.12.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547"
integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==
"@webassemblyjs/wasm-gen@1.14.1":
version "1.14.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570"
integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==
dependencies:
"@webassemblyjs/ast" "1.12.1"
"@webassemblyjs/helper-wasm-bytecode" "1.11.6"
"@webassemblyjs/ieee754" "1.11.6"
"@webassemblyjs/leb128" "1.11.6"
"@webassemblyjs/utf8" "1.11.6"
"@webassemblyjs/ast" "1.14.1"
"@webassemblyjs/helper-wasm-bytecode" "1.13.2"
"@webassemblyjs/ieee754" "1.13.2"
"@webassemblyjs/leb128" "1.13.2"
"@webassemblyjs/utf8" "1.13.2"
"@webassemblyjs/wasm-opt@1.12.1":
version "1.12.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5"
integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==
"@webassemblyjs/wasm-opt@1.14.1":
version "1.14.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b"
integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==
dependencies:
"@webassemblyjs/ast" "1.12.1"
"@webassemblyjs/helper-buffer" "1.12.1"
"@webassemblyjs/wasm-gen" "1.12.1"
"@webassemblyjs/wasm-parser" "1.12.1"
"@webassemblyjs/ast" "1.14.1"
"@webassemblyjs/helper-buffer" "1.14.1"
"@webassemblyjs/wasm-gen" "1.14.1"
"@webassemblyjs/wasm-parser" "1.14.1"
"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1":
version "1.12.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937"
integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==
"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1":
version "1.14.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb"
integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==
dependencies:
"@webassemblyjs/ast" "1.12.1"
"@webassemblyjs/helper-api-error" "1.11.6"
"@webassemblyjs/helper-wasm-bytecode" "1.11.6"
"@webassemblyjs/ieee754" "1.11.6"
"@webassemblyjs/leb128" "1.11.6"
"@webassemblyjs/utf8" "1.11.6"
"@webassemblyjs/ast" "1.14.1"
"@webassemblyjs/helper-api-error" "1.13.2"
"@webassemblyjs/helper-wasm-bytecode" "1.13.2"
"@webassemblyjs/ieee754" "1.13.2"
"@webassemblyjs/leb128" "1.13.2"
"@webassemblyjs/utf8" "1.13.2"
"@webassemblyjs/wast-printer@1.12.1":
version "1.12.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac"
integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==
"@webassemblyjs/wast-printer@1.14.1":
version "1.14.1"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07"
integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==
dependencies:
"@webassemblyjs/ast" "1.12.1"
"@webassemblyjs/ast" "1.14.1"
"@xtuc/long" "4.2.2"
"@xtuc/ieee754@^1.2.0":
@@ -3436,24 +3395,24 @@ algoliasearch@^4.18.0:
"@algolia/requester-node-http" "4.23.3"
"@algolia/transporter" "4.23.3"
algoliasearch@^5.11.0:
version "5.12.0"
resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.12.0.tgz#2e822a7916d691e55058ea7dba277d5110969dd0"
integrity sha512-psGBRYdGgik8I6m28iAB8xpubvjEt7UQU+w5MAJUA2324WHiGoHap5BPkkjB14rMaXeRts6pmOsrVIglGyOVwg==
algoliasearch@^5.14.2:
version "5.18.0"
resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.18.0.tgz#2023232151f2ee9a580ea84d4a36676871979ce4"
integrity sha512-/tfpK2A4FpS0o+S78o3YSdlqXr0MavJIDlFK3XZrlXLy7vaRXJvW5jYg3v5e/wCaF8y0IpMjkYLhoV6QqfpOgw==
dependencies:
"@algolia/client-abtesting" "5.12.0"
"@algolia/client-analytics" "5.12.0"
"@algolia/client-common" "5.12.0"
"@algolia/client-insights" "5.12.0"
"@algolia/client-personalization" "5.12.0"
"@algolia/client-query-suggestions" "5.12.0"
"@algolia/client-search" "5.12.0"
"@algolia/ingestion" "1.12.0"
"@algolia/monitoring" "1.12.0"
"@algolia/recommend" "5.12.0"
"@algolia/requester-browser-xhr" "5.12.0"
"@algolia/requester-fetch" "5.12.0"
"@algolia/requester-node-http" "5.12.0"
"@algolia/client-abtesting" "5.18.0"
"@algolia/client-analytics" "5.18.0"
"@algolia/client-common" "5.18.0"
"@algolia/client-insights" "5.18.0"
"@algolia/client-personalization" "5.18.0"
"@algolia/client-query-suggestions" "5.18.0"
"@algolia/client-search" "5.18.0"
"@algolia/ingestion" "1.18.0"
"@algolia/monitoring" "1.18.0"
"@algolia/recommend" "5.18.0"
"@algolia/requester-browser-xhr" "5.18.0"
"@algolia/requester-fetch" "5.18.0"
"@algolia/requester-node-http" "5.18.0"
ansi-align@^3.0.1:
version "3.0.1"
@@ -3496,15 +3455,15 @@ ansi-styles@^6.1.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
antd@^5.22.2:
version "5.22.2"
resolved "https://registry.yarnpkg.com/antd/-/antd-5.22.2.tgz#9f5d38c09685c018c368329f1a1107d5417536d6"
integrity sha512-vihhiJbm9VG3d6boUeD1q2MXMax+qBrXhgqCEC+45v8iGUF6m4Ct+lFiCW4oWaN3EABOsbVA6Svy3Rj/QkQFKw==
antd@^5.22.7:
version "5.22.7"
resolved "https://registry.yarnpkg.com/antd/-/antd-5.22.7.tgz#90a0eb3e4cd65b7fc042318132d34b7c492783dd"
integrity sha512-koT5QMliDgXc21yNcs4Uyuq6TeB5AJbzGZ2qjNExzE7Tjr8yYIX6sJsQfunsEV80wC1mpF7m9ldKuNj+PafcFA==
dependencies:
"@ant-design/colors" "^7.1.0"
"@ant-design/cssinjs" "^1.21.1"
"@ant-design/cssinjs-utils" "^1.1.1"
"@ant-design/icons" "^5.5.1"
"@ant-design/cssinjs-utils" "^1.1.3"
"@ant-design/icons" "^5.5.2"
"@ant-design/react-slick" "~1.1.2"
"@babel/runtime" "^7.25.7"
"@ctrl/tinycolor" "^3.6.1"
@@ -3512,7 +3471,7 @@ antd@^5.22.2:
"@rc-component/mutate-observer" "^1.1.0"
"@rc-component/qrcode" "~1.0.0"
"@rc-component/tour" "~1.15.1"
"@rc-component/trigger" "^2.2.5"
"@rc-component/trigger" "^2.2.6"
classnames "^2.5.1"
copy-to-clipboard "^3.3.3"
dayjs "^1.11.11"
@@ -3521,33 +3480,33 @@ antd@^5.22.2:
rc-collapse "~3.9.0"
rc-dialog "~9.6.0"
rc-drawer "~7.2.0"
rc-dropdown "~4.2.0"
rc-field-form "~2.5.1"
rc-dropdown "~4.2.1"
rc-field-form "~2.7.0"
rc-image "~7.11.0"
rc-input "~1.6.3"
rc-input "~1.6.4"
rc-input-number "~9.3.0"
rc-mentions "~2.17.0"
rc-menu "~9.16.0"
rc-motion "^2.9.3"
rc-motion "^2.9.5"
rc-notification "~5.6.2"
rc-pagination "~4.3.0"
rc-picker "~4.8.1"
rc-pagination "~5.0.0"
rc-picker "~4.8.3"
rc-progress "~4.0.0"
rc-rate "~2.13.0"
rc-resize-observer "^1.4.0"
rc-resize-observer "^1.4.3"
rc-segmented "~2.5.0"
rc-select "~14.16.3"
rc-select "~14.16.4"
rc-slider "~11.1.7"
rc-steps "~6.0.1"
rc-switch "~4.1.0"
rc-table "~7.48.1"
rc-table "~7.49.0"
rc-tabs "~15.4.0"
rc-textarea "~1.8.2"
rc-tooltip "~6.2.1"
rc-tree "~5.10.1"
rc-tree-select "~5.24.4"
rc-tree-select "~5.24.5"
rc-upload "~4.8.1"
rc-util "^5.43.0"
rc-util "^5.44.3"
scroll-into-view-if-needed "^3.1.0"
throttle-debounce "^5.0.2"
@@ -8121,10 +8080,10 @@ pretty-time@^1.1.0:
resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e"
integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==
prism-react-renderer@^2.3.0, prism-react-renderer@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.4.0.tgz#c5ea692029c2f8b3fd04f63662d04ffd4eaf10a0"
integrity sha512-327BsVCD/unU4CNLZTWVHyUHKnsqcvj2qbPlQ8MiBE2eq2rgctjigPA1Gp9HLF83kZ20zNN6jgizHJeEsyFYOw==
prism-react-renderer@^2.3.0, prism-react-renderer@^2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz#ac63b7f78e56c8f2b5e76e823a976d5ede77e35f"
integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==
dependencies:
"@types/prismjs" "^1.26.0"
clsx "^2.0.0"
@@ -8356,20 +8315,20 @@ rc-drawer@~7.2.0:
rc-motion "^2.6.1"
rc-util "^5.38.1"
rc-dropdown@~4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-4.2.0.tgz#c6052fcfe9c701487b141e411cdc277dc7c6f061"
integrity sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==
rc-dropdown@~4.2.0, rc-dropdown@~4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-4.2.1.tgz#44729eb2a4272e0353d31ac060da21e606accb1c"
integrity sha512-YDAlXsPv3I1n42dv1JpdM7wJ+gSUBfeyPK59ZpBD9jQhK9jVuxpjj3NmWQHOBceA1zEPVX84T2wbdb2SD0UjmA==
dependencies:
"@babel/runtime" "^7.18.3"
"@rc-component/trigger" "^2.0.0"
classnames "^2.2.6"
rc-util "^5.17.0"
rc-util "^5.44.1"
rc-field-form@~2.5.1:
version "2.5.1"
resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-2.5.1.tgz#30f3c529f86aec6af27589052df9c66cec94ceb4"
integrity sha512-33hunXwynQJyeae7LS3hMGTXNeRBjiPyPYgB0824EbmLHiXC1EBGyUwRh6xjLRy9c+en5WARYN0gJz5+JAqwig==
rc-field-form@~2.7.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-2.7.0.tgz#22413e793f35bfc1f35b0ec462774d7277f5a399"
integrity sha512-hgKsCay2taxzVnBPZl+1n4ZondsV78G++XVsMIJCAoioMjlMQR9YwAp7JZDIECzIu2Z66R+f4SFIRrO2DjDNAA==
dependencies:
"@babel/runtime" "^7.18.0"
"@rc-component/async-validator" "^5.0.3"
@@ -8398,10 +8357,10 @@ rc-input-number@~9.3.0:
rc-input "~1.6.0"
rc-util "^5.40.1"
rc-input@~1.6.0, rc-input@~1.6.3:
version "1.6.3"
resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-1.6.3.tgz#f1708fc3d5e68f95cb20faeb3eed1df8543cd444"
integrity sha512-wI4NzuqBS8vvKr8cljsvnTUqItMfG1QbJoxovCgL+DX4eVUcHIjVwharwevIxyy7H/jbLryh+K7ysnJr23aWIA==
rc-input@~1.6.0, rc-input@~1.6.4:
version "1.6.4"
resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-1.6.4.tgz#08d91460f6b75b3fa5294154e89775784c233129"
integrity sha512-lBZhfRD4NSAUW0zOKLUeI6GJuXkxeZYi0hr8VcJgJpyTNOvHw1ysrKWAHcEOAAHj7guxgmWYSi6xWrEdfrSAsA==
dependencies:
"@babel/runtime" "^7.11.1"
classnames "^2.2.1"
@@ -8432,14 +8391,14 @@ rc-menu@~9.16.0:
rc-overflow "^1.3.1"
rc-util "^5.27.0"
rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2, rc-motion@^2.9.0, rc-motion@^2.9.3:
version "2.9.3"
resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.3.tgz#b1bdaf816f1ccb3e4b3b0c531c3037a59286379e"
integrity sha512-rkW47ABVkic7WEB0EKJqzySpvDqwl60/tdkY7hWP7dYnh5pm0SzJpo54oW3TDUGXV5wfxXFmMkxrzRRbotQ0+w==
rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2, rc-motion@^2.9.0, rc-motion@^2.9.5:
version "2.9.5"
resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.5.tgz#12c6ead4fd355f94f00de9bb4f15df576d677e0c"
integrity sha512-w+XTUrfh7ArbYEd2582uDrEhmBHwK1ZENJiSJVb7uRxdE7qJSYjbO2eksRXmndqyKqKoYPc9ClpPh5242mV1vA==
dependencies:
"@babel/runtime" "^7.11.1"
classnames "^2.2.1"
rc-util "^5.43.0"
rc-util "^5.44.0"
rc-notification@~5.6.2:
version "5.6.2"
@@ -8461,19 +8420,19 @@ rc-overflow@^1.3.1, rc-overflow@^1.3.2:
rc-resize-observer "^1.0.0"
rc-util "^5.37.0"
rc-pagination@~4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-4.3.0.tgz#c6022f820aa3a45fd734ae33a2915d39597dce1d"
integrity sha512-UubEWA0ShnroQ1tDa291Fzw6kj0iOeF26IsUObxYTpimgj4/qPCWVFl18RLZE+0Up1IZg0IK4pMn6nB3mjvB7g==
rc-pagination@~5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-5.0.0.tgz#7633e1f0ff372ad78c03e86bcef78b660374d196"
integrity sha512-QjrPvbAQwps93iluvFM62AEYglGYhWW2q/nliQqmvkTi4PXP4HHoh00iC1Sa5LLVmtWQHmG73fBi2x6H6vFHRg==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.3.2"
rc-util "^5.38.0"
rc-picker@~4.8.1:
version "4.8.2"
resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-4.8.2.tgz#8865c72a1fd8266a38f9b5efc9e7bd00ca89a1e6"
integrity sha512-I6Nn4ngkRskSD//rsXDvjlEQ8CzX9kPQrUIb7+qTY49erJaa3/oKJWmi6JIxo/A7gy59phNmPTdhKosAa/NrQQ==
rc-picker@~4.8.3:
version "4.8.3"
resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-4.8.3.tgz#06cffd5a2201fc8d274e12f7ee32ea8ba6f3f60f"
integrity sha512-hJ45qoEs4mfxXPAJdp1n3sKwADul874Cd0/HwnsEOE60H+tgiJUGgbOD62As3EG/rFVNS5AWRfBCDJJfmRqOVQ==
dependencies:
"@babel/runtime" "^7.24.7"
"@rc-component/trigger" "^2.0.0"
@@ -8500,14 +8459,14 @@ rc-rate@~2.13.0:
classnames "^2.2.5"
rc-util "^5.0.1"
rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1, rc-resize-observer@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc"
integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==
rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1, rc-resize-observer@^1.4.0, rc-resize-observer@^1.4.3:
version "1.4.3"
resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.3.tgz#4fd41fa561ba51362b5155a07c35d7c89a1ea569"
integrity sha512-YZLjUbyIWox8E9i9C3Tm7ia+W7euPItNWSPX5sCcQTYbnwDb5uNpnLHQCG1f22oZWUhLw4Mv2tFmeWe68CDQRQ==
dependencies:
"@babel/runtime" "^7.20.7"
classnames "^2.2.1"
rc-util "^5.38.0"
rc-util "^5.44.1"
resize-observer-polyfill "^1.5.1"
rc-segmented@~2.5.0:
@@ -8520,10 +8479,10 @@ rc-segmented@~2.5.0:
rc-motion "^2.4.4"
rc-util "^5.17.0"
rc-select@~14.16.2, rc-select@~14.16.3:
version "14.16.3"
resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.16.3.tgz#cd5395ef724d693a8f782ddd7bcc6253c31c65a9"
integrity sha512-51+j6s3fJJJXB7E+B6W1hM4Tjzv1B/Decooz9ilgegDBt3ZAth1b/xMwYCTrT5BbG2e53XACQsyDib2+3Ro1fg==
rc-select@~14.16.2, rc-select@~14.16.4:
version "14.16.4"
resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.16.4.tgz#a98840c4cfb96e263c750e59334ea0a2862e04fc"
integrity sha512-jP6qf7+vjnxGvPpfPWbGYfFlSl3h8L2XcD4O7g2GYXmEeBC0mw+nPD7i++OOE8v3YGqP8xtYjRKAWCMLfjgxlw==
dependencies:
"@babel/runtime" "^7.10.1"
"@rc-component/trigger" "^2.1.1"
@@ -8560,10 +8519,10 @@ rc-switch@~4.1.0:
classnames "^2.2.1"
rc-util "^5.30.0"
rc-table@~7.48.1:
version "7.48.1"
resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.48.1.tgz#16ee3d82fa17284628d7883933b5d481238ea013"
integrity sha512-Z4mDKjWg+xz/Ezdw6ivWcbqRpaJ0QfCORRoRrlrw65KSGZLK8OcTdacH22/fyGb8L4It/0/9qcMm8VrVAk/WBw==
rc-table@~7.49.0:
version "7.49.0"
resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.49.0.tgz#f5a4880d9527d2c9e42f5f721b5423e7a1ca475b"
integrity sha512-/FoPLX94muAQOxVpi1jhnpKjOIqUbT81eELQPAzSXOke4ky4oCWYUXOcVpL31ZCO90xScwVSXRd7coqtgtB1Ng==
dependencies:
"@babel/runtime" "^7.10.1"
"@rc-component/context" "^1.4.0"
@@ -8605,7 +8564,7 @@ rc-tooltip@~6.2.1:
"@rc-component/trigger" "^2.0.0"
classnames "^2.3.1"
rc-tree-select@~5.24.4:
rc-tree-select@~5.24.5:
version "5.24.5"
resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.24.5.tgz#a1bf85c7d5e4979880cfb0748bb6bab937ed3483"
integrity sha512-PnyR8LZJWaiEFw0SHRqo4MNQWyyZsyMs8eNmo68uXZWjxc7QqeWcjPPoONN0rc90c3HZqGF9z+Roz+GLzY5GXA==
@@ -8636,10 +8595,10 @@ rc-upload@~4.8.1:
classnames "^2.2.5"
rc-util "^5.2.0"
rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.27.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.38.1, rc-util@^5.40.1, rc-util@^5.41.0, rc-util@^5.43.0:
version "5.43.0"
resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.43.0.tgz#bba91fbef2c3e30ea2c236893746f3e9b05ecc4c"
integrity sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==
rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.27.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.38.1, rc-util@^5.40.1, rc-util@^5.41.0, rc-util@^5.43.0, rc-util@^5.44.0, rc-util@^5.44.1, rc-util@^5.44.3:
version "5.44.3"
resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.44.3.tgz#9eca5039906446113c4032859f88c15234547961"
integrity sha512-q6KCcOFk3rv/zD3MckhJteZxb0VjAIFuf622B7ElK4vfrZdAzs16XR5p3VTdy3+U5jfJU5ACz4QnhLSuAGe5dA==
dependencies:
"@babel/runtime" "^7.18.3"
react-is "^18.2.0"
@@ -10404,16 +10363,16 @@ webpack-sources@^3.2.3:
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
webpack@^5.88.1, webpack@^5.95.0, webpack@^5.96.1:
version "5.96.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.96.1.tgz#3676d1626d8312b6b10d0c18cc049fba7ac01f0c"
integrity sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==
webpack@^5.88.1, webpack@^5.95.0, webpack@^5.97.1:
version "5.97.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.97.1.tgz#972a8320a438b56ff0f1d94ade9e82eac155fa58"
integrity sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==
dependencies:
"@types/eslint-scope" "^3.7.7"
"@types/estree" "^1.0.6"
"@webassemblyjs/ast" "^1.12.1"
"@webassemblyjs/wasm-edit" "^1.12.1"
"@webassemblyjs/wasm-parser" "^1.12.1"
"@webassemblyjs/ast" "^1.14.1"
"@webassemblyjs/wasm-edit" "^1.14.1"
"@webassemblyjs/wasm-parser" "^1.14.1"
acorn "^8.14.0"
browserslist "^4.24.0"
chrome-trace-event "^1.0.2"

View File

@@ -1,9 +1,9 @@
dependencies:
- name: postgresql
repository: https://charts.bitnami.com/bitnami
repository: oci://registry-1.docker.io/bitnamicharts
version: 12.1.6
- name: redis
repository: https://charts.bitnami.com/bitnami
repository: oci://registry-1.docker.io/bitnamicharts
version: 17.9.4
digest: sha256:98b6c107066652e40c242a6b0e3c573a4eedf9f64bae0d60f884f0f5cfa1c01a
generated: "2023-04-17T10:38:41.966779+03:00"
digest: sha256:9588e2a9f15d875a95763ed7da8e92b5b48a8d13cbacd66b775eacba3e8cebcd
generated: "2024-12-29T12:19:15.365763+09:00"

View File

@@ -29,13 +29,13 @@ maintainers:
- name: craig-rueda
email: craig@craigrueda.com
url: https://github.com/craig-rueda
version: 0.13.5
version: 0.14.0
dependencies:
- name: postgresql
version: 12.1.6
repository: https://charts.bitnami.com/bitnami
repository: oci://registry-1.docker.io/bitnamicharts
condition: postgresql.enabled
- name: redis
version: 17.9.4
repository: https://charts.bitnami.com/bitnami
repository: oci://registry-1.docker.io/bitnamicharts
condition: redis.enabled

View File

@@ -23,7 +23,7 @@ NOTE: This file is generated by helm-docs: https://github.com/norwoodj/helm-docs
# superset
![Version: 0.13.5](https://img.shields.io/badge/Version-0.13.5-informational?style=flat-square)
![Version: 0.14.0](https://img.shields.io/badge/Version-0.14.0-informational?style=flat-square)
Apache Superset is a modern, enterprise-ready business intelligence web application
@@ -50,8 +50,8 @@ On helm this can be set on `extraSecretEnv.SUPERSET_SECRET_KEY` or `configOverri
| Repository | Name | Version |
|------------|------|---------|
| https://charts.bitnami.com/bitnami | postgresql | 12.1.6 |
| https://charts.bitnami.com/bitnami | redis | 17.9.4 |
| oci://registry-1.docker.io/bitnamicharts | postgresql | 12.1.6 |
| oci://registry-1.docker.io/bitnamicharts | redis | 17.9.4 |
## Values
@@ -66,12 +66,12 @@ On helm this can be set on `extraSecretEnv.SUPERSET_SECRET_KEY` or `configOverri
| envFromSecret | string | `"{{ template \"superset.fullname\" . }}-env"` | The name of the secret which we will use to populate env vars in deployed pods This can be useful for secret keys, etc. |
| envFromSecrets | list | `[]` | This can be a list of templated strings |
| extraConfigMountPath | string | `"/app/configs"` | |
| extraConfigs | object | `{}` | Extra files to mount on `/app/pythonpath` |
| extraConfigs | object | `{}` | Extra files to be mounted as ConfigMap on the path specified in `extraConfigMountPath` |
| extraEnv | object | `{}` | Extra environment variables that will be passed into pods |
| extraEnvRaw | list | `[]` | Extra environment variables in RAW format that will be passed into pods |
| extraLabels | object | `{}` | Labels to be added to all resources |
| extraSecretEnv | object | `{}` | Extra environment variables to pass as secrets |
| extraSecrets | object | `{}` | Extra files to mount on `/app/pythonpath` as secrets |
| extraSecrets | object | `{}` | Extra files to be mounted as Secrets on the path specified in `configMountPath` |
| extraVolumeMounts | list | `[]` | |
| extraVolumes | list | `[]` | |
| fullnameOverride | string | `nil` | Provide a name to override the full names of resources |

View File

@@ -106,7 +106,7 @@ extraSecretEnv: {}
# # Generate your own secret key for encryption. Use openssl rand -base64 42 to generate a good key
# SUPERSET_SECRET_KEY: 'CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET'
# -- Extra files to mount on `/app/pythonpath`
# -- Extra files to be mounted as ConfigMap on the path specified in `extraConfigMountPath`
extraConfigs: {}
# import_datasources.yaml: |
# databases:
@@ -120,7 +120,7 @@ extraConfigs: {}
# sqlalchemy_uri: example://example-db.local
# tables: []
# -- Extra files to mount on `/app/pythonpath` as secrets
# -- Extra files to be mounted as Secrets on the path specified in `configMountPath`
extraSecrets: {}
extraVolumes: []
@@ -277,7 +277,7 @@ supersetNode:
- ". {{ .Values.configMountPath }}/superset_bootstrap.sh; /usr/bin/run-server.sh"
connections:
# -- Change in case of bringing your own redis and then also set redis.enabled:false
redis_host: '{{ .Release.Name }}-redis-headless'
redis_host: "{{ .Release.Name }}-redis-headless"
redis_port: "6379"
redis_user: ""
# redis_password: superset
@@ -289,7 +289,7 @@ supersetNode:
enabled: false
ssl_cert_reqs: CERT_NONE
# You need to change below configuration incase bringing own PostgresSQL instance and also set postgresql.enabled:false
db_host: '{{ .Release.Name }}-postgresql'
db_host: "{{ .Release.Name }}-postgresql"
db_port: "5432"
db_user: superset
db_pass: superset

View File

@@ -53,7 +53,6 @@ dependencies = [
"flask-migrate>=3.1.0, <4.0",
"flask-session>=0.4.0, <1.0",
"flask-wtf>=1.1.0, <2.0",
"func_timeout",
"geopy",
"greenlet>=3.0.3, <=3.1.1",
"gunicorn>=22.0.0; sys_platform != 'win32'",
@@ -87,7 +86,7 @@ dependencies = [
"pyyaml>=6.0.0, <7.0.0",
"PyJWT>=2.4.0, <3.0",
"redis>=4.6.0, <5.0",
"selenium>=3.141.0, <4.10.0",
"selenium>=4.14.0, <5.0",
"shillelagh[gsheetsapi]>=1.2.18, <2.0",
"shortid",
"sshtunnel>=0.4.0, <0.5",
@@ -391,6 +390,5 @@ python-geohash = "0"
# --------------------------------------------------------------
# TODO REMOVE THESE DEPS FROM CODEBASE
func-timeout = "4" # AGPL
paramiko = "3" # GPL
pyxlsb = "1" # GPL

View File

@@ -16,7 +16,9 @@ attrs==24.2.0
# via
# cattrs
# jsonschema
# outcome
# requests-cache
# trio
babel==2.16.0
# via flask-babel
backoff==2.2.1
@@ -42,7 +44,9 @@ cattrs==24.1.2
celery==5.4.0
# via apache-superset (pyproject.toml)
certifi==2024.8.30
# via requests
# via
# requests
# selenium
cffi==1.17.1
# via
# cryptography
@@ -93,7 +97,10 @@ email-validator==2.2.0
et-xmlfile==2.0.0
# via openpyxl
exceptiongroup==1.2.2
# via cattrs
# via
# cattrs
# trio
# trio-websocket
flask==2.3.3
# via
# apache-superset (pyproject.toml)
@@ -138,8 +145,6 @@ flask-wtf==1.2.2
# via
# apache-superset (pyproject.toml)
# flask-appbuilder
func-timeout==4.3.5
# via apache-superset (pyproject.toml)
geographiclib==2.0
# via geopy
geopy==2.4.1
@@ -151,8 +156,11 @@ greenlet==3.0.3
# -r requirements/base.in
# apache-superset (pyproject.toml)
# shillelagh
# sqlalchemy
gunicorn==23.0.0
# via apache-superset (pyproject.toml)
h11==0.14.0
# via wsproto
hashids==1.3.1
# via apache-superset (pyproject.toml)
holidays==0.25
@@ -163,8 +171,13 @@ idna==3.10
# via
# email-validator
# requests
# trio
importlib-metadata==8.5.0
# via apache-superset (pyproject.toml)
# via
# apache-superset (pyproject.toml)
# flask
# markdown
# shillelagh
importlib-resources==6.4.5
# via limits
isodate==0.7.2
@@ -230,6 +243,8 @@ openpyxl==3.1.5
# via pandas
ordered-set==4.1.0
# via flask-limiter
outcome==1.3.0.post0
# via trio
packaging==24.2
# via
# apache-superset (pyproject.toml)
@@ -285,6 +300,8 @@ pyparsing==3.2.0
# via apache-superset (pyproject.toml)
pyrsistent==0.20.0
# via jsonschema
pysocks==1.7.1
# via urllib3
python-dateutil==2.9.0.post0
# via
# apache-superset (pyproject.toml)
@@ -321,7 +338,7 @@ rich==13.9.4
# via flask-limiter
rsa==4.9
# via google-auth
selenium==3.141.0
selenium==4.27.1
# via apache-superset (pyproject.toml)
shillelagh==1.2.18
# via apache-superset (pyproject.toml)
@@ -337,6 +354,10 @@ six==1.16.0
# wtforms-json
slack-sdk==3.33.4
# via apache-superset (pyproject.toml)
sniffio==1.3.1
# via trio
sortedcontainers==2.4.0
# via trio
sqlalchemy==1.4.54
# via
# apache-superset (pyproject.toml)
@@ -358,14 +379,22 @@ sshtunnel==0.4.0
# via apache-superset (pyproject.toml)
tabulate==0.8.10
# via apache-superset (pyproject.toml)
trio==0.28.0
# via
# selenium
# trio-websocket
trio-websocket==0.11.1
# via selenium
typing-extensions==4.12.2
# via
# apache-superset (pyproject.toml)
# alembic
# cattrs
# flask-limiter
# kombu
# limits
# rich
# selenium
# shillelagh
tzdata==2024.2
# via
@@ -387,6 +416,8 @@ vine==5.1.0
# kombu
wcwidth==0.2.13
# via prompt-toolkit
websocket-client==1.8.0
# via selenium
werkzeug==3.1.3
# via
# -r requirements/base.in
@@ -396,6 +427,8 @@ werkzeug==3.1.3
# flask-login
wrapt==1.17.0
# via deprecated
wsproto==1.2.0
# via trio-websocket
wtforms==3.2.1
# via
# apache-superset (pyproject.toml)
@@ -411,6 +444,8 @@ xlsxwriter==3.0.9
# apache-superset (pyproject.toml)
# pandas
zipp==3.21.0
# via importlib-metadata
# via
# importlib-metadata
# importlib-resources
zstandard==0.23.0
# via flask-compress

View File

@@ -27,7 +27,9 @@ attrs==24.2.0
# -c requirements/base.txt
# cattrs
# jsonschema
# outcome
# requests-cache
# trio
babel==2.16.0
# via
# -c requirements/base.txt
@@ -77,6 +79,7 @@ certifi==2024.8.30
# via
# -c requirements/base.txt
# requests
# selenium
cffi==1.17.1
# via
# -c requirements/base.txt
@@ -177,6 +180,8 @@ exceptiongroup==1.2.2
# -c requirements/base.txt
# cattrs
# pytest
# trio
# trio-websocket
filelock==3.12.2
# via virtualenv
flask==2.3.3
@@ -255,10 +260,6 @@ fonttools==4.55.0
# via matplotlib
freezegun==1.5.1
# via apache-superset
func-timeout==4.3.5
# via
# -c requirements/base.txt
# apache-superset
future==1.0.0
# via pyhive
geographiclib==2.0
@@ -316,6 +317,7 @@ greenlet==3.0.3
# apache-superset
# gevent
# shillelagh
# sqlalchemy
grpcio==1.68.0
# via
# apache-superset
@@ -327,6 +329,10 @@ gunicorn==23.0.0
# via
# -c requirements/base.txt
# apache-superset
h11==0.14.0
# via
# -c requirements/base.txt
# wsproto
hashids==1.3.1
# via
# -c requirements/base.txt
@@ -347,14 +353,19 @@ idna==3.10
# -c requirements/base.txt
# email-validator
# requests
# trio
importlib-metadata==8.5.0
# via
# -c requirements/base.txt
# apache-superset
# flask
# markdown
# shillelagh
importlib-resources==6.4.5
# via
# -c requirements/base.txt
# limits
# matplotlib
# prophet
iniconfig==2.0.0
# via pytest
@@ -483,6 +494,10 @@ ordered-set==4.1.0
# via
# -c requirements/base.txt
# flask-limiter
outcome==1.3.0.post0
# via
# -c requirements/base.txt
# trio
packaging==24.2
# via
# -c requirements/base.txt
@@ -633,6 +648,10 @@ pyrsistent==0.20.0
# via
# -c requirements/base.txt
# jsonschema
pysocks==1.7.1
# via
# -c requirements/base.txt
# urllib3
pytest==7.4.4
# via
# apache-superset
@@ -720,7 +739,7 @@ rsa==4.9
# google-auth
ruff==0.8.0
# via apache-superset
selenium==3.141.0
selenium==4.27.1
# via
# -c requirements/base.txt
# apache-superset
@@ -755,6 +774,14 @@ slack-sdk==3.33.4
# via
# -c requirements/base.txt
# apache-superset
sniffio==1.3.1
# via
# -c requirements/base.txt
# trio
sortedcontainers==2.4.0
# via
# -c requirements/base.txt
# trio
sqlalchemy==1.4.54
# via
# -c requirements/base.txt
@@ -803,6 +830,15 @@ tqdm==4.67.1
# prophet
trino==0.330.0
# via apache-superset
trio==0.28.0
# via
# -c requirements/base.txt
# selenium
# trio-websocket
trio-websocket==0.11.1
# via
# -c requirements/base.txt
# selenium
typing-extensions==4.12.2
# via
# -c requirements/base.txt
@@ -810,8 +846,10 @@ typing-extensions==4.12.2
# apache-superset
# cattrs
# flask-limiter
# kombu
# limits
# rich
# selenium
# shillelagh
tzdata==2024.2
# via
@@ -844,6 +882,10 @@ wcwidth==0.2.13
# via
# -c requirements/base.txt
# prompt-toolkit
websocket-client==1.8.0
# via
# -c requirements/base.txt
# selenium
werkzeug==3.1.3
# via
# -c requirements/base.txt
@@ -855,6 +897,10 @@ wrapt==1.17.0
# via
# -c requirements/base.txt
# deprecated
wsproto==1.2.0
# via
# -c requirements/base.txt
# trio-websocket
wtforms==3.2.1
# via
# -c requirements/base.txt
@@ -879,6 +925,7 @@ zipp==3.21.0
# via
# -c requirements/base.txt
# importlib-metadata
# importlib-resources
zope-event==5.0
# via gevent
zope-interface==5.4.0

View File

@@ -40,7 +40,7 @@ PATTERNS = {
],
"docker": [
r"^Dockerfile$",
r"^docker/",
r"^docker.*",
],
"docs": [
r"^docs/",

View File

@@ -31,7 +31,10 @@ describe('explore view', () => {
});
it('should load Explore', () => {
const LINE_CHART_DEFAULTS = { ...FORM_DATA_DEFAULTS, viz_type: 'line' };
const LINE_CHART_DEFAULTS = {
...FORM_DATA_DEFAULTS,
viz_type: 'echarts_timeseries_line',
};
const formData = { ...LINE_CHART_DEFAULTS, metrics: [NUM_METRIC] };
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });

View File

@@ -524,8 +524,8 @@ describe('Drill by modal', () => {
]);
});
it('Bar Chart V2', () => {
testEchart('echarts_timeseries_bar', 'Bar Chart V2', [
it('Bar Chart', () => {
testEchart('echarts_timeseries_bar', 'Bar Chart', [
[70, 94],
[362, 68],
]);

View File

@@ -431,19 +431,6 @@ describe('Drill to detail modal', () => {
});
});
});
describe('Bar Chart', () => {
it('opens the modal for unsupported chart without filters', () => {
interceptSamples();
cy.get("[data-test-viz-type='dist_bar'] svg").then($canvas => {
cy.wrap($canvas).scrollIntoView();
cy.wrap($canvas).rightclick(70, 150);
openModalFromChartContext('Drill to detail');
cy.getBySel('filter-val').should('not.exist');
});
});
});
});
describe('Tier 2 charts', () => {

View File

@@ -16,11 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
import {
SAMPLE_DASHBOARD_1,
SUPPORTED_CHARTS_DASHBOARD,
TABBED_DASHBOARD,
} from 'cypress/utils/urls';
import { SAMPLE_DASHBOARD_1, TABBED_DASHBOARD } from 'cypress/utils/urls';
import { drag, resize, waitForChartLoad } from 'cypress/utils';
import * as ace from 'brace';
import {
@@ -30,7 +26,7 @@ import {
openTab,
} from './utils';
import {
interceptExploreJson,
interceptV1ChartData,
interceptFiltering as interceptCharts,
} from '../explore/utils';
@@ -55,14 +51,6 @@ function openProperties() {
});
}
function openExploreProperties() {
cy.getBySel('actions-trigger').click({ force: true });
cy.get('.ant-dropdown-menu')
.contains('Edit chart properties')
.click({ force: true });
cy.get('.antd5-modal-body').should('be.visible');
}
function assertMetadata(text: string) {
const regex = new RegExp(text);
cy.get('#json_metadata')
@@ -225,7 +213,7 @@ function writeMetadata(metadata: string) {
}
function openExploreWithDashboardContext(chartName: string) {
interceptExploreJson();
interceptV1ChartData();
interceptGet();
cy.get(
@@ -237,7 +225,7 @@ function openExploreWithDashboardContext(chartName: string) {
.eq(2)
.should('contain', 'Edit chart')
.click();
cy.wait('@getJson');
cy.wait('@v1Data');
cy.get('.chart-container').should('exist');
}
@@ -255,13 +243,16 @@ function saveExploreColorScheme(
cy.wait('@chartUpdate');
}
// FIXME: Skipping some tests as ECharts are rendered using Canvas and we cannot inspect the elements
// to verify the colors. We should revisit these tests once we have a solution to verify ECharts.
describe('Dashboard edit', () => {
describe('Color consistency', () => {
beforeEach(() => {
resetDashboardColors();
});
it('should not allow to change color scheme of a chart when dashboard has one', () => {
it.skip('should not allow to change color scheme of a chart when dashboard has one', () => {
visitEdit(TABBED_DASHBOARD);
openProperties();
selectColorScheme('blueToGreen');
@@ -272,11 +263,14 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
openExploreWithDashboardContext('Top 10 California Names Timeseries');
// hover over canvas elements
cy.get('canvas').trigger('mouseover', { force: true });
// label Anthony
cy.get('[data-test="chart-container"] .line .nv-legend-symbol')
.first()
@@ -287,21 +281,21 @@ describe('Dashboard edit', () => {
cy.get('[aria-label="Select color scheme"]').should('be.disabled');
});
it('should not allow to change color scheme of a chart when dashboard has no scheme but chart has shared labels', () => {
it.skip('should not allow to change color scheme of a chart when dashboard has no scheme but chart has shared labels', () => {
visit(TABBED_DASHBOARD);
// open nested tab
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// open second top tab to catch shared labels
openTab(0, 1);
waitForChartLoad({
name: 'Trends',
viz: 'line',
viz: 'echarts_timeseries_line',
});
openTab(0, 0);
@@ -317,7 +311,7 @@ describe('Dashboard edit', () => {
cy.get('[aria-label="Select color scheme"]').should('be.disabled');
});
it('should allow to change color scheme of a chart when dashboard has no scheme but only custom label colors', () => {
it.skip('should allow to change color scheme of a chart when dashboard has no scheme but only custom label colors', () => {
visitEdit(TABBED_DASHBOARD);
openProperties();
openAdvancedProperties();
@@ -330,7 +324,7 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -371,14 +365,14 @@ describe('Dashboard edit', () => {
.should('have.css', 'fill', 'rgb(0, 116, 241)');
});
it('should allow to change color scheme of a chart when dashboard has no scheme and show the change', () => {
it.skip('should allow to change color scheme of a chart when dashboard has no scheme and show the change', () => {
visit(TABBED_DASHBOARD);
// open nested tab
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -414,7 +408,7 @@ describe('Dashboard edit', () => {
saveExploreColorScheme();
});
it('should allow to change color scheme of a chart when dashboard has no scheme but custom label colors and show the change', () => {
it.skip('should allow to change color scheme of a chart when dashboard has no scheme but custom label colors and show the change', () => {
visitEdit(TABBED_DASHBOARD);
openProperties();
openAdvancedProperties();
@@ -427,7 +421,7 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -473,14 +467,14 @@ describe('Dashboard edit', () => {
saveExploreColorScheme();
});
it('should not change colors on refreshes with no color scheme set', () => {
it.skip('should not change colors on refreshes with no color scheme set', () => {
visit(TABBED_DASHBOARD);
// open nested tab
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -492,7 +486,7 @@ describe('Dashboard edit', () => {
// open 2nd main tab
openTab(0, 1);
waitForChartLoad({ name: 'Trends', viz: 'line' });
waitForChartLoad({ name: 'Trends', viz: 'echarts_timeseries_line' });
// label Andrew
cy.get('[data-test-chart-name="Trends"] .line .nv-legend-symbol')
@@ -505,7 +499,7 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -517,7 +511,7 @@ describe('Dashboard edit', () => {
// open 2nd main tab
openTab(0, 1);
waitForChartLoad({ name: 'Trends', viz: 'line' });
waitForChartLoad({ name: 'Trends', viz: 'echarts_timeseries_line' });
// label Andrew
cy.get('[data-test-chart-name="Trends"] .line .nv-legend-symbol')
@@ -525,7 +519,7 @@ describe('Dashboard edit', () => {
.should('have.css', 'fill', 'rgb(69, 78, 124)');
});
it('should not change colors on refreshes with color scheme set', () => {
it.skip('should not change colors on refreshes with color scheme set', () => {
visitEdit(TABBED_DASHBOARD);
openProperties();
selectColorScheme('blueToGreen');
@@ -536,7 +530,7 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -548,7 +542,7 @@ describe('Dashboard edit', () => {
// open 2nd main tab
openTab(0, 1);
waitForChartLoad({ name: 'Trends', viz: 'line' });
waitForChartLoad({ name: 'Trends', viz: 'echarts_timeseries_line' });
// label Andrew
cy.get('[data-test-chart-name="Trends"] .line .nv-legend-symbol')
@@ -561,7 +555,7 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -573,7 +567,7 @@ describe('Dashboard edit', () => {
// open 2nd main tab
openTab(0, 1);
waitForChartLoad({ name: 'Trends', viz: 'line' });
waitForChartLoad({ name: 'Trends', viz: 'echarts_timeseries_line' });
// label Andrew
cy.get('[data-test-chart-name="Trends"] .line .nv-legend-symbol')
@@ -581,14 +575,14 @@ describe('Dashboard edit', () => {
.should('have.css', 'fill', 'rgb(0, 76, 218)');
});
it('should respect chart color scheme when none is set for the dashboard', () => {
it.skip('should respect chart color scheme when none is set for the dashboard', () => {
visit(TABBED_DASHBOARD);
// open nested tab
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -599,7 +593,7 @@ describe('Dashboard edit', () => {
.should('have.css', 'fill', 'rgb(31, 168, 201)');
});
it('should apply same color to same labels with color scheme set on refresh', () => {
it.skip('should apply same color to same labels with color scheme set on refresh', () => {
visitEdit(TABBED_DASHBOARD);
openProperties();
selectColorScheme('blueToGreen');
@@ -610,7 +604,7 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -622,7 +616,7 @@ describe('Dashboard edit', () => {
// open 2nd main tab
openTab(0, 1);
waitForChartLoad({ name: 'Trends', viz: 'line' });
waitForChartLoad({ name: 'Trends', viz: 'echarts_timeseries_line' });
// label Anthony
cy.get('[data-test-chart-name="Trends"] .line .nv-legend-symbol')
@@ -634,7 +628,7 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -646,7 +640,7 @@ describe('Dashboard edit', () => {
// open 2nd main tab
openTab(0, 1);
waitForChartLoad({ name: 'Trends', viz: 'line' });
waitForChartLoad({ name: 'Trends', viz: 'echarts_timeseries_line' });
// label Anthony
cy.get('[data-test-chart-name="Trends"] .line .nv-legend-symbol')
@@ -654,14 +648,14 @@ describe('Dashboard edit', () => {
.should('have.css', 'fill', 'rgb(50, 0, 167)');
});
it('should apply same color to same labels with no color scheme set on refresh', () => {
it.skip('should apply same color to same labels with no color scheme set on refresh', () => {
visit(TABBED_DASHBOARD);
// open nested tab
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -673,7 +667,7 @@ describe('Dashboard edit', () => {
// open 2nd main tab
openTab(0, 1);
waitForChartLoad({ name: 'Trends', viz: 'line' });
waitForChartLoad({ name: 'Trends', viz: 'echarts_timeseries_line' });
// label Anthony
cy.get('[data-test-chart-name="Trends"] .line .nv-legend-symbol')
@@ -686,7 +680,7 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -698,7 +692,7 @@ describe('Dashboard edit', () => {
// open 2nd main tab
openTab(0, 1);
waitForChartLoad({ name: 'Trends', viz: 'line' });
waitForChartLoad({ name: 'Trends', viz: 'echarts_timeseries_line' });
// label Anthony
cy.get('[data-test-chart-name="Trends"] .line .nv-legend-symbol')
@@ -706,7 +700,7 @@ describe('Dashboard edit', () => {
.should('have.css', 'fill', 'rgb(31, 168, 201)');
});
it('custom label colors should take the precedence in nested tabs', () => {
it.skip('custom label colors should take the precedence in nested tabs', () => {
visitEdit(TABBED_DASHBOARD);
openProperties();
openAdvancedProperties();
@@ -721,7 +715,7 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
cy.get(
'[data-test-chart-name="Top 10 California Names Timeseries"] .line .nv-legend-symbol',
@@ -731,19 +725,19 @@ describe('Dashboard edit', () => {
// open another nested tab
openTab(2, 1);
waitForChartLoad({ name: 'Growth Rate', viz: 'line' });
waitForChartLoad({ name: 'Growth Rate', viz: 'echarts_timeseries_line' });
cy.get('[data-test-chart-name="Growth Rate"] .line .nv-legend-symbol')
.first()
.should('have.css', 'fill', 'rgb(255, 0, 0)');
});
it('label colors should take the precedence for rendered charts in nested tabs', () => {
it.skip('label colors should take the precedence for rendered charts in nested tabs', () => {
visitEdit(TABBED_DASHBOARD);
// open the tab first time and let chart load
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// go to previous tab
@@ -766,7 +760,7 @@ describe('Dashboard edit', () => {
.should('have.css', 'fill', 'rgb(255, 0, 0)');
});
it('should re-apply original color after removing custom label color with color scheme set', () => {
it.skip('should re-apply original color after removing custom label color with color scheme set', () => {
visitEdit(TABBED_DASHBOARD);
openProperties();
openAdvancedProperties();
@@ -809,13 +803,13 @@ describe('Dashboard edit', () => {
.should('have.css', 'fill', 'rgb(41, 171, 226)');
});
it('should re-apply original color after removing custom label color with no color scheme set', () => {
it.skip('should re-apply original color after removing custom label color with no color scheme set', () => {
visitEdit(TABBED_DASHBOARD);
// open nested tab
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
cy.get(
'[data-test-chart-name="Top 10 California Names Timeseries"] .line .nv-legend-symbol',
@@ -873,7 +867,7 @@ describe('Dashboard edit', () => {
.should('have.css', 'fill', 'rgb(90, 193, 137)');
});
it('should show the same colors in Explore', () => {
it.skip('should show the same colors in Explore', () => {
visitEdit(TABBED_DASHBOARD);
openProperties();
openAdvancedProperties();
@@ -888,7 +882,7 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -906,7 +900,7 @@ describe('Dashboard edit', () => {
.should('have.css', 'fill', 'rgb(255, 0, 0)');
});
it('should change color scheme multiple times', () => {
it.skip('should change color scheme multiple times', () => {
visitEdit(TABBED_DASHBOARD);
openProperties();
selectColorScheme('blueToGreen');
@@ -917,7 +911,7 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// label Anthony
@@ -929,7 +923,7 @@ describe('Dashboard edit', () => {
// open 2nd main tab
openTab(0, 1);
waitForChartLoad({ name: 'Trends', viz: 'line' });
waitForChartLoad({ name: 'Trends', viz: 'echarts_timeseries_line' });
// label Anthony
cy.get('[data-test-chart-name="Trends"] .line .nv-legend-symbol')
@@ -959,7 +953,7 @@ describe('Dashboard edit', () => {
.should('have.css', 'fill', 'rgb(0, 128, 246)');
});
it('should apply the color scheme across main tabs', () => {
it.skip('should apply the color scheme across main tabs', () => {
visitEdit(TABBED_DASHBOARD);
openProperties();
selectColorScheme('blueToGreen');
@@ -968,14 +962,14 @@ describe('Dashboard edit', () => {
// go to second tab
openTab(0, 1);
waitForChartLoad({ name: 'Trends', viz: 'line' });
waitForChartLoad({ name: 'Trends', viz: 'echarts_timeseries_line' });
cy.get('[data-test-chart-name="Trends"] .line .nv-legend-symbol')
.first()
.should('have.css', 'fill', 'rgb(50, 0, 167)');
});
it('should apply the color scheme across main tabs for rendered charts', () => {
it.skip('should apply the color scheme across main tabs for rendered charts', () => {
visitEdit(TABBED_DASHBOARD);
waitForChartLoad({ name: 'Treemap', viz: 'treemap_v2' });
openProperties();
@@ -985,7 +979,7 @@ describe('Dashboard edit', () => {
// go to second tab
openTab(0, 1);
waitForChartLoad({ name: 'Trends', viz: 'line' });
waitForChartLoad({ name: 'Trends', viz: 'echarts_timeseries_line' });
cy.get('[data-test-chart-name="Trends"] .line .nv-legend-symbol')
.first()
@@ -1003,7 +997,7 @@ describe('Dashboard edit', () => {
.should('have.css', 'fill', 'rgb(0, 128, 246)');
});
it('should apply the color scheme in nested tabs', () => {
it.skip('should apply the color scheme in nested tabs', () => {
visitEdit(TABBED_DASHBOARD);
openProperties();
selectColorScheme('blueToGreen');
@@ -1014,7 +1008,7 @@ describe('Dashboard edit', () => {
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
cy.get(
'[data-test-chart-name="Top 10 California Names Timeseries"] .line .nv-legend-symbol',
@@ -1024,19 +1018,19 @@ describe('Dashboard edit', () => {
// open another nested tab
openTab(2, 1);
waitForChartLoad({ name: 'Growth Rate', viz: 'line' });
waitForChartLoad({ name: 'Growth Rate', viz: 'echarts_timeseries_line' });
cy.get('[data-test-chart-name="Growth Rate"] .line .nv-legend-symbol')
.first()
.should('have.css', 'fill', 'rgb(50, 0, 167)');
});
it('should apply a valid color scheme for rendered charts in nested tabs', () => {
it.skip('should apply a valid color scheme for rendered charts in nested tabs', () => {
visitEdit(TABBED_DASHBOARD);
// open the tab first time and let chart load
openTab(1, 1);
waitForChartLoad({
name: 'Top 10 California Names Timeseries',
viz: 'line',
viz: 'echarts_timeseries_line',
});
// go to previous tab

View File

@@ -25,7 +25,7 @@ import { TABBED_DASHBOARD } from 'cypress/utils/urls';
import { expandFilterOnLeftPanel } from './utils';
const TREEMAP = { name: 'Treemap', viz: 'treemap_v2' };
const LINE_CHART = { name: 'Growth Rate', viz: 'line' };
const LINE_CHART = { name: 'Growth Rate', viz: 'echarts_timeseries_line' };
const BOX_PLOT = { name: 'Box plot', viz: 'box_plot' };
const BIG_NUMBER = { name: 'Number of Girls', viz: 'big_number_total' };
const TABLE = { name: 'Names Sorted by Num in California', viz: 'table' };
@@ -64,9 +64,8 @@ describe('Dashboard tabs', () => {
cy.get('@top-level-tabs')
.last()
.should('not.have.class', 'ant-tabs-tab-active');
cy.getBySel('grid-container').find('.box_plot').should('not.exist');
cy.getBySel('grid-container').find('.line').should('not.exist');
cy.get('[data-test-chart-name="Box plot"]').should('not.exist');
cy.get('[data-test-chart-name="Trends"]').should('not.exist');
cy.get('@top-level-tabs').last().click();
cy.get('@top-level-tabs')
@@ -76,7 +75,8 @@ describe('Dashboard tabs', () => {
.first()
.should('not.have.class', 'ant-tabs-tab-active');
waitForChartLoad(BOX_PLOT);
cy.getBySel('grid-container').find('.box_plot').should('be.visible');
cy.get('[data-test-chart-name="Box plot"]').should('exist');
resetTabs();
@@ -88,7 +88,7 @@ describe('Dashboard tabs', () => {
cy.get('@row-level-tabs').last().click();
waitForChartLoad(LINE_CHART);
cy.getBySel('grid-container').find('.line').should('be.visible');
cy.get('[data-test-chart-name="Trends"]').should('exist');
cy.get('@row-level-tabs').first().click();
});

View File

@@ -24,9 +24,9 @@ export const WORLD_HEALTH_CHARTS = [
{ name: '% Rural', viz: 'world_map' },
{ name: 'Most Populated Countries', viz: 'table' },
{ name: "World's Population", viz: 'big_number' },
{ name: 'Growth Rate', viz: 'line' },
{ name: 'Growth Rate', viz: 'echarts_timeseries_line' },
{ name: 'Rural Breakdown', viz: 'sunburst_v2' },
{ name: "World's Pop Growth", viz: 'area' },
{ name: "World's Pop Growth", viz: 'echarts_area' },
{ name: 'Life Expectancy VS Rural %', viz: 'bubble' },
{ name: 'Treemap', viz: 'treemap_v2' },
{ name: 'Box plot', viz: 'box_plot' },
@@ -41,7 +41,7 @@ export const SUPPORTED_TIER1_CHARTS = [
{ name: 'Line Chart', viz: 'echarts_timeseries_line' },
{ name: 'Area Chart', viz: 'echarts_area' },
{ name: 'Scatter Chart', viz: 'echarts_timeseries_scatter' },
{ name: 'Bar Chart V2', viz: 'echarts_timeseries_bar' },
{ name: 'Bar Chart', viz: 'echarts_timeseries_bar' },
] as ChartSpec[];
export const SUPPORTED_TIER2_CHARTS = [

View File

@@ -16,12 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
import { interceptChart } from 'cypress/utils';
describe('AdhocMetrics', () => {
beforeEach(() => {
cy.intercept('POST', '/superset/explore_json/**').as('postJson');
cy.intercept('GET', '/superset/explore_json/**').as('getJson');
interceptChart({ legacy: false }).as('chartData');
cy.visitChartByName('Num Births Trend');
cy.verifySliceSuccess({ waitAlias: '@postJson' });
cy.verifySliceSuccess({ waitAlias: '@chartData' });
});
it('Clear metric and set simple adhoc metric', () => {
@@ -52,9 +53,8 @@ describe('AdhocMetrics', () => {
cy.get('button[data-test="run-query-button"]').click();
cy.verifySliceSuccess({
waitAlias: '@postJson',
waitAlias: '@chartData',
querySubstring: `${metric} AS "${metricName}"`, // SQL statement
chartSelector: 'svg',
});
});
@@ -88,9 +88,8 @@ describe('AdhocMetrics', () => {
const metric = 'SUM(num)/COUNT(DISTINCT name)';
cy.verifySliceSuccess({
waitAlias: '@postJson',
waitAlias: '@chartData',
querySubstring: `${metric} AS "${metric}"`,
chartSelector: 'svg',
});
});
@@ -117,9 +116,8 @@ describe('AdhocMetrics', () => {
const metric = 'SUM(num)';
cy.verifySliceSuccess({
waitAlias: '@postJson',
waitAlias: '@chartData',
querySubstring: `${metric} AS "${metric}"`,
chartSelector: 'svg',
});
});
});

View File

@@ -16,20 +16,21 @@
* specific language governing permissions and limitations
* under the License.
*/
import { interceptV1ChartData } from './utils';
describe('Advanced analytics', () => {
beforeEach(() => {
cy.intercept('POST', '/superset/explore_json/**').as('postJson');
cy.intercept('GET', '/superset/explore_json/**').as('getJson');
interceptV1ChartData();
cy.intercept('PUT', '/api/v1/explore/**').as('putExplore');
cy.intercept('GET', '/explore/**').as('getExplore');
});
it('Create custom time compare', () => {
cy.visitChartByName('Num Births Trend');
cy.verifySliceSuccess({ waitAlias: '@postJson' });
cy.verifySliceSuccess({ waitAlias: '@v1Data' });
cy.get('.ant-collapse-header')
.contains('Advanced Analytics')
.contains('Advanced analytics')
.click({ force: true });
cy.get('[data-test=time_compare]').find('.ant-select').click();
@@ -43,17 +44,16 @@ describe('Advanced analytics', () => {
.type('1 year{enter}');
cy.get('button[data-test="run-query-button"]').click();
cy.wait('@postJson');
cy.wait('@v1Data');
cy.wait('@putExplore');
cy.reload();
cy.verifySliceSuccess({
waitAlias: '@postJson',
chartSelector: 'svg',
waitAlias: '@v1Data',
});
cy.wait('@getExplore');
cy.get('.ant-collapse-header')
.contains('Advanced Analytics')
.contains('Advanced analytics')
.click({ force: true });
cy.get('[data-test=time_compare]')
.find('.ant-select-selector')

View File

@@ -16,18 +16,22 @@
* specific language governing permissions and limitations
* under the License.
*/
import { interceptChart } from 'cypress/utils';
describe('Annotations', () => {
beforeEach(() => {
cy.intercept('POST', '/superset/explore_json/**').as('postJson');
cy.intercept('GET', '/superset/explore_json/**').as('getJson');
interceptChart({ legacy: false }).as('chartData');
});
it('Create formula annotation y-axis goal line', () => {
cy.visitChartByName('Num Births Trend');
cy.verifySliceSuccess({ waitAlias: '@postJson' });
cy.verifySliceSuccess({ waitAlias: '@chartData' });
const layerLabel = 'Goal line';
// get by text Annotations and Layers
cy.get('span').contains('Annotations and Layers').click();
cy.get('[data-test=annotation_layers]').click();
cy.get('[data-test="popover-content"]').within(() => {
@@ -39,10 +43,6 @@ describe('Annotations', () => {
cy.get('button[data-test="run-query-button"]').click();
cy.get('[data-test=annotation_layers]').contains(layerLabel);
cy.verifySliceSuccess({
waitAlias: '@postJson',
chartSelector: 'svg',
});
cy.get('.nv-legend-text').should('have.length', 2);
cy.verifySliceSuccess({ waitAlias: '@chartData' });
});
});

View File

@@ -21,6 +21,7 @@ import { interceptGet as interceptDashboardGet } from 'cypress/e2e/dashboard/uti
import { FORM_DATA_DEFAULTS, NUM_METRIC } from './visualizations/shared.helper';
import {
interceptFiltering,
interceptV1ChartData,
saveChartToDashboard,
visitSampleChartFromList,
} from './utils';
@@ -124,14 +125,14 @@ describe('Cross-referenced dashboards', () => {
describe('No Results', () => {
beforeEach(() => {
cy.intercept('POST', '/superset/explore_json/**').as('getJson');
interceptV1ChartData();
});
it('No results message shows up', () => {
const formData = {
...FORM_DATA_DEFAULTS,
metrics: [NUM_METRIC],
viz_type: 'line',
viz_type: 'echarts_timeseries_line',
adhoc_filters: [
{
expressionType: 'SIMPLE',
@@ -145,7 +146,7 @@ describe('No Results', () => {
};
cy.visitChartByParams(formData);
cy.wait('@getJson').its('response.statusCode').should('eq', 200);
cy.wait('@v1Data').its('response.statusCode').should('eq', 200);
cy.get('div.chart-container').contains(
'No results were returned for this query',
);

View File

@@ -20,13 +20,12 @@
// Tests for setting controls in the UI
// ***********************************************
import { interceptChart } from 'cypress/utils';
import { FORM_DATA_DEFAULTS, NUM_METRIC } from './visualizations/shared.helper';
describe('Datasource control', () => {
const newMetricName = `abc${Date.now()}`;
it('should allow edit dataset', () => {
interceptChart({ legacy: true }).as('chartData');
interceptChart({ legacy: false }).as('chartData');
cy.visitChartByName('Num Births Trend');
cy.verifySliceSuccess({ waitAlias: '@chartData' });
@@ -85,7 +84,7 @@ describe('Datasource control', () => {
describe('Color scheme control', () => {
beforeEach(() => {
interceptChart({ legacy: true }).as('chartData');
interceptChart({ legacy: false }).as('chartData');
cy.visitChartByName('Num Births Trend');
cy.verifySliceSuccess({ waitAlias: '@chartData' });
@@ -137,7 +136,7 @@ describe('VizType control', () => {
describe('Test datatable', () => {
beforeEach(() => {
interceptChart({ legacy: false }).as('tableChartData');
interceptChart({ legacy: true }).as('lineChartData');
interceptChart({ legacy: false }).as('lineChartData');
cy.visitChartByName('Daily Totals');
});
it('Data Pane opens and loads results', () => {
@@ -157,107 +156,9 @@ describe('Test datatable', () => {
});
});
describe('Time range filter', () => {
beforeEach(() => {
interceptChart({ legacy: true }).as('chartData');
});
it('Advanced time_range params', () => {
const formData = {
...FORM_DATA_DEFAULTS,
viz_type: 'line',
time_range: '100 years ago : now',
metrics: [NUM_METRIC],
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@chartData' });
cy.get('[data-test=time-range-trigger]').click();
cy.get('.footer').find('button').its('length').should('eq', 2);
cy.get('.ant-popover-content').within(() => {
cy.get('input[value="100 years ago"]');
cy.get('input[value="now"]');
});
cy.get('[data-test=cancel-button]').click();
cy.wait(500);
cy.get('.ant-popover').should('not.exist');
});
it('Common time_range params', () => {
const formData = {
...FORM_DATA_DEFAULTS,
viz_type: 'line',
metrics: [NUM_METRIC],
time_range: 'Last year',
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@chartData' });
cy.get('[data-test=time-range-trigger]').click();
cy.get('.ant-radio-group').children().its('length').should('eq', 5);
cy.get('.ant-radio-checked + span').contains('Last year');
cy.get('[data-test=cancel-button]').click();
});
it('Previous time_range params', () => {
const formData = {
...FORM_DATA_DEFAULTS,
viz_type: 'line',
metrics: [NUM_METRIC],
time_range: 'previous calendar month',
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@chartData' });
cy.get('[data-test=time-range-trigger]').click();
cy.get('.ant-radio-group').children().its('length').should('eq', 3);
cy.get('.ant-radio-checked + span').contains('previous calendar month');
cy.get('[data-test=cancel-button]').click();
});
it('Custom time_range params', () => {
const formData = {
...FORM_DATA_DEFAULTS,
viz_type: 'line',
metrics: [NUM_METRIC],
time_range: 'DATEADD(DATETIME("today"), -7, day) : today',
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@chartData' });
cy.get('[data-test=time-range-trigger]').click();
cy.get('[data-test=custom-frame]').then(() => {
cy.get('.antd5-input-number-input-wrap > input')
.invoke('attr', 'value')
.should('eq', '7');
});
cy.get('[data-test=cancel-button]').click();
});
it('No filter time_range params', () => {
const formData = {
...FORM_DATA_DEFAULTS,
viz_type: 'line',
metrics: [NUM_METRIC],
time_range: 'No filter',
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@chartData' });
cy.get('[data-test=time-range-trigger]').click();
cy.get('[data-test=no-filter]').should('exist');
cy.get('[data-test=cancel-button]').click();
});
});
describe('Groupby control', () => {
it('Set groupby', () => {
interceptChart({ legacy: true }).as('chartData');
interceptChart({ legacy: false }).as('chartData');
cy.visitChartByName('Num Births Trend');
cy.verifySliceSuccess({ waitAlias: '@chartData' });
@@ -271,6 +172,6 @@ describe('Groupby control', () => {
cy.get('[data-test="ColumnEdit#save"]').contains('Save').click();
cy.get('button[data-test="run-query-button"]').click();
cy.verifySliceSuccess({ waitAlias: '@chartData', chartSelector: 'svg' });
cy.verifySliceSuccess({ waitAlias: '@chartData' });
});
});

View File

@@ -30,7 +30,7 @@ const apiURL = (endpoint: string, queryObject: Record<string, unknown>) =>
describe('Test explore links', () => {
beforeEach(() => {
interceptChart({ legacy: true }).as('chartData');
interceptChart({ legacy: false }).as('chartData');
});
it('Open and close view query modal', () => {

View File

@@ -77,7 +77,7 @@ export function saveChartToDashboard(dashboardName: string) {
.click();
cy.get(
'.ant-select-selection-search-input[aria-label="Select a dashboard"]',
).type(dashboardName.slice(0, 3), { force: true });
).type(dashboardName, { force: true });
cy.get(`.ant-select-item-option[title="${dashboardName}"]`).click();
cy.getBySel('btn-modal-save').click();

View File

@@ -1,120 +0,0 @@
/**
* 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.
*/
describe('Visualization > Area', () => {
beforeEach(() => {
cy.intercept('POST', '/superset/explore_json/**').as('getJson');
});
const AREA_FORM_DATA = {
datasource: '2__table',
viz_type: 'area',
slice_id: 48,
granularity_sqla: 'year',
time_grain_sqla: 'P1D',
time_range: '1960-01-01 : now',
metrics: ['sum__SP_POP_TOTL'],
adhoc_filters: [],
groupby: [],
limit: '25',
order_desc: true,
contribution: false,
row_limit: 50000,
show_brush: 'auto',
show_legend: true,
line_interpolation: 'linear',
stacked_style: 'stack',
color_scheme: 'bnbColors',
rich_tooltip: true,
show_controls: false,
x_axis_label: '',
bottom_margin: 'auto',
x_ticks_layout: 'auto',
x_axis_format: 'smart_date',
x_axis_showminmax: false,
y_axis_format: '.3s',
y_log_scale: false,
rolling_type: 'None',
comparison_type: 'values',
annotation_layers: [],
};
function verify(formData) {
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
}
it('should work without groupby', () => {
verify(AREA_FORM_DATA);
cy.get('.nv-area').should('have.length', 1);
});
it('should work with group by', () => {
verify({
...AREA_FORM_DATA,
groupby: ['region'],
});
cy.get('.nv-area').should('have.length', 7);
});
it('should work with groupby and filter', () => {
cy.visitChartByParams({
...AREA_FORM_DATA,
groupby: ['region'],
adhoc_filters: [
{
expressionType: 'SIMPLE',
subject: 'region',
operator: 'IN',
comparator: ['South Asia', 'North America'],
clause: 'WHERE',
sqlExpression: null,
filterOptionName: 'filter_txje2ikiv6_wxmn0qwd1xo',
},
],
});
cy.wait('@getJson').then(async ({ response }) => {
const responseBody = response?.body;
// Make sure data is sorted correctly
const firstRow = responseBody.data[0].values;
const secondRow = responseBody.data[1].values;
expect(firstRow[firstRow.length - 1].y).to.be.greaterThan(
secondRow[secondRow.length - 1].y,
);
cy.verifySliceContainer('svg');
});
cy.get('.nv-area').should('have.length', 2);
});
it('should allow type to search color schemes and apply the scheme', () => {
verify(AREA_FORM_DATA);
cy.get('#controlSections-tab-display').click();
cy.get('.Control[data-test="color_scheme"]').scrollIntoView();
cy.get('.Control[data-test="color_scheme"] input[type="search"]').focus();
cy.focused().type('supersetColors{enter}');
cy.get(
'.Control[data-test="color_scheme"] .ant-select-selection-item [data-test="supersetColors"]',
).should('exist');
cy.get('.area .nv-legend .nv-legend-symbol')
.first()
.should('have.css', 'fill', 'rgb(31, 168, 201)');
});
});

View File

@@ -1,90 +0,0 @@
/**
* 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 { FORM_DATA_DEFAULTS, NUM_METRIC } from './shared.helper';
describe('Visualization > Distribution bar chart', () => {
beforeEach(() => {
cy.intercept('POST', '/superset/explore_json/**').as('getJson');
});
const VIZ_DEFAULTS = { ...FORM_DATA_DEFAULTS, viz_type: 'dist_bar' };
const DISTBAR_FORM_DATA = {
...VIZ_DEFAULTS,
metrics: NUM_METRIC,
groupby: ['state'],
};
it('should work with adhoc metric', () => {
cy.visitChartByParams(DISTBAR_FORM_DATA);
cy.verifySliceSuccess({
waitAlias: '@getJson',
querySubstring: NUM_METRIC.label,
chartSelector: 'svg',
});
});
it('should work with series', () => {
const formData = {
...VIZ_DEFAULTS,
metrics: NUM_METRIC,
groupby: ['state'],
columns: ['gender'],
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
});
it('should work with row limit', () => {
const formData = {
...VIZ_DEFAULTS,
metrics: NUM_METRIC,
groupby: ['state'],
row_limit: 10,
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
});
it('should work with contribution', () => {
const formData = {
...VIZ_DEFAULTS,
metrics: NUM_METRIC,
groupby: ['state'],
columns: ['gender'],
contribution: true,
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
});
it('should allow type to search color schemes and apply the scheme', () => {
cy.visitChartByParams(DISTBAR_FORM_DATA);
cy.get('#controlSections-tab-display').click();
cy.get('.Control[data-test="color_scheme"]').scrollIntoView();
cy.get('.Control[data-test="color_scheme"] input[type="search"]').focus();
cy.focused().type('bnbColors{enter}');
cy.get(
'.Control[data-test="color_scheme"] .ant-select-selection-item [data-test="bnbColors"]',
).should('exist');
});
});

View File

@@ -18,8 +18,11 @@
*/
import { FORM_DATA_DEFAULTS, NUM_METRIC } from './shared.helper';
describe('Download Chart > Distribution bar chart', () => {
const VIZ_DEFAULTS = { ...FORM_DATA_DEFAULTS, viz_type: 'dist_bar' };
describe('Download Chart > Bar chart', () => {
const VIZ_DEFAULTS = {
...FORM_DATA_DEFAULTS,
viz_type: 'echarts_timeseries_bar',
};
beforeEach(() => {
cy.intercept('POST', '/superset/explore_json/**').as('getJson');

View File

@@ -1,102 +0,0 @@
/**
* 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 { QueryFormData } from '@superset-ui/core';
describe('Visualization > Histogram', () => {
beforeEach(() => {
cy.intercept('POST', '/superset/explore_json/**').as('getJson');
});
const HISTOGRAM_FORM_DATA: QueryFormData = {
datasource: '3__table',
viz_type: 'histogram',
slice_id: 60,
granularity_sqla: 'ds',
time_grain_sqla: 'P1D',
time_range: '100 years ago : now',
all_columns_x: ['num'],
adhoc_filters: [],
row_limit: 50000,
groupby: [],
color_scheme: 'bnbColors',
link_length: 5, // number of bins
x_axis_label: 'Frequency',
y_axis_label: 'Num',
global_opacity: 1,
normalized: false,
};
function verify(formData: QueryFormData) {
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
}
it('should work without groupby', () => {
verify(HISTOGRAM_FORM_DATA);
cy.get('.chart-container svg .vx-bar').should(
'have.length',
HISTOGRAM_FORM_DATA.link_length,
);
});
it('should work with group by', () => {
verify({
...HISTOGRAM_FORM_DATA,
groupby: ['gender'],
});
cy.get('.chart-container svg .vx-bar').should(
'have.length',
HISTOGRAM_FORM_DATA.link_length * 2,
);
});
it('should work with filter and update num bins', () => {
const numBins = 2;
verify({
...HISTOGRAM_FORM_DATA,
link_length: numBins,
adhoc_filters: [
{
expressionType: 'SIMPLE',
clause: 'WHERE',
subject: 'state',
operator: '==',
comparator: 'CA',
},
],
});
cy.get('.chart-container svg .vx-bar').should('have.length', numBins);
});
it('should allow type to search color schemes and apply the scheme', () => {
verify(HISTOGRAM_FORM_DATA);
cy.get('#controlSections-tab-display').click();
cy.get('.Control[data-test="color_scheme"]').scrollIntoView();
cy.get('.Control[data-test="color_scheme"] input[type="search"]').focus();
cy.focused().type('supersetColors{enter}');
cy.get(
'.Control[data-test="color_scheme"] .ant-select-selection-item [data-test="supersetColors"]',
).should('exist');
cy.get('.histogram .vx-legend .vx-legend-shape div')
.first()
.should('have.css', 'background')
.and('contains', 'rgb(31, 168, 201)');
});
});

View File

@@ -1,302 +0,0 @@
/**
* 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 { FORM_DATA_DEFAULTS, NUM_METRIC, SIMPLE_FILTER } from './shared.helper';
describe('Visualization > Line', () => {
beforeEach(() => {
cy.intercept('POST', '/superset/explore_json/**').as('getJson');
});
const LINE_CHART_DEFAULTS = { ...FORM_DATA_DEFAULTS, viz_type: 'line' };
it('should show validator error when no metric', () => {
const formData = { ...LINE_CHART_DEFAULTS, metrics: [] };
cy.visitChartByParams(formData);
cy.get('.panel-body').contains(
`Add required control values to preview chart`,
);
});
it('should not show validator error when metric added', () => {
const formData = { ...LINE_CHART_DEFAULTS, metrics: [] };
cy.visitChartByParams(formData);
cy.get('.panel-body').contains(
`Add required control values to preview chart`,
);
cy.get('[data-test="metrics-header"]').contains('Metrics');
cy.get('[data-test="metrics-header"] [data-test="error-tooltip"]').should(
'exist',
);
cy.get('[data-test=metrics]')
.contains('Drop columns/metrics here or click')
.click();
// Title edit for saved metrics is disabled - switch to Simple
cy.get('[id="adhoc-metric-edit-tabs-tab-SIMPLE"]').click();
cy.get('input[aria-label="Select column"]').click();
cy.get('input[aria-label="Select column"]').type('num{enter}');
cy.get('input[aria-label="Select aggregate options"]').click();
cy.get('input[aria-label="Select aggregate options"]').type('sum{enter}');
cy.get('[data-test="AdhocMetricEdit#save"]').contains('Save').click();
cy.get('[data-test="metrics-header"]').contains('Metrics');
cy.get('[data-test="metrics-header"] [data-test="error-tooltip"]').should(
'not.exist',
);
cy.get('.antd5-alert-warning').should('not.exist');
});
it('should allow negative values in Y bounds', () => {
const formData = { ...LINE_CHART_DEFAULTS, metrics: [NUM_METRIC] };
cy.visitChartByParams(formData);
cy.get('#controlSections-tab-display').click();
cy.get('span').contains('Y Axis Bounds').scrollIntoView();
cy.get('input[placeholder="Min"]').type('-0.1', { delay: 100 });
cy.get('.antd5-alert-warning').should('not.exist');
});
it('should allow type to search color schemes and apply the scheme', () => {
cy.get('#controlSections-tab-display').click();
cy.get('.Control[data-test="color_scheme"]').scrollIntoView();
cy.get('.Control[data-test="color_scheme"] input[type="search"]').focus();
cy.focused().type('bnbColors{enter}');
cy.get(
'.Control[data-test="color_scheme"] .ant-select-selection-item [data-test="bnbColors"]',
).should('exist');
cy.get('.line .nv-legend .nv-legend-symbol')
.first()
.should('have.css', 'fill', 'rgb(41, 105, 107)');
});
it('should work with adhoc metric', () => {
const formData = { ...LINE_CHART_DEFAULTS, metrics: [NUM_METRIC] };
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
});
it('should work with groupby', () => {
const metrics = ['count'];
const groupby = ['gender'];
const formData = { ...LINE_CHART_DEFAULTS, metrics, groupby };
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
});
it('should work with simple filter', () => {
const metrics = ['count'];
const filters = [SIMPLE_FILTER];
const formData = {
...LINE_CHART_DEFAULTS,
metrics,
adhoc_filters: filters,
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
});
it('should work with series limit sort asc', () => {
const formData = {
...LINE_CHART_DEFAULTS,
metrics: [NUM_METRIC],
limit: 10,
groupby: ['name'],
timeseries_limit_metric: NUM_METRIC,
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
});
it('should work with series limit sort desc', () => {
const formData = {
...LINE_CHART_DEFAULTS,
metrics: [NUM_METRIC],
limit: 10,
groupby: ['name'],
timeseries_limit_metric: NUM_METRIC,
order_desc: true,
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
});
it('should work with rolling avg', () => {
const metrics = [NUM_METRIC];
const formData = {
...LINE_CHART_DEFAULTS,
metrics,
rolling_type: 'mean',
rolling_periods: 10,
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
});
it('should work with time shift 1 year', () => {
const metrics = [NUM_METRIC];
const formData = {
...LINE_CHART_DEFAULTS,
metrics,
time_compare: ['1 year'],
comparison_type: 'values',
groupby: ['gender'],
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
// Offset color should match original line color
cy.get('.nv-legend-text')
.contains('boy')
.siblings()
.first()
.should('have.attr', 'style')
.then(style => {
cy.get('.nv-legend-text')
.contains('boy, 1 year offset')
.siblings()
.first()
.should('have.attr', 'style')
.and('eq', style);
});
cy.get('.nv-legend-text')
.contains('girl')
.siblings()
.first()
.should('have.attr', 'style')
.then(style => {
cy.get('.nv-legend-text')
.contains('girl, 1 year offset')
.siblings()
.first()
.should('have.attr', 'style')
.and('eq', style);
});
});
it('should work with time shift yoy', () => {
const metrics = [NUM_METRIC];
const formData = {
...LINE_CHART_DEFAULTS,
metrics,
time_compare: ['1 year'],
comparison_type: 'ratio',
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
});
it('should work with time shift percentage change', () => {
const metrics = [NUM_METRIC];
const formData = {
...LINE_CHART_DEFAULTS,
metrics,
time_compare: ['1 year'],
comparison_type: 'percentage',
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
});
it('Test verbose name shows up in legend', () => {
const formData = {
...LINE_CHART_DEFAULTS,
metrics: ['count'],
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
cy.get('text.nv-legend-text').contains('COUNT(*)');
});
it('Test hidden annotation', () => {
const formData = {
...LINE_CHART_DEFAULTS,
metrics: ['count'],
annotation_layers: [
{
name: 'Goal line',
annotationType: 'FORMULA',
sourceType: '',
value: 'y=140000',
overrides: { time_range: null },
show: false,
showLabel: false,
titleColumn: '',
descriptionColumns: [],
timeColumn: '',
intervalEndColumn: '',
color: null,
opacity: '',
style: 'solid',
width: 1,
showMarkers: false,
hideLine: false,
},
],
};
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
cy.get('.slice_container').within(() => {
// Goal line annotation doesn't show up in legend
cy.get('.nv-legend-text').should('have.length', 1);
});
});
it('Test event annotation time override', () => {
cy.request('/chart/api/read?_flt_3_slice_name=Daily+Totals').then(
response => {
const value = response.body.pks[0];
const formData = {
...LINE_CHART_DEFAULTS,
metrics: ['count'],
annotation_layers: [
{
name: 'Yearly date',
annotationType: 'EVENT',
sourceType: 'table',
value,
overrides: { time_range: null },
show: true,
showLabel: false,
titleColumn: 'ds',
descriptionColumns: ['ds'],
timeColumn: 'ds',
color: null,
opacity: '',
style: 'solid',
width: 1,
showMarkers: false,
hideLine: false,
},
],
};
cy.visitChartByParams(formData);
},
);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
cy.get('.slice_container').within(() => {
cy.get('.nv-event-annotation-layer-0')
.children()
.should('have.length', 44);
});
});
});

View File

@@ -1,87 +0,0 @@
/**
* 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.
*/
describe('Visualization > Sankey', () => {
beforeEach(() => {
cy.intercept('POST', '/superset/explore_json/**').as('getJson');
});
const SANKEY_FORM_DATA = {
datasource: '1__table',
viz_type: 'sankey',
slice_id: 1,
url_params: {},
granularity_sqla: null,
time_grain_sqla: 'P1D',
time_range: 'Last week',
groupby: ['source', 'target'],
metric: 'sum__value',
adhoc_filters: [],
row_limit: '5000',
color_scheme: 'bnbColors',
};
function verify(formData) {
cy.visitChartByParams(formData);
cy.verifySliceSuccess({ waitAlias: '@getJson', chartSelector: 'svg' });
}
it('should work', () => {
verify(SANKEY_FORM_DATA);
cy.get('.chart-container svg g.node rect').should('have.length', 41);
});
it('should work with filter', () => {
verify({
...SANKEY_FORM_DATA,
adhoc_filters: [
{
expressionType: 'SQL',
sqlExpression: 'SUM(value) > 0',
clause: 'HAVING',
subject: null,
operator: null,
comparator: null,
filterOptionName: 'filter_jbdwe0hayaj_h9jfer8fy58',
},
{
expressionType: 'SIMPLE',
subject: 'source',
operator: '==',
comparator: 'Energy',
clause: 'WHERE',
sqlExpression: null,
filterOptionName: 'filter_8e0otka9uif_vmqri4gmbqc',
},
],
});
cy.get('.chart-container svg g.node rect').should('have.length', 6);
});
it('should allow type to search color schemes', () => {
verify(SANKEY_FORM_DATA);
cy.get('#controlSections-tab-display').click();
cy.get('.Control[data-test="color_scheme"]').scrollIntoView();
cy.get('.Control[data-test="color_scheme"] input[type="search"]').focus();
cy.focused().type('bnbColors{enter}');
cy.get(
'.Control[data-test="color_scheme"] .ant-select-selection-item [data-test="bnbColors"]',
).should('exist');
});
});

View File

@@ -22,15 +22,22 @@
export const FORM_DATA_DEFAULTS = {
datasource: '3__table',
granularity_sqla: 'ds',
time_grain_sqla: null,
time_range: '100 years ago : now',
adhoc_filters: [],
x_axis: 'ds',
adhoc_filters: [
{
clause: 'WHERE',
subject: 'ds',
operator: 'TEMPORAL_RANGE',
comparator: '100 years ago : now',
expressionType: 'SIMPLE',
},
],
groupby: [],
limit: null,
timeseries_limit_metric: null,
order_desc: false,
contribution: false,
contributionMode: null,
};
export const HEALTH_POP_FORM_DATA_DEFAULTS = {

View File

@@ -3,40 +3,40 @@
"slice_name": "1 - Sample chart",
"description": "chart description",
"owners": [1],
"viz_type": "line",
"viz_type": "echarts_timeseries_line",
"cache_timeout": 1000,
"datasource_id": 2,
"datasource_type": "table",
"params": "{\"viz_type\":\"line\",\"metrics\":[\"count\"]}"
"params": "{\"viz_type\":\"echarts_timeseries_line\",\"x_axis\":\"year\",\"metrics\":[\"count\"]}"
},
{
"slice_name": "2 - Sample chart",
"description": "chart description",
"owners": [1],
"viz_type": "line",
"viz_type": "echarts_timeseries_line",
"cache_timeout": 1000,
"datasource_id": 2,
"datasource_type": "table",
"params": "{\"viz_type\":\"line\",\"metrics\":[\"count\"]}"
"params": "{\"viz_type\":\"echarts_timeseries_line\",\"x_axis\":\"year\",\"metrics\":[\"count\"]}"
},
{
"slice_name": "3 - Sample chart",
"description": "chart description",
"owners": [1],
"viz_type": "line",
"viz_type": "echarts_timeseries_line",
"cache_timeout": 1000,
"datasource_id": 2,
"datasource_type": "table",
"params": "{\"viz_type\":\"line\",\"metrics\":[\"count\"]}"
"params": "{\"viz_type\":\"echarts_timeseries_line\",\"x_axis\":\"year\",\"metrics\":[\"count\"]}"
},
{
"slice_name": "4 - Sample chart",
"description": "chart description",
"owners": [1],
"viz_type": "line",
"viz_type": "echarts_timeseries_line",
"cache_timeout": 1000,
"datasource_id": 2,
"datasource_type": "table",
"params": "{\"viz_type\":\"line\",\"metrics\":[\"count\"]}"
"params": "{\"viz_type\":\"echarts_timeseries_line\",\"x_axis\":\"year\",\"metrics\":[\"count\"]}"
}
]

View File

@@ -106,7 +106,7 @@ export const databasesPage = {
alertMessage: '.antd5-alert-message',
errorField: '[role="alert"]',
uploadJson: '[title="Upload JSON file"]',
chooseFile: '[class="ant-btn input-upload-btn"]',
chooseFile: '[class="antd5-btn input-upload-btn"]',
additionalParameters: '[name="query_input"]',
sqlAlchemyUriInput: dataTestLocator('sqlalchemy-uri-input'),
advancedTab: '#rc-tabs-0-tab-2',
@@ -148,7 +148,7 @@ export const sqlLabView = {
examplesMenuItem: '[title="examples"]',
tableInput: ':nth-child(4) > .select > :nth-child(1)',
sqlEditor: '#brace-editor textarea',
saveAsButton: '.SaveQuery > .ant-btn',
saveAsButton: '.SaveQuery > .antd5-btn',
saveAsModal: {
footer: '.antd5-modal-footer',
queryNameInput: 'input[class^="ant-input"]',
@@ -195,7 +195,7 @@ export const savedQuery = {
export const annotationLayersView = {
emptyDescription: {
description: '.ant-empty-description',
addAnnotationLayerButton: '.ant-empty-footer > .ant-btn',
addAnnotationLayerButton: '.ant-empty-footer > .antd5-btn',
},
modal: {
content: {
@@ -434,7 +434,7 @@ export const dashboardListView = {
newDashboardButton: '.css-yff34v',
},
importModal: {
selectFileButton: '.ant-upload > .ant-btn > span',
selectFileButton: '.ant-upload > .antd5-btn > span',
importButton: dataTestLocator('modal-confirm-button'),
},
header: {
@@ -588,7 +588,7 @@ export const exploreView = {
rowsContainer: dataTestLocator('table-content-rows'),
},
confirmModal: {
okButton: '.antd5-modal-confirm-btns .ant-btn-primary',
okButton: '.antd5-modal-confirm-btns .antd5-btn-primary',
},
},
visualizationTypeModal: {

File diff suppressed because it is too large Load Diff

View File

@@ -16,7 +16,7 @@
]
},
"dependencies": {
"@applitools/eyes-cypress": "^3.44.7",
"@applitools/eyes-cypress": "^3.44.9",
"@cypress/code-coverage": "^3.10.4",
"@superset-ui/core": "^2.1.0",
"brace": "^0.11.1",

View File

@@ -56,7 +56,7 @@ module.exports = {
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
snapshotSerializers: ['@emotion/jest/enzyme-serializer'],
transformIgnorePatterns: [
'node_modules/(?!d3-(interpolate|color|time)|remark-gfm|markdown-table|micromark-*.|decode-named-character-reference|character-entities|mdast-util-*.|unist-util-*.|ccount|escape-string-regexp|nanoid|@rjsf/*.|sinon|echarts|zrender|fetch-mock|pretty-ms|parse-ms)',
'node_modules/(?!d3-(interpolate|color|time)|remark-gfm|markdown-table|micromark-*.|decode-named-character-reference|character-entities|mdast-util-*.|unist-util-*.|ccount|escape-string-regexp|nanoid|@rjsf/*.|sinon|echarts|zrender|fetch-mock|pretty-ms|parse-ms|ol)',
],
globals: {
__DEV__: true,

File diff suppressed because it is too large Load Diff

View File

@@ -97,20 +97,16 @@
"@superset-ui/legacy-plugin-chart-calendar": "file:./plugins/legacy-plugin-chart-calendar",
"@superset-ui/legacy-plugin-chart-chord": "file:./plugins/legacy-plugin-chart-chord",
"@superset-ui/legacy-plugin-chart-country-map": "file:./plugins/legacy-plugin-chart-country-map",
"@superset-ui/legacy-plugin-chart-event-flow": "file:./plugins/legacy-plugin-chart-event-flow",
"@superset-ui/legacy-plugin-chart-heatmap": "file:./plugins/legacy-plugin-chart-heatmap",
"@superset-ui/legacy-plugin-chart-histogram": "file:./plugins/legacy-plugin-chart-histogram",
"@superset-ui/legacy-plugin-chart-horizon": "file:./plugins/legacy-plugin-chart-horizon",
"@superset-ui/legacy-plugin-chart-map-box": "file:./plugins/legacy-plugin-chart-map-box",
"@superset-ui/legacy-plugin-chart-paired-t-test": "file:./plugins/legacy-plugin-chart-paired-t-test",
"@superset-ui/legacy-plugin-chart-parallel-coordinates": "file:./plugins/legacy-plugin-chart-parallel-coordinates",
"@superset-ui/legacy-plugin-chart-partition": "file:./plugins/legacy-plugin-chart-partition",
"@superset-ui/legacy-plugin-chart-rose": "file:./plugins/legacy-plugin-chart-rose",
"@superset-ui/legacy-plugin-chart-sankey": "file:./plugins/legacy-plugin-chart-sankey",
"@superset-ui/legacy-plugin-chart-sankey-loop": "file:./plugins/legacy-plugin-chart-sankey-loop",
"@superset-ui/legacy-plugin-chart-world-map": "file:./plugins/legacy-plugin-chart-world-map",
"@superset-ui/legacy-preset-chart-deckgl": "file:./plugins/legacy-preset-chart-deckgl",
"@superset-ui/legacy-preset-chart-nvd3": "file:./plugins/legacy-preset-chart-nvd3",
"@superset-ui/plugin-chart-cartodiagram": "file:./plugins/plugin-chart-cartodiagram",
"@superset-ui/plugin-chart-echarts": "file:./plugins/plugin-chart-echarts",
"@superset-ui/plugin-chart-handlebars": "file:./plugins/plugin-chart-handlebars",
"@superset-ui/plugin-chart-pivot-table": "file:./plugins/plugin-chart-pivot-table",
@@ -125,7 +121,7 @@
"@visx/scale": "^3.5.0",
"@visx/tooltip": "^3.0.0",
"@visx/xychart": "^3.5.1",
"abortcontroller-polyfill": "^1.7.5",
"abortcontroller-polyfill": "^1.7.8",
"ace-builds": "^1.36.3",
"antd": "4.10.3",
"antd-v5": "npm:antd@^5.18.0",
@@ -139,13 +135,19 @@
"dayjs": "^1.11.13",
"dom-to-image-more": "^3.2.0",
"dom-to-pdf": "^0.3.2",
"echarts": "^5.6.0",
"emotion-rgba": "0.0.12",
"fast-glob": "^3.3.2",
"fs-extra": "^11.2.0",
"fuse.js": "^7.0.0",
"geolib": "^2.0.24",
"geostyler": "^12.0.2",
"geostyler-data": "^1.0.0",
"geostyler-openlayers-parser": "^4.3.0",
"geostyler-style": "^7.5.0",
"geostyler-wfs-parser": "^2.0.3",
"googleapis": "^130.0.0",
"html-webpack-plugin": "^5.3.2",
"html-webpack-plugin": "^5.6.3",
"immer": "^10.1.1",
"interweave": "^13.1.0",
"jquery": "^3.7.1",
@@ -156,14 +158,13 @@
"lodash": "^4.17.21",
"luxon": "^3.5.0",
"mapbox-gl": "^2.10.0",
"markdown-to-jsx": "^7.4.7",
"markdown-to-jsx": "^7.7.2",
"match-sorter": "^6.3.4",
"memoize-one": "^5.2.1",
"moment": "^2.30.1",
"moment-timezone": "^0.5.44",
"mousetrap": "^1.6.5",
"mustache": "^4.2.0",
"nanoid": "^5.0.7",
"nanoid": "^5.0.9",
"ol": "^7.5.2",
"polished": "^4.3.1",
"prop-types": "^15.8.1",
"query-string": "^6.13.7",
@@ -186,7 +187,7 @@
"react-loadable": "^5.5.0",
"react-redux": "^7.2.9",
"react-resize-detector": "^7.1.2",
"react-reverse-portal": "^2.1.1",
"react-reverse-portal": "^2.1.2",
"react-router-dom": "^5.3.4",
"react-search-input": "^0.11.3",
"react-sortable-hoc": "^2.0.0",
@@ -195,7 +196,7 @@
"react-table": "^7.8.0",
"react-transition-group": "^2.5.3",
"react-ultimate-pagination": "^1.3.2",
"react-virtualized-auto-sizer": "^1.0.24",
"react-virtualized-auto-sizer": "^1.0.25",
"react-window": "^1.8.10",
"redux": "^4.2.1",
"redux-localstorage": "^0.4.1",
@@ -231,7 +232,7 @@
"@babel/register": "^7.23.7",
"@babel/types": "^7.24.9",
"@cypress/react": "^8.0.2",
"@emotion/babel-plugin": "^11.11.0",
"@emotion/babel-plugin": "^11.13.5",
"@emotion/jest": "^11.11.0",
"@hot-loader/react-dom": "^16.14.0",
"@istanbuljs/nyc-config-typescript": "^1.0.1",
@@ -277,7 +278,7 @@
"@types/react-window": "^1.8.8",
"@types/redux-localstorage": "^1.0.8",
"@types/redux-mock-store": "^1.0.6",
"@types/rison": "0.0.9",
"@types/rison": "0.1.0",
"@types/sinon": "^17.0.3",
"@types/tinycolor2": "^1.4.3",
"@types/yargs": "12 - 18",
@@ -290,8 +291,8 @@
"babel-plugin-lodash": "^3.3.4",
"copy-webpack-plugin": "^12.0.2",
"cross-env": "^7.0.3",
"css-loader": "^6.8.1",
"css-minimizer-webpack-plugin": "^5.0.1",
"css-loader": "^7.1.2",
"css-minimizer-webpack-plugin": "^7.0.0",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.7",
"esbuild": "^0.20.0",
@@ -299,18 +300,18 @@
"eslint": "^8.56.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-prettier": "^7.2.0",
"eslint-import-resolver-typescript": "^3.6.3",
"eslint-plugin-cypress": "^3.5.0",
"eslint-import-resolver-typescript": "^3.7.0",
"eslint-plugin-cypress": "^3.6.0",
"eslint-plugin-file-progress": "^1.5.0",
"eslint-plugin-import": "^2.24.2",
"eslint-plugin-jest": "^27.8.0",
"eslint-plugin-jest-dom": "^3.6.5",
"eslint-plugin-jest-dom": "^5.5.0",
"eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-lodash": "^7.4.0",
"eslint-plugin-no-only-tests": "^3.3.0",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-react": "^7.37.2",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-react-prefer-function-component": "^3.3.0",
"eslint-plugin-storybook": "^0.8.0",
"eslint-plugin-testing-library": "^6.4.0",
@@ -328,13 +329,12 @@
"jest-enzyme": "^7.1.2",
"jest-html-reporter": "^3.10.2",
"jest-websocket-mock": "^2.5.0",
"jsdom": "^24.1.1",
"jsdom": "^25.0.1",
"lerna": "^8.1.7",
"less": "^4.2.0",
"less-loader": "^12.2.0",
"mini-css-extract-plugin": "^2.9.0",
"mock-socket": "^9.3.1",
"moment-locales-webpack-plugin": "^1.2.0",
"node-fetch": "^2.6.7",
"open-cli": "^8.0.0",
"po2json": "^0.4.5",
@@ -350,11 +350,11 @@
"speed-measure-webpack-plugin": "^1.5.0",
"storybook": "8.1.11",
"style-loader": "^4.0.0",
"thread-loader": "^4.0.2",
"thread-loader": "^4.0.4",
"ts-loader": "^9.5.1",
"typescript": "^4.8.4",
"vm-browserify": "^1.1.2",
"webpack": "^5.94.0",
"webpack": "^5.97.1",
"webpack-bundle-analyzer": "^4.10.1",
"webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.15.1",

View File

@@ -28,9 +28,9 @@
"test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest"
},
"dependencies": {
"chalk": "^5.3.0",
"chalk": "^5.4.1",
"lodash-es": "^4.17.21",
"yeoman-generator": "^7.3.2",
"yeoman-generator": "^7.4.0",
"yosay": "^3.0.0"
},
"devDependencies": {

View File

@@ -81,5 +81,5 @@ export const DEFAULT_XAXIS_SORT_SERIES_DATA: SortSeriesData = {
export const DEFAULT_DATE_PATTERN = /\d{4}-\d{2}-\d{2}/g;
// When moment fails to parse a date
// When it fails to parse a date
export const INVALID_DATE = 'Invalid date';

View File

@@ -33,6 +33,7 @@ export * from './components/Dropdown';
export * from './components/Menu';
export * from './components/MetricOption';
export * from './components/Tooltip';
export { default as ControlHeader } from './components/ControlHeader';
export * from './shared-controls';
export * from './types';

View File

@@ -26,7 +26,7 @@ const formData: SqlaFormData = {
cumulative: true,
normalize: true,
groupby: ['country', 'region'],
viz_type: VizType.LegacyHistogram,
viz_type: VizType.Histogram,
datasource: 'foo',
};

View File

@@ -51,18 +51,18 @@
},
"devDependencies": {
"@emotion/styled": "^11.3.0",
"@types/d3-format": "^1.3.0",
"@types/d3-format": "^3.0.4",
"@types/d3-interpolate": "^3.0.4",
"@types/d3-scale": "^2.1.1",
"@types/d3-time": "^3.0.3",
"@types/d3-time": "^3.0.4",
"@types/d3-time-format": "^4.0.3",
"@types/enzyme": "^3.10.18",
"@types/fetch-mock": "^7.3.8",
"@types/lodash": "^4.17.7",
"@types/lodash": "^4.17.13",
"@types/math-expression-evaluator": "^1.3.3",
"@types/node": "^22.5.4",
"@types/node": "^22.10.3",
"@types/prop-types": "^15.7.2",
"@types/rison": "0.0.9",
"@types/rison": "0.1.0",
"@types/seedrandom": "^3.0.8",
"fetch-mock": "^11.1.4",
"jest-mock-console": "^2.0.0",

View File

@@ -26,11 +26,10 @@ export enum VizType {
Bubble = 'bubble_v2',
Bullet = 'bullet',
Calendar = 'cal_heatmap',
Cartodiagram = 'cartodiagram',
Chord = 'chord',
Compare = 'compare',
CountryMap = 'country_map',
DistBar = 'dist_bar',
EventFlow = 'event_flow',
Funnel = 'funnel',
Gauge = 'gauge_chart',
Graph = 'graph_chart',
@@ -38,13 +37,7 @@ export enum VizType {
Heatmap = 'heatmap_v2',
Histogram = 'histogram_v2',
Horizon = 'horizon',
LegacyArea = 'area',
LegacyBar = 'bar',
LegacyBubble = 'bubble',
LegacyHeatmap = 'heatmap',
LegacyHistogram = 'histogram',
LegacyLine = 'line',
LegacySankey = 'sankey',
Line = 'echarts_timeseries_line',
MapBox = 'mapbox',
MixedTimeseries = 'mixed_timeseries',

View File

@@ -65,7 +65,7 @@ class CategoricalColorScale extends ExtensibleFunction {
);
// holds original color scheme colors
this.originColors = colors;
// holds the extended color range (includes analagous colors)
// holds the extended color range (includes analogous colors)
this.colors = colors;
// holds the values of this specific slice (label+color)
this.chartLabelsColorMap = new Map();
@@ -139,7 +139,7 @@ class CategoricalColorScale extends ExtensibleFunction {
// a forced color will always be used independently of the usage count
if (!forcedColor && !isExistingLabel) {
if (isFeatureEnabled(FeatureFlag.UseAnalagousColors)) {
if (isFeatureEnabled(FeatureFlag.UseAnalogousColors)) {
this.incrementColorRange();
}
if (

View File

@@ -36,6 +36,7 @@ export enum FeatureFlag {
DashboardRbac = 'DASHBOARD_RBAC',
DatapanelClosedByDefault = 'DATAPANEL_CLOSED_BY_DEFAULT',
DisableLegacyDatasourceEditor = 'DISABLE_LEGACY_DATASOURCE_EDITOR',
/** @deprecated */
DrillToDetail = 'DRILL_TO_DETAIL',
DrillBy = 'DRILL_BY',
DynamicPlugins = 'DYNAMIC_PLUGINS',
@@ -57,7 +58,7 @@ export enum FeatureFlag {
SshTunneling = 'SSH_TUNNELING',
TaggingSystem = 'TAGGING_SYSTEM',
Thumbnails = 'THUMBNAILS',
UseAnalagousColors = 'USE_ANALAGOUS_COLORS',
UseAnalogousColors = 'USE_ANALOGOUS_COLORS',
ForceSqlLabRunAsync = 'SQLLAB_FORCE_RUN_ASYNC',
SlackEnableAvatars = 'SLACK_ENABLE_AVATARS',
EnableDashboardScreenshotEndpoints = 'ENABLE_DASHBOARD_SCREENSHOT_ENDPOINTS',

View File

@@ -87,13 +87,13 @@ describe('ChartClient', () => {
sliceId,
formData: {
granularity: 'second',
viz_type: VizType.LegacyBar,
viz_type: VizType.Bar,
},
}),
).resolves.toEqual({
...sankeyFormData,
granularity: 'second',
viz_type: VizType.LegacyBar,
viz_type: VizType.Bar,
});
});
it('returns promise of formData if only formData was given', () =>
@@ -102,13 +102,13 @@ describe('ChartClient', () => {
formData: {
datasource: '1__table',
granularity: 'minute',
viz_type: VizType.LegacyLine,
viz_type: VizType.Line,
},
}),
).resolves.toEqual({
datasource: '1__table',
granularity: 'minute',
viz_type: VizType.LegacyLine,
viz_type: VizType.Line,
}));
it('rejects if none of sliceId or formData is specified', () =>
expect(
@@ -256,7 +256,7 @@ describe('ChartClient', () => {
it('loadAllDataNecessaryForAChart', () => {
fetchMock.get(`glob:*/api/v1/form_data/?slice_id=${sliceId}`, {
granularity: 'minute',
viz_type: VizType.LegacyLine,
viz_type: VizType.Line,
datasource: '1__table',
color: 'living-coral',
});
@@ -276,12 +276,12 @@ describe('ChartClient', () => {
});
getChartMetadataRegistry().registerValue(
VizType.LegacyLine,
VizType.Line,
new ChartMetadata({ name: 'Line', thumbnail: '.gif' }),
);
getChartBuildQueryRegistry().registerValue(
VizType.LegacyLine,
VizType.Line,
(formData: QueryFormData) => buildQueryContext(formData),
);
@@ -297,7 +297,7 @@ describe('ChartClient', () => {
},
formData: {
granularity: 'minute',
viz_type: VizType.LegacyLine,
viz_type: VizType.Line,
datasource: '1__table',
color: 'living-coral',
},

View File

@@ -71,7 +71,7 @@ export const sunburstFormData = {
export const sankeyFormData = {
datasource: '1__table',
viz_type: VizType.LegacySankey,
viz_type: VizType.Sankey,
slice_id: 1,
url_params: {},
granularity_sqla: null,

View File

@@ -165,7 +165,7 @@ describe('CategoricalColorScale', () => {
});
it('get analogous colors when number of items exceed available colors', () => {
window.featureFlags = {
[FeatureFlag.UseAnalagousColors]: true,
[FeatureFlag.UseAnalogousColors]: true,
};
const scale = new CategoricalColorScale(['blue', 'red', 'green']);
scale.getColor('pig');

View File

@@ -212,7 +212,7 @@ describe('LabelsColorMap', () => {
it('should use recycle colors', () => {
window.featureFlags = {
[FeatureFlag.UseAnalagousColors]: false,
[FeatureFlag.UseAnalogousColors]: false,
};
labelsColorMap.addSlice('a', 'red', 1);
labelsColorMap.addSlice('b', 'blue', 2);
@@ -224,9 +224,9 @@ describe('LabelsColorMap', () => {
expect(getAnalogousColorsSpy).not.toHaveBeenCalled();
});
it('should use analagous colors', () => {
it('should use analogous colors', () => {
window.featureFlags = {
[FeatureFlag.UseAnalagousColors]: true,
[FeatureFlag.UseAnalogousColors]: true,
};
labelsColorMap.addSlice('a', 'red', 1);

View File

@@ -29,7 +29,7 @@ describe('getFormData()', () => {
const mockData = {
datasource: '1__table',
viz_type: VizType.LegacySankey,
viz_type: VizType.Sankey,
slice_id: 1,
url_params: {},
granularity_sqla: null,

View File

@@ -32,20 +32,20 @@
},
"dependencies": {
"@data-ui/event-flow": "^0.0.84",
"@emotion/cache": "^11.4.0",
"@emotion/react": "^11.13.3",
"@emotion/styled": "^11.3.0",
"@emotion/cache": "^11.14.0",
"@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.0",
"@mihkeleidast/storybook-addon-source": "^1.0.1",
"@react-icons/all-files": "^4.1.0",
"@storybook/addon-actions": "8.1.11",
"@storybook/addon-controls": "8.1.11",
"@storybook/addon-links": "8.1.11",
"@storybook/react": "8.1.11",
"@storybook/types": "8.1.11",
"@storybook/types": "8.4.7",
"@types/react-loadable": "^5.5.11",
"antd": "4.10.3",
"core-js": "3.38.1",
"gh-pages": "^5.0.0",
"core-js": "3.39.0",
"gh-pages": "^6.2.0",
"jquery": "^3.7.1",
"memoize-one": "^5.2.1",
"react": "^16.13.1",
@@ -54,15 +54,15 @@
"react-resizable": "^3.0.5"
},
"devDependencies": {
"@babel/core": "^7.23.9",
"@babel/core": "^7.26.0",
"@babel/preset-env": "^7.23.9",
"@babel/preset-react": "^7.23.3",
"@babel/preset-react": "^7.26.3",
"@babel/preset-typescript": "^7.23.3",
"@storybook/react-webpack5": "8.2.9",
"babel-loader": "^9.1.3",
"fork-ts-checker-webpack-plugin": "^9.0.2",
"ts-loader": "^9.5.1",
"typescript": "^4.5.4"
"typescript": "^5.7.2"
},
"peerDependencies": {
"@encodable/color": "=1.1.1",
@@ -70,17 +70,12 @@
"@superset-ui/legacy-plugin-chart-calendar": "*",
"@superset-ui/legacy-plugin-chart-chord": "*",
"@superset-ui/legacy-plugin-chart-country-map": "*",
"@superset-ui/legacy-plugin-chart-event-flow": "*",
"@superset-ui/legacy-plugin-chart-heatmap": "*",
"@superset-ui/legacy-plugin-chart-histogram": "*",
"@superset-ui/legacy-plugin-chart-horizon": "*",
"@superset-ui/legacy-plugin-chart-map-box": "*",
"@superset-ui/legacy-plugin-chart-paired-t-test": "*",
"@superset-ui/legacy-plugin-chart-parallel-coordinates": "*",
"@superset-ui/legacy-plugin-chart-partition": "*",
"@superset-ui/legacy-plugin-chart-rose": "*",
"@superset-ui/legacy-plugin-chart-sankey": "*",
"@superset-ui/legacy-plugin-chart-sankey-loop": "*",
"@superset-ui/legacy-plugin-chart-time-table": "*",
"@superset-ui/legacy-plugin-chart-world-map": "*",
"@superset-ui/legacy-preset-chart-deckgl": "*",

View File

@@ -1,50 +0,0 @@
/*
* 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 { SuperChart } from '@superset-ui/core';
import sampleEvents from '@data-ui/event-flow/build/sampleEvents';
import EventFlowChartPlugin from '@superset-ui/legacy-plugin-chart-event-flow';
new EventFlowChartPlugin().configure({ key: 'event-flow' }).register();
export default {
title: 'Legacy Chart Plugins/legacy-plugin-chart-event-flow',
};
const data = sampleEvents.twentyUsers.allEvents.map(
({ ENTITY_ID, EVENT_NAME, TS }) => ({
__timestamp: TS,
eventName: EVENT_NAME,
userId: ENTITY_ID,
}),
);
export const basic = () => (
<SuperChart
chartType="event-flow"
width={400}
height={400}
queriesData={[{ data }]}
formData={{
allColumnsX: 'eventName',
entity: 'userId',
minLeafNodeEventCount: 1,
}}
/>
);

View File

@@ -1,147 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import HeatmapChartPlugin from '@superset-ui/legacy-plugin-chart-heatmap';
import ResizableChartDemo from '../../../shared/components/ResizableChartDemo';
import data from './data';
new HeatmapChartPlugin().configure({ key: VizType.LegacyHeatmap }).register();
export default {
title: 'Legacy Chart Plugins/legacy-plugin-chart-heatmap',
};
export const basic = () => (
<SuperChart
chartType={VizType.LegacyHeatmap}
width={500}
height={500}
formData={{
allColumnsX: 'source',
allColumnsY: 'target',
bottomMargin: 'auto',
canvasImageRendering: 'pixelated',
leftMargin: 'auto',
linearColorScheme: 'blue_white_yellow',
metric: 'sum__value',
normalized: false,
showLegend: true,
showPerc: true,
showValues: false,
sortXAxis: 'alpha_asc',
sortYAxis: 'alpha_asc',
xscaleInterval: '1',
yAxisBounds: [null, null],
yAxisFormat: '.3s',
yscaleInterval: '1',
}}
queriesData={[
{
data: {
records: data,
extents: [0.1, 24.9],
},
},
]}
/>
);
export const resizable = () => (
<ResizableChartDemo>
{({ width, height }) => (
<SuperChart
chartType={VizType.LegacyHeatmap}
width={width}
height={height}
formData={{
allColumnsX: 'source',
allColumnsY: 'target',
bottomMargin: 'auto',
canvasImageRendering: 'pixelated',
leftMargin: 'auto',
linearColorScheme: 'blue_white_yellow',
metric: 'sum__value',
normalized: false,
showLegend: true,
showPerc: true,
showValues: false,
sortXAxis: 'alpha_asc',
sortYAxis: 'alpha_asc',
xscaleInterval: '1',
yAxisBounds: [null, null],
yAxisFormat: '.3s',
yscaleInterval: '1',
}}
queriesData={[
{
data: {
records: data,
extents: [0.1, 24.9],
},
},
]}
/>
)}
</ResizableChartDemo>
);
export const withNullData = () => (
<SuperChart
chartType={VizType.LegacyHeatmap}
width={500}
height={500}
formData={{
allColumnsX: 'source',
allColumnsY: 'target',
bottomMargin: 'auto',
canvasImageRendering: 'pixelated',
leftMargin: 'auto',
linearColorScheme: 'blue_white_yellow',
metric: 'sum__value',
normalized: false,
showLegend: true,
showPerc: true,
showValues: false,
sortXAxis: 'alpha_asc',
sortYAxis: 'alpha_asc',
xscaleInterval: '1',
yAxisBounds: [null, null],
yAxisFormat: '.3s',
yscaleInterval: '1',
}}
queriesData={[
{
data: {
records: [
...data,
{
x: null,
y: 'Electricity and heat',
v: 25.9,
perc: 0.43,
rank: 1.0,
},
],
extents: [0.1, 24.9],
},
},
]}
/>
);

View File

@@ -1,182 +0,0 @@
/*
* 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.
*/
export default [
{
x: 'Energy',
y: 'Electricity and heat',
v: 24.9,
perc: 1.0,
rank: 1.0,
},
{
x: 'Energy',
y: 'Industry',
v: 14.7,
perc: 0.5887096774193549,
rank: 0.9882352941176471,
},
{
x: 'Energy',
y: 'Transportation',
v: 14.3,
perc: 0.5725806451612905,
rank: 0.9764705882352941,
},
{
x: 'Deforestation',
y: 'Carbon Dioxide',
v: 10.9,
perc: 0.435483870967742,
rank: 0.9588235294117647,
},
{
x: 'Land Use Change',
y: 'Deforestation',
v: 10.9,
perc: 0.435483870967742,
rank: 0.9588235294117647,
},
{
x: 'Road',
y: 'Carbon Dioxide',
v: 10.5,
perc: 0.4193548387096775,
rank: 0.9352941176470588,
},
{
x: 'Transportation',
y: 'Road',
v: 10.5,
perc: 0.4193548387096775,
rank: 0.9352941176470588,
},
{
x: 'Residential Buildings',
y: 'Carbon Dioxide',
v: 10.2,
perc: 0.40725806451612906,
rank: 0.9176470588235294,
},
{
x: 'Energy',
y: 'Other Fuel Combustion',
v: 8.6,
perc: 0.342741935483871,
rank: 0.9058823529411765,
},
{
x: 'Other Industry',
y: 'Carbon Dioxide',
v: 6.6,
perc: 0.26209677419354843,
rank: 0.8941176470588236,
},
{
x: 'Commercial Buildings',
y: 'Carbon Dioxide',
v: 6.3,
perc: 0.25000000000000006,
rank: 0.8823529411764706,
},
{
x: 'Agriculture',
y: 'Livestock and Manure',
v: 5.4,
perc: 0.2137096774193549,
rank: 0.8705882352941177,
},
{
x: 'Agriculture',
y: 'Agriculture Soils',
v: 5.2,
perc: 0.20564516129032262,
rank: 0.8470588235294118,
},
{
x: 'Agriculture Soils',
y: 'Nitrous Oxide',
v: 5.2,
perc: 0.20564516129032262,
rank: 0.8470588235294118,
},
{
x: 'Oil and Gas Processing',
y: 'Methane',
v: 2.8,
perc: 0.10887096774193548,
rank: 0.6705882352941176,
},
{
x: 'Electricity and heat',
y: 'Other Industry',
v: 2.7,
perc: 0.10483870967741937,
rank: 0.6470588235294118,
},
{
x: 'Rail - Ship and Other Transport',
y: 'Carbon Dioxide',
v: 2.5,
perc: 0.09677419354838711,
rank: 0.6294117647058823,
},
{
x: 'Transportation',
y: 'Rail - Ship and Other Transport',
v: 2.5,
perc: 0.09677419354838711,
rank: 0.6294117647058823,
},
{
x: 'Electricity and heat',
y: 'T and D Losses',
v: 2.2,
perc: 0.08467741935483872,
rank: 0.6058823529411764,
},
{
x: 'T and D Losses',
y: 'Carbon Dioxide',
v: 2.2,
perc: 0.08467741935483872,
rank: 0.6058823529411764,
},
{
x: 'Electricity and heat',
y: 'Unallocated Fuel Combustion',
v: 2.0,
perc: 0.07661290322580645,
rank: 0.5882352941176471,
},
{
x: 'Industry',
y: 'Cement',
v: 1.9,
perc: 0.07258064516129033,
rank: 0.5764705882352941,
},
{
x: 'Other Fuel Combustion',
y: 'Unallocated Fuel Combustion',
v: 1.8,
perc: 0.0685483870967742,
rank: 0.5647058823529412,
},
];

View File

@@ -1,48 +0,0 @@
/*
* 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.
*/
/* eslint-disable no-magic-numbers */
import { SuperChart, VizType } from '@superset-ui/core';
import HistogramChartPlugin from '@superset-ui/legacy-plugin-chart-histogram';
import data from './data';
new HistogramChartPlugin()
.configure({ key: VizType.LegacyHistogram })
.register();
export default {
title: 'Legacy Chart Plugins/legacy-plugin-chart-histogram',
};
export const basic = () => (
<SuperChart
chartType={VizType.LegacyHistogram}
width={400}
height={400}
queriesData={[{ data }]}
formData={{
colorScheme: 'd3Category10',
globalOpacity: 1,
linkLength: 15, // binCount
normalized: false,
xAxisLabel: 'Score',
yAxisLabel: 'Count',
}}
/>
);

View File

@@ -1,32 +0,0 @@
/*
* 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.
*/
/* eslint-disable sort-keys, no-magic-numbers */
export default [
{
key: 'Entrance exam',
values: [
0.87, 0.944, 1.0, 0.879, 0.69, 0.667, 0.794, 0.838, 0.875, 0.385, 0.968,
0.804, 1.0, 0.943, 0.96, 0.333, 0.5, 0.929, 0.863, 0.75, 0.957, 0.914,
1.0, 0.909, 0.742, 0.964, 0.25, 0.75, 0.5, 0.867, 0.909, 0.333, 0.867,
0.952, 0.857, 0.949, 0.857, 0.333, 0.8, 0.707, 0.833, 0.75, 0.88, 0.771,
1.0, 1.0, 0.769, 1.0, 0.769, 0.622, 0.909, 0.725, 0.951, 1.0,
],
},
];

View File

@@ -1,41 +0,0 @@
/*
* 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.
*/
/* eslint-disable no-magic-numbers */
import { SuperChart } from '@superset-ui/core';
import SankeyLoopChartPlugin from '@superset-ui/legacy-plugin-chart-sankey-loop';
import data from './data';
new SankeyLoopChartPlugin().configure({ key: 'sankey-loop' }).register();
export default {
title: 'Legacy Chart Plugins/legacy-plugin-chart-sankey-loop',
};
export const basic = () => (
<SuperChart
chartType="sankey-loop"
width={400}
height={400}
queriesData={[{ data }]}
formData={{
colorScheme: 'd3Category10',
}}
/>
);

View File

@@ -1,52 +0,0 @@
/*
* 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.
*/
/* eslint-disable sort-keys, no-magic-numbers */
export default [
{
source: 'Lisdoonvarna',
target: 'Cliffs of Moher',
value: 50,
},
{
source: 'Cliffs of Moher',
target: 'Lisdoonvarna',
value: 35,
},
{
source: 'Cliffs of Moher',
target: 'Killarney',
value: 25,
},
{
source: 'Lisdoonvarna',
target: 'Killarney',
value: 25,
},
{
source: 'Lisdoonvarna',
target: 'Kinvarra',
value: 25,
},
{
source: 'Kinvarra',
target: 'Lisdoonvarna',
value: 25,
},
];

View File

@@ -1,58 +0,0 @@
/*
* 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.
*/
/* eslint-disable no-magic-numbers */
import { SuperChart, VizType } from '@superset-ui/core';
import SankeyChartPlugin from '@superset-ui/legacy-plugin-chart-sankey';
import ResizableChartDemo from '../../../shared/components/ResizableChartDemo';
import data from './data';
new SankeyChartPlugin().configure({ key: VizType.LegacySankey }).register();
export default {
title: 'Legacy Chart Plugins/legacy-plugin-chart-sankey',
};
export const basic = () => (
<SuperChart
chartType={VizType.LegacySankey}
width={400}
height={400}
queriesData={[{ data }]}
formData={{
colorScheme: 'd3Category10',
}}
/>
);
export const resizable = () => (
<ResizableChartDemo>
{({ width, height }) => (
<SuperChart
chartType={VizType.LegacySankey}
width={width}
height={height}
queriesData={[{ data }]}
formData={{
colorScheme: 'd3Category10',
}}
/>
)}
</ResizableChartDemo>
);

View File

@@ -1,72 +0,0 @@
/*
* 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.
*/
/* eslint-disable sort-keys, no-magic-numbers */
export default [
{
source: 'Energy',
target: 'Electricity and heat',
value: 24.9,
},
{
source: 'Energy',
target: 'Industry',
value: 14.7,
},
{
source: 'Energy',
target: 'Transportation',
value: 14.3,
},
{
source: 'Deforestation',
target: 'Carbon Dioxide',
value: 10.9,
},
{
source: 'Land Use Change',
target: 'Deforestation',
value: 10.9,
},
{
source: 'Road',
target: 'Carbon Dioxide',
value: 10.5,
},
{
source: 'Transportation',
target: 'Road',
value: 10.5,
},
{
source: 'Residential Buildings',
target: 'Carbon Dioxide',
value: 10.2,
},
{
source: 'Energy',
target: 'Other Fuel Combustion',
value: 8.6,
},
{
source: 'Other Industry',
target: 'Carbon Dioxide',
value: 6.6,
},
];

View File

@@ -1,53 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
import data from '../data';
export const controlsShown = () => (
<SuperChart
chartType={VizType.LegacyArea}
datasource={dummyDatasource}
width={400}
height={400}
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',
metrics: ['sum__SP_POP_TOTL'],
richTooltip: true,
showBrush: 'auto',
showControls: true,
showLegend: true,
stackedStyle: 'stack',
vizType: VizType.LegacyArea,
xAxisFormat: '%Y',
xAxisLabel: '',
xAxisShowminmax: false,
xTicksLayout: 'auto',
yAxisBounds: [null, null],
yAxisFormat: '.3s',
yLogScale: false,
}}
/>
);

View File

@@ -1,53 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
import data from '../data';
export const expanded = () => (
<SuperChart
chartType={VizType.LegacyArea}
datasource={dummyDatasource}
width={400}
height={400}
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',
metrics: ['sum__SP_POP_TOTL'],
richTooltip: true,
showBrush: 'auto',
showControls: false,
showLegend: true,
stackedStyle: 'expand',
vizType: VizType.LegacyArea,
xAxisFormat: '%Y',
xAxisLabel: '',
xAxisShowminmax: false,
xTicksLayout: 'auto',
yAxisBounds: [null, null],
yAxisFormat: '.3s',
yLogScale: false,
}}
/>
);

View File

@@ -1,54 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
import data from '../data';
export const stacked = () => (
<SuperChart
id="stacked-area-chart"
chartType={VizType.LegacyArea}
datasource={dummyDatasource}
width={400}
height={400}
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',
metrics: ['sum__SP_POP_TOTL'],
richTooltip: true,
showBrush: 'auto',
showControls: false,
showLegend: true,
stackedStyle: 'stack',
vizType: VizType.LegacyArea,
xAxisFormat: '%Y',
xAxisLabel: '',
xAxisShowminmax: false,
xTicksLayout: 'auto',
yAxisBounds: [null, null],
yAxisFormat: '.3s',
yLogScale: false,
}}
/>
);

View File

@@ -1,88 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
import data from '../data';
export const stackedWithYAxisBounds = () => (
<SuperChart
chartType={VizType.LegacyArea}
datasource={dummyDatasource}
width={400}
height={400}
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',
metrics: ['sum__SP_POP_TOTL'],
richTooltip: true,
showBrush: 'auto',
showControls: false,
showLegend: true,
stackedStyle: 'stack',
vizType: VizType.LegacyArea,
xAxisFormat: '%Y',
xAxisLabel: '',
xAxisShowminmax: false,
xTicksLayout: 'auto',
yAxisBounds: [0, 3000000000],
yAxisFormat: '.3s',
yLogScale: false,
}}
/>
);
stackedWithYAxisBounds.storyName = 'Stacked with yAxisBounds';
export const stackedWithYAxisBoundsMinOnly = () => (
<SuperChart
chartType={VizType.LegacyArea}
datasource={dummyDatasource}
width={400}
height={400}
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',
metrics: ['sum__SP_POP_TOTL'],
richTooltip: true,
showBrush: 'auto',
showControls: true,
showLegend: true,
stackedStyle: 'stack',
vizType: VizType.LegacyArea,
xAxisFormat: '%Y',
xAxisLabel: '',
xAxisShowminmax: false,
xTicksLayout: 'auto',
yAxisBounds: [1000000000, null],
yAxisFormat: '.3s',
yLogScale: false,
}}
/>
);
stackedWithYAxisBoundsMinOnly.storyName = 'Stacked with yAxisBounds min only';

View File

@@ -1,247 +0,0 @@
/*
* 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.
*/
/* eslint-disable sort-keys */
export default [
{
key: ['East Asia & Pacific'],
values: [
{
x: -315619200000.0,
y: 1031863394.0,
},
{
x: -283996800000.0,
y: 1034767718.0,
},
{
x: -252460800000.0,
y: 1048537618.0,
},
{
x: -220924800000.0,
y: 1073600747.0,
},
{
x: -189388800000.0,
y: 1098305025.0,
},
{
x: -157766400000.0,
y: 1124077872.0,
},
{
x: -126230400000.0,
y: 1153296196.0,
},
{
x: -94694400000.0,
y: 1181582226.0,
},
{
x: -63158400000.0,
y: 1210302481.0,
},
{
x: -31536000000.0,
y: 1242569208.0,
},
],
},
{
key: ['South Asia'],
values: [
{
x: -315619200000.0,
y: 572036107.0,
},
{
x: -283996800000.0,
y: 584143236.0,
},
{
x: -252460800000.0,
y: 596701125.0,
},
{
x: -220924800000.0,
y: 609571502.0,
},
{
x: -189388800000.0,
y: 623073110.0,
},
{
x: -157766400000.0,
y: 636963781.0,
},
{
x: -126230400000.0,
y: 651325994.0,
},
{
x: -94694400000.0,
y: 666134328.0,
},
{
x: -63158400000.0,
y: 681405837.0,
},
{
x: -31536000000.0,
y: 697060567.0,
},
],
},
{
key: ['Europe & Central Asia'],
values: [
{
x: -315619200000.0,
y: 660881033.0,
},
{
x: -283996800000.0,
y: 668526708.0,
},
{
x: -252460800000.0,
y: 676418331.0,
},
{
x: -220924800000.0,
y: 684369825.0,
},
{
x: -189388800000.0,
y: 692233988.0,
},
{
x: -157766400000.0,
y: 699849949.0,
},
{
x: -126230400000.0,
y: 706459925.0,
},
{
x: -94694400000.0,
y: 712871897.0,
},
{
x: -63158400000.0,
y: 719034272.0,
},
{
x: -31536000000.0,
y: 725099571.0,
},
],
},
{
key: ['Sub-Saharan Africa'],
values: [
{
x: -315619200000.0,
y: 228268752.0,
},
{
x: -283996800000.0,
y: 233759990.0,
},
{
x: -252460800000.0,
y: 239403621.0,
},
{
x: -220924800000.0,
y: 245217050.0,
},
{
x: -189388800000.0,
y: 251215851.0,
},
{
x: -157766400000.0,
y: 257414930.0,
},
{
x: -126230400000.0,
y: 263830697.0,
},
{
x: -94694400000.0,
y: 270477558.0,
},
{
x: -63158400000.0,
y: 277365472.0,
},
{
x: -31536000000.0,
y: 284502453.0,
},
],
},
{
key: ['Latin America & Caribbean'],
values: [
{
x: -315619200000.0,
y: 220564224.0,
},
{
x: -283996800000.0,
y: 226764342.0,
},
{
x: -252460800000.0,
y: 233183206.0,
},
{
x: -220924800000.0,
y: 239771182.0,
},
{
x: -189388800000.0,
y: 246458356.0,
},
{
x: -157766400000.0,
y: 253195267.0,
},
{
x: -126230400000.0,
y: 259965218.0,
},
{
x: -94694400000.0,
y: 266776414.0,
},
{
x: -63158400000.0,
y: 273654630.0,
},
{
x: -31536000000.0,
y: 280641049.0,
},
],
},
];

View File

@@ -1,64 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
import data from '../data';
export const barWithPositiveAndNegativeValues = () => (
<SuperChart
chartType={VizType.LegacyBar}
width={400}
height={400}
datasource={dummyDatasource}
queriesData={[
{
data: data.map((group, i) => ({
...group,
values: group.values.map(pair => ({
...pair,
y: (i % 2 === 0 ? 1 : -1) * pair.y,
})),
})),
},
]}
formData={{
bottomMargin: 'auto',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',
metrics: ['sum__SP_POP_TOTL'],
richTooltip: true,
showBarValue: true,
showBrush: 'auto',
showControls: false,
showLegend: true,
stackedStyle: 'stack',
vizType: VizType.LegacyBar,
xAxisFormat: '%Y',
xAxisLabel: '',
xAxisShowminmax: false,
xTicksLayout: 'auto',
yAxisBounds: [null, null],
yAxisFormat: '.3s',
yLogScale: false,
}}
/>
);

View File

@@ -1,54 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
import data from '../data';
export const barWithValues = () => (
<SuperChart
chartType={VizType.LegacyBar}
width={400}
height={400}
datasource={dummyDatasource}
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',
metrics: ['sum__SP_POP_TOTL'],
richTooltip: true,
showBarValue: false,
showBrush: 'auto',
showControls: false,
showLegend: true,
stackedStyle: 'stack',
vizType: VizType.LegacyBar,
xAxisFormat: '%Y',
xAxisLabel: '',
xAxisShowminmax: false,
xTicksLayout: 'auto',
yAxisBounds: [null, null],
yAxisFormat: '.3s',
yLogScale: false,
}}
/>
);

View File

@@ -1,54 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
import data from '../data';
export const basic = () => (
<SuperChart
chartType={VizType.LegacyBar}
width={400}
height={400}
datasource={dummyDatasource}
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',
metrics: ['sum__SP_POP_TOTL'],
richTooltip: true,
showBarValue: false,
showBrush: 'auto',
showControls: false,
showLegend: true,
stackedStyle: 'stack',
vizType: VizType.LegacyBar,
xAxisFormat: '%Y',
xAxisLabel: '',
xAxisShowminmax: false,
xTicksLayout: 'auto',
yAxisBounds: [null, null],
yAxisFormat: '.3s',
yLogScale: false,
}}
/>
);

View File

@@ -1,55 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
import data from '../data';
export const stackedBarWithValues = () => (
<SuperChart
chartType={VizType.LegacyBar}
width={400}
height={400}
datasource={dummyDatasource}
queriesData={[{ data }]}
formData={{
barStacked: true,
bottomMargin: 'auto',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',
metrics: ['sum__SP_POP_TOTL'],
richTooltip: true,
showBarValue: true,
showBrush: 'auto',
showControls: false,
showLegend: true,
stackedStyle: 'stack',
vizType: VizType.LegacyBar,
xAxisFormat: '%Y',
xAxisLabel: '',
xAxisShowminmax: false,
xTicksLayout: 'auto',
yAxisBounds: [null, null],
yAxisFormat: '.3s',
yLogScale: false,
}}
/>
);

View File

@@ -1,112 +0,0 @@
/*
* 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.
*/
/* eslint-disable sort-keys, no-magic-numbers */
export default [
{
key: 'sum__sum_boys',
values: [
{
x: 'CA',
y: 5430796,
},
{
x: 'TX',
y: 3311985,
},
{
x: 'NY',
y: 3543961,
},
{
x: 'OH',
y: 2376385,
},
{
x: 'PA',
y: 2390275,
},
{
x: 'IL',
y: 2357411,
},
{
x: 'MI',
y: 1938321,
},
{
x: 'FL',
y: 1968060,
},
{
x: 'NJ',
y: 1486126,
},
{
x: 'MA',
y: 1285126,
},
],
},
{
key: 'sum__sum_girls',
values: [
{
x: 'CA',
y: 3567754,
},
{
x: 'TX',
y: 2313186,
},
{
x: 'NY',
y: 2280733,
},
{
x: 'OH',
y: 1622814,
},
{
x: 'PA',
y: 1615383,
},
{
x: 'IL',
y: 1614427,
},
{
x: 'MI',
y: 1326229,
},
{
x: 'FL',
y: 1312593,
},
{
x: 'NJ',
y: 992702,
},
{
x: 'MA',
y: 842146,
},
],
},
];

View File

@@ -1,48 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
import data from '../data';
export const basic = () => (
<SuperChart
chartType="dist-bar"
width={400}
height={400}
datasource={dummyDatasource}
queriesData={[{ data }]}
formData={{
barstacked: false,
bottomMargin: 'auto',
colorScheme: 'd3Category10',
contribution: false,
orderBars: false,
reduceXTicks: false,
showBarValue: false,
showControls: false,
showLegend: true,
vizType: VizType.DistBar,
xAxisLabel: 'ddd',
xTicksLayout: 'auto',
yAxisFormat: '.3s',
yAxisLabel: 'ddd',
}}
/>
);

View File

@@ -1,58 +0,0 @@
/*
* 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 { SuperChart, VizType, seedRandom } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
const data: {
key: string;
values: {
x: string;
y: number;
}[];
}[] = [{ key: 'sth', values: [] }];
const LONG_LABEL =
'some extremely ridiculously extremely extremely extremely ridiculously extremely extremely ridiculously extremely extremely ridiculously extremely long category';
for (let i = 0; i < 50; i += 1) {
data[0].values.push({
x: `${LONG_LABEL.substring(
0,
Math.round(seedRandom() * LONG_LABEL.length),
)} ${i + 1}`,
y: Math.round(seedRandom() * 10000),
});
}
export const manyBars = () => (
<SuperChart
chartType="dist-bar"
width={400}
height={400}
datasource={dummyDatasource}
queriesData={[{ data }]}
formData={{
colorScheme: 'd3Category10',
showBarValue: false,
showLegend: true,
vizType: VizType.DistBar,
xTicksLayout: 'auto',
}}
/>
);

View File

@@ -1,927 +0,0 @@
/*
* 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.
*/
/* eslint-disable sort-keys, no-magic-numbers */
export default [
{
key: ['Christopher'],
values: [
{
x: -157766400000.0,
y: 24703,
},
{
x: -126230400000.0,
y: 27861,
},
{
x: -94694400000.0,
y: 29436,
},
{
x: -63158400000.0,
y: 31463,
},
{
x: -31536000000.0,
y: 35718,
},
{
x: 0.0,
y: 41758,
},
{
x: 31536000000.0,
y: 48172,
},
{
x: 63072000000.0,
y: 52092,
},
{
x: 94694400000.0,
y: 48217,
},
{
x: 126230400000.0,
y: 48476,
},
{
x: 157766400000.0,
y: 46438,
},
{
x: 189302400000.0,
y: 45086,
},
{
x: 220924800000.0,
y: 46610,
},
{
x: 252460800000.0,
y: 47107,
},
{
x: 283996800000.0,
y: 50514,
},
{
x: 315532800000.0,
y: 48969,
},
{
x: 347155200000.0,
y: 50108,
},
{
x: 378691200000.0,
y: 59055,
},
{
x: 410227200000.0,
y: 59188,
},
{
x: 441763200000.0,
y: 59859,
},
{
x: 473385600000.0,
y: 59516,
},
{
x: 504921600000.0,
y: 56633,
},
{
x: 536457600000.0,
y: 54466,
},
{
x: 567993600000.0,
y: 52996,
},
{
x: 599616000000.0,
y: 53205,
},
{
x: 631152000000.0,
y: 52322,
},
{
x: 662688000000.0,
y: 47109,
},
{
x: 694224000000.0,
y: 42470,
},
{
x: 725846400000.0,
y: 38257,
},
{
x: 757382400000.0,
y: 34823,
},
{
x: 788918400000.0,
y: 32728,
},
{
x: 820454400000.0,
y: 30988,
},
{
x: 852076800000.0,
y: 29179,
},
{
x: 883612800000.0,
y: 27083,
},
{
x: 915148800000.0,
y: 25700,
},
{
x: 946684800000.0,
y: 24959,
},
{
x: 978307200000.0,
y: 23180,
},
{
x: 1009843200000.0,
y: 21731,
},
{
x: 1041379200000.0,
y: 20793,
},
{
x: 1072915200000.0,
y: 19739,
},
{
x: 1104537600000.0,
y: 19190,
},
{
x: 1136073600000.0,
y: 19674,
},
{
x: 1167609600000.0,
y: 19986,
},
{
x: 1199145600000.0,
y: 17771,
},
],
},
{
key: ['David'],
values: [
{
x: -157766400000.0,
y: 67646,
},
{
x: -126230400000.0,
y: 66207,
},
{
x: -94694400000.0,
y: 66581,
},
{
x: -63158400000.0,
y: 63531,
},
{
x: -31536000000.0,
y: 63502,
},
{
x: 0.0,
y: 61570,
},
{
x: 31536000000.0,
y: 52948,
},
{
x: 63072000000.0,
y: 46218,
},
{
x: 94694400000.0,
y: 40968,
},
{
x: 126230400000.0,
y: 41654,
},
{
x: 157766400000.0,
y: 39019,
},
{
x: 189302400000.0,
y: 39165,
},
{
x: 220924800000.0,
y: 40407,
},
{
x: 252460800000.0,
y: 40533,
},
{
x: 283996800000.0,
y: 41898,
},
{
x: 315532800000.0,
y: 41743,
},
{
x: 347155200000.0,
y: 40486,
},
{
x: 378691200000.0,
y: 40283,
},
{
x: 410227200000.0,
y: 39048,
},
{
x: 441763200000.0,
y: 38346,
},
{
x: 473385600000.0,
y: 38395,
},
{
x: 504921600000.0,
y: 37021,
},
{
x: 536457600000.0,
y: 36672,
},
{
x: 567993600000.0,
y: 35214,
},
{
x: 599616000000.0,
y: 35139,
},
{
x: 631152000000.0,
y: 33661,
},
{
x: 662688000000.0,
y: 30347,
},
{
x: 694224000000.0,
y: 28344,
},
{
x: 725846400000.0,
y: 26947,
},
{
x: 757382400000.0,
y: 24784,
},
{
x: 788918400000.0,
y: 22967,
},
{
x: 820454400000.0,
y: 22941,
},
{
x: 852076800000.0,
y: 21824,
},
{
x: 883612800000.0,
y: 20816,
},
{
x: 915148800000.0,
y: 20267,
},
{
x: 946684800000.0,
y: 19695,
},
{
x: 978307200000.0,
y: 19281,
},
{
x: 1009843200000.0,
y: 18600,
},
{
x: 1041379200000.0,
y: 18557,
},
{
x: 1072915200000.0,
y: 18315,
},
{
x: 1104537600000.0,
y: 18017,
},
{
x: 1136073600000.0,
y: 17510,
},
{
x: 1167609600000.0,
y: 17400,
},
{
x: 1199145600000.0,
y: 16049,
},
],
},
{
key: ['James'],
values: [
{
x: -157766400000.0,
y: 67506,
},
{
x: -126230400000.0,
y: 65036,
},
{
x: -94694400000.0,
y: 61554,
},
{
x: -63158400000.0,
y: 60584,
},
{
x: -31536000000.0,
y: 59824,
},
{
x: 0.0,
y: 61597,
},
{
x: 31536000000.0,
y: 54463,
},
{
x: 63072000000.0,
y: 46960,
},
{
x: 94694400000.0,
y: 42782,
},
{
x: 126230400000.0,
y: 41258,
},
{
x: 157766400000.0,
y: 39471,
},
{
x: 189302400000.0,
y: 38203,
},
{
x: 220924800000.0,
y: 39916,
},
{
x: 252460800000.0,
y: 39783,
},
{
x: 283996800000.0,
y: 39237,
},
{
x: 315532800000.0,
y: 39185,
},
{
x: 347155200000.0,
y: 38176,
},
{
x: 378691200000.0,
y: 38750,
},
{
x: 410227200000.0,
y: 36228,
},
{
x: 441763200000.0,
y: 35728,
},
{
x: 473385600000.0,
y: 35750,
},
{
x: 504921600000.0,
y: 33955,
},
{
x: 536457600000.0,
y: 32552,
},
{
x: 567993600000.0,
y: 32418,
},
{
x: 599616000000.0,
y: 32658,
},
{
x: 631152000000.0,
y: 32288,
},
{
x: 662688000000.0,
y: 30460,
},
{
x: 694224000000.0,
y: 28450,
},
{
x: 725846400000.0,
y: 26193,
},
{
x: 757382400000.0,
y: 24706,
},
{
x: 788918400000.0,
y: 22691,
},
{
x: 820454400000.0,
y: 21122,
},
{
x: 852076800000.0,
y: 20368,
},
{
x: 883612800000.0,
y: 19651,
},
{
x: 915148800000.0,
y: 18508,
},
{
x: 946684800000.0,
y: 17939,
},
{
x: 978307200000.0,
y: 17023,
},
{
x: 1009843200000.0,
y: 16905,
},
{
x: 1041379200000.0,
y: 16832,
},
{
x: 1072915200000.0,
y: 16459,
},
{
x: 1104537600000.0,
y: 16046,
},
{
x: 1136073600000.0,
y: 16139,
},
{
x: 1167609600000.0,
y: 15821,
},
{
x: 1199145600000.0,
y: 14920,
},
],
},
{
key: ['John'],
values: [
{
x: -157766400000.0,
y: 71390,
},
{
x: -126230400000.0,
y: 64858,
},
{
x: -94694400000.0,
y: 61480,
},
{
x: -63158400000.0,
y: 60754,
},
{
x: -31536000000.0,
y: 58644,
},
{
x: 0.0,
y: 58348,
},
{
x: 31536000000.0,
y: 51382,
},
{
x: 63072000000.0,
y: 43028,
},
{
x: 94694400000.0,
y: 39061,
},
{
x: 126230400000.0,
y: 37553,
},
{
x: 157766400000.0,
y: 34970,
},
{
x: 189302400000.0,
y: 33876,
},
{
x: 220924800000.0,
y: 34103,
},
{
x: 252460800000.0,
y: 33895,
},
{
x: 283996800000.0,
y: 35305,
},
{
x: 315532800000.0,
y: 35131,
},
{
x: 347155200000.0,
y: 34761,
},
{
x: 378691200000.0,
y: 34560,
},
{
x: 410227200000.0,
y: 33047,
},
{
x: 441763200000.0,
y: 32484,
},
{
x: 473385600000.0,
y: 31397,
},
{
x: 504921600000.0,
y: 30103,
},
{
x: 536457600000.0,
y: 29462,
},
{
x: 567993600000.0,
y: 29301,
},
{
x: 599616000000.0,
y: 29751,
},
{
x: 631152000000.0,
y: 29011,
},
{
x: 662688000000.0,
y: 27727,
},
{
x: 694224000000.0,
y: 26156,
},
{
x: 725846400000.0,
y: 24918,
},
{
x: 757382400000.0,
y: 24119,
},
{
x: 788918400000.0,
y: 23174,
},
{
x: 820454400000.0,
y: 22104,
},
{
x: 852076800000.0,
y: 21330,
},
{
x: 883612800000.0,
y: 20556,
},
{
x: 915148800000.0,
y: 20280,
},
{
x: 946684800000.0,
y: 20032,
},
{
x: 978307200000.0,
y: 18839,
},
{
x: 1009843200000.0,
y: 17400,
},
{
x: 1041379200000.0,
y: 17170,
},
{
x: 1072915200000.0,
y: 16381,
},
{
x: 1104537600000.0,
y: 15692,
},
{
x: 1136073600000.0,
y: 15083,
},
{
x: 1167609600000.0,
y: 14348,
},
{
x: 1199145600000.0,
y: 13110,
},
],
},
{
key: ['Michael'],
values: [
{
x: -157766400000.0,
y: 80812,
},
{
x: -126230400000.0,
y: 79709,
},
{
x: -94694400000.0,
y: 82204,
},
{
x: -63158400000.0,
y: 81785,
},
{
x: -31536000000.0,
y: 84893,
},
{
x: 0.0,
y: 85015,
},
{
x: 31536000000.0,
y: 77321,
},
{
x: 63072000000.0,
y: 71197,
},
{
x: 94694400000.0,
y: 67598,
},
{
x: 126230400000.0,
y: 67304,
},
{
x: 157766400000.0,
y: 68149,
},
{
x: 189302400000.0,
y: 66686,
},
{
x: 220924800000.0,
y: 67344,
},
{
x: 252460800000.0,
y: 66875,
},
{
x: 283996800000.0,
y: 67473,
},
{
x: 315532800000.0,
y: 68375,
},
{
x: 347155200000.0,
y: 68467,
},
{
x: 378691200000.0,
y: 67904,
},
{
x: 410227200000.0,
y: 67708,
},
{
x: 441763200000.0,
y: 67457,
},
{
x: 473385600000.0,
y: 64667,
},
{
x: 504921600000.0,
y: 63959,
},
{
x: 536457600000.0,
y: 63442,
},
{
x: 567993600000.0,
y: 63924,
},
{
x: 599616000000.0,
y: 65233,
},
{
x: 631152000000.0,
y: 65138,
},
{
x: 662688000000.0,
y: 60646,
},
{
x: 694224000000.0,
y: 54216,
},
{
x: 725846400000.0,
y: 49443,
},
{
x: 757382400000.0,
y: 44361,
},
{
x: 788918400000.0,
y: 41311,
},
{
x: 820454400000.0,
y: 38284,
},
{
x: 852076800000.0,
y: 37459,
},
{
x: 883612800000.0,
y: 36525,
},
{
x: 915148800000.0,
y: 33820,
},
{
x: 946684800000.0,
y: 31956,
},
{
x: 978307200000.0,
y: 29612,
},
{
x: 1009843200000.0,
y: 28156,
},
{
x: 1041379200000.0,
y: 27031,
},
{
x: 1072915200000.0,
y: 25418,
},
{
x: 1104537600000.0,
y: 23678,
},
{
x: 1136073600000.0,
y: 22498,
},
{
x: 1167609600000.0,
y: 21805,
},
{
x: 1199145600000.0,
y: 20271,
},
],
},
];

View File

@@ -1,52 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
import data from '../data';
export const basic = () => (
<SuperChart
chartType={VizType.LegacyLine}
width={400}
height={400}
datasource={dummyDatasource}
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorScheme: 'd3Category10',
leftMargin: 'auto',
lineInterpolation: 'linear',
richTooltip: true,
showBrush: 'auto',
showLegend: true,
showMarkers: false,
vizType: VizType.LegacyLine,
xAxisFormat: 'smart_date',
xAxisLabel: '',
xAxisShowminmax: false,
xTicksLayout: 'auto',
yAxisBounds: [null, null],
yAxisFormat: '.3s',
yAxisLabel: '',
yAxisShowminmax: false,
yLogScale: false,
}}
/>
);

View File

@@ -1,52 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
import data from '../data';
export const markers = () => (
<SuperChart
chartType={VizType.LegacyLine}
width={400}
height={400}
datasource={dummyDatasource}
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorScheme: 'd3Category10',
leftMargin: 'auto',
lineInterpolation: 'linear',
richTooltip: true,
showBrush: 'auto',
showLegend: true,
showMarkers: true,
vizType: VizType.LegacyLine,
xAxisFormat: 'smart_date',
xAxisLabel: '',
xAxisShowminmax: false,
xTicksLayout: 'auto',
yAxisBounds: [null, null],
yAxisFormat: '.3s',
yAxisLabel: '',
yAxisShowminmax: false,
yLogScale: false,
}}
/>
);

View File

@@ -1,97 +0,0 @@
/*
* 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 { SuperChart, VizType } from '@superset-ui/core';
import dummyDatasource from '../../../../../shared/dummyDatasource';
import data from '../data';
export const yAxisBounds = () => (
<div className="container">
<h2>yAxisBounds</h2>
<pre>yAxisBounds=undefined</pre>
<SuperChart
chartType={VizType.LegacyLine}
width={400}
height={200}
datasource={dummyDatasource}
queriesData={[{ data }]}
formData={{
richTooltip: true,
showLegend: false,
vizType: VizType.LegacyLine,
}}
/>
<pre>yAxisBounds=[0, 60000]</pre>
<SuperChart
chartType={VizType.LegacyLine}
width={400}
height={200}
datasource={dummyDatasource}
queriesData={[{ data }]}
formData={{
richTooltip: true,
showLegend: false,
vizType: VizType.LegacyLine,
yAxisBounds: [0, 60000],
}}
/>
<pre>yAxisBounds=[null, 60000]</pre>
<SuperChart
chartType={VizType.LegacyLine}
width={400}
height={200}
datasource={dummyDatasource}
queriesData={[{ data }]}
formData={{
richTooltip: true,
showLegend: false,
vizType: VizType.LegacyLine,
yAxisBounds: [null, 60000],
}}
/>
<pre>yAxisBounds=[40000, null]</pre>
<SuperChart
chartType={VizType.LegacyLine}
width={400}
height={200}
datasource={dummyDatasource}
queriesData={[{ data }]}
formData={{
richTooltip: true,
showLegend: false,
vizType: VizType.LegacyLine,
yAxisBounds: [40000, null],
}}
/>
<pre>yAxisBounds=[40000, null] with Legend</pre>
<SuperChart
chartType={VizType.LegacyLine}
width={400}
height={200}
datasource={dummyDatasource}
queriesData={[{ data }]}
formData={{
richTooltip: true,
showLegend: true,
vizType: VizType.LegacyLine,
yAxisBounds: [40000, null],
}}
/>
</div>
);

Some files were not shown because too many files have changed in this diff Show More