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 displaying a non-modal "Table Configuration Pane" (TCP) popup to the ace:dataTable. The TCP popup can be used by the user to view and configure various ace:dataTable aspects in a single view.
ace:tableConfigPanel:
- A new ace:tableConfigPanel component will be created that can be associated to an ace:dataTable via a "for" attribute.
- The tableConfigPanel would render as an icon on the page, which when clicked would toggle the display of the TCP popup. If the icon is clicked after the TCP popup is displayed and the user has made edits to the configuration of the dataTable, it is handled identically as if the user had clicked the "Close" button in the TCP panel itself (prompted to Apply any pending changes first, etc.).
- ( This approach would allow the icon to be placed by the application, vs. being rendered automatically into the table header region ).
TCP Popup:
- Consists of a tabular display, with a row for each available dataTable column.
- The tabular display includes the following columns for each row:
1. Column Order:
- Is implied via the order the column-‐row appears in the table, row1=leftmost, row2=2nd from left, etc.
- Column order can be changed by clicking an up or down arrow button in the Column Order column, which will move the row up or down one line.
- Also displays a draggable widget (drag handle icon) for re-‐ordering columns in the table via vertical drag-‐and-‐drop of the widget itself.
2. Column Name:
- The name/label for the column (none-editable).
3. Column Visibility:
- Represented by a checkbox control, checked for visible, unchecked for invisible.
- Unchecked state (invisible) will also disable editing the other columns for this dataTable Column's row in the TCP.
4. Sort Criteria:
- disabled if column is not sortable.
- Up/Down sort arrows (ascending/descending) are displayed for each column's row in the table.
- Configuring the single or multi-column sort via clicking the arrows in each column works as described in ICE-xxxx (Support Multi-Column Sort), with the exception that the actual sort is not processed after each change, but instead only once after the TCP popup "Apply" button is clicked.
- In addition to the tabular display, the TCP panel will also include the following buttons in the bottom right:
1. "Clear Sort" - clears any defined sort criteria.
2. "Apply" - Applies any changes made to the dataTable configuration in the TCP panel since the TCP was displayed, or since the last "Apply" button was pressed. Note that the changes being applied should be presented to the server atomically, such that the required processing to reflect the changes (col visibility, col. order, multi-col sort, etc.) can be processed during the resulting render cycle.
3. "Close" - Closes / hides the TCP popup without applying any pending changes. If there are unapplied user edits pending, a modal confirmation dialog is displayed to confirm that the popup should be closed and the changes cancelled/lost.
ace:tableConfigPanel:
- A new ace:tableConfigPanel component will be created that can be associated to an ace:dataTable via a "for" attribute.
- The tableConfigPanel would render as an icon on the page, which when clicked would toggle the display of the TCP popup. If the icon is clicked after the TCP popup is displayed and the user has made edits to the configuration of the dataTable, it is handled identically as if the user had clicked the "Close" button in the TCP panel itself (prompted to Apply any pending changes first, etc.).
- ( This approach would allow the icon to be placed by the application, vs. being rendered automatically into the table header region ).
TCP Popup:
- Consists of a tabular display, with a row for each available dataTable column.
- The tabular display includes the following columns for each row:
1. Column Order:
- Is implied via the order the column-‐row appears in the table, row1=leftmost, row2=2nd from left, etc.
- Column order can be changed by clicking an up or down arrow button in the Column Order column, which will move the row up or down one line.
- Also displays a draggable widget (drag handle icon) for re-‐ordering columns in the table via vertical drag-‐and-‐drop of the widget itself.
2. Column Name:
- The name/label for the column (none-editable).
3. Column Visibility:
- Represented by a checkbox control, checked for visible, unchecked for invisible.
- Unchecked state (invisible) will also disable editing the other columns for this dataTable Column's row in the TCP.
4. Sort Criteria:
- disabled if column is not sortable.
- Up/Down sort arrows (ascending/descending) are displayed for each column's row in the table.
- Configuring the single or multi-column sort via clicking the arrows in each column works as described in ICE-xxxx (Support Multi-Column Sort), with the exception that the actual sort is not processed after each change, but instead only once after the TCP popup "Apply" button is clicked.
- In addition to the tabular display, the TCP panel will also include the following buttons in the bottom right:
1. "Clear Sort" - clears any defined sort criteria.
2. "Apply" - Applies any changes made to the dataTable configuration in the TCP panel since the TCP was displayed, or since the last "Apply" button was pressed. Note that the changes being applied should be presented to the server atomically, such that the required processing to reflect the changes (col visibility, col. order, multi-col sort, etc.) can be processed during the resulting render cycle.
3. "Close" - Closes / hides the TCP popup without applying any pending changes. If there are unapplied user edits pending, a modal confirmation dialog is displayed to confirm that the popup should be closed and the changes cancelled/lost.
Issue Links
- blocks
-
ICE-6997 New ace:dataTable Component
- Closed
-
ICE-7004 Support user-specified Column Visibility on ace:dataTable
- Closed
-
ICE-7006 Support user-specified Column Ordering on ace:dataTable
- Closed
-
ICE-7007 Support user-specified Multi-Column Sorting for ace:dataTable
- Closed
- depends on
-
ICE-7130 ace:TableConfigPanel - Column Visibility
- Closed
-
ICE-7131 ace:tableConfigPanel - Column Ordering
- Closed
Show 1 more links (1 depends on)
Skeleton added in r25261.