@syncfusion/ej2-dropdowns 32.1.19 → 32.1.21

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.
@@ -473,6 +473,10 @@ class VirtualScroll {
473
473
  this.parent.totalItemsCount();
474
474
  }
475
475
  if (isListUpdated) {
476
+ if (this.component === 'multiselect' && this.parent.itemCount * 2 > this.parent.totalItemCount) {
477
+ this.parent.viewPortInfo.endIndex = endIndex = this.parent.totalItemCount;
478
+ this.parent.isVirtualTrackHeight = true;
479
+ }
476
480
  for (let i = this.parent.viewPortInfo.startIndex; i < endIndex; i++) {
477
481
  const index = i;
478
482
  if (this.component === 'multiselect' && this.parent.mode === 'CheckBox') {
@@ -1651,8 +1655,10 @@ let DropDownBase = class DropDownBase extends Component {
1651
1655
  for (let queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {
1652
1656
  if (this.getModuleName() === 'multiselect' && this.isCheckBoxSelection && (newQuery.queries[queryElements].e && (newQuery.queries[queryElements].e.operator === 'notequal' ||
1653
1657
  newQuery.queries[queryElements].e.operator === 'equal' || newQuery.queries[queryElements].e.condition === 'or' || newQuery.queries[queryElements].e.condition === 'and') && !this.isCustomFiltering)) {
1654
- isReOrder = false;
1655
- break;
1658
+ if (this.totalItemCount > (this.itemCount * 2)) {
1659
+ isReOrder = false;
1660
+ break;
1661
+ }
1656
1662
  }
1657
1663
  if (newQuery.queries[queryElements].fn === 'onTake') {
1658
1664
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -5636,6 +5642,7 @@ let DropDownList = class DropDownList extends DropDownBase {
5636
5642
  }
5637
5643
  const args = { cancel: false };
5638
5644
  this.trigger('beforeOpen', args, (args) => {
5645
+ this.iOSscrollPosition = { x: document.documentElement.scrollLeft, y: document.documentElement.scrollTop };
5639
5646
  let initialPopupHeight;
5640
5647
  if (!args.cancel) {
5641
5648
  const popupEle = this.createElement('div', {
@@ -5857,6 +5864,9 @@ let DropDownList = class DropDownList extends DropDownBase {
5857
5864
  }
5858
5865
  }, 15);
5859
5866
  }
5867
+ if (this.allowFiltering && this.isDeviceFullScreen && Browser.isDevice && Browser.isIos) {
5868
+ document.documentElement.scrollIntoView();
5869
+ }
5860
5870
  }
5861
5871
  else {
5862
5872
  this.beforePopupOpen = false;
@@ -6386,6 +6396,12 @@ let DropDownList = class DropDownList extends DropDownBase {
6386
6396
  this.fixedHeaderElement = null;
6387
6397
  }
6388
6398
  if (!eventArgs.cancel) {
6399
+ if (this.isPopupOpen && this.allowFiltering && this.isDeviceFullScreen && Browser.isDevice && Browser.isIos) {
6400
+ document.documentElement.scrollTo({
6401
+ top: this.iOSscrollPosition.y,
6402
+ left: this.iOSscrollPosition.x
6403
+ });
6404
+ }
6389
6405
  if (this.getModuleName() === 'autocomplete') {
6390
6406
  this.rippleFun();
6391
6407
  }
@@ -9996,7 +10012,10 @@ let DropDownTree = class DropDownTree extends Component {
9996
10012
  selectedValues = selectedValues.filter((selectedValue) => {
9997
10013
  const nodeData = this.treeObj.getTreeData(selectedValue);
9998
10014
  if (Array.isArray(nodeData)) {
9999
- return nodeData.every((nodeSelectedData) => nodeSelectedData.selected);
10015
+ return nodeData.every((nodeSelectedData) => {
10016
+ return nodeSelectedData.selected === true ||
10017
+ this.selectedData.some((sel) => sel.id === String(nodeSelectedData[this.fields.value]));
10018
+ });
10000
10019
  }
10001
10020
  return true;
10002
10021
  });
@@ -18820,7 +18839,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
18820
18839
  if (this.hideSelectedItem && this.value && Array.isArray(this.value) && this.value.length > 0) {
18821
18840
  this.totalItemsCount();
18822
18841
  }
18823
- if (!this.preventSetCurrentData && this.totalItemCount > (this.itemCount * 2) &&
18842
+ if (!this.preventSetCurrentData &&
18824
18843
  !isNullOrUndefined(this.viewPortInfo.startIndex) &&
18825
18844
  !isNullOrUndefined(this.viewPortInfo.endIndex)) {
18826
18845
  this.notify('setCurrentViewDataAsync', {
@@ -23421,11 +23440,11 @@ let Mention = class Mention extends DropDownBase {
23421
23440
  this.searchLists(e);
23422
23441
  if (!this.isPopupOpen && this.queryString.length >= this.minLength) {
23423
23442
  if (!this.isContentEditable(this.inputElement)) {
23424
- this.showPopup();
23443
+ this.showPopupWithDebounce();
23425
23444
  }
23426
23445
  else if (this.isContentEditable(this.inputElement) && this.range &&
23427
23446
  this.range.startContainer !== this.inputElement && e.keyCode !== 9) {
23428
- this.showPopup();
23447
+ this.showPopupWithDebounce();
23429
23448
  }
23430
23449
  }
23431
23450
  }
@@ -23463,6 +23482,14 @@ let Mention = class Mention extends DropDownBase {
23463
23482
  }
23464
23483
  this.isListResetted = false;
23465
23484
  }
23485
+ showPopupWithDebounce() {
23486
+ if (this.minLength > 0 && this.minLength === this.queryString.length) {
23487
+ setTimeout(() => { this.showPopup(); }, this.debounceDelay);
23488
+ }
23489
+ else {
23490
+ this.showPopup();
23491
+ }
23492
+ }
23466
23493
  isMatchedText() {
23467
23494
  let isMatched = false;
23468
23495
  for (let i = 0; i < (this.liCollections && this.liCollections.length); i++) {