| Summary: | [Webapp] TOC should maintain selection when changing a filter | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Martin Oberhuber <mober.at+eclipse> | ||||
| Component: | User Assistance | Assignee: | Chris Goldthorpe <cgold> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | enhancement | ||||||
| Priority: | P3 | CC: | cgold, ChrisAustin, mober.at+eclipse, odandrad, susan, zhhaohh | ||||
| Version: | 3.6 | ||||||
| Target Milestone: | 3.6 M7 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | 76005, 223475 | ||||||
| Bug Blocks: | |||||||
| Attachments: |
|
||||||
|
Description
Martin Oberhuber
Initial thoughts as per bug 303105 comment 10: It's actually a non trivial piece of work because the DOM of the toc view contains only the nodes that are shown based on the active filter or were once shown and then collapsed. When you click on the expand button an Ajax call is made to the server. For everything you can do in the toc view there is a corresponding server side piece. Refiltering could cause any of the following to happen - new nodes to get added, nodes to get removed, leaf nodes to become branch nodes, branches to lose their leaves. One way to refilter would be to crawl the tree on the client side and for each node starting from the top ask the server what children that node has and whether each is a leaf or branch, fix up the children and keep working down until all the branches had been handled. Another way would be to have a list of nodes which were expanded before the filter operation and after reopening the tree expand the same set of children. A poor man's solution which would be better than nothing would be to remember the selected node and make sure that was selected after the rescope (if it was in scope). This poor man's solution would be good enough for me. Created attachment 162477 [details]
Patch
Patch committed to HEAD, Fixed |