@syncfusion/ej2-dropdowns 28.1.41 → 28.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.
@@ -401,7 +401,7 @@ class VirtualScroll {
401
401
  endIndex = this.parent.viewPortInfo.endIndex - this.parent.value.length;
402
402
  if (this.parent.viewPortInfo.startIndex === 0) {
403
403
  this.parent.updateVirtualReOrderList(true);
404
- if (this.parent.value.length < this.parent.itemCount) {
404
+ if (this.parent.value.length < this.parent.itemCount && this.parent.value.length !== this.parent.totalItemCount) {
405
405
  const oldUlElement = this.parent.list.querySelector('.e-list-parent' + ':not(.e-reorder)');
406
406
  if (oldUlElement) {
407
407
  this.parent.list.querySelector('.e-virtual-ddl-content').removeChild(oldUlElement);
@@ -464,6 +464,12 @@ class VirtualScroll {
464
464
  if (isListUpdated) {
465
465
  for (let i = this.parent.viewPortInfo.startIndex; i < endIndex; i++) {
466
466
  const index = i;
467
+ if (this.component === 'multiselect' && this.parent.mode === 'CheckBox') {
468
+ const oldUlElement = this.parent.list.querySelector('.e-list-parent' + '.e-reorder');
469
+ if (oldUlElement) {
470
+ this.parent.list.querySelector('.e-virtual-ddl-content').removeChild(oldUlElement);
471
+ }
472
+ }
467
473
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
468
474
  const alreadyAddedData = this.parent.generatedDataObject[index];
469
475
  if (this.component === 'multiselect' && this.parent.hideSelectedItem) {
@@ -12511,6 +12517,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12511
12517
  this.isUpdateFooterHeight = false;
12512
12518
  this.isBlurDispatching = false;
12513
12519
  this.isFilterPrevented = false;
12520
+ this.isFilteringAction = false;
12514
12521
  this.isValidKey = false;
12515
12522
  this.selectAllEventData = [];
12516
12523
  this.selectAllEventEle = [];
@@ -12968,7 +12975,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12968
12975
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12969
12976
  this.totalItemCount = e.count;
12970
12977
  }
12971
- if (this.value && list && list.length > 0 && this.allowFiltering && this.mode !== 'CheckBox' && !this.enableVirtualization && !this.isFilterPrevented && !this.allowCustomValue) {
12978
+ if (this.value && list && list.length > 0 && this.allowFiltering && this.mode !== 'CheckBox' && !this.enableVirtualization && !this.isFilterPrevented && !this.allowCustomValue && this.isFilteringAction) {
12972
12979
  const allItemsInValue = list.every((item) => {
12973
12980
  const itemValue = getValue((this.fields.value) ? this.fields.value : '', item);
12974
12981
  return this.value.some((val) => {
@@ -15622,6 +15629,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
15622
15629
  this.totalItemCount = this.value && this.value.length ? this.totalItemCount - this.value.length : this.totalItemCount;
15623
15630
  }
15624
15631
  this.getSkeletonCount();
15632
+ this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < this.itemCount * 2 &&
15633
+ ((!(this.dataSource instanceof DataManager)) || ((this.dataSource instanceof DataManager) &&
15634
+ (this.totalItemCount <= this.itemCount))) ? 0 : this.skeletonCount;
15625
15635
  this.UpdateSkeleton();
15626
15636
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
15627
15637
  if (this.list.getElementsByClassName('e-virtual-ddl')[0]) {
@@ -15850,10 +15860,12 @@ let MultiSelect = class MultiSelect extends DropDownBase {
15850
15860
  if (!eventArgs.cancel) {
15851
15861
  if (!this.isFiltered && !eventArgs.preventDefaultAction) {
15852
15862
  this.filterAction = true;
15863
+ this.isFilteringAction = true;
15853
15864
  if (this.dataSource instanceof DataManager && this.allowCustomValue) {
15854
15865
  this.isCustomRendered = false;
15855
15866
  }
15856
15867
  this.dataUpdater(this.dataSource, null, this.fields);
15868
+ this.isFilteringAction = false;
15857
15869
  }
15858
15870
  }
15859
15871
  });