My opinion is that toggling the checkbox should toggle the checkbox state for all children of the item. This is simple and easy to remember.
It would be great if we could also toggle the children too: for example, toggle Parent to give all the nodes checkboxes, then toggle the first Child to remove the checkbox from it and the first Grandchild.
A few counterarguments to this that we considered (we considered both sides):
Numbered lists work differently and do no propagate to grandchildren items.
Thatās also most general purpose editors work too, e.g. Dropbox Paper and Notion. Not saying Dynalist is the same as them, just asking if enough users see this behavior as the expected behavior.
Only let checklists add checkboxes to children, not grand and grandgrandchildren items, or;
Make it so you can toggle a children or grandchildren of a checklist to stop it from having checklist.
1 is simple, whereas 2 is more complicated but more flexible (it can achieve any composition of checkboxes you want, 1 canāt). So weāre trying to weigh the options.
Thanks Erica. I worded my idea poorly above. Although I wrote ātoggleā, I really meant āoverrideā. My suggestion is that when the user makes a parent item a checkbox, all its children become checkboxes (regardless of their previous state). And if the user makes a parent item a non-checkbox, all its children become non-checkboxes (again, regardless of their previous state). Much like the way completing an item works.
So thatās a long way of saying that I think your option 2 is a good solution.