feat(awe-client-angular): replace angular-ui-grid with a modern grid component
Problem to solve
angular-ui-grid 4.12 is unmaintained and is the component most tightly coupled to jQuery, with logic scattered across services/grid/*.js. It is also the heaviest-weight component in any AWE application, so its quality shapes the perception of the whole interface.
Further details
Impact on existing AWE 4 products (level 3 - High): the XML contract for the grid and its columns is kept intact. A legacy-grid mode is offered during 5.0 for projects with custom cell templates or CSS, plus an equivalence matrix for the most-used grid events and actions.
Effort: XL (3-6 weeks) Delivery phase: 2 (major version, controlled breakage) Development order: 20 (Block 2 - Frontend)
Proposal
- Run a comparative spike between AG Grid Community and Tabulator covering inline editing, tree data, bulk operations, header filters, virtualization and export
- Implement the chosen grid with full functional parity with the current grid
- Keep the XML contract for grid and column descriptors unchanged
- Ship a
legacy-gridcompatibility mode for the 5.0 line - Publish an equivalence matrix for grid events and actions
What does success look like, and how can we measure that?
- The spike report compares AG Grid Community and Tabulator against the six listed criteria and recommends one
- The new grid reaches functional parity with angular-ui-grid on editing, filtering, virtualization and export
- Existing grid/column XML descriptors render without modification
-
legacy-gridmode is available for the 5.0 release and documented