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
-
Assignee Priority:P1
-
Affects:Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial
Description
Add optional support for user‐controlled ordering of ace:dataTable columns via:
- Direct dragging of table column header to new location in table, similar to http://developer.yahoo.com/yui/examples/datatable/dt_colshowhide_source.html
- Changing column order in popup "Table Config. Panel" (seeICE-7005).
- User ordered columns should optionally be persisted to backing‐beans on the server for possible retention between user sessions.
- Ideally, changing column order would not require a server-roundtrip, but instead be performed on the client. For example, if the option is not to be persisted to backing beans, drag-‐drop should be on client side. However, the dataTable implementation currently does not support the notion of a client-‐side column order. This may require that the entire dataTable itself be rendered dynamically on the client (via JavaScript), which would result in long rendering delays when large dataTables are rendered. Thus, it may not be feasible to support purely client-‐side column ordering, but this suggestion will be taken under consideration during implementation of this feature. The alternative is that the table row is reordered via client action, then an ajax submit occurs, the table is re-‐rendered with the correct column mapping on the server, and the resulting changed markup is sent back to the browser and dynamically applied to the DOM. The ajax-submit would limit execution and rendering to the dataTable in question.
- Direct dragging of table column header to new location in table, similar to http://developer.yahoo.com/yui/examples/datatable/dt_colshowhide_source.html
- Changing column order in popup "Table Config. Panel" (see
- User ordered columns should optionally be persisted to backing‐beans on the server for possible retention between user sessions.
- Ideally, changing column order would not require a server-roundtrip, but instead be performed on the client. For example, if the option is not to be persisted to backing beans, drag-‐drop should be on client side. However, the dataTable implementation currently does not support the notion of a client-‐side column order. This may require that the entire dataTable itself be rendered dynamically on the client (via JavaScript), which would result in long rendering delays when large dataTables are rendered. Thus, it may not be feasible to support purely client-‐side column ordering, but this suggestion will be taken under consideration during implementation of this feature. The alternative is that the table row is reordered via client action, then an ajax submit occurs, the table is re-‐rendered with the correct column mapping on the server, and the resulting changed markup is sent back to the browser and dynamically applied to the DOM. The ajax-submit would limit execution and rendering to the dataTable in question.
Approach will be to implement the Table Config. Panel approach first, then add the D&D interactive mode after.