Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cascade deselection of prerequisite nodes #16

Closed
2 tasks done
juanmanual opened this issue Jul 14, 2019 · 3 comments
Closed
2 tasks done

Cascade deselection of prerequisite nodes #16

juanmanual opened this issue Jul 14, 2019 · 3 comments

Comments

@juanmanual
Copy link

juanmanual commented Jul 14, 2019

Whenever a prerequisite node is de-selected (current state set to anything other than 'selected' - usually 'unlocked'), its children still remain selected. This can be confusing because that node can then be unselected but cannot be selected again unless its prerequisite nodes are selected again.

If accepted, this issue would implement cascading behavior to the deselection of nodes. That is, it would be invalid for a node to be selected and its prerequisite node(s) not to be selected.

  • Add tests to verify cascading deselection is enforced
  • Change behavior in SkillNode to update the current state to not be 'selected' (and to be 'locked') if the current state of its parent is updated to no longer be 'selected'
@andrico1234
Copy link
Owner

I agree that this is a usability issue. I'd like to see your thoughts on implementation. Right now each node has only knowledge of its direct parent's Id and state, and nothing else, but each Node has knowledge of all its child nodes. I've got a few ideas on how to implement this, but I'd like to hear some of your ideas

@juanmanual
Copy link
Author

juanmanual commented Jul 15, 2019 via email

@andrico1234
Copy link
Owner

That sounds great, I'd love to see a WIP PR. As part of the issue, can you reference some performance testing you've performed, even from within the browser console.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants