Skip to main content

Decision Logs

PAR-425: Data Table Grid Component for Angular 8

StatusSTARTED
ImpactLOW
DriverJohn Doe
ApproverSmith
ContributorsBob
InformedYes
Due date11/30/2022
OutcomeOption 1

Background

We need tables to be more complex to support filtering, sorting, pagination, search, selecting for batch actions, etc.

This decision log is to decide on a suitable data table component for Angular 8. We will be listing all pros and cons of specific components available and any other details below.

Relevant data

Features needed

  • Pagination
  • Sorting
  • Filtering
  • Search
  • Batch actions by selection
  • Single row actions like we have today
  • Expandable rows and/or leveled rows (where a row can have children/subrows)
  • Grouping

Should be supported for Angular 8.1

Options considered

Option 1: Ngx-datatable Option 2: Core UI Component Suite
Description
  • Free and Open-Source (Stars - 4k)https://github.com/swimlane/ngx-datatable
  • Last Commit - Jul 15, 2020 (Frequently updated)
  • MIT license
  • $149 per component - front-end developer (one-time) - update available for a year
Pros and cons

Easy to use

Documentation is available

Free to use

All features available according to requirement above

No external dependencies, flexible and light

Fully customizable in styling

Even though documentation is available it is not as descriptive as some of the others

Complete UI Suite

Complete coverage of elements and components

Provides basic elements which need to combine to build complex elements. For eg: A rich table will require combining, scrolling, data table, filters and etc

Best fit as a complete UI suite to utilize across the entire application for all the components

Slightly expensive subscription

Already have a custom palette

Estimated costMEDIUMMEDIUM

Action items






Outcome

Option 1: ngx-datable selected to use

  • Has the required functionality
  • Since we already have a UI palette designed by UX designer, we do not need the component suites eliminating the component suite options
  • Open source
  • Frequent contributions to the code

Client has confirmed and agreed with the recommendation

Download this template