@syncfusion/ej2-navigations 30.2.4 → 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.
@@ -8297,11 +8297,11 @@ let Tab = class Tab extends Component {
8297
8297
  else if (this.isVertical() && (popIcon.offsetTop < lastChild.offsetTop + lastChild.offsetHeight)) {
8298
8298
  isOverflow = true;
8299
8299
  }
8300
- if (isOverflow) {
8300
+ if (isOverflow && !isNullOrUndefined(ele)) {
8301
8301
  ele.classList.add(CLS_TB_POPUP);
8302
8302
  this.tbPop.insertBefore(ele, selectAll('.' + CLS_TB_POPUP, this.tbPop)[0]);
8303
8303
  }
8304
- return true;
8304
+ return isOverflow;
8305
8305
  }
8306
8306
  popupHandler(target) {
8307
8307
  const ripEle = target.querySelector('.e-ripple-element');
@@ -8311,21 +8311,24 @@ let Tab = class Tab extends Component {
8311
8311
  }
8312
8312
  this.tbItem = selectAll('.' + CLS_TB_ITEMS + ' .' + CLS_TB_ITEM, this.hdrEle);
8313
8313
  const lastChild = this.tbItem[this.tbItem.length - 1];
8314
- if (this.tbItem.length !== 0) {
8314
+ if (this.tbItem.length >= 0) {
8315
8315
  target.classList.remove(CLS_TB_POPUP);
8316
8316
  target.removeAttribute('style');
8317
8317
  this.tbItems.appendChild(target);
8318
8318
  this.actEleId = target.id;
8319
8319
  if (this.checkPopupOverflow(lastChild)) {
8320
- let prevEle = this.tbItems.lastChild.previousElementSibling;
8321
- prevEle = (prevEle && prevEle.classList.contains(CLS_INDICATOR) ? prevEle.previousElementSibling : prevEle);
8322
- if (prevEle) {
8323
- this.checkPopupOverflow(prevEle);
8320
+ for (let i = 0; i < this.tbItems.children.length; i++) {
8321
+ let prevEle = this.tbItems.lastChild.previousElementSibling;
8322
+ prevEle = (prevEle && prevEle.classList.contains(CLS_INDICATOR) ? prevEle.previousElementSibling : prevEle);
8323
+ if (!this.checkPopupOverflow(prevEle ? prevEle : target)) {
8324
+ break;
8325
+ }
8324
8326
  }
8325
8327
  }
8326
8328
  this.isPopup = true;
8327
8329
  }
8328
- return selectAll('.' + CLS_TB_ITEM, this.tbItems).length - 1;
8330
+ const tabItemsLength = selectAll('.' + CLS_TB_ITEM, this.tbItems).length;
8331
+ return tabItemsLength > 0 ? tabItemsLength - 1 : this.getEleIndex(target);
8329
8332
  }
8330
8333
  setCloseButton(val) {
8331
8334
  const trg = select('.' + CLS_HEADER$1, this.element);
@@ -10413,6 +10416,7 @@ let TreeView = TreeView_1 = class TreeView extends Component {
10413
10416
  this.changeDataSource = false;
10414
10417
  this.hasTemplate = false;
10415
10418
  this.isFirstRender = false;
10419
+ this.batchParentNode = new Set();
10416
10420
  // Specifies whether the node is dropped or not
10417
10421
  this.isNodeDropped = false;
10418
10422
  this.isInteracted = false;
@@ -11362,6 +11366,10 @@ let TreeView = TreeView_1 = class TreeView extends Component {
11362
11366
  }
11363
11367
  doCheckBoxAction(nodes, doCheck) {
11364
11368
  if (!isNullOrUndefined(nodes)) {
11369
+ if (nodes.length > 1 && this.autoCheck) {
11370
+ this.isBatchMode = true;
11371
+ this.batchParentNode = new Set();
11372
+ }
11365
11373
  nodes.reverse();
11366
11374
  for (let len = nodes.length - 1; len >= 0; len--) {
11367
11375
  const liEle = this.getElement(nodes[parseInt(len.toString(), 10)]);
@@ -11404,6 +11412,16 @@ let TreeView = TreeView_1 = class TreeView extends Component {
11404
11412
  const checkBox = select('.' + PARENTITEM + ' .' + CHECKBOXWRAP, liEle);
11405
11413
  this.validateCheckNode(checkBox, !doCheck, liEle, null);
11406
11414
  }
11415
+ if (this.isBatchMode && this.autoCheck) {
11416
+ this.isBatchMode = false;
11417
+ Array.from(this.batchParentNode).forEach((parentId) => {
11418
+ const parentLi = this.getElement(parentId);
11419
+ if (parentLi) {
11420
+ this.ensureParentCheckState(parentLi);
11421
+ }
11422
+ });
11423
+ this.batchParentNode.clear();
11424
+ }
11407
11425
  }
11408
11426
  else {
11409
11427
  const checkBoxes = selectAll('.' + CHECKBOXWRAP, this.element);
@@ -12819,7 +12837,16 @@ let TreeView = TreeView_1 = class TreeView extends Component {
12819
12837
  if (this.autoCheck) {
12820
12838
  this.ensureChildCheckState(li);
12821
12839
  this.updateOldCheckedData([this.getNodeData(li)]);
12822
- this.ensureParentCheckState(closest(closest(li, '.' + PARENTITEM), '.' + LISTITEM));
12840
+ const parentLi = closest(closest(li, '.' + PARENTITEM), '.' + LISTITEM);
12841
+ if (this.isBatchMode) {
12842
+ const parentId = !isNullOrUndefined(parentLi) ? parentLi.getAttribute('data-uid') : null;
12843
+ if (parentId) {
12844
+ this.batchParentNode.add(parentId);
12845
+ }
12846
+ }
12847
+ else {
12848
+ this.ensureParentCheckState(parentLi);
12849
+ }
12823
12850
  let doCheck;
12824
12851
  if (eventArgs.action === 'check') {
12825
12852
  doCheck = true;