@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 (28 loc) • 1.12 kB
JavaScript
;
var z = require('zod');
var Validate = require('../dashboard-visualisation/Validate.js');
const ScorecardGroupColumn = z.z.object({
id: z.z.string(),
display: z.z.string().optional(),
displayValue: z.z.boolean().optional(),
unit: z.z.enum(Validate.UnitType).optional(),
});
const ScorecardGroupSchema = z.z.object({
...Validate.DashboardVisualisationSchema.shape,
type: z.z.literal('scorecard-group'),
options: z.z.object(Validate.BucketOptionsSchema.shape).optional(),
columns: z.z.object({
...Validate.DashboardColumns.shape,
measures: z.z
.array(ScorecardGroupColumn)
.min(2, 'Measure must contain two or more items')
.refine(measures => {
const displayValue = measures.find(m => m.displayValue !== undefined);
return displayValue ? measures.length === 2 : true;
}, { error: 'Measure must have length 2 when displayValue is defined' }),
}),
});
var ScorecardGroupSchemas = {
ScorecardGroupSchema};
module.exports = ScorecardGroupSchemas;
//# sourceMappingURL=validate.js.map