From 87325aa0397acede312d2f2c7499c052c4644562 Mon Sep 17 00:00:00 2001 From: Akaki <31448057+khotcholava@users.noreply.github.com> Date: Thu, 19 Sep 2024 21:46:47 +0400 Subject: [PATCH] chore: multi combobox. Empty dataSource leads to initially invalid form in multi-combobox (#12446) closes (#12427)[https://github.com/SAP/fundamental-ngx/issues/12427] ## Description - Fix formField priority state fallback value in CvaDirective --- libs/cdk/forms/cva/cva.directive.ts | 2 +- .../multi-combobox/base-multi-combobox.class.ts | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/libs/cdk/forms/cva/cva.directive.ts b/libs/cdk/forms/cva/cva.directive.ts index 9f0bf24827d..26137f88735 100644 --- a/libs/cdk/forms/cva/cva.directive.ts +++ b/libs/cdk/forms/cva/cva.directive.ts @@ -196,7 +196,7 @@ export class CvaDirective return 'default'; } - return this.formField?.getPriorityState() || 'error'; + return this.formField?.getPriorityState() || 'default'; }); /** diff --git a/libs/core/multi-combobox/base-multi-combobox.class.ts b/libs/core/multi-combobox/base-multi-combobox.class.ts index a019a7ca6a2..9e1b9581299 100644 --- a/libs/core/multi-combobox/base-multi-combobox.class.ts +++ b/libs/core/multi-combobox/base-multi-combobox.class.ts @@ -537,13 +537,18 @@ export abstract class BaseMultiCombobox { /** @hidden */ protected _processingEmptyData(): void { - this.inputText = this._previousInputText; + if (this._cva.disabled) { + return; + } - this._setInvalidEntry(); + if (this._cva.controlInvalid && this._cva.ngControl?.hasError) { + this._setInvalidEntry(); - if (this._timerSub$) { - this._timerSub$.unsubscribe(); + if (this._timerSub$) { + this._timerSub$.unsubscribe(); + } } + this.inputText = this._previousInputText; this._timerSub$ = timer(this.invalidEntryDisplayTime).subscribe(() => this._unsetInvalidEntry());