@syncfusion/ej2-dropdowns 32.2.4 → 32.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.
@@ -1,4 +1,4 @@
1
- import { EventHandler, Touch, isNullOrUndefined, getValue, select, Browser, debounce, ChildProperty, Property, Component, selectAll, compile, L10n, addClass, removeClass, extend, append, setStyleAttribute, prepend, rippleEffect, detach, Complex, Event, NotifyPropertyChanges, classList, closest, KeyboardEvents, attributes, isUndefined, formatUnit, Animation, getUniqueID, remove, SanitizeHtmlHelper, setValue, matches as matches$1, createElement, getComponent } from '@syncfusion/ej2-base';
1
+ import { EventHandler, Touch, isNullOrUndefined, getValue, select, Browser, debounce, ChildProperty, Property, Component, selectAll, compile, L10n, addClass, removeClass, extend, append, setStyleAttribute, prepend, rippleEffect, detach, Complex, Event, NotifyPropertyChanges, classList, closest, KeyboardEvents, attributes, isUndefined, formatUnit, Animation, getUniqueID, remove, setValue, matches as matches$1, SanitizeHtmlHelper, createElement, getComponent } from '@syncfusion/ej2-base';
2
2
  import { DataManager, Query, DataUtil, Predicate, JsonAdaptor } from '@syncfusion/ej2-data';
3
3
  import { ListBase, Sortable, cssClass, moveTo } from '@syncfusion/ej2-lists';
4
4
  import { Skeleton } from '@syncfusion/ej2-notifications';
@@ -3634,7 +3634,8 @@ let DropDownList = class DropDownList extends DropDownBase {
3634
3634
  EventHandler.add(this.inputWrapper.container, 'mousedown', this.dropDownClick, this);
3635
3635
  EventHandler.add(this.inputWrapper.container, 'focus', this.focusIn, this);
3636
3636
  EventHandler.add(this.inputWrapper.container, 'keypress', this.onSearch, this);
3637
- EventHandler.add(window, 'resize', this.windowResize, this);
3637
+ this.resizeHandler = this.windowResize.bind(this);
3638
+ window.addEventListener('resize', this.resizeHandler);
3638
3639
  this.bindCommonEvent();
3639
3640
  }
3640
3641
  bindCommonEvent() {
@@ -4424,7 +4425,10 @@ let DropDownList = class DropDownList extends DropDownBase {
4424
4425
  EventHandler.remove(this.inputWrapper.container, 'mousedown', this.dropDownClick);
4425
4426
  EventHandler.remove(this.inputWrapper.container, 'keypress', this.onSearch);
4426
4427
  EventHandler.remove(this.inputWrapper.container, 'focus', this.focusIn);
4427
- EventHandler.remove(window, 'resize', this.windowResize);
4428
+ if (this.resizeHandler) {
4429
+ window.removeEventListener('resize', this.resizeHandler);
4430
+ this.resizeHandler = null;
4431
+ }
4428
4432
  }
4429
4433
  this.unBindCommonEvent();
4430
4434
  }
@@ -8743,12 +8747,7 @@ let DropDownTree = class DropDownTree extends Component {
8743
8747
  temp = this.getOverflowVal(index);
8744
8748
  data += temp;
8745
8749
  temp = this.overFlowWrapper.innerHTML;
8746
- if (this.enableHtmlSanitizer) {
8747
- this.overFlowWrapper.innerText = SanitizeHtmlHelper.sanitize(data);
8748
- }
8749
- else {
8750
- this.overFlowWrapper.innerHTML = data;
8751
- }
8750
+ this.overFlowWrapper[this.getDomSetter()] = this.getSanitizedText(data);
8752
8751
  wrapperleng = this.overFlowWrapper.offsetWidth;
8753
8752
  overAllContainer = this.inputWrapper.offsetWidth;
8754
8753
  if ((wrapperleng + downIconWidth + this.clearIconWidth) > overAllContainer) {
@@ -9321,6 +9320,7 @@ let DropDownTree = class DropDownTree extends Component {
9321
9320
  dataBound: this.OnDataBound.bind(this),
9322
9321
  allowMultiSelection: this.allowMultiSelection,
9323
9322
  enableHtmlSanitizer: this.enableHtmlSanitizer,
9323
+ disableHtmlEncode: this.disableHtmlEncode,
9324
9324
  showCheckBox: this.showCheckBox,
9325
9325
  autoCheck: this.treeSettings.autoCheck,
9326
9326
  sortOrder: this.sortOrder,
@@ -10298,12 +10298,7 @@ let DropDownTree = class DropDownTree extends Component {
10298
10298
  });
10299
10299
  const chipContent = this.createElement('span', { className: CHIP_CONTENT });
10300
10300
  const chipClose = this.createElement('span', { className: CHIP_CLOSE + ' ' + ICONS });
10301
- if (this.enableHtmlSanitizer) {
10302
- chipContent.innerText = SanitizeHtmlHelper.sanitize(text);
10303
- }
10304
- else {
10305
- chipContent.innerHTML = text;
10306
- }
10301
+ chipContent[this.getDomSetter()] = this.getSanitizedText(text);
10307
10302
  chip.appendChild(chipContent);
10308
10303
  this.chipCollection.appendChild(chip);
10309
10304
  if (this.showClearButton) {
@@ -10742,6 +10737,12 @@ let DropDownTree = class DropDownTree extends Component {
10742
10737
  this.hiddenElement.removeAttribute('multiple');
10743
10738
  }
10744
10739
  }
10740
+ getDomSetter() {
10741
+ return this.disableHtmlEncode ? 'textContent' : 'innerHTML';
10742
+ }
10743
+ getSanitizedText(text) {
10744
+ return this.enableHtmlSanitizer ? SanitizeHtmlHelper.sanitize(text) : text;
10745
+ }
10745
10746
  /**
10746
10747
  * Dynamically change the value of properties.
10747
10748
  *
@@ -11209,6 +11210,9 @@ __decorate$2([
11209
11210
  __decorate$2([
11210
11211
  Property(true)
11211
11212
  ], DropDownTree.prototype, "enableHtmlSanitizer", void 0);
11213
+ __decorate$2([
11214
+ Property(true)
11215
+ ], DropDownTree.prototype, "disableHtmlEncode", void 0);
11212
11216
  __decorate$2([
11213
11217
  Property(true)
11214
11218
  ], DropDownTree.prototype, "showClearButton", void 0);
@@ -16594,7 +16598,8 @@ let MultiSelect = class MultiSelect extends DropDownBase {
16594
16598
  }
16595
16599
  wireEvent() {
16596
16600
  EventHandler.add(this.componentWrapper, 'mousedown', this.wrapperClick, this);
16597
- EventHandler.add(window, 'resize', this.windowResize, this);
16601
+ this.resizeHandler = this.windowResize.bind(this);
16602
+ window.addEventListener('resize', this.resizeHandler);
16598
16603
  EventHandler.add(this.inputElement, 'focus', this.focusInHandler, this);
16599
16604
  EventHandler.add(this.inputElement, 'keydown', this.onKeyDown, this);
16600
16605
  EventHandler.add(this.inputElement, 'keyup', this.keyUp, this);
@@ -17892,7 +17897,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
17892
17897
  if (!isNullOrUndefined(this.componentWrapper)) {
17893
17898
  EventHandler.remove(this.componentWrapper, 'mousedown', this.wrapperClick);
17894
17899
  }
17895
- EventHandler.remove(window, 'resize', this.windowResize);
17900
+ if (this.resizeHandler) {
17901
+ window.removeEventListener('resize', this.resizeHandler);
17902
+ this.resizeHandler = null;
17903
+ }
17896
17904
  if (!isNullOrUndefined(this.inputElement)) {
17897
17905
  EventHandler.remove(this.inputElement, 'focus', this.focusInHandler);
17898
17906
  EventHandler.remove(this.inputElement, 'keydown', this.onKeyDown);
@@ -21586,7 +21594,8 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
21586
21594
  if (form) {
21587
21595
  EventHandler.add(form, 'reset', this.formResetHandler, this);
21588
21596
  }
21589
- window.addEventListener('resize', this.resizeHandler.bind(this));
21597
+ this.boundResizeHandler = this.resizeHandler.bind(this);
21598
+ window.addEventListener('resize', this.boundResizeHandler);
21590
21599
  }
21591
21600
  wireToolbarEvent() {
21592
21601
  if (this.toolbarSettings.items.length) {
@@ -21608,7 +21617,10 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
21608
21617
  if (form) {
21609
21618
  EventHandler.remove(form, 'reset', this.formResetHandler);
21610
21619
  }
21611
- window.removeEventListener('resize', this.resizeHandler.bind(this));
21620
+ if (this.boundResizeHandler) {
21621
+ window.removeEventListener('resize', this.boundResizeHandler);
21622
+ this.boundResizeHandler = null;
21623
+ }
21612
21624
  }
21613
21625
  clickHandler(e) {
21614
21626
  const li = closest(e.target, '.' + 'e-list-item');
@@ -23191,16 +23203,21 @@ let Mention = class Mention extends DropDownBase {
23191
23203
  this.wireEvent();
23192
23204
  }
23193
23205
  wireEvent() {
23194
- EventHandler.add(this.inputElement, 'keyup', this.onKeyUp, this);
23206
+ this.keyupHandler = this.onKeyUp.bind(this);
23207
+ EventHandler.add(this.inputElement, 'keyup', this.keyupHandler, this);
23195
23208
  this.bindCommonEvent();
23196
23209
  }
23197
23210
  unWireEvent() {
23198
- EventHandler.remove(this.inputElement, 'keyup', this.onKeyUp);
23211
+ if (this.keyupHandler) {
23212
+ EventHandler.remove(this.inputElement, 'keyup', this.keyupHandler);
23213
+ this.keyupHandler = null;
23214
+ }
23199
23215
  this.unBindCommonEvent();
23200
23216
  }
23201
23217
  bindCommonEvent() {
23202
23218
  if (!Browser.isDevice) {
23203
- this.inputElement.addEventListener('keydown', this.keyDownHandler.bind(this), !this.isRTE);
23219
+ this.keydownHandler = this.keyDownHandler.bind(this);
23220
+ this.inputElement.addEventListener('keydown', this.keydownHandler, !this.isRTE);
23204
23221
  }
23205
23222
  }
23206
23223
  /**
@@ -23389,8 +23406,9 @@ let Mention = class Mention extends DropDownBase {
23389
23406
  return !isNullOrUndefined(element);
23390
23407
  }
23391
23408
  unBindCommonEvent() {
23392
- if (!Browser.isDevice) {
23393
- this.inputElement.removeEventListener('keydown', this.keyDownHandler.bind(this), !this.isRTE);
23409
+ if (!Browser.isDevice && this.keydownHandler) {
23410
+ this.inputElement.removeEventListener('keydown', this.keydownHandler, !this.isRTE);
23411
+ this.keydownHandler = null;
23394
23412
  }
23395
23413
  }
23396
23414
  onKeyUp(e) {
@@ -23867,9 +23885,11 @@ let Mention = class Mention extends DropDownBase {
23867
23885
  addClass([popupEle], 'e-rte-elements');
23868
23886
  }
23869
23887
  }
23888
+ const appendToElement = this.getAppendToElement();
23889
+ this.popupAppendTo = appendToElement;
23870
23890
  if ((!this.popupObj || !document.body.contains(this.popupObj.element)) ||
23871
23891
  !document.contains(popupEle) && isNullOrUndefined(this.target)) {
23872
- document.body.appendChild(popupEle);
23892
+ appendToElement.appendChild(popupEle);
23873
23893
  }
23874
23894
  let coordinates;
23875
23895
  popupEle.style.visibility = 'hidden';
@@ -23942,6 +23962,19 @@ let Mention = class Mention extends DropDownBase {
23942
23962
  }
23943
23963
  });
23944
23964
  }
23965
+ getAppendToElement() {
23966
+ if (this.popupAppendTo) {
23967
+ return this.popupAppendTo;
23968
+ }
23969
+ if (this.isAngular) {
23970
+ const cdkPane = this.element && this.element.closest ? this.element.closest('.cdk-overlay-pane') : null;
23971
+ const popoverEl = this.element && this.element.closest ? this.element.closest('[popover]') : null;
23972
+ if (cdkPane && popoverEl) {
23973
+ return cdkPane;
23974
+ }
23975
+ }
23976
+ return document.body;
23977
+ }
23945
23978
  setHeight(popupEle) {
23946
23979
  if (this.popupHeight !== 'auto' && this.list) {
23947
23980
  this.list.style.maxHeight = (parseInt(this.listHeight, 10) - 2).toString() + 'px'; // due to box-sizing property