@syncfusion/ej2-multicolumn-combobox 26.2.12 → 27.1.48

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 (149) hide show
  1. package/.eslintrc.json +261 -0
  2. package/dist/ej2-multicolumn-combobox.umd.min.js +2 -2
  3. package/dist/ej2-multicolumn-combobox.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-multicolumn-combobox.es2015.js +94 -43
  5. package/dist/es6/ej2-multicolumn-combobox.es2015.js.map +1 -1
  6. package/dist/es6/ej2-multicolumn-combobox.es5.js +94 -40
  7. package/dist/es6/ej2-multicolumn-combobox.es5.js.map +1 -1
  8. package/dist/global/ej2-multicolumn-combobox.min.js +2 -2
  9. package/dist/global/ej2-multicolumn-combobox.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +9 -8
  12. package/src/multicolumn-combobox/multi-column-combo-box-model.d.ts +1 -1
  13. package/src/multicolumn-combobox/multi-column-combo-box.d.ts +4 -2
  14. package/src/multicolumn-combobox/multi-column-combo-box.js +94 -41
  15. package/styles/bootstrap-dark-lite.css +267 -0
  16. package/styles/bootstrap-dark-lite.scss +10 -0
  17. package/styles/bootstrap-dark.css +77 -108
  18. package/styles/bootstrap-dark.scss +1 -0
  19. package/styles/bootstrap-lite.css +267 -0
  20. package/styles/bootstrap-lite.scss +10 -0
  21. package/styles/bootstrap.css +77 -108
  22. package/styles/bootstrap.scss +1 -0
  23. package/styles/bootstrap4-lite.css +309 -0
  24. package/styles/bootstrap4-lite.scss +10 -0
  25. package/styles/bootstrap4.css +78 -131
  26. package/styles/bootstrap4.scss +1 -0
  27. package/styles/bootstrap5-dark-lite.css +317 -0
  28. package/styles/bootstrap5-dark-lite.scss +10 -0
  29. package/styles/bootstrap5-dark.css +78 -127
  30. package/styles/bootstrap5-dark.scss +1 -0
  31. package/styles/bootstrap5-lite.css +317 -0
  32. package/styles/bootstrap5-lite.scss +10 -0
  33. package/styles/bootstrap5.3-lite.css +321 -0
  34. package/styles/bootstrap5.3-lite.scss +10 -0
  35. package/styles/bootstrap5.3.css +372 -0
  36. package/styles/bootstrap5.3.scss +11 -0
  37. package/styles/bootstrap5.css +78 -127
  38. package/styles/bootstrap5.scss +1 -0
  39. package/styles/fabric-dark-lite.css +243 -0
  40. package/styles/fabric-dark-lite.scss +10 -0
  41. package/styles/fabric-dark.css +78 -108
  42. package/styles/fabric-dark.scss +1 -0
  43. package/styles/fabric-lite.css +243 -0
  44. package/styles/fabric-lite.scss +10 -0
  45. package/styles/fabric.css +78 -101
  46. package/styles/fabric.scss +1 -0
  47. package/styles/fluent-dark-lite.css +310 -0
  48. package/styles/fluent-dark-lite.scss +10 -0
  49. package/styles/fluent-dark.css +78 -114
  50. package/styles/fluent-dark.scss +1 -0
  51. package/styles/fluent-lite.css +310 -0
  52. package/styles/fluent-lite.scss +10 -0
  53. package/styles/fluent.css +78 -114
  54. package/styles/fluent.scss +1 -0
  55. package/styles/fluent2-lite.css +314 -0
  56. package/styles/fluent2-lite.scss +10 -0
  57. package/styles/fluent2.css +78 -111
  58. package/styles/fluent2.scss +1 -0
  59. package/styles/highcontrast-light-lite.css +264 -0
  60. package/styles/highcontrast-light-lite.scss +10 -0
  61. package/styles/highcontrast-light.css +78 -98
  62. package/styles/highcontrast-light.scss +1 -0
  63. package/styles/highcontrast-lite.css +268 -0
  64. package/styles/highcontrast-lite.scss +10 -0
  65. package/styles/highcontrast.css +82 -98
  66. package/styles/highcontrast.scss +1 -0
  67. package/styles/material-dark-lite.css +292 -0
  68. package/styles/material-dark-lite.scss +10 -0
  69. package/styles/material-dark.css +78 -92
  70. package/styles/material-dark.scss +1 -0
  71. package/styles/material-lite.css +296 -0
  72. package/styles/material-lite.scss +10 -0
  73. package/styles/material.css +78 -113
  74. package/styles/material.scss +1 -0
  75. package/styles/material3-dark-lite.css +306 -0
  76. package/styles/material3-dark-lite.scss +10 -0
  77. package/styles/material3-dark.css +77 -116
  78. package/styles/material3-dark.scss +1 -0
  79. package/styles/material3-lite.css +308 -0
  80. package/styles/material3-lite.scss +10 -0
  81. package/styles/material3.css +77 -116
  82. package/styles/material3.scss +1 -0
  83. package/styles/multicolumn-combobox/_bds-definition.scss +1 -0
  84. package/styles/multicolumn-combobox/_bigger.scss +37 -0
  85. package/styles/multicolumn-combobox/_bootstrap-dark-definition.scss +1 -0
  86. package/styles/multicolumn-combobox/_bootstrap-definition.scss +1 -0
  87. package/styles/multicolumn-combobox/_bootstrap4-definition.scss +1 -0
  88. package/styles/multicolumn-combobox/_bootstrap5-definition.scss +1 -0
  89. package/styles/multicolumn-combobox/_bootstrap5.3-definition.scss +15 -14
  90. package/styles/multicolumn-combobox/_fabric-dark-definition.scss +1 -0
  91. package/styles/multicolumn-combobox/_fabric-definition.scss +1 -0
  92. package/styles/multicolumn-combobox/_fluent-definition.scss +1 -0
  93. package/styles/multicolumn-combobox/_fluent2-definition.scss +1 -0
  94. package/styles/multicolumn-combobox/_fusionnew-definition.scss +1 -0
  95. package/styles/multicolumn-combobox/_highcontrast-definition.scss +1 -0
  96. package/styles/multicolumn-combobox/_highcontrast-light-definition.scss +1 -0
  97. package/styles/multicolumn-combobox/_layout.scss +34 -33
  98. package/styles/multicolumn-combobox/_material-dark-definition.scss +1 -0
  99. package/styles/multicolumn-combobox/_material-definition.scss +1 -0
  100. package/styles/multicolumn-combobox/_material3-definition.scss +1 -0
  101. package/styles/multicolumn-combobox/_tailwind-definition.scss +1 -0
  102. package/styles/multicolumn-combobox/_theme.scss +3 -0
  103. package/styles/multicolumn-combobox/bootstrap-dark.css +77 -108
  104. package/styles/multicolumn-combobox/bootstrap-dark.scss +1 -0
  105. package/styles/multicolumn-combobox/bootstrap.css +77 -108
  106. package/styles/multicolumn-combobox/bootstrap.scss +1 -0
  107. package/styles/multicolumn-combobox/bootstrap4.css +78 -131
  108. package/styles/multicolumn-combobox/bootstrap4.scss +1 -0
  109. package/styles/multicolumn-combobox/bootstrap5-dark.css +78 -127
  110. package/styles/multicolumn-combobox/bootstrap5-dark.scss +1 -0
  111. package/styles/multicolumn-combobox/bootstrap5.3.css +372 -0
  112. package/styles/multicolumn-combobox/bootstrap5.3.scss +11 -0
  113. package/styles/multicolumn-combobox/bootstrap5.css +78 -127
  114. package/styles/multicolumn-combobox/bootstrap5.scss +1 -0
  115. package/styles/multicolumn-combobox/fabric-dark.css +78 -108
  116. package/styles/multicolumn-combobox/fabric-dark.scss +1 -0
  117. package/styles/multicolumn-combobox/fabric.css +78 -101
  118. package/styles/multicolumn-combobox/fabric.scss +1 -0
  119. package/styles/multicolumn-combobox/fluent-dark.css +78 -114
  120. package/styles/multicolumn-combobox/fluent-dark.scss +1 -0
  121. package/styles/multicolumn-combobox/fluent.css +78 -114
  122. package/styles/multicolumn-combobox/fluent.scss +1 -0
  123. package/styles/multicolumn-combobox/fluent2.css +78 -111
  124. package/styles/multicolumn-combobox/fluent2.scss +1 -0
  125. package/styles/multicolumn-combobox/highcontrast-light.css +78 -98
  126. package/styles/multicolumn-combobox/highcontrast-light.scss +1 -0
  127. package/styles/multicolumn-combobox/highcontrast.css +82 -98
  128. package/styles/multicolumn-combobox/highcontrast.scss +1 -0
  129. package/styles/multicolumn-combobox/material-dark.css +78 -92
  130. package/styles/multicolumn-combobox/material-dark.scss +1 -0
  131. package/styles/multicolumn-combobox/material.css +78 -113
  132. package/styles/multicolumn-combobox/material.scss +1 -0
  133. package/styles/multicolumn-combobox/material3-dark.css +77 -116
  134. package/styles/multicolumn-combobox/material3-dark.scss +1 -0
  135. package/styles/multicolumn-combobox/material3.css +77 -116
  136. package/styles/multicolumn-combobox/material3.scss +1 -0
  137. package/styles/multicolumn-combobox/tailwind-dark.css +78 -111
  138. package/styles/multicolumn-combobox/tailwind-dark.scss +1 -0
  139. package/styles/multicolumn-combobox/tailwind.css +78 -111
  140. package/styles/multicolumn-combobox/tailwind.scss +1 -0
  141. package/styles/tailwind-dark-lite.css +297 -0
  142. package/styles/tailwind-dark-lite.scss +10 -0
  143. package/styles/tailwind-dark.css +78 -111
  144. package/styles/tailwind-dark.scss +1 -0
  145. package/styles/tailwind-lite.css +297 -0
  146. package/styles/tailwind-lite.scss +10 -0
  147. package/styles/tailwind.css +78 -111
  148. package/styles/tailwind.scss +1 -0
  149. package/tslint.json +111 -0
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 26.2.12
3
+ * version : 27.1.48
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-multicolumn-combobox@*",
3
- "_id": "@syncfusion/ej2-multicolumn-combobox@26.2.10",
3
+ "_id": "@syncfusion/ej2-multicolumn-combobox@21.29.0",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-KNb+kJ1fjWr+Bpq183i76TwNktCk/PmC6ZK3CTOVY9n4VjYw6IvgJJNHVB2uH+1O6jz6pEGg3p7+nWDRXyJyDA==",
5
+ "_integrity": "sha512-NQY4jREgk95Sm3NZHI1iCsYP5qorvqhgxHX56w21xrUWcIP3AeeamLktYayZ0QrZXD539pHX4F1rnjYLSBwm6A==",
6
6
  "_location": "/@syncfusion/ej2-multicolumn-combobox",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,10 +23,10 @@
23
23
  "/@syncfusion/ej2-react-multicolumn-combobox",
24
24
  "/@syncfusion/ej2-vue-multicolumn-combobox"
25
25
  ],
26
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-multicolumn-combobox/-/ej2-multicolumn-combobox-26.2.10.tgz",
27
- "_shasum": "eb760582866d2891694337f388296d04f9967f07",
26
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-release/@syncfusion/ej2-multicolumn-combobox/-/ej2-multicolumn-combobox-21.29.0.tgz",
27
+ "_shasum": "5f41ac15a7cdb6fcf301d1f696988f40d3a1f7f4",
28
28
  "_spec": "@syncfusion/ej2-multicolumn-combobox@*",
29
- "_where": "/jenkins/workspace/elease-automation_release_26.1.1/packages/included",
29
+ "_where": "/jenkins/workspace/elease-automation_release_27.1.1/packages/included",
30
30
  "author": {
31
31
  "name": "Syncfusion Inc."
32
32
  },
@@ -35,8 +35,9 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~26.2.10",
39
- "@syncfusion/ej2-grids": "~26.2.12"
38
+ "@syncfusion/ej2-base": "~27.1.48",
39
+ "@syncfusion/ej2-grids": "~27.1.48",
40
+ "markdown-spellcheck": "^1.3.1"
40
41
  },
41
42
  "deprecated": false,
42
43
  "description": "Essential JS 2 Component",
@@ -57,6 +58,6 @@
57
58
  "url": "git+https://github.com/syncfusion/ej2-multicolumn-combobox-component.git"
58
59
  },
59
60
  "typings": "index.d.ts",
60
- "version": "26.2.12",
61
+ "version": "27.1.48",
61
62
  "sideEffects": false
62
63
  }
@@ -159,7 +159,7 @@ export interface GridSettingsModel {
159
159
 
160
160
  /**
161
161
  * Specifies the mode for text wrapping in the popup grid content. Options include 'Both', 'Content', and 'Header'.
162
- *
162
+ *
163
163
  * @isenumeration true
164
164
  *
165
165
  * @default WrapMode.Both
@@ -381,11 +381,11 @@ export interface DataResult {
381
381
  * The selected value will be displayed in the input element.
382
382
  *
383
383
  * ```html
384
- * <input type="text" id="multi-column"></input>
384
+ * <input type='text' id='multi-column'></input>
385
385
  * ```
386
386
  * ```typescript
387
387
  * let multiColObj: MultiColumnComboBox = new MultiColumnComboBox();
388
- * multiColObj.appendTo("#multi-column");
388
+ * multiColObj.appendTo('#multi-column');
389
389
  * ```
390
390
  */
391
391
  export declare class MultiColumnComboBox extends Component<HTMLElement> implements INotifyPropertyChanged {
@@ -810,6 +810,7 @@ export declare class MultiColumnComboBox extends Component<HTMLElement> implemen
810
810
  private updateInputValue;
811
811
  private selectFilteredRows;
812
812
  private filterAction;
813
+ private filteringHandler;
813
814
  private filterData;
814
815
  private updateGridDataSource;
815
816
  private wireEvents;
@@ -844,6 +845,7 @@ export declare class MultiColumnComboBox extends Component<HTMLElement> implemen
844
845
  * Opens the popup that displays the list of items.
845
846
  *
846
847
  * @param {MouseEvent | KeyboardEventArgs | TouchEvent} e - Specifies the event.
848
+ * @param {boolean} isInputOpen - Specifies whether the input is open or not.
847
849
  * @returns {void}
848
850
  */
849
851
  showPopup(e?: MouseEvent | KeyboardEventArgs | TouchEvent, isInputOpen?: boolean): void;
@@ -204,11 +204,11 @@ export { GridSettings };
204
204
  * The selected value will be displayed in the input element.
205
205
  *
206
206
  * ```html
207
- * <input type="text" id="multi-column"></input>
207
+ * <input type='text' id='multi-column'></input>
208
208
  * ```
209
209
  * ```typescript
210
210
  * let multiColObj: MultiColumnComboBox = new MultiColumnComboBox();
211
- * multiColObj.appendTo("#multi-column");
211
+ * multiColObj.appendTo('#multi-column');
212
212
  * ```
213
213
  */
214
214
  var MultiColumnComboBox = /** @class */ (function (_super) {
@@ -318,6 +318,7 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
318
318
  if (args.requestType === 'sorting') {
319
319
  _this.updateRowSelection(args);
320
320
  }
321
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
321
322
  var dataRows = args.rows;
322
323
  if (_this.isDataFiltered && dataRows.length > 0 && _this.inputEle.value !== '' && args.requestType !== 'sorting') {
323
324
  var firstRowEle = _this.gridObj.getRows()[0];
@@ -353,7 +354,7 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
353
354
  }
354
355
  this.gridObj.appendTo(this.gridEle);
355
356
  };
356
- // eslint-disable @typescript-eslint/no-explicit-any
357
+ /* eslint-disable @typescript-eslint/no-explicit-any */
357
358
  MultiColumnComboBox.prototype.isRowMatching = function (data, selectedValue, selectedText) {
358
359
  var values = Object.values(data).map(String);
359
360
  var isRowPresent = values.includes(selectedValue) && values.includes(selectedText);
@@ -383,11 +384,11 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
383
384
  };
384
385
  MultiColumnComboBox.prototype.findIndex = function (arr, obj) {
385
386
  return arr.findIndex(function (item) {
387
+ // eslint-disable-next-line
386
388
  return Object.keys(obj).every(function (key) { return item[key] === obj[key]; });
387
389
  });
388
390
  };
389
- ;
390
- // eslint-enable @typescript-eslint/no-explicit-any
391
+ /* eslint-enable @typescript-eslint/no-explicit-any */
391
392
  MultiColumnComboBox.prototype.getGridColumns = function () {
392
393
  var _this = this;
393
394
  return this.columns.map(function (column) {
@@ -421,7 +422,7 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
421
422
  showDropArea: false,
422
423
  columns: [this.fields.groupBy],
423
424
  captionTemplate: (this.groupTemplate && this.fields.groupBy !== '' && !isNOU(this.fields.groupBy))
424
- ? this.groupTemplate : "${key}"
425
+ ? this.groupTemplate : '${key}'
425
426
  };
426
427
  if (this.isVue) {
427
428
  this.gridObj.isVue = this.isVue;
@@ -445,7 +446,9 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
445
446
  }
446
447
  }
447
448
  if (this.isInitialRender) {
448
- var rowHeight = !this.popupDiv.classList.contains(NODATA) ? this.popupDiv.querySelector('.e-gridcontent tr').getBoundingClientRect().height : this.popupDiv.getBoundingClientRect().height;
449
+ var rowHeight = !this.popupDiv.classList.contains(NODATA) ? this.popupDiv.querySelector('.e-gridcontent tr') ?
450
+ this.popupDiv.querySelector('.e-gridcontent tr').getBoundingClientRect().height : 0 :
451
+ this.popupDiv.getBoundingClientRect().height;
449
452
  this.popupRowHeight = rowHeight;
450
453
  this.popupObj.hide();
451
454
  this.popupEle.style.visibility = 'unset';
@@ -626,8 +629,29 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
626
629
  });
627
630
  }
628
631
  else if (!isNOU(this.dataSource) && this.dataSource instanceof Array) {
629
- item = this.dataSource[this.index];
630
- updateValues(this.dataSource);
632
+ if (!this.fields.groupBy) {
633
+ item = this.dataSource[this.index];
634
+ updateValues(this.dataSource);
635
+ }
636
+ else {
637
+ setTimeout(function () {
638
+ var rows = _this.gridObj.getRows();
639
+ if (rows && rows.length > 0) {
640
+ var rowData = _this.gridObj.getRowInfo(rows[_this.index]).rowData;
641
+ var value = _this.fields.value;
642
+ for (var i = 0; i < rows.length; i++) {
643
+ if (rowData && rowData[parseInt(value.toString(), 10)] ===
644
+ _this.dataSource[parseInt(i.toString(), 10)][parseInt(value.toString(), 10)]) {
645
+ item = rowData;
646
+ updateValues(_this.dataSource);
647
+ _this.updateChangeEvent(item, prevItemData, prevItemEle, currentValue, currentText, currentIndex, isRerender, isInitial);
648
+ _this.gridObj.selectRow(_this.index);
649
+ break;
650
+ }
651
+ }
652
+ }
653
+ });
654
+ }
631
655
  }
632
656
  }
633
657
  if (!(this.dataSource instanceof DataManager)) {
@@ -910,6 +934,7 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
910
934
  var data;
911
935
  if (this.dataSource instanceof DataManager) {
912
936
  var query = new Query();
937
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
913
938
  this.dataSource.executeQuery(query).then(function (result) {
914
939
  var totaldata = result.result;
915
940
  data = totaldata.filter(function (item) {
@@ -943,39 +968,48 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
943
968
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
944
969
  MultiColumnComboBox.prototype.filterAction = function (dataSource, inputValue, query, fields) {
945
970
  var _this = this;
946
- var dataLists;
947
971
  if (isNullOrUndefined(query) && isNullOrUndefined(fields)) {
948
972
  this.updateGridDataSource(dataSource);
949
973
  }
950
974
  else if (query) {
951
- new DataManager(dataSource).executeQuery(query).then(function (e) {
952
- dataLists = e.result;
953
- _this.updateGridDataSource(dataLists);
954
- });
955
- }
956
- else {
957
- var filterType_1 = this.filterType.toString().toLowerCase();
958
- var isQuery = query || new Query();
959
- var filteredData_1;
960
975
  if (dataSource instanceof DataManager) {
961
- // Handle filtering for DataManager
962
- dataSource.executeQuery(isQuery).then(function (e) {
976
+ this.filteringHandler(dataSource, inputValue, query, fields);
977
+ }
978
+ else {
979
+ new DataManager(dataSource).executeQuery(query).then(function (e) {
963
980
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
964
981
  var dataLists = e.result;
965
- var dataLength = dataLists.length;
966
- filteredData_1 = dataLists.filter(function (item) { return _this.filterData(item, filterType_1, inputValue, fields); });
967
- _this.updateGridDataSource(filteredData_1, dataLength);
982
+ _this.updateGridDataSource(dataLists);
968
983
  });
969
984
  }
985
+ }
986
+ else {
987
+ var isQuery = query || new Query();
988
+ if (dataSource instanceof DataManager) {
989
+ this.filteringHandler(dataSource, inputValue, isQuery, fields);
990
+ }
970
991
  else if (Array.isArray(dataSource)) {
971
- // Handle filtering for array data source
972
- filteredData_1 = dataSource.filter(function (item) {
992
+ var filterType_1 = this.filterType.toString().toLowerCase();
993
+ var filteredData = dataSource.filter(function (item) {
973
994
  return _this.filterData(item, filterType_1, inputValue, fields);
974
995
  });
975
- this.updateGridDataSource(filteredData_1);
996
+ this.updateGridDataSource(filteredData);
976
997
  }
977
998
  }
978
999
  };
1000
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1001
+ MultiColumnComboBox.prototype.filteringHandler = function (dataSource, inputValue, query, fields) {
1002
+ var _this = this;
1003
+ var filterType = this.filterType.toString().toLowerCase();
1004
+ var filteredData;
1005
+ dataSource.executeQuery(query).then(function (e) {
1006
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1007
+ var dataLists = e.result;
1008
+ var dataLength = dataLists.length;
1009
+ filteredData = dataLists.filter(function (item) { return _this.filterData(item, filterType, inputValue, fields); });
1010
+ _this.updateGridDataSource(filteredData, dataLength);
1011
+ });
1012
+ };
979
1013
  MultiColumnComboBox.prototype.filterData = function (item, filterType, inputValue, fields) {
980
1014
  var itemValue = item[fields ? fields.text : this.fields.text].toString().toLowerCase();
981
1015
  switch (filterType) {
@@ -992,7 +1026,8 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
992
1026
  MultiColumnComboBox.prototype.updateGridDataSource = function (dataSource, dataLength) {
993
1027
  var autoHeight = true;
994
1028
  if (dataSource.length > 0) {
995
- var length_1 = this.dataSource instanceof DataManager ? dataLength : this.dataSource.length;
1029
+ var length_1 = this.dataSource instanceof DataManager ? dataLength
1030
+ : this.dataSource.length;
996
1031
  autoHeight = length_1 !== dataSource.length;
997
1032
  removeClass([this.popupDiv], [NODATA]);
998
1033
  var noRecordEle = this.popupDiv.querySelector('.e-no-records');
@@ -1101,6 +1136,7 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
1101
1136
  };
1102
1137
  MultiColumnComboBox.prototype.updateValuesOnInput = function (mouseEvent, keyEvent, isClearValues) {
1103
1138
  var _this = this;
1139
+ if (isClearValues === void 0) { isClearValues = false; }
1104
1140
  var e = mouseEvent ? mouseEvent : keyEvent;
1105
1141
  this.hidePopup(e);
1106
1142
  if (this.matchedRowEle && !isClearValues) {
@@ -1247,7 +1283,8 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
1247
1283
  MultiColumnComboBox.prototype.updateSelectedItem = function (e, isUpdateIndex, isInputTarget) {
1248
1284
  if (isUpdateIndex === void 0) { isUpdateIndex = true; }
1249
1285
  if (this.isPopupOpen) {
1250
- var index = !this.fields.groupBy ? this.gridObj.selectedRowIndex : this.gridObj.selectedRowIndex ? this.gridObj.selectedRowIndex : 0;
1286
+ var index = !this.fields.groupBy ? this.gridObj.selectedRowIndex
1287
+ : this.gridObj.selectedRowIndex ? this.gridObj.selectedRowIndex : 0;
1251
1288
  if ((index === -1 && (e.action === 'moveDown' || e.action === 'moveUp')) || (e.action === 'home')) {
1252
1289
  index = 0;
1253
1290
  }
@@ -1267,7 +1304,7 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
1267
1304
  focusedEle.classList.remove('e-row-focus');
1268
1305
  }
1269
1306
  if (isUpdateIndex) {
1270
- this.selectedGridRow(this.gridObj.getRows()[index], e, true);
1307
+ this.selectedGridRow(this.gridObj.getRows()[parseInt(index.toString(), 10)], e, true);
1271
1308
  }
1272
1309
  }
1273
1310
  };
@@ -1308,19 +1345,22 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
1308
1345
  if (this.isPopupOpen) {
1309
1346
  this.hidePopup(e);
1310
1347
  }
1311
- removeClass([this.inputWrapper], [INPUTFOCUS]);
1312
- var clearIconEle = this.inputWrapper.querySelector('.e-clear-icon');
1313
- if (clearIconEle) {
1314
- clearIconEle.style.display = 'none';
1315
- }
1316
- if (this.floatLabelType !== 'Never') {
1317
- Input.calculateWidth(this.inputEle, this.inputWrapper);
1348
+ if (this.inputWrapper) {
1349
+ removeClass([this.inputWrapper], [INPUTFOCUS]);
1350
+ var clearIconEle = this.inputWrapper.querySelector('.e-clear-icon');
1351
+ if (clearIconEle) {
1352
+ clearIconEle.style.display = 'none';
1353
+ }
1354
+ if (this.floatLabelType !== 'Never') {
1355
+ Input.calculateWidth(this.inputEle, this.inputWrapper);
1356
+ }
1318
1357
  }
1319
1358
  };
1320
1359
  /**
1321
1360
  * Opens the popup that displays the list of items.
1322
1361
  *
1323
1362
  * @param {MouseEvent | KeyboardEventArgs | TouchEvent} e - Specifies the event.
1363
+ * @param {boolean} isInputOpen - Specifies whether the input is open or not.
1324
1364
  * @returns {void}
1325
1365
  */
1326
1366
  MultiColumnComboBox.prototype.showPopup = function (e, isInputOpen) {
@@ -1335,9 +1375,19 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
1335
1375
  attributes(_this.inputEle, { 'aria-expanded': 'true', 'aria-owns': _this.element.id + '_popup', 'aria-controls': _this.element.id });
1336
1376
  if (!isInputOpen) {
1337
1377
  if ((_this.value || _this.text || _this.index)) {
1338
- var dataRows = _this.gridObj.currentViewData;
1378
+ var dataRows = _this.gridObj.getRowsObject();
1379
+ var groupIndex_1;
1380
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1339
1381
  dataRows.forEach(function (data, index) {
1340
- _this.selectDataRow(data, index);
1382
+ if (_this.fields.groupBy && isNOU(data.data.items)) {
1383
+ if (isNOU(groupIndex_1)) {
1384
+ groupIndex_1 = 0;
1385
+ }
1386
+ else {
1387
+ groupIndex_1 += 1;
1388
+ }
1389
+ }
1390
+ _this.selectDataRow(data.data, !_this.fields.groupBy ? index : groupIndex_1);
1341
1391
  });
1342
1392
  }
1343
1393
  _this.focusIn(e);
@@ -1552,7 +1602,7 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
1552
1602
  this.initValue(true, false);
1553
1603
  break;
1554
1604
  case 'index':
1555
- this.initValue();
1605
+ this.initValue(true);
1556
1606
  break;
1557
1607
  case 'sortOrder':
1558
1608
  if (this.gridObj) {
@@ -1626,7 +1676,10 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
1626
1676
  }
1627
1677
  break;
1628
1678
  case 'sortType':
1629
- this.sortType = newProp.sortType;
1679
+ if (this.gridObj) {
1680
+ this.sortType = newProp.sortType;
1681
+ this.gridObj.allowMultiSorting = this.sortType.toString().toLowerCase() === 'multiplecolumns' && this.allowSorting;
1682
+ }
1630
1683
  break;
1631
1684
  case 'allowFiltering':
1632
1685
  this.allowFiltering = newProp.allowFiltering;
@@ -0,0 +1,267 @@
1
+ .e-dropdownbase .e-list-item .e-list-icon {
2
+ padding: 0 10px 0 0;
3
+ }
4
+
5
+ .e-small .e-dropdownbase .e-list-item .e-list-icon {
6
+ padding: 0 8px 0 0;
7
+ }
8
+
9
+ .e-popup.e-ddl {
10
+ border-radius: 4px;
11
+ -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.5);
12
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.5);
13
+ margin-top: 3px;
14
+ }
15
+ .e-popup.e-ddl .e-input-group {
16
+ width: auto;
17
+ }
18
+ .e-popup.e-ddl .e-input-group input {
19
+ line-height: 15px;
20
+ }
21
+
22
+ .e-popup.e-ddl .e-dropdownbase {
23
+ min-height: 26px;
24
+ }
25
+
26
+ .e-popup.e-ddl .e-filter-parent .e-input-group {
27
+ display: -webkit-box;
28
+ display: -ms-flexbox;
29
+ display: flex;
30
+ width: auto;
31
+ }
32
+ .e-popup.e-ddl .e-filter-parent .e-input-group .e-back-icon {
33
+ border: 0;
34
+ }
35
+
36
+ .e-input-group:not(.e-disabled) .e-control.e-dropdownlist ~ .e-ddl-icon:active,
37
+ .e-input-group:not(.e-disabled) .e-control.e-dropdownlist ~ .e-ddl-icon:hover,
38
+ .e-control.e-dropdownlist .e-input-group:not(.e-disabled) .e-ddl-icon:active,
39
+ .e-control.e-dropdownlist .e-input-group:not(.e-disabled) .e-ddl-icon:hover,
40
+ .e-ddl.e-popup .e-input-group:not(.e-disabled) .e-clear-icon:active,
41
+ .e-ddl.e-popup .e-input-group:not(.e-disabled) .e-clear-icon:hover,
42
+ .e-ddl.e-popup .e-input-group:not(.e-disabled) .e-back-icon:active,
43
+ .e-ddl.e-popup .e-input-group:not(.e-disabled) .e-back-icon:hover {
44
+ background: transparent;
45
+ color: #f0f0f0;
46
+ }
47
+
48
+ .e-input-group:not(.e-disabled) .e-control.e-dropdownlist ~ .e-ddl-icon,
49
+ .e-input-group.e-disabled.e-ddl .e-control.e-dropdownlist ~ .e-input-group-icon,
50
+ .e-control.e-dropdownlist .e-input-group.e-disabled.e-ddl .e-input-group-icon,
51
+ .e-control.e-dropdownlist .e-input-group.e-ddl .e-input-group-icon {
52
+ border: 0;
53
+ }
54
+
55
+ .e-input-group:not(.e-disabled) .e-control.e-dropdownlist ~ .e-input-group-icon:active,
56
+ .e-control.e-dropdownlist .e-input-group:not(.e-disabled) .e-input-group-icon:active,
57
+ .e-ddl.e-popup .e-input-group:not(.e-disabled) .e-back-icon:active,
58
+ .e-ddl.e-popup .e-input-group:not(.e-disabled) .e-clear-icon:active {
59
+ -webkit-box-shadow: none;
60
+ box-shadow: none;
61
+ }
62
+
63
+ .e-ddl.e-popup .e-filter-parent {
64
+ border-bottom: 1px solid #484848;
65
+ }
66
+
67
+ .e-input-group.e-control-wrapper .e-multicolumn-list-icon::before {
68
+ content: "\e969";
69
+ font-family: "e-icons";
70
+ }
71
+
72
+ .e-multicolumn-grid tr.e-groupcaptionrow {
73
+ position: sticky;
74
+ top: 0;
75
+ }
76
+
77
+ .e-multicolumn-grid th.e-grouptopleftcell.e-lastgrouptopleftcell,
78
+ .e-multicolumn-grid th.e-grouptopleftcell.e-lastgroupleftcell,
79
+ .e-multicolumn-grid td.e-recordplusexpand,
80
+ .e-multicolumn-grid td.e-indentcell,
81
+ .e-multicolumn-grid col.e-group-intent,
82
+ .e-multicolumn-list .e-no-records + .e-grid {
83
+ display: none;
84
+ }
85
+
86
+ .e-multicolumn-grid td.e-rowcell {
87
+ cursor: default;
88
+ }
89
+
90
+ .e-multicolumn-grid .e-gridheader .e-headercelldiv {
91
+ overflow: hidden;
92
+ }
93
+
94
+ .e-multicolumn-list .e-popup-footer {
95
+ vertical-align: middle;
96
+ border-style: solid;
97
+ border-width: 0 1px 0 1px;
98
+ font-size: 14px;
99
+ height: 36px;
100
+ display: -webkit-box;
101
+ display: -ms-flexbox;
102
+ display: flex;
103
+ -webkit-box-align: center;
104
+ -ms-flex-align: center;
105
+ align-items: center;
106
+ border-radius: 0 0 4px 4px;
107
+ }
108
+
109
+ .e-multicolumn-grid.e-grid {
110
+ border-width: 1px;
111
+ border-radius: 4px;
112
+ }
113
+ .e-multicolumn-grid.e-grid .e-gridcontent {
114
+ border-radius: 0 0 4px 4px;
115
+ }
116
+
117
+ .e-input-group.e-multicolumn-list input[readonly].e-input {
118
+ pointer-events: none;
119
+ }
120
+
121
+ .e-multicolumn-list:has(.e-popup-footer) .e-multicolumn-grid.e-grid {
122
+ border-radius: 4px 4px 0 0;
123
+ }
124
+ .e-multicolumn-list:has(.e-popup-footer) .e-multicolumn-grid.e-grid .e-gridcontent {
125
+ border-radius: 0;
126
+ }
127
+ .e-multicolumn-list.e-icon-anim .e-multicolumn-list-icon::before {
128
+ -webkit-transform: rotate(180deg);
129
+ transform: rotate(180deg);
130
+ }
131
+ .e-multicolumn-list:not(.e-icon-anim) .e-multicolumn-list-icon::before {
132
+ -webkit-transform: rotate(0deg);
133
+ transform: rotate(0deg);
134
+ }
135
+ .e-multicolumn-list .e-multicolumn-list-icon::before {
136
+ -webkit-transition: -webkit-transform 300ms ease;
137
+ transition: -webkit-transform 300ms ease;
138
+ transition: transform 300ms ease;
139
+ transition: transform 300ms ease, -webkit-transform 300ms ease;
140
+ }
141
+
142
+ .e-multicolumn-grid .e-grid {
143
+ overflow: auto;
144
+ }
145
+
146
+ .e-multicolumn-grid .e-row,
147
+ .e-multicolumn-grid .e-emptyrow {
148
+ height: 36px;
149
+ }
150
+
151
+ .e-multicolumn-group .e-sortnumber {
152
+ display: none;
153
+ }
154
+
155
+ .e-popup.e-multicolumn-list {
156
+ position: absolute;
157
+ border-radius: 4px;
158
+ margin-top: unset;
159
+ }
160
+ .e-popup.e-multicolumn-list .e-nodata {
161
+ cursor: default;
162
+ font-family: inherit;
163
+ font-size: 14px;
164
+ padding: 14px 16px;
165
+ text-align: center;
166
+ border-radius: inherit;
167
+ }
168
+ .e-popup.e-multicolumn-list .e-headertext {
169
+ font-weight: 500;
170
+ }
171
+ .e-popup.e-multicolumn-list .e-gridheader {
172
+ position: sticky;
173
+ top: 0;
174
+ z-index: 1;
175
+ border-radius: 4px 4px 0 0;
176
+ }
177
+
178
+ .e-multicolumn-grid .e-headercontent {
179
+ border-right-color: transparent; /* stylelint-disable-line declaration-no-important */
180
+ }
181
+
182
+ .e-multicolumn-grid.e-rtl .e-headercontent {
183
+ border-left-color: transparent; /* stylelint-disable-line declaration-no-important */
184
+ }
185
+
186
+ .e-multicolumn-grid .e-content {
187
+ overflow: auto !important; /* stylelint-disable-line declaration-no-important */
188
+ }
189
+
190
+ .e-multicolumn-container .e-input-group-icon.e-multicolumn-list-icon.e-ddl-disable-icon {
191
+ position: relative;
192
+ }
193
+
194
+ .e-small.e-popup .e-multicolumn-grid .e-headercelldiv,
195
+ .e-small.e-popup .e-multicolumn-grid .e-rowcell, .e-small.e-popup.e-multicolumn-list .e-popup-footer,
196
+ .e-small .e-popup .e-multicolumn-grid .e-headercelldiv,
197
+ .e-small .e-popup .e-multicolumn-grid .e-rowcell,
198
+ .e-small .e-popup.e-multicolumn-list .e-popup-footer {
199
+ font-size: 12px;
200
+ }
201
+ .e-small.e-popup.e-multicolumn-list .e-popup-footer,
202
+ .e-small.e-popup .e-multicolumn-grid .e-row,
203
+ .e-small.e-popup .e-multicolumn-grid .e-emptyrow,
204
+ .e-small .e-popup.e-multicolumn-list .e-popup-footer,
205
+ .e-small .e-popup .e-multicolumn-grid .e-row,
206
+ .e-small .e-popup .e-multicolumn-grid .e-emptyrow {
207
+ height: 32px;
208
+ }
209
+ .e-small.e-popup.e-multicolumn-list,
210
+ .e-small .e-popup.e-multicolumn-list {
211
+ margin-top: unset;
212
+ }
213
+
214
+ .e-multicolumn-list .e-popup-footer {
215
+ background: #2a2a2a;
216
+ color: #0070f0;
217
+ border-color: #484848;
218
+ }
219
+
220
+ .e-input-group.e-multicolumn-list:focus-visible {
221
+ outline: transparent;
222
+ }
223
+
224
+ .e-popup.e-multicolumn-list {
225
+ background: transparent;
226
+ -webkit-box-shadow: 0 3px 4px -1px rgba(0, 0, 0, 0.05), 0 2px 11px 0 rgba(0, 0, 0, 0.1);
227
+ box-shadow: 0 3px 4px -1px rgba(0, 0, 0, 0.05), 0 2px 11px 0 rgba(0, 0, 0, 0.1);
228
+ }
229
+ .e-popup.e-multicolumn-list .e-nodata {
230
+ color: #0070f0;
231
+ border: 1px solid #484848;
232
+ background: #2a2a2a;
233
+ }
234
+ .e-popup.e-multicolumn-list .e-multicolumn-grid .e-rowcell {
235
+ color: #fff;
236
+ }
237
+ .e-popup.e-multicolumn-list .e-multicolumn-grid .e-focused {
238
+ -webkit-box-shadow: none;
239
+ box-shadow: none;
240
+ }
241
+ .e-popup.e-multicolumn-list .e-gridhover .e-row:hover .e-rowcell:not(.e-active),
242
+ .e-popup.e-multicolumn-list .e-gridcontent .e-row-focus {
243
+ background: #414141 !important; /* stylelint-disable-line declaration-no-important */
244
+ }
245
+ .e-popup.e-multicolumn-list .e-multicolumn-grid td.e-active {
246
+ background: #0070f0;
247
+ color: #fff;
248
+ }
249
+ .e-popup.e-multicolumn-list .e-groupcaption {
250
+ color: #0070f0;
251
+ background: #2a2a2a;
252
+ }
253
+ .e-popup.e-multicolumn-list .e-gridheader,
254
+ .e-popup.e-multicolumn-list .e-gridheader colgroup {
255
+ background: transparent;
256
+ }
257
+ .e-popup.e-multicolumn-list .e-altrow {
258
+ background: #393939;
259
+ }
260
+ .e-popup.e-multicolumn-list .e-grid .e-headercell {
261
+ background-color: unset;
262
+ }
263
+ .e-popup.e-multicolumn-list .e-headertext,
264
+ .e-popup.e-multicolumn-list .e-grid th.e-headercell[aria-sort=ascending] .e-headertext,
265
+ .e-popup.e-multicolumn-list .e-grid th.e-headercell[aria-sort=descending] .e-headertext {
266
+ color: #0070f0;
267
+ }
@@ -0,0 +1,10 @@
1
+ @import 'ej2-base/styles/definition/bootstrap-dark.scss';
2
+ @import 'ej2-buttons/styles/button/bootstrap-dark-definition.scss';
3
+ @import 'ej2-splitbuttons/styles/drop-down-button/bootstrap-dark-definition.scss';
4
+ @import 'ej2-dropdowns/styles/drop-down-base/bootstrap-dark-definition.scss';
5
+ @import 'ej2-dropdowns/styles/drop-down-list/bootstrap-dark-definition.scss';
6
+ @import 'ej2-dropdowns/styles/combo-box/bootstrap-dark-definition.scss';
7
+ @import 'ej2-grids/styles/grid/bootstrap-dark-definition.scss';
8
+ @import 'multicolumn-combobox/bootstrap-dark-definition.scss';
9
+ @import 'multicolumn-combobox/icons/bootstrap-dark.scss';
10
+ @import 'multicolumn-combobox/all.scss';