@syncfusion/ej2-dropdowns 23.2.7-52849 → 24.1.41-566987

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 (127) hide show
  1. package/CHANGELOG.md +20 -132
  2. package/dist/ej2-dropdowns.umd.min.js +1 -1
  3. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-dropdowns.es2015.js +654 -116
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +658 -119
  7. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  8. package/package.json +13 -13
  9. package/src/auto-complete/auto-complete.js +9 -4
  10. package/src/combo-box/combo-box.js +74 -2
  11. package/src/common/incremental-search.d.ts +1 -1
  12. package/src/common/incremental-search.js +50 -7
  13. package/src/common/interface.d.ts +2 -0
  14. package/src/common/virtual-scroll.js +22 -1
  15. package/src/drop-down-base/drop-down-base.d.ts +23 -3
  16. package/src/drop-down-base/drop-down-base.js +154 -40
  17. package/src/drop-down-list/drop-down-list.d.ts +10 -3
  18. package/src/drop-down-list/drop-down-list.js +305 -41
  19. package/src/drop-down-tree/drop-down-tree.js +24 -20
  20. package/src/list-box/list-box.js +8 -1
  21. package/src/mention/mention.js +5 -1
  22. package/src/multi-select/checkbox-selection.js +4 -1
  23. package/src/multi-select/multi-select.js +4 -2
  24. package/styles/auto-complete/_bds-definition.scss +2 -0
  25. package/styles/bootstrap-dark.css +16 -9
  26. package/styles/bootstrap.css +16 -9
  27. package/styles/bootstrap4.css +11 -9
  28. package/styles/bootstrap5-dark.css +11 -9
  29. package/styles/bootstrap5.css +11 -9
  30. package/styles/combo-box/_bds-definition.scss +2 -0
  31. package/styles/drop-down-base/_bds-definition.scss +134 -0
  32. package/styles/drop-down-base/_layout.scss +0 -8
  33. package/styles/drop-down-base/bootstrap-dark.css +0 -8
  34. package/styles/drop-down-base/bootstrap.css +0 -8
  35. package/styles/drop-down-base/bootstrap4.css +0 -8
  36. package/styles/drop-down-base/bootstrap5-dark.css +0 -8
  37. package/styles/drop-down-base/bootstrap5.css +0 -8
  38. package/styles/drop-down-base/fabric-dark.css +0 -8
  39. package/styles/drop-down-base/fabric.css +0 -8
  40. package/styles/drop-down-base/fluent-dark.css +0 -8
  41. package/styles/drop-down-base/fluent.css +0 -8
  42. package/styles/drop-down-base/highcontrast-light.css +0 -8
  43. package/styles/drop-down-base/highcontrast.css +0 -8
  44. package/styles/drop-down-base/material-dark.css +0 -8
  45. package/styles/drop-down-base/material.css +0 -8
  46. package/styles/drop-down-base/material3-dark.css +0 -8
  47. package/styles/drop-down-base/material3.css +0 -8
  48. package/styles/drop-down-base/tailwind-dark.css +0 -8
  49. package/styles/drop-down-base/tailwind.css +0 -8
  50. package/styles/drop-down-list/_bds-definition.scss +134 -0
  51. package/styles/drop-down-list/_layout.scss +5 -0
  52. package/styles/drop-down-list/bootstrap-dark.css +5 -0
  53. package/styles/drop-down-list/bootstrap.css +5 -0
  54. package/styles/drop-down-list/bootstrap4.css +5 -0
  55. package/styles/drop-down-list/bootstrap5-dark.css +5 -0
  56. package/styles/drop-down-list/bootstrap5.css +5 -0
  57. package/styles/drop-down-list/fabric-dark.css +5 -0
  58. package/styles/drop-down-list/fabric.css +5 -0
  59. package/styles/drop-down-list/fluent-dark.css +5 -0
  60. package/styles/drop-down-list/fluent.css +5 -0
  61. package/styles/drop-down-list/highcontrast-light.css +5 -0
  62. package/styles/drop-down-list/highcontrast.css +5 -0
  63. package/styles/drop-down-list/icons/_bds.scss +14 -0
  64. package/styles/drop-down-list/material-dark.css +5 -0
  65. package/styles/drop-down-list/material.css +5 -0
  66. package/styles/drop-down-list/material3-dark.css +5 -0
  67. package/styles/drop-down-list/material3.css +5 -0
  68. package/styles/drop-down-list/tailwind-dark.css +5 -0
  69. package/styles/drop-down-list/tailwind.css +5 -0
  70. package/styles/drop-down-tree/_bds-definition.scss +61 -0
  71. package/styles/drop-down-tree/_layout.scss +5 -0
  72. package/styles/drop-down-tree/bootstrap-dark.css +4 -0
  73. package/styles/drop-down-tree/bootstrap.css +4 -0
  74. package/styles/drop-down-tree/bootstrap4.css +4 -0
  75. package/styles/drop-down-tree/bootstrap5-dark.css +4 -0
  76. package/styles/drop-down-tree/bootstrap5.css +4 -0
  77. package/styles/drop-down-tree/fabric-dark.css +4 -0
  78. package/styles/drop-down-tree/fabric.css +4 -0
  79. package/styles/drop-down-tree/fluent-dark.css +4 -0
  80. package/styles/drop-down-tree/fluent.css +4 -0
  81. package/styles/drop-down-tree/highcontrast-light.css +4 -0
  82. package/styles/drop-down-tree/highcontrast.css +4 -0
  83. package/styles/drop-down-tree/icons/_bds.scss +11 -0
  84. package/styles/drop-down-tree/material-dark.css +4 -0
  85. package/styles/drop-down-tree/material.css +4 -0
  86. package/styles/drop-down-tree/material3-dark.css +4 -0
  87. package/styles/drop-down-tree/material3.css +4 -0
  88. package/styles/drop-down-tree/tailwind-dark.css +4 -0
  89. package/styles/drop-down-tree/tailwind.css +4 -0
  90. package/styles/fabric-dark.css +12 -9
  91. package/styles/fabric.css +12 -9
  92. package/styles/fluent-dark.css +16 -9
  93. package/styles/fluent.css +16 -9
  94. package/styles/highcontrast-light.css +12 -9
  95. package/styles/highcontrast.css +12 -9
  96. package/styles/list-box/_bds-definition.scss +136 -0
  97. package/styles/list-box/icons/_bds.scss +25 -0
  98. package/styles/material-dark.css +11 -9
  99. package/styles/material.css +11 -9
  100. package/styles/material3-dark.css +11 -9
  101. package/styles/material3.css +11 -9
  102. package/styles/mention/_bds-definition.scss +1 -0
  103. package/styles/multi-select/_bds-definition.scss +235 -0
  104. package/styles/multi-select/_bootstrap-dark-definition.scss +4 -0
  105. package/styles/multi-select/_bootstrap-definition.scss +4 -0
  106. package/styles/multi-select/_fluent-definition.scss +5 -0
  107. package/styles/multi-select/_layout.scss +8 -1
  108. package/styles/multi-select/bootstrap-dark.css +7 -1
  109. package/styles/multi-select/bootstrap.css +7 -1
  110. package/styles/multi-select/bootstrap4.css +2 -1
  111. package/styles/multi-select/bootstrap5-dark.css +2 -1
  112. package/styles/multi-select/bootstrap5.css +2 -1
  113. package/styles/multi-select/fabric-dark.css +3 -1
  114. package/styles/multi-select/fabric.css +3 -1
  115. package/styles/multi-select/fluent-dark.css +7 -1
  116. package/styles/multi-select/fluent.css +7 -1
  117. package/styles/multi-select/highcontrast-light.css +3 -1
  118. package/styles/multi-select/highcontrast.css +3 -1
  119. package/styles/multi-select/icons/_bds.scss +26 -0
  120. package/styles/multi-select/material-dark.css +2 -1
  121. package/styles/multi-select/material.css +2 -1
  122. package/styles/multi-select/material3-dark.css +2 -1
  123. package/styles/multi-select/material3.css +2 -1
  124. package/styles/multi-select/tailwind-dark.css +2 -1
  125. package/styles/multi-select/tailwind.css +2 -1
  126. package/styles/tailwind-dark.css +11 -9
  127. package/styles/tailwind.css +11 -9
@@ -96,6 +96,9 @@ var DropDownBase = /** @class */ (function (_super) {
96
96
  _this.virtualizedItemsCount = 0;
97
97
  _this.totalItemCount = 0;
98
98
  _this.dataCount = 0;
99
+ _this.isRemoteDataUpdated = false;
100
+ _this.isIncrementalRequest = false;
101
+ _this.itemCount = 10;
99
102
  return _this;
100
103
  }
101
104
  DropDownBase.prototype.getPropObject = function (prop, newProp, oldProp) {
@@ -492,7 +495,7 @@ var DropDownBase = /** @class */ (function (_super) {
492
495
  if (!eventArgs.cancel) {
493
496
  _this.isRequesting = true;
494
497
  _this.showSpinner();
495
- if (dataSource instanceof DataManager) {
498
+ if (dataSource instanceof DataManager && !_this.virtualGroupDataSource) {
496
499
  _this.isRequested = true;
497
500
  if (_this.isDataFetched) {
498
501
  _this.emptyDataRequest(fields);
@@ -501,12 +504,42 @@ var DropDownBase = /** @class */ (function (_super) {
501
504
  eventArgs.data.executeQuery(_this.getQuery(eventArgs.query)).then(function (e) {
502
505
  _this.isPreventChange = _this.isAngular && _this.preventChange ? true : _this.isPreventChange;
503
506
  _this.trigger('actionComplete', e, function (e) {
507
+ if (!_this.virtualGroupDataSource && _this.isVirtualizationEnabled) {
508
+ _this.isRemoteDataUpdated = true;
509
+ if ((_this.getModuleName() === 'combobox' && _this.isAllowFiltering && _this.isVirtualizationEnabled && e.result)) {
510
+ e.result = e.result.result;
511
+ }
512
+ if (e.result.length > 0) {
513
+ var dataSource_2 = e.result;
514
+ if (_this.isVirtualizationEnabled && _this.fields.groupBy) {
515
+ var data = new DataManager(dataSource_2).executeLocal(new Query().group(_this.fields.groupBy));
516
+ _this.virtualGroupDataSource = data.records;
517
+ }
518
+ else {
519
+ _this.virtualGroupDataSource = dataSource_2;
520
+ _this.hideSpinner();
521
+ _this.isRequested = false;
522
+ _this.isRequesting = false;
523
+ _this.setListData(dataSource_2, fields, query, event);
524
+ return;
525
+ }
526
+ }
527
+ _this.hideSpinner();
528
+ _this.isRequested = false;
529
+ _this.isRequesting = false;
530
+ _this.updatePopupState();
531
+ return;
532
+ }
504
533
  if (!e.cancel) {
534
+ _this.isRequesting = false;
505
535
  var listItems = e.result;
536
+ if (_this.isIncrementalRequest) {
537
+ ulElement = _this.renderItems(listItems, fields);
538
+ return;
539
+ }
506
540
  if (listItems.length === 0) {
507
541
  _this.isDataFetched = true;
508
542
  }
509
- _this.isRequesting = false;
510
543
  _this.dataCount = e.count;
511
544
  _this.totalItemCount = e.count;
512
545
  ulElement = _this.renderItems(listItems, fields);
@@ -527,8 +560,25 @@ var DropDownBase = /** @class */ (function (_super) {
527
560
  }
528
561
  else {
529
562
  _this.isRequesting = false;
530
- var dataManager = new DataManager(eventArgs.data);
531
- var listItems = (_this.getQuery(eventArgs.query)).executeLocal(dataManager);
563
+ var listItems = void 0;
564
+ if (_this.isVirtualizationEnabled && !_this.virtualGroupDataSource && _this.fields.groupBy) {
565
+ var data = new DataManager(_this.dataSource).executeLocal(new Query().group(_this.fields.groupBy));
566
+ _this.virtualGroupDataSource = data.records;
567
+ }
568
+ var dataManager = _this.isVirtualizationEnabled && _this.virtualGroupDataSource ? new DataManager(_this.virtualGroupDataSource) : new DataManager(eventArgs.data);
569
+ listItems = (_this.getQuery(eventArgs.query)).executeLocal(dataManager);
570
+ if (_this.isVirtualizationEnabled && _this.getModuleName() === 'autocomplete' && (listItems.count != 0 && listItems.count < (_this.itemCount * 2))) {
571
+ var newQuery = _this.getQuery(eventArgs.query);
572
+ if (newQuery) {
573
+ for (var queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {
574
+ if (newQuery.queries[queryElements].fn === 'onTake') {
575
+ newQuery.queries[queryElements].e.nos = listItems.count;
576
+ listItems = (newQuery).executeLocal(dataManager);
577
+ break;
578
+ }
579
+ }
580
+ }
581
+ }
532
582
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
533
583
  _this.dataCount = listItems.count;
534
584
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -538,6 +588,10 @@ var DropDownBase = /** @class */ (function (_super) {
538
588
  var localDataArgs = { cancel: false, result: listItems };
539
589
  _this.isPreventChange = _this.isAngular && _this.preventChange ? true : _this.isPreventChange;
540
590
  _this.trigger('actionComplete', localDataArgs, function (localDataArgs) {
591
+ if (_this.isIncrementalRequest) {
592
+ ulElement = _this.renderItems(localDataArgs.result, fields);
593
+ return;
594
+ }
541
595
  if (!localDataArgs.cancel) {
542
596
  ulElement = _this.renderItems(localDataArgs.result, fields);
543
597
  _this.onActionComplete(ulElement, localDataArgs.result, event);
@@ -557,6 +611,12 @@ var DropDownBase = /** @class */ (function (_super) {
557
611
  });
558
612
  }
559
613
  };
614
+ DropDownBase.prototype.updatePopupState = function () {
615
+ // Used this method in component side.
616
+ };
617
+ DropDownBase.prototype.updateRemoteData = function () {
618
+ this.setListData(this.dataSource, this.fields, this.query);
619
+ };
560
620
  DropDownBase.prototype.bindChildItems = function (listItems, ulElement, fields, e) {
561
621
  var _this = this;
562
622
  if (listItems.length >= 100 && this.getModuleName() === 'autocomplete') {
@@ -612,6 +672,7 @@ var DropDownBase = /** @class */ (function (_super) {
612
672
  var listItems = [];
613
673
  this.onActionComplete(this.renderItems(listItems, fields), listItems);
614
674
  this.isRequested = false;
675
+ this.isRequesting = false;
615
676
  this.hideSpinner();
616
677
  };
617
678
  DropDownBase.prototype.showSpinner = function () {
@@ -644,7 +705,9 @@ var DropDownBase = /** @class */ (function (_super) {
644
705
  if (this.isReact) {
645
706
  this.clearTemplate(['itemTemplate', 'groupTemplate', 'actionFailureTemplate', 'noRecordsTemplate']);
646
707
  }
647
- this.fixedHeaderElement = isNullOrUndefined(this.fixedHeaderElement) ? this.fixedHeaderElement : null;
708
+ if (!this.isVirtualizationEnabled) {
709
+ this.fixedHeaderElement = isNullOrUndefined(this.fixedHeaderElement) ? this.fixedHeaderElement : null;
710
+ }
648
711
  if (this.getModuleName() === 'multiselect' && this.properties.allowCustomValue && this.fields.groupBy) {
649
712
  for (var i = 0; i < ulElement.childElementCount; i++) {
650
713
  if (ulElement.children[i].classList.contains('e-list-group-item')) {
@@ -785,25 +848,67 @@ var DropDownBase = /** @class */ (function (_super) {
785
848
  this.scrollStop(e);
786
849
  }
787
850
  };
788
- DropDownBase.prototype.scrollStop = function (e) {
851
+ DropDownBase.prototype.scrollStop = function (e, isDownkey) {
789
852
  var target = !isNullOrUndefined(e) ? e.target : this.list;
790
853
  var liHeight = parseInt(getComputedStyle(this.getValidLi(), null).getPropertyValue('height'), 10);
791
854
  var topIndex = Math.round(target.scrollTop / liHeight);
792
855
  var liCollections = this.list.querySelectorAll('li' + ':not(.e-hide-listitem)');
856
+ var virtualListCount = this.list.querySelectorAll('.e-virtual-list').length;
857
+ var count = 0;
858
+ var isCount = false;
793
859
  for (var i = topIndex; i > -1; i--) {
794
- if (!isNullOrUndefined(liCollections[i]) && liCollections[i].classList.contains(dropDownBaseClasses.group)) {
795
- var currentLi = liCollections[i];
796
- this.fixedHeaderElement.innerHTML = currentLi.innerHTML;
797
- this.fixedHeaderElement.style.top = target.scrollTop + 'px';
798
- this.fixedHeaderElement.style.display = 'block';
799
- break;
860
+ var index = this.isVirtualizationEnabled ? i + virtualListCount : i;
861
+ if (this.isVirtualizationEnabled) {
862
+ var groupListLength = this.list.querySelectorAll('.e-list-group-item').length;
863
+ var loadedGroupList = 0;
864
+ if (isCount) {
865
+ count++;
866
+ }
867
+ if (this.updateGroupHeader(index, liCollections, target)) {
868
+ loadedGroupList++;
869
+ if (count >= this.getPageCount()) {
870
+ break;
871
+ }
872
+ if (groupListLength <= loadedGroupList) {
873
+ break;
874
+ }
875
+ }
876
+ if (isDownkey) {
877
+ if ((!isNullOrUndefined(liCollections[index]) && liCollections[index].classList.contains(dropDownBaseClasses.selected) && this.getModuleName() !== 'autocomplete') || (!isNullOrUndefined(liCollections[index]) && liCollections[index].classList.contains(dropDownBaseClasses.focus) && this.getModuleName() === 'autocomplete')) {
878
+ count++;
879
+ isCount = true;
880
+ }
881
+ }
800
882
  }
801
883
  else {
802
- this.fixedHeaderElement.style.display = 'none';
803
- this.fixedHeaderElement.style.top = 'none';
884
+ if (this.updateGroupHeader(index, liCollections, target)) {
885
+ break;
886
+ }
804
887
  }
805
888
  }
806
889
  };
890
+ DropDownBase.prototype.getPageCount = function (returnExactCount) {
891
+ var liHeight = this.list.classList.contains(dropDownBaseClasses.noData) ? null :
892
+ getComputedStyle(this.getItems()[0], null).getPropertyValue('height');
893
+ var pageCount = Math.round(this.list.getBoundingClientRect().height / parseInt(liHeight, 10));
894
+ return returnExactCount ? pageCount : Math.round(pageCount);
895
+ };
896
+ DropDownBase.prototype.updateGroupHeader = function (index, liCollections, target) {
897
+ if (!isNullOrUndefined(liCollections[index]) && liCollections[index].classList.contains(dropDownBaseClasses.group)) {
898
+ this.updateGroupFixedHeader(liCollections[index], target);
899
+ return true;
900
+ }
901
+ else {
902
+ this.fixedHeaderElement.style.display = 'none';
903
+ this.fixedHeaderElement.style.top = 'none';
904
+ return false;
905
+ }
906
+ };
907
+ DropDownBase.prototype.updateGroupFixedHeader = function (element, target) {
908
+ this.fixedHeaderElement.innerHTML = element.innerHTML;
909
+ this.fixedHeaderElement.style.top = target.scrollTop + 'px';
910
+ this.fixedHeaderElement.style.display = 'block';
911
+ };
807
912
  DropDownBase.prototype.getValidLi = function () {
808
913
  return this.liCollections[0];
809
914
  };
@@ -837,45 +942,54 @@ var DropDownBase = /** @class */ (function (_super) {
837
942
  var virtualUlElement = this.list.querySelector('.e-virtual-ddl-content');
838
943
  if ((listData.length >= this.virtualizedItemsCount && oldUlElement && virtualUlElement) || (oldUlElement && virtualUlElement && this.isAllowFiltering) || (oldUlElement && virtualUlElement && this.getModuleName() === 'autocomplete')) {
839
944
  virtualUlElement.replaceChild(ulElement, oldUlElement);
840
- this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
841
- this.ulElement = this.list.querySelector('ul');
842
- this.listData = listData;
843
- this.postRender(this.list, listData, this.bindEvent);
945
+ this.updateListElements(listData);
844
946
  }
845
947
  else if ((!virtualUlElement)) {
846
948
  this.list.innerHTML = '';
847
- this.list.appendChild(ulElement);
848
- this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
849
- this.ulElement = this.list.querySelector('ul');
850
- this.listData = listData;
851
- this.postRender(this.list, listData, this.bindEvent);
949
+ this.createVirtualContent();
950
+ this.list.querySelector('.e-virtual-ddl-content').appendChild(ulElement);
951
+ this.updateListElements(listData);
852
952
  }
853
953
  }
854
954
  }
855
955
  else {
856
956
  ulElement = this.createListItems(listData, fields);
957
+ if (this.isIncrementalRequest) {
958
+ this.incrementalLiCollections = ulElement.querySelectorAll('.' + dropDownBaseClasses.li);
959
+ this.incrementalUlElement = ulElement;
960
+ this.incrementalListData = listData;
961
+ return ulElement;
962
+ }
857
963
  if (this.isVirtualizationEnabled) {
858
964
  var oldUlElement = this.list.querySelector('.e-list-parent');
859
965
  var virtualUlElement = this.list.querySelector('.e-virtual-ddl-content');
860
966
  if ((listData.length >= this.virtualizedItemsCount && oldUlElement && virtualUlElement) || (oldUlElement && virtualUlElement && this.isAllowFiltering) || (oldUlElement && virtualUlElement && this.getModuleName() === 'autocomplete')) {
861
967
  virtualUlElement.replaceChild(ulElement, oldUlElement);
862
- this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
863
- this.ulElement = this.list.querySelector('ul');
864
- this.listData = listData;
865
- this.postRender(this.list, listData, this.bindEvent);
968
+ this.updateListElements(listData);
866
969
  }
867
970
  else if ((!virtualUlElement)) {
868
971
  this.list.innerHTML = '';
869
- this.list.appendChild(ulElement);
870
- this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
871
- this.ulElement = this.list.querySelector('ul');
872
- this.listData = listData;
873
- this.postRender(this.list, listData, this.bindEvent);
972
+ this.createVirtualContent();
973
+ this.list.querySelector('.e-virtual-ddl-content').appendChild(ulElement);
974
+ this.updateListElements(listData);
874
975
  }
875
976
  }
876
977
  }
877
978
  return ulElement;
878
979
  };
980
+ DropDownBase.prototype.createVirtualContent = function () {
981
+ if (!this.list.querySelector('.e-virtual-ddl-content')) {
982
+ this.list.appendChild(this.createElement('div', {
983
+ className: 'e-virtual-ddl-content',
984
+ }));
985
+ }
986
+ };
987
+ DropDownBase.prototype.updateListElements = function (listData) {
988
+ this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
989
+ this.ulElement = this.list.querySelector('ul');
990
+ this.listData = listData;
991
+ this.postRender(this.list, listData, this.bindEvent);
992
+ };
879
993
  DropDownBase.prototype.templateListItem = function (dataSource, fields) {
880
994
  var option = this.listOption(dataSource, fields);
881
995
  option.templateID = this.itemTemplateId;
@@ -947,11 +1061,11 @@ var DropDownBase = /** @class */ (function (_super) {
947
1061
  * @param {string | number | boolean} value - Specifies given value.
948
1062
  * @returns {number} Returns the index of the item.
949
1063
  */
950
- DropDownBase.prototype.getIndexByValueFilter = function (value) {
1064
+ DropDownBase.prototype.getIndexByValue = function (value) {
951
1065
  var index;
952
- var listItems = this.renderItems(this.selectData, this.fields);
953
- for (var i = 0; i < listItems.children.length; i++) {
954
- if (!isNullOrUndefined(value) && listItems.children[i].getAttribute('data-value') === value.toString()) {
1066
+ var listItems = this.getItems();
1067
+ for (var i = 0; i < listItems.length; i++) {
1068
+ if (!isNullOrUndefined(value) && listItems[i].getAttribute('data-value') === value.toString()) {
955
1069
  index = i;
956
1070
  break;
957
1071
  }
@@ -964,11 +1078,11 @@ var DropDownBase = /** @class */ (function (_super) {
964
1078
  * @param {string | number | boolean} value - Specifies given value.
965
1079
  * @returns {number} Returns the index of the item.
966
1080
  */
967
- DropDownBase.prototype.getIndexByValue = function (value) {
1081
+ DropDownBase.prototype.getIndexByValueFilter = function (value) {
968
1082
  var index;
969
- var listItems = this.getItems();
970
- for (var i = 0; i < listItems.length; i++) {
971
- if (!isNullOrUndefined(value) && listItems[i].getAttribute('data-value') === value.toString()) {
1083
+ var listItems = this.renderItems(this.selectData, this.fields);
1084
+ for (var i = 0; i < listItems.children.length; i++) {
1085
+ if (!isNullOrUndefined(value) && listItems.children[i].getAttribute('data-value') === value.toString()) {
972
1086
  index = i;
973
1087
  break;
974
1088
  }
@@ -61,7 +61,7 @@ export declare class DropDownList extends DropDownBase implements IInput {
61
61
  } | string | number | boolean;
62
62
  private listHeight;
63
63
  private listItemHeight;
64
- private skeletonCount;
64
+ protected skeletonCount: number;
65
65
  protected hiddenElement: HTMLSelectElement;
66
66
  protected isPopupOpen: boolean;
67
67
  private isDocumentClick;
@@ -113,7 +113,6 @@ export declare class DropDownList extends DropDownBase implements IInput {
113
113
  protected preventChange: boolean;
114
114
  protected isAngular: boolean;
115
115
  protected selectedElementID: string;
116
- protected itemCount: number;
117
116
  private virtualListHeight;
118
117
  private virtualItemCount;
119
118
  private isVirtualScrolling;
@@ -136,6 +135,10 @@ export declare class DropDownList extends DropDownBase implements IInput {
136
135
  private virtualItemEndIndex;
137
136
  private generatedDataObject;
138
137
  private preselectedIndex;
138
+ protected incrementalQueryString: string;
139
+ protected incrementalEndIndex: number;
140
+ protected incrementalStartIndex: number;
141
+ protected incrementalPreQueryString: string;
139
142
  private isTouched;
140
143
  protected virtualListInfo: VirtualInfo;
141
144
  protected viewPortInfo: VirtualInfo;
@@ -440,6 +443,9 @@ export declare class DropDownList extends DropDownBase implements IInput {
440
443
  private onMouseLeave;
441
444
  protected removeHover(): void;
442
445
  protected isValidLI(li: Element | HTMLElement): boolean;
446
+ protected updateIncrementalInfo(startIndex: number, endIndex: number): void;
447
+ protected updateIncrementalView(startIndex: number, endIndex: number): void;
448
+ protected updateIncrementalItemIndex(startIndex: number, endIndex: number): void;
443
449
  protected incrementalSearch(e: KeyboardEventArgs): void;
444
450
  /**
445
451
  * Hides the spinner loader.
@@ -455,13 +461,13 @@ export declare class DropDownList extends DropDownBase implements IInput {
455
461
  showSpinner(): void;
456
462
  protected keyActionHandler(e: KeyboardEventArgs): void;
457
463
  private updateUpDownAction;
464
+ private updateVirtualItemIndex;
458
465
  private updateHomeEndAction;
459
466
  protected selectCurrentValueOnTab(e: KeyboardEventArgs): void;
460
467
  protected mobileKeyActionHandler(e: KeyboardEventArgs): void;
461
468
  private handleVirtualKeyboardActions;
462
469
  protected selectCurrentItem(e: KeyboardEventArgs): void;
463
470
  protected isSelectFocusItem(element: Element): boolean;
464
- private getPageCount;
465
471
  private pageUpSelection;
466
472
  private PageUpDownSelection;
467
473
  private pageDownSelection;
@@ -611,6 +617,7 @@ export declare class DropDownList extends DropDownBase implements IInput {
611
617
  onPropertyChanged(newProp: DropDownListModel, oldProp: DropDownListModel): void;
612
618
  private checkValidLi;
613
619
  private setSelectionData;
620
+ protected updatePopupState(): void;
614
621
  protected setReadOnly(): void;
615
622
  protected setInputValue(newProp?: any, oldProp?: any): void;
616
623
  private setCssClass;