@syncfusion/ej2-multicolumn-combobox 27.1.50 → 27.2.3

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 27.1.50
3
+ * version : 27.2.3
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@27.1.48",
3
+ "_id": "@syncfusion/ej2-multicolumn-combobox@27.2.2",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-mH+FtBZH163NMhWO7mcKD5zrGGFYQwqfJHyOcKLb7lVCOTRe9IX+5/7AJqgOFKrt39fFg6mVFfnqSLyM7wPzcQ==",
5
+ "_integrity": "sha512-jN+lqOynxh/T6uPWxg+rsggEGR0zyytFvDIZMUUnXZqUqIrzEGBENgt8qTu7zoOb+ARR+DleCMHD6JI8onzlkg==",
6
6
  "_location": "/@syncfusion/ej2-multicolumn-combobox",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,8 +23,8 @@
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-27.1.48.tgz",
27
- "_shasum": "17f5a0f611fde0cd72e7d3a51a5d5e443b74424b",
26
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-multicolumn-combobox/-/ej2-multicolumn-combobox-27.2.2.tgz",
27
+ "_shasum": "7a45b3c9e21a129fae02e2e16ce72de295e1c007",
28
28
  "_spec": "@syncfusion/ej2-multicolumn-combobox@*",
29
29
  "_where": "/jenkins/workspace/elease-automation_release_27.1.1/packages/included",
30
30
  "author": {
@@ -35,8 +35,8 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~27.1.50",
39
- "@syncfusion/ej2-grids": "~27.1.50"
38
+ "@syncfusion/ej2-base": "~27.2.2",
39
+ "@syncfusion/ej2-grids": "~27.2.3"
40
40
  },
41
41
  "deprecated": false,
42
42
  "description": "Essential JS 2 Component",
@@ -57,6 +57,6 @@
57
57
  "url": "git+https://github.com/syncfusion/ej2-multicolumn-combobox-component.git"
58
58
  },
59
59
  "typings": "index.d.ts",
60
- "version": "27.1.50",
60
+ "version": "27.2.3",
61
61
  "sideEffects": false
62
62
  }
@@ -741,6 +741,7 @@ export declare class MultiColumnComboBox extends Component<HTMLElement> implemen
741
741
  private matchedContent;
742
742
  private isDataFiltered;
743
743
  private isInitialRender;
744
+ private remoteDataLength;
744
745
  /**
745
746
  * *Constructor for creating the component
746
747
  *
@@ -774,6 +775,7 @@ export declare class MultiColumnComboBox extends Component<HTMLElement> implemen
774
775
  private persistData;
775
776
  protected render(): void;
776
777
  private renderGrid;
778
+ private handleActionComplete;
777
779
  private isRowMatching;
778
780
  private updateRowSelection;
779
781
  private selectDataRow;
@@ -826,6 +828,7 @@ export declare class MultiColumnComboBox extends Component<HTMLElement> implemen
826
828
  private keyActionHandler;
827
829
  private gridKeyActionHandler;
828
830
  private updateSelectedItem;
831
+ private selectRow;
829
832
  private updateClearIconState;
830
833
  /**
831
834
  * Sets the focus to the component for interaction.component for interaction.
@@ -313,19 +313,7 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
313
313
  dataBound: function () { _this.onDataBound(); },
314
314
  actionFailure: function (args) { _this.onActionFailure(args); },
315
315
  actionBegin: function (args) { _this.trigger('actionBegin', args); },
316
- actionComplete: function (args) {
317
- _this.trigger('actionComplete', args);
318
- if (args.requestType === 'sorting') {
319
- _this.updateRowSelection(args);
320
- }
321
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
322
- var dataRows = args.rows;
323
- if (_this.isDataFiltered && dataRows.length > 0 && _this.inputEle.value !== '' && args.requestType !== 'sorting') {
324
- var firstRowEle = _this.gridObj.getRows()[0];
325
- firstRowEle.classList.add('e-row-focus');
326
- }
327
- _this.popupObj.refreshPosition();
328
- },
316
+ actionComplete: this.handleActionComplete.bind(this),
329
317
  keyPressed: function (args) {
330
318
  if (args.key === 'Enter') {
331
319
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -346,14 +334,24 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
346
334
  this.gridEle = this.createElement('div', { id: getUniqueID('grid'), className: MULTICOLUMNGRID });
347
335
  this.updateGroupByField();
348
336
  var sortOrder = this.sortOrder.toString().toLowerCase();
349
- // Set first column as primary key to avoid PRIMARY KEY MISSING warning.
350
- this.gridObj.columns[0].isPrimaryKey = true;
337
+ if (gridColumns.length > 0) {
338
+ // Set first column as primary key to avoid PRIMARY KEY MISSING warning.
339
+ this.gridObj.columns[0].isPrimaryKey = true;
340
+ }
351
341
  if (sortOrder !== 'none') {
352
342
  this.gridObj.sortSettings = { columns: [{ field: this.fields.text, direction: sortOrder === 'ascending' ?
353
343
  SortOrder.Ascending : SortOrder.Descending }] };
354
344
  }
355
345
  this.gridObj.appendTo(this.gridEle);
356
346
  };
347
+ MultiColumnComboBox.prototype.handleActionComplete = function (args) {
348
+ this.trigger('actionComplete', args);
349
+ if (args.requestType === 'sorting') {
350
+ this.updateRowSelection(args);
351
+ }
352
+ this.popupObj.refreshPosition();
353
+ this.gridObj.element.querySelector('.e-content').scrollTop = 0;
354
+ };
357
355
  /* eslint-disable @typescript-eslint/no-explicit-any */
358
356
  MultiColumnComboBox.prototype.isRowMatching = function (data, selectedValue, selectedText) {
359
357
  var values = Object.values(data).map(String);
@@ -454,6 +452,11 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
454
452
  this.popupEle.style.visibility = 'unset';
455
453
  this.isInitialRender = false;
456
454
  }
455
+ var rowElements = this.gridObj.element.querySelectorAll('.e-row');
456
+ if (this.isDataFiltered && rowElements.length > 0 && this.inputEle.value !== '') {
457
+ var firstRowEle = rowElements[0];
458
+ firstRowEle.classList.add('e-row-focus');
459
+ }
457
460
  };
458
461
  MultiColumnComboBox.prototype.onActionFailure = function (args) {
459
462
  this.trigger('actionFailure', args);
@@ -1281,33 +1284,44 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
1281
1284
  }
1282
1285
  };
1283
1286
  MultiColumnComboBox.prototype.updateSelectedItem = function (e, isUpdateIndex, isInputTarget) {
1287
+ var _this = this;
1284
1288
  if (isUpdateIndex === void 0) { isUpdateIndex = true; }
1285
1289
  if (this.isPopupOpen) {
1286
- var index = !this.fields.groupBy ? this.gridObj.selectedRowIndex
1287
- : this.gridObj.selectedRowIndex ? this.gridObj.selectedRowIndex : 0;
1288
- if ((index === -1 && (e.action === 'moveDown' || e.action === 'moveUp')) || (e.action === 'home')) {
1289
- index = 0;
1290
+ var index_1 = this.fields.groupBy ? (this.gridObj.selectedRowIndex || 0) : this.gridObj.selectedRowIndex;
1291
+ var dataLength = this.dataSource instanceof DataManager ? this.remoteDataLength :
1292
+ this.dataSource.length;
1293
+ if ((index_1 === -1 && (e.action === 'moveDown' || e.action === 'moveUp')) || (e.action === 'home')) {
1294
+ index_1 = 0;
1290
1295
  }
1291
- else if ((index >= this.gridObj.getRows().length && e.action === 'moveDown') || (e.action === 'end')) {
1292
- index = this.gridObj.getRows().length - 1;
1296
+ else if ((index_1 >= (dataLength - 1) && e.action === 'moveDown') || (e.action === 'end')) {
1297
+ index_1 = dataLength - 1;
1293
1298
  }
1294
- else if (e.action === 'moveDown' && (index >= 0 && index <= this.gridObj.getRows().length) && (this.fields.groupBy || isInputTarget)) {
1295
- index += 1;
1299
+ else if (e.action === 'moveDown' && (index_1 >= 0 && index_1 <= (dataLength - 1)) && (this.fields.groupBy || isInputTarget)) {
1300
+ index_1 += 1;
1296
1301
  }
1297
- else if (e.action === 'moveUp' && index > 0 && (this.fields.groupBy) || isInputTarget) {
1298
- index -= 1;
1302
+ else if (e.action === 'moveUp' && index_1 > 0 && (this.fields.groupBy) || isInputTarget) {
1303
+ index_1 -= 1;
1299
1304
  }
1300
- this.gridObj.selectRow(index);
1301
- this.gridObj.selectedRowIndex = index;
1302
- var focusedEle = this.gridEle.querySelector('.e-row-focus');
1303
- if (focusedEle) {
1304
- focusedEle.classList.remove('e-row-focus');
1305
+ if (!this.enableVirtualization) {
1306
+ this.selectRow(e, isUpdateIndex, index_1);
1305
1307
  }
1306
- if (isUpdateIndex) {
1307
- this.selectedGridRow(this.gridObj.getRows()[parseInt(index.toString(), 10)], e, true);
1308
+ else {
1309
+ setTimeout(function () { _this.selectRow(e, isUpdateIndex, index_1); });
1308
1310
  }
1309
1311
  }
1310
1312
  };
1313
+ MultiColumnComboBox.prototype.selectRow = function (e, isUpdateIndex, index) {
1314
+ if (isUpdateIndex === void 0) { isUpdateIndex = true; }
1315
+ this.gridObj.selectRow(index);
1316
+ this.gridObj.selectedRowIndex = index;
1317
+ var focusedEle = this.gridEle.querySelector('.e-row-focus');
1318
+ if (focusedEle) {
1319
+ focusedEle.classList.remove('e-row-focus');
1320
+ }
1321
+ if (isUpdateIndex) {
1322
+ this.selectedGridRow(this.gridObj.getRows()[parseInt(index.toString(), 10)], e, true);
1323
+ }
1324
+ };
1311
1325
  MultiColumnComboBox.prototype.updateClearIconState = function () {
1312
1326
  var clearIconEle = this.inputWrapper.querySelector('.e-clear-icon');
1313
1327
  if (clearIconEle) {
@@ -1402,6 +1416,12 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
1402
1416
  _this.inputEle.setAttribute('aria-activedescendant', contentEle.querySelector('.e-row').getAttribute('data-uid'));
1403
1417
  }
1404
1418
  }
1419
+ if (!isNOU(_this.dataSource) && _this.dataSource instanceof DataManager) {
1420
+ _this.dataSource.executeQuery(new Query).then(function (e) {
1421
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1422
+ _this.remoteDataLength = e.result.length;
1423
+ });
1424
+ }
1405
1425
  _this.popupObj.show(new Animation(eventArgs.animation), _this.popupEle);
1406
1426
  }
1407
1427
  });