Feature #29474 » feature_29474.diff
t3lib/js/extjs/tree/tree.js | ||
---|---|---|
checkedNode.getUI().removeClass('complete');
|
||
}
|
||
var selected = [];
|
||
|
||
// if node has been checked -> check all parents in cascade
|
||
if (checked) {
|
||
TYPO3.Components.Tree.checkCascade(checkedNode);
|
||
}
|
||
// if node has been un-checked -> un-check all children in cascade
|
||
else {
|
||
TYPO3.Components.Tree.uncheckCascade(checkedNode);
|
||
}
|
||
|
||
this.root.cascade(function(node) {
|
||
if (node.ui.isChecked()) {
|
||
selected.push(node.attributes.uid);
|
||
}
|
||
});
|
||
|
||
this.countSelectedNodes = selected.length;
|
||
Ext.fly('treeinput' + this.id).dom.value = selected.join(',');
|
||
eval(this.onChange);
|
||
this.resumeEvents();
|
||
};
|
||
/**
|
||
* Select node in cascade
|
||
*
|
||
* @param {Object} Ext.tree.TreeNode
|
||
*/
|
||
TYPO3.Components.Tree.checkCascade = function(node) {
|
||
|
||
if (node.isRoot != true) {
|
||
node.parentNode.ui.toggleCheck(true);
|
||
|
||
// Recursive call until the tree is traversed.
|
||
TYPO3.Components.Tree.checkCascade(node.parentNode);
|
||
}
|
||
}
|
||
/**
|
||
* Disselect node in cascade when
|
||
*
|
||
* @param {Object} Ext.tree.TreeNode
|
||
*/
|
||
TYPO3.Components.Tree.uncheckCascade = function(node) {
|
||
|
||
node.cascade(function(childNode) {
|
||
if (childNode != node) {
|
||
childNode.ui.toggleCheck(false);
|
||
|
||
if (childNode.childNodes.length > 0) {
|
||
// Recursive call until the tree is traversed.
|
||
TYPO3.Components.Tree.uncheckCascade(childNode);
|
||
}
|
||
}
|
||
});
|
||
}
|