diff --git a/packages/pluggableWidgets/area-chart-web/CHANGELOG.md b/packages/pluggableWidgets/area-chart-web/CHANGELOG.md index 5b2a1b9941..b39026087c 100644 --- a/packages/pluggableWidgets/area-chart-web/CHANGELOG.md +++ b/packages/pluggableWidgets/area-chart-web/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Changed + +- We updated shared charts dependency. + ## [6.1.0] - 2025-06-04 ### Fixed diff --git a/packages/pluggableWidgets/area-chart-web/package.json b/packages/pluggableWidgets/area-chart-web/package.json index 97b5dafe0f..6072320230 100644 --- a/packages/pluggableWidgets/area-chart-web/package.json +++ b/packages/pluggableWidgets/area-chart-web/package.json @@ -1,7 +1,7 @@ { "name": "@mendix/area-chart-web", "widgetName": "AreaChart", - "version": "6.1.0", + "version": "6.1.1", "description": "An area chart displays a solid color between the traces of a graph.", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/area-chart-web/src/package.xml b/packages/pluggableWidgets/area-chart-web/src/package.xml index 2087397b03..6248233e6f 100644 --- a/packages/pluggableWidgets/area-chart-web/src/package.xml +++ b/packages/pluggableWidgets/area-chart-web/src/package.xml @@ -1,6 +1,6 @@ - + diff --git a/packages/pluggableWidgets/bar-chart-web/CHANGELOG.md b/packages/pluggableWidgets/bar-chart-web/CHANGELOG.md index f710048571..ce742de066 100644 --- a/packages/pluggableWidgets/bar-chart-web/CHANGELOG.md +++ b/packages/pluggableWidgets/bar-chart-web/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Changed + +- We updated shared charts dependency. + ## [6.1.0] - 2025-06-04 ### Fixed diff --git a/packages/pluggableWidgets/bar-chart-web/package.json b/packages/pluggableWidgets/bar-chart-web/package.json index 720240e29f..7e2956c529 100644 --- a/packages/pluggableWidgets/bar-chart-web/package.json +++ b/packages/pluggableWidgets/bar-chart-web/package.json @@ -1,7 +1,7 @@ { "name": "@mendix/bar-chart-web", "widgetName": "BarChart", - "version": "6.1.0", + "version": "6.1.1", "description": "Shows difference between the data points for one or more categories.", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/bar-chart-web/src/package.xml b/packages/pluggableWidgets/bar-chart-web/src/package.xml index 1635f82b8b..bfe0b65836 100644 --- a/packages/pluggableWidgets/bar-chart-web/src/package.xml +++ b/packages/pluggableWidgets/bar-chart-web/src/package.xml @@ -1,6 +1,6 @@ - + diff --git a/packages/pluggableWidgets/bubble-chart-web/CHANGELOG.md b/packages/pluggableWidgets/bubble-chart-web/CHANGELOG.md index c0913cac5e..97c9a16513 100644 --- a/packages/pluggableWidgets/bubble-chart-web/CHANGELOG.md +++ b/packages/pluggableWidgets/bubble-chart-web/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Changed + +- We updated shared charts dependency. + ## [6.1.0] - 2025-06-04 ### Fixed diff --git a/packages/pluggableWidgets/bubble-chart-web/package.json b/packages/pluggableWidgets/bubble-chart-web/package.json index 46b460454d..cedd52e2f2 100644 --- a/packages/pluggableWidgets/bubble-chart-web/package.json +++ b/packages/pluggableWidgets/bubble-chart-web/package.json @@ -1,7 +1,7 @@ { "name": "@mendix/bubble-chart-web", "widgetName": "BubbleChart", - "version": "6.1.0", + "version": "6.1.1", "description": "Shows data in a bubble format graph.", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/bubble-chart-web/src/package.xml b/packages/pluggableWidgets/bubble-chart-web/src/package.xml index 5eaaffda04..7e74f83a85 100644 --- a/packages/pluggableWidgets/bubble-chart-web/src/package.xml +++ b/packages/pluggableWidgets/bubble-chart-web/src/package.xml @@ -1,6 +1,6 @@ - + diff --git a/packages/pluggableWidgets/chart-playground-web/CHANGELOG.md b/packages/pluggableWidgets/chart-playground-web/CHANGELOG.md index 2299c110d3..a3f1fc968d 100644 --- a/packages/pluggableWidgets/chart-playground-web/CHANGELOG.md +++ b/packages/pluggableWidgets/chart-playground-web/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Changed + +- We updated shared charts dependency. + ## [2.0.0] - 2025-02-28 ### Changed diff --git a/packages/pluggableWidgets/chart-playground-web/package.json b/packages/pluggableWidgets/chart-playground-web/package.json index b7437c73df..33564aa468 100644 --- a/packages/pluggableWidgets/chart-playground-web/package.json +++ b/packages/pluggableWidgets/chart-playground-web/package.json @@ -1,7 +1,7 @@ { "name": "@mendix/chart-playground-web", "widgetName": "ChartPlayground", - "version": "2.0.0", + "version": "2.0.1", "description": "A small playground widget for charts", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/chart-playground-web/src/package.xml b/packages/pluggableWidgets/chart-playground-web/src/package.xml index d4b762fbec..ab684e5183 100644 --- a/packages/pluggableWidgets/chart-playground-web/src/package.xml +++ b/packages/pluggableWidgets/chart-playground-web/src/package.xml @@ -1,6 +1,6 @@ - + diff --git a/packages/pluggableWidgets/charts-web/package.json b/packages/pluggableWidgets/charts-web/package.json index 70d0e54417..199b9e88b4 100644 --- a/packages/pluggableWidgets/charts-web/package.json +++ b/packages/pluggableWidgets/charts-web/package.json @@ -1,6 +1,6 @@ { "name": "@mendix/charts-web", - "version": "6.1.0", + "version": "6.1.1", "description": "Chart widgets collection for data visualization", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/charts-web/src/package.xml b/packages/pluggableWidgets/charts-web/src/package.xml index 4371765393..88ef151efa 100644 --- a/packages/pluggableWidgets/charts-web/src/package.xml +++ b/packages/pluggableWidgets/charts-web/src/package.xml @@ -1,6 +1,6 @@ - + diff --git a/packages/pluggableWidgets/column-chart-web/CHANGELOG.md b/packages/pluggableWidgets/column-chart-web/CHANGELOG.md index c46fb7a2de..f3cd1b10d9 100644 --- a/packages/pluggableWidgets/column-chart-web/CHANGELOG.md +++ b/packages/pluggableWidgets/column-chart-web/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Changed + +- We updated shared charts dependency. + ## [6.1.0] - 2025-06-04 ### Fixed diff --git a/packages/pluggableWidgets/column-chart-web/package.json b/packages/pluggableWidgets/column-chart-web/package.json index e7265d8c8c..f6075687ae 100644 --- a/packages/pluggableWidgets/column-chart-web/package.json +++ b/packages/pluggableWidgets/column-chart-web/package.json @@ -1,7 +1,7 @@ { "name": "@mendix/column-chart-web", "widgetName": "ColumnChart", - "version": "6.1.0", + "version": "6.1.1", "description": "Shows data in a column format graph.", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/column-chart-web/src/package.xml b/packages/pluggableWidgets/column-chart-web/src/package.xml index 1026213549..7f6b2de5a5 100644 --- a/packages/pluggableWidgets/column-chart-web/src/package.xml +++ b/packages/pluggableWidgets/column-chart-web/src/package.xml @@ -1,6 +1,6 @@ - + diff --git a/packages/pluggableWidgets/custom-chart-web/CHANGELOG.md b/packages/pluggableWidgets/custom-chart-web/CHANGELOG.md index 17280a4de0..2e0a0daa1a 100644 --- a/packages/pluggableWidgets/custom-chart-web/CHANGELOG.md +++ b/packages/pluggableWidgets/custom-chart-web/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Changed + +- We updated shared charts dependency. + ## [1.1.0] - 2025-06-04 ### Changed diff --git a/packages/pluggableWidgets/custom-chart-web/package.json b/packages/pluggableWidgets/custom-chart-web/package.json index 93c278332f..2cc106aa43 100644 --- a/packages/pluggableWidgets/custom-chart-web/package.json +++ b/packages/pluggableWidgets/custom-chart-web/package.json @@ -1,7 +1,7 @@ { "name": "@mendix/custom-chart-web", "widgetName": "CustomChart", - "version": "1.1.0", + "version": "1.1.1", "description": "", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/custom-chart-web/src/package.xml b/packages/pluggableWidgets/custom-chart-web/src/package.xml index 8fa524fe89..b2d469ab57 100644 --- a/packages/pluggableWidgets/custom-chart-web/src/package.xml +++ b/packages/pluggableWidgets/custom-chart-web/src/package.xml @@ -1,6 +1,6 @@ - + diff --git a/packages/pluggableWidgets/heatmap-chart-web/CHANGELOG.md b/packages/pluggableWidgets/heatmap-chart-web/CHANGELOG.md index a217374a92..f7f84a6624 100644 --- a/packages/pluggableWidgets/heatmap-chart-web/CHANGELOG.md +++ b/packages/pluggableWidgets/heatmap-chart-web/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Fixed + +- We fixed on click events by correctly adding datasource. + ## [6.0.0] - 2025-02-28 ### Changed diff --git a/packages/pluggableWidgets/heatmap-chart-web/package.json b/packages/pluggableWidgets/heatmap-chart-web/package.json index 38200905a9..23ad296da0 100644 --- a/packages/pluggableWidgets/heatmap-chart-web/package.json +++ b/packages/pluggableWidgets/heatmap-chart-web/package.json @@ -1,7 +1,7 @@ { "name": "@mendix/heatmap-chart-web", "widgetName": "HeatMap", - "version": "6.0.0", + "version": "6.1.1", "description": "Shows data in a heatmap format graph.", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/heatmap-chart-web/src/HeatMap.xml b/packages/pluggableWidgets/heatmap-chart-web/src/HeatMap.xml index 4fb1191485..3e6fbf874b 100644 --- a/packages/pluggableWidgets/heatmap-chart-web/src/HeatMap.xml +++ b/packages/pluggableWidgets/heatmap-chart-web/src/HeatMap.xml @@ -184,7 +184,7 @@ - + On click action diff --git a/packages/pluggableWidgets/heatmap-chart-web/src/hooks/data.ts b/packages/pluggableWidgets/heatmap-chart-web/src/hooks/data.ts index 2060fb04ee..2afabc82d6 100644 --- a/packages/pluggableWidgets/heatmap-chart-web/src/hooks/data.ts +++ b/packages/pluggableWidgets/heatmap-chart-web/src/hooks/data.ts @@ -1,10 +1,11 @@ -import { ValueStatus } from "mendix"; -import { useEffect, useMemo, useState } from "react"; +import { ObjectItem, ValueStatus } from "mendix"; +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import { ensure } from "@mendix/pluggable-widgets-tools"; import { HeatMapContainerProps } from "../../typings/HeatMapProps"; import { ChartWidgetProps, compareAttrValuesAsc } from "@mendix/shared-charts/main"; import { executeAction } from "@mendix/widget-plugin-platform/framework/execute-action"; import Big from "big.js"; +import { PlotDatum } from "plotly.js-dist-min"; type HeatMapDataSeriesHooks = Pick< HeatMapContainerProps, @@ -67,6 +68,7 @@ export const useHeatMapDataSeries = ({ verticalSortOrder }: HeatMapDataSeriesHooks): HeatMapHookData => { const [heatmapChartData, setHeatMapData] = useState([]); + const objectMap = useRef>(new Map()); useEffect(() => { if (seriesDataSource.status === ValueStatus.Available && seriesDataSource.items) { @@ -90,7 +92,29 @@ export const useHeatMapDataSeries = ({ verticalSortAttribute ]); - const onClick = useMemo(() => (onClickAction ? () => executeAction(onClickAction) : undefined), [onClickAction]); + const onClick = useCallback( + (item: ObjectItem, data: PlotDatum) => { + let selectedObjectItem: ObjectItem | undefined = item; + if (selectedObjectItem === null || selectedObjectItem === undefined) { + const selectedLocalHeatmapData = heatmapChartData.values().find(heatMapPointData => { + return ( + heatMapPointData.horizontalAxisValue === data.x && + heatMapPointData.verticalAxisValue === data.y && + heatMapPointData.value === data.z + ); + }); + + if (selectedLocalHeatmapData) { + selectedObjectItem = objectMap.current.get(selectedLocalHeatmapData.id); + } + } + + if (selectedObjectItem) { + executeAction(onClickAction?.get(selectedObjectItem)); + } + }, + [onClickAction, heatmapChartData, seriesItemSelection] + ); return useMemo(() => { // `Array.reverse` mutates, so we make a copy. diff --git a/packages/pluggableWidgets/heatmap-chart-web/src/package.xml b/packages/pluggableWidgets/heatmap-chart-web/src/package.xml index 307cdfc052..4a8df91434 100644 --- a/packages/pluggableWidgets/heatmap-chart-web/src/package.xml +++ b/packages/pluggableWidgets/heatmap-chart-web/src/package.xml @@ -1,6 +1,6 @@ - + diff --git a/packages/pluggableWidgets/pie-doughnut-chart-web/CHANGELOG.md b/packages/pluggableWidgets/pie-doughnut-chart-web/CHANGELOG.md index 149a1eb799..30f1b89e30 100644 --- a/packages/pluggableWidgets/pie-doughnut-chart-web/CHANGELOG.md +++ b/packages/pluggableWidgets/pie-doughnut-chart-web/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Changed + +- We updated shared charts dependency. + +## [6.1.0] - 2025-06-04 + ### Breaking - We remove listened to selection in order for charts to works on Studio Pro 9.24. diff --git a/packages/pluggableWidgets/pie-doughnut-chart-web/package.json b/packages/pluggableWidgets/pie-doughnut-chart-web/package.json index aac421fb42..866632cea4 100644 --- a/packages/pluggableWidgets/pie-doughnut-chart-web/package.json +++ b/packages/pluggableWidgets/pie-doughnut-chart-web/package.json @@ -1,7 +1,7 @@ { "name": "@mendix/pie-doughnut-chart-web", "widgetName": "PieChart", - "version": "6.1.0", + "version": "6.1.1", "description": "Shows data in a pie format graph.", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/pie-doughnut-chart-web/src/package.xml b/packages/pluggableWidgets/pie-doughnut-chart-web/src/package.xml index f7f090af32..04d9c2c693 100644 --- a/packages/pluggableWidgets/pie-doughnut-chart-web/src/package.xml +++ b/packages/pluggableWidgets/pie-doughnut-chart-web/src/package.xml @@ -1,6 +1,6 @@ - + diff --git a/packages/pluggableWidgets/time-series-chart-web/CHANGELOG.md b/packages/pluggableWidgets/time-series-chart-web/CHANGELOG.md index 1de24b82f1..bb2af34ea5 100644 --- a/packages/pluggableWidgets/time-series-chart-web/CHANGELOG.md +++ b/packages/pluggableWidgets/time-series-chart-web/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Changed + +- We updated shared charts dependency. + ## [6.1.0] - 2025-06-04 ### Fixed diff --git a/packages/pluggableWidgets/time-series-chart-web/package.json b/packages/pluggableWidgets/time-series-chart-web/package.json index c2fdc2784d..c8a44a109b 100644 --- a/packages/pluggableWidgets/time-series-chart-web/package.json +++ b/packages/pluggableWidgets/time-series-chart-web/package.json @@ -1,7 +1,7 @@ { "name": "@mendix/time-series-chart-web", "widgetName": "TimeSeries", - "version": "6.1.0", + "version": "6.1.1", "description": "Shows data changes over period of time.", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/time-series-chart-web/src/package.xml b/packages/pluggableWidgets/time-series-chart-web/src/package.xml index 2a354128a5..31208498ef 100644 --- a/packages/pluggableWidgets/time-series-chart-web/src/package.xml +++ b/packages/pluggableWidgets/time-series-chart-web/src/package.xml @@ -1,6 +1,6 @@ - + diff --git a/packages/shared/charts/package.json b/packages/shared/charts/package.json index cd0791308f..7b26e21ae5 100644 --- a/packages/shared/charts/package.json +++ b/packages/shared/charts/package.json @@ -1,6 +1,6 @@ { "name": "@mendix/shared-charts", - "version": "2.1.0", + "version": "2.1.1", "description": "Shared components for charts", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "private": true, diff --git a/packages/shared/charts/src/components/ChartView.tsx b/packages/shared/charts/src/components/ChartView.tsx index 3ef04c5837..d8fd5856de 100644 --- a/packages/shared/charts/src/components/ChartView.tsx +++ b/packages/shared/charts/src/components/ChartView.tsx @@ -32,10 +32,16 @@ export const ChartView = ({ const [{ curveNumber, pointIndex, pointIndices, pointNumber, pointNumbers }] = event.points; const index = pointIndex ?? pointNumber; const indices = pointIndices ?? pointNumbers; - const itemIndex = getItemIndex(index, indices); - const { dataSourceItems, onClick } = data[curveNumber]; - const item = dataSourceItems[itemIndex]; - onClick?.(item); + try { + const itemIndex = getItemIndex(index, indices); + const { dataSourceItems, onClick } = data[curveNumber]; + const item = dataSourceItems[itemIndex]; + onClick?.(item); + } catch (_e: any) { + // let the chart handle it's own onClick + const { onClick } = data[curveNumber]; + onClick?.(null, event.points[0]); + } }, [data] ); diff --git a/packages/shared/charts/src/components/types.ts b/packages/shared/charts/src/components/types.ts index d101cd784f..cdeb918657 100644 --- a/packages/shared/charts/src/components/types.ts +++ b/packages/shared/charts/src/components/types.ts @@ -1,11 +1,13 @@ import { ObjectItem } from "mendix"; -import { Config, Data, Layout } from "plotly.js-dist-min"; +import { Config, Data, Layout, PlotDatum } from "plotly.js-dist-min"; declare module "plotly.js-dist-min" { interface PlotDatum { /** This array appears on only when aggregation is used */ pointIndices?: number[]; pointNumbers?: number[]; + // this is only appear on 3 dimentional matrix datasource + z?: number; } } export type ExtraTraceProps = { @@ -14,7 +16,7 @@ export type ExtraTraceProps = { /** JSON string. Expected to be an object with custom 'trace' options. */ customSeriesOptions: string | undefined; /** Click handler for each point on current 'trace'. Should be call with ObjectItem associated with clicked point. */ - onClick?: (item: ObjectItem) => void; + onClick?: (item: ObjectItem | null, data?: Partial) => void; }; export type PlotTrace = Partial & ExtraTraceProps;