@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.1.2 → 4.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dpr/assets/js/all.mjs +9 -6
- package/dpr/components/_filters/filters-selected/utils.js +1 -1
- package/dpr/components/_filters/filters-selected/utils.ts +1 -1
- package/dpr/components/_inputs/mulitselect/utils.js +9 -4
- package/dpr/components/_inputs/mulitselect/utils.ts +9 -5
- package/package.json +1 -1
- package/package.zip +0 -0
package/dpr/assets/js/all.mjs
CHANGED
|
@@ -344,7 +344,7 @@ class DprQueryParamClass extends DprClientClass {
|
|
|
344
344
|
initInputEvents(elements) {
|
|
345
345
|
Array.from(elements).forEach((input) => {
|
|
346
346
|
input.addEventListener('change', () => {
|
|
347
|
-
this.setQueryParamFromInput(input, true);
|
|
347
|
+
this.setQueryParamFromInput(input, true, false);
|
|
348
348
|
});
|
|
349
349
|
});
|
|
350
350
|
}
|
|
@@ -357,7 +357,7 @@ class DprQueryParamClass extends DprClientClass {
|
|
|
357
357
|
*/
|
|
358
358
|
initQueryParamsFromInputs(elements) {
|
|
359
359
|
Array.from(elements).forEach((input) => {
|
|
360
|
-
if (input.type !== 'hidden') this.setQueryParamFromInput(input);
|
|
360
|
+
if (input.type !== 'hidden') this.setQueryParamFromInput(input, false, true);
|
|
361
361
|
});
|
|
362
362
|
}
|
|
363
363
|
|
|
@@ -368,10 +368,10 @@ class DprQueryParamClass extends DprClientClass {
|
|
|
368
368
|
* @param {*} toggleCheckbox
|
|
369
369
|
* @memberof DprQueryParamClass
|
|
370
370
|
*/
|
|
371
|
-
setQueryParamFromInput(input, toggleCheckbox = false) {
|
|
371
|
+
setQueryParamFromInput(input, toggleCheckbox = false, init = false) {
|
|
372
372
|
const { type } = input;
|
|
373
373
|
if (type === 'checkbox' || type === 'radio') {
|
|
374
|
-
this.setMultiSelectQueryParam(input, toggleCheckbox);
|
|
374
|
+
this.setMultiSelectQueryParam(input, toggleCheckbox, init);
|
|
375
375
|
} else {
|
|
376
376
|
const { name } = input;
|
|
377
377
|
let { value } = input;
|
|
@@ -393,12 +393,15 @@ class DprQueryParamClass extends DprClientClass {
|
|
|
393
393
|
* @param {*} toggle - adds the delete step on toggle
|
|
394
394
|
* @memberof DprQueryParamClass
|
|
395
395
|
*/
|
|
396
|
-
setMultiSelectQueryParam(input, toggle) {
|
|
396
|
+
setMultiSelectQueryParam(input, toggle, init) {
|
|
397
397
|
this.queryParams = new URLSearchParams(window.location.search);
|
|
398
398
|
const { name, value, checked, type } = input;
|
|
399
399
|
if (checked && !this.queryParams.has(name, value)) {
|
|
400
400
|
let updateType;
|
|
401
|
-
if (type === 'checkbox')
|
|
401
|
+
if (type === 'checkbox') {
|
|
402
|
+
updateType = 'append';
|
|
403
|
+
if (!init && name !== 'columns') this.updateQueryParam('preventDefault', true);
|
|
404
|
+
}
|
|
402
405
|
this.updateQueryParam(name, value, updateType);
|
|
403
406
|
} else if (!checked && this.queryParams.has(name, value) && toggle) {
|
|
404
407
|
this.updateQueryParam(name, value, 'delete');
|
|
@@ -163,7 +163,7 @@ const disabledDateRange = (f, value, displayValue) => {
|
|
|
163
163
|
};
|
|
164
164
|
const disabledDate = (f, value, displayValue) => {
|
|
165
165
|
const { min, max } = f;
|
|
166
|
-
if (value[0].includes(min) || value[
|
|
166
|
+
if (value[0].includes(min) || value[0].includes(max)) {
|
|
167
167
|
let valueType;
|
|
168
168
|
if (value[0].includes(min))
|
|
169
169
|
valueType = 'min';
|
|
@@ -171,7 +171,7 @@ const disabledDateRange = (f: DateFilterValue, value: (string | DateRange)[], di
|
|
|
171
171
|
|
|
172
172
|
const disabledDate = (f: DateFilterValue, value: (string | DateRange)[], displayValue: string) => {
|
|
173
173
|
const { min, max } = <DateFilterValue>f
|
|
174
|
-
if ((<string>value[0]).includes(min) || (<string>value[
|
|
174
|
+
if ((<string>value[0]).includes(min) || (<string>value[0]).includes(max)) {
|
|
175
175
|
let valueType
|
|
176
176
|
if ((<string>value[0]).includes(min)) valueType = 'min'
|
|
177
177
|
if ((<string>value[0]).includes(max)) valueType = 'max'
|
|
@@ -2,14 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const setValueFromRequest = (filter, req, prefix) => {
|
|
4
4
|
const { preventDefault } = req.query;
|
|
5
|
-
const
|
|
6
|
-
|
|
5
|
+
const queryValue = req.query[`${prefix}${filter.name}`];
|
|
6
|
+
let valueArr;
|
|
7
|
+
let valueString;
|
|
8
|
+
if (queryValue === null || queryValue === void 0 ? void 0 : queryValue.length) {
|
|
9
|
+
valueArr = Array.isArray(queryValue) ? queryValue : [queryValue];
|
|
10
|
+
valueString = valueArr.join(',');
|
|
11
|
+
}
|
|
7
12
|
const defaultValue = preventDefault ? null : filter.value;
|
|
8
13
|
let defaultValues = filter.value ? filter.value.split(',') : [];
|
|
9
14
|
defaultValues = preventDefault ? [] : defaultValues;
|
|
10
15
|
return {
|
|
11
|
-
requestfilterValue: valueString || defaultValue,
|
|
12
|
-
requestfilterValues: valueArr || defaultValues,
|
|
16
|
+
requestfilterValue: valueString || defaultValue || null,
|
|
17
|
+
requestfilterValues: valueArr || defaultValues || [],
|
|
13
18
|
};
|
|
14
19
|
};
|
|
15
20
|
exports.default = {
|
|
@@ -3,17 +3,21 @@ import { FilterValue } from '../../_filters/types'
|
|
|
3
3
|
|
|
4
4
|
const setValueFromRequest = (filter: FilterValue, req: Request, prefix: string) => {
|
|
5
5
|
const { preventDefault } = req.query
|
|
6
|
+
const queryValue = <string[] | string | undefined>req.query[`${prefix}${filter.name}`]
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
let valueArr: string[]
|
|
9
|
+
let valueString: string
|
|
10
|
+
if (queryValue?.length) {
|
|
11
|
+
valueArr = Array.isArray(queryValue) ? queryValue : [queryValue]
|
|
12
|
+
valueString = valueArr.join(',')
|
|
13
|
+
}
|
|
9
14
|
const defaultValue = preventDefault ? null : filter.value
|
|
10
|
-
|
|
11
15
|
let defaultValues = filter.value ? (<string>filter.value).split(',') : []
|
|
12
16
|
defaultValues = preventDefault ? [] : defaultValues
|
|
13
17
|
|
|
14
18
|
return {
|
|
15
|
-
requestfilterValue: valueString || defaultValue,
|
|
16
|
-
requestfilterValues: valueArr || defaultValues,
|
|
19
|
+
requestfilterValue: valueString || defaultValue || null,
|
|
20
|
+
requestfilterValues: valueArr || defaultValues || [],
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
23
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ministryofjustice/hmpps-digital-prison-reporting-frontend",
|
|
3
3
|
"description": "The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.",
|
|
4
|
-
"version": "4.1.
|
|
4
|
+
"version": "4.1.3",
|
|
5
5
|
"main": "dpr/assets/js/all.mjs",
|
|
6
6
|
"sass": "dpr/all.scss",
|
|
7
7
|
"engines": {
|
package/package.zip
CHANGED
|
Binary file
|