@syncfusion/ej2-multicolumn-combobox 33.1.44 → 33.1.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -267,6 +267,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
267
267
  var _this = _super.call(this, options, element) || this;
268
268
  _this.gridInject = new MultiColumnGrid();
269
269
  _this.isShowSpinner = true;
270
+ _this.isClearing = false;
270
271
  _this.gridInject.InjectModules();
271
272
  return _this;
272
273
  }
@@ -526,6 +527,13 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
526
527
  this.updateGridHeight(true, true);
527
528
  }
528
529
  this.popupObj.refreshPosition();
530
+ if (args.requestType === 'refresh') {
531
+ setTimeout(function () {
532
+ if (_this.popupObj && _this.isPopupOpen) {
533
+ _this.popupObj.refreshPosition();
534
+ }
535
+ }, 0);
536
+ }
529
537
  this.gridObj.element.querySelector('.e-content').scrollTop = 0;
530
538
  };
531
539
  MultiColumnComboBox.prototype.handleKeyPressed = function (args) {
@@ -858,6 +866,10 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
858
866
  };
859
867
  MultiColumnComboBox.prototype.initValue = function (isRerender, isValue, isInitial) {
860
868
  var _this = this;
869
+ // Prevent re-entry during null value clearing
870
+ if (this.isClearing) {
871
+ return;
872
+ }
861
873
  var prevItemData = this.gridObj.getSelectedRecords()[0];
862
874
  var prevItemEle = this.gridObj.getSelectedRows()[0];
863
875
  var item;
@@ -868,6 +880,21 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
868
880
  this.isProtectedOnChange = true;
869
881
  this.value = this.value ? this.value.toString() : this.value;
870
882
  this.isProtectedOnChange = prevOnChange;
883
+ // Handle explicit null value assignment
884
+ if (isRerender && isValue && isNullOrUndefined(this.value)) {
885
+ this.isClearing = true;
886
+ // Clear all state when value is explicitly set to null
887
+ var prevOnChangeProtect = this.isProtectedOnChange;
888
+ this.isProtectedOnChange = true;
889
+ Input.setValue('', this.inputEle, this.floatLabelType, this.showClearButton);
890
+ this.setHiddenValue(); // Clears hidden element when value is null
891
+ this.gridObj.clearSelection();
892
+ this.text = null;
893
+ this.index = null;
894
+ this.isProtectedOnChange = prevOnChangeProtect;
895
+ this.isClearing = false;
896
+ return;
897
+ }
871
898
  var updateValues = function (dataList) {
872
899
  var result = _this.updateCurrentValues(item, dataList);
873
900
  currentValue = result.currentValue;