@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.
- package/.eslintrc.json +261 -0
- package/dist/ej2-multicolumn-combobox.umd.min.js +2 -2
- package/dist/ej2-multicolumn-combobox.umd.min.js.map +1 -1
- package/dist/es6/ej2-multicolumn-combobox.es2015.js +109 -44
- package/dist/es6/ej2-multicolumn-combobox.es2015.js.map +1 -1
- package/dist/es6/ej2-multicolumn-combobox.es5.js +110 -42
- package/dist/es6/ej2-multicolumn-combobox.es5.js.map +1 -1
- package/dist/global/ej2-multicolumn-combobox.min.js +2 -2
- package/dist/global/ej2-multicolumn-combobox.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +9 -8
- package/src/multicolumn-combobox/multi-column-combo-box-model.d.ts +2 -2
- package/src/multicolumn-combobox/multi-column-combo-box.d.ts +4 -2
- package/src/multicolumn-combobox/multi-column-combo-box.js +111 -44
- package/styles/bootstrap-dark-lite.css +267 -0
- package/styles/bootstrap-dark-lite.scss +10 -0
- package/styles/bootstrap-dark.css +77 -108
- package/styles/bootstrap-dark.scss +1 -0
- package/styles/bootstrap-lite.css +267 -0
- package/styles/bootstrap-lite.scss +10 -0
- package/styles/bootstrap.css +77 -108
- package/styles/bootstrap.scss +1 -0
- package/styles/bootstrap4-lite.css +309 -0
- package/styles/bootstrap4-lite.scss +10 -0
- package/styles/bootstrap4.css +78 -131
- package/styles/bootstrap4.scss +1 -0
- package/styles/bootstrap5-dark-lite.css +317 -0
- package/styles/bootstrap5-dark-lite.scss +10 -0
- package/styles/bootstrap5-dark.css +78 -127
- package/styles/bootstrap5-dark.scss +1 -0
- package/styles/bootstrap5-lite.css +317 -0
- package/styles/bootstrap5-lite.scss +10 -0
- package/styles/bootstrap5.3-lite.css +321 -0
- package/styles/bootstrap5.3-lite.scss +10 -0
- package/styles/bootstrap5.3.css +372 -0
- package/styles/bootstrap5.3.scss +11 -0
- package/styles/bootstrap5.css +78 -127
- package/styles/bootstrap5.scss +1 -0
- package/styles/fabric-dark-lite.css +243 -0
- package/styles/fabric-dark-lite.scss +10 -0
- package/styles/fabric-dark.css +78 -108
- package/styles/fabric-dark.scss +1 -0
- package/styles/fabric-lite.css +243 -0
- package/styles/fabric-lite.scss +10 -0
- package/styles/fabric.css +78 -101
- package/styles/fabric.scss +1 -0
- package/styles/fluent-dark-lite.css +310 -0
- package/styles/fluent-dark-lite.scss +10 -0
- package/styles/fluent-dark.css +78 -114
- package/styles/fluent-dark.scss +1 -0
- package/styles/fluent-lite.css +310 -0
- package/styles/fluent-lite.scss +10 -0
- package/styles/fluent.css +78 -114
- package/styles/fluent.scss +1 -0
- package/styles/fluent2-lite.css +314 -0
- package/styles/fluent2-lite.scss +10 -0
- package/styles/fluent2.css +78 -111
- package/styles/fluent2.scss +1 -0
- package/styles/highcontrast-light-lite.css +264 -0
- package/styles/highcontrast-light-lite.scss +10 -0
- package/styles/highcontrast-light.css +78 -98
- package/styles/highcontrast-light.scss +1 -0
- package/styles/highcontrast-lite.css +268 -0
- package/styles/highcontrast-lite.scss +10 -0
- package/styles/highcontrast.css +82 -98
- package/styles/highcontrast.scss +1 -0
- package/styles/material-dark-lite.css +292 -0
- package/styles/material-dark-lite.scss +10 -0
- package/styles/material-dark.css +78 -92
- package/styles/material-dark.scss +1 -0
- package/styles/material-lite.css +296 -0
- package/styles/material-lite.scss +10 -0
- package/styles/material.css +78 -113
- package/styles/material.scss +1 -0
- package/styles/material3-dark-lite.css +306 -0
- package/styles/material3-dark-lite.scss +10 -0
- package/styles/material3-dark.css +77 -116
- package/styles/material3-dark.scss +1 -0
- package/styles/material3-lite.css +308 -0
- package/styles/material3-lite.scss +10 -0
- package/styles/material3.css +77 -116
- package/styles/material3.scss +1 -0
- package/styles/multicolumn-combobox/_bds-definition.scss +1 -0
- package/styles/multicolumn-combobox/_bigger.scss +37 -0
- package/styles/multicolumn-combobox/_bootstrap-dark-definition.scss +1 -0
- package/styles/multicolumn-combobox/_bootstrap-definition.scss +1 -0
- package/styles/multicolumn-combobox/_bootstrap4-definition.scss +1 -0
- package/styles/multicolumn-combobox/_bootstrap5-definition.scss +1 -0
- package/styles/multicolumn-combobox/_bootstrap5.3-definition.scss +15 -14
- package/styles/multicolumn-combobox/_fabric-dark-definition.scss +1 -0
- package/styles/multicolumn-combobox/_fabric-definition.scss +1 -0
- package/styles/multicolumn-combobox/_fluent-definition.scss +1 -0
- package/styles/multicolumn-combobox/_fluent2-definition.scss +1 -0
- package/styles/multicolumn-combobox/_fusionnew-definition.scss +1 -0
- package/styles/multicolumn-combobox/_highcontrast-definition.scss +1 -0
- package/styles/multicolumn-combobox/_highcontrast-light-definition.scss +1 -0
- package/styles/multicolumn-combobox/_layout.scss +34 -33
- package/styles/multicolumn-combobox/_material-dark-definition.scss +1 -0
- package/styles/multicolumn-combobox/_material-definition.scss +1 -0
- package/styles/multicolumn-combobox/_material3-definition.scss +1 -0
- package/styles/multicolumn-combobox/_tailwind-definition.scss +1 -0
- package/styles/multicolumn-combobox/_theme.scss +3 -0
- package/styles/multicolumn-combobox/bootstrap-dark.css +77 -108
- package/styles/multicolumn-combobox/bootstrap-dark.scss +1 -0
- package/styles/multicolumn-combobox/bootstrap.css +77 -108
- package/styles/multicolumn-combobox/bootstrap.scss +1 -0
- package/styles/multicolumn-combobox/bootstrap4.css +78 -131
- package/styles/multicolumn-combobox/bootstrap4.scss +1 -0
- package/styles/multicolumn-combobox/bootstrap5-dark.css +78 -127
- package/styles/multicolumn-combobox/bootstrap5-dark.scss +1 -0
- package/styles/multicolumn-combobox/bootstrap5.3.css +372 -0
- package/styles/multicolumn-combobox/bootstrap5.3.scss +11 -0
- package/styles/multicolumn-combobox/bootstrap5.css +78 -127
- package/styles/multicolumn-combobox/bootstrap5.scss +1 -0
- package/styles/multicolumn-combobox/fabric-dark.css +78 -108
- package/styles/multicolumn-combobox/fabric-dark.scss +1 -0
- package/styles/multicolumn-combobox/fabric.css +78 -101
- package/styles/multicolumn-combobox/fabric.scss +1 -0
- package/styles/multicolumn-combobox/fluent-dark.css +78 -114
- package/styles/multicolumn-combobox/fluent-dark.scss +1 -0
- package/styles/multicolumn-combobox/fluent.css +78 -114
- package/styles/multicolumn-combobox/fluent.scss +1 -0
- package/styles/multicolumn-combobox/fluent2.css +78 -111
- package/styles/multicolumn-combobox/fluent2.scss +1 -0
- package/styles/multicolumn-combobox/highcontrast-light.css +78 -98
- package/styles/multicolumn-combobox/highcontrast-light.scss +1 -0
- package/styles/multicolumn-combobox/highcontrast.css +82 -98
- package/styles/multicolumn-combobox/highcontrast.scss +1 -0
- package/styles/multicolumn-combobox/material-dark.css +78 -92
- package/styles/multicolumn-combobox/material-dark.scss +1 -0
- package/styles/multicolumn-combobox/material.css +78 -113
- package/styles/multicolumn-combobox/material.scss +1 -0
- package/styles/multicolumn-combobox/material3-dark.css +77 -116
- package/styles/multicolumn-combobox/material3-dark.scss +1 -0
- package/styles/multicolumn-combobox/material3.css +77 -116
- package/styles/multicolumn-combobox/material3.scss +1 -0
- package/styles/multicolumn-combobox/tailwind-dark.css +78 -111
- package/styles/multicolumn-combobox/tailwind-dark.scss +1 -0
- package/styles/multicolumn-combobox/tailwind.css +78 -111
- package/styles/multicolumn-combobox/tailwind.scss +1 -0
- package/styles/tailwind-dark-lite.css +297 -0
- package/styles/tailwind-dark-lite.scss +10 -0
- package/styles/tailwind-dark.css +78 -111
- package/styles/tailwind-dark.scss +1 -0
- package/styles/tailwind-lite.css +297 -0
- package/styles/tailwind-lite.scss +10 -0
- package/styles/tailwind.css +78 -111
- package/styles/tailwind.scss +1 -0
- package/tslint.json +111 -0
- 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=
|
|
172
|
+
* <input type='text' id='multi-column'></input>
|
|
173
173
|
* ```
|
|
174
174
|
* ```typescript
|
|
175
175
|
* let multiColObj: MultiColumnComboBox = new MultiColumnComboBox();
|
|
176
|
-
* multiColObj.appendTo(
|
|
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
|
-
|
|
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
|
-
|
|
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 :
|
|
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')
|
|
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
|
-
|
|
588
|
-
|
|
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
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
if (
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
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
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
clearIconEle
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
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.
|
|
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.
|
|
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 = [{
|
|
1493
|
-
|
|
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.
|
|
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;
|