@ukhomeoffice/cop-react-form-renderer 2.7.4 → 2.8.1
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/dist/components/CheckYourAnswers/CheckYourAnswers.stories.mdx +392 -331
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +66 -7
- package/dist/components/FormRenderer/FormRenderer.test.js +7 -7
- package/dist/components/TaskList/TaskList.js +3 -3
- package/dist/components/TaskList/TaskList.scss +0 -3
- package/dist/json/group.data.json +21 -0
- package/dist/json/group.json +418 -0
- package/dist/json/userProfile.data.json +6 -0
- package/dist/utils/CheckYourAnswers/getCYARow.js +1 -0
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +2 -0
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +82 -0
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +78 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +29 -3
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +61 -0
- package/package.json +1 -1
|
@@ -1,331 +1,392 @@
|
|
|
1
|
-
<!-- Global imports -->
|
|
2
|
-
|
|
3
|
-
import { ArgsTable, Canvas, Meta, Story } from '@storybook/addon-docs';
|
|
4
|
-
import {
|
|
5
|
-
Details,
|
|
6
|
-
Heading,
|
|
7
|
-
Link,
|
|
8
|
-
Tag,
|
|
9
|
-
} from '@ukhomeoffice/cop-react-components';
|
|
10
|
-
import withMock from 'storybook-addon-mock';
|
|
11
|
-
|
|
12
|
-
<!-- Local imports -->
|
|
13
|
-
|
|
14
|
-
import Utils from '../../utils';
|
|
15
|
-
import CheckYourAnswers from './CheckYourAnswers';
|
|
16
|
-
|
|
17
|
-
<!-- JSON documents -->
|
|
18
|
-
|
|
19
|
-
import CIVIL_SERVANT from '../../json/areYouACivilServant.json';
|
|
20
|
-
import GRADE from '../../json/grade.json';
|
|
21
|
-
import TEAMS from '../../json/team.json';
|
|
22
|
-
import USER_PROFILE_DATA from '../../json/userProfile.data.json';
|
|
23
|
-
import USER_PROFILE from '../../json/userProfile.json';
|
|
24
|
-
import FIRST_FORM from '../../json/firstForm.json';
|
|
25
|
-
import GROUP_OF_ROW from '../../json/groupOfRow.json';
|
|
26
|
-
import GROUP_OF_ROW_DATA from '../../json/groupOfRowData.json';
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
1
|
+
<!-- Global imports -->
|
|
2
|
+
|
|
3
|
+
import { ArgsTable, Canvas, Meta, Story } from '@storybook/addon-docs';
|
|
4
|
+
import {
|
|
5
|
+
Details,
|
|
6
|
+
Heading,
|
|
7
|
+
Link,
|
|
8
|
+
Tag,
|
|
9
|
+
} from '@ukhomeoffice/cop-react-components';
|
|
10
|
+
import withMock from 'storybook-addon-mock';
|
|
11
|
+
|
|
12
|
+
<!-- Local imports -->
|
|
13
|
+
|
|
14
|
+
import Utils from '../../utils';
|
|
15
|
+
import CheckYourAnswers from './CheckYourAnswers';
|
|
16
|
+
|
|
17
|
+
<!-- JSON documents -->
|
|
18
|
+
|
|
19
|
+
import CIVIL_SERVANT from '../../json/areYouACivilServant.json';
|
|
20
|
+
import GRADE from '../../json/grade.json';
|
|
21
|
+
import TEAMS from '../../json/team.json';
|
|
22
|
+
import USER_PROFILE_DATA from '../../json/userProfile.data.json';
|
|
23
|
+
import USER_PROFILE from '../../json/userProfile.json';
|
|
24
|
+
import FIRST_FORM from '../../json/firstForm.json';
|
|
25
|
+
import GROUP_OF_ROW from '../../json/groupOfRow.json';
|
|
26
|
+
import GROUP_OF_ROW_DATA from '../../json/groupOfRowData.json';
|
|
27
|
+
import GROUP from'../../json/group.json';
|
|
28
|
+
import GROUP_DATA from '../../json/group.data.json';
|
|
29
|
+
|
|
30
|
+
<Meta
|
|
31
|
+
title='Components/Check your answers'
|
|
32
|
+
id='D-CheckYourAnswers'
|
|
33
|
+
component={CheckYourAnswers}
|
|
34
|
+
decorators={[withMock]}
|
|
35
|
+
/>
|
|
36
|
+
|
|
37
|
+
<Heading size='xl' caption='Components'>
|
|
38
|
+
Check your answers
|
|
39
|
+
</Heading>
|
|
40
|
+
|
|
41
|
+
Renders the **Check your answers** screen for a form.
|
|
42
|
+
|
|
43
|
+
<Canvas withToolbar>
|
|
44
|
+
<Story
|
|
45
|
+
name='Default'
|
|
46
|
+
parameters={{
|
|
47
|
+
mockData: [
|
|
48
|
+
{
|
|
49
|
+
url: `${USER_PROFILE_DATA.urls.refData}/areYouACivilServant`,
|
|
50
|
+
method: 'GET',
|
|
51
|
+
status: 200,
|
|
52
|
+
response: CIVIL_SERVANT,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
url: `${USER_PROFILE_DATA.urls.refData}/grade`,
|
|
56
|
+
method: 'GET',
|
|
57
|
+
status: 200,
|
|
58
|
+
response: GRADE,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
url: `${USER_PROFILE_DATA.urls.refData}/team`,
|
|
62
|
+
method: 'GET',
|
|
63
|
+
status: 200,
|
|
64
|
+
response: TEAMS,
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
}}
|
|
68
|
+
>
|
|
69
|
+
{() => {
|
|
70
|
+
const DATA = Utils.Data.setupForm(
|
|
71
|
+
USER_PROFILE.pages,
|
|
72
|
+
USER_PROFILE.components,
|
|
73
|
+
USER_PROFILE_DATA
|
|
74
|
+
);
|
|
75
|
+
const PAGES = Utils.FormPage.getAll(
|
|
76
|
+
USER_PROFILE.pages,
|
|
77
|
+
USER_PROFILE.components,
|
|
78
|
+
{ ...DATA }
|
|
79
|
+
);
|
|
80
|
+
const ON_ACTION = (action, patch, onError) => {
|
|
81
|
+
console.log('action invoked', action, patch);
|
|
82
|
+
};
|
|
83
|
+
const ON_ROW_ACTION = (page) => {
|
|
84
|
+
console.log('row action invoked', page);
|
|
85
|
+
};
|
|
86
|
+
return (
|
|
87
|
+
<CheckYourAnswers
|
|
88
|
+
pages={PAGES}
|
|
89
|
+
onAction={ON_ACTION}
|
|
90
|
+
onRowAction={ON_ROW_ACTION}
|
|
91
|
+
/>
|
|
92
|
+
);
|
|
93
|
+
}}
|
|
94
|
+
</Story>
|
|
95
|
+
</Canvas>
|
|
96
|
+
|
|
97
|
+
<Details summary='Properties' className='no-indent'>
|
|
98
|
+
<ArgsTable of={CheckYourAnswers} />
|
|
99
|
+
</Details>
|
|
100
|
+
|
|
101
|
+
## Variant
|
|
102
|
+
|
|
103
|
+
### Without page titles
|
|
104
|
+
|
|
105
|
+
<Canvas>
|
|
106
|
+
<Story
|
|
107
|
+
name='No page titles'
|
|
108
|
+
parameters={{
|
|
109
|
+
mockData: [
|
|
110
|
+
{
|
|
111
|
+
url: `${USER_PROFILE_DATA.urls.refData}/areYouACivilServant`,
|
|
112
|
+
method: 'GET',
|
|
113
|
+
status: 200,
|
|
114
|
+
response: CIVIL_SERVANT,
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
url: `${USER_PROFILE_DATA.urls.refData}/grade`,
|
|
118
|
+
method: 'GET',
|
|
119
|
+
status: 200,
|
|
120
|
+
response: GRADE,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
url: `${USER_PROFILE_DATA.urls.refData}/team`,
|
|
124
|
+
method: 'GET',
|
|
125
|
+
status: 200,
|
|
126
|
+
response: TEAMS,
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
}}
|
|
130
|
+
>
|
|
131
|
+
{() => {
|
|
132
|
+
const DATA = Utils.Data.setupForm(
|
|
133
|
+
USER_PROFILE.pages,
|
|
134
|
+
USER_PROFILE.components,
|
|
135
|
+
USER_PROFILE_DATA
|
|
136
|
+
);
|
|
137
|
+
const PAGES = Utils.FormPage.getAll(
|
|
138
|
+
USER_PROFILE.pages,
|
|
139
|
+
USER_PROFILE.components,
|
|
140
|
+
{ ...DATA }
|
|
141
|
+
);
|
|
142
|
+
const ON_ACTION = (action, patch, onError) => {
|
|
143
|
+
console.log('action invoked', action, patch);
|
|
144
|
+
};
|
|
145
|
+
const ON_ROW_ACTION = (page) => {
|
|
146
|
+
console.log('row action invoked', page);
|
|
147
|
+
};
|
|
148
|
+
return (
|
|
149
|
+
<CheckYourAnswers
|
|
150
|
+
pages={PAGES}
|
|
151
|
+
hide_page_titles={true}
|
|
152
|
+
onAction={ON_ACTION}
|
|
153
|
+
onRowAction={ON_ROW_ACTION}
|
|
154
|
+
/>
|
|
155
|
+
);
|
|
156
|
+
}}
|
|
157
|
+
</Story>
|
|
158
|
+
</Canvas>
|
|
159
|
+
|
|
160
|
+
### With actions
|
|
161
|
+
|
|
162
|
+
<Canvas>
|
|
163
|
+
<Story
|
|
164
|
+
name='With actions'
|
|
165
|
+
parameters={{
|
|
166
|
+
mockData: [
|
|
167
|
+
{
|
|
168
|
+
url: `${USER_PROFILE_DATA.urls.refData}/areYouACivilServant`,
|
|
169
|
+
method: 'GET',
|
|
170
|
+
status: 200,
|
|
171
|
+
response: CIVIL_SERVANT,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
url: `${USER_PROFILE_DATA.urls.refData}/grade`,
|
|
175
|
+
method: 'GET',
|
|
176
|
+
status: 200,
|
|
177
|
+
response: GRADE,
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
url: `${USER_PROFILE_DATA.urls.refData}/team`,
|
|
181
|
+
method: 'GET',
|
|
182
|
+
status: 200,
|
|
183
|
+
response: TEAMS,
|
|
184
|
+
},
|
|
185
|
+
],
|
|
186
|
+
}}
|
|
187
|
+
>
|
|
188
|
+
{() => {
|
|
189
|
+
const DATA = { firstName: 'John', surname: 'Smith', age: 41 };
|
|
190
|
+
const PAGES = Utils.FormPage.getAll(
|
|
191
|
+
FIRST_FORM.pages,
|
|
192
|
+
FIRST_FORM.components,
|
|
193
|
+
{ ...DATA }
|
|
194
|
+
);
|
|
195
|
+
const ACTIONS = FIRST_FORM.cya.actions;
|
|
196
|
+
const ON_ACTION = (action, patch, onError) => {
|
|
197
|
+
console.log('action invoked', action, patch);
|
|
198
|
+
};
|
|
199
|
+
const ON_ROW_ACTION = (page) => {
|
|
200
|
+
console.log('row action invoked', page);
|
|
201
|
+
};
|
|
202
|
+
return (
|
|
203
|
+
<CheckYourAnswers
|
|
204
|
+
pages={PAGES}
|
|
205
|
+
hide_page_titles={true}
|
|
206
|
+
actions={ACTIONS}
|
|
207
|
+
onAction={ON_ACTION}
|
|
208
|
+
onRowAction={ON_ROW_ACTION}
|
|
209
|
+
/>
|
|
210
|
+
);
|
|
211
|
+
}}
|
|
212
|
+
</Story>
|
|
213
|
+
</Canvas>
|
|
214
|
+
|
|
215
|
+
### Read-only style
|
|
216
|
+
|
|
217
|
+
<Canvas>
|
|
218
|
+
<Story
|
|
219
|
+
name='Read-only style'
|
|
220
|
+
parameters={{
|
|
221
|
+
mockData: [
|
|
222
|
+
{
|
|
223
|
+
url: `${USER_PROFILE_DATA.urls.refData}/areYouACivilServant`,
|
|
224
|
+
method: 'GET',
|
|
225
|
+
status: 200,
|
|
226
|
+
response: CIVIL_SERVANT,
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
url: `${USER_PROFILE_DATA.urls.refData}/grade`,
|
|
230
|
+
method: 'GET',
|
|
231
|
+
status: 200,
|
|
232
|
+
response: GRADE,
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
url: `${USER_PROFILE_DATA.urls.refData}/team`,
|
|
236
|
+
method: 'GET',
|
|
237
|
+
status: 200,
|
|
238
|
+
response: TEAMS,
|
|
239
|
+
},
|
|
240
|
+
],
|
|
241
|
+
}}
|
|
242
|
+
>
|
|
243
|
+
{() => {
|
|
244
|
+
const DATA = Utils.Data.setupForm(
|
|
245
|
+
USER_PROFILE.pages,
|
|
246
|
+
USER_PROFILE.components,
|
|
247
|
+
USER_PROFILE_DATA
|
|
248
|
+
);
|
|
249
|
+
const PAGES = Utils.FormPage.getAll(
|
|
250
|
+
USER_PROFILE.pages,
|
|
251
|
+
USER_PROFILE.components,
|
|
252
|
+
{ ...DATA }
|
|
253
|
+
);
|
|
254
|
+
const ON_ACTION = (action, patch, onError) => {
|
|
255
|
+
console.log('action invoked', action, patch);
|
|
256
|
+
};
|
|
257
|
+
const ON_ROW_ACTION = (page) => {
|
|
258
|
+
console.log('row action invoked', page);
|
|
259
|
+
};
|
|
260
|
+
return (
|
|
261
|
+
<CheckYourAnswers
|
|
262
|
+
pages={PAGES}
|
|
263
|
+
hide_page_titles={true}
|
|
264
|
+
onAction={ON_ACTION}
|
|
265
|
+
onRowAction={ON_ROW_ACTION}
|
|
266
|
+
hide_title={true}
|
|
267
|
+
summaryListClassModifiers='no-border'
|
|
268
|
+
noChangeAction={true}
|
|
269
|
+
/>
|
|
270
|
+
);
|
|
271
|
+
}}
|
|
272
|
+
</Story>
|
|
273
|
+
</Canvas>
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
### Group of rows
|
|
277
|
+
|
|
278
|
+
<Canvas>
|
|
279
|
+
<Story
|
|
280
|
+
name='Group of rows'
|
|
281
|
+
parameters={{
|
|
282
|
+
mockData: [
|
|
283
|
+
{
|
|
284
|
+
url: `${USER_PROFILE_DATA.urls.refData}/areYouACivilServant`,
|
|
285
|
+
method: 'GET',
|
|
286
|
+
status: 200,
|
|
287
|
+
response: CIVIL_SERVANT,
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
url: `${USER_PROFILE_DATA.urls.refData}/grade`,
|
|
291
|
+
method: 'GET',
|
|
292
|
+
status: 200,
|
|
293
|
+
response: GRADE,
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
url: `${USER_PROFILE_DATA.urls.refData}/team`,
|
|
297
|
+
method: 'GET',
|
|
298
|
+
status: 200,
|
|
299
|
+
response: TEAMS,
|
|
300
|
+
},
|
|
301
|
+
],
|
|
302
|
+
}}
|
|
303
|
+
>
|
|
304
|
+
{() => {
|
|
305
|
+
const DATA = Utils.Data.setupForm(
|
|
306
|
+
GROUP_OF_ROW.pages,
|
|
307
|
+
GROUP_OF_ROW.components,
|
|
308
|
+
GROUP_OF_ROW_DATA
|
|
309
|
+
);
|
|
310
|
+
const PAGES = Utils.FormPage.getAll(
|
|
311
|
+
GROUP_OF_ROW.pages,
|
|
312
|
+
GROUP_OF_ROW.components,
|
|
313
|
+
{ ...DATA }
|
|
314
|
+
);
|
|
315
|
+
const CYA = GROUP_OF_ROW.cya;
|
|
316
|
+
const ON_ACTION = (action, patch, onError) => {
|
|
317
|
+
console.log('action invoked', action, patch);
|
|
318
|
+
};
|
|
319
|
+
const ON_ROW_ACTION = (page) => {
|
|
320
|
+
console.log('row action invoked', page);
|
|
321
|
+
};
|
|
322
|
+
return (
|
|
323
|
+
<CheckYourAnswers
|
|
324
|
+
pages={PAGES}
|
|
325
|
+
hide_page_titles={false}
|
|
326
|
+
onAction={ON_ACTION}
|
|
327
|
+
onRowAction={ON_ROW_ACTION}
|
|
328
|
+
groups={CYA.groups}
|
|
329
|
+
/>
|
|
330
|
+
);
|
|
331
|
+
}}
|
|
332
|
+
</Story>
|
|
333
|
+
</Canvas>
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
### Group of address rows
|
|
337
|
+
<Canvas>
|
|
338
|
+
<Story name='Group of address rows'
|
|
339
|
+
parameters={{
|
|
340
|
+
mockData: [
|
|
341
|
+
{
|
|
342
|
+
url: `${USER_PROFILE_DATA.urls.refData}/areYouACivilServant`,
|
|
343
|
+
method: 'GET',
|
|
344
|
+
status: 200,
|
|
345
|
+
response: CIVIL_SERVANT,
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
url: `${USER_PROFILE_DATA.urls.refData}/grade`,
|
|
349
|
+
method: 'GET',
|
|
350
|
+
status: 200,
|
|
351
|
+
response: GRADE,
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
url: `${USER_PROFILE_DATA.urls.refData}/team`,
|
|
355
|
+
method: 'GET',
|
|
356
|
+
status: 200,
|
|
357
|
+
response: TEAMS,
|
|
358
|
+
},
|
|
359
|
+
],
|
|
360
|
+
}}>
|
|
361
|
+
{() => {
|
|
362
|
+
const DATA = Utils.Data.setupForm(
|
|
363
|
+
GROUP.pages,
|
|
364
|
+
GROUP.components,
|
|
365
|
+
GROUP_DATA
|
|
366
|
+
);
|
|
367
|
+
const PAGES = Utils.FormPage.getAll(
|
|
368
|
+
GROUP.pages,
|
|
369
|
+
GROUP.components,
|
|
370
|
+
{ ...DATA }
|
|
371
|
+
);
|
|
372
|
+
const ACTIONS = GROUP.cya.actions;
|
|
373
|
+
const ON_ACTION = (action, patch, onError) => {
|
|
374
|
+
console.log('action invoked', action, patch);
|
|
375
|
+
};
|
|
376
|
+
const ON_ROW_ACTION = (page) => {
|
|
377
|
+
console.log('row action invoked', page);
|
|
378
|
+
};
|
|
379
|
+
return (
|
|
380
|
+
<CheckYourAnswers
|
|
381
|
+
pages={PAGES}
|
|
382
|
+
hide_page_titles={true}
|
|
383
|
+
actions={ACTIONS}
|
|
384
|
+
onAction={ON_ACTION}
|
|
385
|
+
onRowAction={ON_ROW_ACTION}
|
|
386
|
+
/>
|
|
387
|
+
);
|
|
388
|
+
}}
|
|
389
|
+
</Story>
|
|
390
|
+
</Canvas>
|
|
391
|
+
|
|
392
|
+
|