@syncfusion/ej2-layouts 33.1.44 → 33.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.
@@ -272,6 +272,7 @@ let Splitter = class Splitter extends Component {
272
272
  this.onMouseUpHandler = this.onMouseUp.bind(this);
273
273
  this.onTouchMoveHandler = this.onMouseMove.bind(this);
274
274
  this.onTouchEndHandler = this.onMouseUp.bind(this);
275
+ this.documentClickHandler = this.onDocumentClick.bind(this);
275
276
  this.wrapper = this.element.cloneNode(true);
276
277
  this.wrapperParent = this.element.parentElement;
277
278
  removeClass([this.wrapper], ['e-control', 'e-lib', ROOT]);
@@ -318,7 +319,7 @@ let Splitter = class Splitter extends Component {
318
319
  this.collapseFlag = true;
319
320
  this.isCollapsed();
320
321
  this.collapseFlag = false;
321
- EventHandler.add(document, 'touchstart click', this.onDocumentClick, this);
322
+ EventHandler.add(document, 'touchstart click', this.documentClickHandler);
322
323
  this.renderComplete();
323
324
  this.element.ownerDocument.defaultView.addEventListener('resize', this.onReportWindowSize, true);
324
325
  EventHandler.add(this.element, 'keydown', this.onMove, this);
@@ -875,7 +876,6 @@ let Splitter = class Splitter extends Component {
875
876
  arrow1.setAttribute('type', 'button');
876
877
  arrow2.setAttribute('type', 'button');
877
878
  const size = isNullOrUndefined(this.separatorSize) ? '1px' : this.separatorSize + 'px';
878
- const proxy = this;
879
879
  if (this.orientation === 'Horizontal') {
880
880
  this.updateIconClass();
881
881
  addClass([arrow2], [NAVIGATE_ARROW, ARROW_LEFT, HIDE_ICON]);
@@ -903,14 +903,16 @@ let Splitter = class Splitter extends Component {
903
903
  else {
904
904
  separator.removeAttribute('dir');
905
905
  }
906
- separator.addEventListener('focus', () => {
906
+ separator.delegateFocusHandler = () => {
907
907
  separator.classList.add(SPLIT_BAR_ACTIVE);
908
- proxy.currentSeparator = separator;
909
- proxy.getPaneDetails();
910
- });
911
- separator.addEventListener('blur', () => {
908
+ this.currentSeparator = separator;
909
+ this.getPaneDetails();
910
+ };
911
+ separator.delegateBlurHandler = () => {
912
912
  separator.classList.remove(SPLIT_BAR_ACTIVE);
913
- });
913
+ };
914
+ separator.addEventListener('focus', separator.delegateFocusHandler);
915
+ separator.addEventListener('blur', separator.delegateBlurHandler);
914
916
  return separator;
915
917
  }
916
918
  updateResizablePanes(index) {
@@ -984,25 +986,29 @@ let Splitter = class Splitter extends Component {
984
986
  addMouseActions(separator) {
985
987
  let sTout;
986
988
  let hoverTimeOut;
987
- separator.addEventListener('mouseenter', () => {
989
+ separator.delegateMouseEnterHandler = () => {
988
990
  /* istanbul ignore next */
989
991
  sTout = setTimeout(() => {
990
992
  addClass([separator], [SPLIT_BAR_HOVER]);
991
993
  }, this.iconsDelay);
992
- });
993
- separator.addEventListener('mouseleave', () => {
994
+ };
995
+ separator.delegateMouseLeaveHandler = () => {
994
996
  clearTimeout(sTout);
995
997
  removeClass([separator], [SPLIT_BAR_HOVER]);
996
- });
997
- separator.addEventListener('mouseout', () => {
998
+ };
999
+ separator.delegateMouseOutHandler = () => {
998
1000
  clearTimeout(hoverTimeOut);
999
- });
1000
- separator.addEventListener('mouseover', () => {
1001
+ };
1002
+ separator.delegateMouseOverHandler = () => {
1001
1003
  /* istanbul ignore next */
1002
1004
  hoverTimeOut = setTimeout(() => {
1003
1005
  addClass([separator], [SPLIT_BAR_HOVER]);
1004
1006
  });
1005
- });
1007
+ };
1008
+ separator.addEventListener('mouseenter', separator.delegateMouseEnterHandler);
1009
+ separator.addEventListener('mouseleave', separator.delegateMouseLeaveHandler);
1010
+ separator.addEventListener('mouseout', separator.delegateMouseOutHandler);
1011
+ separator.addEventListener('mouseover', separator.delegateMouseOverHandler);
1006
1012
  }
1007
1013
  getEventType(e) {
1008
1014
  return (e.indexOf('mouse') > -1) ? 'mouse' : 'touch';
@@ -2195,7 +2201,8 @@ let Splitter = class Splitter extends Component {
2195
2201
  destroy() {
2196
2202
  if (!this.isDestroyed) {
2197
2203
  super.destroy();
2198
- EventHandler.remove(document, 'touchstart click', this.onDocumentClick);
2204
+ EventHandler.remove(document, 'touchstart click', this.documentClickHandler);
2205
+ this.documentClickHandler = null;
2199
2206
  EventHandler.remove(this.element, 'keydown', this.onMove);
2200
2207
  this.element.ownerDocument.defaultView.removeEventListener('resize', this.onReportWindowSize, true);
2201
2208
  while (this.element.attributes.length > 0) {
@@ -2221,6 +2228,30 @@ let Splitter = class Splitter extends Component {
2221
2228
  EventHandler.remove(separators[i], 'touchstart', this.onMouseDown);
2222
2229
  EventHandler.remove(separators[i], 'click', this.clickHandler);
2223
2230
  EventHandler.remove(separators[i], 'mousedown', this.onMouseDown);
2231
+ if (separators[i].delegateFocusHandler) {
2232
+ separators[i].removeEventListener('focus', separators[i].delegateFocusHandler);
2233
+ separators[i].delegateFocusHandler = null;
2234
+ }
2235
+ if (separators[i].delegateBlurHandler) {
2236
+ separators[i].removeEventListener('blur', separators[i].delegateBlurHandler);
2237
+ separators[i].delegateBlurHandler = null;
2238
+ }
2239
+ if (separators[i].delegateMouseEnterHandler) {
2240
+ separators[i].removeEventListener('mouseenter', separators[i].delegateMouseEnterHandler);
2241
+ separators[i].delegateMouseEnterHandler = null;
2242
+ }
2243
+ if (separators[i].delegateMouseLeaveHandler) {
2244
+ separators[i].removeEventListener('mouseleave', separators[i].delegateMouseLeaveHandler);
2245
+ separators[i].delegateMouseLeaveHandler = null;
2246
+ }
2247
+ if (separators[i].delegateMouseOutHandler) {
2248
+ separators[i].removeEventListener('mouseout', separators[i].delegateMouseOutHandler);
2249
+ separators[i].delegateMouseOutHandler = null;
2250
+ }
2251
+ if (separators[i].delegateMouseOverHandler) {
2252
+ separators[i].removeEventListener('mouseover', separators[i].delegateMouseOverHandler);
2253
+ separators[i].delegateMouseOverHandler = null;
2254
+ }
2224
2255
  separators[i].parentNode.removeChild(separators[i]); // Use parentNode for broader compatibility
2225
2256
  }
2226
2257
  }