hof 20.1.2 → 20.1.3
Sign up to get free protection for your applications and to get access to all the features.
@@ -25,6 +25,7 @@ This allows you to specify fields to loop over and add as objects to a parent ar
|
|
25
25
|
],
|
26
26
|
removePrefix: 'storage-',
|
27
27
|
combineValuesToSingleField: 'address',
|
28
|
+
groupOptional: true,
|
28
29
|
returnTo: '/add-address'
|
29
30
|
}),
|
30
31
|
next: '/confirm'
|
@@ -35,5 +36,6 @@ Here are the fields you call this behaviour first to set config for it:
|
|
35
36
|
`fieldsToGroup`: (Required) the fields being specified for an object, e.g. house number, street, postcode, that are grouped together,
|
36
37
|
`removePrefix`: (Optional) a string which is used to remove consistent prefixes from a collection of fields that are grouped together,
|
37
38
|
`combineValuesToSingleField`: (Optional) a new field that is created with its value being the concatenation of values of the fields specified in `fieldsToGroup`,
|
38
|
-
`
|
39
|
+
`groupOptional`: (Optional) set this to true if you want to land on the radio button question if all records in the group are deleted after creation,
|
40
|
+
`returnTo`: (Required) the next step if you want to add another object to this group
|
39
41
|
```
|
@@ -5,7 +5,7 @@ const path = require('path');
|
|
5
5
|
const express = require('express');
|
6
6
|
|
7
7
|
module.exports = config => {
|
8
|
-
const { returnTo, groupName, fieldsToGroup, combineValuesToSingleField, removePrefix } = config;
|
8
|
+
const { returnTo, groupName, fieldsToGroup, combineValuesToSingleField, removePrefix, groupOptional } = config;
|
9
9
|
|
10
10
|
if (removePrefix && typeof removePrefix !== 'string') {
|
11
11
|
throw new Error('removePrefix is a string and is optional for loops');
|
@@ -71,7 +71,7 @@ module.exports = config => {
|
|
71
71
|
});
|
72
72
|
}
|
73
73
|
|
74
|
-
const target = items.length ? req.form.options.route : returnTo;
|
74
|
+
const target = (items.length || groupOptional) ? req.form.options.route : returnTo;
|
75
75
|
const action = req.params.action || '';
|
76
76
|
res.redirect(path.join(req.baseUrl, target, action));
|
77
77
|
}
|
@@ -84,7 +84,10 @@ module.exports = config => {
|
|
84
84
|
validate: ['required'],
|
85
85
|
options: [
|
86
86
|
'yes', 'no'
|
87
|
-
]
|
87
|
+
],
|
88
|
+
legend: {
|
89
|
+
className: 'visuallyhidden'
|
90
|
+
}
|
88
91
|
}, req.form.options.fieldSettings);
|
89
92
|
|
90
93
|
// add conditonal fork
|
@@ -95,9 +98,6 @@ module.exports = config => {
|
|
95
98
|
condition: {
|
96
99
|
field: field,
|
97
100
|
value: 'yes'
|
98
|
-
},
|
99
|
-
legend: {
|
100
|
-
className: 'visuallyhidden'
|
101
101
|
}
|
102
102
|
});
|
103
103
|
next();
|