@syncfusion/ej2-dropdowns 28.1.38 → 28.1.41

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.
Files changed (87) hide show
  1. package/dist/ej2-dropdowns.min.js +2 -2
  2. package/dist/ej2-dropdowns.umd.min.js +2 -2
  3. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-dropdowns.es2015.js +84 -33
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +85 -33
  7. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  8. package/dist/global/ej2-dropdowns.min.js +2 -2
  9. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +8 -8
  12. package/src/combo-box/combo-box.js +2 -2
  13. package/src/common/interface.d.ts +1 -0
  14. package/src/common/virtual-scroll.js +1 -0
  15. package/src/drop-down-base/drop-down-base.js +3 -1
  16. package/src/drop-down-list/drop-down-list.d.ts +1 -0
  17. package/src/drop-down-list/drop-down-list.js +19 -4
  18. package/src/drop-down-tree/drop-down-tree.d.ts +1 -0
  19. package/src/drop-down-tree/drop-down-tree.js +13 -9
  20. package/src/list-box/list-box.js +1 -1
  21. package/src/mention/mention.js +3 -1
  22. package/src/multi-select/multi-select.d.ts +4 -2
  23. package/src/multi-select/multi-select.js +43 -15
  24. package/styles/bds-lite.css +8 -0
  25. package/styles/bds.css +8 -0
  26. package/styles/bootstrap-dark-lite.css +8 -0
  27. package/styles/bootstrap-dark.css +8 -0
  28. package/styles/bootstrap-lite.css +8 -0
  29. package/styles/bootstrap.css +8 -0
  30. package/styles/bootstrap4-lite.css +8 -0
  31. package/styles/bootstrap4.css +8 -0
  32. package/styles/bootstrap5-dark-lite.css +8 -0
  33. package/styles/bootstrap5-dark.css +8 -0
  34. package/styles/bootstrap5-lite.css +8 -0
  35. package/styles/bootstrap5.3-lite.css +8 -0
  36. package/styles/bootstrap5.3.css +8 -0
  37. package/styles/bootstrap5.css +8 -0
  38. package/styles/drop-down-list/_layout.scss +8 -0
  39. package/styles/drop-down-list/bds.css +8 -0
  40. package/styles/drop-down-list/bootstrap-dark.css +8 -0
  41. package/styles/drop-down-list/bootstrap.css +8 -0
  42. package/styles/drop-down-list/bootstrap4.css +8 -0
  43. package/styles/drop-down-list/bootstrap5-dark.css +8 -0
  44. package/styles/drop-down-list/bootstrap5.3.css +8 -0
  45. package/styles/drop-down-list/bootstrap5.css +8 -0
  46. package/styles/drop-down-list/fabric-dark.css +8 -0
  47. package/styles/drop-down-list/fabric.css +8 -0
  48. package/styles/drop-down-list/fluent-dark.css +8 -0
  49. package/styles/drop-down-list/fluent.css +8 -0
  50. package/styles/drop-down-list/fluent2.css +8 -0
  51. package/styles/drop-down-list/highcontrast-light.css +8 -0
  52. package/styles/drop-down-list/highcontrast.css +8 -0
  53. package/styles/drop-down-list/material-dark.css +8 -0
  54. package/styles/drop-down-list/material.css +8 -0
  55. package/styles/drop-down-list/material3-dark.css +8 -0
  56. package/styles/drop-down-list/material3.css +8 -0
  57. package/styles/drop-down-list/tailwind-dark.css +8 -0
  58. package/styles/drop-down-list/tailwind.css +8 -0
  59. package/styles/drop-down-list/tailwind3.css +8 -0
  60. package/styles/fabric-dark-lite.css +8 -0
  61. package/styles/fabric-dark.css +8 -0
  62. package/styles/fabric-lite.css +8 -0
  63. package/styles/fabric.css +8 -0
  64. package/styles/fluent-dark-lite.css +8 -0
  65. package/styles/fluent-dark.css +8 -0
  66. package/styles/fluent-lite.css +8 -0
  67. package/styles/fluent.css +8 -0
  68. package/styles/fluent2-lite.css +8 -0
  69. package/styles/fluent2.css +8 -0
  70. package/styles/highcontrast-light-lite.css +8 -0
  71. package/styles/highcontrast-light.css +8 -0
  72. package/styles/highcontrast-lite.css +8 -0
  73. package/styles/highcontrast.css +8 -0
  74. package/styles/material-dark-lite.css +8 -0
  75. package/styles/material-dark.css +8 -0
  76. package/styles/material-lite.css +8 -0
  77. package/styles/material.css +8 -0
  78. package/styles/material3-dark-lite.css +8 -0
  79. package/styles/material3-dark.css +8 -0
  80. package/styles/material3-lite.css +8 -0
  81. package/styles/material3.css +8 -0
  82. package/styles/tailwind-dark-lite.css +8 -0
  83. package/styles/tailwind-dark.css +8 -0
  84. package/styles/tailwind-lite.css +8 -0
  85. package/styles/tailwind.css +8 -0
  86. package/styles/tailwind3-lite.css +8 -0
  87. package/styles/tailwind3.css +8 -0
@@ -581,6 +581,7 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
581
581
  }
582
582
  if (this.component === 'multiselect') {
583
583
  this.parent.updatevirtualizationList();
584
+ this.parent.checkMaxSelection();
584
585
  }
585
586
  this.parent.getSkeletonCount();
586
587
  this.parent.skeletonCount = this.parent.totalItemCount !== 0 && this.parent.totalItemCount < this.parent.itemCount * 2 &&
@@ -2012,8 +2013,10 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
2012
2013
  DropDownBase.prototype.scrollStop = function (e, isDownkey) {
2013
2014
  var target = !isNullOrUndefined(e) ? e.target : this.list;
2014
2015
  var computedHeight = getComputedStyle(this.getValidLi(), null).getPropertyValue('height');
2016
+ var computedMarginValue = getComputedStyle(this.getValidLi(), null).getPropertyValue('margin-bottom');
2017
+ var marginValue = parseInt(computedMarginValue, 10);
2015
2018
  var liHeight = this.getModuleName() === 'multiselect' ? parseFloat(computedHeight) : parseInt(computedHeight, 10);
2016
- var topIndex = Math.round(target.scrollTop / liHeight);
2019
+ var topIndex = Math.round(target.scrollTop / (liHeight + marginValue));
2017
2020
  var liCollections = this.list.querySelectorAll('li' + ':not(.e-hide-listitem)');
2018
2021
  var virtualListCount = this.list.querySelectorAll('.e-virtual-list').length;
2019
2022
  for (var i = topIndex; i > -1; i--) {
@@ -2933,6 +2936,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2933
2936
  _this.autoFill = false;
2934
2937
  _this.isUpdateHeaderHeight = false;
2935
2938
  _this.isUpdateFooterHeight = false;
2939
+ _this.isReactTemplateUpdate = false;
2936
2940
  return _this;
2937
2941
  }
2938
2942
  /**
@@ -3197,7 +3201,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
3197
3201
  };
3198
3202
  };
3199
3203
  DropDownList.prototype.setEnableRtl = function () {
3200
- Input.setEnableRtl(this.enableRtl, [this.inputElement.parentElement]);
3204
+ if (!isNullOrUndefined(this.inputElement) && !isNullOrUndefined(this.inputElement.parentElement)) {
3205
+ Input.setEnableRtl(this.enableRtl, [this.inputElement.parentElement]);
3206
+ }
3201
3207
  if (this.popupObj) {
3202
3208
  this.popupObj.enableRtl = this.enableRtl;
3203
3209
  this.popupObj.dataBind();
@@ -4303,6 +4309,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4303
4309
  setTimeout(function () {
4304
4310
  proxy_1.cloneElements();
4305
4311
  proxy_1.isSecondClick = true;
4312
+ proxy_1.isSecondClick = proxy_1.isReact && proxy_1.isFiltering() && proxy_1.dataSource instanceof DataManager && !proxy_1.list.querySelector('ul') ? false : true;
4306
4313
  }, duration);
4307
4314
  }
4308
4315
  }
@@ -5142,6 +5149,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
5142
5149
  if (this.getInitialData) {
5143
5150
  this.updateActionCompleteDataValues(ulElement, list);
5144
5151
  this.getInitialData = false;
5152
+ this.isReactTemplateUpdate = true;
5145
5153
  this.searchLists(this.filterArgs);
5146
5154
  return;
5147
5155
  }
@@ -5577,6 +5585,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
5577
5585
  addClass([_this.inputWrapper.container], [dropDownListClasses.iconAnimation]);
5578
5586
  }
5579
5587
  _this.renderReactTemplates();
5588
+ if (_this.isReact && _this.isFiltering() && _this.dataSource instanceof DataManager && _this.list.querySelector('ul') && !_this.isSecondClick) {
5589
+ _this.executeCloneElements();
5590
+ }
5580
5591
  if (!isNullOrUndefined(_this.popupObj)) {
5581
5592
  _this.popupObj.show(new Animation(eventArgs.animation), (_this.zIndex === 1000) ? _this.element : null);
5582
5593
  }
@@ -5674,6 +5685,10 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
5674
5685
  _this.destroyPopup();
5675
5686
  if (_this.isFiltering() && _this.actionCompleteData.list && _this.actionCompleteData.list.length > 0) {
5676
5687
  _this.isActive = true;
5688
+ if (_this.isReactTemplateUpdate && _this.isReact && _this.itemTemplate && !_this.enableVirtualization) {
5689
+ _this.actionCompleteData.ulElement = _this.renderItems(_this.actionCompleteData.list, _this.fields);
5690
+ _this.isReactTemplateUpdate = false;
5691
+ }
5677
5692
  if (_this.enableVirtualization) {
5678
5693
  _this.onActionComplete(_this.ulElement, _this.listData, null, true);
5679
5694
  }
@@ -6137,6 +6152,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
6137
6152
  };
6138
6153
  DropDownList.prototype.updateInitialData = function () {
6139
6154
  var currentData = this.selectData;
6155
+ if (isNullOrUndefined(currentData)) {
6156
+ return;
6157
+ }
6140
6158
  var ulElement = this.renderItems(currentData, this.fields);
6141
6159
  this.list.scrollTop = 0;
6142
6160
  this.virtualListInfo = {
@@ -6169,7 +6187,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
6169
6187
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6170
6188
  this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();
6171
6189
  }
6172
- else if (!this.list.querySelector('.e-virtual-ddl')) {
6190
+ else if (!this.list.querySelector('.e-virtual-ddl') && this.list.parentElement) {
6173
6191
  var virualElement = this.createElement('div', {
6174
6192
  id: this.element.id + '_popup', className: 'e-virtual-ddl', styles: this.GetVirtualTrackHeight()
6175
6193
  });
@@ -6927,7 +6945,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
6927
6945
  if (this.isReact && this.isFiltering() && this.itemTemplate != null) {
6928
6946
  setTimeout(function () {
6929
6947
  proxy.cloneElements();
6930
- proxy.isSecondClick = true;
6948
+ proxy.isSecondClick = proxy.isReact && proxy.isFiltering() && proxy.dataSource instanceof DataManager && !proxy.list.querySelector('ul') ? false : true;
6931
6949
  }, duration);
6932
6950
  }
6933
6951
  };
@@ -6984,7 +7002,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
6984
7002
  if (isSelectVal && this.enableVirtualization && this.selectedLI.classList) {
6985
7003
  isSelectVal = this.selectedLI.classList.contains('e-active');
6986
7004
  }
6987
- if (this.inputElement && this.inputElement.value.trim() === '' && !this.isInteracted && (this.isSelectCustom ||
7005
+ if (this.inputElement && this.inputElement.value === '' && !this.isInteracted && (this.isSelectCustom ||
6988
7006
  isSelectVal && this.inputElement.value !== dataItem.text)) {
6989
7007
  this.isSelectCustom = false;
6990
7008
  this.clearAll(e);
@@ -7660,7 +7678,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
7660
7678
  if (firstUl && firstUl.getAttribute('aria-multiselectable')) {
7661
7679
  firstUl.removeAttribute('aria-multiselectable');
7662
7680
  }
7663
- this.oldValue = this.value;
7681
+ this.setOldValue();
7664
7682
  if (!this.isRemoteData) {
7665
7683
  this.isInitialized = true;
7666
7684
  }
@@ -8088,7 +8106,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
8088
8106
  this.triggerChangeEvent(event);
8089
8107
  }
8090
8108
  this.removeValue = false;
8091
- this.oldValue = this.value;
8109
+ this.setOldValue();
8092
8110
  this.trigger('blur');
8093
8111
  };
8094
8112
  DropDownTree.prototype.updateView = function () {
@@ -8121,7 +8139,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
8121
8139
  element: this.element
8122
8140
  };
8123
8141
  this.trigger('change', eventArgs);
8124
- this.oldValue = this.value;
8142
+ this.setOldValue();
8125
8143
  }
8126
8144
  };
8127
8145
  DropDownTree.prototype.ddtCompareValues = function (oldValue, newValue) {
@@ -8592,6 +8610,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
8592
8610
  frameSpan.classList.add(CHECK);
8593
8611
  ariaState = 'true';
8594
8612
  if (!this.isReverseUpdate) {
8613
+ this.setOldValue();
8595
8614
  this.isCheckAllCalled = true;
8596
8615
  this.treeObj.checkAll();
8597
8616
  if (!this.changeOnBlur) {
@@ -8756,7 +8775,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
8756
8775
  }
8757
8776
  }
8758
8777
  if (valArr.length !== 0) {
8759
- this.oldValue = this.value;
8778
+ this.setOldValue();
8760
8779
  this.setProperties({ value: valArr }, true);
8761
8780
  this.setValidValue();
8762
8781
  }
@@ -8767,7 +8786,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
8767
8786
  else {
8768
8787
  data = this.getItems(this.text);
8769
8788
  if (!isNullOrUndefined(data)) {
8770
- this.oldValue = this.value;
8789
+ this.setOldValue();
8771
8790
  this.setProperties({ value: [data[this.fields.value].toString()] }, true);
8772
8791
  this.setValidValue();
8773
8792
  }
@@ -8782,7 +8801,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
8782
8801
  return;
8783
8802
  }
8784
8803
  if (!this.isInitialized) {
8785
- this.oldValue = this.value;
8804
+ this.setOldValue();
8786
8805
  if (this.treeObj.selectedNodes.length > 0 && !this.showCheckBox) {
8787
8806
  this.setProperties({ value: this.treeObj.selectedNodes }, true);
8788
8807
  if (this.allowMultiSelection) {
@@ -9375,7 +9394,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
9375
9394
  };
9376
9395
  DropDownTree.prototype.onBeforeSelect = function (args) {
9377
9396
  if (args.isInteracted) {
9378
- this.oldValue = this.value ? this.value.slice() : this.value;
9397
+ this.setOldValue();
9379
9398
  if (this.value === null) {
9380
9399
  this.setProperties({ value: [] }, true);
9381
9400
  }
@@ -9496,7 +9515,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
9496
9515
  };
9497
9516
  DropDownTree.prototype.beforeCheck = function (args) {
9498
9517
  if (args.isInteracted) {
9499
- this.oldValue = this.value ? this.value.slice() : this.value;
9518
+ this.setOldValue();
9500
9519
  }
9501
9520
  };
9502
9521
  DropDownTree.prototype.onNodeExpanded = function () {
@@ -10047,7 +10066,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
10047
10066
  }
10048
10067
  Input.setValue(null, this.inputEle, this.floatLabelType);
10049
10068
  if (!isDynamicChange) {
10050
- this.oldValue = this.value;
10069
+ this.setOldValue();
10051
10070
  this.setProperties({ value: [] }, true);
10052
10071
  this.showOrHideValueTemplate(false);
10053
10072
  }
@@ -10083,6 +10102,9 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
10083
10102
  this.setLocale(false);
10084
10103
  }
10085
10104
  };
10105
+ DropDownTree.prototype.setOldValue = function () {
10106
+ this.oldValue = Array.isArray(this.value) ? this.value.slice() : this.value;
10107
+ };
10086
10108
  DropDownTree.prototype.selectAllItems = function (state) {
10087
10109
  if (this.showCheckBox) {
10088
10110
  if (state) {
@@ -11508,7 +11530,7 @@ var ComboBox = /** @__PURE__ @class */ (function (_super) {
11508
11530
  this.onChangeEvent(e);
11509
11531
  }
11510
11532
  }
11511
- if (e.action === 'enter' && this.inputElement.value.trim() === '') {
11533
+ if (e.action === 'enter' && this.inputElement.value === '') {
11512
11534
  this.clearAll(e);
11513
11535
  }
11514
11536
  else if (this.isTyped && !this.isSelected && isNullOrUndefined(li)) {
@@ -11554,7 +11576,7 @@ var ComboBox = /** @__PURE__ @class */ (function (_super) {
11554
11576
  this.onChangeEvent(null);
11555
11577
  }
11556
11578
  }
11557
- else if (this.inputElement.value.trim() !== '') {
11579
+ else if (this.inputElement.value !== '') {
11558
11580
  var previousValue_1 = this.value;
11559
11581
  if (isNullOrUndefined(value)) {
11560
11582
  var value_1 = this.inputElement.value === '' ? null : this.inputElement.value;
@@ -12735,11 +12757,11 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
12735
12757
  _this.storedSelectAllHeight = 0;
12736
12758
  _this.isUpdateHeaderHeight = false;
12737
12759
  _this.isUpdateFooterHeight = false;
12760
+ _this.isBlurDispatching = false;
12761
+ _this.isFilterPrevented = false;
12738
12762
  _this.isValidKey = false;
12739
12763
  _this.selectAllEventData = [];
12740
12764
  _this.selectAllEventEle = [];
12741
- _this.resetMainList = null;
12742
- _this.resetFilteredData = false;
12743
12765
  _this.preventSetCurrentData = false;
12744
12766
  _this.isSelectAllLoop = false;
12745
12767
  _this.scrollFocusStatus = false;
@@ -13193,10 +13215,24 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
13193
13215
  };
13194
13216
  /* eslint-disable @typescript-eslint/no-unused-vars */
13195
13217
  MultiSelect.prototype.onActionComplete = function (ulElement, list, e, isUpdated) {
13218
+ var _this = this;
13196
13219
  if (this.dataSource instanceof DataManager && !isNullOrUndefined(e) && !this.virtualGroupDataSource) {
13197
13220
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13198
13221
  this.totalItemCount = e.count;
13199
13222
  }
13223
+ if (this.value && list && list.length > 0 && this.allowFiltering && this.mode !== 'CheckBox' && !this.enableVirtualization && !this.isFilterPrevented && !this.allowCustomValue) {
13224
+ var allItemsInValue = list.every(function (item) {
13225
+ var itemValue = getValue((_this.fields.value) ? _this.fields.value : '', item);
13226
+ return _this.value.some(function (val) {
13227
+ var value = _this.allowObjectBinding ? getValue((_this.fields.value) ? _this.fields.value : '', val) : val;
13228
+ return itemValue === value;
13229
+ });
13230
+ });
13231
+ if (allItemsInValue) {
13232
+ ulElement.innerHTML = '';
13233
+ list = [];
13234
+ }
13235
+ }
13200
13236
  /* eslint-enable @typescript-eslint/no-unused-vars */
13201
13237
  _super.prototype.onActionComplete.call(this, ulElement, list, e);
13202
13238
  this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < (this.itemCount * 2) &&
@@ -13286,6 +13322,9 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
13286
13322
  if (!this.enableVirtualization || (this.enableVirtualization && (!(this.dataSource instanceof DataManager)))) {
13287
13323
  this.initialValueUpdate();
13288
13324
  }
13325
+ else {
13326
+ this.initialValueUpdate(this.listData, true);
13327
+ }
13289
13328
  this.initialUpdate();
13290
13329
  this.refreshPlaceHolder();
13291
13330
  if (this.mode !== 'CheckBox' && this.changeOnBlur) {
@@ -13845,6 +13884,10 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
13845
13884
  };
13846
13885
  MultiSelect.prototype.onBlurHandler = function (eve, isDocClickFromCheck) {
13847
13886
  var target;
13887
+ if (this.isBlurDispatching && this.isAngular) {
13888
+ this.isBlurDispatching = false;
13889
+ return;
13890
+ }
13848
13891
  if (!isNullOrUndefined(eve)) {
13849
13892
  target = eve.relatedTarget;
13850
13893
  }
@@ -13890,10 +13933,6 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
13890
13933
  }
13891
13934
  }
13892
13935
  this.updateDataList();
13893
- if (this.resetMainList) {
13894
- this.mainList = this.resetMainList;
13895
- this.resetMainList = null;
13896
- }
13897
13936
  this.refreshListItems(null);
13898
13937
  if (this.mode !== 'Box' && this.mode !== 'CheckBox') {
13899
13938
  this.updateDelimView();
@@ -13927,6 +13966,10 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
13927
13966
  this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {
13928
13967
  this.overAllWrapper.getElementsByClassName('e-float-text-content')[0].classList.add('e-icon');
13929
13968
  }
13969
+ this.isBlurDispatching = true;
13970
+ if (this.isAngular) {
13971
+ this.dispatchEvent(this.inputElement, 'blur');
13972
+ }
13930
13973
  };
13931
13974
  MultiSelect.prototype.calculateWidth = function () {
13932
13975
  var elementWidth;
@@ -15576,6 +15619,10 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
15576
15619
  if (!this.list) {
15577
15620
  _super.prototype.render.call(this);
15578
15621
  }
15622
+ if (this.popupObj && document.body.contains(this.popupObj.element) && this.allowFiltering) {
15623
+ this.refreshPopup();
15624
+ return;
15625
+ }
15579
15626
  if (!this.popupObj) {
15580
15627
  if (!isNullOrUndefined(this.popupWrapper)) {
15581
15628
  document.body.appendChild(this.popupWrapper);
@@ -16032,7 +16079,6 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16032
16079
  };
16033
16080
  MultiSelect.prototype.search = function (e) {
16034
16081
  var _this = this;
16035
- this.resetFilteredData = true;
16036
16082
  this.preventSetCurrentData = false;
16037
16083
  this.firstItem = this.dataSource && this.dataSource.length > 0 ? this.dataSource[0] : null;
16038
16084
  if (!isNullOrUndefined(e)) {
@@ -16069,6 +16115,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16069
16115
  cancel: false
16070
16116
  };
16071
16117
  this.trigger('filtering', eventArgs_1, function (eventArgs) {
16118
+ _this.isFilterPrevented = eventArgs.cancel;
16072
16119
  if (!eventArgs.cancel) {
16073
16120
  if (!_this.isFiltered && !eventArgs.preventDefaultAction) {
16074
16121
  _this.filterAction = true;
@@ -16248,7 +16295,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16248
16295
  else {
16249
16296
  if (this_1.listData) {
16250
16297
  if (this_1.enableVirtualization) {
16251
- if (delim) {
16298
+ if (delim && !this_1.isDynamicRemoteVirtualData) {
16252
16299
  data = this_1.delimiterWrapper && this_1.delimiterWrapper.innerHTML === '' ? data :
16253
16300
  this_1.delimiterWrapper.innerHTML;
16254
16301
  }
@@ -16261,7 +16308,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16261
16308
  }
16262
16309
  else {
16263
16310
  temp = isInitialVirtualData && delim ? this_1.text : this_1.getTextByValue(value);
16264
- var textValues = isInitialVirtualData ? this_1.text : (this_1.text && this_1.text !== '' ? this_1.text + this_1.delimiterChar + temp : temp);
16311
+ var textValues = this_1.isDynamicRemoteVirtualData && value != null && value !== '' ? this_1.getTextByValue(value) : isInitialVirtualData ? this_1.text : (this_1.text && this_1.text !== '' ? this_1.text + this_1.delimiterChar + temp : temp);
16265
16312
  data += temp + delimiterChar + ' ';
16266
16313
  text.push(textValues);
16267
16314
  hiddenElementContent = this_1.hiddenElement.innerHTML;
@@ -16429,7 +16476,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16429
16476
  (this.mode === 'Box' || this.mode === 'Default'))) ||
16430
16477
  (this.enableVirtualization && value != null && text != null && !isCustomData)) {
16431
16478
  var currentText = [];
16432
- var textValues = this.text != null && this.text !== '' ? this.text + this.delimiterChar + text : text;
16479
+ var textValues = this.isDynamicRemoteVirtualData && text != null && text !== '' ? text : this.text != null && this.text !== '' ? this.text + this.delimiterChar + text : text;
16433
16480
  currentText.push(textValues);
16434
16481
  this.setProperties({ text: currentText.toString() }, true);
16435
16482
  this.addChip(text, value);
@@ -17743,11 +17790,6 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
17743
17790
  MultiSelect.prototype.onPropertyChanged = function (newProp, oldProp) {
17744
17791
  if (newProp.dataSource && !isNullOrUndefined(Object.keys(newProp.dataSource))
17745
17792
  || newProp.query && !isNullOrUndefined(Object.keys(newProp.query))) {
17746
- if (this.resetFilteredData) {
17747
- // The filtered data is not being reset in the component after the user focuses out.
17748
- this.resetMainList = !this.resetMainList ? this.mainList : this.resetMainList;
17749
- this.resetFilteredData = false;
17750
- }
17751
17793
  this.mainList = null;
17752
17794
  this.mainData = null;
17753
17795
  this.isFirstClick = false;
@@ -18016,6 +18058,12 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
18016
18058
  if (!this.enableVirtualization || (this.enableVirtualization && (!(this.dataSource instanceof DataManager)))) {
18017
18059
  this.initialValueUpdate();
18018
18060
  }
18061
+ else if (!this.isInitRemoteVirtualData) {
18062
+ this.isDynamicRemoteVirtualData = true;
18063
+ this.initialValueUpdate(this.listData, true);
18064
+ this.isDynamicRemoteVirtualData = false;
18065
+ this.initialUpdate();
18066
+ }
18019
18067
  if (this.mode !== 'Box' && !this.inputFocus) {
18020
18068
  this.updateDelimView();
18021
18069
  }
@@ -18613,9 +18661,11 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
18613
18661
  if (e.result.length > 0) {
18614
18662
  listItems_2 = e.result;
18615
18663
  _this.initStatus = false;
18664
+ _this.isInitRemoteVirtualData = true;
18616
18665
  setTimeout(function () {
18617
18666
  _this.initialValueUpdate(listItems_2, true);
18618
18667
  _this.initialUpdate();
18668
+ _this.isInitRemoteVirtualData = false;
18619
18669
  }, 100);
18620
18670
  _this.initStatus = true;
18621
18671
  }
@@ -21675,7 +21725,7 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
21675
21725
  };
21676
21726
  ListBox.prototype.KeyUp = function (e) {
21677
21727
  var _this = this;
21678
- if (this.allowFiltering && e.ctrlKey && e.keyCode === 65) {
21728
+ if (this.allowFiltering && ((e.ctrlKey && e.keyCode === 65) || (e.keyCode === 8 && !this.filterInput.value))) {
21679
21729
  e.preventDefault();
21680
21730
  return;
21681
21731
  }
@@ -22436,7 +22486,9 @@ var Mention = /** @__PURE__ @class */ (function (_super) {
22436
22486
  ? document.querySelector(this.target)
22437
22487
  : this.target) : this.element;
22438
22488
  if (this.isContentEditable(this.inputElement)) {
22439
- this.inputElement.setAttribute('contenteditable', 'true');
22489
+ if (!this.inputElement.hasAttribute('contenteditable')) {
22490
+ this.inputElement.setAttribute('contenteditable', 'true');
22491
+ }
22440
22492
  addClass([this.inputElement], ['e-mention']);
22441
22493
  if (isNullOrUndefined(this.target)) {
22442
22494
  addClass([this.inputElement], ['e-editable-element']);