onSelectNodeChildren method
void
onSelectNodeChildren(
- TreeNode node
)
Implementation
void onSelectNodeChildren(TreeNode node) {
if (node.children.isEmpty) {
node.isCheck = !(node.isCheck ?? false);
}
if (node.children.isNotEmpty && node.parent != null) {
final allSelected = node.children.every((e) {
return e.isCheck == true;
});
if (allSelected) {
node.isCheck = true;
} else {
if (node.children.every((e) => e.isCheck == false)) {
node.isCheck = false;
} else {
node.isCheck = null;
}
}
}
if (node.parent != null) {
onSelectNodeChildren(node.parent!);
} else {
final allSelected = node.children.every((e) {
return e.isCheck == true;
});
if (allSelected) {
node.isCheck = true;
} else {
if (node.children.every((e) => e.isCheck == false)) {
node.isCheck = false;
} else {
node.isCheck = null;
}
}
}
emit(state.copyWith(rootNodes: state.rootNodes));
}