Skip to content

Commit 066237c

Browse files
authored
Merge branch 'main' into fix/WC-2989-chart-static-sample-data-issue
2 parents 64bb8b4 + da218d7 commit 066237c

File tree

40 files changed

+151
-51
lines changed

40 files changed

+151
-51
lines changed

automation/run-e2e/lib/update-test-project.mjs

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,19 +64,28 @@ async function updateAtlasThemeSource() {
6464
}
6565

6666
cp("-r", themeSourcePath, config.testProjectDir);
67+
68+
// Fix file permissions to ensure Docker can write to theme files
69+
// The Atlas theme files are copied with read-only permissions
70+
// but mxbuild needs to write to some generated files during build
71+
sh.exec(`chmod -R +w "${config.testProjectDir}/themesource"`, { silent: true });
6772
}
6873

6974
async function updateAtlasTheme() {
7075
console.log("Copying Atlas theme files from latest Atlas UI theme release");
7176

7277
rm("-rf", "tests/testProject/theme");
7378

74-
const release = await getLatestReleaseByName("Atlas UI - Theme Folder Files", config.atlasCoreReleaseUrl);
75-
76-
if (!release) {
77-
throw new Error("Can't fetch latest Atlas UI theme release");
79+
// Fetch the specific release by tag from GitHub API
80+
const tag = "atlasui-theme-files-2024-01-25";
81+
const releaseResponse = await fetchGithubRestAPI(`${config.atlasCoreReleaseUrl}/tags/${tag}`);
82+
if (!releaseResponse.ok) {
83+
throw new Error(`Can't fetch release for tag: ${tag}`);
84+
}
85+
const release = await releaseResponse.json();
86+
if (!release.assets || release.assets.length === 0) {
87+
throw new Error(`No assets found for release tag: ${tag}`);
7888
}
79-
8089
const [{ browser_download_url }] = release.assets;
8190
const downloadedPath = join(await usetmp(), config.nameForDownloadedAtlasTheme);
8291
const outPath = await usetmp();
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"latest": "10.21.1.64969",
2+
"latest": "10.24.0.73019",
33
"9": "9.24.0.2965",
44
"8": "8.18.24.2858"
55
}

packages/pluggableWidgets/area-chart-web/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
### Changed
10+
11+
- We updated shared charts dependency.
12+
913
## [6.2.0] - 2025-06-03
1014

1115
### Fixed

packages/pluggableWidgets/area-chart-web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@mendix/area-chart-web",
33
"widgetName": "AreaChart",
4-
"version": "6.2.0",
4+
"version": "6.2.1",
55
"description": "An area chart displays a solid color between the traces of a graph.",
66
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
77
"license": "Apache-2.0",

packages/pluggableWidgets/area-chart-web/src/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<package xmlns="http://www.mendix.com/package/1.0/">
3-
<clientModule name="AreaChart" version="6.2.0" xmlns="http://www.mendix.com/clientModule/1.0/">
3+
<clientModule name="AreaChart" version="6.2.1" xmlns="http://www.mendix.com/clientModule/1.0/">
44
<widgetFiles>
55
<widgetFile path="AreaChart.xml" />
66
</widgetFiles>

packages/pluggableWidgets/bar-chart-web/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
### Changed
10+
11+
- We updated shared charts dependency.
12+
913
## [6.2.0] - 2025-06-03
1014

1115
### Fixed

packages/pluggableWidgets/bar-chart-web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@mendix/bar-chart-web",
33
"widgetName": "BarChart",
4-
"version": "6.2.0",
4+
"version": "6.2.1",
55
"description": "Shows difference between the data points for one or more categories.",
66
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
77
"license": "Apache-2.0",

packages/pluggableWidgets/bar-chart-web/src/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<package xmlns="http://www.mendix.com/package/1.0/">
3-
<clientModule name="BarChart" version="6.2.0" xmlns="http://www.mendix.com/clientModule/1.0/">
3+
<clientModule name="BarChart" version="6.2.1" xmlns="http://www.mendix.com/clientModule/1.0/">
44
<widgetFiles>
55
<widgetFile path="BarChart.xml" />
66
</widgetFiles>

packages/pluggableWidgets/bubble-chart-web/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
### Changed
10+
11+
- We updated shared charts dependency.
12+
913
## [6.2.0] - 2025-06-03
1014

1115
### Fixed

packages/pluggableWidgets/bubble-chart-web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@mendix/bubble-chart-web",
33
"widgetName": "BubbleChart",
4-
"version": "6.2.0",
4+
"version": "6.2.1",
55
"description": "Shows data in a bubble format graph.",
66
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
77
"license": "Apache-2.0",

packages/pluggableWidgets/bubble-chart-web/src/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<package xmlns="http://www.mendix.com/package/1.0/">
3-
<clientModule name="BubbleChart" version="6.2.0" xmlns="http://www.mendix.com/clientModule/1.0/">
3+
<clientModule name="BubbleChart" version="6.2.1" xmlns="http://www.mendix.com/clientModule/1.0/">
44
<widgetFiles>
55
<widgetFile path="BubbleChart.xml" />
66
</widgetFiles>

packages/pluggableWidgets/chart-playground-web/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
### Changed
10+
11+
- We updated shared charts dependency.
12+
913
## [2.0.0] - 2025-02-28
1014

1115
### Changed

packages/pluggableWidgets/chart-playground-web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@mendix/chart-playground-web",
33
"widgetName": "ChartPlayground",
4-
"version": "2.0.0",
4+
"version": "2.1.1",
55
"description": "A small playground widget for charts",
66
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
77
"license": "Apache-2.0",

packages/pluggableWidgets/chart-playground-web/src/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<package xmlns="http://www.mendix.com/package/1.0/">
3-
<clientModule name="ChartPlayground" version="2.0.0" xmlns="http://www.mendix.com/clientModule/1.0/">
3+
<clientModule name="ChartPlayground" version="2.1.1" xmlns="http://www.mendix.com/clientModule/1.0/">
44
<widgetFiles>
55
<widgetFile path="ChartPlayground.xml" />
66
</widgetFiles>

packages/pluggableWidgets/charts-web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@mendix/charts-web",
3-
"version": "6.2.0",
3+
"version": "6.2.1",
44
"description": "Chart widgets collection for data visualization",
55
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
66
"license": "Apache-2.0",

packages/pluggableWidgets/charts-web/src/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<package xmlns="http://www.mendix.com/package/1.0/">
3-
<clientModule name="Charts" version="6.2.0" xmlns="http://www.mendix.com/clientModule/1.0/">
3+
<clientModule name="Charts" version="6.2.1" xmlns="http://www.mendix.com/clientModule/1.0/">
44
<widgetFiles>
55
<widgetFile path="AreaChart/AreaChart.xml" />
66
<widgetFile path="BarChart/BarChart.xml" />

packages/pluggableWidgets/column-chart-web/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
### Changed
10+
11+
- We updated shared charts dependency.
12+
913
## [6.2.0] - 2025-06-03
1014

1115
### Fixed

packages/pluggableWidgets/column-chart-web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@mendix/column-chart-web",
33
"widgetName": "ColumnChart",
4-
"version": "6.2.0",
4+
"version": "6.2.1",
55
"description": "Shows data in a column format graph.",
66
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
77
"license": "Apache-2.0",

packages/pluggableWidgets/column-chart-web/src/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<package xmlns="http://www.mendix.com/package/1.0/">
3-
<clientModule name="ColumnChart" version="6.2.0" xmlns="http://www.mendix.com/clientModule/1.0/">
3+
<clientModule name="ColumnChart" version="6.2.1" xmlns="http://www.mendix.com/clientModule/1.0/">
44
<widgetFiles>
55
<widgetFile path="ColumnChart.xml" />
66
</widgetFiles>

packages/pluggableWidgets/custom-chart-web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@mendix/custom-chart-web",
33
"widgetName": "CustomChart",
4-
"version": "1.2.0",
4+
"version": "1.2.1",
55
"description": "",
66
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
77
"license": "Apache-2.0",

packages/pluggableWidgets/custom-chart-web/src/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<package xmlns="http://www.mendix.com/package/1.0/">
3-
<clientModule name="CustomChart" version="1.2.0" xmlns="http://www.mendix.com/clientModule/1.0/">
3+
<clientModule name="CustomChart" version="1.2.1" xmlns="http://www.mendix.com/clientModule/1.0/">
44
<widgetFiles>
55
<widgetFile path="CustomChart.xml" />
66
</widgetFiles>

packages/pluggableWidgets/heatmap-chart-web/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
### Fixed
10+
11+
- We fixed on click events by correctly adding datasource and allow to listen to selection.
12+
913
## [6.0.0] - 2025-02-28
1014

1115
### Changed

packages/pluggableWidgets/heatmap-chart-web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@mendix/heatmap-chart-web",
33
"widgetName": "HeatMap",
4-
"version": "6.0.0",
4+
"version": "6.2.1",
55
"description": "Shows data in a heatmap format graph.",
66
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
77
"license": "Apache-2.0",

packages/pluggableWidgets/heatmap-chart-web/src/HeatMap.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ export function HeatMap(props: HeatMapContainerProps): ReactElement | null {
6868
tooltipHoverText: props.tooltipHoverText,
6969
verticalAxisAttribute: props.verticalAxisAttribute,
7070
verticalSortAttribute: props.verticalSortAttribute,
71-
verticalSortOrder: props.verticalSortOrder
71+
verticalSortOrder: props.verticalSortOrder,
72+
seriesItemSelection: props.seriesItemSelection
7273
});
7374

7475
const heatmapChartLayout = useMemo<ChartWidgetProps["layoutOptions"]>(() => {

packages/pluggableWidgets/heatmap-chart-web/src/HeatMap.xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@
2020
<attributeType name="Long" />
2121
</attributeTypes>
2222
</property>
23+
<property key="seriesItemSelection" type="selection" dataSource="seriesDataSource">
24+
<caption>Selection type</caption>
25+
<description />
26+
<selectionTypes>
27+
<selectionType name="None" />
28+
<selectionType name="Single" />
29+
</selectionTypes>
30+
</property>
2331
</propertyGroup>
2432
<propertyGroup caption="Axis">
2533
<property key="horizontalAxisAttribute" type="attribute" required="false" dataSource="seriesDataSource">
@@ -184,7 +192,7 @@
184192
</propertyGroup>
185193
<propertyGroup caption="Events">
186194
<propertyGroup caption="Events">
187-
<property key="onClickAction" type="action" required="false">
195+
<property key="onClickAction" type="action" required="false" dataSource="seriesDataSource">
188196
<caption>On click action</caption>
189197
<description />
190198
</property>

packages/pluggableWidgets/heatmap-chart-web/src/hooks/data.ts

Lines changed: 48 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
import { ValueStatus } from "mendix";
2-
import { useEffect, useMemo, useState } from "react";
1+
import { ValueStatus, ObjectItem } from "mendix";
2+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
33
import { ensure } from "@mendix/pluggable-widgets-tools";
44
import { HeatMapContainerProps } from "../../typings/HeatMapProps";
55
import { ChartWidgetProps, compareAttrValuesAsc } from "@mendix/shared-charts/main";
66
import { executeAction } from "@mendix/widget-plugin-platform/framework/execute-action";
77
import Big from "big.js";
8+
import { PlotDatum } from "plotly.js-dist-min";
89

910
type HeatMapDataSeriesHooks = Pick<
1011
HeatMapContainerProps,
@@ -22,6 +23,7 @@ type HeatMapDataSeriesHooks = Pick<
2223
| "verticalAxisAttribute"
2324
| "verticalSortAttribute"
2425
| "verticalSortOrder"
26+
| "seriesItemSelection"
2527
>;
2628

2729
type AttributeValue = string | number | Date | undefined;
@@ -33,6 +35,7 @@ type LocalHeatMapData = {
3335
verticalAxisValue: AttributeValue;
3436
horizontalSortValue: string | Big | Date | undefined;
3537
verticalSortValue: string | Big | Date | undefined;
38+
id: string;
3639
};
3740

3841
function getUniqueValues<T>(values: T[]): T[] {
@@ -64,20 +67,28 @@ export const useHeatMapDataSeries = ({
6467
tooltipHoverText,
6568
verticalAxisAttribute,
6669
verticalSortAttribute,
67-
verticalSortOrder
70+
verticalSortOrder,
71+
seriesItemSelection
6872
}: HeatMapDataSeriesHooks): HeatMapHookData => {
6973
const [heatmapChartData, setHeatMapData] = useState<LocalHeatMapData[]>([]);
74+
const objectMap = useRef<Map<string, ObjectItem>>(new Map());
7075

7176
useEffect(() => {
7277
if (seriesDataSource.status === ValueStatus.Available && seriesDataSource.items) {
73-
const dataSourceItems = seriesDataSource.items.map(dataSourceItem => ({
74-
value: ensure(seriesValueAttribute).get(dataSourceItem).value?.toNumber(),
75-
hoverText: tooltipHoverText?.get(dataSourceItem).value,
76-
horizontalAxisValue: formatValueAttribute(horizontalAxisAttribute?.get(dataSourceItem).value),
77-
horizontalSortValue: horizontalSortAttribute?.get(dataSourceItem).value,
78-
verticalAxisValue: formatValueAttribute(verticalAxisAttribute?.get(dataSourceItem).value),
79-
verticalSortValue: verticalSortAttribute?.get(dataSourceItem).value
80-
}));
78+
objectMap.current = new Map();
79+
const dataSourceItems = seriesDataSource.items.map(dataSourceItem => {
80+
objectMap.current.set(dataSourceItem.id, dataSourceItem);
81+
const item = {
82+
value: ensure(seriesValueAttribute).get(dataSourceItem).value?.toNumber(),
83+
hoverText: tooltipHoverText?.get(dataSourceItem).value,
84+
horizontalAxisValue: formatValueAttribute(horizontalAxisAttribute?.get(dataSourceItem).value),
85+
horizontalSortValue: horizontalSortAttribute?.get(dataSourceItem).value,
86+
verticalAxisValue: formatValueAttribute(verticalAxisAttribute?.get(dataSourceItem).value),
87+
verticalSortValue: verticalSortAttribute?.get(dataSourceItem).value,
88+
id: dataSourceItem.id
89+
};
90+
return item;
91+
});
8192
setHeatMapData(dataSourceItems);
8293
}
8394
}, [
@@ -90,7 +101,32 @@ export const useHeatMapDataSeries = ({
90101
verticalSortAttribute
91102
]);
92103

93-
const onClick = useMemo(() => (onClickAction ? () => executeAction(onClickAction) : undefined), [onClickAction]);
104+
const onClick = useCallback(
105+
(item: ObjectItem, data: PlotDatum) => {
106+
let selectedObjectItem: ObjectItem | undefined = item;
107+
if (selectedObjectItem === null || selectedObjectItem === undefined) {
108+
const selectedLocalHeatmapData = heatmapChartData.values().find(heatMapPointData => {
109+
return (
110+
heatMapPointData.horizontalAxisValue === data.x &&
111+
heatMapPointData.verticalAxisValue === data.y &&
112+
heatMapPointData.value === data.z
113+
);
114+
});
115+
116+
if (selectedLocalHeatmapData) {
117+
selectedObjectItem = objectMap.current.get(selectedLocalHeatmapData.id);
118+
}
119+
}
120+
121+
if (selectedObjectItem) {
122+
executeAction(onClickAction?.get(selectedObjectItem));
123+
if (seriesItemSelection && seriesItemSelection.type === "Single") {
124+
seriesItemSelection.setSelection(selectedObjectItem);
125+
}
126+
}
127+
},
128+
[onClickAction, heatmapChartData, seriesItemSelection]
129+
);
94130

95131
return useMemo<HeatMapHookData>(() => {
96132
// `Array.reverse` mutates, so we make a copy.

packages/pluggableWidgets/heatmap-chart-web/src/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<package xmlns="http://www.mendix.com/package/1.0/">
3-
<clientModule name="HeatMap" version="6.0.0" xmlns="http://www.mendix.com/clientModule/1.0/">
3+
<clientModule name="HeatMap" version="6.2.1" xmlns="http://www.mendix.com/clientModule/1.0/">
44
<widgetFiles>
55
<widgetFile path="HeatMap.xml" />
66
</widgetFiles>

0 commit comments

Comments
 (0)