This is an automated email from the ASF dual-hosted git repository.
maximebeauchemin pushed a change to branch folder-api
in repository https://gitbox.apache.org/repos/asf/superset.git
from 06f50d074a Remove folders from response
add 974d36d35e chore(deps): bump jinja2 from 3.1.5 to 3.1.6 in
/superset/translations (#32580)
add eb39ddbfe3 feat(docs): Adding Kapa.ai integration (#32682)
add a49a15f990 chore(docs): remove customized "Edit this page on GitHub"
button (#32407)
add c9e2c7037e feat: Implement sparse import for ImportAssetsCommand
(#32670)
add 449f51aed5 fix(log): Update recent_activity by event name (#32681)
add df06bdf33b fix: Signature of Celery pruner jobs (#32699)
add 414cdbf83a fix(no-restricted-imports): Fix overrides and include
no-fa-icons-usage (#32571)
add 9c62456487 chore: add Oxylabs to INTHEWILD.md (#32697)
add 890b6079b9 build(dev-deps): bump prettier to v3.5.3 and follow-up
refactor (#32688)
add a87bedf31a docs(api): correct attribute `name` instead of `table` for
GET table_metadata in openapi.json (#32690)
add f1a222d356 fix(cosmetics): allow toast message to be toggled off when
modal is opened (#32691)
add 6a13ab8920 fix(spreadsheet uploads): make file extension comparisons
case-insensitive (#32696)
add 06deaebe19 fix(docs): poking a CSP hole for Kapa AI widget (#32704)
add 41bf215367 fix: boolean filters in Explore (#32701)
add 3e69ba1384 fix(repo): re-enable GitHub Discussions (#32703)
add b4602aaf28 chore(asf): fixing(?) `.asf.yaml` (#32709)
add cd5a94305c fix(logging): missing path in event data (#32708)
add 4adf44a43c chore(asf): Removing notifications from `.asf.yaml` - they
still don't work :( (#32710)
add e35145c816 feat(file uploads): List only allowed schemas in the file
uploads dialog (#32702)
add 1684ddc7e6 chore(asf): trying to fix `.asf.yaml` again to re-enable
Discussions (#32712)
add 34cd741e9b fix(docs): Fixes scrolling issue with AI widget on docs
site (#32713)
add f0c8c12c1a chore(docs): touching up AI styling/text (#32689)
add 78d2a584b7 chore(asf): Another `.asf.yaml` touch-up. (#32714)
add a2c164a77d chore(helm): bump postgresql image tag in helm values
(#32686)
add 99e69c32ee fix: coerce datetime conversion errors (#32683)
add d71e655a4b fix(docs): allow recaptcha in CSP (#32724)
add cc0097c87a fix(asf): moving notifications to the top of `.asf.yaml`
(#32726)
add e34644d983 fix(docs): poking ANOTHER hole in the CSP for the AI bot.
(#32727)
add c399295a4e fix(docs): Another CSP hole for run.app to allow Kapa AI
(#32728)
add 6612343f33 Revert "fix(asf): moving notifications to the top of
`.asf.yaml`" (#32730)
add 710af87faf Revert "Revert "fix(asf): moving notifications to the top
of `.asf.yaml`"" (#32732)
add 850801f510 feat(where_in): Support returning None if filter_values
return None (#32731)
add bc3e19d0a2 fix(import): Ensure import exceptions are logged (#32410)
add 3f1ef2a283 chore(🦾): bump python greenlet (#31247)
add 9e3052968b fix: ensure datasource permission in explore (#32679)
add ce6d5f5551 refactor(Icons): Replaces custom icons with Ant Design 5
icons (#32112)
add 4dd318ca68 chore(🦾): bump python flask-appbuilder subpackage(s)
(#31251)
add b26c373f4d chore(lang): update and fix french translations (#32711)
add 66c1a6a875 chore(🦾): bump python sqlglot 26.1.3 -> 26.11.1 (#32745)
add 121e424a7f chore(🦾): bump python celery subpackage(s) (#32743)
add 09ee3e2a1d chore(🦾): bump python shillelagh subpackage(s) (#31255)
add 29b62f7c0a fix(contextmenu): uncaught TypeError (#28203)
add 4f166a03f5 chore(🦾): bump python slack-sdk 3.34.0 -> 3.35.0 (#32742)
add c6e0abbe13 chore: replaced the workflow badge link (#32749)
add e9d5079986 chore(🦾): bump python flask-appbuilder subpackage(s)
(#32744)
add 78efb62781 fix: Changing language doesn't affect echarts charts
(#31751)
add 6042ea8f28 feat(embedded): Force a specific referrerPolicy for the
iframe request (#32735)
add 376a1f49d3 fix(migrations): fix foreign keys to match FAB 4.6.0 tables
(#32759)
add 89ce7ba0b0 fix: do not add calculated columns when syncing (#32761)
add 5392bafe28 feat(FormModal): Specialized Modal component for forms
(#32721)
add d319543377 fix(chart control): Change default of "Y Axis Title Margin"
(#32720)
add 01801e3c36 fix(sqllab): Pass query_id as kwarg so backoff can see it
(#32774)
add 5866f3ec83 fix(import): Missing catalog field in saved query schema
(#32775)
add 5ec710efc6 fix(css): typos in styles (#28350)
add 9bb3a5782d fix(config): correct slack image url in talisman (#32778)
add c0f83a7467 fix(excel export): big number truncation handling (#32739)
add ff0529c932 fix(model/helper): represent RLS filter clause in proper
textual SQL string (#32406)
add a82f916a71 fix(sec): resolve CVE-2025-29907 and CVE-2025-25977 by
pinning `jspdf` to v3 (#32802)
add f4a05a5ffd fix(docs): scrollable table of content right bar in
Superset docs (#32801)
add c6c9114b40 fix: CSV/Excel upload form change column dates description
(#32797)
add cedd186c21 feat(Jinja): to_datetime filter (#32781)
add b339d7ad20 chore(🦾): bump python click-option-group 0.5.6 -> 0.5.7
(#32825)
add fd4e45aafc chore(🦾): bump python shillelagh subpackage(s) (#32828)
add 7bc349c3c3 chore(🦾): bump python pyparsing 3.2.1 -> 3.2.2 (#32827)
add b7435f84f0 chore(🦾): bump python humanize 4.12.1 -> 4.12.2 (#32826)
add 6b96b37c38 feat: Add current_user_roles() Jinja macro (#32770)
add 6f69c84d10 fix: key error in frontend on disallowed GSheets (#32792)
add 7d77dc4fd2 fix: Time Comparison Feature Reverts Metric Labels to
Metric Keys in Table Charts (#32665)
add 4a70065e5f fix(log): store navigation path to get correct logging path
(#32795)
add b5cb5f4525 chore: updating files for release 4.1.2 (#32831)
add b624919d2f fix: Bump FAB to 4.6.1 (#32848)
add 45ea11c1b6 docs: added a link to badge releases (#32822)
add 5222f940cc fix(echarts): Sort series by name using naturalCompare
(#32850)
add 68a81c3989 fix: update dataset/query catalog on DB changes (#32829)
add 6c7f089ebb fix(translation): Dutch translations for Current datetime
filter (#31869)
add f0dc1e7527 fix(table-chart): Do not show comparison columns config if
time_compare is set to [] (#32863)
add b1693f625a chore: Removes unused file (#32860)
add 37f626f5e2 fix(ColorPickerControl): change color picker control width
(#32851)
add 50fe7483ae chore: update migrations to use utils (#32852)
add 103fedaf92 fix: use role_model from security manager (#32873)
add e0ed652ed8 fix(backend/async_events): allow user to configure username
for Redis authentication in GLOBAL_ASYNC_QUERIES_CACHE_BACKEND (#32372)
add ab22bb1878 fix(Jinja): Emit time grain to table charts even if they
don't have a temporal column (#32871)
add 6e1d1ad18b refactor(Icons): Add typing support and improve structure
(#32880)
add c2afae51cb chore(🦾): bump python grpcio 1.68.0 -> 1.71.0 (#32901)
add f2c0686346 feat: Add Aggregation Method for Big Number with Trendline
(#32767)
add 174750c9dd refactor(jinja macro): Update current_user_roles() macro to
fetch roles from existing get_user_roles() method (#32888)
add a4a092794a feat(chart controls): Add "%d.%m.%Y" time format option
(#32814)
add 8f35a3ec8c feat(plugins): Make comparison values on
BigNumberPeriodOverPeriod toggleable (#28605)
add b92909d621 feat: Enable passing a permalink to
cache_dashboard_screenshot endpoint (#32900)
add 56bf17f879 fix(sqllab): Invalid display of table column keys (#32763)
add 662f0fa8f4 chore(reports): add task for slack channels warm-up (#32585)
add 6e02d19b0d fix: make packages PEP 625 compliant (#32866)
add be4bc3dec5 chore(deps-dev): bump ts-jest from 29.2.5 to 29.3.1 in
/superset-websocket (#32924)
add a8a6254ea2 chore(deps-dev): bump @typescript-eslint/parser from 8.19.0
to 8.29.0 in /superset-websocket (#32925)
add 8b0bda3bad chore(deps): update @types/react-redux requirement from
^7.1.10 to ^7.1.34 in /superset-frontend/plugins/plugin-chart-echarts (#32927)
add 26743dfcee fix: Clicking in the body of a Markdown component does not
put it into edit mode (#32384)
add e1c1de1b94 chore(deps-dev): bump css-minimizer-webpack-plugin from
7.0.0 to 7.0.2 in /superset-frontend (#32937)
add 2bc33beec4 chore(deps-dev): bump @babel/compat-data from 7.26.5 to
7.26.8 in /superset-frontend (#32939)
add 00933a27af chore(deps): bump swagger-ui-react from 5.20.0 to 5.20.2 in
/docs (#32950)
add 8eeed49547 chore(deps): bump antd from 5.24.2 to 5.24.5 in /docs
(#32951)
add f5d3627468 chore(deps-dev): bump eslint-config-prettier from 10.0.2 to
10.1.1 in /docs (#32952)
add a36e636a58 fix(pivot-table): Revert "fix(Pivot Table): Fix column
width to respect currency config (#31414)" (#32968)
add c83eda9551 feat: add latest partition support for BigQuery (#30760)
add 4f0020d0df feat(List Roles): Migrate FAB view to React (#32432)
add f5d64176f6 fix: fixed Add Metrics to Tree Chart (#29158) (#30679)
add bc0bf94680 chore: bump marshmallow-sqlalchemy to 1.4.0 (#32922)
add 86b795cd36 feat(embedding-sdk): emit data-mask events through embedded
sdk to iframe parent (#31331)
add 24b1666273 fix: Bar Chart (legacy) migration to keep labels layout
(#32965)
add 63c8bbf3eb fix(frontend): add missing antd-5 icon to import (#32990)
add bcb43327b1 fix: `show_filters` URL parameter is not working (#29422)
add 4041150660 feat: Add getDataMask function to embedded SDK (#32997)
add db959a6463 chore(Databricks): Display older Databricks driver as
legacy (#33001)
add 629b137bb0 fix(dashboard): chart fullscreen issue when filter pane is
collapsed (#28428)
add b6df88a134 fix: fix bug where dashboard did not enter fullscreen mode.
(#32839)
add c131205ff1 docs: Update documentation about publishing a dashboard
(#32999)
add e1383d3821 refactor(IconButton): Refactor IconButton to use Ant Design
5 Card (#32890)
add fd947a097d feat(tags): Export and Import Functionality for Superset
Dashboards and Charts (#30833)
add 9b15e04bc4 fix(log): Missing failed query log on async queries (#33024)
add 15969fdf94 docs: add WinWin Network(马上赢) to users list (#33018)
add 5a8eab3b25 chore(deps): bump estree-util-value-to-estree from 3.1.1 to
3.3.3 in /docs (#33028)
add 2fabddedaa Merge branch 'master' into folder-api
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 8 +
.github/ISSUE_TEMPLATE/bug-report.yml | 2 +-
.gitignore | 1 +
.pre-commit-config.yaml | 2 +-
CHANGELOG/4.1.1.md | 50 +
CHANGELOG/4.1.2.md | 83 +
README.md | 18 +-
RELEASING/Dockerfile.from_local_tarball | 26 +-
RELEASING/Dockerfile.from_svn_tarball | 24 +-
RELEASING/README.md | 12 +-
RELEASING/email_templates/announce.j2 | 2 +-
RELEASING/make_tarball.sh | 2 +-
RELEASING/make_tarball_entrypoint.sh | 2 +-
RELEASING/set_release_env.sh | 4 +-
RELEASING/test_run_tarball.sh | 2 +-
RELEASING/validate_this_release.sh | 2 +-
RESOURCES/INTHEWILD.md | 2 +
UPDATING.md | 8 +-
docker/.env | 1 -
docs/docs/configuration/databases.mdx | 2 +-
docs/docs/configuration/networking-settings.mdx | 2 +-
docs/docs/configuration/sql-templating.mdx | 64 +
docs/docs/contributing/contributing.mdx | 4 +-
docs/docs/installation/pypi.mdx | 6 +-
docs/docs/installation/upgrading-superset.mdx | 2 +-
docs/docs/security/security.mdx | 43 +
.../creating-your-first-dashboard.mdx | 33 +-
docs/docusaurus.config.ts | 24 +
docs/package.json | 6 +-
docs/src/styles/custom.css | 1 -
docs/src/styles/main.less | 10 -
docs/src/theme/DocItem/index.js | 61 -
docs/static/.htaccess | 2 +-
.../img/tutorial/publish_button_dashboard.png | Bin 0 -> 85940 bytes
docs/static/resources/openapi.json | 2 +-
docs/yarn.lock | 457 +-
helm/superset/Chart.lock | 4 +-
helm/superset/Chart.yaml | 2 +-
helm/superset/README.md | 2 +-
helm/superset/values.yaml | 2 +-
null_byte.csv | Bin 6 -> 0 bytes
pyproject.toml | 4 +-
requirements/base.in | 10 +
requirements/base.txt | 81 +-
requirements/development.txt | 101 +-
requirements/translations.txt | 2 +-
setup.py | 1 +
superset-embedded-sdk/README.md | 12 +-
superset-embedded-sdk/src/index.ts | 163 +-
superset-frontend/.eslintrc.js | 138 +-
.../cypress/applitools/chartlist.test.ts | 4 +-
.../cypress/applitools/dashboardlist.test.ts | 4 +-
.../cypress/e2e/chart_list/list.test.ts | 6 +-
.../cypress/e2e/dashboard/_skip.controls.test.ts | 4 +-
.../cypress/e2e/dashboard/actions.test.js | 35 +-
.../cypress/e2e/dashboard/drillby.test.ts | 36 +-
.../cypress/e2e/dashboard/drilltodetail.test.ts | 16 +-
.../cypress/e2e/dashboard_list/list.test.ts | 13 +-
.../cypress-base/cypress/support/directories.ts | 28 +-
.../cypress-base/cypress/utils/index.ts | 8 +-
.../index.js | 38 +-
.../no-fontawesome.test.js} | 29 +-
.../package.json | 4 +-
superset-frontend/package-lock.json | 83 +-
superset-frontend/package.json | 10 +-
.../components/ColumnTypeLabel/ColumnTypeLabel.tsx | 22 +-
.../src/components/ControlHeader.tsx | 6 +
.../src/components/ControlSubSectionHeader.tsx | 10 +-
.../{histogramOperator.ts => aggregateOperator.ts} | 48 +-
.../src/operators/index.ts | 1 +
.../src/sections/chartTitle.tsx | 2 +-
.../src/shared-controls/customControls.tsx | 26 +
.../src/shared-controls/index.ts | 1 +
.../src/utils/D3Formatting.ts | 1 +
.../test/operators/aggregateOperator.test.ts | 121 +
.../test/operators/timeCompareOperator.test.ts | 2 +-
.../src/query/types/PostProcessing.ts | 4 +-
.../test/query/types/PostProcessing.test.ts | 2 +-
.../test/time-comparison/getComparisonInfo.test.ts | 24 +-
.../plugins/plugin-chart-echarts/package.json | 5 +-
.../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx | 95 +-
.../BigNumberPeriodOverPeriod/controlPanel.ts | 38 +-
.../BigNumberPeriodOverPeriod/transformProps.ts | 2 +
.../BigNumber/BigNumberPeriodOverPeriod/types.ts | 5 +
.../BigNumber/BigNumberWithTrendline/buildQuery.ts | 15 +
.../BigNumberWithTrendline/controlPanel.tsx | 2 +
.../BigNumberWithTrendline/transformProps.ts | 82 +-
.../src/Bubble/transformProps.ts | 4 +-
.../src/Timeseries/Regular/Bar/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Tree/controlPanel.tsx | 6 +-
.../plugin-chart-echarts/src/components/Echart.tsx | 86 +-
.../plugins/plugin-chart-echarts/src/constants.ts | 2 +
.../plugin-chart-echarts/src/utils/series.ts | 12 +-
.../test/BigNumber/transformProps.test.ts | 185 +
.../plugin-chart-echarts/test/utils/series.test.ts | 111 +
.../src/PivotTableChart.tsx | 1 -
.../plugins/plugin-chart-table/src/TableChart.tsx | 8 +-
.../plugins/plugin-chart-table/src/buildQuery.ts | 5 -
.../plugin-chart-table/src/controlPanel.tsx | 5 +-
.../plugin-chart-table/src/transformProps.ts | 5 +
.../plugins/plugin-chart-table/src/types.ts | 2 +
.../plugin-chart-table/test/TableChart.test.tsx | 80 +
.../plugin-chart-table/test/buildQuery.test.ts | 9 -
.../fixtures/mockDatabases.ts} | 49 +-
superset-frontend/spec/helpers/setup.ts | 1 +
superset-frontend/spec/helpers/shim.tsx | 13 +-
superset-frontend/spec/helpers/testing-library.tsx | 3 +
superset-frontend/src/SqlLab/actions/sqlLab.js | 30 +-
.../src/SqlLab/actions/sqlLab.test.js | 10 +-
.../QueryAutoRefresh/QueryAutoRefresh.test.tsx | 69 +-
.../SqlLab/components/QueryAutoRefresh/index.tsx | 30 +-
.../SqlLab/components/QueryLimitSelect/index.tsx | 7 +-
.../src/SqlLab/components/QueryTable/index.tsx | 17 +-
.../src/SqlLab/components/ResultSet/index.tsx | 25 +-
.../components/RunQueryActionButton/index.tsx | 13 +-
.../SaveDatasetActionButton.test.tsx | 6 +-
.../components/SaveDatasetActionButton/index.tsx | 8 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 3 +-
.../SqlLab/components/SaveQuery/SaveQuery.test.tsx | 10 +-
.../src/SqlLab/components/SaveQuery/index.tsx | 2 +-
.../SqlLab/components/ShareSqlLabQuery/index.tsx | 29 +-
.../src/SqlLab/components/ShowSQL/index.tsx | 8 +-
.../src/SqlLab/components/SouthPane/index.tsx | 13 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 4 +-
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 4 +-
.../SqlLab/components/SqlEditorTabHeader/index.tsx | 96 +-
.../TabStatusIcon/TabStatusIcon.test.tsx | 36 -
.../src/SqlLab/components/TabStatusIcon/index.tsx | 78 -
.../SqlLab/components/TabbedSqlEditors/index.tsx | 25 +-
.../src/SqlLab/components/TableElement/index.tsx | 39 +-
.../src/SqlLab/components/TablePreview/index.tsx | 15 +-
.../src/assets/images/icons/alert.svg | Bin 1928 -> 0 bytes
.../src/assets/images/icons/alert_solid.svg | Bin 1572 -> 0 bytes
.../src/assets/images/icons/alert_solid_small.svg | Bin 2867 -> 0 bytes
.../src/assets/images/icons/area-chart-tile.svg | Bin 1614 -> 0 bytes
.../src/assets/images/icons/bar-chart-tile.svg | Bin 2141 -> 0 bytes
...er-chart-tile.svg => big_number_chart_tile.svg} | Bin
superset-frontend/src/assets/images/icons/bolt.svg | Bin 1565 -> 0 bytes
.../src/assets/images/icons/bolt_small.svg | Bin 1555 -> 0 bytes
.../src/assets/images/icons/bolt_small_run.svg | Bin 1442 -> 0 bytes
.../src/assets/images/icons/calendar.svg | Bin 2119 -> 0 bytes
.../src/assets/images/icons/cancel-x.svg | Bin 2078 -> 0 bytes
.../src/assets/images/icons/cancel.svg | Bin 2261 -> 0 bytes
.../src/assets/images/icons/cancel_solid.svg | Bin 2056 -> 0 bytes
.../src/assets/images/icons/card_view.svg | Bin 1822 -> 0 bytes
.../src/assets/images/icons/cards.svg | Bin 1756 -> 0 bytes
.../src/assets/images/icons/cards_locked.svg | Bin 2163 -> 0 bytes
.../src/assets/images/icons/caret_down.svg | Bin 1369 -> 0 bytes
.../src/assets/images/icons/caret_left.svg | Bin 1364 -> 0 bytes
.../src/assets/images/icons/caret_right.svg | Bin 1393 -> 0 bytes
.../src/assets/images/icons/caret_up.svg | Bin 1371 -> 0 bytes
.../src/assets/images/icons/check.svg | Bin 1404 -> 0 bytes
.../icons/{checkbox-half.svg => checkbox_half.svg} | Bin
.../icons/{checkbox-off.svg => checkbox_off.svg} | Bin
.../icons/{checkbox-on.svg => checkbox_on.svg} | Bin
.../src/assets/images/icons/circle.svg | Bin 1145 -> 0 bytes
.../src/assets/images/icons/circle_check.svg | Bin 1698 -> 0 bytes
.../src/assets/images/icons/circle_check_solid.svg | Bin 1629 -> 0 bytes
.../icons/{database.svg => circle_solid.svg} | Bin 1212 -> 1127 bytes
.../src/assets/images/icons/clock.svg | Bin 1639 -> 0 bytes
.../src/assets/images/icons/close.svg | Bin 1630 -> 0 bytes
superset-frontend/src/assets/images/icons/code.svg | Bin 1933 -> 0 bytes
superset-frontend/src/assets/images/icons/cog.svg | Bin 3125 -> 0 bytes
.../src/assets/images/icons/collapse.svg | Bin 1611 -> 0 bytes
.../src/assets/images/icons/color_palette.svg | Bin 1559 -> 0 bytes
.../src/assets/images/icons/components.svg | Bin 1898 -> 0 bytes
superset-frontend/src/assets/images/icons/copy.svg | Bin 1652 -> 0 bytes
.../src/assets/images/icons/cross-filter-badge.svg | Bin 1979 -> 0 bytes
.../assets/images/icons/current-rendered-tile.svg | Bin 2188 -> 0 bytes
.../src/assets/images/icons/cursor_target.svg | Bin 1889 -> 0 bytes
.../src/assets/images/icons/dataset_physical.svg | Bin 1317 -> 0 bytes
.../src/assets/images/icons/dataset_virtual.svg | Bin 1372 -> 0 bytes
.../images/icons/dataset_virtual_greyscale.svg | Bin 1271 -> 0 bytes
.../src/assets/images/icons/default_db_image.svg | Bin 3428 -> 0 bytes
.../src/assets/images/icons/download.svg | Bin 1742 -> 0 bytes
superset-frontend/src/assets/images/icons/edit.svg | Bin 1575 -> 0 bytes
.../src/assets/images/icons/edit_alt.svg | Bin 1637 -> 0 bytes
.../src/assets/images/icons/email.svg | Bin 1266 -> 0 bytes
.../src/assets/images/icons/error_solid.svg | Bin 1721 -> 0 bytes
.../src/assets/images/icons/error_solid_small.svg | Bin 1702 -> 0 bytes
.../src/assets/images/icons/exclamation.svg | Bin 1218 -> 0 bytes
.../src/assets/images/icons/expand.svg | Bin 1611 -> 0 bytes
superset-frontend/src/assets/images/icons/eye.svg | Bin 1707 -> 0 bytes
.../src/assets/images/icons/eye_slash.svg | Bin 2528 -> 0 bytes
.../src/assets/images/icons/favorite-selected.svg | Bin 1630 -> 0 bytes
.../assets/images/icons/favorite-unselected.svg | Bin 1865 -> 0 bytes
.../images/icons/favorite_small_selected.svg | Bin 1608 -> 0 bytes
.../src/assets/images/icons/field_abc.svg | Bin 2425 -> 0 bytes
.../src/assets/images/icons/field_boolean.svg | Bin 1466 -> 0 bytes
.../src/assets/images/icons/field_date.svg | Bin 1521 -> 0 bytes
.../src/assets/images/icons/field_derived.svg | Bin 2950 -> 0 bytes
.../src/assets/images/icons/field_num.svg | Bin 1045 -> 0 bytes
.../src/assets/images/icons/field_struct.svg | Bin 1924 -> 0 bytes
superset-frontend/src/assets/images/icons/file.svg | Bin 1365 -> 0 bytes
.../src/assets/images/icons/filter.svg | Bin 1520 -> 0 bytes
.../src/assets/images/icons/filter_small.svg | Bin 1360 -> 0 bytes
.../src/assets/images/icons/folder.svg | Bin 1439 -> 0 bytes
.../src/assets/images/icons/function_x.svg | Bin 2945 -> 0 bytes
superset-frontend/src/assets/images/icons/gear.svg | Bin 3052 -> 0 bytes
superset-frontend/src/assets/images/icons/grid.svg | Bin 1132 -> 0 bytes
.../src/assets/images/icons/image.svg | Bin 1477 -> 0 bytes
.../src/assets/images/icons/import.svg | Bin 1920 -> 0 bytes
.../src/assets/images/icons/info-solid.svg | Bin 1731 -> 0 bytes
superset-frontend/src/assets/images/icons/info.svg | Bin 1759 -> 0 bytes
.../src/assets/images/icons/info_solid_small.svg | Bin 1353 -> 0 bytes
superset-frontend/src/assets/images/icons/join.svg | Bin 1961 -> 0 bytes
.../src/assets/images/icons/keyboard.svg | Bin 2577 -> 0 bytes
.../src/assets/images/icons/lightbulb.svg | Bin 1783 -> 0 bytes
.../src/assets/images/icons/line-chart-tile.svg | Bin 1768 -> 0 bytes
superset-frontend/src/assets/images/icons/link.svg | Bin 2094 -> 0 bytes
superset-frontend/src/assets/images/icons/list.svg | Bin 2908 -> 0 bytes
.../src/assets/images/icons/list_view.svg | Bin 2936 -> 0 bytes
.../src/assets/images/icons/location.svg | Bin 1485 -> 0 bytes
.../src/assets/images/icons/lock_locked.svg | Bin 1549 -> 0 bytes
.../src/assets/images/icons/lock_unlocked.svg | Bin 1834 -> 0 bytes
superset-frontend/src/assets/images/icons/map.svg | Bin 1516 -> 0 bytes
.../src/assets/images/icons/message.svg | Bin 1918 -> 0 bytes
.../src/assets/images/icons/minus.svg | Bin 1380 -> 0 bytes
.../src/assets/images/icons/minus_solid.svg | Bin 1285 -> 0 bytes
.../src/assets/images/icons/more_horiz.svg | Bin 1316 -> 0 bytes
.../src/assets/images/icons/more_vert.svg | Bin 1316 -> 0 bytes
superset-frontend/src/assets/images/icons/move.svg | Bin 1093 -> 0 bytes
.../src/assets/images/icons/nav_charts.svg | Bin 1405 -> 0 bytes
.../src/assets/images/icons/nav_dashboard.svg | Bin 2094 -> 0 bytes
.../src/assets/images/icons/nav_data.svg | Bin 1687 -> 0 bytes
.../src/assets/images/icons/nav_explore.svg | Bin 2169 -> 0 bytes
.../src/assets/images/icons/nav_home.svg | Bin 1827 -> 0 bytes
.../src/assets/images/icons/nav_lab.svg | Bin 2064 -> 0 bytes
superset-frontend/src/assets/images/icons/note.svg | Bin 1717 -> 0 bytes
.../src/assets/images/icons/paperclip.svg | Bin 1935 -> 0 bytes
.../src/assets/images/icons/pie-chart-tile.svg | Bin 2636 -> 0 bytes
.../src/assets/images/icons/placeholder.svg | Bin 930 -> 0 bytes
superset-frontend/src/assets/images/icons/plus.svg | Bin 1505 -> 0 bytes
.../src/assets/images/icons/plus_large.svg | Bin 1185 -> 0 bytes
.../src/assets/images/icons/plus_small.svg | Bin 1185 -> 0 bytes
.../src/assets/images/icons/plus_solid.svg | Bin 1410 -> 0 bytes
.../src/assets/images/icons/refresh.svg | Bin 1902 -> 0 bytes
superset-frontend/src/assets/images/icons/save.svg | Bin 1412 -> 0 bytes
.../src/assets/images/icons/search.svg | Bin 2292 -> 0 bytes
.../src/assets/images/icons/server.svg | Bin 2026 -> 0 bytes
.../src/assets/images/icons/share.svg | Bin 1853 -> 0 bytes
superset-frontend/src/assets/images/icons/sql.svg | Bin 2697 -> 0 bytes
.../images/icons/{offline.svg => square.svg} | Bin 919 -> 915 bytes
.../src/assets/images/icons/table-chart-tile.svg | Bin 1752 -> 0 bytes
.../src/assets/images/icons/table.svg | Bin 1211 -> 0 bytes
superset-frontend/src/assets/images/icons/tag.svg | Bin 1662 -> 0 bytes
superset-frontend/src/assets/images/icons/tags.svg | Bin 1021 -> 0 bytes
.../src/assets/images/icons/trash.svg | Bin 1703 -> 0 bytes
.../src/assets/images/icons/triangle_change.svg | Bin 1126 -> 0 bytes
.../src/assets/images/icons/triangle_up.svg | Bin 1121 -> 0 bytes
.../src/assets/images/icons/up-level.svg | Bin 1603 -> 0 bytes
superset-frontend/src/assets/images/icons/user.svg | Bin 1973 -> 0 bytes
.../src/assets/images/icons/warning.svg | Bin 1816 -> 0 bytes
.../src/assets/images/icons/warning_solid.svg | Bin 1817 -> 0 bytes
.../src/assets/images/icons/x-large.svg | Bin 1601 -> 0 bytes
.../src/assets/images/icons/x-small.svg | Bin 1690 -> 0 bytes
.../src/components/AlteredSliceTag/index.tsx | 4 +-
.../src/components/CachedLabel/index.tsx | 2 +
.../src/components/CertifiedBadge/index.tsx | 2 +-
.../components/Chart/DisabledMenuItemTooltip.tsx | 2 +-
.../Chart/DrillBy/DrillByMenuItems.test.tsx | 14 +-
.../components/Chart/DrillBy/DrillByMenuItems.tsx | 4 +-
.../DrillDetail/DrillDetailMenuItems.test.tsx | 39 +-
.../Chart/DrillDetail/DrillDetailTableControls.tsx | 2 +-
.../src/components/Collapse/index.tsx | 6 +-
.../CopyToClipboard/CopyToClipboard.stories.tsx | 6 +-
.../src/components/CronPicker/CronPicker.tsx | 3 +-
.../DatabaseSelector/DatabaseSelector.test.tsx | 2 +-
.../src/components/Datasource/CollectionTable.tsx | 15 +-
.../src/components/Datasource/DatasourceEditor.jsx | 29 +-
.../Datasource/DatasourceEditor.test.jsx | 4 +-
.../src/components/Datasource/DatasourceModal.tsx | 11 +
.../src/components/Datasource/Field.tsx | 2 +
.../src/components/Dropdown/index.tsx | 4 +-
.../src/components/DropdownButton/index.tsx | 38 +-
.../DropdownContainer/DropdownContainer.test.tsx | 7 +-
.../src/components/DropdownContainer/index.tsx | 2 +-
.../ErrorMessage/BasicErrorAlert.test.tsx | 8 +-
.../components/ErrorMessage/BasicErrorAlert.tsx | 8 +-
.../ErrorMessage/DatabaseErrorMessage.test.tsx | 2 +-
.../DatasetNotFoundErrorMessage.test.tsx | 2 +-
.../src/components/ErrorMessage/ErrorAlert.tsx | 8 +-
.../ErrorMessageWithStackTrace.test.tsx | 2 +-
.../FrontendNetworkErrorMessage.test.tsx | 2 +-
.../src/components/ErrorMessage/IssueCode.tsx | 6 +-
.../ErrorMessage/ParameterErrorMessage.test.tsx | 2 +-
.../ErrorMessage/TimeoutErrorMessage.test.tsx | 2 +-
.../src/components/FaveStar/FaveStar.test.tsx | 12 +-
.../src/components/FaveStar/index.tsx | 19 +-
superset-frontend/src/components/Form/Form.tsx | 13 +-
superset-frontend/src/components/Form/FormItem.tsx | 3 +-
.../src/components/Form/LabeledErrorBoundInput.tsx | 2 +-
.../src/components/GridTable/Header.test.tsx | 8 +-
.../src/components/GridTable/Header.tsx | 2 +-
.../src/components/GridTable/HeaderMenu.test.tsx | 11 -
.../src/components/GridTable/HeaderMenu.tsx | 2 +-
.../components/IconButton/IconButton.stories.tsx | 55 +-
.../src/components/IconButton/IconButton.test.jsx | 37 -
.../src/components/IconButton/IconButton.test.tsx | 90 +
.../src/components/IconButton/index.tsx | 191 +-
.../components/IconTooltip/IconTooltip.stories.tsx | 13 +-
.../src/components/Icons/AntdEnhanced.tsx | 116 +-
.../components/Icons/{Icon.tsx => AsyncIcon.tsx} | 47 +-
.../src/components/Icons/BaseIcon.tsx | 97 +
.../src/components/Icons/Icons.stories.tsx | 12 +-
superset-frontend/src/components/Icons/index.tsx | 205 +-
.../src/components/Icons/{IconType.ts => types.ts} | 18 +-
.../src/components/ImportModal/index.tsx | 3 +-
.../src/components/IndeterminateCheckbox/index.tsx | 2 +-
.../src/components/InfoTooltip/index.tsx | 24 +-
.../src/components/JsonModal/JsonModal.test.tsx | 15 +
.../src/components/JsonModal/index.tsx | 17 +-
.../components/Label/reusable/DatasetTypeLabel.tsx | 10 +-
.../components/Label/reusable/PublishedLabel.tsx | 12 +-
.../components/LastUpdated/LastUpdated.test.tsx | 14 +-
.../src/components/LastUpdated/index.tsx | 25 +-
.../src/components/ListView/ActionsBar.tsx | 6 +-
.../src/components/ListView/Filters/Search.tsx | 35 +-
.../src/components/ListView/Filters/Select.tsx | 3 +
.../src/components/ListView/Filters/index.tsx | 2 +
.../src/components/ListView/ListView.tsx | 6 +-
superset-frontend/src/components/ListView/types.ts | 1 +
.../ListViewCard/ListViewCard.stories.tsx | 8 +-
superset-frontend/src/components/Menu/index.tsx | 88 +-
.../src/components/MessageToasts/Toast.tsx | 39 +-
.../components/MessageToasts/ToastPresenter.tsx | 2 +-
.../src/components/MetadataBar/ContentConfig.tsx | 4 +-
.../src/components/Modal/FormModal.test.tsx | 115 +
.../src/components/Modal/FormModal.tsx | 126 +
superset-frontend/src/components/Modal/Modal.tsx | 3 +-
.../src/components/PageHeaderWithActions/index.tsx | 6 +-
.../src/components/Popover/Popover.test.tsx | 4 +-
.../src/components/PopoverDropdown/index.tsx | 11 +-
.../src/components/PopoverSection/index.tsx | 38 +-
.../src/components/Radio/Radio.stories.tsx | 35 +-
.../src/components/RefreshLabel/index.tsx | 4 +-
.../src/components/Select/AsyncSelect.tsx | 8 +-
.../src/components/Select/CustomTag.tsx | 3 +-
superset-frontend/src/components/Select/Select.tsx | 3 +-
.../src/components/Select/constants.ts | 3 +-
superset-frontend/src/components/Select/styles.tsx | 8 +-
superset-frontend/src/components/Select/types.ts | 6 +-
superset-frontend/src/components/Select/utils.tsx | 5 +-
.../src/components/Table/VirtualTable.tsx | 3 +-
.../header-renderers/HeaderWithRadioGroup.tsx | 4 +-
superset-frontend/src/components/Table/index.tsx | 9 +-
.../Table/utils/InteractiveTableUtils.ts | 3 +-
.../src/components/TableCollection/index.tsx | 2 +-
.../src/components/TableSelector/index.tsx | 9 +-
superset-frontend/src/components/Tabs/Tabs.tsx | 9 +-
superset-frontend/src/components/Tags/Tag.tsx | 6 +-
superset-frontend/src/components/Timer/index.tsx | 31 +-
.../src/components/Tooltip/Tooltip.test.tsx | 4 +-
superset-frontend/src/components/Tooltip/index.tsx | 3 +-
.../src/components/TooltipParagraph/index.tsx | 6 +-
.../src/components/UiConfigContext/index.tsx | 4 +
.../components/WarningIconWithTooltip/index.tsx | 4 +-
superset-frontend/src/components/index.ts | 13 +-
.../DashboardBuilder/DashboardBuilder.test.tsx | 42 +
.../DashboardBuilder/DashboardBuilder.tsx | 4 +-
.../dashboard/components/DashboardBuilder/state.ts | 5 +-
.../src/dashboard/components/DashboardGrid.jsx | 17 +-
.../dashboard/components/DeleteComponentButton.tsx | 6 +-
.../DetailsPanel/DetailsPanel.test.tsx | 24 +-
.../FilterIndicator/FilterIndicator.test.tsx | 8 +-
.../FiltersBadge/FilterIndicator/index.tsx | 2 +-
.../dashboard/components/FiltersBadge/index.tsx | 4 +-
.../dashboard/components/Header/Header.test.tsx | 56 +-
.../src/dashboard/components/Header/index.jsx | 11 +-
.../Header/useHeaderActionsDropdownMenu.tsx | 4 +-
.../PropertiesModal/PropertiesModal.test.tsx | 5 +-
.../dashboard/components/PropertiesModal/index.tsx | 5 +
.../src/dashboard/components/SliceAdder.test.tsx | 8 +-
.../src/dashboard/components/SliceAdder.tsx | 54 +-
.../src/dashboard/components/SliceHeader/index.tsx | 10 +-
.../components/SliceHeaderControls/index.tsx | 2 +-
.../components/URLShortLinkButton/index.tsx | 16 +-
.../src/dashboard/components/dnd/DragHandle.tsx | 2 +-
.../filterscope/renderFilterScopeTreeNodes.jsx | 2 +-
.../components/gridComponents/ChartHolder.tsx | 2 +-
.../dashboard/components/gridComponents/Column.jsx | 4 +-
.../components/gridComponents/Divider.test.jsx | 2 +-
.../components/gridComponents/Header.test.jsx | 4 +-
.../dashboard/components/gridComponents/Row.jsx | 4 +-
.../dashboard/components/gridComponents/Tabs.jsx | 49 +-
.../components/menu/BackgroundStyleDropdown.tsx | 4 -
.../dashboard/components/menu/WithPopoverMenu.tsx | 13 +-
.../FilterBar/CrossFilters/CrossFilterTitle.tsx | 2 +-
.../ScopingModal/ChartsScopingListPanel.test.tsx | 2 +-
.../ScopingModal/ChartsScopingListPanel.tsx | 16 +-
.../ScopingModal/ScopingModal.test.tsx | 2 +-
.../CrossFilters/ScopingModal/ScopingTreePanel.tsx | 3 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 12 +-
.../FilterBarSettings/FilterBarSettings.test.tsx | 47 +-
.../FilterBar/FilterBarSettings/index.tsx | 36 +-
.../FilterBar/FilterControls/FilterControl.tsx | 6 +-
.../FilterBar/FilterControls/FilterControls.tsx | 4 +-
.../FilterControls/FilterDivider.stories.tsx | 2 +-
.../FilterBar/FilterControls/FilterDivider.tsx | 3 +-
.../FiltersOutOfScopeCollapsible/index.tsx | 3 +-
.../nativeFilters/FilterBar/Header/Header.test.tsx | 8 +-
.../nativeFilters/FilterBar/Header/index.tsx | 45 +-
.../nativeFilters/FilterBar/Vertical.tsx | 28 +-
.../nativeFilters/FilterCard/DependenciesRow.tsx | 4 +-
.../nativeFilters/FilterCard/FilterCard.test.tsx | 2 +-
.../nativeFilters/FilterCard/NameRow.tsx | 7 +-
.../FiltersConfigModal/DraggableFilter.tsx | 3 +-
.../FiltersConfigModal/FilterTitleContainer.tsx | 15 +-
.../FiltersConfigModal/FilterTitlePane.tsx | 16 +-
.../FiltersConfigForm/DependencyList.tsx | 6 +-
.../FiltersConfigForm/FilterScope/ScopingTree.tsx | 4 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 19 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 12 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 2 +-
superset-frontend/src/embedded/api.tsx | 5 +
superset-frontend/src/embedded/index.tsx | 32 +-
superset-frontend/src/embedded/utils.test.ts | 76 +
.../utils.ts} | 35 +-
.../src/explore/components/ControlHeader.tsx | 12 +-
.../explore/components/ControlPanelsContainer.tsx | 2 +-
.../explore/components/DataTableControl/index.tsx | 48 +-
.../components/DataTablesPane/DataTablesPane.tsx | 11 +-
.../DatasourcePanel/DatasourcePanel.test.tsx | 2 +-
.../DatasourcePanelDragOption/index.tsx | 2 +-
.../DatasourcePanel/DatasourcePanelItem.tsx | 2 +-
.../src/explore/components/EmbedCodeContent.jsx | 2 +
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 4 +-
.../components/ExploreChartHeader/index.jsx | 10 +-
.../components/ExploreViewContainer/index.jsx | 25 +-
.../components/ExportToCSVDropdown/index.tsx | 6 +-
.../PropertiesModal/PropertiesModal.test.tsx | 6 +-
.../explore/components/PropertiesModal/index.tsx | 19 +-
.../explore/components/RunQueryButton/index.tsx | 13 +-
.../controls/AnnotationLayerControl/index.tsx | 22 +-
.../CollectionControl/CollectionControl.test.tsx | 4 +-
.../controls/CollectionControl/index.jsx | 6 +-
.../components/controls/ColorPickerControl.jsx | 3 +-
.../ColorSchemeControl/ColorSchemeControl.test.tsx | 6 +-
.../controls/ColorSchemeControl/index.tsx | 20 +-
.../ColumnConfigControl/ColumnConfigControl.tsx | 4 +
.../ColumnConfigControl/ColumnConfigItem.tsx | 2 +
.../controls/ColumnConfigControl/constants.tsx | 14 +-
.../ConditionalFormattingControl.tsx | 24 +-
.../DatasourceControl/DatasourceControl.test.jsx | 6 +-
.../controls/DatasourceControl/index.jsx | 18 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 8 +-
.../DateFilterControl/components/AdvancedFrame.tsx | 2 +
.../DateFilterControl/components/DateLabel.tsx | 34 +-
.../DndColumnSelectPopoverTitle.jsx | 12 +-
.../DndColumnSelectControl/DndSelectLabel.tsx | 10 +-
.../DndColumnSelectControl/Option.test.tsx | 10 +-
.../controls/DndColumnSelectControl/Option.tsx | 23 +-
.../DndColumnSelectControl/OptionWrapper.test.tsx | 4 +-
.../DndColumnSelectControl/useResizeButton.tsx | 2 +
.../FilterControl/AdhocFilter/AdhocFilter.test.js | 50 +-
.../controls/FilterControl/AdhocFilter/index.js | 54 +-
.../FilterControl/AdhocFilterControl/index.jsx | 15 +-
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 16 +-
.../index.tsx | 3 -
.../AdhocFilterEditPopoverSqlTabContent/index.tsx | 8 +-
.../AdhocFilterOption/AdhocFilterOption.test.tsx | 8 +-
.../FixedOrMetricControl.test.tsx | 2 +-
.../controls/FixedOrMetricControl/index.jsx | 3 +-
.../controls/LayerConfigsControl/FlatLayerTree.tsx | 10 +-
.../LayerConfigsPopoverContent.tsx | 3 +-
.../controls/LayerConfigsControl/LayerTreeItem.tsx | 9 +-
.../controls/LayerConfigsControl/dragDropUtil.tsx | 3 +-
.../controls/LayerConfigsControl/types.ts | 3 +-
.../controls/MapViewControl/ExtentTag.tsx | 3 +-
.../MetricControl/AdhocMetricEditPopover/index.jsx | 2 +
.../AdhocMetricEditPopoverTitle.test.tsx | 3 +-
.../MetricControl/AdhocMetricEditPopoverTitle.tsx | 12 +-
.../controls/MetricControl/MetricsControl.jsx | 11 +-
.../components/controls/OptionControls/index.tsx | 25 +-
.../controls/SelectAsyncControl/index.tsx | 3 +-
.../src/explore/components/controls/ViewQuery.tsx | 2 +
.../controls/VizTypeControl/FastVizSwitcher.tsx | 2 +-
.../components/controls/VizTypeControl/VizTile.tsx | 9 +-
.../VizTypeControl/VizTypeControl.test.tsx | 10 +-
.../controls/VizTypeControl/VizTypeGallery.tsx | 17 +-
.../controls/VizTypeControl/constants.tsx | 12 +-
.../components/controls/VizTypeControl/index.tsx | 2 +
.../ZoomConfigControl/ZoomConfigControl.tsx | 3 +-
.../DashboardsSubMenu.tsx | 5 +-
.../useExploreAdditionalActionsMenu/index.jsx | 2 +-
superset-frontend/src/explore/constants.ts | 4 +-
.../src/explore/exploreUtils/index.js | 19 +-
.../src/features/alerts/AlertReportModal.tsx | 9 +-
.../features/alerts/components/AlertStatusIcon.tsx | 17 +-
.../alerts/components/NotificationMethod.test.tsx | 4 +-
.../alerts/components/NotificationMethod.tsx | 9 +-
.../alerts/components/RecipientIcon.test.tsx | 7 +-
.../features/alerts/components/RecipientIcon.tsx | 16 +-
.../src/features/alerts/components/StyledPanel.tsx | 6 +-
.../alerts/components/ValidatedPanelHeader.tsx | 13 +-
.../annotationLayers/AnnotationLayerModal.tsx | 21 +-
.../src/features/annotations/AnnotationModal.tsx | 20 +-
.../src/features/charts/ChartCard.tsx | 74 +-
.../src/features/cssTemplates/CssTemplateModal.tsx | 70 +-
.../src/features/dashboards/DashboardCard.tsx | 14 +-
.../DatabaseConnectionForm/EncryptedField.tsx | 6 +-
.../DatabaseConnectionForm/TableCatalog.tsx | 2 +-
.../databases/DatabaseModal/ModalHeader.tsx | 3 +-
.../databases/DatabaseModal/SSHTunnelForm.tsx | 5 +-
.../DatabaseModal/SSHTunnelSwitch.test.tsx | 4 +-
.../databases/DatabaseModal/index.test.tsx | 10 +-
.../src/features/databases/DatabaseModal/index.tsx | 40 +-
.../src/features/databases/DatabaseModal/styles.ts | 2 +
.../UploadDataModel/UploadDataModal.test.tsx | 4 +-
.../features/databases/UploadDataModel/index.tsx | 18 +-
superset-frontend/src/features/databases/types.ts | 3 +-
.../AddDataset/DatasetPanel/DatasetPanel.test.tsx | 2 +-
.../AddDataset/DatasetPanel/DatasetPanel.tsx | 14 +-
.../AddDataset/EditDataset/UsageTab/index.tsx | 2 +-
.../features/datasets/AddDataset/Header/index.tsx | 4 +-
.../AddDataset/LeftPanel/LeftPanel.test.tsx | 2 +-
.../src/features/home/ActivityTable.tsx | 8 +-
superset-frontend/src/features/home/ChartTable.tsx | 10 +-
.../src/features/home/DashboardTable.test.tsx | 4 +-
.../src/features/home/DashboardTable.tsx | 9 +-
.../src/features/home/LanguagePicker.tsx | 15 +-
superset-frontend/src/features/home/Menu.tsx | 28 +-
superset-frontend/src/features/home/RightMenu.tsx | 35 +-
.../src/features/home/SavedQueries.tsx | 34 +-
superset-frontend/src/features/home/SubMenu.tsx | 16 +-
.../src/features/queries/SyntaxHighlighterCopy.tsx | 4 +-
.../ReportModal/HeaderReportDropdown/index.tsx | 6 +-
.../src/features/reports/ReportModal/index.tsx | 4 +-
.../src/features/rls/RowLevelSecurityModal.tsx | 102 +-
.../src/features/roles/RoleFormItems.tsx | 70 +
.../src/features/roles/RoleListAddModal.test.tsx | 92 +
.../src/features/roles/RoleListAddModal.tsx | 71 +
.../features/roles/RoleListDuplicateModal.test.tsx | 100 +
.../src/features/roles/RoleListDuplicateModal.tsx | 69 +
.../src/features/roles/RoleListEditModal.test.tsx | 153 +
.../src/features/roles/RoleListEditModal.tsx | 153 +
.../VizTypeControl => features/roles}/types.ts | 61 +-
.../roles/utils.ts} | 41 +-
superset-frontend/src/features/tags/TagCard.tsx | 9 +-
superset-frontend/src/features/tags/TagModal.tsx | 3 +-
.../components/Select/SelectFilterPlugin.tsx | 3 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 3 +-
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 3 +-
superset-frontend/src/middleware/logger.test.js | 25 +-
.../src/middleware/loggerMiddleware.js | 137 +-
.../src/pages/AlertReportList/index.tsx | 31 +-
.../src/pages/AnnotationLayerList/index.tsx | 23 +-
.../src/pages/AnnotationList/index.tsx | 27 +-
.../src/pages/ChartCreation/ChartCreation.test.tsx | 17 +-
.../src/pages/ChartCreation/index.tsx | 12 +-
.../src/pages/ChartList/ChartList.test.jsx | 28 +-
superset-frontend/src/pages/ChartList/index.tsx | 26 +-
.../src/pages/CssTemplateList/index.tsx | 18 +-
.../src/pages/DashboardList/DashboardList.test.jsx | 12 +-
.../src/pages/DashboardList/index.tsx | 27 +-
superset-frontend/src/pages/DatabaseList/index.tsx | 43 +-
superset-frontend/src/pages/DatasetList/index.tsx | 61 +-
.../src/pages/QueryHistoryList/index.tsx | 22 +-
.../src/pages/RolesList/RolesList.test.tsx | 206 +
superset-frontend/src/pages/RolesList/index.tsx | 507 ++
.../src/pages/RowLevelSecurityList/index.tsx | 34 +-
.../pages/SavedQueryList/SavedQueryList.test.jsx | 2 +-
.../src/pages/SavedQueryList/index.tsx | 35 +-
superset-frontend/src/pages/Tags/index.tsx | 42 +-
superset-frontend/src/preamble.ts | 3 +-
superset-frontend/src/utils/downloadAsImage.ts | 1 +
superset-frontend/src/views/CRUD/utils.tsx | 7 -
superset-frontend/src/views/routes.tsx | 16 +
superset-websocket/package-lock.json | 328 +-
superset-websocket/package.json | 4 +-
superset/async_events/cache_backend.py | 5 +
superset/charts/schemas.py | 1 +
superset/commands/chart/export.py | 26 +
superset/commands/chart/importers/v1/__init__.py | 22 +-
superset/commands/dashboard/export.py | 20 +-
.../commands/dashboard/importers/v1/__init__.py | 34 +-
.../commands/database/importers/v1/__init__.py | 8 +-
superset/commands/database/update.py | 44 +-
superset/commands/dataset/importers/v1/__init__.py | 10 +-
superset/commands/explore/get.py | 2 +-
superset/commands/export/assets.py | 1 +
superset/commands/importers/v1/__init__.py | 21 +-
superset/commands/importers/v1/assets.py | 25 +-
superset/commands/importers/v1/examples.py | 3 +-
superset/commands/importers/v1/utils.py | 111 +-
superset/commands/logs/prune.py | 8 +-
superset/commands/query/importers/v1/__init__.py | 8 +-
superset/commands/sql_lab/query.py | 8 +-
superset/commands/tag/export.py | 131 +
superset/common/query_context_processor.py | 27 +
superset/common/query_object.py | 7 +-
superset/config.py | 17 +-
superset/connectors/sqla/models.py | 5 +-
superset/daos/log.py | 19 +-
superset/dashboards/api.py | 17 +-
superset/dashboards/schemas.py | 2 +
superset/databases/api.py | 23 +-
superset/databases/schemas.py | 6 +-
superset/db_engine_specs/base.py | 1 +
superset/db_engine_specs/bigquery.py | 154 +-
superset/db_engine_specs/databricks.py | 4 +-
superset/importexport/api.py | 5 +
superset/initialization/__init__.py | 13 +-
superset/jinja_context.py | 60 +-
.../migrations/shared/migrate_viz/processors.py | 1 +
superset/migrations/shared/utils.py | 81 +-
.../2024-09-25_17-59_7b17aa722e30_uuidmixin.py | 11 +-
...2_94e7a3499973_add_folders_column_to_dataset.py | 7 +-
...46_32bf93dfe2a4_add_on_cascade_in_fab_tables.py | 111 +
superset/models/helpers.py | 6 +-
superset/queries/saved_queries/schemas.py | 1 +
superset/security/api.py | 165 +-
superset/security/manager.py | 49 +-
superset/sql_lab.py | 4 +-
superset/tasks/scheduler.py | 20 +-
.../dashboard_import_export.py => tasks/slack.py} | 24 +-
superset/translations/ar/LC_MESSAGES/messages.po | 4 +-
superset/translations/de/LC_MESSAGES/messages.po | 6 +-
superset/translations/en/LC_MESSAGES/messages.po | 2 +-
superset/translations/es/LC_MESSAGES/messages.po | 4 +-
superset/translations/fr/LC_MESSAGES/messages.po | 4817 +++++++++-----------
superset/translations/it/LC_MESSAGES/messages.po | 4 +-
superset/translations/ja/LC_MESSAGES/messages.po | 4 +-
superset/translations/ko/LC_MESSAGES/messages.po | 4 +-
superset/translations/messages.pot | 2 +-
superset/translations/nl/LC_MESSAGES/messages.po | 27 +-
superset/translations/pl/LC_MESSAGES/messages.po | 4 +-
superset/translations/pt/LC_MESSAGES/messages.po | 4 +-
.../translations/pt_BR/LC_MESSAGES/messages.po | 6 +-
superset/translations/requirements.txt | 2 +-
superset/translations/ru/LC_MESSAGES/messages.po | 6 +-
superset/translations/sk/LC_MESSAGES/messages.po | 2 +-
superset/translations/sl/LC_MESSAGES/messages.po | 4 +-
superset/translations/tr/LC_MESSAGES/messages.po | 4 +-
superset/translations/uk/LC_MESSAGES/messages.po | 4 +-
superset/translations/zh/LC_MESSAGES/messages.po | 4 +-
.../translations/zh_TW/LC_MESSAGES/messages.po | 4 +-
superset/utils/core.py | 14 +-
superset/utils/excel.py | 14 +
superset/utils/log.py | 4 +-
superset/utils/screenshots.py | 5 +-
superset/utils/slack.py | 25 +-
superset/views/base.py | 5 +-
superset/views/log/api.py | 2 +-
superset/views/{annotations.py => roles.py} | 14 +-
tests/integration_tests/charts/api_tests.py | 58 -
tests/integration_tests/charts/data/api_tests.py | 112 +-
tests/integration_tests/core_tests.py | 2 +-
tests/integration_tests/dashboards/api_tests.py | 12 +
tests/integration_tests/databases/api_tests.py | 87 +
.../db_engine_specs/bigquery_tests.py | 133 +-
tests/integration_tests/explore/api_tests.py | 6 +-
tests/integration_tests/fixtures/importexport.py | 1 +
tests/integration_tests/log_api_tests.py | 73 +-
tests/integration_tests/query_context_tests.py | 2 +
tests/integration_tests/security/api_tests.py | 17 +
tests/integration_tests/sqla_models_tests.py | 24 +-
tests/integration_tests/utils_tests.py | 5 -
.../charts/commands/importers/v1/import_test.py | 45 +
.../unit_tests/commands/dashboard}/__init__.py | 0
tests/unit_tests/commands/dashboard/create_test.py | 98 +
tests/unit_tests/commands/databases/update_test.py | 62 +
tests/unit_tests/commands/export_test.py | 65 +-
.../unit_tests/common/test_query_object_factory.py | 27 +-
.../commands/importers/v1/import_test.py | 45 +
.../unit_tests/db_engine_specs/test_databricks.py | 4 +-
tests/unit_tests/importexport/api_test.py | 1 +
tests/unit_tests/jinja_context_test.py | 82 +-
tests/unit_tests/models/helpers_test.py | 16 +-
tests/unit_tests/security/api_test.py | 5 +
tests/unit_tests/utils/excel_tests.py | 24 +
tests/unit_tests/utils/slack_test.py | 39 +-
tests/unit_tests/utils/test_core.py | 193 +
673 files changed, 11940 insertions(+), 5872 deletions(-)
create mode 100644 CHANGELOG/4.1.1.md
create mode 100644 CHANGELOG/4.1.2.md
delete mode 100644 docs/src/theme/DocItem/index.js
create mode 100644 docs/static/img/tutorial/publish_button_dashboard.png
delete mode 100644 null_byte.csv
copy superset-frontend/eslint-rules/{eslint-plugin-i18n-strings =>
eslint-plugin-icons}/index.js (59%)
copy
superset-frontend/eslint-rules/{eslint-plugin-i18n-strings/no-template-vars.test.js
=> eslint-plugin-icons/no-fontawesome.test.js} (71%)
copy superset-frontend/eslint-rules/{eslint-plugin-i18n-strings =>
eslint-plugin-icons}/package.json (73%)
copy
superset-frontend/packages/superset-ui-chart-controls/src/operators/{histogramOperator.ts
=> aggregateOperator.ts} (53%)
create mode 100644
superset-frontend/packages/superset-ui-chart-controls/test/operators/aggregateOperator.test.ts
copy superset-frontend/{src/components/Card/Card.stories.tsx =>
spec/fixtures/mockDatabases.ts} (60%)
delete mode 100644
superset-frontend/src/SqlLab/components/TabStatusIcon/TabStatusIcon.test.tsx
delete mode 100644
superset-frontend/src/SqlLab/components/TabStatusIcon/index.tsx
delete mode 100644 superset-frontend/src/assets/images/icons/alert.svg
delete mode 100644 superset-frontend/src/assets/images/icons/alert_solid.svg
delete mode 100644
superset-frontend/src/assets/images/icons/alert_solid_small.svg
delete mode 100644
superset-frontend/src/assets/images/icons/area-chart-tile.svg
delete mode 100644 superset-frontend/src/assets/images/icons/bar-chart-tile.svg
rename superset-frontend/src/assets/images/icons/{big-number-chart-tile.svg =>
big_number_chart_tile.svg} (100%)
delete mode 100644 superset-frontend/src/assets/images/icons/bolt.svg
delete mode 100644 superset-frontend/src/assets/images/icons/bolt_small.svg
delete mode 100644 superset-frontend/src/assets/images/icons/bolt_small_run.svg
delete mode 100644 superset-frontend/src/assets/images/icons/calendar.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cancel-x.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cancel.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cancel_solid.svg
delete mode 100644 superset-frontend/src/assets/images/icons/card_view.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cards.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cards_locked.svg
delete mode 100644 superset-frontend/src/assets/images/icons/caret_down.svg
delete mode 100644 superset-frontend/src/assets/images/icons/caret_left.svg
delete mode 100644 superset-frontend/src/assets/images/icons/caret_right.svg
delete mode 100644 superset-frontend/src/assets/images/icons/caret_up.svg
delete mode 100644 superset-frontend/src/assets/images/icons/check.svg
rename superset-frontend/src/assets/images/icons/{checkbox-half.svg =>
checkbox_half.svg} (100%)
rename superset-frontend/src/assets/images/icons/{checkbox-off.svg =>
checkbox_off.svg} (100%)
rename superset-frontend/src/assets/images/icons/{checkbox-on.svg =>
checkbox_on.svg} (100%)
delete mode 100644 superset-frontend/src/assets/images/icons/circle.svg
delete mode 100644 superset-frontend/src/assets/images/icons/circle_check.svg
delete mode 100644
superset-frontend/src/assets/images/icons/circle_check_solid.svg
rename superset-frontend/src/assets/images/icons/{database.svg =>
circle_solid.svg} (73%)
delete mode 100644 superset-frontend/src/assets/images/icons/clock.svg
delete mode 100644 superset-frontend/src/assets/images/icons/close.svg
delete mode 100644 superset-frontend/src/assets/images/icons/code.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cog.svg
delete mode 100644 superset-frontend/src/assets/images/icons/collapse.svg
delete mode 100644 superset-frontend/src/assets/images/icons/color_palette.svg
delete mode 100644 superset-frontend/src/assets/images/icons/components.svg
delete mode 100644 superset-frontend/src/assets/images/icons/copy.svg
delete mode 100644
superset-frontend/src/assets/images/icons/cross-filter-badge.svg
delete mode 100644
superset-frontend/src/assets/images/icons/current-rendered-tile.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cursor_target.svg
delete mode 100644
superset-frontend/src/assets/images/icons/dataset_physical.svg
delete mode 100644
superset-frontend/src/assets/images/icons/dataset_virtual.svg
delete mode 100644
superset-frontend/src/assets/images/icons/dataset_virtual_greyscale.svg
delete mode 100644
superset-frontend/src/assets/images/icons/default_db_image.svg
delete mode 100644 superset-frontend/src/assets/images/icons/download.svg
delete mode 100644 superset-frontend/src/assets/images/icons/edit.svg
delete mode 100644 superset-frontend/src/assets/images/icons/edit_alt.svg
delete mode 100644 superset-frontend/src/assets/images/icons/email.svg
delete mode 100644 superset-frontend/src/assets/images/icons/error_solid.svg
delete mode 100644
superset-frontend/src/assets/images/icons/error_solid_small.svg
delete mode 100644 superset-frontend/src/assets/images/icons/exclamation.svg
delete mode 100644 superset-frontend/src/assets/images/icons/expand.svg
delete mode 100644 superset-frontend/src/assets/images/icons/eye.svg
delete mode 100644 superset-frontend/src/assets/images/icons/eye_slash.svg
delete mode 100644
superset-frontend/src/assets/images/icons/favorite-selected.svg
delete mode 100644
superset-frontend/src/assets/images/icons/favorite-unselected.svg
delete mode 100644
superset-frontend/src/assets/images/icons/favorite_small_selected.svg
delete mode 100644 superset-frontend/src/assets/images/icons/field_abc.svg
delete mode 100644 superset-frontend/src/assets/images/icons/field_boolean.svg
delete mode 100644 superset-frontend/src/assets/images/icons/field_date.svg
delete mode 100644 superset-frontend/src/assets/images/icons/field_derived.svg
delete mode 100644 superset-frontend/src/assets/images/icons/field_num.svg
delete mode 100644 superset-frontend/src/assets/images/icons/field_struct.svg
delete mode 100644 superset-frontend/src/assets/images/icons/file.svg
delete mode 100644 superset-frontend/src/assets/images/icons/filter.svg
delete mode 100644 superset-frontend/src/assets/images/icons/filter_small.svg
delete mode 100644 superset-frontend/src/assets/images/icons/folder.svg
delete mode 100644 superset-frontend/src/assets/images/icons/function_x.svg
delete mode 100644 superset-frontend/src/assets/images/icons/gear.svg
delete mode 100644 superset-frontend/src/assets/images/icons/grid.svg
delete mode 100644 superset-frontend/src/assets/images/icons/image.svg
delete mode 100644 superset-frontend/src/assets/images/icons/import.svg
delete mode 100644 superset-frontend/src/assets/images/icons/info-solid.svg
delete mode 100644 superset-frontend/src/assets/images/icons/info.svg
delete mode 100644
superset-frontend/src/assets/images/icons/info_solid_small.svg
delete mode 100644 superset-frontend/src/assets/images/icons/join.svg
delete mode 100644 superset-frontend/src/assets/images/icons/keyboard.svg
delete mode 100644 superset-frontend/src/assets/images/icons/lightbulb.svg
delete mode 100644
superset-frontend/src/assets/images/icons/line-chart-tile.svg
delete mode 100644 superset-frontend/src/assets/images/icons/link.svg
delete mode 100644 superset-frontend/src/assets/images/icons/list.svg
delete mode 100644 superset-frontend/src/assets/images/icons/list_view.svg
delete mode 100644 superset-frontend/src/assets/images/icons/location.svg
delete mode 100644 superset-frontend/src/assets/images/icons/lock_locked.svg
delete mode 100644 superset-frontend/src/assets/images/icons/lock_unlocked.svg
delete mode 100644 superset-frontend/src/assets/images/icons/map.svg
delete mode 100644 superset-frontend/src/assets/images/icons/message.svg
delete mode 100644 superset-frontend/src/assets/images/icons/minus.svg
delete mode 100644 superset-frontend/src/assets/images/icons/minus_solid.svg
delete mode 100644 superset-frontend/src/assets/images/icons/more_horiz.svg
delete mode 100644 superset-frontend/src/assets/images/icons/more_vert.svg
delete mode 100644 superset-frontend/src/assets/images/icons/move.svg
delete mode 100644 superset-frontend/src/assets/images/icons/nav_charts.svg
delete mode 100644 superset-frontend/src/assets/images/icons/nav_dashboard.svg
delete mode 100644 superset-frontend/src/assets/images/icons/nav_data.svg
delete mode 100644 superset-frontend/src/assets/images/icons/nav_explore.svg
delete mode 100644 superset-frontend/src/assets/images/icons/nav_home.svg
delete mode 100644 superset-frontend/src/assets/images/icons/nav_lab.svg
delete mode 100644 superset-frontend/src/assets/images/icons/note.svg
delete mode 100644 superset-frontend/src/assets/images/icons/paperclip.svg
delete mode 100644 superset-frontend/src/assets/images/icons/pie-chart-tile.svg
delete mode 100644 superset-frontend/src/assets/images/icons/placeholder.svg
delete mode 100644 superset-frontend/src/assets/images/icons/plus.svg
delete mode 100644 superset-frontend/src/assets/images/icons/plus_large.svg
delete mode 100644 superset-frontend/src/assets/images/icons/plus_small.svg
delete mode 100644 superset-frontend/src/assets/images/icons/plus_solid.svg
delete mode 100644 superset-frontend/src/assets/images/icons/refresh.svg
delete mode 100644 superset-frontend/src/assets/images/icons/save.svg
delete mode 100644 superset-frontend/src/assets/images/icons/search.svg
delete mode 100644 superset-frontend/src/assets/images/icons/server.svg
delete mode 100644 superset-frontend/src/assets/images/icons/share.svg
delete mode 100644 superset-frontend/src/assets/images/icons/sql.svg
rename superset-frontend/src/assets/images/icons/{offline.svg => square.svg}
(83%)
delete mode 100644
superset-frontend/src/assets/images/icons/table-chart-tile.svg
delete mode 100644 superset-frontend/src/assets/images/icons/table.svg
delete mode 100644 superset-frontend/src/assets/images/icons/tag.svg
delete mode 100644 superset-frontend/src/assets/images/icons/tags.svg
delete mode 100644 superset-frontend/src/assets/images/icons/trash.svg
delete mode 100644
superset-frontend/src/assets/images/icons/triangle_change.svg
delete mode 100644 superset-frontend/src/assets/images/icons/triangle_up.svg
delete mode 100644 superset-frontend/src/assets/images/icons/up-level.svg
delete mode 100644 superset-frontend/src/assets/images/icons/user.svg
delete mode 100644 superset-frontend/src/assets/images/icons/warning.svg
delete mode 100644 superset-frontend/src/assets/images/icons/warning_solid.svg
delete mode 100644 superset-frontend/src/assets/images/icons/x-large.svg
delete mode 100644 superset-frontend/src/assets/images/icons/x-small.svg
delete mode 100644
superset-frontend/src/components/IconButton/IconButton.test.jsx
create mode 100644
superset-frontend/src/components/IconButton/IconButton.test.tsx
rename superset-frontend/src/components/Icons/{Icon.tsx => AsyncIcon.tsx} (57%)
create mode 100644 superset-frontend/src/components/Icons/BaseIcon.tsx
rename superset-frontend/src/components/Icons/{IconType.ts => types.ts} (66%)
create mode 100644 superset-frontend/src/components/Modal/FormModal.test.tsx
create mode 100644 superset-frontend/src/components/Modal/FormModal.tsx
create mode 100644 superset-frontend/src/embedded/utils.test.ts
copy
superset-frontend/src/{dashboard/util/getChartAndLabelComponentIdFromPath.js =>
embedded/utils.ts} (50%)
create mode 100644 superset-frontend/src/features/roles/RoleFormItems.tsx
create mode 100644
superset-frontend/src/features/roles/RoleListAddModal.test.tsx
create mode 100644 superset-frontend/src/features/roles/RoleListAddModal.tsx
create mode 100644
superset-frontend/src/features/roles/RoleListDuplicateModal.test.tsx
create mode 100644
superset-frontend/src/features/roles/RoleListDuplicateModal.tsx
create mode 100644
superset-frontend/src/features/roles/RoleListEditModal.test.tsx
create mode 100644 superset-frontend/src/features/roles/RoleListEditModal.tsx
copy superset-frontend/src/{explore/components/controls/VizTypeControl =>
features/roles}/types.ts (54%)
copy
superset-frontend/src/{dashboard/components/BuilderComponentPane/BuilderComponentPane.test.tsx
=> features/roles/utils.ts} (52%)
create mode 100644 superset-frontend/src/pages/RolesList/RolesList.test.tsx
create mode 100644 superset-frontend/src/pages/RolesList/index.tsx
create mode 100644 superset/commands/tag/export.py
create mode 100644
superset/migrations/versions/2025-03-19_17-46_32bf93dfe2a4_add_on_cascade_in_fab_tables.py
copy superset/{utils/dashboard_import_export.py => tasks/slack.py} (65%)
copy superset/views/{annotations.py => roles.py} (76%)
copy {superset/advanced_data_type =>
tests/unit_tests/commands/dashboard}/__init__.py (100%)
create mode 100644 tests/unit_tests/commands/dashboard/create_test.py