Details
-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Component/s: ACE-Components
-
Labels:None
-
Environment:ICEfaces 2.1, ace:dataTable
-
Affects:Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial
Description
Add support for optionally nesting rows and/or arbitrary components under "expandable" ace:dataTable rows.
- Expandable dataTable rows would be supported in two modes:
1. Expanded-‐rows
- Expanded-rows would display more rows under the expanded row with matching columns and column widths.
- Each expanded-‐row column cell would also contain the same components as the rest of the rows in the table.
2. Expanded-‐panel
- Expanded-‐panel would behave like a panelCollapsible, where expanding the row would result in a "expanded-‐panel" being rendered/displayed under the row.
- The expanded panel could contain any arbitrary components as required, including another dataTable, tabSet, etc.
- The expandable row will support both a Server (dynamic) and Client (static) rendering mode:
- Server mode would result in the expanded content (rows or panel) not being rendered on the server (thus not in the component tree) until the row is expanded by the user. When the row is expanded, an ajax-‐submit occurs to the server, which renders the dataTable and expanded content and returns the delta-‐markup to the client.
- Client mode would pre-‐render the expanded content (thus always in the component tree). When the row is expanded, the client makes the pre-‐rendered content visible via JavaScript (without a server‐roundtrip).
- Expandable dataTable rows would be supported in two modes:
1. Expanded-‐rows
- Expanded-rows would display more rows under the expanded row with matching columns and column widths.
- Each expanded-‐row column cell would also contain the same components as the rest of the rows in the table.
2. Expanded-‐panel
- Expanded-‐panel would behave like a panelCollapsible, where expanding the row would result in a "expanded-‐panel" being rendered/displayed under the row.
- The expanded panel could contain any arbitrary components as required, including another dataTable, tabSet, etc.
- The expandable row will support both a Server (dynamic) and Client (static) rendering mode:
- Server mode would result in the expanded content (rows or panel) not being rendered on the server (thus not in the component tree) until the row is expanded by the user. When the row is expanded, an ajax-‐submit occurs to the server, which renders the dataTable and expanded content and returns the delta-‐markup to the client.
- Client mode would pre-‐render the expanded content (thus always in the component tree). When the row is expanded, the client makes the pre-‐rendered content visible via JavaScript (without a server‐roundtrip).
Issue Links
- blocks
-
ICE-6997 New ace:dataTable Component
- Closed
Dynamic row expansion operational with editing and all types of selection.
Static pre-rendered expansions unstarted.
Expanded rows don't keep their expanded state on server. This stops rendering expanded rows upon pagination return.