Details
Description
Previously, ajax tree-view code would load new rows when you expanded a node the first time. Subsequently collapsing that row just hid the existing rows from view. Expanding again exposed those rows but did not fetch them from the server again.
Now that partial refresh removes DOM nodes that aren't in the response, this means that an HtmlTable ajax treeview will have any hidden rows cleaned up on the next request. The functionality that prevented an ajax tree from getting child rows twice now breaks the behavior because partial refresh cleans up those child rows on its next request (when they are hidden). So the solution is to remove rows when they are hidden immediately and always fetch them from the server anew when a row is expanded.