@syncfusion/ej2-dropdowns 27.1.51 → 27.1.53

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 (96) 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 +149 -56
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +149 -56
  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 +9 -9
  12. package/src/combo-box/combo-box.js +1 -0
  13. package/src/drop-down-base/drop-down-base.js +21 -15
  14. package/src/drop-down-list/drop-down-list.d.ts +2 -1
  15. package/src/drop-down-list/drop-down-list.js +6 -2
  16. package/src/drop-down-tree/drop-down-tree.js +3 -3
  17. package/src/list-box/list-box.js +28 -4
  18. package/src/multi-select/multi-select.js +90 -32
  19. package/styles/bootstrap-dark-lite.css +5 -0
  20. package/styles/bootstrap-dark.css +5 -0
  21. package/styles/bootstrap-lite.css +5 -0
  22. package/styles/bootstrap.css +5 -0
  23. package/styles/bootstrap4-lite.css +5 -0
  24. package/styles/bootstrap4.css +5 -0
  25. package/styles/bootstrap5-dark-lite.css +5 -0
  26. package/styles/bootstrap5-dark.css +5 -0
  27. package/styles/bootstrap5-lite.css +5 -0
  28. package/styles/bootstrap5.3-lite.css +5 -0
  29. package/styles/bootstrap5.3.css +5 -0
  30. package/styles/bootstrap5.css +5 -0
  31. package/styles/drop-down-list/_layout.scss +1 -0
  32. package/styles/drop-down-list/bootstrap-dark.css +1 -0
  33. package/styles/drop-down-list/bootstrap.css +1 -0
  34. package/styles/drop-down-list/bootstrap4.css +1 -0
  35. package/styles/drop-down-list/bootstrap5-dark.css +1 -0
  36. package/styles/drop-down-list/bootstrap5.3.css +1 -0
  37. package/styles/drop-down-list/bootstrap5.css +1 -0
  38. package/styles/drop-down-list/fabric-dark.css +1 -0
  39. package/styles/drop-down-list/fabric.css +1 -0
  40. package/styles/drop-down-list/fluent-dark.css +1 -0
  41. package/styles/drop-down-list/fluent.css +1 -0
  42. package/styles/drop-down-list/fluent2.css +1 -0
  43. package/styles/drop-down-list/highcontrast-light.css +1 -0
  44. package/styles/drop-down-list/highcontrast.css +1 -0
  45. package/styles/drop-down-list/material-dark.css +1 -0
  46. package/styles/drop-down-list/material.css +1 -0
  47. package/styles/drop-down-list/material3-dark.css +1 -0
  48. package/styles/drop-down-list/material3.css +1 -0
  49. package/styles/drop-down-list/tailwind-dark.css +1 -0
  50. package/styles/drop-down-list/tailwind.css +1 -0
  51. package/styles/fabric-dark-lite.css +5 -0
  52. package/styles/fabric-dark.css +5 -0
  53. package/styles/fabric-lite.css +5 -0
  54. package/styles/fabric.css +5 -0
  55. package/styles/fluent-dark-lite.css +5 -0
  56. package/styles/fluent-dark.css +5 -0
  57. package/styles/fluent-lite.css +5 -0
  58. package/styles/fluent.css +5 -0
  59. package/styles/fluent2-lite.css +5 -0
  60. package/styles/fluent2.css +5 -0
  61. package/styles/highcontrast-light-lite.css +5 -0
  62. package/styles/highcontrast-light.css +5 -0
  63. package/styles/highcontrast-lite.css +5 -0
  64. package/styles/highcontrast.css +5 -0
  65. package/styles/material-dark-lite.css +5 -0
  66. package/styles/material-dark.css +5 -0
  67. package/styles/material-lite.css +5 -0
  68. package/styles/material.css +5 -0
  69. package/styles/material3-dark-lite.css +5 -0
  70. package/styles/material3-dark.css +5 -0
  71. package/styles/material3-lite.css +5 -0
  72. package/styles/material3.css +5 -0
  73. package/styles/multi-select/_layout.scss +4 -0
  74. package/styles/multi-select/bootstrap-dark.css +4 -0
  75. package/styles/multi-select/bootstrap.css +4 -0
  76. package/styles/multi-select/bootstrap4.css +4 -0
  77. package/styles/multi-select/bootstrap5-dark.css +4 -0
  78. package/styles/multi-select/bootstrap5.3.css +4 -0
  79. package/styles/multi-select/bootstrap5.css +4 -0
  80. package/styles/multi-select/fabric-dark.css +4 -0
  81. package/styles/multi-select/fabric.css +4 -0
  82. package/styles/multi-select/fluent-dark.css +4 -0
  83. package/styles/multi-select/fluent.css +4 -0
  84. package/styles/multi-select/fluent2.css +4 -0
  85. package/styles/multi-select/highcontrast-light.css +4 -0
  86. package/styles/multi-select/highcontrast.css +4 -0
  87. package/styles/multi-select/material-dark.css +4 -0
  88. package/styles/multi-select/material.css +4 -0
  89. package/styles/multi-select/material3-dark.css +4 -0
  90. package/styles/multi-select/material3.css +4 -0
  91. package/styles/multi-select/tailwind-dark.css +4 -0
  92. package/styles/multi-select/tailwind.css +4 -0
  93. package/styles/tailwind-dark-lite.css +5 -0
  94. package/styles/tailwind-dark.css +5 -0
  95. package/styles/tailwind-lite.css +5 -0
  96. package/styles/tailwind.css +5 -0
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 27.1.51
3
+ * version : 27.1.53
4
4
  * Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-dropdowns@*",
3
- "_id": "@syncfusion/ej2-dropdowns@27.1.50",
3
+ "_id": "@syncfusion/ej2-dropdowns@27.1.52",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-d+GdPNjbqOxz9DrSa/8uKyenGw0SkyE4raSfIApI5VXDrcafbRTPRJOxQ2v1qOc/vB5DhLFWrmrl/DjyEPMa/w==",
5
+ "_integrity": "sha512-lgrKKbthjGtnEjuwnAZd+5EzMt2JLyNRVUP0+SPCG7vJWyXFle2NiJX0FKIogrUk2Idaif+qtcs9CXIBh8NOBw==",
6
6
  "_location": "/@syncfusion/ej2-dropdowns",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -36,8 +36,8 @@
36
36
  "/@syncfusion/ej2-spreadsheet",
37
37
  "/@syncfusion/ej2-vue-dropdowns"
38
38
  ],
39
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-27.1.50.tgz",
40
- "_shasum": "5a6cca641f4d7086aa4fb372124b73e9014568f3",
39
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-27.1.52.tgz",
40
+ "_shasum": "f5fe34cbcdf22285b14cce67aba1da75d36b301d",
41
41
  "_spec": "@syncfusion/ej2-dropdowns@*",
42
42
  "_where": "/jenkins/workspace/elease-automation_release_27.1.1/packages/included",
43
43
  "author": {
@@ -45,13 +45,13 @@
45
45
  },
46
46
  "bundleDependencies": false,
47
47
  "dependencies": {
48
- "@syncfusion/ej2-base": "~27.1.50",
49
- "@syncfusion/ej2-data": "~27.1.51",
48
+ "@syncfusion/ej2-base": "~27.1.53",
49
+ "@syncfusion/ej2-data": "~27.1.52",
50
50
  "@syncfusion/ej2-inputs": "~27.1.50",
51
51
  "@syncfusion/ej2-lists": "~27.1.50",
52
- "@syncfusion/ej2-navigations": "~27.1.51",
52
+ "@syncfusion/ej2-navigations": "~27.1.53",
53
53
  "@syncfusion/ej2-notifications": "~27.1.50",
54
- "@syncfusion/ej2-popups": "~27.1.50"
54
+ "@syncfusion/ej2-popups": "~27.1.53"
55
55
  },
56
56
  "deprecated": false,
57
57
  "description": "Essential JS 2 DropDown Components",
@@ -76,7 +76,7 @@
76
76
  "module": "./index.js",
77
77
  "name": "@syncfusion/ej2-dropdowns",
78
78
  "typings": "index.d.ts",
79
- "version": "27.1.51",
79
+ "version": "27.1.53",
80
80
  "sideEffects": false,
81
81
  "homepage": "https://www.syncfusion.com/javascript-ui-controls"
82
82
  }
@@ -836,6 +836,7 @@ var ComboBox = /** @class */ (function (_super) {
836
836
  _super.prototype.render.call(this);
837
837
  this.setSearchBox();
838
838
  this.renderComplete();
839
+ this.autoFill = this.autofill;
839
840
  };
840
841
  /**
841
842
  * Return the module name of this component.
@@ -1219,6 +1219,10 @@ var DropDownBase = /** @class */ (function (_super) {
1219
1219
  DropDownBase.prototype.renderItems = function (listData, fields, isCheckBoxUpdate) {
1220
1220
  var ulElement;
1221
1221
  if (this.itemTemplate && listData) {
1222
+ if (this.getModuleName() === 'multiselect' && this.virtualSelectAll) {
1223
+ this.virtualSelectAllData = listData;
1224
+ listData = listData.slice(this.virtualItemStartIndex, this.virtualItemEndIndex);
1225
+ }
1222
1226
  var dataSource = listData;
1223
1227
  if (dataSource && fields.groupBy) {
1224
1228
  if (this.sortOrder !== 'None') {
@@ -1226,7 +1230,7 @@ var DropDownBase = /** @class */ (function (_super) {
1226
1230
  }
1227
1231
  dataSource = ListBase.groupDataSource(dataSource, fields.properties, this.sortOrder);
1228
1232
  }
1229
- else {
1233
+ else if (this.getModuleName() !== 'listbox' || (this.getModuleName() === 'listbox' && !this.preventDefActionFilter)) {
1230
1234
  dataSource = this.getSortedDataSource(dataSource);
1231
1235
  }
1232
1236
  this.sortedData = dataSource;
@@ -1234,21 +1238,23 @@ var DropDownBase = /** @class */ (function (_super) {
1234
1238
  new DataManager(dataSource).executeLocal(new Query().take(100))
1235
1239
  : dataSource;
1236
1240
  ulElement = this.templateListItem((this.getModuleName() === 'autocomplete') ? spliceData : dataSource, fields);
1237
- var oldUlElement = this.list.querySelector('.e-list-parent');
1238
- var virtualUlElement = this.list.querySelector('.e-virtual-ddl-content');
1239
- if ((listData.length >= this.virtualizedItemsCount && oldUlElement && virtualUlElement) || (oldUlElement && virtualUlElement && this.isAllowFiltering) || (oldUlElement && virtualUlElement && this.getModuleName() === 'autocomplete')) {
1240
- virtualUlElement.replaceChild(ulElement, oldUlElement);
1241
- var reOrderList = this.list.querySelectorAll('.e-reorder');
1242
- if (this.list.querySelector('.e-virtual-ddl-content') && reOrderList && reOrderList.length > 0 && !isCheckBoxUpdate) {
1243
- this.list.querySelector('.e-virtual-ddl-content').removeChild(reOrderList[0]);
1241
+ if (this.isVirtualizationEnabled) {
1242
+ var oldUlElement = this.list.querySelector('.e-list-parent');
1243
+ var virtualUlElement = this.list.querySelector('.e-virtual-ddl-content');
1244
+ if ((listData.length >= this.virtualizedItemsCount && oldUlElement && virtualUlElement) || (oldUlElement && virtualUlElement && this.isAllowFiltering) || (oldUlElement && virtualUlElement && this.getModuleName() === 'autocomplete')) {
1245
+ virtualUlElement.replaceChild(ulElement, oldUlElement);
1246
+ var reOrderList = this.list.querySelectorAll('.e-reorder');
1247
+ if (this.list.querySelector('.e-virtual-ddl-content') && reOrderList && reOrderList.length > 0 && !isCheckBoxUpdate) {
1248
+ this.list.querySelector('.e-virtual-ddl-content').removeChild(reOrderList[0]);
1249
+ }
1250
+ this.updateListElements(listData);
1251
+ }
1252
+ else if (!virtualUlElement) {
1253
+ this.list.innerHTML = '';
1254
+ this.createVirtualContent();
1255
+ this.list.querySelector('.e-virtual-ddl-content').appendChild(ulElement);
1256
+ this.updateListElements(listData);
1244
1257
  }
1245
- this.updateListElements(listData);
1246
- }
1247
- else if ((!virtualUlElement)) {
1248
- this.list.innerHTML = '';
1249
- this.createVirtualContent();
1250
- this.list.querySelector('.e-virtual-ddl-content').appendChild(ulElement);
1251
- this.updateListElements(listData);
1252
1258
  }
1253
1259
  }
1254
1260
  else {
@@ -109,6 +109,7 @@ export declare class DropDownList extends DropDownBase implements IInput {
109
109
  private isTouched;
110
110
  protected isFocused: boolean;
111
111
  private clearButton;
112
+ protected autoFill: boolean;
112
113
  /**
113
114
  * Sets CSS classes to the root element of the component that allows customization of appearance.
114
115
  *
@@ -519,7 +520,7 @@ export declare class DropDownList extends DropDownBase implements IInput {
519
520
  }[] | DataManager | string[] | number[] | boolean[], query?: Query, fields?: FieldSettingsModel): void;
520
521
  private filteringAction;
521
522
  protected setSearchBox(popupElement: HTMLElement): InputObject;
522
- protected onInput(e: KeyboardEventArgs): void;
523
+ protected onInput(e: any): void;
523
524
  protected pasteHandler(e: KeyboardEventArgs): void;
524
525
  protected onActionFailure(e: Object): void;
525
526
  protected getTakeValue(): number;
@@ -89,6 +89,7 @@ var DropDownList = /** @class */ (function (_super) {
89
89
  _this.preventChange = false;
90
90
  _this.isTouched = false;
91
91
  _this.isFocused = false;
92
+ _this.autoFill = false;
92
93
  return _this;
93
94
  }
94
95
  /**
@@ -2135,6 +2136,9 @@ var DropDownList = /** @class */ (function (_super) {
2135
2136
  }
2136
2137
  };
2137
2138
  DropDownList.prototype.onInput = function (e) {
2139
+ if (!isNullOrUndefined(e) && !isNullOrUndefined(e.data) && e.data.length > 1 && this.autoFill && (this.getModuleName() === 'combobox' || this.getModuleName() === 'autocomplete')) {
2140
+ this.inputElement.value = e.data;
2141
+ }
2138
2142
  this.isValidKey = true;
2139
2143
  if (this.getModuleName() === 'combobox') {
2140
2144
  this.updateIconState();
@@ -2344,7 +2348,7 @@ var DropDownList = /** @class */ (function (_super) {
2344
2348
  if (!isNullOrUndefined(this.itemData) && !isNullOrUndefined(newElement)) {
2345
2349
  var value_2 = this.getItemData().value;
2346
2350
  var isExist = listData.some(function (data) {
2347
- return (((typeof data === 'string' || typeof data === 'number') && data === value_2) ||
2351
+ return (((typeof data === 'string' || typeof data === 'number' || typeof data === 'boolean') && data === value_2) ||
2348
2352
  (getValue(_this.fields.value, data) === value_2));
2349
2353
  });
2350
2354
  if (!isExist) {
@@ -2649,7 +2653,7 @@ var DropDownList = /** @class */ (function (_super) {
2649
2653
  _this.isNotSearchList = false;
2650
2654
  _this.isDocumentClick = false;
2651
2655
  _this.destroyPopup();
2652
- if (_this.isFiltering() && _this.actionCompleteData.list && _this.actionCompleteData.list[0]) {
2656
+ if (_this.isFiltering() && _this.actionCompleteData.list && _this.actionCompleteData.list.length > 0) {
2653
2657
  _this.isActive = true;
2654
2658
  if (_this.enableVirtualization) {
2655
2659
  _this.onActionComplete(_this.ulElement, _this.listData, null, true);
@@ -1710,8 +1710,8 @@ var DropDownTree = /** @class */ (function (_super) {
1710
1710
  }
1711
1711
  else {
1712
1712
  var oldFocussedNode = _this.treeObj.element.querySelector('.e-node-focus');
1713
- focusedElement = _this.treeObj.element.querySelector('li[tabindex="0"]:not(.e-disable):not(.e-prevent)') ||
1714
- _this.treeObj.element.querySelector('li:not(.e-disable):not(.e-prevent)');
1713
+ focusedElement = _this.treeObj.element.querySelector('li[tabindex="0"]:not(.e-disable)') ||
1714
+ _this.treeObj.element.querySelector('li:not(.e-disable)');
1715
1715
  if (oldFocussedNode && oldFocussedNode !== focusedElement) {
1716
1716
  oldFocussedNode.setAttribute('tabindex', '-1');
1717
1717
  removeClass([oldFocussedNode], 'e-node-focus');
@@ -2155,7 +2155,7 @@ var DropDownTree = /** @class */ (function (_super) {
2155
2155
  var id = getValue('id', args.data[0]).toString();
2156
2156
  this.removeSelectedData(id, true);
2157
2157
  }
2158
- if (!this.isChipDelete && args.isInteracted) {
2158
+ if (!this.isChipDelete && args.isInteracted || (!this.isFilteredData && args.action === 'check' && this.isFromFilterChange)) {
2159
2159
  this.setMultiSelect();
2160
2160
  this.ensurePlaceHolder();
2161
2161
  }
@@ -721,6 +721,12 @@ var ListBox = /** @class */ (function (_super) {
721
721
  liCollElem[i].classList.remove('e-grabbed');
722
722
  }
723
723
  }
724
+ if (this.toolbarSettings.items.length > 0) {
725
+ this.updateToolBarState();
726
+ }
727
+ else if (this.tBListBox && this.tBListBox.toolbarSettings.items.length > 0) {
728
+ this.tBListBox.updateToolBarState();
729
+ }
724
730
  };
725
731
  ListBox.prototype.updateListItems = function (sourceElem, destElem) {
726
732
  destElem.innerHTML = '';
@@ -806,6 +812,17 @@ var ListBox = /** @class */ (function (_super) {
806
812
  li.setAttribute('aria-disabled', 'true');
807
813
  }
808
814
  });
815
+ if (this.allowFiltering && this.filterInput && this.filterInput.value !== '' && this.toolbarSettings.items.length > 0) {
816
+ var canDisable_1 = false;
817
+ this.ulElement.childNodes.forEach(function (li) { if (!li.classList.contains('e-disabled')) {
818
+ canDisable_1 = true;
819
+ } });
820
+ if (!canDisable_1) {
821
+ var wrap = this.list.parentElement.getElementsByClassName('e-listbox-tool')[0];
822
+ var btn = wrap.querySelector('[data-value="moveAllTo"]');
823
+ btn.disabled = true;
824
+ }
825
+ }
809
826
  };
810
827
  /**
811
828
  * Based on the state parameter, specified list item will be selected/deselected.
@@ -1669,6 +1686,12 @@ var ListBox = /** @class */ (function (_super) {
1669
1686
  if (fListBox.value.length === 1 && fListBox.getSelectedItems().length) {
1670
1687
  fListBox.value[0] = fListBox.getFormattedValue(fListBox.getSelectedItems()[0].getAttribute('data-value'));
1671
1688
  }
1689
+ if (fListBox.liCollections.length === fListBox.ulElement.querySelectorAll('.e-disabled').length) {
1690
+ var wrap = this.list.parentElement.getElementsByClassName('e-listbox-tool')[0];
1691
+ var toolbarAction = this.toolbarAction === 'moveFrom' ? 'moveAllFrom' : 'moveAllTo';
1692
+ var btn = wrap.querySelector('[data-value="' + toolbarAction + '"]');
1693
+ btn.disabled = true;
1694
+ }
1672
1695
  };
1673
1696
  ListBox.prototype.selectNextList = function (elems, dataLiIdx, dataIdx, inst) {
1674
1697
  var childCnt = inst.ulElement.querySelectorAll('.e-list-item').length;
@@ -1792,7 +1815,7 @@ var ListBox = /** @class */ (function (_super) {
1792
1815
  if (tempLiColl.length > 0) {
1793
1816
  for (var i = 0; i < tempLiColl.length; i++) {
1794
1817
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1795
- disabledData_1.push(this.getDataByValue(tempLiColl[i].getAttribute('data-value')));
1818
+ disabledData_1.push(fListBox.getDataByValue(tempLiColl[i].getAttribute('data-value')));
1796
1819
  }
1797
1820
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1798
1821
  fListBox.listData = fListBox.listData.filter(function (obj1) {
@@ -1816,9 +1839,7 @@ var ListBox = /** @class */ (function (_super) {
1816
1839
  }
1817
1840
  if (isRefresh) {
1818
1841
  var sourceElem = tListBox.renderItems(listData, tListBox.fields);
1819
- if (!this.itemTemplate) {
1820
- tListBox.updateListItems(sourceElem, tListBox.ulElement);
1821
- }
1842
+ tListBox.updateListItems(sourceElem, tListBox.ulElement);
1822
1843
  }
1823
1844
  else {
1824
1845
  tListBox.sortedData = listData;
@@ -2270,6 +2291,9 @@ var ListBox = /** @class */ (function (_super) {
2270
2291
  }
2271
2292
  }
2272
2293
  else {
2294
+ if (inst.ulElement.querySelectorAll('.e-disabled').length > 0) {
2295
+ return inst.liCollections.length === inst.ulElement.querySelectorAll('.e-disabled').length;
2296
+ }
2273
2297
  return inst.ulElement.querySelectorAll('.' + cssClass.li).length === 0;
2274
2298
  }
2275
2299
  };
@@ -2590,7 +2590,7 @@ var MultiSelect = /** @class */ (function (_super) {
2590
2590
  var value_1 = this.allowObjectBinding ?
2591
2591
  getValue(((this.fields.value) ? this.fields.value : ''), this.value[this.value.length - 1]) :
2592
2592
  this.value[this.value.length - 1];
2593
- var temp = this.getTextByValue(value_1);
2593
+ var temp = text;
2594
2594
  var textValues = this.text != null && this.text !== '' ? this.text + ',' + temp : temp;
2595
2595
  currentText.push(textValues);
2596
2596
  this.setProperties({ text: currentText.toString() }, true);
@@ -2627,12 +2627,12 @@ var MultiSelect = /** @class */ (function (_super) {
2627
2627
  removeClass(collection, 'e-disable');
2628
2628
  }
2629
2629
  };
2630
- MultiSelect.prototype.dispatchSelect = function (value, eve, element, isNotTrigger, length) {
2630
+ MultiSelect.prototype.dispatchSelect = function (value, eve, element, isNotTrigger, length, dataValue, text) {
2631
2631
  var _this = this;
2632
2632
  var list = this.listData;
2633
2633
  if (this.initStatus && !isNotTrigger) {
2634
2634
  value = this.allowObjectBinding ? getValue(((this.fields.value) ? this.fields.value : ''), value) : value;
2635
- var val_2 = this.getDataByValue(value);
2635
+ var val_2 = dataValue ? dataValue : this.getDataByValue(value);
2636
2636
  var eventArgs = {
2637
2637
  e: eve,
2638
2638
  item: element,
@@ -2666,16 +2666,26 @@ var MultiSelect = /** @class */ (function (_super) {
2666
2666
  _this.selectedListData = [(_this.getDataByValue(value))];
2667
2667
  }
2668
2668
  else {
2669
- if (Array.isArray(_this.selectedListData)) {
2670
- _this.selectedListData.push((_this.getDataByValue(value)));
2669
+ if (dataValue) {
2670
+ if (Array.isArray(_this.selectedListData)) {
2671
+ _this.selectedListData.push(dataValue);
2672
+ }
2673
+ else {
2674
+ _this.selectedListData = [_this.selectedListData, dataValue];
2675
+ }
2671
2676
  }
2672
2677
  else {
2673
- _this.selectedListData = [_this.selectedListData, (_this.getDataByValue(value))];
2678
+ if (Array.isArray(_this.selectedListData)) {
2679
+ _this.selectedListData.push((_this.getDataByValue(value)));
2680
+ }
2681
+ else {
2682
+ _this.selectedListData = [_this.selectedListData, (_this.getDataByValue(value))];
2683
+ }
2674
2684
  }
2675
2685
  }
2676
2686
  }
2677
2687
  if ((_this.enableVirtualization && value) || !_this.enableVirtualization) {
2678
- _this.updateListSelectEventCallback(value, element, eve);
2688
+ _this.updateListSelectEventCallback(value, element, eve, text);
2679
2689
  }
2680
2690
  if (_this.hideSelectedItem && _this.fixedHeaderElement && _this.fields.groupBy && _this.mode !== 'CheckBox') {
2681
2691
  _super.prototype.scrollStop.call(_this);
@@ -3789,10 +3799,10 @@ var MultiSelect = /** @class */ (function (_super) {
3789
3799
  this.removeValue(value, e, length);
3790
3800
  }
3791
3801
  };
3792
- MultiSelect.prototype.updateListSelectEventCallback = function (value, li, e) {
3802
+ MultiSelect.prototype.updateListSelectEventCallback = function (value, li, e, currentText) {
3793
3803
  var _this = this;
3794
3804
  value = this.allowObjectBinding ? getValue(((this.fields.value) ? this.fields.value : ''), value) : value;
3795
- var text = this.getTextByValue(value);
3805
+ var text = currentText ? currentText : this.getTextByValue(value);
3796
3806
  if ((this.allowCustomValue || this.allowFiltering) &&
3797
3807
  !this.findListElement(this.mainList, 'li', 'data-value', value) &&
3798
3808
  (!this.enableVirtualization || (this.enableVirtualization && this.virtualCustomData))) {
@@ -4639,7 +4649,9 @@ var MultiSelect = /** @class */ (function (_super) {
4639
4649
  if (_this.value && obj[_this.fields.value] != null && Array.isArray(_this.value) &&
4640
4650
  ((!_this.allowObjectBinding && _this.value.indexOf(obj[_this.fields.value]) < 0) ||
4641
4651
  (_this.allowObjectBinding && !_this.isObjectInArray(obj[_this.fields.value], _this.value)))) {
4642
- _this.dispatchSelect(obj[_this.fields.value], event, null, false, length);
4652
+ var value = obj[_this.fields.value];
4653
+ var text = (obj[_this.fields.text]).toString();
4654
+ _this.dispatchSelect(value, event, null, false, length, obj, text);
4643
4655
  }
4644
4656
  });
4645
4657
  }
@@ -4649,7 +4661,7 @@ var MultiSelect = /** @class */ (function (_super) {
4649
4661
  _this.updateValueState(event, _this.value, _this.tempValues);
4650
4662
  _this.isSelectAll = _this.isSelectAll ? !_this.isSelectAll : _this.isSelectAll;
4651
4663
  }
4652
- _this.updateHiddenElement();
4664
+ _this.updateHiddenElement(true);
4653
4665
  if (_this.popupWrapper && li[index - 1] && li[index - 1].classList.contains('e-item-focus')) {
4654
4666
  var selectAllParent = document.getElementsByClassName('e-selectall-parent')[0];
4655
4667
  if (selectAllParent && selectAllParent.classList.contains('e-item-focus')) {
@@ -4819,7 +4831,7 @@ var MultiSelect = /** @class */ (function (_super) {
4819
4831
  }
4820
4832
  }
4821
4833
  };
4822
- MultiSelect.prototype.updateHiddenElement = function () {
4834
+ MultiSelect.prototype.updateHiddenElement = function (isVirtualSelectAll) {
4823
4835
  var _this = this;
4824
4836
  var hiddenValue = '';
4825
4837
  var wrapperText = '';
@@ -4828,20 +4840,24 @@ var MultiSelect = /** @class */ (function (_super) {
4828
4840
  if (this.mode === 'CheckBox') {
4829
4841
  this.value.map(function (value, index) {
4830
4842
  hiddenValue += '<option selected value ="' + value + '">' + index + '</option>';
4831
- if (_this.listData) {
4832
- data = _this.getTextByValue(value);
4833
- }
4834
- else {
4835
- data = value;
4843
+ if (!isVirtualSelectAll) {
4844
+ if (_this.listData) {
4845
+ data = _this.getTextByValue(value);
4846
+ }
4847
+ else {
4848
+ data = value;
4849
+ }
4850
+ wrapperText += data + _this.delimiterChar + ' ';
4851
+ text.push(data);
4836
4852
  }
4837
- wrapperText += data + _this.delimiterChar + ' ';
4838
- text.push(data);
4839
4853
  });
4840
4854
  this.hiddenElement.innerHTML = hiddenValue;
4841
- this.updateWrapperText(this.delimiterWrapper, wrapperText);
4855
+ if (!isVirtualSelectAll) {
4856
+ this.updateWrapperText(this.delimiterWrapper, wrapperText);
4857
+ this.setProperties({ text: text.toString() }, true);
4858
+ }
4842
4859
  this.delimiterWrapper.setAttribute('id', getUniqueID('delim_val'));
4843
4860
  this.inputElement.setAttribute('aria-describedby', this.delimiterWrapper.id);
4844
- this.setProperties({ text: text.toString() }, true);
4845
4861
  this.refreshInputHight();
4846
4862
  this.refreshPlaceHolder();
4847
4863
  }
@@ -5870,20 +5886,13 @@ var MultiSelect = /** @class */ (function (_super) {
5870
5886
  if (this.isReact) {
5871
5887
  this.clearTemplate();
5872
5888
  }
5873
- if (this.popupObj) {
5889
+ if (!isNullOrUndefined(this.popupObj)) {
5874
5890
  this.popupObj.hide();
5891
+ this.popupObj.destroy();
5875
5892
  }
5876
5893
  this.notify(destroy, {});
5877
5894
  this.unwireListEvents();
5878
5895
  this.unWireEvent();
5879
- this.list = null;
5880
- this.popupObj = null;
5881
- this.mainList = null;
5882
- this.mainData = null;
5883
- this.filterParent = null;
5884
- this.ulElement = null;
5885
- this.mainListCollection = null;
5886
- _super.prototype.destroy.call(this);
5887
5896
  var temp = ['readonly', 'aria-disabled', 'placeholder', 'aria-label', 'aria-expanded'];
5888
5897
  var length = temp.length;
5889
5898
  if (!isNullOrUndefined(this.inputElement)) {
@@ -5905,6 +5914,56 @@ var MultiSelect = /** @class */ (function (_super) {
5905
5914
  remove(this.overAllWrapper);
5906
5915
  }
5907
5916
  }
5917
+ if (this.popupWrapper && this.popupWrapper.parentElement) {
5918
+ this.popupWrapper.parentElement.remove();
5919
+ }
5920
+ while (this.searchWrapper && this.searchWrapper.firstChild) {
5921
+ this.searchWrapper.removeChild(this.searchWrapper.firstChild);
5922
+ }
5923
+ if (this.searchWrapper && this.searchWrapper.parentElement) {
5924
+ this.searchWrapper.parentElement.remove();
5925
+ }
5926
+ if (this.viewWrapper && this.viewWrapper.parentElement) {
5927
+ this.viewWrapper.parentElement.remove();
5928
+ }
5929
+ if (this.overAllClear && this.overAllClear.parentElement) {
5930
+ this.overAllClear.parentElement.remove();
5931
+ }
5932
+ if (this.delimiterWrapper && this.delimiterWrapper.parentElement) {
5933
+ this.delimiterWrapper.parentElement.remove();
5934
+ }
5935
+ // Remove the select element if it exists
5936
+ var selectElement = this.overAllWrapper.querySelector('select.e-multi-hidden');
5937
+ if (selectElement && selectElement.parentElement) {
5938
+ selectElement.parentElement.remove();
5939
+ }
5940
+ while (this.componentWrapper && this.componentWrapper.firstChild) {
5941
+ this.componentWrapper.removeChild(this.componentWrapper.firstChild);
5942
+ }
5943
+ if (this.componentWrapper && this.componentWrapper.parentElement) {
5944
+ this.componentWrapper.removeAttribute('class');
5945
+ this.componentWrapper.parentElement.remove();
5946
+ }
5947
+ while (this.popupWrapper && this.popupWrapper.firstChild) {
5948
+ this.popupWrapper.removeChild(this.popupWrapper.firstChild);
5949
+ }
5950
+ if (this.inputElement) {
5951
+ var attrArray = ['readonly', 'aria-disabled', 'placeholder', 'aria-labelledby',
5952
+ 'aria-expanded', 'autocomplete', 'aria-readonly', 'autocapitalize',
5953
+ 'spellcheck', 'aria-autocomplete', 'aria-live', 'aria-label', 'aria-hidden', 'tabindex', 'aria-controls',
5954
+ 'aria-describedby', 'size', 'role', 'type', 'class'];
5955
+ for (var i = 0; i < attrArray.length; i++) {
5956
+ this.inputElement.removeAttribute(attrArray[i]);
5957
+ }
5958
+ }
5959
+ if (this.inputElement) {
5960
+ this.inputElement.remove();
5961
+ }
5962
+ this.list = null;
5963
+ this.popupObj = null;
5964
+ this.mainData = null;
5965
+ this.filterParent = null;
5966
+ this.ulElement = null;
5908
5967
  this.componentWrapper = null;
5909
5968
  this.overAllClear = null;
5910
5969
  this.overAllWrapper = null;
@@ -5916,14 +5975,13 @@ var MultiSelect = /** @class */ (function (_super) {
5916
5975
  this.popupWrapper = null;
5917
5976
  this.inputElement = null;
5918
5977
  this.delimiterWrapper = null;
5919
- this.popupObj = null;
5920
- this.popupWrapper = null;
5921
5978
  this.liCollections = null;
5922
5979
  this.header = null;
5923
5980
  this.mainList = null;
5924
5981
  this.mainListCollection = null;
5925
5982
  this.footer = null;
5926
5983
  this.selectAllEventEle = null;
5984
+ _super.prototype.destroy.call(this);
5927
5985
  };
5928
5986
  __decorate([
5929
5987
  Complex({ text: null, value: null, iconCss: null, groupBy: null, disabled: null }, FieldSettings)
@@ -566,6 +566,7 @@
566
566
  margin: 0;
567
567
  outline: none;
568
568
  width: 100%;
569
+ overflow: hidden;
569
570
  }
570
571
  .e-ddl.e-input-group input[readonly].e-input,
571
572
  .e-ddl.e-input-group input[readonly],
@@ -1197,6 +1198,10 @@ ejs-dropdownlist {
1197
1198
  display: block;
1198
1199
  }
1199
1200
 
1201
+ .e-multiselect.e-input-group.e-control-wrapper:not(.e-control-container) .e-multi-select-wrapper.e-down-icon .e-chips-collection {
1202
+ margin-right: 30px;
1203
+ }
1204
+
1200
1205
  .e-multi-select-wrapper .e-multi-hidden {
1201
1206
  border: 0;
1202
1207
  height: 0;
@@ -641,6 +641,7 @@
641
641
  margin: 0;
642
642
  outline: none;
643
643
  width: 100%;
644
+ overflow: hidden;
644
645
  }
645
646
  .e-ddl.e-input-group input[readonly].e-input,
646
647
  .e-ddl.e-input-group input[readonly],
@@ -1446,6 +1447,10 @@ ejs-dropdownlist {
1446
1447
  display: block;
1447
1448
  }
1448
1449
 
1450
+ .e-multiselect.e-input-group.e-control-wrapper:not(.e-control-container) .e-multi-select-wrapper.e-down-icon .e-chips-collection {
1451
+ margin-right: 30px;
1452
+ }
1453
+
1449
1454
  .e-multi-select-wrapper .e-multi-hidden {
1450
1455
  border: 0;
1451
1456
  height: 0;
@@ -566,6 +566,7 @@
566
566
  margin: 0;
567
567
  outline: none;
568
568
  width: 100%;
569
+ overflow: hidden;
569
570
  }
570
571
  .e-ddl.e-input-group input[readonly].e-input,
571
572
  .e-ddl.e-input-group input[readonly],
@@ -1191,6 +1192,10 @@ ejs-dropdownlist {
1191
1192
  display: block;
1192
1193
  }
1193
1194
 
1195
+ .e-multiselect.e-input-group.e-control-wrapper:not(.e-control-container) .e-multi-select-wrapper.e-down-icon .e-chips-collection {
1196
+ margin-right: 30px;
1197
+ }
1198
+
1194
1199
  .e-multi-select-wrapper .e-multi-hidden {
1195
1200
  border: 0;
1196
1201
  height: 0;
@@ -641,6 +641,7 @@
641
641
  margin: 0;
642
642
  outline: none;
643
643
  width: 100%;
644
+ overflow: hidden;
644
645
  }
645
646
  .e-ddl.e-input-group input[readonly].e-input,
646
647
  .e-ddl.e-input-group input[readonly],
@@ -1440,6 +1441,10 @@ ejs-dropdownlist {
1440
1441
  display: block;
1441
1442
  }
1442
1443
 
1444
+ .e-multiselect.e-input-group.e-control-wrapper:not(.e-control-container) .e-multi-select-wrapper.e-down-icon .e-chips-collection {
1445
+ margin-right: 30px;
1446
+ }
1447
+
1443
1448
  .e-multi-select-wrapper .e-multi-hidden {
1444
1449
  border: 0;
1445
1450
  height: 0;
@@ -596,6 +596,7 @@
596
596
  margin: 0;
597
597
  outline: none;
598
598
  width: 100%;
599
+ overflow: hidden;
599
600
  }
600
601
  .e-ddl.e-input-group input[readonly].e-input,
601
602
  .e-ddl.e-input-group input[readonly],
@@ -1275,6 +1276,10 @@ ejs-dropdownlist {
1275
1276
  display: block;
1276
1277
  }
1277
1278
 
1279
+ .e-multiselect.e-input-group.e-control-wrapper:not(.e-control-container) .e-multi-select-wrapper.e-down-icon .e-chips-collection {
1280
+ margin-right: 30px;
1281
+ }
1282
+
1278
1283
  .e-multi-select-wrapper .e-multi-hidden {
1279
1284
  border: 0;
1280
1285
  height: 0;
@@ -675,6 +675,7 @@
675
675
  margin: 0;
676
676
  outline: none;
677
677
  width: 100%;
678
+ overflow: hidden;
678
679
  }
679
680
  .e-ddl.e-input-group input[readonly].e-input,
680
681
  .e-ddl.e-input-group input[readonly],
@@ -1557,6 +1558,10 @@ ejs-dropdownlist {
1557
1558
  display: block;
1558
1559
  }
1559
1560
 
1561
+ .e-multiselect.e-input-group.e-control-wrapper:not(.e-control-container) .e-multi-select-wrapper.e-down-icon .e-chips-collection {
1562
+ margin-right: 30px;
1563
+ }
1564
+
1560
1565
  .e-multi-select-wrapper .e-multi-hidden {
1561
1566
  border: 0;
1562
1567
  height: 0;
@@ -619,6 +619,7 @@
619
619
  margin: 0;
620
620
  outline: none;
621
621
  width: 100%;
622
+ overflow: hidden;
622
623
  }
623
624
  .e-ddl.e-input-group input[readonly].e-input,
624
625
  .e-ddl.e-input-group input[readonly],
@@ -1261,6 +1262,10 @@ ejs-dropdownlist {
1261
1262
  display: block;
1262
1263
  }
1263
1264
 
1265
+ .e-multiselect.e-input-group.e-control-wrapper:not(.e-control-container) .e-multi-select-wrapper.e-down-icon .e-chips-collection {
1266
+ margin-right: 30px;
1267
+ }
1268
+
1264
1269
  .e-multi-select-wrapper .e-multi-hidden {
1265
1270
  border: 0;
1266
1271
  height: 0;
@@ -708,6 +708,7 @@
708
708
  margin: 0;
709
709
  outline: none;
710
710
  width: 100%;
711
+ overflow: hidden;
711
712
  }
712
713
  .e-ddl.e-input-group input[readonly].e-input,
713
714
  .e-ddl.e-input-group input[readonly],
@@ -1570,6 +1571,10 @@ ejs-dropdownlist {
1570
1571
  display: block;
1571
1572
  }
1572
1573
 
1574
+ .e-multiselect.e-input-group.e-control-wrapper:not(.e-control-container) .e-multi-select-wrapper.e-down-icon .e-chips-collection {
1575
+ margin-right: 30px;
1576
+ }
1577
+
1573
1578
  .e-multi-select-wrapper .e-multi-hidden {
1574
1579
  border: 0;
1575
1580
  height: 0;