@syncfusion/ej2-dropdowns 24.2.5 → 24.2.7

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.
@@ -2624,15 +2624,15 @@ let DropDownList = class DropDownList extends DropDownBase {
2624
2624
  focusOutAction(e) {
2625
2625
  this.isInteracted = false;
2626
2626
  this.focusOut(e);
2627
- this.onFocusOut();
2627
+ this.onFocusOut(e);
2628
2628
  }
2629
- onFocusOut() {
2629
+ onFocusOut(e) {
2630
2630
  if (!this.enabled) {
2631
2631
  return;
2632
2632
  }
2633
2633
  if (this.isSelected) {
2634
2634
  this.isSelectCustom = false;
2635
- this.onChangeEvent(null);
2635
+ this.onChangeEvent(e);
2636
2636
  }
2637
2637
  this.floatLabelChange();
2638
2638
  this.dispatchEvent(this.hiddenElement, 'change');
@@ -3345,7 +3345,7 @@ let DropDownList = class DropDownList extends DropDownBase {
3345
3345
  this.hidePopup(e);
3346
3346
  this.isInteracted = false;
3347
3347
  if (!isActive) {
3348
- this.onFocusOut();
3348
+ this.onFocusOut(e);
3349
3349
  this.inputWrapper.container.classList.remove(dropDownListClasses.inputFocus);
3350
3350
  }
3351
3351
  }
@@ -7241,7 +7241,7 @@ let DropDownTree = class DropDownTree extends Component {
7241
7241
  this.ensurePlaceHolder();
7242
7242
  ariaState = state === 'check' ? 'true' : 'false';
7243
7243
  if (!isNullOrUndefined(ariaState)) {
7244
- wrapper.setAttribute('aria-checked', ariaState);
7244
+ wrapper.parentElement.setAttribute('aria-checked', ariaState);
7245
7245
  }
7246
7246
  }
7247
7247
  setLocale(unSelect) {
@@ -8027,7 +8027,7 @@ let DropDownTree = class DropDownTree extends Component {
8027
8027
  }
8028
8028
  if (this.showSelectAll && this.checkBoxElement) {
8029
8029
  const nodes = this.treeObj.element.querySelectorAll('li');
8030
- const checkedNodes = this.treeObj.element.querySelectorAll('li .e-checkbox-wrapper[aria-checked=true]');
8030
+ const checkedNodes = this.treeObj.element.querySelectorAll('li[aria-checked=true]');
8031
8031
  const wrap = closest(this.checkBoxElement, '.' + CHECKBOXWRAP);
8032
8032
  if (wrap && args.action === 'uncheck' && (args.isInteracted || checkedNodes.length === 0 || (!isNullOrUndefined(args.data[0]) && args.data[0].isChecked === 'false'))) {
8033
8033
  this.isReverseUpdate = true;
@@ -11430,7 +11430,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11430
11430
  }
11431
11431
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
11432
11432
  openClick(e) {
11433
- if (!this.openOnClick && this.mode !== 'CheckBox') {
11433
+ if (!this.openOnClick && this.mode !== 'CheckBox' && !this.isPopupOpen()) {
11434
11434
  if (this.targetElement() !== '') {
11435
11435
  this.showPopup();
11436
11436
  }
@@ -12600,7 +12600,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12600
12600
  this.trigger('removed', eventArgs);
12601
12601
  const targetEle = eve && eve.currentTarget;
12602
12602
  const isSelectAll = (targetEle && targetEle.classList.contains('e-selectall-parent')) ? true : null;
12603
- if (!this.changeOnBlur && !isClearAll && (eve && length && !isSelectAll)) {
12603
+ if (!this.changeOnBlur && !isClearAll && (eve && length && !isSelectAll && this.isSelectAllTarget)) {
12604
12604
  this.updateValueState(eve, this.value, this.tempValues);
12605
12605
  }
12606
12606
  if (length) {
@@ -13270,6 +13270,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13270
13270
  this.backCommand = true;
13271
13271
  this.isCustomRendered = false;
13272
13272
  this.isRemoteSelection = false;
13273
+ this.isSelectAllTarget = true;
13273
13274
  }
13274
13275
  updateData(delimiterChar, e) {
13275
13276
  let data = '';
@@ -14184,6 +14185,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
14184
14185
  count = state ? this.maximumSelectionLength - (this.value ? this.value.length : 0) : this.maximumSelectionLength;
14185
14186
  }
14186
14187
  if (!beforeSelectArgs.preventSelectEvent) {
14188
+ this.isSelectAllTarget = (length === index + 1);
14187
14189
  while (index < length && index <= 50 && index < count) {
14188
14190
  this.updateListSelection(li[index], event, length - index);
14189
14191
  if (this.enableGroupCheckBox) {
@@ -14194,6 +14196,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
14194
14196
  if (length > 50) {
14195
14197
  setTimeout(() => {
14196
14198
  while (index < length && index < count) {
14199
+ this.isSelectAllTarget = (length === index + 1);
14197
14200
  this.updateListSelection(li[index], event, length - index);
14198
14201
  if (this.enableGroupCheckBox) {
14199
14202
  this.findGroupStart(li[index]);
@@ -14206,6 +14209,12 @@ let MultiSelect = class MultiSelect extends DropDownBase {
14206
14209
  this.isSelectAll = this.isSelectAll ? !this.isSelectAll : this.isSelectAll;
14207
14210
  }
14208
14211
  this.updateHiddenElement();
14212
+ if (this.popupWrapper && li[index - 1].classList.contains('e-item-focus')) {
14213
+ const selectAllParent = document.getElementsByClassName('e-selectall-parent')[0];
14214
+ if (selectAllParent && selectAllParent.classList.contains('e-item-focus')) {
14215
+ li[index - 1].classList.remove('e-item-focus');
14216
+ }
14217
+ }
14209
14218
  }, 0);
14210
14219
  }
14211
14220
  }
@@ -14303,7 +14312,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
14303
14312
  }
14304
14313
  if (this.mode === 'CheckBox') {
14305
14314
  this.updateDelimView();
14306
- if (!(isRemoveAll || this.isSelectAll)) {
14315
+ if (!(isRemoveAll || this.isSelectAll) && this.isSelectAllTarget) {
14307
14316
  this.updateDelimeter(this.delimiterChar, event);
14308
14317
  }
14309
14318
  this.refreshInputHight();
@@ -17251,7 +17260,6 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
17251
17260
  if (tListBox.mainList.childElementCount !== tListBox.jsonData.length) {
17252
17261
  tListBox.mainList = tListBox.ulElement;
17253
17262
  }
17254
- fListBox.updateMainList();
17255
17263
  const tJsonData = [].slice.call(tListBox.jsonData);
17256
17264
  tSortData = [].slice.call(tListBox.sortedData);
17257
17265
  this.selectNextList(elems, dataLiIdx, dataIdx, fListBox);
@@ -19022,6 +19030,20 @@ let Mention = class Mention extends DropDownBase {
19022
19030
  range.collapse(false);
19023
19031
  rect = range.getBoundingClientRect().top === 0 ? range.startContainer.getClientRects()[0] : range.getBoundingClientRect();
19024
19032
  }
19033
+ let rectTop = rect.top;
19034
+ let rectLeft = rect.left;
19035
+ const iframes = document.querySelectorAll('iframe');
19036
+ if (iframes.length > 0) {
19037
+ for (let i = 0; i < iframes.length; i++) {
19038
+ // eslint-disable-next-line security/detect-object-injection
19039
+ const iframe = iframes[i];
19040
+ if (iframe.contentDocument && iframe.contentDocument.contains(element)) {
19041
+ const iframeRect = iframe.getBoundingClientRect();
19042
+ rectTop += iframeRect.top;
19043
+ rectLeft += iframeRect.left;
19044
+ }
19045
+ }
19046
+ }
19025
19047
  const doc = document.documentElement;
19026
19048
  const windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);
19027
19049
  const windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);
@@ -19043,23 +19065,23 @@ let Mention = class Mention extends DropDownBase {
19043
19065
  }
19044
19066
  if (!this.isContentEditable(this.inputElement)) {
19045
19067
  coordinates = {
19046
- top: rect.top + windowTop + span.offsetTop + parseInt(computed.borderTopWidth, 10) +
19068
+ top: rectTop + windowTop + span.offsetTop + parseInt(computed.borderTopWidth, 10) +
19047
19069
  parseInt(computed.fontSize, 10) + 3 - element.scrollTop - (this.isCollided ? 10 : 0),
19048
- left: rect.left + windowLeft + span.offsetLeft + parseInt(computed.borderLeftWidth, 10)
19070
+ left: rectLeft + windowLeft + span.offsetLeft + parseInt(computed.borderLeftWidth, 10)
19049
19071
  };
19050
19072
  document.body.removeChild(div);
19051
19073
  }
19052
19074
  else {
19053
19075
  if (this.collision && this.collision.length > 0 && this.collision.indexOf('right') > -1 && this.collision.indexOf('bottom') === -1) {
19054
19076
  coordinates = {
19055
- top: rect.top + windowTop + parseInt(getComputedStyle(this.inputElement).fontSize, 10),
19056
- left: rect.left + windowLeft + width
19077
+ top: rectTop + windowTop + parseInt(getComputedStyle(this.inputElement).fontSize, 10),
19078
+ left: rectLeft + windowLeft + width
19057
19079
  };
19058
19080
  }
19059
19081
  else {
19060
19082
  coordinates = {
19061
- top: rect.top + windowTop + parseInt(getComputedStyle(this.inputElement).fontSize, 10) - (this.isCollided ? 10 : 0),
19062
- left: rect.left + windowLeft + width
19083
+ top: rectTop + windowTop + parseInt(getComputedStyle(this.inputElement).fontSize, 10) - (this.isCollided ? 10 : 0),
19084
+ left: rectLeft + windowLeft + width
19063
19085
  };
19064
19086
  }
19065
19087
  }