@ministryofjustice/hmpps-digital-prison-reporting-frontend
Version:
The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.
41 lines (40 loc) • 1.26 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = __importDefault(require("../start-end-date/utils"));
const setDateValueWithinMinMax = (filter) => {
const { defaultValue, min, max } = filter;
let dateValue;
if (defaultValue) {
dateValue = defaultValue;
if (min)
dateValue = utils_1.default.compareMin(min, dateValue);
if (max)
dateValue = utils_1.default.compareMax(max, dateValue);
}
return dateValue;
};
const setValueFromRequest = (filter, req, prefix) => {
const { min, max, mandatory } = filter;
const dateValue = req.query[`${prefix}${filter.name}`];
let value = dateValue;
if (mandatory && !dateValue) {
value = min || max || '1977-05-25';
}
return value;
};
const getFilterFromDefinition = (filter, filterData) => {
return {
...filterData,
value: setDateValueWithinMinMax(filter),
min: filter.min,
max: filter.max,
};
};
exports.default = {
setDateValueWithinMinMax,
getFilterFromDefinition,
setValueFromRequest,
};