@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
@@ -169,11 +169,11 @@ __decorate([
169
169
  * The selected value will be displayed in the input element.
170
170
  *
171
171
  * ```html
172
- * <input type="text" id="multi-column"></input>
172
+ * <input type='text' id='multi-column'></input>
173
173
  * ```
174
174
  * ```typescript
175
175
  * let multiColObj: MultiColumnComboBox = new MultiColumnComboBox();
176
- * multiColObj.appendTo("#multi-column");
176
+ * multiColObj.appendTo('#multi-column');
177
177
  * ```
178
178
  */
179
179
  let MultiColumnComboBox = class MultiColumnComboBox extends Component {
@@ -280,6 +280,7 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
280
280
  if (args.requestType === 'sorting') {
281
281
  this.updateRowSelection(args);
282
282
  }
283
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
283
284
  const dataRows = args.rows;
284
285
  if (this.isDataFiltered && dataRows.length > 0 && this.inputEle.value !== '' && args.requestType !== 'sorting') {
285
286
  const firstRowEle = this.gridObj.getRows()[0];
@@ -315,7 +316,7 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
315
316
  }
316
317
  this.gridObj.appendTo(this.gridEle);
317
318
  }
318
- // eslint-disable @typescript-eslint/no-explicit-any
319
+ /* eslint-disable @typescript-eslint/no-explicit-any */
319
320
  isRowMatching(data, selectedValue, selectedText) {
320
321
  const values = Object.values(data).map(String);
321
322
  const isRowPresent = values.includes(selectedValue) && values.includes(selectedText);
@@ -344,11 +345,11 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
344
345
  }
345
346
  findIndex(arr, obj) {
346
347
  return arr.findIndex((item) => {
347
- return Object.keys(obj).every(key => item[key] === obj[key]);
348
+ // eslint-disable-next-line
349
+ return Object.keys(obj).every((key) => item[key] === obj[key]);
348
350
  });
349
351
  }
350
- ;
351
- // eslint-enable @typescript-eslint/no-explicit-any
352
+ /* eslint-enable @typescript-eslint/no-explicit-any */
352
353
  getGridColumns() {
353
354
  return this.columns.map((column) => {
354
355
  let changeType;
@@ -381,7 +382,7 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
381
382
  showDropArea: false,
382
383
  columns: [this.fields.groupBy],
383
384
  captionTemplate: (this.groupTemplate && this.fields.groupBy !== '' && !isNullOrUndefined(this.fields.groupBy))
384
- ? this.groupTemplate : "${key}"
385
+ ? this.groupTemplate : '${key}'
385
386
  };
386
387
  if (this.isVue) {
387
388
  this.gridObj.isVue = this.isVue;
@@ -405,7 +406,9 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
405
406
  }
406
407
  }
407
408
  if (this.isInitialRender) {
408
- const rowHeight = !this.popupDiv.classList.contains(NODATA) ? this.popupDiv.querySelector('.e-gridcontent tr').getBoundingClientRect().height : this.popupDiv.getBoundingClientRect().height;
409
+ const rowHeight = !this.popupDiv.classList.contains(NODATA) ? this.popupDiv.querySelector('.e-gridcontent tr') ?
410
+ this.popupDiv.querySelector('.e-gridcontent tr').getBoundingClientRect().height : 0 :
411
+ this.popupDiv.getBoundingClientRect().height;
409
412
  this.popupRowHeight = rowHeight;
410
413
  this.popupObj.hide();
411
414
  this.popupEle.style.visibility = 'unset';
@@ -584,8 +587,29 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
584
587
  });
585
588
  }
586
589
  else if (!isNullOrUndefined(this.dataSource) && this.dataSource instanceof Array) {
587
- item = this.dataSource[this.index];
588
- updateValues(this.dataSource);
590
+ if (!this.fields.groupBy) {
591
+ item = this.dataSource[this.index];
592
+ updateValues(this.dataSource);
593
+ }
594
+ else {
595
+ setTimeout(() => {
596
+ const rows = this.gridObj.getRows();
597
+ if (rows && rows.length > 0) {
598
+ const rowData = this.gridObj.getRowInfo(rows[this.index]).rowData;
599
+ const value = this.fields.value;
600
+ for (let i = 0; i < rows.length; i++) {
601
+ if (rowData && rowData[parseInt(value.toString(), 10)] ===
602
+ this.dataSource[parseInt(i.toString(), 10)][parseInt(value.toString(), 10)]) {
603
+ item = rowData;
604
+ updateValues(this.dataSource);
605
+ this.updateChangeEvent(item, prevItemData, prevItemEle, currentValue, currentText, currentIndex, isRerender, isInitial);
606
+ this.gridObj.selectRow(this.index);
607
+ break;
608
+ }
609
+ }
610
+ }
611
+ });
612
+ }
589
613
  }
590
614
  }
591
615
  if (!(this.dataSource instanceof DataManager)) {
@@ -864,6 +888,7 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
864
888
  let data;
865
889
  if (this.dataSource instanceof DataManager) {
866
890
  const query = new Query();
891
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
867
892
  this.dataSource.executeQuery(query).then((result) => {
868
893
  const totaldata = result.result;
869
894
  data = totaldata.filter((item) => {
@@ -896,25 +921,45 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
896
921
  }
897
922
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
898
923
  filterAction(dataSource, inputValue, query, fields) {
899
- const filterType = this.filterType.toString().toLowerCase();
900
- const isQuery = query || new Query();
901
- let filteredData;
902
- if (dataSource instanceof DataManager) {
903
- // Handle filtering for DataManager
904
- dataSource.executeQuery(isQuery).then((e) => {
905
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
906
- const dataLists = e.result;
907
- const dataLength = dataLists.length;
908
- filteredData = dataLists.filter((item) => this.filterData(item, filterType, inputValue, fields));
909
- this.updateGridDataSource(filteredData, dataLength);
910
- });
924
+ if (isNullOrUndefined(query) && isNullOrUndefined(fields)) {
925
+ this.updateGridDataSource(dataSource);
926
+ }
927
+ else if (query) {
928
+ if (dataSource instanceof DataManager) {
929
+ this.filteringHandler(dataSource, inputValue, query, fields);
930
+ }
931
+ else {
932
+ new DataManager(dataSource).executeQuery(query).then((e) => {
933
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
934
+ const dataLists = e.result;
935
+ this.updateGridDataSource(dataLists);
936
+ });
937
+ }
911
938
  }
912
- else if (Array.isArray(dataSource)) {
913
- // Handle filtering for array data source
914
- filteredData = dataSource.filter((item) => this.filterData(item, filterType, inputValue, fields));
915
- this.updateGridDataSource(filteredData);
939
+ else {
940
+ const isQuery = query || new Query();
941
+ if (dataSource instanceof DataManager) {
942
+ this.filteringHandler(dataSource, inputValue, isQuery, fields);
943
+ }
944
+ else if (Array.isArray(dataSource)) {
945
+ const filterType = this.filterType.toString().toLowerCase();
946
+ const filteredData = dataSource.filter((item) => this.filterData(item, filterType, inputValue, fields));
947
+ this.updateGridDataSource(filteredData);
948
+ }
916
949
  }
917
950
  }
951
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
952
+ filteringHandler(dataSource, inputValue, query, fields) {
953
+ const filterType = this.filterType.toString().toLowerCase();
954
+ let filteredData;
955
+ dataSource.executeQuery(query).then((e) => {
956
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
957
+ const dataLists = e.result;
958
+ const dataLength = dataLists.length;
959
+ filteredData = dataLists.filter((item) => this.filterData(item, filterType, inputValue, fields));
960
+ this.updateGridDataSource(filteredData, dataLength);
961
+ });
962
+ }
918
963
  filterData(item, filterType, inputValue, fields) {
919
964
  const itemValue = item[fields ? fields.text : this.fields.text].toString().toLowerCase();
920
965
  switch (filterType) {
@@ -931,7 +976,8 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
931
976
  updateGridDataSource(dataSource, dataLength) {
932
977
  let autoHeight = true;
933
978
  if (dataSource.length > 0) {
934
- const length = this.dataSource instanceof DataManager ? dataLength : this.dataSource.length;
979
+ const length = this.dataSource instanceof DataManager ? dataLength
980
+ : this.dataSource.length;
935
981
  autoHeight = length !== dataSource.length;
936
982
  removeClass([this.popupDiv], [NODATA]);
937
983
  const noRecordEle = this.popupDiv.querySelector('.e-no-records');
@@ -1009,7 +1055,7 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
1009
1055
  onMouseClick(e) {
1010
1056
  const target = e.target;
1011
1057
  const row = closest(target, '.e-row');
1012
- let selectedRowIndex = this.gridObj.selectedRowIndex;
1058
+ const selectedRowIndex = this.gridObj.selectedRowIndex;
1013
1059
  if (row) {
1014
1060
  if (selectedRowIndex >= 0) {
1015
1061
  this.selectedGridRow(row, e);
@@ -1038,7 +1084,7 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
1038
1084
  }
1039
1085
  }
1040
1086
  }
1041
- updateValuesOnInput(mouseEvent, keyEvent, isClearValues) {
1087
+ updateValuesOnInput(mouseEvent, keyEvent, isClearValues = false) {
1042
1088
  const e = mouseEvent ? mouseEvent : keyEvent;
1043
1089
  this.hidePopup(e);
1044
1090
  if (this.matchedRowEle && !isClearValues) {
@@ -1184,7 +1230,8 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
1184
1230
  }
1185
1231
  updateSelectedItem(e, isUpdateIndex = true, isInputTarget) {
1186
1232
  if (this.isPopupOpen) {
1187
- let index = !this.fields.groupBy ? this.gridObj.selectedRowIndex : this.gridObj.selectedRowIndex ? this.gridObj.selectedRowIndex : 0;
1233
+ let index = !this.fields.groupBy ? this.gridObj.selectedRowIndex
1234
+ : this.gridObj.selectedRowIndex ? this.gridObj.selectedRowIndex : 0;
1188
1235
  if ((index === -1 && (e.action === 'moveDown' || e.action === 'moveUp')) || (e.action === 'home')) {
1189
1236
  index = 0;
1190
1237
  }
@@ -1204,7 +1251,7 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
1204
1251
  focusedEle.classList.remove('e-row-focus');
1205
1252
  }
1206
1253
  if (isUpdateIndex) {
1207
- this.selectedGridRow(this.gridObj.getRows()[index], e, true);
1254
+ this.selectedGridRow(this.gridObj.getRows()[parseInt(index.toString(), 10)], e, true);
1208
1255
  }
1209
1256
  }
1210
1257
  }
@@ -1245,19 +1292,22 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
1245
1292
  if (this.isPopupOpen) {
1246
1293
  this.hidePopup(e);
1247
1294
  }
1248
- removeClass([this.inputWrapper], [INPUTFOCUS]);
1249
- const clearIconEle = this.inputWrapper.querySelector('.e-clear-icon');
1250
- if (clearIconEle) {
1251
- clearIconEle.style.display = 'none';
1252
- }
1253
- if (this.floatLabelType !== 'Never') {
1254
- Input.calculateWidth(this.inputEle, this.inputWrapper);
1295
+ if (this.inputWrapper) {
1296
+ removeClass([this.inputWrapper], [INPUTFOCUS]);
1297
+ const clearIconEle = this.inputWrapper.querySelector('.e-clear-icon');
1298
+ if (clearIconEle) {
1299
+ clearIconEle.style.display = 'none';
1300
+ }
1301
+ if (this.floatLabelType !== 'Never') {
1302
+ Input.calculateWidth(this.inputEle, this.inputWrapper);
1303
+ }
1255
1304
  }
1256
1305
  }
1257
1306
  /**
1258
1307
  * Opens the popup that displays the list of items.
1259
1308
  *
1260
1309
  * @param {MouseEvent | KeyboardEventArgs | TouchEvent} e - Specifies the event.
1310
+ * @param {boolean} isInputOpen - Specifies whether the input is open or not.
1261
1311
  * @returns {void}
1262
1312
  */
1263
1313
  showPopup(e, isInputOpen) {
@@ -1271,9 +1321,19 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
1271
1321
  attributes(this.inputEle, { 'aria-expanded': 'true', 'aria-owns': this.element.id + '_popup', 'aria-controls': this.element.id });
1272
1322
  if (!isInputOpen) {
1273
1323
  if ((this.value || this.text || this.index)) {
1274
- const dataRows = this.gridObj.currentViewData;
1324
+ const dataRows = this.gridObj.getRowsObject();
1325
+ let groupIndex;
1326
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1275
1327
  dataRows.forEach((data, index) => {
1276
- this.selectDataRow(data, index);
1328
+ if (this.fields.groupBy && isNullOrUndefined(data.data.items)) {
1329
+ if (isNullOrUndefined(groupIndex)) {
1330
+ groupIndex = 0;
1331
+ }
1332
+ else {
1333
+ groupIndex += 1;
1334
+ }
1335
+ }
1336
+ this.selectDataRow(data.data, !this.fields.groupBy ? index : groupIndex);
1277
1337
  });
1278
1338
  }
1279
1339
  this.focusIn(e);
@@ -1485,12 +1545,14 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
1485
1545
  this.initValue(true, false);
1486
1546
  break;
1487
1547
  case 'index':
1488
- this.initValue();
1548
+ this.initValue(true);
1489
1549
  break;
1490
1550
  case 'sortOrder':
1491
1551
  if (this.gridObj) {
1492
- this.gridObj.sortSettings.columns = [{ field: this.fields.text, direction: newProp.sortOrder === SortOrder.Ascending ?
1493
- SortOrder.Ascending : SortOrder.Descending }];
1552
+ this.gridObj.sortSettings.columns = [{
1553
+ field: this.fields.text, direction: newProp.sortOrder === SortOrder.Ascending ?
1554
+ SortOrder.Ascending : SortOrder.Descending
1555
+ }];
1494
1556
  }
1495
1557
  break;
1496
1558
  case 'htmlAttributes':
@@ -1557,7 +1619,10 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
1557
1619
  }
1558
1620
  break;
1559
1621
  case 'sortType':
1560
- this.sortType = newProp.sortType;
1622
+ if (this.gridObj) {
1623
+ this.sortType = newProp.sortType;
1624
+ this.gridObj.allowMultiSorting = this.sortType.toString().toLowerCase() === 'multiplecolumns' && this.allowSorting;
1625
+ }
1561
1626
  break;
1562
1627
  case 'allowFiltering':
1563
1628
  this.allowFiltering = newProp.allowFiltering;