@inseefr/lunatic 2.7.5 → 2.7.7

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.
Files changed (80) hide show
  1. package/README.fr.md +1 -1
  2. package/README.md +6 -1
  3. package/lib/components/loop/block-for-loop.js +2 -0
  4. package/lib/components/loop/constant.js +10 -0
  5. package/lib/components/loop/roster-for-loop/roster-for-loop.js +42 -20
  6. package/lib/components/lunatic-components.js +45 -7
  7. package/lib/components/table/lunatic-table.js +5 -1
  8. package/lib/src/components/datepicker/lunatic-datepicker.d.ts +1 -1
  9. package/lib/src/components/loop/constant.d.ts +4 -0
  10. package/lib/src/components/loop/roster-for-loop/roster-for-loop.d.ts +1 -0
  11. package/lib/src/components/lunatic-components.d.ts +12 -5
  12. package/lib/src/components/type.d.ts +4 -1
  13. package/lib/src/use-lunatic/commons/compile-controls.d.ts +4 -3
  14. package/lib/src/use-lunatic/commons/fill-components/fill-component-required.d.ts +75 -70
  15. package/lib/src/use-lunatic/commons/fill-components/fill-from-state.d.ts +55 -50
  16. package/lib/src/use-lunatic/commons/fill-components/fill-iterations.d.ts +31 -26
  17. package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.d.ts +680 -73
  18. package/lib/src/use-lunatic/commons/use-components-from-state.d.ts +1 -1
  19. package/lib/src/use-lunatic/commons/variables/lunatic-variables-store.d.ts +4 -1
  20. package/lib/src/use-lunatic/reducer/commons/is-loop-component.d.ts +2 -2
  21. package/lib/src/use-lunatic/reducer/controls/check-base-control.d.ts +2 -0
  22. package/lib/src/use-lunatic/reducer/{resolve-component-controls/resolve-roundabout-control.d.ts → controls/check-roundabout-control.d.ts} +2 -2
  23. package/lib/src/use-lunatic/type-source.d.ts +16 -10
  24. package/lib/src/use-lunatic/use-lunatic.d.ts +11 -5
  25. package/lib/stories/behaviour/controls/controls.stories.js +14 -7
  26. package/lib/stories/behaviour/controls/loop.json +130 -0
  27. package/lib/stories/behaviour/controls/{V2_ControlesNonNum_horsBoucle_PasPageFin.json → simple.json} +2 -2
  28. package/lib/stories/date-picker/source.json +22 -67
  29. package/lib/stories/declaration/source.json +14 -28
  30. package/lib/stories/dropdown/source.json +11 -28
  31. package/lib/stories/filter-description/source.json +3 -2
  32. package/lib/stories/input/input.stories.js +1 -8
  33. package/lib/stories/input/source.json +1 -63
  34. package/lib/stories/input-number/input-number.stories.js +2 -22
  35. package/lib/stories/input-number/source.json +4 -6
  36. package/lib/stories/loop/{block-for-loop.stories.js → loop.stories.js} +10 -8
  37. package/lib/stories/loop/roster-for-loop.stories.js +8 -2
  38. package/lib/stories/loop/source-bloc.json +10 -39
  39. package/lib/stories/loop/source-paginated.json +65 -78
  40. package/lib/stories/overview/overview.stories.js +1 -1
  41. package/lib/stories/pairwise/pairwise-links.stories.js +4 -4
  42. package/lib/stories/pairwise/{links.json → source.json} +2 -6
  43. package/lib/stories/{loop/not-paginated-loop.stories.js → question-context/question-context.stories.js} +5 -9
  44. package/lib/stories/question-context/source.json +13 -0
  45. package/lib/stories/question-explication/source.json +1 -1
  46. package/lib/stories/{loop/paginated-loop.stories.js → question-information/question-information.stories.js} +4 -4
  47. package/lib/stories/question-information/source.json +14 -0
  48. package/lib/stories/roundabout/source.json +21 -31
  49. package/lib/stories/sequence/sequence.stories.js +7 -1
  50. package/lib/stories/sequence/source.json +17 -0
  51. package/lib/stories/suggester/simple.json +1 -1
  52. package/lib/stories/table/source-colspan.json +314 -0
  53. package/lib/stories/table/table.stories.js +7 -1
  54. package/lib/stories/textarea/source.json +6 -22
  55. package/lib/use-lunatic/commons/compile-controls.js +135 -34
  56. package/lib/use-lunatic/commons/fill-components/fill-component-value.js +10 -0
  57. package/lib/use-lunatic/commons/fill-components/fill-specific-expression.js +4 -1
  58. package/lib/use-lunatic/commons/variables/lunatic-variables-store.js +39 -15
  59. package/lib/use-lunatic/commons/variables/lunatic-variables-store.spec.js +16 -6
  60. package/lib/use-lunatic/hooks/use-page-has-response.js +17 -0
  61. package/lib/use-lunatic/reducer/{resolve-component-controls/resolve-simple-control.js → controls/check-base-control.js} +5 -7
  62. package/lib/use-lunatic/reducer/{resolve-component-controls/resolve-roundabout-control.js → controls/check-roundabout-control.js} +2 -3
  63. package/lib/use-lunatic/reducer/overview/overview-on-init.js +6 -4
  64. package/lib/use-lunatic/type-source.js +1 -0
  65. package/package.json +1 -1
  66. package/lib/src/use-lunatic/commons/get-errors-without-empty-value.d.ts +0 -6
  67. package/lib/src/use-lunatic/reducer/resolve-component-controls/index.d.ts +0 -1
  68. package/lib/src/use-lunatic/reducer/resolve-component-controls/resolve-component-control.d.ts +0 -6
  69. package/lib/src/use-lunatic/reducer/resolve-component-controls/resolve-simple-control.d.ts +0 -3
  70. package/lib/stories/Introduction.stories.mdx +0 -112
  71. package/lib/stories/behaviour/controls/V2_Controles_BouclesLiees_PasPageFin.json +0 -533
  72. package/lib/stories/input/source-with-question.json +0 -80
  73. package/lib/stories/input-number/source-euros.json +0 -37
  74. package/lib/stories/input-number/source-thansand.json +0 -34
  75. package/lib/stories/loop/source-not-paginated.json +0 -138
  76. package/lib/use-lunatic/commons/get-errors-without-empty-value.js +0 -24
  77. package/lib/use-lunatic/reducer/resolve-component-controls/index.js +0 -12
  78. package/lib/use-lunatic/reducer/resolve-component-controls/resolve-component-control.js +0 -38
  79. /package/lib/stories/behaviour/controls/{V2_ControlesNum_horsBoucle_PasPageFin.json → simple-numeric.json} +0 -0
  80. /package/lib/stories/pairwise/{links-componentset.json → source-componentset.json} +0 -0
@@ -1,112 +0,0 @@
1
- import { Meta } from '@storybook/addon-docs';
2
- import Lunatic from '../../docs/img/lunatic-logo.png';
3
- import { version } from '../../package.json';
4
-
5
- <Meta title="Introduction" />
6
-
7
- <style>
8
- {`
9
- .subheading {
10
- --mediumdark: '#999999';
11
- font-weight: 900;
12
- font-size: 13px;
13
- color: #999;
14
- letter-spacing: 6px;
15
- line-height: 24px;
16
- text-transform: uppercase;
17
- margin-bottom: 12px;
18
- margin-top: 40px;
19
- }
20
-
21
- .link-list {
22
- display: grid;
23
- grid-template-columns: 1fr;
24
- grid-template-rows: 1fr 1fr;
25
- row-gap: 10px;
26
- }
27
-
28
- @media (min-width: 620px) {
29
- .link-list {
30
- row-gap: 20px;
31
- column-gap: 20px;
32
- grid-template-columns: 1fr 1fr;
33
- }
34
- }
35
-
36
- @media all and (-ms-high-contrast:none) {
37
- .link-list {
38
- display: -ms-grid;
39
- -ms-grid-columns: 1fr 1fr;
40
- -ms-grid-rows: 1fr 1fr;
41
- }
42
- }
43
-
44
- .link-item {
45
- display: block;
46
- padding: 20px 30px 20px 15px;
47
- border: 1px solid #00000010;
48
- border-radius: 5px;
49
- transition: background 150ms ease-out, border 150ms ease-out, transform 150ms ease-out;
50
- color: #333333;
51
- display: flex;
52
- align-items: flex-start;
53
- }
54
-
55
- .link-item:hover {
56
- border-color: #1EA7FD50;
57
- transform: translate3d(0, -3px, 0);
58
- box-shadow: rgba(0, 0, 0, 0.08) 0 3px 10px 0;
59
- }
60
-
61
- .link-item:active {
62
- border-color: #1EA7FD;
63
- transform: translate3d(0, 0, 0);
64
- }
65
-
66
- .link-item strong {
67
- font-weight: 700;
68
- display: block;
69
- margin-bottom: 2px;
70
- }
71
-
72
- .link-item img {
73
- height: 40px;
74
- width: 40px;
75
- margin-right: 15px;
76
- flex: none;
77
- }
78
-
79
- .link-item span {
80
- font-size: 14px;
81
- line-height: 20px;
82
- }
83
-
84
- .tip {
85
- display: inline-block;
86
- border-radius: 1em;
87
- font-size: 11px;
88
- line-height: 12px;
89
- font-weight: 700;
90
- background: #E7FDD8;
91
- color: #66BF3C;
92
- padding: 4px 12px;
93
- margin-right: 10px;
94
- vertical-align: top;
95
- }
96
-
97
- .tip-wrapper {
98
- font-size: 13px;
99
- line-height: 20px;
100
- margin-top: 40px;
101
- margin-bottom: 40px;
102
- }
103
-
104
- .tip-wrapper code {
105
- font-size: 12px;
106
- display: inline-block;
107
- }
108
- `}
109
- </style>
110
-
111
- <h1>Welcome to Lunatic storybook version: {version} </h1>
112
- <img src={Lunatic} alt="Lunatic logo" />
@@ -1,533 +0,0 @@
1
- {
2
- "cleaning": {},
3
- "variables": [
4
- {
5
- "variableType": "COLLECTED",
6
- "values": {
7
- "COLLECTED": null,
8
- "EDITED": null,
9
- "INPUTED": null,
10
- "FORCED": null,
11
- "PREVIOUS": null
12
- },
13
- "name": "COMMENT_QE"
14
- },
15
- {
16
- "variableType": "COLLECTED",
17
- "values": {
18
- "COLLECTED": null,
19
- "EDITED": null,
20
- "INPUTED": null,
21
- "FORCED": null,
22
- "PREVIOUS": null
23
- },
24
- "name": "Q1"
25
- },
26
- {
27
- "variableType": "COLLECTED",
28
- "values": {
29
- "COLLECTED": [null],
30
- "EDITED": [null],
31
- "INPUTED": [null],
32
- "FORCED": [null],
33
- "PREVIOUS": [null]
34
- },
35
- "name": "Q2"
36
- },
37
- {
38
- "variableType": "COLLECTED",
39
- "values": {
40
- "COLLECTED": [null],
41
- "EDITED": [null],
42
- "INPUTED": [null],
43
- "FORCED": [null],
44
- "PREVIOUS": [null]
45
- },
46
- "name": "Q3"
47
- },
48
- {
49
- "variableType": "COLLECTED",
50
- "values": {
51
- "COLLECTED": [null],
52
- "EDITED": [null],
53
- "INPUTED": [null],
54
- "FORCED": [null],
55
- "PREVIOUS": [null]
56
- },
57
- "name": "Q4"
58
- },
59
- {
60
- "variableType": "COLLECTED",
61
- "values": {
62
- "COLLECTED": [null],
63
- "EDITED": [null],
64
- "INPUTED": [null],
65
- "FORCED": [null],
66
- "PREVIOUS": [null]
67
- },
68
- "name": "Q5"
69
- },
70
- {
71
- "variableType": "CALCULATED",
72
- "expression": { "type": "VTL", "value": "true" },
73
- "name": "FILTER_RESULT_Q1",
74
- "inFilter": "false"
75
- },
76
- {
77
- "variableType": "CALCULATED",
78
- "expression": { "type": "VTL", "value": "true" },
79
- "name": "FILTER_RESULT_Q2",
80
- "inFilter": "false",
81
- "shapeFrom": "Q2"
82
- },
83
- {
84
- "variableType": "CALCULATED",
85
- "expression": { "type": "VTL", "value": "true" },
86
- "name": "FILTER_RESULT_Q3",
87
- "inFilter": "false",
88
- "shapeFrom": "Q3"
89
- },
90
- {
91
- "variableType": "CALCULATED",
92
- "expression": { "type": "VTL", "value": "true" },
93
- "name": "FILTER_RESULT_Q4",
94
- "inFilter": "false",
95
- "shapeFrom": "Q3"
96
- },
97
- {
98
- "variableType": "CALCULATED",
99
- "expression": { "type": "VTL", "value": "true" },
100
- "name": "FILTER_RESULT_Q5",
101
- "inFilter": "false",
102
- "shapeFrom": "Q3"
103
- }
104
- ],
105
- "components": [
106
- {
107
- "componentType": "Sequence",
108
- "hierarchy": {
109
- "sequence": {
110
- "id": "kfxmfvwj",
111
- "page": "1",
112
- "label": { "type": "VTL|MD", "value": "\"I - \" || \"S1\"" }
113
- }
114
- },
115
- "conditionFilter": { "type": "VTL", "value": "true" },
116
- "id": "kfxmfvwj",
117
- "page": "1",
118
- "label": { "type": "VTL|MD", "value": "\"I - \" || \"S1\"" }
119
- },
120
- {
121
- "componentType": "InputNumber",
122
- "controls": [
123
- {
124
- "criticality": "ERROR",
125
- "errorMessage": {
126
- "type": "VTL|MD",
127
- "value": "\" La valeur doit être comprise entre 1 et 5.\""
128
- },
129
- "typeOfControl": "FORMAT",
130
- "control": {
131
- "type": "VTL",
132
- "value": "not(not(isnull(Q1)) and (1>Q1 or 5<Q1))"
133
- },
134
- "id": "l14vfucm-format-borne-inf-sup"
135
- },
136
- {
137
- "criticality": "ERROR",
138
- "errorMessage": {
139
- "type": "VTL|MD",
140
- "value": "\"Le nombre doit comporter au maximum 0 chiffre(s) après la virgule.\""
141
- },
142
- "typeOfControl": "FORMAT",
143
- "control": {
144
- "type": "VTL",
145
- "value": "not(not(isnull(Q1)) and round(Q1,0)<>Q1)"
146
- },
147
- "id": "l14vfucm-format-decimal"
148
- },
149
- {
150
- "bindingDependencies": ["Q1"],
151
- "criticality": "WARN",
152
- "errorMessage": { "type": "VTL|MD", "value": "\"Supérieur à 3\"" },
153
- "typeOfControl": "CONSISTENCY",
154
- "control": { "type": "VTL", "value": "not(nvl(Q1,1) > 3)" },
155
- "id": "l14vfucm-CI-0"
156
- }
157
- ],
158
- "max": 5,
159
- "hierarchy": {
160
- "sequence": {
161
- "id": "kfxmfvwj",
162
- "page": "1",
163
- "label": { "type": "VTL|MD", "value": "\"I - \" || \"S1\"" }
164
- }
165
- },
166
- "conditionFilter": { "type": "VTL", "value": "true" },
167
- "label": {
168
- "type": "VTL|MD",
169
- "value": "\"➡ 1. \" || \"nbhab de 1 a 5 ? ne pas laisser vide\""
170
- },
171
- "mandatory": false,
172
- "declarations": [
173
- {
174
- "declarationType": "HELP",
175
- "id": "l14vfucm-l5qoq4pp",
176
- "label": { "type": "VTL|MD", "value": "\"Controle si > 3\"" },
177
- "position": "AFTER_QUESTION_TEXT"
178
- }
179
- ],
180
- "bindingDependencies": ["Q1"],
181
- "min": 1,
182
- "response": { "name": "Q1" },
183
- "decimals": 0,
184
- "id": "l14vfucm",
185
- "page": "2"
186
- },
187
- {
188
- "componentType": "Sequence",
189
- "hierarchy": {
190
- "sequence": {
191
- "id": "l5gh9umu",
192
- "page": "3",
193
- "label": { "type": "VTL|MD", "value": "\"II - \" || \"S2\"" }
194
- }
195
- },
196
- "conditionFilter": { "type": "VTL", "value": "true" },
197
- "id": "l5gh9umu",
198
- "page": "3",
199
- "label": { "type": "VTL|MD", "value": "\"II - \" || \"S2\"" }
200
- },
201
- {
202
- "paginatedLoop": false,
203
- "componentType": "Loop",
204
- "loopDependencies": ["Q1"],
205
- "components": [
206
- {
207
- "componentType": "Subsequence",
208
- "bindingDependencies": ["Q1"],
209
- "goToPage": "4",
210
- "hierarchy": {
211
- "sequence": {
212
- "id": "l5gh9umu",
213
- "page": "3",
214
- "label": { "type": "VTL|MD", "value": "\"II - \" || \"S2\"" }
215
- },
216
- "subSequence": {
217
- "id": "l7svg7al",
218
- "page": "4",
219
- "label": { "type": "VTL|MD", "value": "SS2" }
220
- }
221
- },
222
- "conditionFilter": { "type": "VTL", "value": "true" },
223
- "id": "l7svg7al",
224
- "page": "4",
225
- "label": { "type": "VTL|MD", "value": "SS2" }
226
- },
227
- {
228
- "componentType": "Input",
229
- "bindingDependencies": ["Q2", "Q1"],
230
- "response": { "name": "Q2" },
231
- "hierarchy": {
232
- "sequence": {
233
- "id": "l5gh9umu",
234
- "page": "3",
235
- "label": { "type": "VTL|MD", "value": "\"II - \" || \"S2\"" }
236
- },
237
- "subSequence": {
238
- "id": "l7svg7al",
239
- "page": "4",
240
- "label": { "type": "VTL|MD", "value": "SS2" }
241
- }
242
- },
243
- "conditionFilter": { "type": "VTL", "value": "true" },
244
- "id": "l5gh84ov",
245
- "page": "4",
246
- "label": { "type": "VTL|MD", "value": "\"➡ 2. \" || \"prenom\"" },
247
- "mandatory": false,
248
- "maxLength": 249
249
- }
250
- ],
251
- "bindingDependencies": ["Q1", "Q2"],
252
- "depth": 1,
253
- "hierarchy": {
254
- "sequence": {
255
- "id": "l5gh9umu",
256
- "page": "3",
257
- "label": { "type": "VTL|MD", "value": "\"II - \" || \"S2\"" }
258
- }
259
- },
260
- "conditionFilter": { "type": "VTL", "value": "true" },
261
- "id": "l5gh45ic",
262
- "page": "4",
263
- "lines": {
264
- "min": { "type": "VTL", "value": "nvl(Q1,1)" },
265
- "max": { "type": "VTL", "value": "nvl(Q1,1)" }
266
- }
267
- },
268
- {
269
- "paginatedLoop": true,
270
- "componentType": "Loop",
271
- "loopDependencies": ["Q2"],
272
- "components": [
273
- {
274
- "componentType": "Subsequence",
275
- "bindingDependencies": ["Q2"],
276
- "goToPage": "5.1",
277
- "hierarchy": {
278
- "sequence": {
279
- "id": "l5gh9umu",
280
- "page": "3",
281
- "label": { "type": "VTL|MD", "value": "\"II - \" || \"S2\"" }
282
- },
283
- "subSequence": {
284
- "id": "l7svbzu7",
285
- "page": "5.1",
286
- "label": { "type": "VTL|MD", "value": "SS3" }
287
- }
288
- },
289
- "conditionFilter": { "type": "VTL", "value": "true" },
290
- "id": "l7svbzu7",
291
- "label": { "type": "VTL|MD", "value": "SS3" }
292
- },
293
- {
294
- "componentType": "InputNumber",
295
- "controls": [
296
- {
297
- "criticality": "ERROR",
298
- "errorMessage": {
299
- "type": "VTL|MD",
300
- "value": "\" La valeur doit être comprise entre 0 et 20.\""
301
- },
302
- "typeOfControl": "FORMAT",
303
- "control": {
304
- "type": "VTL",
305
- "value": "not(not(isnull(Q3)) and (0>Q3 or 20<Q3))"
306
- },
307
- "id": "l5ggvqgj-format-borne-inf-sup"
308
- },
309
- {
310
- "criticality": "ERROR",
311
- "errorMessage": {
312
- "type": "VTL|MD",
313
- "value": "\"Le nombre doit comporter au maximum 0 chiffre(s) après la virgule.\""
314
- },
315
- "typeOfControl": "FORMAT",
316
- "control": {
317
- "type": "VTL",
318
- "value": "not(not(isnull(Q3)) and round(Q3,0)<>Q3)"
319
- },
320
- "id": "l5ggvqgj-format-decimal"
321
- }
322
- ],
323
- "max": 20,
324
- "hierarchy": {
325
- "sequence": {
326
- "id": "l5gh9umu",
327
- "page": "3",
328
- "label": { "type": "VTL|MD", "value": "\"II - \" || \"S2\"" }
329
- },
330
- "subSequence": {
331
- "id": "l7svbzu7",
332
- "page": "5.1",
333
- "label": { "type": "VTL|MD", "value": "SS3" }
334
- }
335
- },
336
- "conditionFilter": { "type": "VTL", "value": "true" },
337
- "label": {
338
- "type": "VTL|MD",
339
- "value": "\"➡ 3. \" || \"Q3 entre 0 et 20\""
340
- },
341
- "mandatory": false,
342
- "bindingDependencies": ["Q3", "Q2"],
343
- "min": 0,
344
- "response": { "name": "Q3" },
345
- "decimals": 0,
346
- "id": "l5ggvqgj",
347
- "page": "5.1"
348
- },
349
- {
350
- "componentType": "InputNumber",
351
- "controls": [
352
- {
353
- "criticality": "ERROR",
354
- "errorMessage": {
355
- "type": "VTL|MD",
356
- "value": "\" La valeur doit être comprise entre 0 et 20.\""
357
- },
358
- "typeOfControl": "FORMAT",
359
- "control": {
360
- "type": "VTL",
361
- "value": "not(not(isnull(Q4)) and (0>Q4 or 20<Q4))"
362
- },
363
- "id": "l5ggzuuo-format-borne-inf-sup"
364
- },
365
- {
366
- "criticality": "ERROR",
367
- "errorMessage": {
368
- "type": "VTL|MD",
369
- "value": "\"Le nombre doit comporter au maximum 0 chiffre(s) après la virgule.\""
370
- },
371
- "typeOfControl": "FORMAT",
372
- "control": {
373
- "type": "VTL",
374
- "value": "not(not(isnull(Q4)) and round(Q4,0)<>Q4)"
375
- },
376
- "id": "l5ggzuuo-format-decimal"
377
- },
378
- {
379
- "bindingDependencies": ["Q3", "Q4"],
380
- "criticality": "WARN",
381
- "errorMessage": { "type": "VTL|MD", "value": "\"Q3 > Q4\"" },
382
- "typeOfControl": "CONSISTENCY",
383
- "control": {
384
- "type": "VTL",
385
- "value": "not(nvl(Q3,0) > nvl(Q4,0))"
386
- },
387
- "id": "l5ggzuuo-CI-0"
388
- }
389
- ],
390
- "max": 20,
391
- "hierarchy": {
392
- "sequence": {
393
- "id": "l5gh9umu",
394
- "page": "3",
395
- "label": { "type": "VTL|MD", "value": "\"II - \" || \"S2\"" }
396
- },
397
- "subSequence": {
398
- "id": "l7svbzu7",
399
- "page": "5.1",
400
- "label": { "type": "VTL|MD", "value": "SS3" }
401
- }
402
- },
403
- "conditionFilter": { "type": "VTL", "value": "true" },
404
- "label": {
405
- "type": "VTL|MD",
406
- "value": "\"➡ 4. \" || \"Q4 entre 0 et 20 et controle si Q3 > Q4\""
407
- },
408
- "mandatory": false,
409
- "bindingDependencies": ["Q4", "Q2"],
410
- "min": 0,
411
- "response": { "name": "Q4" },
412
- "decimals": 0,
413
- "id": "l5ggzuuo",
414
- "page": "5.2"
415
- },
416
- {
417
- "componentType": "Input",
418
- "bindingDependencies": ["Q5", "Q2"],
419
- "controls": [
420
- {
421
- "bindingDependencies": ["Q5"],
422
- "criticality": "WARN",
423
- "errorMessage": { "type": "VTL|MD", "value": "\"Q5 est vide\"" },
424
- "typeOfControl": "CONSISTENCY",
425
- "control": { "type": "VTL", "value": "not(isnull(Q5))" },
426
- "id": "l5ghsjv2-CI-0"
427
- }
428
- ],
429
- "response": { "name": "Q5" },
430
- "hierarchy": {
431
- "sequence": {
432
- "id": "l5gh9umu",
433
- "page": "3",
434
- "label": { "type": "VTL|MD", "value": "\"II - \" || \"S2\"" }
435
- },
436
- "subSequence": {
437
- "id": "l7svbzu7",
438
- "page": "5.1",
439
- "label": { "type": "VTL|MD", "value": "SS3" }
440
- }
441
- },
442
- "conditionFilter": { "type": "VTL", "value": "true" },
443
- "id": "l5ghsjv2",
444
- "page": "5.3",
445
- "label": {
446
- "type": "VTL|MD",
447
- "value": "\"➡ 5. \" || \"Q5 controle sur vide\""
448
- },
449
- "mandatory": false,
450
- "maxLength": 249
451
- }
452
- ],
453
- "bindingDependencies": ["Q3", "Q4", "Q5"],
454
- "depth": 1,
455
- "hierarchy": {
456
- "sequence": {
457
- "id": "l5gh9umu",
458
- "page": "3",
459
- "label": { "type": "VTL|MD", "value": "\"II - \" || \"S2\"" }
460
- }
461
- },
462
- "conditionFilter": { "type": "VTL", "value": "true" },
463
- "id": "l5gh8yro",
464
- "page": "5",
465
- "maxPage": "3",
466
- "iterations": { "type": "VTL", "value": "count(Q2)" }
467
- },
468
- {
469
- "componentType": "Sequence",
470
- "hierarchy": {
471
- "sequence": {
472
- "id": "l5gh8epv",
473
- "page": "6",
474
- "label": { "type": "VTL|MD", "value": "\"III - \" || \"S4\"" }
475
- }
476
- },
477
- "conditionFilter": { "type": "VTL", "value": "true" },
478
- "id": "l5gh8epv",
479
- "page": "6",
480
- "label": { "type": "VTL|MD", "value": "\"III - \" || \"S4\"" }
481
- },
482
- {
483
- "componentType": "Sequence",
484
- "hierarchy": {
485
- "sequence": {
486
- "id": "COMMENT-SEQ",
487
- "page": "7",
488
- "label": { "type": "VTL|MD", "value": "\"Commentaire\"" }
489
- }
490
- },
491
- "conditionFilter": { "type": "VTL", "value": "true" },
492
- "id": "COMMENT-SEQ",
493
- "page": "7",
494
- "label": { "type": "VTL|MD", "value": "\"Commentaire\"" }
495
- },
496
- {
497
- "componentType": "Textarea",
498
- "bindingDependencies": ["COMMENT_QE"],
499
- "response": { "name": "COMMENT_QE" },
500
- "hierarchy": {
501
- "sequence": {
502
- "id": "COMMENT-SEQ",
503
- "page": "7",
504
- "label": { "type": "VTL|MD", "value": "\"Commentaire\"" }
505
- }
506
- },
507
- "conditionFilter": { "type": "VTL", "value": "true" },
508
- "id": "COMMENT-QUESTION",
509
- "page": "8",
510
- "label": {
511
- "type": "VTL|MD",
512
- "value": "\"Avez-vous des remarques concernant l'enquête ou des commentaires ?\""
513
- },
514
- "mandatory": false,
515
- "maxLength": 2000
516
- }
517
- ],
518
- "pagination": "question",
519
- "resizing": {
520
- "Q1": { "variables": ["Q2", "Q3", "Q4", "Q5"], "size": "nvl(Q1,1)" }
521
- },
522
- "label": {
523
- "type": "VTL|MD",
524
- "value": "Lunatic V2 - controles dans boucles liees (bug V1)"
525
- },
526
- "lunaticModelVersion": "2.2.14-rc",
527
- "modele": "TESTCONTBOUCL",
528
- "enoCoreVersion": "2.3.10-controls-type",
529
- "generatingDate": "22-09-2022 11:21:08",
530
- "missing": false,
531
- "id": "l5gghitu",
532
- "maxPage": "8"
533
- }