Keyboard navigation for the RadTreeView control should neglect invisible nodes when deciding which node to select based on user navigation.
To know what I mean, please try the following:
- Navigate to the example at
http://demos.telerik.com/aspnet-ajax/treeview/examples/functionality/keyboard/defaultcs.aspx
- In the console of the developer tools of your browser, type the following:
$telerik.findTreeView("ctl00_ContentPlaceholder1_RadTreeView1").get_nodes().getNode(0).get_nodes().getNode(0).set_visible(false)
This will hide the "Calendar" tree node.
- Using your mouse, click on the "Mailbox - John Smith" root node.
- Press the ↓ key once. Notice how the selection disappears, while it should have gone to the "Contacts" node.
- Type the following in the console:
$telerik.findTreeView("ctl00_ContentPlaceholder1_RadTreeView1").get_selectedNode().get_visible()
The console prints "false" which means that the currently selected node is invisible, which is a wrong behaviour.
- Press ↓ once again, and the "Contacts" node will be selected.
This problem annoys me because I have a situation where I hide tree nodes based on what the user types in a filter text box. After the user filters the tree and tries to navigate using the keyboard, the procedure becomes weird.