@syncfusion/ej2-navigations 30.1.42 → 30.2.5

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.
@@ -8572,11 +8572,11 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8572
8572
  else if (this.isVertical() && (popIcon.offsetTop < lastChild.offsetTop + lastChild.offsetHeight)) {
8573
8573
  isOverflow = true;
8574
8574
  }
8575
- if (isOverflow) {
8575
+ if (isOverflow && !isNullOrUndefined(ele)) {
8576
8576
  ele.classList.add(CLS_TB_POPUP);
8577
8577
  this.tbPop.insertBefore(ele, selectAll('.' + CLS_TB_POPUP, this.tbPop)[0]);
8578
8578
  }
8579
- return true;
8579
+ return isOverflow;
8580
8580
  };
8581
8581
  Tab.prototype.popupHandler = function (target) {
8582
8582
  var ripEle = target.querySelector('.e-ripple-element');
@@ -8586,21 +8586,24 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8586
8586
  }
8587
8587
  this.tbItem = selectAll('.' + CLS_TB_ITEMS + ' .' + CLS_TB_ITEM, this.hdrEle);
8588
8588
  var lastChild = this.tbItem[this.tbItem.length - 1];
8589
- if (this.tbItem.length !== 0) {
8589
+ if (this.tbItem.length >= 0) {
8590
8590
  target.classList.remove(CLS_TB_POPUP);
8591
8591
  target.removeAttribute('style');
8592
8592
  this.tbItems.appendChild(target);
8593
8593
  this.actEleId = target.id;
8594
8594
  if (this.checkPopupOverflow(lastChild)) {
8595
- var prevEle = this.tbItems.lastChild.previousElementSibling;
8596
- prevEle = (prevEle && prevEle.classList.contains(CLS_INDICATOR) ? prevEle.previousElementSibling : prevEle);
8597
- if (prevEle) {
8598
- this.checkPopupOverflow(prevEle);
8595
+ for (var i = 0; i < this.tbItems.children.length; i++) {
8596
+ var prevEle = this.tbItems.lastChild.previousElementSibling;
8597
+ prevEle = (prevEle && prevEle.classList.contains(CLS_INDICATOR) ? prevEle.previousElementSibling : prevEle);
8598
+ if (!this.checkPopupOverflow(prevEle ? prevEle : target)) {
8599
+ break;
8600
+ }
8599
8601
  }
8600
8602
  }
8601
8603
  this.isPopup = true;
8602
8604
  }
8603
- return selectAll('.' + CLS_TB_ITEM, this.tbItems).length - 1;
8605
+ var tabItemsLength = selectAll('.' + CLS_TB_ITEM, this.tbItems).length;
8606
+ return tabItemsLength > 0 ? tabItemsLength - 1 : this.getEleIndex(target);
8604
8607
  };
8605
8608
  Tab.prototype.setCloseButton = function (val) {
8606
8609
  var trg = select('.' + CLS_HEADER$1, this.element);
@@ -10737,6 +10740,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
10737
10740
  _this.changeDataSource = false;
10738
10741
  _this.hasTemplate = false;
10739
10742
  _this.isFirstRender = false;
10743
+ _this.batchParentNode = new Set();
10740
10744
  // Specifies whether the node is dropped or not
10741
10745
  _this.isNodeDropped = false;
10742
10746
  _this.isInteracted = false;
@@ -11698,7 +11702,12 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
11698
11702
  }
11699
11703
  };
11700
11704
  TreeView.prototype.doCheckBoxAction = function (nodes, doCheck) {
11705
+ var _this = this;
11701
11706
  if (!isNullOrUndefined(nodes)) {
11707
+ if (nodes.length > 1 && this.autoCheck) {
11708
+ this.isBatchMode = true;
11709
+ this.batchParentNode = new Set();
11710
+ }
11702
11711
  nodes.reverse();
11703
11712
  for (var len = nodes.length - 1; len >= 0; len--) {
11704
11713
  var liEle = this.getElement(nodes[parseInt(len.toString(), 10)]);
@@ -11741,6 +11750,16 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
11741
11750
  var checkBox = select('.' + PARENTITEM + ' .' + CHECKBOXWRAP, liEle);
11742
11751
  this.validateCheckNode(checkBox, !doCheck, liEle, null);
11743
11752
  }
11753
+ if (this.isBatchMode && this.autoCheck) {
11754
+ this.isBatchMode = false;
11755
+ Array.from(this.batchParentNode).forEach(function (parentId) {
11756
+ var parentLi = _this.getElement(parentId);
11757
+ if (parentLi) {
11758
+ _this.ensureParentCheckState(parentLi);
11759
+ }
11760
+ });
11761
+ this.batchParentNode.clear();
11762
+ }
11744
11763
  }
11745
11764
  else {
11746
11765
  var checkBoxes = selectAll('.' + CHECKBOXWRAP, this.element);
@@ -13177,7 +13196,16 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
13177
13196
  if (this.autoCheck) {
13178
13197
  this.ensureChildCheckState(li);
13179
13198
  this.updateOldCheckedData([this.getNodeData(li)]);
13180
- this.ensureParentCheckState(closest(closest(li, '.' + PARENTITEM), '.' + LISTITEM));
13199
+ var parentLi = closest(closest(li, '.' + PARENTITEM), '.' + LISTITEM);
13200
+ if (this.isBatchMode) {
13201
+ var parentId = !isNullOrUndefined(parentLi) ? parentLi.getAttribute('data-uid') : null;
13202
+ if (parentId) {
13203
+ this.batchParentNode.add(parentId);
13204
+ }
13205
+ }
13206
+ else {
13207
+ this.ensureParentCheckState(parentLi);
13208
+ }
13181
13209
  var doCheck = void 0;
13182
13210
  if (eventArgs.action === 'check') {
13183
13211
  doCheck = true;