This is an automated email from the ASF dual-hosted git repository.

enzomartellucci pushed a change to branch enxdev/fix/time-compare-dashed-style
in repository https://gitbox.apache.org/repos/asf/superset.git


    from c8456fff9a fix(chart-controls): add seriesName parameter to 
isDerivedSeries for exact match detection
     add 35ac4c74fd feat(dashboard): chart customizations modal and plugins 
(#36062)
     add a272253243 fix(table chart): time comparison totals returning null 
(#37111)
     add 137ebdee39 fix(prune_logs): improve performance by using id column 
only for ordering log records when max_rows_per_run is provided (#37138)
     add 4c01b5c324 docs: Add UserGuiding INTHEWILD.yaml (#37030)
     add debdfbc835 chore(deps-dev): bump 
@babel/plugin-transform-modules-commonjs from 7.27.1 to 7.28.6 in 
/superset-frontend (#37117)
     add 64424f1625 chore(deps-dev): bump @types/node from 25.0.7 to 25.0.8 in 
/superset-websocket (#37116)
     add 6ca0f7a925 chore(deps-dev): bump @babel/cli from 7.28.3 to 7.28.6 in 
/superset-frontend (#37124)
     add 2324b4c9e5 chore(deps-dev): bump @babel/preset-typescript from 7.26.0 
to 7.28.5 in /superset-frontend (#36661)
     add 6eb4db6930 fix(controls): Only initialize categorical control on 
numeric x axis (#37115)
     add 23b91d22ef fix(charts): properly parse error responses in 
StatefulChart (#37130)
     add 81fdc2bd0e feat(dates): adding handling for first of (#37098)
     add c867d9379f chore(deps-dev): bump ts-loader from 9.5.2 to 9.5.4 in 
/superset-frontend (#36999)
     add 96a3f2a187 chore(deps-dev): bump @babel/preset-react from 7.27.1 to 
7.28.5 in /superset-frontend (#37047)
     add 68e917c3f6 chore(deps-dev): bump eslint-plugin-testing-library from 
7.14.0 to 7.15.4 in /superset-frontend (#37052)
     add db61e4f62a chore(deps-dev): bump 
eslint-plugin-react-you-might-not-need-an-effect from 0.8.3 to 0.8.5 in 
/superset-frontend (#37054)
     add 7f6cdc5616 chore(deps-dev): bump prettier from 3.7.4 to 3.8.0 in 
/superset-websocket (#37149)
     add 4c267b7ee2 chore(deps-dev): bump prettier from 3.7.4 to 3.8.0 in /docs 
(#37152)
     add f69cd43bd0 chore(deps-dev): bump eslint-plugin-prettier from 5.5.4 to 
5.5.5 in /docs (#37153)
     add c6ad0dbd3a chore(deps-dev): bump prettier from 3.7.4 to 3.8.0 in 
/superset-frontend (#37156)
     add 89380638b0 chore(deps): bump immer from 11.0.1 to 11.1.3 in 
/superset-frontend (#37159)
     add 82d74d15ec chore(deps): bump react-intersection-observer from 9.16.0 
to 10.0.0 in /superset-frontend (#37162)
     add 129b8e10a2 chore(deps-dev): bump @babel/core from 7.28.3 to 7.28.6 in 
/superset-frontend (#37154)
     add e071e0c5a4 chore(deps-dev): bump eslint-plugin-prettier from 5.5.4 to 
5.5.5 in /superset-frontend (#37160)
     add b142f1956f chore(deps): bump chrono-node from 2.7.8 to 2.9.0 in 
/superset-frontend (#36632)
     add 95c14b1fc1 chore(Matrixify): disable matrixify for incompatible viz 
types (#37163)
     add 9555798d37 fix(data-zoom): Data-zoom not rendered properly in 
Matrixify (#37134)
     add ab8df1ab34 fix: Move head_custom_extra above csrf token input (#37173)
     add 54f19856de fix: HTML detection in tables (#37171)
     add c30edaf075 feat: add tab select with save chart to dashboard (#36332)
     add 4532ccf638 fix(mcp): push Flask app context in mcp_auth_hook for tool 
execution (#37190)
     add d0783da3e5 fix(mcp): Handle big_number charts and make semantic 
warnings non-blocking (#37142)
     add 2bcb66c2fc refactor(mcp): simplify single metric chart type check 
(#37215)
     add 4b1d92e575 feat: add droppable area to tab empty state (#37210)
     add 896947c787 fix(mcp): restore select_columns filtering in list tools 
(#37213)
     add f4474b2e3e feat: Dynamic currency (#36416)
     add b941be01cf chore(deps-dev): bump @types/node from 25.0.8 to 25.0.9 in 
/superset-websocket (#37193)
     add 33ff127370 chore(deps-dev): bump baseline-browser-mapping from 2.9.9 
to 2.9.14 in /superset-frontend (#37198)
     add f00f7d1c18 chore(deps): bump ioredis from 5.9.0 to 5.9.2 in 
/superset-websocket (#37194)
     add a77c2d550c fix(mixed-timeseries): prevent duplicate legend entries 
(#37217)
     add f984dca5cc fix(sunburst): make Show Total text theme-aware (#37177)
     add 6453980d8d chore(deps): bump react-error-boundary from 6.0.0 to 6.1.0 
in /superset-frontend (#37206)
     add cee5ce13e0 chore(deps-dev): bump @types/node from 25.0.3 to 25.0.9 in 
/superset-frontend (#37196)
     add a06e6eb680 chore(deps): bump googleapis from 169.0.0 to 170.1.0 in 
/superset-frontend (#37195)
     add 4d462c76bd chore(deps-dev): bump @types/urijs from 1.19.25 to 1.19.26 
in /superset-frontend (#36636)
     add 476e454384 chore(deps): update @deck.gl/extensions requirement from 
~9.2.2 to ~9.2.5 in /superset-frontend/plugins/legacy-preset-chart-deckgl 
(#36618)
     add 39238ef8a9 feat(ag-grid-table): Enable Time Shift feature for AG Grid 
Table (#37072)
     add 2e29e33dd8 fix(calendar-heatmap): correct month display across 
timezones (#37064)
     add 2900258e05 fix(Dashboard): Auto-apply filters with default values when 
extraForm… (#36927)
     add c0cbbe393a feat(Matrixify): add matrixify tag to list view and explore 
(#37247)
     add 409cdad264 fix(mcp): prevent MCP service from corrupting shared 
appbuilder singleton (#37252)
     add 4393db57d9 fix(native-filters): enable Apply button when selecting 
Boolean FALSE value (#37017)
     add f4597be341 fix(timeseries): x-axis last month was hidden (#37181)
     add 1f19ef92cb refactor(TimezoneSelector): Enhance timezone selection 
logic and improve performance (#36486)
     add 1bdba8b70e 

No new revisions were added by this update.

Summary of changes:
 RESOURCES/INTHEWILD.yaml                           |    5 +
 docs/package.json                                  |    4 +-
 docs/static/img/logos/userguiding.svg              |  Bin 0 -> 5610 bytes
 docs/yarn.lock                                     |   36 +-
 .../e2e/dashboard/horizontalFilterBar.test.ts      |    1 +
 .../cypress/e2e/dashboard/nativeFilters.test.ts    |    3 +
 .../cypress-base/cypress/e2e/dashboard/utils.ts    |   10 +-
 superset-frontend/package-lock.json                |  598 ++++----
 superset-frontend/package.json                     |   32 +-
 .../packages/superset-core/package.json            |    8 +-
 .../src/shared-controls/customControls.tsx         |   21 +-
 .../src/shared-controls/sharedControls.tsx         |    3 +
 .../superset-ui-chart-controls/src/types.ts        |    1 +
 .../test/shared-controls/customControls.test.tsx   |   57 +
 .../packages/superset-ui-core/package.json         |    4 +-
 .../src/chart/components/FallbackComponent.tsx     |    5 +-
 .../src/chart/components/StatefulChart.test.tsx    |  340 +++++
 .../src/chart/components/StatefulChart.tsx         |   37 +-
 .../superset-ui-core/src/chart/types/Base.ts       |    1 +
 .../TimezoneSelector/TimezoneOptionsCache.test.tsx |  256 ++++
 .../TimezoneSelector/TimezoneOptionsCache.ts       |  159 +++
 .../TimezoneSelector.DaylightSavingTime.test.tsx   |   12 +-
 .../TimezoneSelector/TimezoneSelector.test.tsx     |   36 +-
 .../src/components/TimezoneSelector/index.tsx      |  237 ++--
 .../src/components/TimezoneSelector/types.ts}      |   14 +-
 .../CurrencyFormats.ts}                            |    4 +-
 .../src/currency-format/CurrencyFormatter.ts       |   88 +-
 .../superset-ui-core/src/currency-format/index.ts  |   10 +-
 .../Drawer => currency-format}/types.ts            |   11 +-
 .../superset-ui-core/src/currency-format/utils.ts  |  129 +-
 .../superset-ui-core/src/query/constants.ts        |    1 +
 .../packages/superset-ui-core/src/query/index.ts   |    1 +
 .../superset-ui-core/src/query/types/Dashboard.ts  |   81 +-
 .../superset-ui-core/src/query/types/Datasource.ts |    1 +
 .../superset-ui-core/src/query/types/Query.ts      |    2 +
 .../src/query/types/QueryFormData.ts               |    5 +-
 .../src/query/types/QueryResponse.ts               |    6 +
 .../superset-ui-core/src/utils/html.test.tsx       |   18 +
 .../packages/superset-ui-core/src/utils/html.tsx   |  129 +-
 .../chart/components/FallbackComponent.test.tsx    |    9 +-
 .../test/currency-format/CurrencyFormatter.test.ts |   31 +
 .../currency-format/analyzeCurrencyInData.test.ts} |   23 +-
 .../currency-format/hasMixedCurrencies.test.ts}    |   18 +-
 .../currency-format/normalizeCurrency.test.ts}     |   23 +-
 .../packages/superset-ui-demo/package.json         |    8 +-
 .../legacy-plugin-chart-calendar/src/Calendar.js   |    3 +-
 .../legacy-plugin-chart-calendar/src/utils.ts      |   10 +-
 .../test/getFormattedUTCTime.ts                    |   28 -
 .../test/utils.test.ts                             |   96 ++
 .../src/transformProps.js                          |   13 +-
 .../legacy-preset-chart-deckgl/package.json        |    4 +-
 .../src/DeckGLContainer.tsx                        |    6 +-
 .../legacy-preset-chart-deckgl/src/Multi/Multi.tsx |  127 +-
 .../src/Multi/controlPanel.ts                      |   29 +-
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |    6 +
 .../src/controlPanel.tsx                           |    6 +-
 .../src/transformProps.ts                          |   18 +-
 .../BigNumberPeriodOverPeriod/transformProps.ts    |   13 +-
 .../src/BigNumber/BigNumberTotal/transformProps.ts |   16 +-
 .../BigNumberWithTrendline/transformProps.ts       |   11 +-
 .../plugin-chart-echarts/src/BigNumber/types.ts    |    2 +-
 .../src/Funnel/transformProps.ts                   |   11 +-
 .../src/Gauge/transformProps.ts                    |    6 +
 .../src/Heatmap/transformProps.ts                  |   17 +-
 .../src/MixedTimeseries/transformProps.ts          |   54 +-
 .../plugin-chart-echarts/src/Pie/transformProps.ts |   13 +-
 .../src/Sunburst/transformProps.ts                 |   12 +-
 .../src/Timeseries/transformProps.ts               |   33 +-
 .../src/Treemap/transformProps.ts                  |   12 +-
 .../test/BigNumber/transformProps.test.ts          |   56 +
 .../test/Timeseries/transformProps.test.ts         |  132 ++
 .../test/Timeseries/transformers.test.ts           |   49 +-
 .../src/PivotTableChart.tsx                        |  124 +-
 .../src/plugin/transformProps.ts                   |   18 +-
 .../src/react-pivottable/TableRenderers.jsx        |    8 +-
 .../src/react-pivottable/utilities.js              |   56 +-
 .../plugins/plugin-chart-pivot-table/src/types.ts  |    2 +
 .../test/plugin/transformProps.test.ts             |  189 +++
 .../plugins/plugin-chart-table/src/TableChart.tsx  |    2 +-
 .../plugin-chart-table/src/transformProps.ts       |   35 +-
 .../plugins/plugin-chart-table/src/types.ts        |    1 +
 .../plugin-chart-table/src/utils/formatValue.ts    |   11 +-
 .../plugin-chart-table/src/utils/isEqualColumns.ts |    3 +
 .../test/utils/formatValue.test.ts                 |  155 +++
 ...ckglLayerVisibilityCustomizationPlugin.test.tsx |  484 +++++++
 .../DeckglLayerVisibilityCustomizationPlugin.tsx   |  204 +++
 .../DeckglLayerVisibility/buildQuery.test.ts}      |   48 +-
 .../components/DeckglLayerVisibility/buildQuery.ts |   17 +-
 .../DeckglLayerVisibility/controlPanel.ts}         |    9 +-
 .../components/DeckglLayerVisibility}/index.ts     |   15 +-
 .../DeckglLayerVisibility/transformProps.test.ts   |  100 ++
 .../DeckglLayerVisibility}/transformProps.ts       |   12 +-
 .../components/DeckglLayerVisibility}/types.ts     |   39 +-
 .../useDeckLayerMetadata.test.ts                   |  195 +++
 .../DeckglLayerVisibility/useDeckLayerMetadata.ts  |   87 ++
 .../DynamicGroupBy/DynamicGroupByPlugin.tsx        |  140 ++
 .../components/DynamicGroupBy}/buildQuery.ts       |   13 +-
 .../components/DynamicGroupBy}/controlPanel.ts     |   35 +-
 .../DynamicGroupBy}/images/thumbnail.png           |  Bin
 .../components/DynamicGroupBy}/index.ts            |   13 +-
 .../components/DynamicGroupBy}/transformProps.ts   |    0
 .../components/DynamicGroupBy}/types.ts            |   74 +-
 .../TimeColumn/TimeColumnFilterPlugin.tsx          |    0
 .../components/TimeColumn/buildQuery.ts            |    0
 .../components/TimeColumn/controlPanel.ts          |    0
 .../components/TimeColumn}/images/thumbnail.png    |  Bin
 .../components/TimeColumn/index.ts                 |    6 +-
 .../components/TimeColumn/transformProps.ts        |    0
 .../components/TimeColumn/types.ts                 |    0
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |   63 +-
 .../components/TimeGrain/buildQuery.ts             |    0
 .../components/TimeGrain}/controlPanel.ts          |    4 +-
 .../components/TimeGrain}/images/thumbnail.png     |  Bin
 .../components/TimeGrain/index.ts                  |    6 +-
 .../components/TimeGrain/transformProps.ts         |    0
 .../components/TimeGrain/types.ts                  |    0
 .../components/common.ts                           |    0
 .../chartCustomizations/components}/index.ts       |    5 +-
 .../components/types.ts                            |    7 +-
 .../Datasource/DatasourceModal/index.tsx           |    1 +
 .../DatasourceEditor/DatasourceEditor.jsx          |  183 ++-
 .../tests/DatasourceEditor.test.tsx                |   44 +-
 .../tests/DatasourceEditorCurrency.test.tsx        |   67 +
 superset-frontend/src/constants.ts                 |    7 +
 .../dashboard/actions/chartCustomizationActions.ts |  378 +++--
 superset-frontend/src/dashboard/actions/hydrate.js |    9 +-
 .../src/dashboard/actions/nativeFilters.ts         |   23 +-
 .../index.tsx                                      |  206 +--
 .../DashboardBuilder/DashboardContainer.test.tsx   |  211 +--
 .../DashboardBuilder/DashboardContainer.tsx        |  152 +-
 .../dashboard/components/DashboardBuilder/state.ts |   27 +-
 .../dashboard/components/FiltersBadge/index.tsx    |   53 +-
 .../src/dashboard/components/SliceHeader/index.tsx |    4 +-
 .../components/SyncDashboardState/index.tsx        |    5 +-
 .../components/gridComponents/Chart/Chart.jsx      |    6 +-
 .../components/gridComponents/Tab/Tab.jsx          |   86 +-
 .../components/gridComponents/Tab/Tab.test.tsx     |   69 +-
 .../ChartCustomization/ChartCustomizationForm.tsx  | 1457 --------------------
 .../ChartCustomization/ChartCustomizationModal.tsx |  700 ----------
 .../ChartCustomizationTitleContainer.tsx           |  184 ---
 .../ChartCustomizationTitlePane.tsx                |  124 --
 .../ChartCustomization/groupBySelectors.ts         |  262 ----
 .../nativeFilters/ChartCustomization/selectors.ts  |   47 -
 .../useChartCustomizationModal.tsx                 |   52 -
 .../nativeFilters/ChartCustomization/utils.ts      |   63 -
 .../nativeFilters/ConfigModal/SharedStyles.tsx     |    1 -
 .../FilterBar/ActionButtons/index.tsx              |   15 +-
 .../index.tsx                                      |   31 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |  160 ++-
 .../FilterBar/FilterBarSettings/index.tsx          |   29 +-
 .../useFilterConfigModal.tsx                       |   33 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |  280 +---
 .../{FilterControl.tsx => FilterControlShared.tsx} |  244 +---
 .../FilterControls/FilterControls.test.tsx         |  186 +++
 .../FilterBar/FilterControls/FilterControls.tsx    |  206 ++-
 .../FilterBar/FilterControls/FilterValue.tsx       |   72 +-
 .../FilterControls}/GroupByFilterCard.tsx          |  403 +++---
 .../FilterBar/FilterControls/types.ts              |   19 +-
 .../nativeFilters/FilterBar/Horizontal.tsx         |   15 +-
 .../FilterBar/HorizontalFilterBar.test.tsx         |    2 +
 .../nativeFilters/FilterBar/Vertical.tsx           |   23 +-
 .../components/nativeFilters/FilterBar/index.tsx   |  275 ++--
 .../components/nativeFilters/FilterBar/state.ts    |   67 +-
 .../components/nativeFilters/FilterBar/types.ts    |    7 +
 .../FilterBar/useFilterControlFactory.tsx          |    5 +-
 .../components/nativeFilters/FilterBar/utils.ts    |   10 +-
 .../nativeFilters/FilterCard/FilterCard.test.tsx   |    8 +-
 .../nativeFilters/FilterCard/FilterCardContent.tsx |    4 +-
 .../nativeFilters/FilterCard/NameRow.tsx           |   25 +-
 .../nativeFilters/FilterCard/TypeRow.tsx           |    8 +-
 .../components/nativeFilters/FilterCard/types.ts   |    5 +-
 .../FilterCard/useFilterDependencies.ts            |    5 +-
 .../nativeFilters/FilterCard/useFilterScope.ts     |    4 +-
 .../ConfigModalContent/ConfigModalContent.tsx      |  164 +++
 .../CustomizationContentRenderer.tsx               |  133 ++
 .../ConfigModalContent/FilterContentRenderer.tsx   |  136 ++
 .../ConfigModalContent}/index.ts                   |    9 +-
 .../ConfigModalSidebar/ConfigModalSidebar.tsx      |  192 +++
 .../ConfigModalSidebar/ItemSection.tsx             |   77 ++
 .../ConfigModalSidebar}/index.ts                   |    7 +-
 .../FiltersConfigModal/DividerConfigForm.tsx       |   64 +-
 .../FiltersConfigModal/DraggableFilter.test.tsx    |  230 +++
 .../FiltersConfigModal/DraggableFilter.tsx         |   74 +-
 .../FiltersConfigForm/DatasetSelect.tsx            |    4 +-
 .../FiltersConfigForm/DefaultValue.tsx             |   20 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |  371 +++--
 .../FiltersConfigForm/constants.ts                 |   11 +
 .../FiltersConfigForm/getControlItemsMap.tsx       |   14 +-
 .../FiltersConfigModal/FiltersConfigForm/state.ts  |   16 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |  151 +-
 .../FiltersConfigModal/FiltersConfigModal.tsx      |  956 ++++++-------
 ...erTitleContainer.tsx => ItemTitleContainer.tsx} |  101 +-
 .../FiltersConfigModal/ItemTitlePane.tsx           |   93 ++
 .../FiltersConfigModal/NativeFiltersModal.test.tsx |    9 +-
 .../FiltersConfigModal/NewItemDropdown.tsx         |   93 ++
 .../FiltersConfigModal/hooks/index.ts}             |   28 +-
 .../hooks/useCustomizationOperations.ts            |  127 ++
 .../hooks/useFilterOperations.ts                   |  248 ++++
 .../hooks/useItemStateManager.ts                   |  154 +++
 .../FiltersConfigModal/hooks/useModalSaveLogic.ts  |  430 ++++++
 .../nativeFilters/FiltersConfigModal/state.ts      |   16 +-
 .../transformers/customizationTransformer.ts       |  163 +++
 .../transformers/filterTransformer.ts              |  172 +++
 .../FiltersConfigModal/transformers}/index.ts      |    3 +-
 .../nativeFilters/FiltersConfigModal/types.ts      |   80 +-
 .../nativeFilters/FiltersConfigModal/utils.test.ts |  139 ++
 .../nativeFilters/FiltersConfigModal/utils.ts      |  160 ++-
 .../dashboard/components/nativeFilters/state.ts    |  191 ++-
 .../dashboard/components/nativeFilters/utils.ts    |   31 +-
 superset-frontend/src/dashboard/constants.ts       |    3 +
 .../src/dashboard/reducers/dashboardInfo.js        |  101 +-
 .../dashboard/reducers/groupByCustomizations.ts    |  198 ---
 .../src/dashboard/reducers/nativeFilters.test.ts   |   77 ++
 .../src/dashboard/reducers/nativeFilters.ts        |   51 +-
 superset-frontend/src/dashboard/types.ts           |   20 +-
 .../dashboard/util/activeAllDashboardFilters.ts    |    5 +-
 .../src/dashboard/util/calculateScopes.ts          |   75 +
 .../util/charts/getFormDataWithExtraFilters.ts     |  119 +-
 .../util/getFormDataWithExtraFilters.test.ts       |  114 ++
 .../src/dashboard/util/getRelatedCharts.ts         |   13 +-
 .../util/useFilterFocusHighlightStyles.test.tsx    |    4 +
 .../util/useFilterFocusHighlightStyles.ts          |   10 +-
 superset-frontend/src/dataMask/actions.ts          |    3 +
 superset-frontend/src/dataMask/reducer.ts          |  160 ++-
 .../components/ControlPanelsContainer.test.tsx     |  109 ++
 .../explore/components/ControlPanelsContainer.tsx  |   14 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |   28 +
 .../components/ExploreChartHeader/index.jsx        |    6 +-
 .../src/explore/components/SaveModal.test.jsx      |  383 +++++
 .../src/explore/components/SaveModal.tsx           |  287 +++-
 .../ColumnConfigControl/ColumnConfigControl.tsx    |    2 +
 .../controls/ColumnConfigControl/constants.tsx     |    2 +-
 .../CurrencyControl.test.tsx}                      |   27 +-
 .../controls/CurrencyControl/CurrencyControl.tsx   |   80 +-
 .../controls/SelectAsyncControl/index.tsx          |   18 +-
 superset-frontend/src/explore/types.ts             |   19 +
 .../src/features/alerts/AlertReportModal.test.tsx  |    3 +-
 .../src/features/alerts/AlertReportModal.tsx       |   50 +-
 superset-frontend/src/features/datasets/types.ts   |    1 +
 .../components/Select/SelectFilterPlugin.test.tsx  |  457 +++++-
 .../components/Select/SelectFilterPlugin.tsx       |    2 +-
 .../src/pages/ChartList/ChartList.test.tsx         |   35 +-
 .../src/pages/ChartList/ChartList.testHelpers.tsx  |   13 +
 superset-frontend/src/pages/ChartList/index.tsx    |   23 +-
 superset-frontend/src/views/store.ts               |    2 -
 .../src/visualizations/presets/MainPreset.js       |   20 +-
 superset-websocket/package-lock.json               |   42 +-
 superset-websocket/package.json                    |    6 +-
 superset/charts/schemas.py                         |    9 +
 superset/cli/examples.py                           |    3 +
 superset/commands/dashboard/exceptions.py          |    4 +
 superset/commands/dashboard/update.py              |   18 +
 superset/commands/logs/prune.py                    |    6 +-
 superset/common/query_actions.py                   |   65 +
 superset/common/query_context_factory.py           |   34 +
 superset/connectors/sqla/models.py                 |    6 +-
 superset/daos/dashboard.py                         |   64 +
 superset/dashboards/api.py                         |   91 ++
 superset/dashboards/schemas.py                     |    7 +
 superset/datasets/api.py                           |    2 +
 superset/datasets/schemas.py                       |    2 +
 superset/examples/data_loading.py                  |    2 +
 superset/examples/international_sales.py           |  238 ++++
 superset/mcp_service/auth.py                       |   83 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |   21 +-
 superset/mcp_service/chart/tool/list_charts.py     |   25 +-
 .../chart/validation/runtime/__init__.py           |   22 +-
 .../mcp_service/dashboard/tool/list_dashboards.py  |   25 +-
 superset/mcp_service/dataset/tool/list_datasets.py |   25 +-
 superset/mcp_service/flask_singleton.py            |   82 +-
 ...00_9787190b3d89_add_currency_column_support.py} |   23 +-
 superset/models/helpers.py                         |   10 +
 superset/superset_typing.py                        |    2 +
 superset/templates/superset/spa.html               |    7 +-
 superset/utils/currency.py                         |  160 +++
 superset/utils/date_parser.py                      |  109 +-
 superset/views/core.py                             |   21 +-
 superset/viz.py                                    |    1 +
 tests/integration_tests/dashboards/api_tests.py    |  325 +++++
 tests/integration_tests/datasets/commands_tests.py |    3 +
 tests/integration_tests/fixtures/importexport.py   |    1 +
 .../common/test_query_actions_currency.py          |  290 ++++
 .../common/test_query_context_factory.py           |  106 ++
 tests/unit_tests/common/test_time_shifts.py        |   33 +
 tests/unit_tests/connectors/sqla/models_test.py    |   64 +
 .../dashboards/test_chart_customizations_dao.py    |  339 +++++
 tests/unit_tests/datasets/commands/export_test.py  |    1 +
 tests/unit_tests/datasets/schema_tests.py          |   29 +
 .../mcp_service/chart/tool/test_get_chart_data.py  |  130 +-
 .../mcp_service/chart/validation}/__init__.py      |    0
 .../chart/validation/test_runtime_validator.py     |  221 +++
 tests/unit_tests/utils/currency_test.py            |  332 +++++
 tests/unit_tests/utils/date_parser_tests.py        |   64 +
 293 files changed, 15693 insertions(+), 6864 deletions(-)
 create mode 100644 docs/static/img/logos/userguiding.svg
 create mode 100644 
superset-frontend/packages/superset-ui-chart-controls/test/shared-controls/customControls.test.tsx
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/TimezoneSelector/TimezoneOptionsCache.test.tsx
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/TimezoneSelector/TimezoneOptionsCache.ts
 copy superset-frontend/{plugins/legacy-preset-chart-deckgl/src/TooltipRow.tsx 
=> packages/superset-ui-core/src/components/TimezoneSelector/types.ts} (80%)
 copy 
superset-frontend/packages/superset-ui-core/src/{components/Divider/types.ts => 
currency-format/CurrencyFormats.ts} (90%)
 copy superset-frontend/packages/superset-ui-core/src/{components/Drawer => 
currency-format}/types.ts (83%)
 copy superset-frontend/{src/explore/exploreUtils/getLegacyEndpointType.test.ts 
=> 
packages/superset-ui-core/test/currency-format/analyzeCurrencyInData.test.ts} 
(57%)
 copy 
superset-frontend/packages/{superset-ui-chart-controls/test/operators/utils/timeOffset.test.ts
 => superset-ui-core/test/currency-format/hasMixedCurrencies.test.ts} (60%)
 copy 
superset-frontend/packages/superset-ui-core/{src/components/Input/Input.test.tsx
 => test/currency-format/normalizeCurrency.test.ts} (61%)
 delete mode 100644 
superset-frontend/plugins/legacy-plugin-chart-calendar/test/getFormattedUTCTime.ts
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-calendar/test/utils.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-table/test/utils/formatValue.test.ts
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DeckglLayerVisibility/DeckglLayerVisibilityCustomizationPlugin.test.tsx
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DeckglLayerVisibility/DeckglLayerVisibilityCustomizationPlugin.tsx
 copy superset-frontend/src/{filters/components/TimeGrain/index.ts => 
chartCustomizations/components/DeckglLayerVisibility/buildQuery.test.ts} (52%)
 copy docs/src/types/apache-superset-core/index.d.ts => 
superset-frontend/src/chartCustomizations/components/DeckglLayerVisibility/buildQuery.ts
 (65%)
 copy 
superset-frontend/{plugins/plugin-chart-echarts/src/utils/convertInteger.ts => 
src/chartCustomizations/components/DeckglLayerVisibility/controlPanel.ts} (84%)
 copy superset-frontend/src/{filters/components/Select => 
chartCustomizations/components/DeckglLayerVisibility}/index.ts (74%)
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DeckglLayerVisibility/transformProps.test.ts
 copy superset-frontend/{plugins/legacy-preset-chart-deckgl/src/layers/Hex => 
src/chartCustomizations/components/DeckglLayerVisibility}/transformProps.ts 
(82%)
 copy superset-frontend/{packages/superset-ui-core/src/dimension => 
src/chartCustomizations/components/DeckglLayerVisibility}/types.ts (58%)
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DeckglLayerVisibility/useDeckLayerMetadata.test.ts
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DeckglLayerVisibility/useDeckLayerMetadata.ts
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DynamicGroupBy/DynamicGroupByPlugin.tsx
 copy superset-frontend/{plugins/plugin-chart-echarts/src/Tree => 
src/chartCustomizations/components/DynamicGroupBy}/buildQuery.ts (86%)
 copy superset-frontend/src/{filters/components/Range => 
chartCustomizations/components/DynamicGroupBy}/controlPanel.ts (72%)
 copy 
superset-frontend/{packages/generator-superset/generators/plugin-chart/templates/src
 => src/chartCustomizations/components/DynamicGroupBy}/images/thumbnail.png 
(100%)
 copy superset-frontend/src/{filters/components/TimeColumn => 
chartCustomizations/components/DynamicGroupBy}/index.ts (77%)
 copy superset-frontend/src/{filters/components/TimeGrain => 
chartCustomizations/components/DynamicGroupBy}/transformProps.ts (100%)
 rename 
superset-frontend/src/{dashboard/components/nativeFilters/ChartCustomization => 
chartCustomizations/components/DynamicGroupBy}/types.ts (51%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeColumn/TimeColumnFilterPlugin.tsx (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeColumn/buildQuery.ts (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeColumn/controlPanel.ts (100%)
 copy 
superset-frontend/{packages/generator-superset/generators/plugin-chart/templates/src
 => src/chartCustomizations/components/TimeColumn}/images/thumbnail.png (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeColumn/index.ts (86%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeColumn/transformProps.ts (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeColumn/types.ts (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeGrain/TimeGrainFilterPlugin.tsx (70%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeGrain/buildQuery.ts (100%)
 copy superset-frontend/src/{filters/components/TimeColumn => 
chartCustomizations/components/TimeGrain}/controlPanel.ts (91%)
 copy 
superset-frontend/{packages/generator-superset/generators/plugin-chart/templates/src
 => src/chartCustomizations/components/TimeGrain}/images/thumbnail.png (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeGrain/index.ts (86%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeGrain/transformProps.ts (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeGrain/types.ts (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/common.ts (100%)
 copy superset-frontend/{packages/superset-core/src/utils => 
src/chartCustomizations/components}/index.ts (71%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/types.ts (99%)
 rename superset-frontend/src/dashboard/components/{GroupByBadge => 
CustomizationsBadge}/index.tsx (55%)
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/ChartCustomizationForm.tsx
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/ChartCustomizationModal.tsx
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/ChartCustomizationTitleContainer.tsx
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/ChartCustomizationTitlePane.tsx
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/groupBySelectors.ts
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/selectors.ts
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/useChartCustomizationModal.tsx
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/utils.ts
 copy 
superset-frontend/src/dashboard/components/nativeFilters/FilterBar/{FiltersOutOfScopeCollapsible
 => CustomizationsOutOfScopeCollapsible}/index.tsx (63%)
 copy 
superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/{FilterControl.tsx
 => FilterControlShared.tsx} (54%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControls.test.tsx
 rename 
superset-frontend/src/dashboard/components/nativeFilters/{ChartCustomization => 
FilterBar/FilterControls}/GroupByFilterCard.tsx (60%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalContent/ConfigModalContent.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalContent/CustomizationContentRenderer.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalContent/FilterContentRenderer.tsx
 copy superset-frontend/{packages/superset-core/src => 
src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalContent}/index.ts
 (63%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalSidebar/ConfigModalSidebar.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalSidebar/ItemSection.tsx
 copy superset-frontend/{packages/superset-core/src => 
src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalSidebar}/index.ts
 (76%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/DraggableFilter.test.tsx
 copy 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/{FilterTitleContainer.tsx
 => ItemTitleContainer.tsx} (67%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/ItemTitlePane.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/NewItemDropdown.tsx
 copy 
superset-frontend/{packages/superset-ui-chart-controls/src/utils/colorControls.ts
 => src/dashboard/components/nativeFilters/FiltersConfigModal/hooks/index.ts} 
(60%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/hooks/useCustomizationOperations.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/hooks/useFilterOperations.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/hooks/useItemStateManager.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/hooks/useModalSaveLogic.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/transformers/customizationTransformer.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/transformers/filterTransformer.ts
 copy superset-frontend/{packages/superset-core/src/ui/components => 
src/dashboard/components/nativeFilters/FiltersConfigModal/transformers}/index.ts
 (85%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/utils.test.ts
 delete mode 100644 
superset-frontend/src/dashboard/reducers/groupByCustomizations.ts
 create mode 100644 superset-frontend/src/dashboard/util/calculateScopes.ts
 copy 
superset-frontend/src/explore/components/controls/{DateFilterControl/tests/CurrentCalendarFrame.test.tsx
 => CurrencyControl/CurrencyControl.test.tsx} (62%)
 create mode 100644 superset/examples/international_sales.py
 copy 
superset/migrations/versions/{2025-03-03_20-52_94e7a3499973_add_folders_column_to_dataset.py
 => 2025-11-18_14-00_9787190b3d89_add_currency_column_support.py} (66%)
 create mode 100644 superset/utils/currency.py
 create mode 100644 tests/unit_tests/common/test_query_actions_currency.py
 create mode 100644 tests/unit_tests/dashboards/test_chart_customizations_dao.py
 copy {superset-core/src/superset_core/api => 
tests/unit_tests/mcp_service/chart/validation}/__init__.py (100%)
 create mode 100644 
tests/unit_tests/mcp_service/chart/validation/test_runtime_validator.py
 create mode 100644 tests/unit_tests/utils/currency_test.py


Reply via email to