@inseefr/lunatic 3.6.5 → 3.6.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 (69) hide show
  1. package/README.md +25 -0
  2. package/components/CheckboxGroup/CustomCheckboxGroup.d.ts +1 -1
  3. package/components/CheckboxGroup/CustomCheckboxGroup.js.map +1 -1
  4. package/components/Loop/Loop.d.ts +1 -1
  5. package/components/Loop/Loop.js +5 -27
  6. package/components/Loop/Loop.js.map +1 -1
  7. package/components/Loop/utils.d.ts +8 -0
  8. package/components/Loop/utils.js +65 -0
  9. package/components/Loop/utils.js.map +1 -0
  10. package/components/RosterForLoop/RosterForLoop.js +4 -27
  11. package/components/RosterForLoop/RosterForLoop.js.map +1 -1
  12. package/components/Roundabout/CustomRoundabout.js +2 -2
  13. package/components/Roundabout/CustomRoundabout.js.map +1 -1
  14. package/components/Roundabout/roundabout.spec.js +22 -0
  15. package/components/Roundabout/roundabout.spec.js.map +1 -1
  16. package/components/shared/Checkbox/CheckboxOption.d.ts +4 -2
  17. package/components/shared/Checkbox/CheckboxOption.js.map +1 -1
  18. package/components/shared/Radio/RadioGroup.d.ts +1 -1
  19. package/components/shared/Radio/RadioGroup.js.map +1 -1
  20. package/esm/components/CheckboxGroup/CustomCheckboxGroup.d.ts +1 -1
  21. package/esm/components/CheckboxGroup/CustomCheckboxGroup.js.map +1 -1
  22. package/esm/components/Loop/Loop.d.ts +1 -1
  23. package/esm/components/Loop/Loop.js +5 -28
  24. package/esm/components/Loop/Loop.js.map +1 -1
  25. package/esm/components/Loop/utils.d.ts +8 -0
  26. package/esm/components/Loop/utils.js +62 -0
  27. package/esm/components/Loop/utils.js.map +1 -0
  28. package/esm/components/RosterForLoop/RosterForLoop.js +5 -29
  29. package/esm/components/RosterForLoop/RosterForLoop.js.map +1 -1
  30. package/esm/components/Roundabout/CustomRoundabout.js +2 -2
  31. package/esm/components/Roundabout/CustomRoundabout.js.map +1 -1
  32. package/esm/components/Roundabout/roundabout.spec.js +22 -0
  33. package/esm/components/Roundabout/roundabout.spec.js.map +1 -1
  34. package/esm/components/shared/Checkbox/CheckboxOption.d.ts +4 -2
  35. package/esm/components/shared/Checkbox/CheckboxOption.js.map +1 -1
  36. package/esm/components/shared/Radio/RadioGroup.d.ts +1 -1
  37. package/esm/components/shared/Radio/RadioGroup.js.map +1 -1
  38. package/esm/use-lunatic/commons/compile-controls.js +33 -7
  39. package/esm/use-lunatic/commons/compile-controls.js.map +1 -1
  40. package/esm/use-lunatic/props/propIterations.js +12 -1
  41. package/esm/use-lunatic/props/propIterations.js.map +1 -1
  42. package/esm/use-lunatic/reducer/controls/check-base-control.js.map +1 -1
  43. package/package.json +16 -3
  44. package/src/components/CheckboxGroup/CustomCheckboxGroup.tsx +1 -0
  45. package/src/components/Loop/Loop.tsx +6 -35
  46. package/src/components/Loop/utils.test.ts +39 -0
  47. package/src/components/Loop/utils.ts +73 -0
  48. package/src/components/RosterForLoop/RosterForLoop.tsx +3 -33
  49. package/src/components/Roundabout/CustomRoundabout.tsx +11 -1
  50. package/src/components/Roundabout/roundabout.spec.tsx +38 -0
  51. package/src/components/shared/Checkbox/CheckboxOption.tsx +3 -2
  52. package/src/components/shared/Radio/RadioGroup.tsx +1 -0
  53. package/src/stories/behaviour/controls/controls.stories.tsx +12 -3
  54. package/src/stories/behaviour/controls/data-standalone-loop.json +17 -0
  55. package/src/stories/behaviour/controls/source-standalone-loop.json +5503 -0
  56. package/src/stories/loop/source-paginated.json +1 -1
  57. package/src/stories/roundabout/roundabout.stories.tsx +13 -0
  58. package/src/stories/roundabout/sourceWithControl.json +613 -0
  59. package/src/use-lunatic/commons/compile-controls.ts +60 -11
  60. package/src/use-lunatic/props/propIterations.ts +30 -15
  61. package/src/use-lunatic/reducer/controls/check-base-control.ts +0 -1
  62. package/src/use-lunatic/use-lunatic-bug.test.ts +42 -0
  63. package/tsconfig.build.tsbuildinfo +1 -1
  64. package/use-lunatic/commons/compile-controls.js +31 -7
  65. package/use-lunatic/commons/compile-controls.js.map +1 -1
  66. package/use-lunatic/props/propIterations.js +12 -1
  67. package/use-lunatic/props/propIterations.js.map +1 -1
  68. package/use-lunatic/reducer/controls/check-base-control.js.map +1 -1
  69. /package/src/stories/behaviour/controls/{source-loop.json → source-roster-for-loop.json} +0 -0
@@ -5,8 +5,17 @@ const fill_component_expressions_1 = require("./fill-components/fill-component-e
5
5
  const check_roundabout_control_1 = require("../reducer/controls/check-roundabout-control");
6
6
  const check_base_control_1 = require("../reducer/controls/check-base-control");
7
7
  const get_components_from_state_1 = require("./get-components-from-state");
8
+ /**
9
+ * Check if the component is a Loop or a RosterForLoop
10
+ */
8
11
  const isLoopComponent = (component) => {
9
- return ['Loop', 'RosterForLoop', 'Roundabout'].includes(component.componentType);
12
+ return ['Loop', 'RosterForLoop'].includes(component.componentType);
13
+ };
14
+ /**
15
+ * Check if the component is a Roundabout
16
+ */
17
+ const isRoundaboutComponent = (component) => {
18
+ return component.componentType === 'Roundabout';
10
19
  };
11
20
  const isQuestionComponent = (component) => {
12
21
  return 'Question' === component.componentType;
@@ -25,7 +34,10 @@ function checkComponents(state, components, currentErrors) {
25
34
  errors[component.id] = componentErrors;
26
35
  }
27
36
  }
28
- // For loop, inspect children
37
+ // For Loop and RosterForLoop, inspect iterations for row controls
38
+ if (isRoundaboutComponent(component))
39
+ errors = checkRoundabout(state, component, errors);
40
+ // For Loop and RosterForLoop, inspect children
29
41
  if (isLoopComponent(component))
30
42
  errors = checkLoop(state, component, errors);
31
43
  // For Question, loop over children
@@ -34,6 +46,13 @@ function checkComponents(state, components, currentErrors) {
34
46
  }
35
47
  return errors;
36
48
  }
49
+ function checkRoundabout(state, component, errors) {
50
+ const rowControls = component.controls?.filter((c) => c.type === 'ROW');
51
+ if (rowControls?.length) {
52
+ errors = checkComponentInLoop(state, { ...component, controls: rowControls }, errors);
53
+ }
54
+ return errors;
55
+ }
37
56
  function checkLoop(state, component, errors) {
38
57
  const rowControls = component.controls?.filter((c) => c.type === 'ROW');
39
58
  if (rowControls?.length) {
@@ -47,12 +66,10 @@ function checkLoop(state, component, errors) {
47
66
  function checkControls(controls, executeExpression, pager) {
48
67
  return controls
49
68
  .map((control) => {
50
- switch (control.type) {
51
- case 'roundabout':
52
- return (0, check_roundabout_control_1.checkRoundaboutControl)(control, executeExpression);
53
- default:
54
- return (0, check_base_control_1.checkBaseControl)(control, executeExpression, pager);
69
+ if (control.type === 'roundabout') {
70
+ return (0, check_roundabout_control_1.checkRoundaboutControl)(control, executeExpression);
55
71
  }
72
+ return (0, check_base_control_1.checkBaseControl)(control, executeExpression, pager);
56
73
  })
57
74
  .filter((error) => error !== undefined);
58
75
  }
@@ -110,6 +127,13 @@ function checkComponentInLoop(state, component, errors) {
110
127
  if (!('controls' in component) || !component.controls) {
111
128
  continue;
112
129
  }
130
+ // For Roundabout, we don't check controls for iterations that are disabled
131
+ if (component.componentType === 'Roundabout' && component.item.disabled) {
132
+ const isIterationDisabled = state.executeExpression({ value: component.item.disabled?.value, type: 'VTL' }, iterationPager);
133
+ if (isIterationDisabled) {
134
+ continue;
135
+ }
136
+ }
113
137
  // The component is filtered on this iteration, skip it
114
138
  if (
115
139
  // conditionFilter can be the interpreted expression, or the object representing the expression
@@ -1 +1 @@
1
- {"version":3,"file":"compile-controls.js","sourceRoot":"","sources":["../../src/use-lunatic/commons/compile-controls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile-controls.js","sourceRoot":"","sources":["../../src/use-lunatic/commons/compile-controls.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ function getIterationsProp(definition, state) {
15
15
  }
16
16
  // Iterations expression is not present on the component definition
17
17
  // infer it from the value of child components
18
- return definition.components.reduce((acc, component) => {
18
+ return getFlatComponentsInLoop(definition).reduce((acc, component) => {
19
19
  if (!(0, component_1.hasResponse)(component)) {
20
20
  return acc;
21
21
  }
@@ -26,4 +26,15 @@ function getIterationsProp(definition, state) {
26
26
  return acc;
27
27
  }, 0);
28
28
  }
29
+ function getFlatComponentsInLoop(definition) {
30
+ if (definition.componentType !== 'RosterForLoop' &&
31
+ definition.componentType !== 'Loop') {
32
+ return [definition];
33
+ }
34
+ return definition.components.reduce((acc, component) => {
35
+ if (component.componentType === 'Question')
36
+ return [...acc, ...component.components];
37
+ return [...acc, component];
38
+ }, []);
39
+ }
29
40
  //# sourceMappingURL=propIterations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"propIterations.js","sourceRoot":"","sources":["../../src/use-lunatic/props/propIterations.ts"],"names":[],"mappings":";;AASA,8CAyCC;AA7CD,+CAAwD;AACxD,oDAAmD;AAGnD,SAAgB,iBAAiB,CAChC,UAAsC,EACtC,KAIC;IAED,IAAI,YAAY,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QACzD,OAAO,IAAA,iBAAQ,EACd,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,EAAE;YAC9C,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;SAChC,CAAC,CACF,CAAC;IACH,CAAC;IAED,IACC,UAAU,CAAC,aAAa,KAAK,eAAe;QAC5C,UAAU,CAAC,aAAa,KAAK,MAAM,EAClC,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,mEAAmE;IACnE,8CAA8C;IAC9C,OAAQ,UAAU,CAAC,UAA2C,CAAC,MAAM,CACpE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QAClB,IAAI,CAAC,IAAA,uBAAW,EAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAChC,SAAS,CAAC,QAAQ,CAAC,IAAI,EACvB,IAAA,iBAAQ,EAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CACrE,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC,MAAM,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,EACD,CAAC,CACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"propIterations.js","sourceRoot":"","sources":["../../src/use-lunatic/props/propIterations.ts"],"names":[],"mappings":";;AASA,8CAuCC;AA3CD,+CAAwD;AACxD,oDAAmD;AAGnD,SAAgB,iBAAiB,CAChC,UAAsC,EACtC,KAIC;IAED,IAAI,YAAY,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QACzD,OAAO,IAAA,iBAAQ,EACd,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,EAAE;YAC9C,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;SAChC,CAAC,CACF,CAAC;IACH,CAAC;IAED,IACC,UAAU,CAAC,aAAa,KAAK,eAAe;QAC5C,UAAU,CAAC,aAAa,KAAK,MAAM,EAClC,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,mEAAmE;IACnE,8CAA8C;IAE9C,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QACpE,IAAI,CAAC,IAAA,uBAAW,EAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAChC,SAAS,CAAC,QAAQ,CAAC,IAAI,EACvB,IAAA,iBAAQ,EAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CACrE,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC,MAAM,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB,CAC/B,UAAsC;IAEtC,IACC,UAAU,CAAC,aAAa,KAAK,eAAe;QAC5C,UAAU,CAAC,aAAa,KAAK,MAAM,EAClC,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QACtD,IAAI,SAAS,CAAC,aAAa,KAAK,UAAU;YACzC,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAkC,CAAC,CAAC;AACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-base-control.js","sourceRoot":"","sources":["../../../src/use-lunatic/reducer/controls/check-base-control.ts"],"names":[],"mappings":";;AAOA,4CAuCC;AAvCD,SAAgB,gBAAgB,CAC/B,WAA2B,EAC3B,iBAA2D,EAC3D,KAAmC;IAEnC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAC7C,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAE9E,uEAAuE;IACvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE;QACzC,SAAS,EAAE,eAAe,IAAI,SAAS;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC;QACJ;;;;;WAKG;QACH,IAAI,MAAM;YAAE,OAAO,SAAS,CAAC;QAE7B,MAAM,KAAK,GAAG,iBAAiB,CAAY,YAAY,EAAE;YACxD,SAAS;SACT,CAAC,CAAC;QACH,OAAO;YACN,WAAW;YACX,YAAY,EAAE,KAAK;YACnB,EAAE;YACF,aAAa;SACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,CAAC,IAAI,CAAC,+BAA+B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"check-base-control.js","sourceRoot":"","sources":["../../../src/use-lunatic/reducer/controls/check-base-control.ts"],"names":[],"mappings":";;AAOA,4CAsCC;AAtCD,SAAgB,gBAAgB,CAC/B,WAA2B,EAC3B,iBAA2D,EAC3D,KAAmC;IAEnC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAC7C,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAE9E,uEAAuE;IACvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE;QACzC,SAAS,EAAE,eAAe,IAAI,SAAS;KACvC,CAAC,CAAC;IACH,IAAI,CAAC;QACJ;;;;;WAKG;QACH,IAAI,MAAM;YAAE,OAAO,SAAS,CAAC;QAE7B,MAAM,KAAK,GAAG,iBAAiB,CAAY,YAAY,EAAE;YACxD,SAAS;SACT,CAAC,CAAC;QACH,OAAO;YACN,WAAW;YACX,YAAY,EAAE,KAAK;YACnB,EAAE;YACF,aAAa;SACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,CAAC,IAAI,CAAC,+BAA+B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC"}