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.

49 lines (46 loc) 1.29 kB
import { validateVariant } from '../definitionUtils.js'; class TemplateBuilder { variant; specification; columns = []; sections = []; data; fields; sectionFields = []; template; reportQuery; pageSummaries; summaries; constructor(variant, defId) { const { specification } = validateVariant(variant, defId); const { template, fields, sections } = specification; this.variant = variant; this.specification = specification; this.template = template; this.fields = fields; this.sections = sections; } withColumns(columns) { this.columns = columns; return this; } withData(data) { this.data = data; return this; } withQuery(reportQuery) { this.reportQuery = reportQuery; return this; } withSummaries(summariesData) { this.pageSummaries = summariesData.filter(summary => { return summary.template.includes('page'); }); this.summaries = summariesData.filter(summary => { return summary.template.includes('section') || summary.template.includes('table'); }); return this; } } export { TemplateBuilder }; //# sourceMappingURL=TemplateBuilder.js.map