Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions packages/modules/data-widgets/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,20 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [Unreleased]

## [3.11.8] DataWidgets - 2026-10-22

### Datagrid

#### Fixed

- We fixed an issue where clicking a label inside a custom content column, such as the label of a checkbox, triggered the double click action with a single click.

### Gallery

#### Fixed

- We fixed an issue where clicking a label inside the item content, such as the label of a checkbox, triggered the double click action with a single click.

## [3.11.7] DataWidgets - 2026-10-02

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion packages/modules/data-widgets/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@mendix/data-widgets",
"moduleName": "Data Widgets",
"version": "3.11.7",
"version": "3.11.8",
"description": "Data Widgets module containing a set of widgets to display data in various ways.",
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
"license": "Apache-2.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@mendix/datagrid-date-filter-web",
"widgetName": "DatagridDateFilter",
"version": "3.11.7",
"version": "3.11.8",
"description": "Filter Data Grid 2 rows by date or date range, using a calendar picker.",
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
"license": "Apache-2.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://www.mendix.com/package/1.0/">
<clientModule name="DatagridDateFilter" version="3.11.7" xmlns="http://www.mendix.com/clientModule/1.0/">
<clientModule name="DatagridDateFilter" version="3.11.8" xmlns="http://www.mendix.com/clientModule/1.0/">
<widgetFiles>
<widgetFile path="DatagridDateFilter.xml" />
</widgetFiles>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@mendix/datagrid-dropdown-filter-web",
"widgetName": "DatagridDropdownFilter",
"version": "3.11.7",
"version": "3.11.8",
"description": "Filter Data Grid 2 rows by selecting values from a drop-down list.",
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
"license": "Apache-2.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://www.mendix.com/package/1.0/">
<clientModule name="DatagridDropdownFilter" version="3.11.7" xmlns="http://www.mendix.com/clientModule/1.0/">
<clientModule name="DatagridDropdownFilter" version="3.11.8" xmlns="http://www.mendix.com/clientModule/1.0/">
<widgetFiles>
<widgetFile path="DatagridDropdownFilter.xml" />
</widgetFiles>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@mendix/datagrid-number-filter-web",
"widgetName": "DatagridNumberFilter",
"version": "3.11.7",
"version": "3.11.8",
"description": "Filter Data Grid 2 rows by numeric values, supporting equals, greater than, and less than operations.",
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
"license": "Apache-2.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://www.mendix.com/package/1.0/">
<clientModule name="DatagridNumberFilter" version="3.11.7" xmlns="http://www.mendix.com/clientModule/1.0/">
<clientModule name="DatagridNumberFilter" version="3.11.8" xmlns="http://www.mendix.com/clientModule/1.0/">
<widgetFiles>
<widgetFile path="DatagridNumberFilter.xml" />
</widgetFiles>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@mendix/datagrid-text-filter-web",
"widgetName": "DatagridTextFilter",
"version": "3.11.7",
"version": "3.11.8",
"description": "Filter Data Grid 2 rows by text input, supporting contains, starts with, and equals operations.",
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
"license": "Apache-2.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://www.mendix.com/package/1.0/">
<clientModule name="DatagridTextFilter" version="3.11.7" xmlns="http://www.mendix.com/clientModule/1.0/">
<clientModule name="DatagridTextFilter" version="3.11.8" xmlns="http://www.mendix.com/clientModule/1.0/">
<widgetFiles>
<widgetFile path="DatagridTextFilter.xml" />
</widgetFiles>
Expand Down
2 changes: 2 additions & 0 deletions packages/pluggableWidgets/datagrid-web/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [Unreleased]

## [3.11.8] - 2026-10-22

### Fixed

- We fixed an issue where clicking a label inside a custom content column, such as the label of a checkbox, triggered the double click action with a single click.
Expand Down
2 changes: 1 addition & 1 deletion packages/pluggableWidgets/datagrid-web/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@mendix/datagrid-web",
"widgetName": "Datagrid",
"version": "3.11.7",
"version": "3.11.8",
"description": "A powerful, flexible grid for displaying, sorting, and editing data collections in Mendix web apps.",
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
"license": "Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/pluggableWidgets/datagrid-web/src/package.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://www.mendix.com/package/1.0/">
<clientModule name="Datagrid" version="3.11.7" xmlns="http://www.mendix.com/clientModule/1.0/">
<clientModule name="Datagrid" version="3.11.8" xmlns="http://www.mendix.com/clientModule/1.0/">
<widgetFiles>
<widgetFile path="Datagrid.xml" />
</widgetFiles>
Expand Down
2 changes: 1 addition & 1 deletion packages/pluggableWidgets/dropdown-sort-web/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@mendix/dropdown-sort-web",
"widgetName": "DropdownSort",
"version": "3.11.7",
"version": "3.11.8",
"description": "Adds sorting functionality to Gallery widget.",
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
"license": "Apache-2.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://www.mendix.com/package/1.0/">
<clientModule name="DropdownSort" version="3.11.7" xmlns="http://www.mendix.com/clientModule/1.0/">
<clientModule name="DropdownSort" version="3.11.8" xmlns="http://www.mendix.com/clientModule/1.0/">
<widgetFiles>
<widgetFile path="DropdownSort.xml" />
</widgetFiles>
Expand Down
2 changes: 2 additions & 0 deletions packages/pluggableWidgets/gallery-web/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [Unreleased]

## [3.11.8] - 2026-10-22

### Fixed

- We fixed an issue where clicking a label inside the item content, such as the label of a checkbox, triggered the double click action with a single click.
Expand Down
2 changes: 1 addition & 1 deletion packages/pluggableWidgets/gallery-web/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@mendix/gallery-web",
"widgetName": "Gallery",
"version": "3.11.7",
"version": "3.11.8",
"description": "A flexible gallery widget that renders columns, rows and layouts.",
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
"license": "Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/pluggableWidgets/gallery-web/src/package.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://www.mendix.com/package/1.0/">
<clientModule name="Gallery" version="3.11.7" xmlns="http://www.mendix.com/clientModule/1.0/">
<clientModule name="Gallery" version="3.11.8" xmlns="http://www.mendix.com/clientModule/1.0/">
<widgetFiles>
<widgetFile path="Gallery.xml" />
</widgetFiles>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@mendix/selection-helper-web",
"widgetName": "SelectionHelper",
"version": "3.11.7",
"version": "3.11.8",
"description": "Makes it easier for users to select multiple items in Gallery widget.",
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
"license": "Apache-2.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://www.mendix.com/package/1.0/">
<clientModule name="SelectionHelper" version="3.11.7" xmlns="http://www.mendix.com/clientModule/1.0/">
<clientModule name="SelectionHelper" version="3.11.8" xmlns="http://www.mendix.com/clientModule/1.0/">
<widgetFiles>
<widgetFile path="SelectionHelper.xml" />
</widgetFiles>
Expand Down
2 changes: 1 addition & 1 deletion packages/pluggableWidgets/tree-node-web/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@mendix/tree-node-web",
"widgetName": "TreeNode",
"version": "3.11.7",
"version": "3.11.8",
"description": "A Mendix pluggable widget to display a tree view structure.",
"copyright": "© Mendix Technology BV 2025. All rights reserved.",
"license": "Apache-2.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
// TEMPORARY triage repro — not for merge.
import { renderHook } from "@testing-library/react";
import { ObjectItem } from "mendix";
import { TreeNodeState } from "../../../common/TreeNodeState";
import { TreeConfigRef, useIncrementalTreeData } from "../useIncrementalTreeData";

function makeItem(id: string): ObjectItem {
return { id } as ObjectItem;
}

function makeConfig(parentMap: Record<string, string | undefined>, startExpanded: boolean): TreeConfigRef {
return {
headerType: "text",
headerCaption: { get: (item: ObjectItem) => ({ status: "available", value: String(item.id) }) } as any,
headerContent: undefined,
parentAssociation: {
id: "parent",
get: (item: ObjectItem) => {
const parentId = parentMap[String(item.id)];
return { status: "available", value: parentId ? makeItem(parentId) : undefined };
}
} as any,
startExpanded
};
}

describe("REPRO stuck spinner v2", () => {
it("keeps every node LOADING when the datasource delivers items exactly once", () => {
const config = makeConfig({ root: undefined, child: "root" }, true);
const items = [makeItem("root"), makeItem("child")];
const { result } = renderHook(() => useIncrementalTreeData(items, config));

// Data is present...
expect(result.current[0].id).toBe("root");
expect(result.current[0].children.map(c => c.id)).toEqual(["child"]);
// ...but the state never leaves LOADING -> spinner instead of chevron, body rendered collapsed.
expect(result.current[0].treeNodeState).toBe(TreeNodeState.LOADING);
expect(result.current[0].children[0].treeNodeState).toBe(TreeNodeState.LOADING);
});

it("falls back to LOADING for the whole tree after a refresh that returns new object ids", () => {
const config = makeConfig({ root: undefined, child: "root", "root#2": undefined, "child#2": "root#2" }, true);
const { result, rerender } = renderHook(
({ items }: { items: ObjectItem[] }) => useIncrementalTreeData(items, config),
{ initialProps: { items: [makeItem("root"), makeItem("child")] } }
);

// second update carrying the same ids clears LOADING (the happy path)
rerender({ items: [makeItem("root"), makeItem("child")] });
expect(result.current[0].treeNodeState).toBe(TreeNodeState.EXPANDED);

// search refresh: microflow returns freshly created objects -> new GUIDs
rerender({ items: [makeItem("root#2"), makeItem("child#2")] });

const root = result.current[0];
expect(root.id).toBe("root#2");
expect(root.children.map(c => c.id)).toEqual(["child#2"]);
// stuck: no further datasource update arrives, so this spinner never clears
expect(root.treeNodeState).toBe(TreeNodeState.LOADING);
});
});
2 changes: 1 addition & 1 deletion packages/pluggableWidgets/tree-node-web/src/package.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://www.mendix.com/package/1.0/">
<clientModule name="TreeNode" version="3.11.7" xmlns="http://www.mendix.com/clientModule/1.0/">
<clientModule name="TreeNode" version="3.11.8" xmlns="http://www.mendix.com/clientModule/1.0/">
<widgetFiles>
<widgetFile path="TreeNode.xml" />
</widgetFiles>
Expand Down
Loading