rc-tree-select
Advanced tools
Comparing version 1.1.6 to 1.2.0
@@ -332,3 +332,4 @@ 'use strict'; | ||
extraInfo.checked = info.checked; | ||
extraInfo.allCheckedNodes = info.checkedNodes; | ||
// extraInfo.allCheckedNodes = info.checkedNodes; | ||
extraInfo.allCheckedNodes = (0, _util.flatToHierarchy)(info.checkedNodesPositions); | ||
} else { | ||
@@ -335,0 +336,0 @@ extraInfo.selected = info.selected; |
@@ -137,3 +137,3 @@ 'use strict'; | ||
}); | ||
posArr = (0, _util.filterMinPos)(posArr); | ||
posArr = (0, _util.filterMinPosition)(posArr); | ||
@@ -140,0 +140,0 @@ var filterChildren = {}; |
@@ -15,3 +15,4 @@ 'use strict'; | ||
exports.loopAllChildren = loopAllChildren; | ||
exports.filterMinPos = filterMinPos; | ||
exports.flatToHierarchy = flatToHierarchy; | ||
exports.filterMinPosition = filterMinPosition; | ||
exports.getTreeNodesStates = getTreeNodesStates; | ||
@@ -121,3 +122,39 @@ | ||
function filterMinPos(arr) { | ||
function flatToHierarchy(arr) { | ||
var hierarchyNodes = []; | ||
var levelObj = {}; | ||
arr.forEach(function (item) { | ||
var posLen = item.pos.split('-').length; | ||
if (!levelObj[posLen]) { | ||
levelObj[posLen] = []; | ||
} | ||
levelObj[posLen].push(item); | ||
}); | ||
var levelArr = Object.keys(levelObj).sort(function (a, b) { | ||
return b - a; | ||
}); | ||
levelArr.reduce(function (pre, cur) { | ||
if (cur && cur !== pre) { | ||
levelObj[pre].forEach(function (item) { | ||
var haveParent = false; | ||
levelObj[cur].forEach(function (ii) { | ||
if (isInclude(ii.pos.split('-'), item.pos.split('-'))) { | ||
haveParent = true; | ||
if (!ii.children) { | ||
ii.children = []; | ||
} | ||
ii.children.push(item); | ||
} | ||
}); | ||
if (!haveParent) { | ||
hierarchyNodes.push(item); | ||
} | ||
}); | ||
} | ||
return cur; | ||
}); | ||
return levelObj[levelArr[levelArr.length - 1]].concat(hierarchyNodes); | ||
} | ||
function filterMinPosition(arr) { | ||
var a = []; | ||
@@ -135,3 +172,3 @@ arr.forEach(function (item) { | ||
// console.log(filterMinPos(['0-0','0-1', '0-10', '0-0-1', '0-1-1', '0-10-0'])); | ||
// console.log(filterMinPosition(['0-1', '0-10', '0-0-1', '0-1-1', '0-10-0'])); | ||
@@ -227,5 +264,5 @@ function handleCheckState(obj, checkedPosArr, checkIt) { | ||
handleCheckState(treeNodesStates, filterMinPos(checkedPos.sort()), true); | ||
handleCheckState(treeNodesStates, filterMinPosition(checkedPos.sort()), true); | ||
return getCheckValues(treeNodesStates); | ||
} |
{ | ||
"name": "rc-tree-select", | ||
"version": "1.1.6", | ||
"version": "1.2.0", | ||
"description": "tree-select ui component for react", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
88145
2566