Eager tree, consistent pre-selection
Not selected
Not selected
Not selected
Selected
Selected
Selected
Indeterminate
Selected
Not selected
Eager tree, children pre-selection only
Not selected
Not selected
Not selected
Selected
Selected
Selected
Indeterminate
Selected
Not selected
Lazy tree, consistent pre-selection
Not selected
Not selected
Not selected
Selected
Selected
Selected
Indeterminate
Selected
Not selected
Lazy tree, inconsistent pre-selection
If different nodes receive inconsistent selection states as their input,
for instance an unselected parent with selected children,
we cannot know which one is correct.
For this lazy case, it means we simply keep the inconsistent state for each node, and rely on the app to fix it
at one point. This can be seen in the following demo by expanding nodes to cpompare parent and children state.
Indeterminate, I'm lazy and I take things literally
Not selected
Not selected
Unselected, I'm lazy and I take things literally
Selected
Selected
Selected, I'm lazy and I take things literally
Selected
Not selected
Larger declarative tree
{{node.name}}
{{child.name}}