Select All in Swing Tables
Contents
- 1 Status
- 2 Contributors
- 3 Overview
- 4 Purpose
- 5 References
- 6 Design Considerations
- 7 Glossary
- 8 Functional Requirements
- 9 Functional team
- 10 Acceptance criteria
- 11 QA and test cases
- 12 Development infrastructure
- 13 Technical Requirements
- 14 Technical team
- 15 Data Requirements
- 16 Non-Functional Requirements
- 17 Open Discussion Items
- 18 Closed Discussion Items
Status
November 03, 2013: Feature is ready for integration.
Contributors
Overview
Feature Request: https://adempiere.atlassian.net/browse/ADEMPIERE-241
The feature enhancement to the miniTable adds a select-all feature to the Swing tables similarly to the implementation in ZK. Clicking this checkbox in the header will select or deselect all the records in the table. This works across all implementations of the miniTable including info forms (product multi-select), create from forms (bank statements), payment selection, GL reconciliation and others.
Currently, only forms that had a "select all" button can select all.
Purpose
Purpose of the fix is:
- to enable select all functionality in any table that has read/write IDColumn or boolean colums with multi-select capability.
References
Design Considerations
The table headers currently serve the function of identifying the columns and providing sort capabilities. The header of the selection column will behave differently and will not have sort capability. Clicking the column header will toggle the select/deselect and affect all rows in the table accordingly.
Assumptions
Dependencies
Constraints
The changes will not impact any existing functionality other than the sort of the selection columns.
Glossary
Functional Requirements
Functional team
- Volunteers for analyzing:
- Result of analysis:
User roles & profiles
No impact
Business process definition
Can now use info fields to look up info on closed records. Example: looking at an invoice that has an overdue payment, the business partner field will identify the business partner. Clicking the info button in the field will display info about that business partner including contact info.
User stories
Functional requirements based on business processes
User Interface Mockups
Acceptance criteria
All current processes and documents that use tables function as expected.
QA and test cases
The swing implementation was tested by hand.
Basic testing involves:
- Open a form that has a table and that uses multi-selection. Search for and display some data.
- Verify that the selection column has a checkbox in the header.
- Click the header checkbox and verify that all records are selected
- Click the header again and verify that all records are deselected
- Click the header again to select all records and then deselect any record in a row in the table. The header checkbox should also be deselected.
- Repeat the above steps, click on other areas of the rows to select/deselect records and verify that the header checkbox is deselected and remains deselected.
- Select all the rows and verify that the form processes the data correctly.
Development infrastructure
Technical Requirements
Technical team
- Volunteers for analyzing:
- Result of analysis: