@syncfusion/ej2-multicolumn-combobox 26.2.10 → 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 (150) 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 +109 -44
  5. package/dist/es6/ej2-multicolumn-combobox.es2015.js.map +1 -1
  6. package/dist/es6/ej2-multicolumn-combobox.es5.js +110 -42
  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 +2 -2
  13. package/src/multicolumn-combobox/multi-column-combo-box.d.ts +4 -2
  14. package/src/multicolumn-combobox/multi-column-combo-box.js +111 -44
  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
  150. package/hotfix/26.1.35_Vol2.txt +0 -1
@@ -200,11 +200,11 @@ var GridSettings = /** @__PURE__ @class */ (function (_super) {
200
200
  * The selected value will be displayed in the input element.
201
201
  *
202
202
  * ```html
203
- * <input type="text" id="multi-column"></input>
203
+ * <input type='text' id='multi-column'></input>
204
204
  * ```
205
205
  * ```typescript
206
206
  * let multiColObj: MultiColumnComboBox = new MultiColumnComboBox();
207
- * multiColObj.appendTo("#multi-column");
207
+ * multiColObj.appendTo('#multi-column');
208
208
  * ```
209
209
  */
210
210
  var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
@@ -314,6 +314,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
314
314
  if (args.requestType === 'sorting') {
315
315
  _this.updateRowSelection(args);
316
316
  }
317
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
317
318
  var dataRows = args.rows;
318
319
  if (_this.isDataFiltered && dataRows.length > 0 && _this.inputEle.value !== '' && args.requestType !== 'sorting') {
319
320
  var firstRowEle = _this.gridObj.getRows()[0];
@@ -349,7 +350,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
349
350
  }
350
351
  this.gridObj.appendTo(this.gridEle);
351
352
  };
352
- // eslint-disable @typescript-eslint/no-explicit-any
353
+ /* eslint-disable @typescript-eslint/no-explicit-any */
353
354
  MultiColumnComboBox.prototype.isRowMatching = function (data, selectedValue, selectedText) {
354
355
  var values = Object.values(data).map(String);
355
356
  var isRowPresent = values.includes(selectedValue) && values.includes(selectedText);
@@ -379,10 +380,11 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
379
380
  };
380
381
  MultiColumnComboBox.prototype.findIndex = function (arr, obj) {
381
382
  return arr.findIndex(function (item) {
383
+ // eslint-disable-next-line
382
384
  return Object.keys(obj).every(function (key) { return item[key] === obj[key]; });
383
385
  });
384
386
  };
385
- // eslint-enable @typescript-eslint/no-explicit-any
387
+ /* eslint-enable @typescript-eslint/no-explicit-any */
386
388
  MultiColumnComboBox.prototype.getGridColumns = function () {
387
389
  var _this = this;
388
390
  return this.columns.map(function (column) {
@@ -416,7 +418,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
416
418
  showDropArea: false,
417
419
  columns: [this.fields.groupBy],
418
420
  captionTemplate: (this.groupTemplate && this.fields.groupBy !== '' && !isNullOrUndefined(this.fields.groupBy))
419
- ? this.groupTemplate : "${key}"
421
+ ? this.groupTemplate : '${key}'
420
422
  };
421
423
  if (this.isVue) {
422
424
  this.gridObj.isVue = this.isVue;
@@ -440,7 +442,9 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
440
442
  }
441
443
  }
442
444
  if (this.isInitialRender) {
443
- var rowHeight = !this.popupDiv.classList.contains(NODATA) ? this.popupDiv.querySelector('.e-gridcontent tr').getBoundingClientRect().height : this.popupDiv.getBoundingClientRect().height;
445
+ var rowHeight = !this.popupDiv.classList.contains(NODATA) ? this.popupDiv.querySelector('.e-gridcontent tr') ?
446
+ this.popupDiv.querySelector('.e-gridcontent tr').getBoundingClientRect().height : 0 :
447
+ this.popupDiv.getBoundingClientRect().height;
444
448
  this.popupRowHeight = rowHeight;
445
449
  this.popupObj.hide();
446
450
  this.popupEle.style.visibility = 'unset';
@@ -621,8 +625,29 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
621
625
  });
622
626
  }
623
627
  else if (!isNullOrUndefined(this.dataSource) && this.dataSource instanceof Array) {
624
- item = this.dataSource[this.index];
625
- updateValues(this.dataSource);
628
+ if (!this.fields.groupBy) {
629
+ item = this.dataSource[this.index];
630
+ updateValues(this.dataSource);
631
+ }
632
+ else {
633
+ setTimeout(function () {
634
+ var rows = _this.gridObj.getRows();
635
+ if (rows && rows.length > 0) {
636
+ var rowData = _this.gridObj.getRowInfo(rows[_this.index]).rowData;
637
+ var value = _this.fields.value;
638
+ for (var i = 0; i < rows.length; i++) {
639
+ if (rowData && rowData[parseInt(value.toString(), 10)] ===
640
+ _this.dataSource[parseInt(i.toString(), 10)][parseInt(value.toString(), 10)]) {
641
+ item = rowData;
642
+ updateValues(_this.dataSource);
643
+ _this.updateChangeEvent(item, prevItemData, prevItemEle, currentValue, currentText, currentIndex, isRerender, isInitial);
644
+ _this.gridObj.selectRow(_this.index);
645
+ break;
646
+ }
647
+ }
648
+ }
649
+ });
650
+ }
626
651
  }
627
652
  }
628
653
  if (!(this.dataSource instanceof DataManager)) {
@@ -905,6 +930,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
905
930
  var data;
906
931
  if (this.dataSource instanceof DataManager) {
907
932
  var query = new Query();
933
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
908
934
  this.dataSource.executeQuery(query).then(function (result) {
909
935
  var totaldata = result.result;
910
936
  data = totaldata.filter(function (item) {
@@ -938,26 +964,47 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
938
964
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
939
965
  MultiColumnComboBox.prototype.filterAction = function (dataSource, inputValue, query, fields) {
940
966
  var _this = this;
941
- var filterType = this.filterType.toString().toLowerCase();
942
- var isQuery = query || new Query();
943
- var filteredData;
944
- if (dataSource instanceof DataManager) {
945
- // Handle filtering for DataManager
946
- dataSource.executeQuery(isQuery).then(function (e) {
947
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
948
- var dataLists = e.result;
949
- var dataLength = dataLists.length;
950
- filteredData = dataLists.filter(function (item) { return _this.filterData(item, filterType, inputValue, fields); });
951
- _this.updateGridDataSource(filteredData, dataLength);
952
- });
967
+ if (isNullOrUndefined(query) && isNullOrUndefined(fields)) {
968
+ this.updateGridDataSource(dataSource);
953
969
  }
954
- else if (Array.isArray(dataSource)) {
955
- // Handle filtering for array data source
956
- filteredData = dataSource.filter(function (item) {
957
- return _this.filterData(item, filterType, inputValue, fields);
958
- });
959
- this.updateGridDataSource(filteredData);
970
+ else if (query) {
971
+ if (dataSource instanceof DataManager) {
972
+ this.filteringHandler(dataSource, inputValue, query, fields);
973
+ }
974
+ else {
975
+ new DataManager(dataSource).executeQuery(query).then(function (e) {
976
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
977
+ var dataLists = e.result;
978
+ _this.updateGridDataSource(dataLists);
979
+ });
980
+ }
960
981
  }
982
+ else {
983
+ var isQuery = query || new Query();
984
+ if (dataSource instanceof DataManager) {
985
+ this.filteringHandler(dataSource, inputValue, isQuery, fields);
986
+ }
987
+ else if (Array.isArray(dataSource)) {
988
+ var filterType_1 = this.filterType.toString().toLowerCase();
989
+ var filteredData = dataSource.filter(function (item) {
990
+ return _this.filterData(item, filterType_1, inputValue, fields);
991
+ });
992
+ this.updateGridDataSource(filteredData);
993
+ }
994
+ }
995
+ };
996
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
997
+ MultiColumnComboBox.prototype.filteringHandler = function (dataSource, inputValue, query, fields) {
998
+ var _this = this;
999
+ var filterType = this.filterType.toString().toLowerCase();
1000
+ var filteredData;
1001
+ dataSource.executeQuery(query).then(function (e) {
1002
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1003
+ var dataLists = e.result;
1004
+ var dataLength = dataLists.length;
1005
+ filteredData = dataLists.filter(function (item) { return _this.filterData(item, filterType, inputValue, fields); });
1006
+ _this.updateGridDataSource(filteredData, dataLength);
1007
+ });
961
1008
  };
962
1009
  MultiColumnComboBox.prototype.filterData = function (item, filterType, inputValue, fields) {
963
1010
  var itemValue = item[fields ? fields.text : this.fields.text].toString().toLowerCase();
@@ -975,7 +1022,8 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
975
1022
  MultiColumnComboBox.prototype.updateGridDataSource = function (dataSource, dataLength) {
976
1023
  var autoHeight = true;
977
1024
  if (dataSource.length > 0) {
978
- var length_1 = this.dataSource instanceof DataManager ? dataLength : this.dataSource.length;
1025
+ var length_1 = this.dataSource instanceof DataManager ? dataLength
1026
+ : this.dataSource.length;
979
1027
  autoHeight = length_1 !== dataSource.length;
980
1028
  removeClass([this.popupDiv], [NODATA]);
981
1029
  var noRecordEle = this.popupDiv.querySelector('.e-no-records');
@@ -1084,6 +1132,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
1084
1132
  };
1085
1133
  MultiColumnComboBox.prototype.updateValuesOnInput = function (mouseEvent, keyEvent, isClearValues) {
1086
1134
  var _this = this;
1135
+ if (isClearValues === void 0) { isClearValues = false; }
1087
1136
  var e = mouseEvent ? mouseEvent : keyEvent;
1088
1137
  this.hidePopup(e);
1089
1138
  if (this.matchedRowEle && !isClearValues) {
@@ -1230,7 +1279,8 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
1230
1279
  MultiColumnComboBox.prototype.updateSelectedItem = function (e, isUpdateIndex, isInputTarget) {
1231
1280
  if (isUpdateIndex === void 0) { isUpdateIndex = true; }
1232
1281
  if (this.isPopupOpen) {
1233
- var index = !this.fields.groupBy ? this.gridObj.selectedRowIndex : this.gridObj.selectedRowIndex ? this.gridObj.selectedRowIndex : 0;
1282
+ var index = !this.fields.groupBy ? this.gridObj.selectedRowIndex
1283
+ : this.gridObj.selectedRowIndex ? this.gridObj.selectedRowIndex : 0;
1234
1284
  if ((index === -1 && (e.action === 'moveDown' || e.action === 'moveUp')) || (e.action === 'home')) {
1235
1285
  index = 0;
1236
1286
  }
@@ -1250,7 +1300,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
1250
1300
  focusedEle.classList.remove('e-row-focus');
1251
1301
  }
1252
1302
  if (isUpdateIndex) {
1253
- this.selectedGridRow(this.gridObj.getRows()[index], e, true);
1303
+ this.selectedGridRow(this.gridObj.getRows()[parseInt(index.toString(), 10)], e, true);
1254
1304
  }
1255
1305
  }
1256
1306
  };
@@ -1291,19 +1341,22 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
1291
1341
  if (this.isPopupOpen) {
1292
1342
  this.hidePopup(e);
1293
1343
  }
1294
- removeClass([this.inputWrapper], [INPUTFOCUS]);
1295
- var clearIconEle = this.inputWrapper.querySelector('.e-clear-icon');
1296
- if (clearIconEle) {
1297
- clearIconEle.style.display = 'none';
1298
- }
1299
- if (this.floatLabelType !== 'Never') {
1300
- Input.calculateWidth(this.inputEle, this.inputWrapper);
1344
+ if (this.inputWrapper) {
1345
+ removeClass([this.inputWrapper], [INPUTFOCUS]);
1346
+ var clearIconEle = this.inputWrapper.querySelector('.e-clear-icon');
1347
+ if (clearIconEle) {
1348
+ clearIconEle.style.display = 'none';
1349
+ }
1350
+ if (this.floatLabelType !== 'Never') {
1351
+ Input.calculateWidth(this.inputEle, this.inputWrapper);
1352
+ }
1301
1353
  }
1302
1354
  };
1303
1355
  /**
1304
1356
  * Opens the popup that displays the list of items.
1305
1357
  *
1306
1358
  * @param {MouseEvent | KeyboardEventArgs | TouchEvent} e - Specifies the event.
1359
+ * @param {boolean} isInputOpen - Specifies whether the input is open or not.
1307
1360
  * @returns {void}
1308
1361
  */
1309
1362
  MultiColumnComboBox.prototype.showPopup = function (e, isInputOpen) {
@@ -1318,9 +1371,19 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
1318
1371
  attributes(_this.inputEle, { 'aria-expanded': 'true', 'aria-owns': _this.element.id + '_popup', 'aria-controls': _this.element.id });
1319
1372
  if (!isInputOpen) {
1320
1373
  if ((_this.value || _this.text || _this.index)) {
1321
- var dataRows = _this.gridObj.currentViewData;
1374
+ var dataRows = _this.gridObj.getRowsObject();
1375
+ var groupIndex_1;
1376
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1322
1377
  dataRows.forEach(function (data, index) {
1323
- _this.selectDataRow(data, index);
1378
+ if (_this.fields.groupBy && isNullOrUndefined(data.data.items)) {
1379
+ if (isNullOrUndefined(groupIndex_1)) {
1380
+ groupIndex_1 = 0;
1381
+ }
1382
+ else {
1383
+ groupIndex_1 += 1;
1384
+ }
1385
+ }
1386
+ _this.selectDataRow(data.data, !_this.fields.groupBy ? index : groupIndex_1);
1324
1387
  });
1325
1388
  }
1326
1389
  _this.focusIn(e);
@@ -1535,12 +1598,14 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
1535
1598
  this.initValue(true, false);
1536
1599
  break;
1537
1600
  case 'index':
1538
- this.initValue();
1601
+ this.initValue(true);
1539
1602
  break;
1540
1603
  case 'sortOrder':
1541
1604
  if (this.gridObj) {
1542
- this.gridObj.sortSettings.columns = [{ field: this.fields.text, direction: newProp.sortOrder === SortOrder.Ascending ?
1543
- SortOrder.Ascending : SortOrder.Descending }];
1605
+ this.gridObj.sortSettings.columns = [{
1606
+ field: this.fields.text, direction: newProp.sortOrder === SortOrder.Ascending ?
1607
+ SortOrder.Ascending : SortOrder.Descending
1608
+ }];
1544
1609
  }
1545
1610
  break;
1546
1611
  case 'htmlAttributes':
@@ -1607,7 +1672,10 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
1607
1672
  }
1608
1673
  break;
1609
1674
  case 'sortType':
1610
- this.sortType = newProp.sortType;
1675
+ if (this.gridObj) {
1676
+ this.sortType = newProp.sortType;
1677
+ this.gridObj.allowMultiSorting = this.sortType.toString().toLowerCase() === 'multiplecolumns' && this.allowSorting;
1678
+ }
1611
1679
  break;
1612
1680
  case 'allowFiltering':
1613
1681
  this.allowFiltering = newProp.allowFiltering;