@syncfusion/ej2-navigations 27.1.58 → 27.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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 27.1.58
3
+ * version : 27.2.3
4
4
  * Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-navigations@*",
3
- "_id": "@syncfusion/ej2-navigations@27.1.57",
3
+ "_id": "@syncfusion/ej2-navigations@27.2.2",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-iWr02p5pCroT7/QZ41mPYfkGqcOuisWKOJ5fZRlWpivB6Z4NV0ngDMZ9bbL5Xi6ByFyrP+RfTNW5WNJmOFsB5A==",
5
+ "_integrity": "sha512-wdKjMJAp1fCj8Lh+EcSicpaZ/dwG50/giQQAcaCTrDPrn0oGT9+/MS3gzDtxNgSOuDDANSCtJ8+2wFacDtAXRA==",
6
6
  "_location": "/@syncfusion/ej2-navigations",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -40,8 +40,8 @@
40
40
  "/@syncfusion/ej2-spreadsheet",
41
41
  "/@syncfusion/ej2-vue-navigations"
42
42
  ],
43
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-navigations/-/ej2-navigations-27.1.57.tgz",
44
- "_shasum": "bba1a68ef4d89d698ab0758933307a5443488974",
43
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-navigations/-/ej2-navigations-27.2.2.tgz",
44
+ "_shasum": "b90419d23da0d3a8d0300f21f00b07015f3ea1b3",
45
45
  "_spec": "@syncfusion/ej2-navigations@*",
46
46
  "_where": "/jenkins/workspace/elease-automation_release_27.1.1/packages/included",
47
47
  "author": {
@@ -52,12 +52,12 @@
52
52
  },
53
53
  "bundleDependencies": false,
54
54
  "dependencies": {
55
- "@syncfusion/ej2-base": "~27.1.55",
56
- "@syncfusion/ej2-buttons": "~27.1.58",
57
- "@syncfusion/ej2-data": "~27.1.52",
58
- "@syncfusion/ej2-inputs": "~27.1.58",
59
- "@syncfusion/ej2-lists": "~27.1.50",
60
- "@syncfusion/ej2-popups": "~27.1.58"
55
+ "@syncfusion/ej2-base": "~27.2.2",
56
+ "@syncfusion/ej2-buttons": "~27.2.2",
57
+ "@syncfusion/ej2-data": "~27.2.2",
58
+ "@syncfusion/ej2-inputs": "~27.2.2",
59
+ "@syncfusion/ej2-lists": "~27.2.3",
60
+ "@syncfusion/ej2-popups": "~27.2.2"
61
61
  },
62
62
  "deprecated": false,
63
63
  "description": "A package of Essential JS 2 navigation components such as Tree-view, Tab, Toolbar, Context-menu, and Accordion which is used to navigate from one page to another",
@@ -162,6 +162,6 @@
162
162
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
163
163
  },
164
164
  "typings": "index.d.ts",
165
- "version": "27.1.58",
165
+ "version": "27.2.3",
166
166
  "sideEffects": false
167
167
  }
@@ -2265,6 +2265,10 @@ var MenuBase = /** @class */ (function (_super) {
2265
2265
  li = this.createItems(iitems).children[idx];
2266
2266
  var ul = this.isMenu ? select('.e-menu-parent', uls[navIdx.length]) : uls[navIdx.length];
2267
2267
  ul.insertBefore(li, ul.children[idx]);
2268
+ if (i === items.length - 1 && !this.isMenu && ul.style.display === 'block') {
2269
+ this.setPosition(null, ul, parseFloat(ul.style.top), parseFloat(ul.style.left));
2270
+ ul.style.display = 'block';
2271
+ }
2268
2272
  }
2269
2273
  }
2270
2274
  };
package/src/tab/tab.d.ts CHANGED
@@ -506,6 +506,16 @@ export declare class Tab extends Component<HTMLElement> implements INotifyProper
506
506
  * @returns {void}
507
507
  */
508
508
  refresh(): void;
509
+ /**
510
+ * Reorganizes and adjusts the Tab headers to fit the available width without re-rendering the entire Tab component.
511
+ *
512
+ * This method is useful for optimizing the layout when:
513
+ * - A hidden tab item becomes visible.
514
+ * - The number of tab items changes dynamically.
515
+ *
516
+ * @returns {void} This method does not return a value.
517
+ */
518
+ refreshOverflow(): void;
509
519
  /**
510
520
  * Initialize component
511
521
  *
package/src/tab/tab.js CHANGED
@@ -274,6 +274,20 @@ var Tab = /** @class */ (function (_super) {
274
274
  this.renderReactTemplates();
275
275
  }
276
276
  };
277
+ /**
278
+ * Reorganizes and adjusts the Tab headers to fit the available width without re-rendering the entire Tab component.
279
+ *
280
+ * This method is useful for optimizing the layout when:
281
+ * - A hidden tab item becomes visible.
282
+ * - The number of tab items changes dynamically.
283
+ *
284
+ * @returns {void} This method does not return a value.
285
+ */
286
+ Tab.prototype.refreshOverflow = function () {
287
+ if (!isNOU(this.tbObj)) {
288
+ this.tbObj.refreshOverflow();
289
+ }
290
+ };
277
291
  /**
278
292
  * Initialize component
279
293
  *
@@ -319,9 +333,7 @@ var Tab = /** @class */ (function (_super) {
319
333
  this.initRender = false;
320
334
  if (this.isReact && this.portals && this.portals.length > 0) {
321
335
  this.renderReactTemplates(function () {
322
- if (!isNOU(_this.tbObj)) {
323
- _this.tbObj.refreshOverflow();
324
- }
336
+ _this.refreshOverflow();
325
337
  _this.refreshActiveBorder();
326
338
  });
327
339
  }
@@ -618,7 +630,7 @@ var Tab = /** @class */ (function (_super) {
618
630
  else {
619
631
  trg.classList.remove(CLS_CLOSE_SHOW);
620
632
  }
621
- this.tbObj.refreshOverflow();
633
+ this.refreshOverflow();
622
634
  this.refreshActiveTabBorder();
623
635
  };
624
636
  Tab.prototype.prevCtnAnimation = function (prev, current) {
@@ -1737,11 +1749,13 @@ var Tab = /** @class */ (function (_super) {
1737
1749
  else {
1738
1750
  _this.dragItem.querySelector('.' + CLS_WRAP).style.visibility = '';
1739
1751
  removeClass([_this.tbItems.querySelector('.' + CLS_INDICATOR)], CLS_HIDDEN);
1752
+ _this.droppedIndex = isNOU(_this.droppedIndex) ? _this.getEleIndex(_this.dragItem) : _this.droppedIndex;
1740
1753
  _this.selectTab(_this.droppedIndex, null, true);
1741
1754
  }
1742
1755
  }
1743
1756
  });
1744
1757
  this.dragItem = null;
1758
+ this.droppedIndex = null;
1745
1759
  };
1746
1760
  /**
1747
1761
  * Enables or disables the specified Tab item. On passing value as `false`, the item will be disabled.
@@ -2001,8 +2015,8 @@ var Tab = /** @class */ (function (_super) {
2001
2015
  if (!isNullOrUndefined(item.firstElementChild)) {
2002
2016
  item.firstElementChild.setAttribute('aria-hidden', '' + value);
2003
2017
  }
2004
- if (this.overflowMode === 'Popup' && this.tbObj) {
2005
- this.tbObj.refreshOverflow();
2018
+ if (this.overflowMode === 'Popup') {
2019
+ this.refreshOverflow();
2006
2020
  }
2007
2021
  };
2008
2022
  Tab.prototype.selectTab = function (args, event, isInteracted) {
@@ -1587,9 +1587,9 @@ var Toolbar = /** @class */ (function (_super) {
1587
1587
  return;
1588
1588
  }
1589
1589
  var alignDiv = [];
1590
- alignDiv.push(this.createElement('div', { className: CLS_TBARLEFT }));
1591
- alignDiv.push(this.createElement('div', { className: CLS_TBARCENTER }));
1592
- alignDiv.push(this.createElement('div', { className: CLS_TBARRIGHT }));
1590
+ alignDiv.push(this.createElement('div', { className: CLS_TBARLEFT, attrs: { role: 'group' } }));
1591
+ alignDiv.push(this.createElement('div', { className: CLS_TBARCENTER, attrs: { role: 'group' } }));
1592
+ alignDiv.push(this.createElement('div', { className: CLS_TBARRIGHT, attrs: { role: 'group' } }));
1593
1593
  if (pos === 0 && item.align !== 'Left') {
1594
1594
  alignDiv.forEach(function (ele) {
1595
1595
  itemEle.appendChild(ele);
@@ -973,6 +973,7 @@ export declare class TreeView extends Component<HTMLElement> implements INotifyP
973
973
  * @event nodeSelecting
974
974
  */
975
975
  nodeSelecting: EmitType<NodeSelectEventArgs>;
976
+ isFilter: boolean;
976
977
  constructor(options?: TreeViewModel, element?: string | HTMLElement);
977
978
  /**
978
979
  * Get component name.
@@ -1298,6 +1299,7 @@ export declare class TreeView extends Component<HTMLElement> implements INotifyP
1298
1299
  * Checks whether the checkedNodes entered are valid and sets the valid checkedNodes while changing via setmodel
1299
1300
  *
1300
1301
  * @param {string} node - The unique identifier of the node.
1302
+ * @param {string[]} [nodes=[]] - The list of node IDs to check.
1301
1303
  * @returns {void}
1302
1304
  * @private
1303
1305
  */
@@ -1311,6 +1313,16 @@ export declare class TreeView extends Component<HTMLElement> implements INotifyP
1311
1313
  * @returns {void}
1312
1314
  * @private
1313
1315
  */
1316
+ /**
1317
+ * Checks whether the checkedNodes entered are valid and sets the valid checkedNodes while changing via setmodel(for hierarchical DS)
1318
+ *
1319
+ * @param {Object[]} childItems - The child items to check.
1320
+ * @param {string} node - The node to set the check state for.
1321
+ * @param {Object} [treeData] - The optional tree data.
1322
+ * @param {string[]} [nodes=[]] - The list of node IDs to check.
1323
+ * @returns {void}
1324
+ * @private
1325
+ */
1314
1326
  private setChildCheckState;
1315
1327
  private setIndeterminate;
1316
1328
  private updatePosition;
@@ -801,7 +801,7 @@ var TreeView = /** @class */ (function (_super) {
801
801
  if (this.showCheckBox) {
802
802
  var checkboxEle = createCheckBox(this.createElement, true, { cssClass: this.touchClass });
803
803
  checkboxEle.classList.add(CHECKBOXWRAP);
804
- var icon = select('div.' + ICON, e.item);
804
+ var icon = select('div.' + EXPANDABLE + ', div.' + COLLAPSIBLE, e.item);
805
805
  var id = e.item.getAttribute('data-uid');
806
806
  e.item.childNodes[0].insertBefore(checkboxEle, e.item.childNodes[0].childNodes[isNOU(icon) ? 0 : 1]);
807
807
  var checkValue = getValue(e.fields.isChecked, e.curData);
@@ -1033,7 +1033,7 @@ var TreeView = /** @class */ (function (_super) {
1033
1033
  }
1034
1034
  count = childItems.length;
1035
1035
  }
1036
- if (this.autoCheck && this.showCheckBox) {
1036
+ if (this.autoCheck && this.showCheckBox && !(this.fields.dataSource instanceof DataManager)) {
1037
1037
  var selectedChildNodeDetails = this.getSelectedChildNodeDetails(dataUid_1);
1038
1038
  matchedChildNodes = selectedChildNodeDetails;
1039
1039
  oldChildCount = new DataManager(this.checkActionNodes)
@@ -1079,14 +1079,29 @@ var TreeView = /** @class */ (function (_super) {
1079
1079
  });
1080
1080
  };
1081
1081
  TreeView.prototype.ensureChildCheckState = function (element, e, isFromExpandAll) {
1082
+ var _this = this;
1082
1083
  if (!isNOU(element)) {
1083
1084
  var childElement = select('.' + PARENTITEM, element);
1084
1085
  var checkBoxes = void 0;
1085
1086
  if (!isNOU(childElement)) {
1087
+ var childCheck = Array.from(childElement.querySelectorAll('li'));
1086
1088
  checkBoxes = selectAll('.' + CHECKBOXWRAP, childElement);
1089
+ if (this.isFilter) {
1090
+ checkBoxes = Array.from(checkBoxes).filter(function (checkbox) {
1091
+ var dataUID = checkbox.closest('li').getAttribute('data-uid');
1092
+ return dataUID !== null && _this.checkedNodes.indexOf(dataUID) !== -1;
1093
+ });
1094
+ childCheck = Array.from(childCheck).filter(function (li) {
1095
+ var childIds = li.getAttribute('data-uid');
1096
+ return childIds !== null && _this.checkedNodes.indexOf(childIds) !== -1;
1097
+ });
1098
+ if (checkBoxes.length === 0) {
1099
+ checkBoxes = selectAll('.' + CHECKBOXWRAP, childElement);
1100
+ childCheck = Array.from(childElement.querySelectorAll('li'));
1101
+ }
1102
+ }
1087
1103
  var isChecked = element.getElementsByClassName(CHECKBOXFRAME)[0].classList.contains(CHECK);
1088
1104
  var parentCheck = element.getElementsByClassName(CHECKBOXFRAME)[0].classList.contains(INDETERMINATE);
1089
- var childCheck = childElement.querySelectorAll('li');
1090
1105
  var checkedState = void 0;
1091
1106
  for (var index = 0; index < checkBoxes.length; index++) {
1092
1107
  var childId = childCheck[parseInt(index.toString(), 10)].getAttribute('data-uid');
@@ -1149,7 +1164,7 @@ var TreeView = /** @class */ (function (_super) {
1149
1164
  ? nodes[parseInt(len.toString(), 10)].toString()
1150
1165
  : null;
1151
1166
  if (node !== '' && doCheck && node) {
1152
- this.setValidCheckedNode(node);
1167
+ this.setValidCheckedNode(node, nodes);
1153
1168
  this.dynamicCheckState(node, doCheck);
1154
1169
  }
1155
1170
  else if (this.checkedNodes.indexOf(node) !== -1 && node !== '' && !doCheck) {
@@ -2616,11 +2631,20 @@ var TreeView = /** @class */ (function (_super) {
2616
2631
  * @returns {void}
2617
2632
  */
2618
2633
  TreeView.prototype.ensureStateChange = function (li, doCheck) {
2634
+ var _this = this;
2619
2635
  var childElement = select('.' + PARENTITEM, li);
2620
2636
  var parentIndex = li.getAttribute('data-uid');
2621
2637
  var mapper = this.fields;
2622
2638
  if (this.dataType === 1 && this.autoCheck) {
2623
2639
  var resultData = new DataManager(this.treeData).executeLocal(new Query().where(mapper.parentID, 'equal', parentIndex, true));
2640
+ var childMatchesCheckedNodes = resultData.filter(function (item) {
2641
+ return _this.checkedNodes.indexOf(item[mapper.id].toString()) !== -1;
2642
+ }, this);
2643
+ if (this.checkedNodes.indexOf(parentIndex) !== -1 && childMatchesCheckedNodes.length !== resultData.length && this.isFilter) {
2644
+ if (childMatchesCheckedNodes.length > 0) {
2645
+ resultData = childMatchesCheckedNodes;
2646
+ }
2647
+ }
2624
2648
  for (var i = 0; i < resultData.length; i++) {
2625
2649
  var resultId = resultData[parseInt(i.toString(), 10)][this.fields.id]
2626
2650
  ? resultData[parseInt(i.toString(), 10)][this.fields.id].toString()
@@ -2685,6 +2709,13 @@ var TreeView = /** @class */ (function (_super) {
2685
2709
  else {
2686
2710
  var childItems = this.getChildNodes(this.treeData, parentIndex);
2687
2711
  if (childItems) {
2712
+ var filteredChildItems = childItems.filter(function (item) {
2713
+ var itemValue = String(item[Object.keys(item)[0]]);
2714
+ return _this.checkedNodes.indexOf(itemValue) !== -1;
2715
+ });
2716
+ if (filteredChildItems.length > 0 && childItems.length && this.isFilter) {
2717
+ childItems = filteredChildItems;
2718
+ }
2688
2719
  this.childStateChange(childItems, parentIndex, childElement, doCheck);
2689
2720
  }
2690
2721
  }
@@ -2878,6 +2909,12 @@ var TreeView = /** @class */ (function (_super) {
2878
2909
  TreeView.prototype.getFocusedNode = function () {
2879
2910
  var selectedItem;
2880
2911
  var fNode = select('.' + LISTITEM + '[tabindex="0"]', this.element);
2912
+ if (!isNOU(fNode)) {
2913
+ var ariaChecked = fNode.getAttribute('aria-checked');
2914
+ if (ariaChecked === 'mixed' || ariaChecked === 'false') {
2915
+ this.isFilter = false;
2916
+ }
2917
+ }
2881
2918
  if (isNOU(fNode)) {
2882
2919
  selectedItem = select('.' + LISTITEM, this.element);
2883
2920
  }
@@ -3750,7 +3787,7 @@ var TreeView = /** @class */ (function (_super) {
3750
3787
  }
3751
3788
  };
3752
3789
  TreeView.prototype.expandParent = function (dropLi) {
3753
- var dropIcon = select('div.' + ICON, dropLi);
3790
+ var dropIcon = select('div.' + EXPANDABLE + ', div.' + COLLAPSIBLE, dropLi);
3754
3791
  if (dropIcon && dropIcon.classList.contains(EXPANDABLE) && this.preventExpand !== true) {
3755
3792
  this.expandAction(dropLi, dropIcon, null);
3756
3793
  }
@@ -3769,7 +3806,7 @@ var TreeView = /** @class */ (function (_super) {
3769
3806
  if (isNOU(dropIcon)) {
3770
3807
  ListBase.generateIcon(this.createElement, dropLi, EXPANDABLE, this.listBaseOption);
3771
3808
  }
3772
- var icon = select('div.' + ICON, dropLi);
3809
+ var icon = select('div.' + EXPANDABLE + ', div.' + COLLAPSIBLE, dropLi);
3773
3810
  if (icon) {
3774
3811
  icon.classList.add('e-icon-expandable');
3775
3812
  }
@@ -3792,7 +3829,7 @@ var TreeView = /** @class */ (function (_super) {
3792
3829
  if (isNOU(dropIcon)) {
3793
3830
  ListBase.generateIcon(this.createElement, dropLi, COLLAPSIBLE, this.listBaseOption);
3794
3831
  }
3795
- var icon = select('div.' + ICON, dropLi);
3832
+ var icon = select('div.' + EXPANDABLE + ', div.' + COLLAPSIBLE, dropLi);
3796
3833
  if (icon) {
3797
3834
  removeClass([icon], EXPANDABLE);
3798
3835
  }
@@ -3806,6 +3843,12 @@ var TreeView = /** @class */ (function (_super) {
3806
3843
  this.addExpand(dropLi);
3807
3844
  this.trigger('nodeExpanded', this.getExpandEvent(dropLi, null));
3808
3845
  }
3846
+ var collapseIcon = select('div.' + COLLAPSIBLE, dropLi);
3847
+ if (!isNOU(dropUl) && collapseIcon && this.preventExpand) {
3848
+ removeClass([collapseIcon], COLLAPSIBLE);
3849
+ dropLi.setAttribute('aria-expanded', 'false');
3850
+ addClass([collapseIcon], EXPANDABLE);
3851
+ }
3809
3852
  return dropUl;
3810
3853
  };
3811
3854
  TreeView.prototype.updateElement = function (dragParentUl, dragParentLi) {
@@ -4131,7 +4174,7 @@ var TreeView = /** @class */ (function (_super) {
4131
4174
  if (!isNullOrUndefined(dropLi)) {
4132
4175
  dropIcon1 = select('div.' + ICON, dropLi);
4133
4176
  }
4134
- if (this.dataType === 1 && dropIcon1 && dropIcon1.classList.contains(EXPANDABLE) && !isNOU(this.element.offsetParent) && !this.element.offsetParent.parentElement.classList.contains('e-filemanager')) {
4177
+ if (this.dataType === 1 && dropIcon1 && dropIcon1.classList.contains(EXPANDABLE) && this.preventExpand && !isNOU(this.element.offsetParent) && !this.element.offsetParent.parentElement.classList.contains('e-filemanager')) {
4135
4178
  this.preventExpand = true;
4136
4179
  }
4137
4180
  if (this.dataType !== 1) {
@@ -4152,7 +4195,7 @@ var TreeView = /** @class */ (function (_super) {
4152
4195
  for (var i = 0; i < li.length; i++) {
4153
4196
  dropUl.insertBefore(li[parseInt(i.toString(), 10)], refNode);
4154
4197
  }
4155
- if (this.dataType === 1 && !isNullOrUndefined(dropLi) && !isNOU(this.element.offsetParent) && !this.element.offsetParent.parentElement.classList.contains('e-filemanager')) {
4198
+ if (this.dataType === 1 && !isNullOrUndefined(dropLi) && !this.preventExpand && !isNOU(this.element.offsetParent) && !this.element.offsetParent.parentElement.classList.contains('e-filemanager')) {
4156
4199
  this.preventExpand = false;
4157
4200
  var dropIcon = select('div.' + ICON, dropLi);
4158
4201
  if (dropIcon && dropIcon.classList.contains(EXPANDABLE) && (isNOU(args) || args.name !== 'nodeExpanding')) {
@@ -4165,7 +4208,7 @@ var TreeView = /** @class */ (function (_super) {
4165
4208
  for (var i = 0; i < li.length; i++) {
4166
4209
  dropUl.insertBefore(li[parseInt(i.toString(), 10)], refNode);
4167
4210
  }
4168
- if (this.dataType === 1 && !isNullOrUndefined(dropLi) && !isNOU(this.element.offsetParent) && !this.element.offsetParent.parentElement.classList.contains('e-filemanager')) {
4211
+ if (this.dataType === 1 && !isNullOrUndefined(dropLi) && !this.preventExpand && !isNOU(this.element.offsetParent) && !this.element.offsetParent.parentElement.classList.contains('e-filemanager')) {
4169
4212
  this.preventExpand = false;
4170
4213
  var dropIcon = select('div.' + ICON, dropLi);
4171
4214
  if (dropIcon && dropIcon.classList.contains(EXPANDABLE) && (isNOU(args) || args.name !== 'nodeExpanding')) {
@@ -4623,6 +4666,9 @@ var TreeView = /** @class */ (function (_super) {
4623
4666
  };
4624
4667
  TreeView.prototype.setCheckedNodes = function (nodes) {
4625
4668
  nodes = JSON.parse(JSON.stringify(nodes));
4669
+ if (nodes.length > 1 && typeof this.nodeChecked === 'function' && this.nodeChecked.length > 0) {
4670
+ this.isFilter = true;
4671
+ }
4626
4672
  this.uncheckAll(this.checkedNodes);
4627
4673
  this.setIndeterminate(nodes);
4628
4674
  if (nodes.length > 0) {
@@ -4633,15 +4679,17 @@ var TreeView = /** @class */ (function (_super) {
4633
4679
  * Checks whether the checkedNodes entered are valid and sets the valid checkedNodes while changing via setmodel
4634
4680
  *
4635
4681
  * @param {string} node - The unique identifier of the node.
4682
+ * @param {string[]} [nodes=[]] - The list of node IDs to check.
4636
4683
  * @returns {void}
4637
4684
  * @private
4638
4685
  */
4639
- TreeView.prototype.setValidCheckedNode = function (node) {
4686
+ TreeView.prototype.setValidCheckedNode = function (node, nodes) {
4687
+ if (nodes === void 0) { nodes = []; }
4640
4688
  if (this.dataType === 1) {
4641
4689
  var mapper = this.fields;
4642
4690
  var resultData = new DataManager(this.treeData).executeLocal(new Query().where(mapper.id, 'equal', node, true));
4643
4691
  if (resultData[0]) {
4644
- this.setChildCheckState(resultData, node, resultData[0]);
4692
+ this.setChildCheckState(resultData, node, resultData[0], nodes);
4645
4693
  if (this.autoCheck) {
4646
4694
  var parent_4 = resultData[0][this.fields.parentID] ? resultData[0][this.fields.parentID].toString() : null;
4647
4695
  var childNodes = this.getChildNodes(this.treeData, parent_4);
@@ -4667,7 +4715,7 @@ var TreeView = /** @class */ (function (_super) {
4667
4715
  }
4668
4716
  var childItems = getValue(this.fields.child.toString(), this.treeData[parseInt(a.toString(), 10)]);
4669
4717
  if (childItems) {
4670
- this.setChildCheckState(childItems, node, this.treeData[parseInt(a.toString(), 10)]);
4718
+ this.setChildCheckState(childItems, node, this.treeData[parseInt(a.toString(), 10)], nodes);
4671
4719
  }
4672
4720
  }
4673
4721
  }
@@ -4681,7 +4729,18 @@ var TreeView = /** @class */ (function (_super) {
4681
4729
  * @returns {void}
4682
4730
  * @private
4683
4731
  */
4684
- TreeView.prototype.setChildCheckState = function (childItems, node, treeData) {
4732
+ /**
4733
+ * Checks whether the checkedNodes entered are valid and sets the valid checkedNodes while changing via setmodel(for hierarchical DS)
4734
+ *
4735
+ * @param {Object[]} childItems - The child items to check.
4736
+ * @param {string} node - The node to set the check state for.
4737
+ * @param {Object} [treeData] - The optional tree data.
4738
+ * @param {string[]} [nodes=[]] - The list of node IDs to check.
4739
+ * @returns {void}
4740
+ * @private
4741
+ */
4742
+ TreeView.prototype.setChildCheckState = function (childItems, node, treeData, nodes) {
4743
+ if (nodes === void 0) { nodes = []; }
4685
4744
  var checkedParent;
4686
4745
  var count = 0;
4687
4746
  if (this.dataType === 1) {
@@ -4701,7 +4760,8 @@ var TreeView = /** @class */ (function (_super) {
4701
4760
  this.checkDisabledState(node);
4702
4761
  }
4703
4762
  var subChildItems = this.getChildNodes(this.treeData, checkNode);
4704
- if (subChildItems) {
4763
+ var isParentNodeCheck = (nodes.length === 1 && nodes[0] === checkNode);
4764
+ if (subChildItems.length === node.length || isParentNodeCheck) {
4705
4765
  this.setChildCheckState(subChildItems, node, treeData);
4706
4766
  }
4707
4767
  }
@@ -4712,8 +4772,10 @@ var TreeView = /** @class */ (function (_super) {
4712
4772
  }
4713
4773
  for (var index = 0; index < childItems.length; index++) {
4714
4774
  var checkedChild = childItems[parseInt(index.toString(), 10)][this.fields.id] ? childItems[parseInt(index.toString(), 10)][this.fields.id].toString() : '';
4775
+ var isParentNodeCheck = ([node].length === 1 && nodes.length === 0);
4715
4776
  if (treeData && checkedParent && this.autoCheck) {
4716
- if (this.checkedNodes.indexOf(checkedParent) !== -1 && this.checkedNodes.indexOf(checkedChild) === -1) {
4777
+ if (this.checkedNodes.indexOf(checkedParent) !== -1 && this.checkedNodes.indexOf(checkedChild) === -1
4778
+ && (checkedChild === node || isParentNodeCheck)) {
4717
4779
  this.checkDisabledState(checkedChild, childItems[index]);
4718
4780
  }
4719
4781
  }
@@ -4735,7 +4797,7 @@ var TreeView = /** @class */ (function (_super) {
4735
4797
  };
4736
4798
  TreeView.prototype.setIndeterminate = function (nodes) {
4737
4799
  for (var i = 0; i < nodes.length; i++) {
4738
- this.setValidCheckedNode(nodes[parseInt(i.toString(), 10)]);
4800
+ this.setValidCheckedNode(nodes[parseInt(i.toString(), 10)], nodes);
4739
4801
  }
4740
4802
  };
4741
4803
  TreeView.prototype.updatePosition = function (id, newData, isRefreshChild, childValue) {
@@ -7261,8 +7261,7 @@ ejs-sidebar {
7261
7261
 
7262
7262
  .e-sidebar-overlay {
7263
7263
  opacity: 0.5;
7264
- -webkit-backdrop-filter: blur(2px);
7265
- backdrop-filter: blur(2px);
7264
+ backdrop-filter: blur(2px);
7266
7265
  position: fixed;
7267
7266
  width: 100%;
7268
7267
  }
@@ -9391,8 +9391,7 @@ ejs-sidebar {
9391
9391
 
9392
9392
  .e-sidebar-overlay {
9393
9393
  opacity: 0.5;
9394
- -webkit-backdrop-filter: blur(2px);
9395
- backdrop-filter: blur(2px);
9394
+ backdrop-filter: blur(2px);
9396
9395
  position: fixed;
9397
9396
  width: 100%;
9398
9397
  }
@@ -197,8 +197,7 @@ ejs-sidebar {
197
197
 
198
198
  .e-sidebar-overlay {
199
199
  opacity: 0.5;
200
- -webkit-backdrop-filter: blur(2px);
201
- backdrop-filter: blur(2px);
200
+ backdrop-filter: blur(2px);
202
201
  position: fixed;
203
202
  width: 100%;
204
203
  }