UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

32 lines (25 loc) 855 B
import { AsyncSummary } from '../../types/UserReports' import DataTableBuilder from '../DataTableBuilder/DataTableBuilder' import { DataTable } from '../DataTableBuilder/types' export default class SummaryDataTableBuilder extends DataTableBuilder { private summary: AsyncSummary constructor(summary: AsyncSummary, sections?: Array<string>) { const columns = summary.fields .filter((field) => !sections || !sections.includes(field.name)) .map((field) => field.name) const fields = summary.fields.map((field) => ({ ...field, calculated: false, sortable: false, defaultsort: false, mandatory: true, visible: true, })) super(fields, true) this.summary = summary this.columns = columns } buildSummaryTable(): DataTable { return super.buildTable(this.summary.data) } }