@ministryofjustice/hmpps-digital-prison-reporting-frontend
Version:
The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.
1,676 lines (1,675 loc) • 50.2 kB
TypeScript
export namespace report {
let id: string;
let name: string;
let description: string;
let variants: never[];
let dashboards: never[];
}
export let reports: ({
id: string;
name: string;
description: string;
variants: ({
id: string;
name: string;
description: string;
resourceName: string;
classification: string;
printable: boolean;
specification: {
template: string;
fields: ({
name: string;
display: string;
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
filter: {
type: string;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
min?: never;
max?: never;
dynamicOptions?: never;
};
} | {
name: string;
display: string;
sortable: boolean;
type: string;
mandatory: boolean;
visible: boolean;
filter: {
type: string;
staticOptions: {
name: string;
display: string;
}[];
defaultValue?: never;
min?: never;
max?: never;
dynamicOptions?: never;
};
defaultsort?: never;
} | {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
filter: {
type: string;
defaultValue: string;
min: string;
max: string;
staticOptions?: never;
dynamicOptions?: never;
};
defaultsort?: never;
} | {
name: string;
display: string;
visible: boolean;
sortable: boolean;
type: string;
filter: {
type: string;
dynamicOptions: {
minimumLength: number;
returnAsStaticOptions: boolean;
};
staticOptions: {
name: string;
display: string;
}[];
defaultValue?: never;
min?: never;
max?: never;
};
defaultsort?: never;
mandatory?: never;
} | {
name: string;
display: string;
sortable: boolean;
type: string;
mandatory: boolean;
visible: boolean;
filter: {
type: string;
dynamicOptions: {
minimumLength: number;
returnAsStaticOptions: boolean;
};
staticOptions?: never;
defaultValue?: never;
min?: never;
max?: never;
};
defaultsort?: never;
} | {
name: string;
display: string;
sortable: boolean;
type: string;
mandatory: boolean;
visible: boolean;
defaultsort?: never;
filter?: never;
})[];
};
} | {
id: string;
name: string;
description: string;
resourceName: string;
classification: string;
printable: boolean;
specification: {
template: string;
fields: ({
name: string;
display: string;
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
filter: {
type: string;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
interactive: boolean;
dynamicOptions?: never;
};
} | {
name: string;
display: string;
sortable: boolean;
type: string;
mandatory: boolean;
visible: boolean;
filter: {
type: string;
staticOptions: {
name: string;
display: string;
}[];
interactive: boolean;
defaultValue?: never;
dynamicOptions?: never;
};
defaultsort?: never;
} | {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
filter: {
type: string;
defaultValue: string;
interactive: boolean;
staticOptions?: never;
dynamicOptions?: never;
};
defaultsort?: never;
} | {
name: string;
display: string;
visible: boolean;
sortable: boolean;
type: string;
filter: {
type: string;
dynamicOptions: {
minimumLength: number;
returnAsStaticOptions: boolean;
};
staticOptions: {
name: string;
display: string;
}[];
interactive: boolean;
defaultValue?: never;
};
defaultsort?: never;
mandatory?: never;
} | {
name: string;
display: string;
sortable: boolean;
type: string;
mandatory: boolean;
visible: boolean;
filter: {
type: string;
dynamicOptions: {
minimumLength: number;
returnAsStaticOptions: boolean;
};
interactive: boolean;
staticOptions?: never;
defaultValue?: never;
};
defaultsort?: never;
} | {
name: string;
display: string;
sortable: boolean;
type: string;
mandatory: boolean;
visible: boolean;
defaultsort?: never;
filter?: never;
})[];
};
} | {
id: string;
name: string;
description: string;
resourceName: string;
classification: string;
printable: boolean;
specification: {
template: string;
sections: never[];
fields: ({
name: string;
display: string;
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
header: boolean;
wordWrap: string;
filter: {
type: string;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
mandatory: boolean;
min?: never;
max?: never;
dynamicOptions?: never;
};
} | {
name: string;
display: string;
sortable: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
header: boolean;
defaultsort: boolean;
wordWrap: string;
filter: {
type: string;
staticOptions: {
name: string;
display: string;
}[];
mandatory: boolean;
defaultValue?: never;
min?: never;
max?: never;
dynamicOptions?: never;
};
} | {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
calculated: boolean;
header: boolean;
defaultsort: boolean;
wordWrap: string;
filter: {
type: string;
defaultValue: string;
min: string;
max: string;
mandatory: boolean;
staticOptions?: never;
dynamicOptions?: never;
};
} | {
name: string;
display: string;
visible: boolean;
sortable: boolean;
type: string;
calculated: boolean;
header: boolean;
defaultsort: boolean;
wordWrap: string;
filter: {
type: string;
dynamicOptions: {
minimumLength: number;
returnAsStaticOptions: boolean;
};
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
mandatory: boolean;
min?: never;
max?: never;
};
mandatory?: never;
} | {
name: string;
display: string;
sortable: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
header: boolean;
defaultsort: boolean;
wordWrap: string;
filter: {
type: string;
dynamicOptions: {
minimumLength: number;
returnAsStaticOptions: boolean;
};
mandatory: boolean;
staticOptions?: never;
defaultValue?: never;
min?: never;
max?: never;
};
} | {
name: string;
display: string;
sortable: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
header: boolean;
defaultsort: boolean;
wordWrap: string;
filter: {
type: string;
mandatory: boolean;
staticOptions?: never;
defaultValue?: never;
min?: never;
max?: never;
dynamicOptions?: never;
};
} | {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
calculated: boolean;
header: boolean;
defaultsort: boolean;
filter: {
type: string;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
mandatory: boolean;
min?: never;
max?: never;
dynamicOptions?: never;
};
wordWrap?: never;
})[];
};
})[];
dashboards: {
id: string;
name: string;
description: string;
sections: never[];
filterFields: never[];
}[];
authorised: boolean;
} | {
id: string;
name: string;
description: string;
variants: never[];
dashboards: ({
id: string;
name: string;
description: string;
sections: ({
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
}[];
measures: {
id: string;
display: string;
}[];
};
}[];
} | {
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
columns: {
keys: {
id: string;
}[];
measures: {
id: string;
display: string;
}[];
expectNulls: boolean;
};
options: {
columnsAsList: boolean;
};
}[];
} | {
id: string;
display: string;
visualisations: {
id: string;
type: string;
display: string;
options: {
showLatest: boolean;
};
columns: {
measures: never[];
expectNulls: boolean;
};
}[];
description?: never;
})[];
filterFields: {
name: string;
display: string;
filter: {
type: string;
mandatory: boolean;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
dynamicOptions: {
minimumLength: undefined;
};
interactive: boolean;
};
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
}[];
} | {
id: string;
name: string;
description: string;
sections: ({
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
}[];
measures: {
id: string;
display: string;
}[];
};
options: {
showLatest: boolean;
};
}[];
} | {
id: string;
display: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
measures: never[];
};
options: {
showLatest: boolean;
};
}[];
description?: never;
})[];
filterFields: ({
name: string;
display: string;
filter: {
type: string;
mandatory: boolean;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
dynamicOptions: {
minimumLength: undefined;
};
interactive: boolean;
};
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
} | {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
filter: {
type: string;
defaultQuickFilterValue: string;
defaultValue: string;
mandatory: boolean;
defaultGranularity: string;
interactive: boolean;
};
})[];
} | {
id: string;
name: string;
description: string;
sections: {
id: string;
display: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
measures: never[];
};
options: {
showLatest: boolean;
};
}[];
}[];
filterFields: ({
name: string;
display: string;
filter: {
type: string;
mandatory: boolean;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
dynamicOptions: {
minimumLength: undefined;
};
interactive: boolean;
};
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
} | {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
filter: {
type: string;
defaultQuickFilterValue: string;
defaultValue: string;
mandatory: boolean;
defaultGranularity: string;
interactive: boolean;
};
})[];
} | {
id: string;
name: string;
description: string;
sections: ({
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
display: string;
}[];
measures: {
id: string;
display: string;
}[];
};
}[];
} | {
id: string;
display: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
keys: never[];
measures: {
id: string;
display: string;
axis: string;
}[];
};
}[];
description?: never;
} | {
id: string;
display: string;
visualisations: {
id: string;
type: string;
display: string;
options: {
showLatest: boolean;
};
columns: {
measures: never[];
expectNulls: boolean;
};
}[];
description?: never;
})[];
filterFields: ({
name: string;
display: string;
filter: {
type: string;
mandatory: boolean;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
dynamicOptions: {
minimumLength: undefined;
};
interactive: boolean;
};
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
} | {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
filter: {
type: string;
defaultQuickFilterValue: string;
defaultValue: string;
mandatory: boolean;
defaultGranularity: string;
interactive: boolean;
};
})[];
} | {
id: string;
name: string;
description: string;
sections: ({
id: string;
display: string;
description: string;
visualisations: ({
id: string;
type: string;
display: string;
description: string;
options: {};
columns: {
keys: {
id: string;
}[];
measures: ({
id: string;
display: string;
type: string;
} | {
id: string;
display: string;
type?: never;
})[];
filters: {
id: string;
equals: string;
}[];
expectNulls: boolean;
};
} | {
id: string;
type: string;
display: string;
description: string;
options: {
useRagColour: boolean;
};
columns: {
keys: {
id: string;
}[];
measures: ({
id: string;
display: string;
type: string;
} | {
id: string;
display: string;
type?: never;
})[];
expectNulls: boolean;
};
} | {
id: string;
type: string;
display: string;
description: string;
options: {
buckets: {
hexColour: string;
}[];
};
columns: {
keys: {
id: string;
}[];
measures: ({
id: string;
display: string;
type: string;
} | {
id: string;
display: string;
type?: never;
})[];
expectNulls: boolean;
};
})[];
} | {
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
description: string;
options: {
buckets: ({
max: number;
min?: never;
} | {
min: number;
max: number;
} | {
min: number;
max?: never;
})[];
};
columns: {
keys: {
id: string;
}[];
measures: ({
id: string;
display: string;
type: string;
} | {
id: string;
display: string;
type?: never;
})[];
expectNulls: boolean;
};
}[];
} | {
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
measures: never[];
};
options: {
showLatest: boolean;
};
}[];
})[];
filterFields: {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
filter: {
type: string;
defaultQuickFilterValue: string;
defaultValue: string;
mandatory: boolean;
defaultGranularity: string;
interactive: boolean;
};
}[];
} | {
id: string;
name: string;
description: string;
sections: ({
id: string;
display: string;
description: string;
visualisations: ({
id: string;
type: string;
display: string;
description: string;
columns: {
keys: never[];
measures: {
id: string;
display: string;
}[];
expectNulls: boolean;
};
} | {
id: string;
type: string;
display: string;
description: string;
columns: {
measures: ({
id: string;
display: string;
displayValue?: never;
} | {
id: string;
displayValue: boolean;
display?: never;
})[];
expectNulls: boolean;
};
})[];
} | {
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
description: string;
columns: {
keys: {
id: string;
display: string;
}[];
measures: ({
id: string;
display: string;
displayValue?: never;
} | {
id: string;
displayValue: boolean;
display?: never;
})[];
};
}[];
} | {
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
columns: {
keys: {
id: string;
}[];
measures: {
id: string;
}[];
filters: {
id: string;
equals: string;
}[];
expectNulls: boolean;
};
}[];
} | {
id: string;
display: string;
visualisations: {
id: string;
type: string;
display: string;
options: {
showLatest: boolean;
};
columns: {
measures: never[];
expectNulls: boolean;
};
}[];
description?: never;
})[];
filterFields: ({
name: string;
display: string;
filter: {
type: string;
mandatory: boolean;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
dynamicOptions: {
minimumLength: undefined;
};
interactive: boolean;
};
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
} | {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
filter: {
type: string;
defaultQuickFilterValue: string;
defaultValue: string;
mandatory: boolean;
defaultGranularity: string;
interactive: boolean;
};
})[];
} | {
id: string;
name: string;
description: string;
sections: ({
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
description: string;
columns: {
keys: ({
id: string;
type: string;
display?: never;
} | {
id: string;
display: string;
type?: never;
})[];
measures: ({
id: string;
display: string;
displayValue?: never;
} | {
id: string;
displayValue: boolean;
display?: never;
})[];
};
}[];
} | {
id: string;
display: string;
visualisations: {
id: string;
type: string;
display: string;
description: string;
options: {
useRagColour: boolean;
};
columns: {
keys: ({
id: string;
type: string;
display?: never;
} | {
id: string;
display: string;
type?: never;
})[];
measures: {
id: string;
display: string;
}[];
};
}[];
description?: never;
} | {
id: string;
display: string;
visualisations: {
id: string;
type: string;
display: string;
options: {
showLatest: boolean;
};
columns: {
measures: never[];
expectNulls: boolean;
};
}[];
description?: never;
})[];
filterFields: ({
name: string;
display: string;
filter: {
type: string;
mandatory: boolean;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
dynamicOptions: {
minimumLength: undefined;
};
interactive: boolean;
};
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
} | {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
filter: {
type: string;
defaultQuickFilterValue: string;
defaultValue: string;
mandatory: boolean;
defaultGranularity: string;
interactive: boolean;
};
})[];
} | {
id: string;
name: string;
description: string;
sections: ({
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
}[];
measures: {
id: string;
}[];
};
}[];
} | {
id: string;
display: string;
visualisations: {
id: string;
type: string;
display: string;
options: {
showLatest: boolean;
};
columns: {
measures: never[];
expectNulls: boolean;
};
}[];
description?: never;
})[];
filterFields: ({
name: string;
display: string;
filter: {
type: string;
mandatory: boolean;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
dynamicOptions: {
minimumLength: undefined;
};
interactive: boolean;
};
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
} | {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
filter: {
type: string;
defaultQuickFilterValue: string;
defaultValue: string;
mandatory: boolean;
defaultGranularity: string;
interactive: boolean;
};
})[];
})[];
authorised: boolean;
} | {
id: string;
name: string;
description: string;
variants: never[];
dashboards: ({
id: string;
name: string;
description: string;
sections: ({
id: string;
display: string;
visualisations: {
type: string;
columns: {
keys: {
id: string;
display: string;
}[];
measures: {
id: string;
display: string;
}[];
expectNulls: boolean;
};
}[];
description?: never;
} | {
id: string;
display: string;
description: string;
visualisations: ({
id: string;
type: string;
columns: {
keys: {
id: string;
display: string;
}[];
measures: {
id: string;
display: string;
axis: string;
}[];
};
} | {
type: string;
columns: {
measures: ({
id: string;
display?: never;
displayValue?: never;
} | {
id: string;
display: string;
displayValue?: never;
} | {
id: string;
displayValue: boolean;
display?: never;
})[];
};
} | {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
display: string;
}[];
measures: ({
id: string;
display: string;
aggregate?: never;
} | {
id: string;
display: string;
aggregate: string;
})[];
};
})[];
} | {
id: string;
display: string;
description: string;
visualisations: ({
type: string;
columns: {
measures: {
id: string;
display: string;
}[];
filters: {
id: string;
equals: string;
}[];
};
} | {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
display: string;
}[];
measures: ({
id: string;
display: string;
aggregate?: never;
} | {
id: string;
display: string;
aggregate: string;
})[];
};
})[];
} | {
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
display: string;
}[];
measures: {
id: string;
display: string;
}[];
};
}[];
})[];
filterFields: {
name: string;
display: string;
filter: {
type: string;
mandatory: boolean;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
dynamicOptions: {
minimumLength: undefined;
};
interactive: boolean;
};
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
}[];
} | {
id: string;
name: string;
description: string;
sections: ({
id: string;
display: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
display: string;
}[];
measures: {
id: string;
display: string;
}[];
expectNulls: boolean;
};
}[];
description?: never;
} | {
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
display: string;
}[];
measures: {
id: string;
display: string;
}[];
};
}[];
} | {
id: string;
display: string;
visualisations: {
id: string;
type: string;
columns: {};
}[];
description?: never;
})[];
filterFields: {
name: string;
display: string;
filter: {
type: string;
mandatory: boolean;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
dynamicOptions: {
minimumLength: undefined;
};
interactive: boolean;
};
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
}[];
} | {
id: string;
name: string;
description: string;
sections: ({
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
columns: {
keys: {
id: string;
}[];
measures: {
id: string;
display: string;
}[];
expectNulls: boolean;
};
options: {
columnsAsList: boolean;
};
}[];
} | {
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
}[];
measures: {
id: string;
display: string;
}[];
};
}[];
} | {
id: string;
display: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
}[];
measures: {
id: string;
display: string;
}[];
};
}[];
description?: never;
})[];
filterFields: ({
name: string;
display: string;
filter: {
type: string;
mandatory: boolean;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
dynamicOptions: {
minimumLength: undefined;
};
interactive: boolean;
};
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
} | {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
filter: {
type: string;
defaultQuickFilterValue: string;
defaultValue: string;
mandatory: boolean;
defaultGranularity: string;
interactive: boolean;
};
})[];
} | {
id: string;
name: string;
description: string;
sections: ({
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
}[];
measures: {
id: string;
}[];
};
}[];
} | {
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
options: {
showLatest: boolean;
};
columns: {
measures: never[];
expectNulls: boolean;
};
}[];
})[];
filterFields: ({
name: string;
display: string;
filter: {
type: string;
mandatory: boolean;
staticOptions: {
name: string;
display: string;
}[];
defaultValue: string;
dynamicOptions: {
minimumLength: undefined;
};
interactive: boolean;
};
sortable: boolean;
defaultsort: boolean;
type: string;
mandatory: boolean;
visible: boolean;
calculated: boolean;
} | {
name: string;
display: string;
sortable: boolean;
visible: boolean;
type: string;
mandatory: boolean;
filter: {
type: string;
defaultQuickFilterValue: string;
defaultValue: string;
mandatory: boolean;
defaultGranularity: string;
interactive: boolean;
};
})[];
})[];
authorised: boolean;
} | {
id: string;
name: string;
description: string;
variants: never[];
dashboards: {
id: string;
name: string;
description: string;
sections: ({
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
columns: {
keys: {
id: string;
display: string;
}[];
measures: {
id: string;
display: string;
}[];
};
}[];
} | {
id: string;
display: string;
description: string;
visualisations: {
id: string;
type: string;
display: string;
options: {
showLatest: boolean;
};
columns: {