[
https://issues.apache.org/jira/browse/TRINIDAD-1189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matthias Weßendorf updated TRINIDAD-1189:
-----------------------------------------
Resolution: Fixed
Fix Version/s: 1.0.10-core
1.2.10-core
Assignee: Matthias Weßendorf
Status: Resolved (was: Patch Available)
> Tree Expand All Handling
> ------------------------
>
> Key: TRINIDAD-1189
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1189
> Project: MyFaces Trinidad
> Issue Type: Improvement
> Components: Components
> Affects Versions: 1.2.9-core
> Environment: All
> Reporter: Kamran Kashanian
> Assignee: Matthias Weßendorf
> Fix For: 1.2.10-core, 1.0.10-core
>
> Attachments: expandall.1.2.9.1.patch, expandall.trunk.1.2.x.patch
>
>
> Submitting a patch for the issue below. (I assume three +1 votes for the
> proposal means approval)
> There is some code in the Trinidad UIXTree which is intended to prevent the
> user from doing an unbounded "Expand All" on large trees (see
> UIXTree.broadcast() method. Specifically HierarchyUtils.__handleBroadcast()).
> The code counts the number of newly expanded nodes and if it is > 100 then it
> counts the total number of nodes in the tree and if the total is also > 100,
> it prevents an expand all and only expands two levels.
> There are several issues with this:
> 1) This code is executed on every expand/collapse event and can be expensive.
> Counting 100 nodes in the RowKeySet and in the tree (see
> TableUtils._getSizeOfTree()) can force the model to do additional data
> fetches beyond what is currently displayed in the view port. Also the number
> 100 is completely arbitary.
> 2) There is no way to for this code to know if the user did an "Expand All"
> or just did something to cause 100 nodes to expand. For example "Expand All
> Below", or just select 100 nodes and do "Expand" from a menu. In these cases
> the user will get unexpcted results (only two levels will expand)
> 3) Preventing the user from doing an Expand All should really be part of
> application logic and has no place in the framework. Normally the application
> would display a warning and ask the user if they really want to do an expand
> all in response to a user action
> [Proposal]
> I would like to propose that this code be removed from UIXTree. I will submit
> a patch if there are no strong objections. This *is* a change in the
> Trinidad tree functionality, and I am not sure how it impacts current users.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.