@syncfusion/ej2-navigations 27.2.2 → 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.
- package/dist/ej2-navigations.min.js +2 -2
- package/dist/ej2-navigations.umd.min.js +2 -2
- package/dist/ej2-navigations.umd.min.js.map +1 -1
- package/dist/es6/ej2-navigations.es2015.js +70 -12
- package/dist/es6/ej2-navigations.es2015.js.map +1 -1
- package/dist/es6/ej2-navigations.es5.js +72 -10
- package/dist/es6/ej2-navigations.es5.js.map +1 -1
- package/dist/global/ej2-navigations.min.js +2 -2
- package/dist/global/ej2-navigations.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +6 -6
- package/src/common/menu-base.js +4 -0
- package/src/tab/tab.js +2 -0
- package/src/treeview/treeview.d.ts +12 -0
- package/src/treeview/treeview.js +66 -10
|
@@ -3208,6 +3208,10 @@ let MenuBase = class MenuBase extends Component {
|
|
|
3208
3208
|
li = this.createItems(iitems).children[idx];
|
|
3209
3209
|
const ul = this.isMenu ? select('.e-menu-parent', uls[navIdx.length]) : uls[navIdx.length];
|
|
3210
3210
|
ul.insertBefore(li, ul.children[idx]);
|
|
3211
|
+
if (i === items.length - 1 && !this.isMenu && ul.style.display === 'block') {
|
|
3212
|
+
this.setPosition(null, ul, parseFloat(ul.style.top), parseFloat(ul.style.left));
|
|
3213
|
+
ul.style.display = 'block';
|
|
3214
|
+
}
|
|
3211
3215
|
}
|
|
3212
3216
|
}
|
|
3213
3217
|
}
|
|
@@ -9115,11 +9119,13 @@ let Tab = class Tab extends Component {
|
|
|
9115
9119
|
else {
|
|
9116
9120
|
this.dragItem.querySelector('.' + CLS_WRAP).style.visibility = '';
|
|
9117
9121
|
removeClass([this.tbItems.querySelector('.' + CLS_INDICATOR)], CLS_HIDDEN$1);
|
|
9122
|
+
this.droppedIndex = isNullOrUndefined(this.droppedIndex) ? this.getEleIndex(this.dragItem) : this.droppedIndex;
|
|
9118
9123
|
this.selectTab(this.droppedIndex, null, true);
|
|
9119
9124
|
}
|
|
9120
9125
|
}
|
|
9121
9126
|
});
|
|
9122
9127
|
this.dragItem = null;
|
|
9128
|
+
this.droppedIndex = null;
|
|
9123
9129
|
}
|
|
9124
9130
|
/**
|
|
9125
9131
|
* Enables or disables the specified Tab item. On passing value as `false`, the item will be disabled.
|
|
@@ -10874,10 +10880,24 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
10874
10880
|
const childElement = select('.' + PARENTITEM, element);
|
|
10875
10881
|
let checkBoxes;
|
|
10876
10882
|
if (!isNullOrUndefined(childElement)) {
|
|
10883
|
+
let childCheck = Array.from(childElement.querySelectorAll('li'));
|
|
10877
10884
|
checkBoxes = selectAll('.' + CHECKBOXWRAP, childElement);
|
|
10885
|
+
if (this.isFilter) {
|
|
10886
|
+
checkBoxes = Array.from(checkBoxes).filter((checkbox) => {
|
|
10887
|
+
const dataUID = checkbox.closest('li').getAttribute('data-uid');
|
|
10888
|
+
return dataUID !== null && this.checkedNodes.indexOf(dataUID) !== -1;
|
|
10889
|
+
});
|
|
10890
|
+
childCheck = Array.from(childCheck).filter((li) => {
|
|
10891
|
+
const childIds = li.getAttribute('data-uid');
|
|
10892
|
+
return childIds !== null && this.checkedNodes.indexOf(childIds) !== -1;
|
|
10893
|
+
});
|
|
10894
|
+
if (checkBoxes.length === 0) {
|
|
10895
|
+
checkBoxes = selectAll('.' + CHECKBOXWRAP, childElement);
|
|
10896
|
+
childCheck = Array.from(childElement.querySelectorAll('li'));
|
|
10897
|
+
}
|
|
10898
|
+
}
|
|
10878
10899
|
const isChecked = element.getElementsByClassName(CHECKBOXFRAME)[0].classList.contains(CHECK);
|
|
10879
10900
|
const parentCheck = element.getElementsByClassName(CHECKBOXFRAME)[0].classList.contains(INDETERMINATE);
|
|
10880
|
-
const childCheck = childElement.querySelectorAll('li');
|
|
10881
10901
|
let checkedState;
|
|
10882
10902
|
for (let index = 0; index < checkBoxes.length; index++) {
|
|
10883
10903
|
const childId = childCheck[parseInt(index.toString(), 10)].getAttribute('data-uid');
|
|
@@ -10940,7 +10960,7 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
10940
10960
|
? nodes[parseInt(len.toString(), 10)].toString()
|
|
10941
10961
|
: null;
|
|
10942
10962
|
if (node !== '' && doCheck && node) {
|
|
10943
|
-
this.setValidCheckedNode(node);
|
|
10963
|
+
this.setValidCheckedNode(node, nodes);
|
|
10944
10964
|
this.dynamicCheckState(node, doCheck);
|
|
10945
10965
|
}
|
|
10946
10966
|
else if (this.checkedNodes.indexOf(node) !== -1 && node !== '' && !doCheck) {
|
|
@@ -12390,7 +12410,15 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
12390
12410
|
const parentIndex = li.getAttribute('data-uid');
|
|
12391
12411
|
const mapper = this.fields;
|
|
12392
12412
|
if (this.dataType === 1 && this.autoCheck) {
|
|
12393
|
-
|
|
12413
|
+
let resultData = new DataManager(this.treeData).executeLocal(new Query().where(mapper.parentID, 'equal', parentIndex, true));
|
|
12414
|
+
const childMatchesCheckedNodes = resultData.filter((item) => {
|
|
12415
|
+
return this.checkedNodes.indexOf(item[mapper.id].toString()) !== -1;
|
|
12416
|
+
}, this);
|
|
12417
|
+
if (this.checkedNodes.indexOf(parentIndex) !== -1 && childMatchesCheckedNodes.length !== resultData.length && this.isFilter) {
|
|
12418
|
+
if (childMatchesCheckedNodes.length > 0) {
|
|
12419
|
+
resultData = childMatchesCheckedNodes;
|
|
12420
|
+
}
|
|
12421
|
+
}
|
|
12394
12422
|
for (let i = 0; i < resultData.length; i++) {
|
|
12395
12423
|
const resultId = resultData[parseInt(i.toString(), 10)][this.fields.id]
|
|
12396
12424
|
? resultData[parseInt(i.toString(), 10)][this.fields.id].toString()
|
|
@@ -12453,8 +12481,15 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
12453
12481
|
}
|
|
12454
12482
|
}
|
|
12455
12483
|
else {
|
|
12456
|
-
|
|
12484
|
+
let childItems = this.getChildNodes(this.treeData, parentIndex);
|
|
12457
12485
|
if (childItems) {
|
|
12486
|
+
const filteredChildItems = childItems.filter((item) => {
|
|
12487
|
+
const itemValue = String(item[Object.keys(item)[0]]);
|
|
12488
|
+
return this.checkedNodes.indexOf(itemValue) !== -1;
|
|
12489
|
+
});
|
|
12490
|
+
if (filteredChildItems.length > 0 && childItems.length && this.isFilter) {
|
|
12491
|
+
childItems = filteredChildItems;
|
|
12492
|
+
}
|
|
12458
12493
|
this.childStateChange(childItems, parentIndex, childElement, doCheck);
|
|
12459
12494
|
}
|
|
12460
12495
|
}
|
|
@@ -12648,6 +12683,12 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
12648
12683
|
getFocusedNode() {
|
|
12649
12684
|
let selectedItem;
|
|
12650
12685
|
const fNode = select('.' + LISTITEM + '[tabindex="0"]', this.element);
|
|
12686
|
+
if (!isNullOrUndefined(fNode)) {
|
|
12687
|
+
const ariaChecked = fNode.getAttribute('aria-checked');
|
|
12688
|
+
if (ariaChecked === 'mixed' || ariaChecked === 'false') {
|
|
12689
|
+
this.isFilter = false;
|
|
12690
|
+
}
|
|
12691
|
+
}
|
|
12651
12692
|
if (isNullOrUndefined(fNode)) {
|
|
12652
12693
|
selectedItem = select('.' + LISTITEM, this.element);
|
|
12653
12694
|
}
|
|
@@ -13514,7 +13555,7 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
13514
13555
|
}
|
|
13515
13556
|
}
|
|
13516
13557
|
expandParent(dropLi) {
|
|
13517
|
-
const dropIcon = select('div.' +
|
|
13558
|
+
const dropIcon = select('div.' + EXPANDABLE + ', div.' + COLLAPSIBLE, dropLi);
|
|
13518
13559
|
if (dropIcon && dropIcon.classList.contains(EXPANDABLE) && this.preventExpand !== true) {
|
|
13519
13560
|
this.expandAction(dropLi, dropIcon, null);
|
|
13520
13561
|
}
|
|
@@ -14386,6 +14427,9 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
14386
14427
|
}
|
|
14387
14428
|
setCheckedNodes(nodes) {
|
|
14388
14429
|
nodes = JSON.parse(JSON.stringify(nodes));
|
|
14430
|
+
if (nodes.length > 1 && typeof this.nodeChecked === 'function' && this.nodeChecked.length > 0) {
|
|
14431
|
+
this.isFilter = true;
|
|
14432
|
+
}
|
|
14389
14433
|
this.uncheckAll(this.checkedNodes);
|
|
14390
14434
|
this.setIndeterminate(nodes);
|
|
14391
14435
|
if (nodes.length > 0) {
|
|
@@ -14396,15 +14440,16 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
14396
14440
|
* Checks whether the checkedNodes entered are valid and sets the valid checkedNodes while changing via setmodel
|
|
14397
14441
|
*
|
|
14398
14442
|
* @param {string} node - The unique identifier of the node.
|
|
14443
|
+
* @param {string[]} [nodes=[]] - The list of node IDs to check.
|
|
14399
14444
|
* @returns {void}
|
|
14400
14445
|
* @private
|
|
14401
14446
|
*/
|
|
14402
|
-
setValidCheckedNode(node) {
|
|
14447
|
+
setValidCheckedNode(node, nodes = []) {
|
|
14403
14448
|
if (this.dataType === 1) {
|
|
14404
14449
|
const mapper = this.fields;
|
|
14405
14450
|
const resultData = new DataManager(this.treeData).executeLocal(new Query().where(mapper.id, 'equal', node, true));
|
|
14406
14451
|
if (resultData[0]) {
|
|
14407
|
-
this.setChildCheckState(resultData, node, resultData[0]);
|
|
14452
|
+
this.setChildCheckState(resultData, node, resultData[0], nodes);
|
|
14408
14453
|
if (this.autoCheck) {
|
|
14409
14454
|
const parent = resultData[0][this.fields.parentID] ? resultData[0][this.fields.parentID].toString() : null;
|
|
14410
14455
|
const childNodes = this.getChildNodes(this.treeData, parent);
|
|
@@ -14430,7 +14475,7 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
14430
14475
|
}
|
|
14431
14476
|
const childItems = getValue(this.fields.child.toString(), this.treeData[parseInt(a.toString(), 10)]);
|
|
14432
14477
|
if (childItems) {
|
|
14433
|
-
this.setChildCheckState(childItems, node, this.treeData[parseInt(a.toString(), 10)]);
|
|
14478
|
+
this.setChildCheckState(childItems, node, this.treeData[parseInt(a.toString(), 10)], nodes);
|
|
14434
14479
|
}
|
|
14435
14480
|
}
|
|
14436
14481
|
}
|
|
@@ -14444,7 +14489,17 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
14444
14489
|
* @returns {void}
|
|
14445
14490
|
* @private
|
|
14446
14491
|
*/
|
|
14447
|
-
|
|
14492
|
+
/**
|
|
14493
|
+
* Checks whether the checkedNodes entered are valid and sets the valid checkedNodes while changing via setmodel(for hierarchical DS)
|
|
14494
|
+
*
|
|
14495
|
+
* @param {Object[]} childItems - The child items to check.
|
|
14496
|
+
* @param {string} node - The node to set the check state for.
|
|
14497
|
+
* @param {Object} [treeData] - The optional tree data.
|
|
14498
|
+
* @param {string[]} [nodes=[]] - The list of node IDs to check.
|
|
14499
|
+
* @returns {void}
|
|
14500
|
+
* @private
|
|
14501
|
+
*/
|
|
14502
|
+
setChildCheckState(childItems, node, treeData, nodes = []) {
|
|
14448
14503
|
let checkedParent;
|
|
14449
14504
|
let count = 0;
|
|
14450
14505
|
if (this.dataType === 1) {
|
|
@@ -14464,7 +14519,8 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
14464
14519
|
this.checkDisabledState(node);
|
|
14465
14520
|
}
|
|
14466
14521
|
const subChildItems = this.getChildNodes(this.treeData, checkNode);
|
|
14467
|
-
|
|
14522
|
+
const isParentNodeCheck = (nodes.length === 1 && nodes[0] === checkNode);
|
|
14523
|
+
if (subChildItems.length === node.length || isParentNodeCheck) {
|
|
14468
14524
|
this.setChildCheckState(subChildItems, node, treeData);
|
|
14469
14525
|
}
|
|
14470
14526
|
}
|
|
@@ -14475,8 +14531,10 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
14475
14531
|
}
|
|
14476
14532
|
for (let index = 0; index < childItems.length; index++) {
|
|
14477
14533
|
const checkedChild = childItems[parseInt(index.toString(), 10)][this.fields.id] ? childItems[parseInt(index.toString(), 10)][this.fields.id].toString() : '';
|
|
14534
|
+
const isParentNodeCheck = ([node].length === 1 && nodes.length === 0);
|
|
14478
14535
|
if (treeData && checkedParent && this.autoCheck) {
|
|
14479
|
-
if (this.checkedNodes.indexOf(checkedParent) !== -1 && this.checkedNodes.indexOf(checkedChild) === -1
|
|
14536
|
+
if (this.checkedNodes.indexOf(checkedParent) !== -1 && this.checkedNodes.indexOf(checkedChild) === -1
|
|
14537
|
+
&& (checkedChild === node || isParentNodeCheck)) {
|
|
14480
14538
|
this.checkDisabledState(checkedChild, childItems[index]);
|
|
14481
14539
|
}
|
|
14482
14540
|
}
|
|
@@ -14498,7 +14556,7 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
14498
14556
|
}
|
|
14499
14557
|
setIndeterminate(nodes) {
|
|
14500
14558
|
for (let i = 0; i < nodes.length; i++) {
|
|
14501
|
-
this.setValidCheckedNode(nodes[parseInt(i.toString(), 10)]);
|
|
14559
|
+
this.setValidCheckedNode(nodes[parseInt(i.toString(), 10)], nodes);
|
|
14502
14560
|
}
|
|
14503
14561
|
}
|
|
14504
14562
|
updatePosition(id, newData, isRefreshChild, childValue) {
|