diff --git a/packages/pluggableWidgets/combobox-web/CHANGELOG.md b/packages/pluggableWidgets/combobox-web/CHANGELOG.md index ae917dccb7..a485f3aced 100644 --- a/packages/pluggableWidgets/combobox-web/CHANGELOG.md +++ b/packages/pluggableWidgets/combobox-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 an issue with on change event firing unexpectedly when datasource type is set to database. + ## [2.6.2] - 2025-10-29 ### Fixed diff --git a/packages/pluggableWidgets/combobox-web/package.json b/packages/pluggableWidgets/combobox-web/package.json index 424bf49113..5a02f50a99 100644 --- a/packages/pluggableWidgets/combobox-web/package.json +++ b/packages/pluggableWidgets/combobox-web/package.json @@ -1,7 +1,7 @@ { "name": "@mendix/combobox-web", "widgetName": "Combobox", - "version": "2.6.2", + "version": "2.6.3", "description": "Configurable Combo box widget with suggestions and autocomplete.", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/combobox-web/src/Combobox.xml b/packages/pluggableWidgets/combobox-web/src/Combobox.xml index 274e3ba9af..05a78ddd7e 100644 --- a/packages/pluggableWidgets/combobox-web/src/Combobox.xml +++ b/packages/pluggableWidgets/combobox-web/src/Combobox.xml @@ -50,7 +50,7 @@ Selectable objects - + Selection type diff --git a/packages/pluggableWidgets/combobox-web/src/helpers/Database/DatabaseMultiSelectionSelector.ts b/packages/pluggableWidgets/combobox-web/src/helpers/Database/DatabaseMultiSelectionSelector.ts index 6d083ab8b8..0595dd0995 100644 --- a/packages/pluggableWidgets/combobox-web/src/helpers/Database/DatabaseMultiSelectionSelector.ts +++ b/packages/pluggableWidgets/combobox-web/src/helpers/Database/DatabaseMultiSelectionSelector.ts @@ -1,5 +1,6 @@ import { ThreeStateCheckBoxEnum } from "@mendix/widget-plugin-component-kit/ThreeStateCheckBox"; -import { ListAttributeValue, ObjectItem, SelectionMultiValue } from "mendix"; +import { ActionValue, ListAttributeValue, ObjectItem, SelectionMultiValue } from "mendix"; +import { executeAction } from "@mendix/widget-plugin-platform/framework/execute-action"; import { ComboboxContainerProps, LoadingTypeEnum, @@ -33,6 +34,7 @@ export class DatabaseMultiSelectionSelector implements MultiSelector { protected lazyLoader: LazyLoadProvider = new LazyLoadProvider(); private _objectsMap: Map = new Map(); selectedItemsSorting: SelectedItemsSortingEnum = "none"; + private onChangeEvent?: ActionValue; constructor(props: { filterInputDebounceInterval: number }) { this.caption = new DatabaseCaptionsProvider(this._objectsMap); @@ -124,6 +126,7 @@ export class DatabaseMultiSelectionSelector implements MultiSelector { this.selection.setKeepSelection?.(() => true); this.selectionMethod = props.selectionMethod; this.selectedItemsSorting = props.selectedItemsSorting; + this.onChangeEvent = props.onChangeDatabaseEvent; this.currentId = sortSelectedItems( this.selection?.selection, @@ -154,5 +157,6 @@ export class DatabaseMultiSelectionSelector implements MultiSelector { if (newValue) { this.selection?.setSelection(newValue); } + executeAction(this.onChangeEvent); } } diff --git a/packages/pluggableWidgets/combobox-web/src/helpers/Database/DatabaseSingleSelectionSelector.ts b/packages/pluggableWidgets/combobox-web/src/helpers/Database/DatabaseSingleSelectionSelector.ts index 55944a48fe..f138ee1ddf 100644 --- a/packages/pluggableWidgets/combobox-web/src/helpers/Database/DatabaseSingleSelectionSelector.ts +++ b/packages/pluggableWidgets/combobox-web/src/helpers/Database/DatabaseSingleSelectionSelector.ts @@ -1,4 +1,5 @@ -import { EditableValue, ListAttributeValue, ObjectItem, SelectionSingleValue } from "mendix"; +import { ActionValue, EditableValue, ListAttributeValue, ObjectItem, SelectionSingleValue } from "mendix"; +import { executeAction } from "@mendix/widget-plugin-platform/framework/execute-action"; import { ComboboxContainerProps, LoadingTypeEnum, @@ -32,6 +33,7 @@ export class DatabaseSingleSelectionSelector { @@ -151,5 +154,6 @@ export class DatabaseSingleSelectionSelector - + diff --git a/packages/pluggableWidgets/combobox-web/typings/ComboboxProps.d.ts b/packages/pluggableWidgets/combobox-web/typings/ComboboxProps.d.ts index fcc265d859..f6ccdad766 100644 --- a/packages/pluggableWidgets/combobox-web/typings/ComboboxProps.d.ts +++ b/packages/pluggableWidgets/combobox-web/typings/ComboboxProps.d.ts @@ -87,6 +87,7 @@ export interface ComboboxContainerProps { customEditabilityExpression: DynamicValue; readOnlyStyle: ReadOnlyStyleEnum; onChangeEvent?: ActionValue; + onChangeDatabaseEvent?: ActionValue; onEnterEvent?: ActionValue; onLeaveEvent?: ActionValue; onChangeFilterInputEvent?: ActionValue<{ filterInput: Option }>;