@syncfusion/ej2-dropdowns 30.2.4 → 30.2.6

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 (80) hide show
  1. package/dist/ej2-dropdowns.min.js +2 -2
  2. package/dist/ej2-dropdowns.umd.min.js +2 -2
  3. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-dropdowns.es2015.js +29 -11
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +29 -11
  7. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  8. package/dist/global/ej2-dropdowns.min.js +2 -2
  9. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +3 -3
  12. package/src/combo-box/combo-box.js +6 -3
  13. package/src/common/virtual-scroll.js +3 -0
  14. package/src/drop-down-list/drop-down-list.js +8 -1
  15. package/src/drop-down-tree/drop-down-tree.js +6 -2
  16. package/src/multi-select/multi-select.js +6 -5
  17. package/styles/bds-lite.css +1 -1
  18. package/styles/bds.css +1 -1
  19. package/styles/bootstrap-dark-lite.css +1 -1
  20. package/styles/bootstrap-dark.css +1 -1
  21. package/styles/bootstrap-lite.css +1 -1
  22. package/styles/bootstrap.css +1 -1
  23. package/styles/bootstrap4-lite.css +1 -1
  24. package/styles/bootstrap4.css +1 -1
  25. package/styles/bootstrap5-dark-lite.css +1 -1
  26. package/styles/bootstrap5-dark.css +1 -1
  27. package/styles/bootstrap5-lite.css +1 -1
  28. package/styles/bootstrap5.3-lite.css +1 -1
  29. package/styles/bootstrap5.3.css +1 -1
  30. package/styles/bootstrap5.css +1 -1
  31. package/styles/drop-down-tree/_layout.scss +7 -2
  32. package/styles/drop-down-tree/bds.css +1 -1
  33. package/styles/drop-down-tree/bootstrap-dark.css +1 -1
  34. package/styles/drop-down-tree/bootstrap.css +1 -1
  35. package/styles/drop-down-tree/bootstrap4.css +1 -1
  36. package/styles/drop-down-tree/bootstrap5-dark.css +1 -1
  37. package/styles/drop-down-tree/bootstrap5.3.css +1 -1
  38. package/styles/drop-down-tree/bootstrap5.css +1 -1
  39. package/styles/drop-down-tree/fabric-dark.css +1 -1
  40. package/styles/drop-down-tree/fabric.css +1 -1
  41. package/styles/drop-down-tree/fluent-dark.css +1 -1
  42. package/styles/drop-down-tree/fluent.css +1 -1
  43. package/styles/drop-down-tree/fluent2.css +0 -4
  44. package/styles/drop-down-tree/highcontrast-light.css +1 -1
  45. package/styles/drop-down-tree/highcontrast.css +1 -1
  46. package/styles/drop-down-tree/material-dark.css +0 -4
  47. package/styles/drop-down-tree/material.css +0 -4
  48. package/styles/drop-down-tree/material3-dark.css +0 -4
  49. package/styles/drop-down-tree/material3.css +0 -4
  50. package/styles/drop-down-tree/tailwind-dark.css +1 -1
  51. package/styles/drop-down-tree/tailwind.css +1 -1
  52. package/styles/drop-down-tree/tailwind3.css +1 -1
  53. package/styles/fabric-dark-lite.css +1 -1
  54. package/styles/fabric-dark.css +1 -1
  55. package/styles/fabric-lite.css +1 -1
  56. package/styles/fabric.css +1 -1
  57. package/styles/fluent-dark-lite.css +1 -1
  58. package/styles/fluent-dark.css +1 -1
  59. package/styles/fluent-lite.css +1 -1
  60. package/styles/fluent.css +1 -1
  61. package/styles/fluent2-lite.css +0 -4
  62. package/styles/fluent2.css +0 -4
  63. package/styles/highcontrast-light-lite.css +1 -1
  64. package/styles/highcontrast-light.css +1 -1
  65. package/styles/highcontrast-lite.css +1 -1
  66. package/styles/highcontrast.css +1 -1
  67. package/styles/material-dark-lite.css +0 -4
  68. package/styles/material-dark.css +0 -4
  69. package/styles/material-lite.css +0 -4
  70. package/styles/material.css +0 -4
  71. package/styles/material3-dark-lite.css +0 -4
  72. package/styles/material3-dark.css +0 -4
  73. package/styles/material3-lite.css +0 -4
  74. package/styles/material3.css +0 -4
  75. package/styles/tailwind-dark-lite.css +1 -1
  76. package/styles/tailwind-dark.css +1 -1
  77. package/styles/tailwind-lite.css +1 -1
  78. package/styles/tailwind.css +1 -1
  79. package/styles/tailwind3-lite.css +1 -1
  80. package/styles/tailwind3.css +1 -1
@@ -430,6 +430,9 @@ class VirtualScroll {
430
430
  isListUpdated = false;
431
431
  }
432
432
  else if (this.parent.viewPortInfo.startIndex !== 0) {
433
+ if (this.parent.dataSource instanceof DataManager) {
434
+ this.parent.setCurrentView = false;
435
+ }
433
436
  this.parent.updateVirtualReOrderList(true);
434
437
  const oldUlElement = this.parent.list.querySelector('.e-list-parent' + ':not(.e-reorder)');
435
438
  if (oldUlElement) {
@@ -5565,6 +5568,13 @@ let DropDownList = class DropDownList extends DropDownBase {
5565
5568
  }
5566
5569
  else {
5567
5570
  this.removeFocus();
5571
+ if (this.allowFiltering && this.actionCompleteData && this.actionCompleteData.ulElement &&
5572
+ this.dataSource instanceof DataManager) {
5573
+ const focus = this.actionCompleteData.ulElement.querySelector('.e-item-focus');
5574
+ if (focus) {
5575
+ removeClass(focus, dropDownListClasses.focus);
5576
+ }
5577
+ }
5568
5578
  this.list.querySelector('.' + dropDownBaseClasses.li).classList.add(dropDownListClasses.focus);
5569
5579
  }
5570
5580
  }
@@ -5599,7 +5609,7 @@ let DropDownList = class DropDownList extends DropDownBase {
5599
5609
  popupEle.setAttribute('aria-label', this.element.id);
5600
5610
  popupEle.setAttribute('role', 'dialog');
5601
5611
  const searchBox = this.setSearchBox(popupEle);
5602
- this.listContainerHeight = this.allowFiltering && this.getModuleName() === 'dropdownlist' && Browser.isDevice ?
5612
+ this.listContainerHeight = this.allowFiltering && this.getModuleName() === 'dropdownlist' && Browser.isDevice && this.isDeviceFullScreen ?
5603
5613
  formatUnit(Math.round(window.outerHeight).toString() + 'px') : formatUnit(this.popupHeight);
5604
5614
  if (this.headerTemplate) {
5605
5615
  this.setHeaderTemplate(popupEle);
@@ -9419,11 +9429,15 @@ let DropDownTree = class DropDownTree extends Component {
9419
9429
  }
9420
9430
  }
9421
9431
  restoreFilterSelection() {
9432
+ if (this.treeObj.checkedNodes) {
9433
+ this.treeObj.checkedNodes = [];
9434
+ }
9435
+ const nodeIds = Array.isArray(this.value) ? this.value : [];
9422
9436
  if (this.showCheckBox) {
9423
- this.treeObj.checkedNodes = this.value ? this.value : [];
9437
+ this.treeObj.checkedNodes = nodeIds;
9424
9438
  }
9425
9439
  else {
9426
- this.treeObj.selectedNodes = this.value ? this.value : [];
9440
+ this.treeObj.selectedNodes = nodeIds;
9427
9441
  }
9428
9442
  }
9429
9443
  /* To set cssclass for the dropdowntree */
@@ -11240,13 +11254,16 @@ let ComboBox = class ComboBox extends DropDownList {
11240
11254
  if (this.dataSource instanceof DataManager) {
11241
11255
  this.dataSource.executeQuery(new Query().where(new Predicate(fields, 'equal', currentValue)))
11242
11256
  .then((e) => {
11243
- if (e.result.length > 0) {
11257
+ if (e && e.result && e.result.length > 0) {
11244
11258
  this.itemData = e.result[0];
11245
11259
  const dataItem = this.getItemData();
11246
11260
  const value = this.allowObjectBinding ?
11247
11261
  this.getDataByValue(dataItem.value) : dataItem.value;
11248
- if ((this.value === dataItem.value && this.text !== dataItem.text.toString()) ||
11249
- (this.value !== dataItem.value && this.text === dataItem.text.toString())) {
11262
+ const valueFieldValue = this.allowObjectBinding &&
11263
+ !isNullOrUndefined(this.value) ? getValue((this.fields.value) ?
11264
+ this.fields.value : '', this.value) : this.value;
11265
+ if ((valueFieldValue === dataItem.value && this.text !== dataItem.text.toString()) ||
11266
+ (valueFieldValue !== dataItem.value && this.text === dataItem.text.toString())) {
11250
11267
  this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value });
11251
11268
  }
11252
11269
  }
@@ -13417,7 +13434,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13417
13434
  }
13418
13435
  const isContainsValue = valuecheck.some((item) => item !== null);
13419
13436
  if (valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
13420
- && this.listData != null && isContainsValue) {
13437
+ && this.listData != null && (!this.enableVirtualization || (this.enableVirtualization && this.valueTemplate)) && isContainsValue) {
13421
13438
  this.isaddNonPresentItems = true;
13422
13439
  this.addNonPresentItems(valuecheck, this.ulElement, this.listData);
13423
13440
  this.isaddNonPresentItems = false;
@@ -13793,7 +13810,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13793
13810
  dataUpdater(dataSource, query, fields) {
13794
13811
  this.isDataFetched = false;
13795
13812
  const isNoData = this.list.classList.contains(dropDownBaseClasses.noData);
13796
- if (this.targetElement().trim() === '') {
13813
+ if (this.targetElement().trim() === '' && (!this.allowCustomValue || this.mode === 'CheckBox' || this.targetElement() === '')) {
13797
13814
  const list = this.enableVirtualization ? this.list.cloneNode(true) : this.mainList.cloneNode ?
13798
13815
  this.mainList.cloneNode(true) : this.mainList;
13799
13816
  if (this.backCommand || (this.enableVirtualization && this.mode === 'CheckBox' && this.value && this.value.length > 0)) {
@@ -15985,7 +16002,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
15985
16002
  const ulElement = this.list.querySelector('ul');
15986
16003
  if (ulElement) {
15987
16004
  if (!(this.mode !== 'CheckBox' && (this.allowFiltering || this.allowCustomValue) &&
15988
- this.targetElement().trim() !== '')) {
16005
+ (this.targetElement().trim() !== '' || (this.targetElement() !== '' && this.allowCustomValue)))) {
15989
16006
  this.mainList = ulElement.cloneNode ? ulElement.cloneNode(true) : ulElement;
15990
16007
  }
15991
16008
  }
@@ -15993,7 +16010,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
15993
16010
  }
15994
16011
  this.popupObj.wireScrollEvents();
15995
16012
  if (!(this.mode !== 'CheckBox' && (this.allowFiltering || this.allowCustomValue) &&
15996
- this.targetElement().trim() !== '') && !this.enableVirtualization) {
16013
+ (this.targetElement().trim() !== '' || (this.targetElement() !== '' && this.allowCustomValue))) && !this.enableVirtualization) {
15997
16014
  this.loadTemplate();
15998
16015
  if (this.enableVirtualization && this.mode === 'CheckBox') {
15999
16016
  this.UpdateSkeleton();
@@ -18319,7 +18336,8 @@ let MultiSelect = class MultiSelect extends DropDownBase {
18319
18336
  }
18320
18337
  const isContainsValue = valuecheck.some((item) => item !== null);
18321
18338
  if (prop === 'value' && valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
18322
- && this.listData != null && isContainsValue) {
18339
+ && this.listData != null && (!this.enableVirtualization || (this.enableVirtualization && this.valueTemplate))
18340
+ && isContainsValue) {
18323
18341
  this.mainData = null;
18324
18342
  this.setDynValue = true;
18325
18343
  this.isaddNonPresentItems = true;