@ministryofjustice/hmpps-digital-prison-reporting-frontend
Version:
The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.
29 lines (28 loc) • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const urlHelper_1 = require("../../utils/urlHelper");
const addAdditionalQueryParams = (path, additionalQueryParams) => {
if (additionalQueryParams && Object.keys(additionalQueryParams).length > 0) {
return `${path}${(0, urlHelper_1.createQuerystringFromObject)(additionalQueryParams)}`;
}
return path;
};
exports.default = {
reportDefinitionsToCards: (reportDefinitions, pathPrefix, additionalQueryParams) => {
return reportDefinitions.map((d) => ({
text: d.name,
href: addAdditionalQueryParams(`${pathPrefix}/${d.id}`, additionalQueryParams),
description: d.description,
}));
},
variantDefinitionsToCards: (reportDefinition, pathPrefix, additionalQueryParams) => {
let suffix = '';
if (pathPrefix === '/async-reports')
suffix = '/request';
return reportDefinition.variants.map((v) => ({
text: v.name,
href: addAdditionalQueryParams(`${pathPrefix}/${reportDefinition.id}/${v.id}${suffix}`, additionalQueryParams),
description: v.description,
}));
},
};