@syncfusion/ej2-multicolumn-combobox 27.2.2 → 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.2.2
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.50",
3
+ "_id": "@syncfusion/ej2-multicolumn-combobox@27.2.2",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-EOofLYL5/E3dbDSlmJDXjMWYY7pDlBOWu7XDJgsLZIdRoSpMi0k/qMQXoCkCC6LKhmZzJlv6ft9W+v2BeH5t8Q==",
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.50.tgz",
27
- "_shasum": "ed0fd49d62ea9ae2daa5ff23abfea820aaed40e5",
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": {
@@ -36,7 +36,7 @@
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
38
  "@syncfusion/ej2-base": "~27.2.2",
39
- "@syncfusion/ej2-grids": "~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.2.2",
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
@@ -356,6 +344,14 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
356
344
  }
357
345
  this.gridObj.appendTo(this.gridEle);
358
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
+ };
359
355
  /* eslint-disable @typescript-eslint/no-explicit-any */
360
356
  MultiColumnComboBox.prototype.isRowMatching = function (data, selectedValue, selectedText) {
361
357
  var values = Object.values(data).map(String);
@@ -456,6 +452,11 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
456
452
  this.popupEle.style.visibility = 'unset';
457
453
  this.isInitialRender = false;
458
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
+ }
459
460
  };
460
461
  MultiColumnComboBox.prototype.onActionFailure = function (args) {
461
462
  this.trigger('actionFailure', args);
@@ -1283,33 +1284,44 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
1283
1284
  }
1284
1285
  };
1285
1286
  MultiColumnComboBox.prototype.updateSelectedItem = function (e, isUpdateIndex, isInputTarget) {
1287
+ var _this = this;
1286
1288
  if (isUpdateIndex === void 0) { isUpdateIndex = true; }
1287
1289
  if (this.isPopupOpen) {
1288
- var index = !this.fields.groupBy ? this.gridObj.selectedRowIndex
1289
- : this.gridObj.selectedRowIndex ? this.gridObj.selectedRowIndex : 0;
1290
- if ((index === -1 && (e.action === 'moveDown' || e.action === 'moveUp')) || (e.action === 'home')) {
1291
- 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;
1292
1295
  }
1293
- else if ((index >= this.gridObj.getRows().length && e.action === 'moveDown') || (e.action === 'end')) {
1294
- index = this.gridObj.getRows().length - 1;
1296
+ else if ((index_1 >= (dataLength - 1) && e.action === 'moveDown') || (e.action === 'end')) {
1297
+ index_1 = dataLength - 1;
1295
1298
  }
1296
- else if (e.action === 'moveDown' && (index >= 0 && index <= this.gridObj.getRows().length) && (this.fields.groupBy || isInputTarget)) {
1297
- index += 1;
1299
+ else if (e.action === 'moveDown' && (index_1 >= 0 && index_1 <= (dataLength - 1)) && (this.fields.groupBy || isInputTarget)) {
1300
+ index_1 += 1;
1298
1301
  }
1299
- else if (e.action === 'moveUp' && index > 0 && (this.fields.groupBy) || isInputTarget) {
1300
- index -= 1;
1302
+ else if (e.action === 'moveUp' && index_1 > 0 && (this.fields.groupBy) || isInputTarget) {
1303
+ index_1 -= 1;
1301
1304
  }
1302
- this.gridObj.selectRow(index);
1303
- this.gridObj.selectedRowIndex = index;
1304
- var focusedEle = this.gridEle.querySelector('.e-row-focus');
1305
- if (focusedEle) {
1306
- focusedEle.classList.remove('e-row-focus');
1305
+ if (!this.enableVirtualization) {
1306
+ this.selectRow(e, isUpdateIndex, index_1);
1307
1307
  }
1308
- if (isUpdateIndex) {
1309
- this.selectedGridRow(this.gridObj.getRows()[parseInt(index.toString(), 10)], e, true);
1308
+ else {
1309
+ setTimeout(function () { _this.selectRow(e, isUpdateIndex, index_1); });
1310
1310
  }
1311
1311
  }
1312
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
+ };
1313
1325
  MultiColumnComboBox.prototype.updateClearIconState = function () {
1314
1326
  var clearIconEle = this.inputWrapper.querySelector('.e-clear-icon');
1315
1327
  if (clearIconEle) {
@@ -1404,6 +1416,12 @@ var MultiColumnComboBox = /** @class */ (function (_super) {
1404
1416
  _this.inputEle.setAttribute('aria-activedescendant', contentEle.querySelector('.e-row').getAttribute('data-uid'));
1405
1417
  }
1406
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
+ }
1407
1425
  _this.popupObj.show(new Animation(eventArgs.animation), _this.popupEle);
1408
1426
  }
1409
1427
  });