@inseefr/lunatic 2.6.3-rc.1 → 2.6.4

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 (261) hide show
  1. package/README.md +49 -3
  2. package/lib/components/checkbox/checkbox-boolean/html/checkbox-boolean.js +3 -3
  3. package/lib/components/checkbox/checkbox-boolean/lunatic-checkbox-boolean.js +7 -1
  4. package/lib/components/checkbox/checkbox-group/checkbox-group-content.js +0 -2
  5. package/lib/components/checkbox/checkbox-group/html/checkbox-group-content.js +4 -2
  6. package/lib/components/checkbox/checkbox-group/html/checkbox-group.js +3 -3
  7. package/lib/components/checkbox/checkbox-group/lunatic-checkbox-group.js +2 -1
  8. package/lib/components/checkbox/checkbox-one/lunatic-checkbox-one.js +2 -1
  9. package/lib/components/checkbox/commons/checkbox-option.js +3 -1
  10. package/lib/components/commons/components/combo-box/combo-box-container.js +1 -2
  11. package/lib/components/commons/components/combo-box/combo-box.js +2 -2
  12. package/lib/components/commons/components/combo-box/selection/LabelOrInput.js +3 -1
  13. package/lib/components/commons/components/combo-box/selection/input.js +3 -1
  14. package/lib/components/commons/components/combo-box/selection/selection.js +3 -1
  15. package/lib/components/commons/components/errors/errors.js +12 -10
  16. package/lib/components/commons/components/errors/errors.spec.js +6 -6
  17. package/lib/components/component-set/html/__snapshots__/component-set.spec.tsx.snap +2 -0
  18. package/lib/components/component-set/html/component-set.js +2 -2
  19. package/lib/components/datepicker/html/__snapshots__/datepicker.spec.tsx.snap +2 -0
  20. package/lib/components/datepicker/html/datepicker-input.js +4 -2
  21. package/lib/components/datepicker/html/datepicker.js +3 -3
  22. package/lib/components/datepicker/lunatic-datepicker.js +2 -1
  23. package/lib/components/dropdown/lunatic-dropdown.js +2 -1
  24. package/lib/components/index.js +4 -4
  25. package/lib/components/input/html/__snapshots__/input.spec.tsx.snap +2 -0
  26. package/lib/components/input/html/input.js +3 -3
  27. package/lib/components/input/lunatic-input.js +2 -1
  28. package/lib/components/input-number/html/__snapshots__/input-number.spec.tsx.snap +2 -2
  29. package/lib/components/input-number/html/input-number-thousand.js +4 -17
  30. package/lib/components/input-number/html/input-number.js +3 -5
  31. package/lib/components/input-number/lunatic-input-number.js +2 -3
  32. package/lib/components/loop/block-for-loop.js +10 -6
  33. package/lib/components/loop/roster-for-loop/roster-for-loop.js +35 -27
  34. package/lib/components/loop/utils/get-initial-nb-rows.js +17 -0
  35. package/lib/components/lunatic-components.js +7 -27
  36. package/lib/components/pairwise-links/index.js +13 -0
  37. package/lib/components/pairwise-links/orchestrator.js +71 -0
  38. package/lib/components/pairwise-links/pairwise-links.js +30 -27
  39. package/lib/components/pairwise-links/row.js +74 -0
  40. package/lib/components/radio/html/radio-group-content.js +4 -2
  41. package/lib/components/radio/html/radio-group.js +3 -3
  42. package/lib/components/radio/html/radio-option.js +3 -1
  43. package/lib/components/radio/lunatic-radio-group.js +2 -1
  44. package/lib/components/suggester/find-best-label/find-best-label.js +6 -6
  45. package/lib/components/suggester/idb-suggester/idb-suggester.js +4 -3
  46. package/lib/components/suggester/lunatic-suggester.js +7 -4
  47. package/lib/components/suggester/searching/create-searching.js +20 -39
  48. package/lib/components/switch/html/switch.js +2 -2
  49. package/lib/components/switch/lunatic-switch.js +2 -1
  50. package/lib/components/table/cell.js +89 -0
  51. package/lib/components/table/{table-header.js → header.js} +5 -3
  52. package/lib/components/table/index.js +13 -0
  53. package/lib/components/table/lunatic-table.js +15 -24
  54. package/lib/components/table/row.js +40 -0
  55. package/lib/components/table/table-orchestrator.js +35 -0
  56. package/lib/components/textarea/html/__snapshots__/textarea.spec.tsx.snap +2 -0
  57. package/lib/components/textarea/html/textarea.js +6 -4
  58. package/lib/components/textarea/lunatic-textarea.js +6 -3
  59. package/lib/hooks/use-auto-focus.js +26 -0
  60. package/lib/src/components/checkbox/checkbox-boolean/html/checkbox-boolean.d.ts +1 -1
  61. package/lib/src/components/checkbox/checkbox-group/html/checkbox-group-content.d.ts +2 -1
  62. package/lib/src/components/checkbox/checkbox-group/html/checkbox-group.d.ts +1 -1
  63. package/lib/src/components/checkbox/commons/checkbox-option.d.ts +1 -0
  64. package/lib/src/components/commons/components/combo-box/combo-box-container.d.ts +2 -2
  65. package/lib/src/components/commons/components/combo-box/combo-box.d.ts +2 -2
  66. package/lib/src/components/commons/components/combo-box/combo-box.stories.d.ts +4 -6
  67. package/lib/src/components/commons/components/combo-box/selection/LabelOrInput.d.ts +1 -0
  68. package/lib/src/components/commons/components/combo-box/selection/input.d.ts +1 -0
  69. package/lib/src/components/commons/components/combo-box/selection/selection.d.ts +2 -1
  70. package/lib/src/components/commons/components/errors/errors.d.ts +6 -3
  71. package/lib/src/components/datepicker/html/datepicker-input.d.ts +2 -1
  72. package/lib/src/components/datepicker/html/datepicker.d.ts +1 -1
  73. package/lib/src/components/dropdown/html/dropdown-writable/dropdown-writable.d.ts +1 -1
  74. package/lib/src/components/dropdown/html/dropdown.d.ts +3 -1
  75. package/lib/src/components/index.d.ts +2 -2
  76. package/lib/src/components/input/html/input.d.ts +2 -2
  77. package/lib/src/components/input-number/html/input-number-thousand.d.ts +2 -2
  78. package/lib/src/components/input-number/html/input-number.d.ts +2 -3
  79. package/lib/src/components/loop/block-for-loop.d.ts +4 -3
  80. package/lib/src/components/loop/roster-for-loop/roster-for-loop.d.ts +4 -3
  81. package/lib/src/components/loop/utils/get-initial-nb-rows.d.ts +4 -0
  82. package/lib/src/components/lunatic-components.d.ts +3 -5
  83. package/lib/src/components/pairwise-links/index.d.ts +1 -0
  84. package/lib/src/components/pairwise-links/orchestrator.d.ts +6 -0
  85. package/lib/src/components/pairwise-links/pairwise-links.d.ts +2 -1
  86. package/lib/src/components/pairwise-links/row.d.ts +7 -0
  87. package/lib/src/components/radio/html/radio-group-content.d.ts +2 -1
  88. package/lib/src/components/radio/html/radio-group.d.ts +1 -1
  89. package/lib/src/components/radio/html/radio-option.d.ts +1 -0
  90. package/lib/src/components/suggester/find-best-label/find-best-label.d.ts +1 -1
  91. package/lib/src/components/suggester/html/suggester.d.ts +1 -1
  92. package/lib/src/components/suggester/idb-suggester/idb-suggester.d.ts +5 -2
  93. package/lib/src/components/suggester/lunatic-suggester.d.ts +1 -1
  94. package/lib/src/components/suggester/searching/create-searching.d.ts +1 -1
  95. package/lib/src/components/switch/html/switch.d.ts +1 -1
  96. package/lib/src/components/table/cell.d.ts +19 -0
  97. package/lib/src/components/table/{table-header.d.ts → header.d.ts} +2 -2
  98. package/lib/src/components/table/index.d.ts +1 -0
  99. package/lib/src/components/table/lunatic-table.d.ts +1 -1
  100. package/lib/src/components/table/row.d.ts +18 -0
  101. package/lib/src/components/table/table-orchestrator.d.ts +4 -0
  102. package/lib/src/components/textarea/html/textarea.d.ts +3 -2
  103. package/lib/src/components/type.d.ts +9 -7
  104. package/lib/src/hooks/use-auto-focus.d.ts +6 -0
  105. package/lib/src/use-lunatic/actions.d.ts +19 -3
  106. package/lib/src/use-lunatic/commons/calculated-variables.d.ts +8 -0
  107. package/lib/src/use-lunatic/commons/compile-controls.d.ts +2 -3
  108. package/lib/src/use-lunatic/commons/execute-expression/create-execute-expression.d.ts +9 -0
  109. package/lib/src/use-lunatic/commons/execute-expression/create-memoizer.d.ts +8 -0
  110. package/lib/src/use-lunatic/commons/execute-expression/create-refresh-calculated.d.ts +24 -0
  111. package/lib/src/use-lunatic/commons/execute-expression/execute-expression.d.ts +11 -0
  112. package/lib/src/use-lunatic/commons/execute-expression/get-expressions-variables.d.ts +7 -0
  113. package/lib/src/use-lunatic/commons/execute-expression/get-expressions-variables.spec.d.ts +1 -0
  114. package/lib/src/use-lunatic/commons/execute-expression/get-safety-expression.d.ts +6 -0
  115. package/lib/src/use-lunatic/commons/execute-expression/index.d.ts +1 -0
  116. package/lib/src/use-lunatic/commons/fill-components/fill-component-required.d.ts +418 -0
  117. package/lib/src/use-lunatic/commons/fill-components/fill-component-value.d.ts +3 -2
  118. package/lib/src/use-lunatic/commons/fill-components/fill-components.d.ts +0 -6
  119. package/lib/src/use-lunatic/commons/fill-components/fill-from-state.d.ts +142 -107
  120. package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.d.ts +89 -53
  121. package/lib/src/use-lunatic/commons/get-compatible-vtl-expression.d.ts +0 -1
  122. package/lib/src/use-lunatic/commons/get-component-value/get-component-value.d.ts +6 -0
  123. package/lib/src/use-lunatic/commons/get-component-value/index.d.ts +1 -0
  124. package/lib/src/use-lunatic/commons/get-data.d.ts +26 -0
  125. package/lib/src/use-lunatic/commons/index.d.ts +3 -0
  126. package/lib/src/use-lunatic/reducer/overview/overview-on-init.d.ts +9 -10
  127. package/lib/src/use-lunatic/reducer/reduce-handle-change/index.d.ts +1 -0
  128. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-cleaning.d.ts +7 -0
  129. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-cleaning.spec.d.ts +1 -0
  130. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-handle-change.d.ts +4 -0
  131. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-links-variable.d.ts +15 -0
  132. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-missing.d.ts +7 -0
  133. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-resizing.d.ts +4 -0
  134. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-variables-array.d.ts +14 -0
  135. package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-variables-simple.d.ts +9 -0
  136. package/lib/src/use-lunatic/reducer/reduce-on-init.d.ts +12 -1
  137. package/lib/src/use-lunatic/reducer/reduce-on-init.spec.d.ts +1 -0
  138. package/lib/src/use-lunatic/type-source.d.ts +21 -7
  139. package/lib/src/use-lunatic/type.d.ts +12 -13
  140. package/lib/src/use-lunatic/use-lunatic.d.ts +62 -36
  141. package/lib/src/use-lunatic/use-suggesters.d.ts +2 -1
  142. package/lib/src/utils/array.d.ts +1 -6
  143. package/lib/src/utils/number.d.ts +0 -4
  144. package/lib/src/utils/suggester-workers/append-to-index/create-append-task.d.ts +1 -1
  145. package/lib/src/utils/suggester-workers/searching/meloto-order.d.ts +2 -1
  146. package/lib/src/utils/suggester-workers/worker-path.d.ts +6 -0
  147. package/lib/src/utils/vtl/dataset-builder.d.ts +5 -0
  148. package/lib/src/utils/vtl/index.d.ts +1 -0
  149. package/lib/stories/behaviour/cleaning/source.json +151 -0
  150. package/lib/stories/behaviour/cleaning/test.stories.js +84 -0
  151. package/lib/stories/{questionnaires-test → behaviour}/controls/controls.stories.js +5 -5
  152. package/lib/stories/{questionnaires-test → behaviour/others}/test.stories.js +7 -7
  153. package/lib/stories/{paste-questionnaire → behaviour/paste}/test.stories.js +3 -3
  154. package/lib/stories/{resizing-questionnaire → behaviour/resizing}/test.stories.js +3 -3
  155. package/lib/stories/suggester/suggester-workers.stories.js +36 -1
  156. package/lib/stories/suggester/suggester.stories.js +8 -4
  157. package/lib/use-lunatic/actions.js +3 -3
  158. package/lib/use-lunatic/commons/calculated-variables.js +104 -0
  159. package/lib/use-lunatic/commons/compile-controls.js +5 -3
  160. package/lib/use-lunatic/commons/execute-condition-filter.js +9 -1
  161. package/lib/use-lunatic/commons/execute-expression/create-execute-expression.js +233 -0
  162. package/lib/use-lunatic/commons/execute-expression/create-execute-expression.spec.js +155 -0
  163. package/lib/use-lunatic/commons/execute-expression/create-memoizer.js +63 -0
  164. package/lib/use-lunatic/commons/execute-expression/create-refresh-calculated.js +149 -0
  165. package/lib/use-lunatic/commons/execute-expression/create-refresh-calculated.spec.js +130 -0
  166. package/lib/use-lunatic/commons/execute-expression/execute-expression.js +90 -0
  167. package/lib/use-lunatic/commons/execute-expression/execute-expression.spec.js +38 -0
  168. package/lib/use-lunatic/commons/execute-expression/get-expressions-variables.js +40 -0
  169. package/lib/use-lunatic/commons/execute-expression/get-expressions-variables.spec.js +31 -0
  170. package/lib/use-lunatic/commons/{fill-components/fill-iterations.js → execute-expression/get-safety-expression.js} +20 -30
  171. package/lib/use-lunatic/commons/execute-expression/index.js +13 -0
  172. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +3 -2
  173. package/lib/use-lunatic/{reducer/reduce-handle-change.js → commons/fill-components/fill-component-required.js} +8 -14
  174. package/lib/use-lunatic/commons/fill-components/fill-component-value.js +7 -21
  175. package/lib/use-lunatic/commons/fill-components/fill-components.js +4 -5
  176. package/lib/use-lunatic/commons/fill-components/fill-from-state.js +2 -0
  177. package/lib/use-lunatic/commons/fill-components/fill-missing-response.js +13 -6
  178. package/lib/use-lunatic/commons/fill-components/fill-specific-expression.js +5 -58
  179. package/lib/use-lunatic/commons/get-compatible-vtl-expression.js +0 -1
  180. package/lib/use-lunatic/commons/get-component-value/get-component-value.js +174 -0
  181. package/lib/use-lunatic/commons/get-component-value/index.js +13 -0
  182. package/lib/use-lunatic/commons/get-data.js +80 -0
  183. package/lib/use-lunatic/commons/index.js +21 -0
  184. package/lib/use-lunatic/initial-state.js +4 -6
  185. package/lib/use-lunatic/reducer/overview/overview-on-change.js +1 -1
  186. package/lib/use-lunatic/reducer/reduce-handle-change/__mocks__/source-cleaning-loop.json +792 -0
  187. package/lib/use-lunatic/reducer/reduce-handle-change/index.js +13 -0
  188. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-cleaning.js +78 -0
  189. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-cleaning.spec.js +46 -0
  190. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-handle-change.js +115 -0
  191. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-links-variable.js +89 -0
  192. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-missing.js +88 -0
  193. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-resizing.js +119 -0
  194. package/lib/use-lunatic/{commons/variables/get-questionnaire-data.js → reducer/reduce-handle-change/reduce-variables-array.js} +32 -53
  195. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-variables-simple.js +28 -0
  196. package/lib/use-lunatic/reducer/reduce-on-init.js +184 -90
  197. package/lib/use-lunatic/reducer/reduce-on-init.spec.js +17 -0
  198. package/lib/use-lunatic/reducer/reducer.js +2 -2
  199. package/lib/use-lunatic/reducer/resolve-component-controls/resolve-simple-control.js +4 -2
  200. package/lib/use-lunatic/use-lunatic.js +29 -22
  201. package/lib/use-lunatic/use-lunatic.test.js +36 -133
  202. package/lib/use-lunatic/use-suggesters.js +4 -3
  203. package/lib/utils/array.js +6 -57
  204. package/lib/utils/get-component-value.js +9 -3
  205. package/lib/utils/number.js +1 -13
  206. package/lib/utils/suggester-workers/append-to-index/create-append-task.js +4 -3
  207. package/lib/utils/suggester-workers/searching/meloto-order.js +6 -5
  208. package/lib/utils/suggester-workers/worker-path.js +29 -0
  209. package/lib/utils/vtl/dataset-builder.js +27 -0
  210. package/lib/utils/vtl/index.js +13 -0
  211. package/package.json +15 -10
  212. package/scripts/build/add-workers-to-public.js +44 -0
  213. package/scripts/build/workers-paths.js +44 -0
  214. package/workers-release/lunatic-append-worker-0.3.0-experimental.js +2 -0
  215. package/workers-release/lunatic-append-worker-0.3.0-experimental.js.LICENSE.txt +34 -0
  216. package/workers-release/lunatic-label-worker-0.3.0-experimental.js +2 -0
  217. package/workers-release/lunatic-label-worker-0.3.0-experimental.js.LICENSE.txt +13 -0
  218. package/workers-release/lunatic-searching-worker-0.3.0-experimental.js +2 -0
  219. package/workers-release/lunatic-searching-worker-0.3.0-experimental.js.LICENSE.txt +34 -0
  220. package/lib/hooks/use-track-changes.js +0 -50
  221. package/lib/src/hooks/use-track-changes.d.ts +0 -9
  222. package/lib/src/use-lunatic/commons/component.d.ts +0 -22
  223. package/lib/src/use-lunatic/commons/fill-components/fill-iterations.d.ts +0 -112
  224. package/lib/src/use-lunatic/commons/variables/behaviours/cleaning-behaviour.d.ts +0 -7
  225. package/lib/src/use-lunatic/commons/variables/behaviours/missing-behaviour.d.ts +0 -7
  226. package/lib/src/use-lunatic/commons/variables/behaviours/resizing-behaviour.d.ts +0 -7
  227. package/lib/src/use-lunatic/commons/variables/get-questionnaire-data.d.ts +0 -4
  228. package/lib/src/use-lunatic/commons/variables/lunatic-variables-store.d.ts +0 -77
  229. package/lib/src/use-lunatic/reducer/reduce-handle-change.d.ts +0 -6
  230. package/lib/src/utils/env.d.ts +0 -1
  231. package/lib/src/utils/store-tools/worker-path.d.ts +0 -1
  232. package/lib/src/utils/variables.d.ts +0 -5
  233. package/lib/src/utils/vtl.d.ts +0 -14
  234. package/lib/use-lunatic/commons/component.js +0 -22
  235. package/lib/use-lunatic/commons/variables/behaviours/cleaning-behaviour.js +0 -39
  236. package/lib/use-lunatic/commons/variables/behaviours/missing-behaviour.js +0 -47
  237. package/lib/use-lunatic/commons/variables/behaviours/resizing-behaviour.js +0 -78
  238. package/lib/use-lunatic/commons/variables/lunatic-variables-store.js +0 -330
  239. package/lib/use-lunatic/commons/variables/lunatic-variables-store.spec.js +0 -216
  240. package/lib/utils/array.spec.js +0 -30
  241. package/lib/utils/env.js +0 -10
  242. package/lib/utils/store-tools/worker-path.js +0 -13
  243. package/lib/utils/suggester-workers/create-worker.js +0 -55
  244. package/lib/utils/variables.js +0 -37
  245. package/lib/utils/vtl.js +0 -100
  246. /package/lib/src/use-lunatic/commons/{variables/lunatic-variables-store.spec.d.ts → execute-expression/create-refresh-calculated.spec.d.ts} +0 -0
  247. /package/lib/src/{utils/array.spec.d.ts → use-lunatic/commons/execute-expression/execute-expression.spec.d.ts} +0 -0
  248. /package/lib/stories/{questionnaires-test → behaviour}/controls/V2_ControlesNonNum_horsBoucle_PasPageFin.json +0 -0
  249. /package/lib/stories/{questionnaires-test → behaviour}/controls/V2_ControlesNum_horsBoucle_PasPageFin.json +0 -0
  250. /package/lib/stories/{questionnaires-test → behaviour}/controls/V2_Controles_BouclesLiees2_PasPageFin.json +0 -0
  251. /package/lib/stories/{questionnaires-test → behaviour}/controls/V2_Controles_BouclesLiees_PasPageFin.json +0 -0
  252. /package/lib/stories/{questionnaires-test → behaviour}/controls/boucles-n.json +0 -0
  253. /package/lib/stories/{questionnaires-test → behaviour}/controls/controls-externes.json +0 -0
  254. /package/lib/stories/{questionnaires-test → behaviour}/controls/controls-externes.stories.js +0 -0
  255. /package/lib/stories/{questionnaires-test → behaviour/others}/V2_DeclarationsSimples.json +0 -0
  256. /package/lib/stories/{questionnaires-test → behaviour/others}/V2_MinMaxSum_Boucles.json +0 -0
  257. /package/lib/stories/{questionnaires-test → behaviour/others}/V2_QuestSimple_Boucles.json +0 -0
  258. /package/lib/stories/{questionnaires-test → behaviour/others}/V2_TCMRallyeGames.json +0 -0
  259. /package/lib/stories/{questionnaires-test → behaviour/others}/test-dylan.json +0 -0
  260. /package/lib/stories/{paste-questionnaire → behaviour/paste}/source.json +0 -0
  261. /package/lib/stories/{resizing-questionnaire → behaviour/resizing}/source.json +0 -0
@@ -24,7 +24,7 @@ var VTL_ATTRIBUTES = ['label', 'options.label', 'responses.label', 'hierarchy.la
24
24
  // Disable controls compilation
25
25
  // 'controls.control',
26
26
  // 'controls.errorMessage',
27
- 'controls.iterations', 'lines.min', 'lines.max', 'xAxisIterations', 'yAxisIterations', 'conditionFilter', 'headers.label', 'header.label', 'disabled', 'readOnly'];
27
+ 'controls.iterations', 'lines.min', 'lines.max', 'iterations', 'xAxisIterations', 'yAxisIterations', 'conditionFilter', 'headers.label', 'header.label', 'disabled', 'readOnly'];
28
28
 
29
29
  // Utility type to replace all expression from an object into a translated version
30
30
 
@@ -39,7 +39,8 @@ function createCrawl(_ref) {
39
39
  var candidate = object[path];
40
40
  try {
41
41
  return _objectSpread(_objectSpread({}, object), {}, _defineProperty({}, path, executeExpression(candidate, {
42
- iteration: linksIterations !== null && linksIterations !== void 0 ? linksIterations : iteration
42
+ iteration: iteration,
43
+ linksIterations: linksIterations
43
44
  })));
44
45
  } catch (e) {
45
46
  return _objectSpread(_objectSpread({}, object), {}, _defineProperty({}, path, e instanceof Error ? e.toString() : e));
@@ -3,8 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.reduceHandleChange = reduceHandleChange;
7
- var _number = require("../../utils/number");
6
+ exports.fillComponentRequired = fillComponentRequired;
8
7
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
9
8
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
9
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -12,18 +11,13 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
12
11
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
12
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
14
13
  /**
15
- * Update collected variables
14
+ * Add required attribute on component that are mandatory
16
15
  */
17
- function reduceHandleChange(state, action) {
18
- var iteration = action.payload.iteration;
19
- // Resolve iteration from pager for loops
20
- if (!iteration && (0, _number.isNumber)(state.pager.iteration)) {
21
- iteration = [state.pager.iteration];
16
+ function fillComponentRequired(component) {
17
+ if (component.mandatory) {
18
+ return _objectSpread(_objectSpread({}, component), {}, {
19
+ required: true
20
+ });
22
21
  }
23
- state.updateBindings(action.payload.name, action.payload.value, {
24
- iteration: iteration
25
- });
26
- return _objectSpread(_objectSpread({}, state), {}, {
27
- updatedAt: Date.now()
28
- });
22
+ return component;
29
23
  }
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.fillComponentValue = fillComponentValue;
7
- var _component = require("../component");
8
- var _number = require("../../../utils/number");
6
+ exports["default"] = void 0;
7
+ var _getComponentValue = _interopRequireDefault(require("../get-component-value"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
9
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
10
10
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
11
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -13,24 +13,10 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
13
13
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
14
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
15
  function fillComponentValue(component, state) {
16
+ var value = (0, _getComponentValue["default"])(component, state);
16
17
  return _objectSpread(_objectSpread({}, component), {}, {
17
- value: getValueForComponent(component, state)
18
+ value: value
18
19
  });
19
20
  }
20
- function getValueForComponent(component, state) {
21
- var iteration = (0, _number.isNumber)(state.pager.iteration) ? [state.pager.iteration] : undefined;
22
- if (state.pager.linksIterations) {
23
- iteration = state.pager.linksIterations;
24
- }
25
- if ((0, _component.hasResponses)(component)) {
26
- var _component$responses$, _component$responses;
27
- return Object.entries((_component$responses$ = (_component$responses = component.responses) === null || _component$responses === void 0 ? void 0 : _component$responses.map(function (_ref) {
28
- var response = _ref.response;
29
- return [response.name, state.variables.get(response.name, iteration)];
30
- })) !== null && _component$responses$ !== void 0 ? _component$responses$ : []);
31
- }
32
- if ((0, _component.hasResponse)(component)) {
33
- return state.variables.get(component.response.name, iteration);
34
- }
35
- return null;
36
- }
21
+ var _default = fillComponentValue;
22
+ exports["default"] = _default;
@@ -3,15 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.fillComponent = exports["default"] = void 0;
6
+ exports["default"] = void 0;
7
7
  var _fillComponentExpressions = _interopRequireDefault(require("./fill-component-expressions"));
8
- var _fillComponentValue = require("./fill-component-value");
8
+ var _fillComponentValue = _interopRequireDefault(require("./fill-component-value"));
9
9
  var _fillFromState = _interopRequireDefault(require("./fill-from-state"));
10
10
  var _fillManagement = _interopRequireDefault(require("./fill-management"));
11
11
  var _fillMissingResponse = _interopRequireDefault(require("./fill-missing-response"));
12
12
  var _fillPagination = _interopRequireDefault(require("./fill-pagination"));
13
13
  var _fillSpecificExpression = _interopRequireDefault(require("./fill-specific-expression"));
14
- var _fillIterations = require("./fill-iterations");
14
+ var _fillComponentRequired = require("./fill-component-required");
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
16
  /**
17
17
  * Compose multiple methods together to create a new method
@@ -36,12 +36,11 @@ function compose() {
36
36
  *
37
37
  * Force typing for this function since it's doo dynamic
38
38
  */
39
- var fillComponent = compose(_fillFromState["default"], _fillComponentExpressions["default"], _fillPagination["default"], _fillComponentValue.fillComponentValue, _fillMissingResponse["default"], _fillManagement["default"], _fillIterations.fillIterations, _fillSpecificExpression["default"]);
39
+ var fillComponent = compose(_fillFromState["default"], _fillComponentExpressions["default"], _fillPagination["default"], _fillComponentValue["default"], _fillMissingResponse["default"], _fillComponentRequired.fillComponentRequired, _fillManagement["default"], _fillSpecificExpression["default"]);
40
40
 
41
41
  /**
42
42
  * Fill components with values coming from the state, and interpret VTL expression
43
43
  */
44
- exports.fillComponent = fillComponent;
45
44
  function fillComponents(components, state) {
46
45
  return components.map(function (component) {
47
46
  return fillComponent(component, state);
@@ -20,6 +20,7 @@ function fillFromState(component, state) {
20
20
  goToPage = state.goToPage,
21
21
  shortcut = state.shortcut,
22
22
  getSuggesterStatus = state.getSuggesterStatus,
23
+ workersBasePath = state.workersBasePath,
23
24
  goNextPage = state.goNextPage,
24
25
  goPreviousPage = state.goPreviousPage;
25
26
  return _objectSpread(_objectSpread({}, component), {}, {
@@ -29,6 +30,7 @@ function fillFromState(component, state) {
29
30
  goToPage: goToPage,
30
31
  shortcut: shortcut,
31
32
  getSuggesterStatus: getSuggesterStatus,
33
+ workersBasePath: workersBasePath,
32
34
  goNextPage: goNextPage,
33
35
  goPreviousPage: goPreviousPage
34
36
  });
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _number = require("../../../utils/number");
8
7
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
9
8
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
9
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -20,11 +19,19 @@ function fillMissingResponse(component, state) {
20
19
  return component;
21
20
  }
22
21
  var missingResponse = component.missingResponse;
23
- return _objectSpread(_objectSpread({}, component), {}, {
24
- missingResponse: _objectSpread(_objectSpread({}, missingResponse), {}, {
25
- value: state.variables.get(missingResponse.name, (0, _number.isNumber)(state.pager.iteration) ? [state.pager.iteration] : undefined)
26
- })
27
- });
22
+ var variables = state.variables,
23
+ pager = state.pager;
24
+ var name = missingResponse.name;
25
+ if (name in variables) {
26
+ var value = variables[name].value;
27
+ var missingValue = pager.iteration === undefined ? value : value[pager.iteration];
28
+ return _objectSpread(_objectSpread({}, component), {}, {
29
+ missingResponse: _objectSpread(_objectSpread({}, missingResponse), {}, {
30
+ value: missingValue
31
+ })
32
+ });
33
+ }
34
+ return component;
28
35
  }
29
36
  var _default = fillMissingResponse;
30
37
  exports["default"] = _default;
@@ -5,11 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
- var _fillComponents = _interopRequireWildcard(require("./fill-components"));
9
- var _component = require("../component");
10
- var _vtl = require("../../../utils/vtl");
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
8
+ var _fillComponents = _interopRequireDefault(require("./fill-components"));
9
+ var _array = require("../../../utils/array");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
11
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
12
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
13
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -61,9 +59,8 @@ function fillChildComponentsWithIteration(component, state) {
61
59
  getComponents: function getComponents(iteration) {
62
60
  return (0, _fillComponents["default"])(component.components, _objectSpread(_objectSpread({}, state), {}, {
63
61
  handleChange: function handleChange(response, value) {
64
- state.handleChange(response, value, {
65
- iteration: [iteration]
66
- });
62
+ var _component$value$resp, _component$value;
63
+ state.handleChange(response, (0, _array.setAtIndex)((_component$value$resp = (_component$value = component.value) === null || _component$value === void 0 ? void 0 : _component$value[response.name]) !== null && _component$value$resp !== void 0 ? _component$value$resp : [], iteration, value));
67
64
  },
68
65
  pager: _objectSpread(_objectSpread({}, state.pager), {}, {
69
66
  iteration: iteration,
@@ -74,52 +71,6 @@ function fillChildComponentsWithIteration(component, state) {
74
71
  });
75
72
  }
76
73
 
77
- /**
78
- * For pairwise, inject a method to retrieve component at a specific iteration combination
79
- */
80
- function fillPairwise(component, state) {
81
- return _objectSpread(_objectSpread({}, component), {}, {
82
- getComponents: function getComponents(x, y) {
83
- if (x === y) {
84
- return [];
85
- }
86
- return (0, _fillComponents["default"])(component.components, _objectSpread(_objectSpread({}, state), {}, {
87
- handleChange: function handleChange(response, value) {
88
- state.handleChange(response, value, {
89
- iteration: [x, y]
90
- });
91
- // Update linked value
92
- if (response.name in component.symLinks && value in component.symLinks[response.name]) {
93
- state.handleChange(response, component.symLinks[response.name][value], {
94
- iteration: [y, x]
95
- });
96
- }
97
- },
98
- pager: _objectSpread(_objectSpread({}, state.pager), {}, {
99
- linksIterations: [x, y],
100
- subPage: 0 // Fake a subpage to simulate an iteration
101
- })
102
- }));
103
- }
104
- });
105
- }
106
-
107
- /**
108
- * For pairwise, inject a method to retrieve component at a specific iteration combination
109
- */
110
- function fillTable(component, state) {
111
- return _objectSpread(_objectSpread({}, component), {}, {
112
- body: component.body.map(function (row) {
113
- return row.map(function (component) {
114
- if ((0, _component.hasComponentType)(component)) {
115
- return (0, _fillComponents.fillComponent)(component, state);
116
- }
117
- return state.executeExpression((0, _vtl.getVTLCompatibleValue)(component.label));
118
- });
119
- })
120
- });
121
- }
122
-
123
74
  /**
124
75
  * Fill component specific props (RoundAbout for instance)
125
76
  */
@@ -132,10 +83,6 @@ function fillSpecificExpressions(component, state) {
132
83
  case 'Loop':
133
84
  case 'RosterForLoop':
134
85
  return fillChildComponentsWithIteration(component, state);
135
- case 'PairwiseLinks':
136
- return fillPairwise(component, state);
137
- case 'Table':
138
- return fillTable(component, state);
139
86
  default:
140
87
  return component;
141
88
  }
@@ -8,7 +8,6 @@ var _constants = require("../../utils/constants");
8
8
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
9
9
  /**
10
10
  * Ensure that an expression is compatible with VTL (convert if necessary)
11
- * @deprecated use getExpressionAsString() instead
12
11
  */
13
12
  function getCompatibleVTLExpression(expression) {
14
13
  if (typeof expression === 'string') {
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
10
+ function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
11
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
20
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
21
+ function isInSubPage(state) {
22
+ return state.pager.subPage !== undefined;
23
+ }
24
+
25
+ /**
26
+ * Add the value from variable indexed by response name
27
+ */
28
+ function mergeResponse(_ref) {
29
+ var map = _ref.map,
30
+ response = _ref.response,
31
+ variables = _ref.variables;
32
+ var name = response.name;
33
+ if (name in variables) {
34
+ return _objectSpread(_objectSpread({}, map), {}, _defineProperty({}, name, variables[name].value));
35
+ }
36
+ return map;
37
+ }
38
+ function collecteArrayResponses(_ref2) {
39
+ var components = _ref2.components,
40
+ variables = _ref2.variables,
41
+ _ref2$map = _ref2.map,
42
+ map = _ref2$map === void 0 ? {} : _ref2$map;
43
+ return components.reduce(function (sub, component) {
44
+ return collecteComponentResponse({
45
+ component: component,
46
+ variables: variables,
47
+ map: sub
48
+ });
49
+ }, map);
50
+ }
51
+ function collectCell(_ref3) {
52
+ var cell = _ref3.cell,
53
+ variables = _ref3.variables,
54
+ map = _ref3.map;
55
+ var _cell = _toArray(cell),
56
+ component = _cell[0],
57
+ rest = _cell.slice(1);
58
+ var componentType = component.componentType;
59
+ var next = map;
60
+ if (componentType) {
61
+ next = _objectSpread(_objectSpread({}, map), collecteComponentResponse({
62
+ component: component,
63
+ variables: variables,
64
+ map: map
65
+ }));
66
+ }
67
+ if (rest.length) {
68
+ return collectCell({
69
+ cell: rest,
70
+ variables: variables,
71
+ map: next
72
+ });
73
+ }
74
+ return next;
75
+ }
76
+ function collectTableResponse(_ref4) {
77
+ var map = _ref4.map,
78
+ body = _ref4.body,
79
+ variables = _ref4.variables;
80
+ if (Array.isArray(body)) {
81
+ return body.reduce(function (sub, cell) {
82
+ if (Array.isArray(cell)) {
83
+ return collectCell({
84
+ cell: cell,
85
+ variables: variables,
86
+ map: sub
87
+ });
88
+ }
89
+ return sub;
90
+ }, map);
91
+ }
92
+ return map;
93
+ }
94
+ function collecteComponentResponse(_ref5) {
95
+ var component = _ref5.component,
96
+ variables = _ref5.variables,
97
+ _ref5$map = _ref5.map,
98
+ map = _ref5$map === void 0 ? {} : _ref5$map;
99
+ if ('body' in component && component.body) {
100
+ return collectTableResponse({
101
+ map: map,
102
+ body: component.body,
103
+ variables: variables
104
+ });
105
+ }
106
+ if ('response' in component) {
107
+ return mergeResponse({
108
+ map: map,
109
+ response: component.response,
110
+ variables: variables
111
+ });
112
+ }
113
+ if ('components' in component) {
114
+ return collecteArrayResponses({
115
+ components: component.components,
116
+ variables: variables,
117
+ map: map
118
+ });
119
+ }
120
+ if ('responses' in component) {
121
+ // TODO : Understand this cause types doesn't match
122
+ return collecteArrayResponses({
123
+ components: component.responses,
124
+ variables: variables,
125
+ map: map
126
+ });
127
+ }
128
+ return map;
129
+ }
130
+ function checkArrayForSubPage(map, state) {
131
+ var pager = state.pager;
132
+ var iteration = pager.iteration;
133
+ return Object.entries(map).reduce(function (sub, _ref6) {
134
+ var _ref7 = _slicedToArray(_ref6, 2),
135
+ name = _ref7[0],
136
+ value = _ref7[1];
137
+ if (value && Array.isArray(value) && iteration !== undefined) {
138
+ return _objectSpread(_objectSpread({}, sub), {}, _defineProperty({}, name, value[iteration]));
139
+ }
140
+ return _objectSpread(_objectSpread({}, sub), {}, _defineProperty({}, name, value));
141
+ }, {});
142
+ }
143
+ function checkUseContext(map, state) {
144
+ if (isInSubPage(state)) {
145
+ return checkArrayForSubPage(map, state);
146
+ }
147
+ return map;
148
+ }
149
+
150
+ /**
151
+ * The component provide a direct response (not a loop, roster...)
152
+ */
153
+ function isSimpleComponent(component) {
154
+ return 'response' in component && _typeof(component.response) === 'object';
155
+ }
156
+
157
+ /**
158
+ * Get the value from the component
159
+ */
160
+ function getComponentValue(component, state) {
161
+ var variables = state.variables;
162
+ var map = checkUseContext(collecteComponentResponse({
163
+ component: component,
164
+ variables: variables
165
+ }), state);
166
+ if (isSimpleComponent(component)) {
167
+ var response = component.response;
168
+ var name = response.name;
169
+ return map[name];
170
+ }
171
+ return map;
172
+ }
173
+ var _default = getComponentValue;
174
+ exports["default"] = _default;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _getComponentValue["default"];
10
+ }
11
+ });
12
+ var _getComponentValue = _interopRequireDefault(require("./get-component-value"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getQuestionnaireData = void 0;
8
+ var _constants = require("../../constants");
9
+ var _calculatedVariables = require("./calculated-variables");
10
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
19
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
20
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
+ /**
22
+ * Extract the value from a questionnaire
23
+ *
24
+ * used by the "getData" method from the state at the end of a form
25
+ */
26
+ var getQuestionnaireData = function getQuestionnaireData(_ref) {
27
+ var variables = _ref.variables,
28
+ withRefreshedCalculated = _ref.withRefreshedCalculated;
29
+ var builtVariables = Object.entries(variables).reduce(function (acc, _ref2) {
30
+ var _ref3 = _slicedToArray(_ref2, 2),
31
+ k = _ref3[0],
32
+ _ref3$ = _ref3[1],
33
+ value = _ref3$.value,
34
+ type = _ref3$.type;
35
+ // TODO: refine for management
36
+ if (type === _constants.COLLECTED) return _objectSpread(_objectSpread({}, acc), {}, {
37
+ COLLECTED: _objectSpread(_objectSpread({}, acc.COLLECTED), {}, _defineProperty({}, k, {
38
+ EDITED: null,
39
+ FORCED: null,
40
+ INPUTED: null,
41
+ PREVIOUS: null,
42
+ COLLECTED: value
43
+ }))
44
+ });
45
+ if (type === _constants.EXTERNAL || type === _constants.CALCULATED && !withRefreshedCalculated) return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, type, _objectSpread(_objectSpread({}, acc[type]), {}, _defineProperty({}, k, value))));
46
+ return acc;
47
+ }, {
48
+ EXTERNAL: {},
49
+ CALCULATED: {},
50
+ COLLECTED: {}
51
+ });
52
+ if (!withRefreshedCalculated) return builtVariables;
53
+ var flattenBuiltVariables = Object.entries(builtVariables).reduce(function (acc, _ref4) {
54
+ var _ref5 = _slicedToArray(_ref4, 2),
55
+ type = _ref5[0],
56
+ v = _ref5[1];
57
+ if (type === _constants.COLLECTED) {
58
+ var collectedVariables = Object.entries(v).reduce(function (accCol, _ref6) {
59
+ var _ref7 = _slicedToArray(_ref6, 2),
60
+ k = _ref7[0],
61
+ c = _ref7[1].COLLECTED;
62
+ return _objectSpread(_objectSpread({}, accCol), {}, _defineProperty({}, k, c));
63
+ }, {});
64
+ return _objectSpread(_objectSpread({}, acc), collectedVariables);
65
+ }
66
+ return _objectSpread(_objectSpread({}, acc), v);
67
+ }, {});
68
+ var flattenCalculatedVariables = (0, _calculatedVariables.interpretAllCalculatedVariables)({
69
+ variables: variables,
70
+ builtVariables: flattenBuiltVariables
71
+ });
72
+ var calculatedVariables = Object.entries(flattenCalculatedVariables).reduce(function (acc, _ref8) {
73
+ var _ref9 = _slicedToArray(_ref8, 2),
74
+ k = _ref9[0],
75
+ v = _ref9[1];
76
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, k, v));
77
+ }, {});
78
+ return _objectSpread(_objectSpread({}, builtVariables), {}, _defineProperty({}, _constants.CALCULATED, calculatedVariables));
79
+ };
80
+ exports.getQuestionnaireData = getQuestionnaireData;
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "checkLoops", {
9
9
  return _checkLoops["default"];
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "createExecuteExpression", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _executeExpression["default"];
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "createMapPages", {
13
19
  enumerable: true,
14
20
  get: function get() {
@@ -39,6 +45,12 @@ Object.defineProperty(exports, "getComponentsFromState", {
39
45
  return _getComponentsFromState["default"];
40
46
  }
41
47
  });
48
+ Object.defineProperty(exports, "getErrorsWithoutEmptyValue", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _getErrorsWithoutEmptyValue["default"];
52
+ }
53
+ });
42
54
  Object.defineProperty(exports, "getNewReachedPage", {
43
55
  enumerable: true,
44
56
  get: function get() {
@@ -63,6 +75,12 @@ Object.defineProperty(exports, "isNewReachedPage", {
63
75
  return _pageTag.isNewReachedPage;
64
76
  }
65
77
  });
78
+ Object.defineProperty(exports, "isPaginatedLoop", {
79
+ enumerable: true,
80
+ get: function get() {
81
+ return _isPaginatedLoop["default"];
82
+ }
83
+ });
66
84
  Object.defineProperty(exports, "useComponentsFromState", {
67
85
  enumerable: true,
68
86
  get: function get() {
@@ -72,10 +90,13 @@ Object.defineProperty(exports, "useComponentsFromState", {
72
90
  var _checkLoops = _interopRequireDefault(require("./check-loops"));
73
91
  var _createMapPages = _interopRequireDefault(require("./create-map-pages"));
74
92
  var _executeConditionFilter = _interopRequireDefault(require("./execute-condition-filter"));
93
+ var _executeExpression = _interopRequireDefault(require("./execute-expression"));
75
94
  var _fillComponentExpressions = _interopRequireDefault(require("./fill-components/fill-component-expressions"));
76
95
  var _getCompatibleVtlExpression = _interopRequireDefault(require("./get-compatible-vtl-expression"));
77
96
  var _getComponentsFromState = _interopRequireDefault(require("./get-components-from-state"));
97
+ var _getErrorsWithoutEmptyValue = _interopRequireDefault(require("./get-errors-without-empty-value"));
78
98
  var _isFirstLastPage = _interopRequireDefault(require("./is-First-last-page"));
99
+ var _isPaginatedLoop = _interopRequireDefault(require("./is-paginated-loop"));
79
100
  var _pageTag = require("./page-tag");
80
101
  var _useComponentsFromState = _interopRequireDefault(require("./use-components-from-state"));
81
102
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -6,12 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports["default"] = void 0;
7
7
  var _constants = require("../utils/constants");
8
8
  var _useSuggesters = require("./use-suggesters");
9
- var _lunaticVariablesStore = require("./commons/variables/lunatic-variables-store");
10
- var _env = require("../utils/env");
11
9
  var INITIAL_STATE = {
12
- updatedAt: 0,
13
- // There is a bug with this constructor in vitest
14
- variables: (0, _env.isTestEnv)() ? null : new _lunaticVariablesStore.LunaticVariablesStore(),
10
+ variables: {},
11
+ // map des variables du questionnaires
15
12
  pages: {},
16
13
  isInLoop: false,
17
14
  isFirstPage: false,
@@ -48,7 +45,8 @@ var INITIAL_STATE = {
48
45
  status: _useSuggesters.SuggesterStatus.unused,
49
46
  timestamp: 0
50
47
  };
51
- }
48
+ },
49
+ workersBasePath: undefined
52
50
  };
53
51
  var _default = INITIAL_STATE;
54
52
  exports["default"] = _default;
@@ -37,7 +37,7 @@ var overviewOnChange = function overviewOnChange(state) {
37
37
  return _objectSpread(_objectSpread({}, overviewEntry), {}, {
38
38
  reached: isPageReached(overviewEntry.page, lastReachedPage !== null && lastReachedPage !== void 0 ? lastReachedPage : '1'),
39
39
  visible: (_executeExpression = executeExpression(overviewEntry.conditionFilter, {
40
- deps: (_overviewEntry$condit = overviewEntry.conditionFilter) === null || _overviewEntry$condit === void 0 ? void 0 : _overviewEntry$condit.bindingDependencies
40
+ bindingDependencies: (_overviewEntry$condit = overviewEntry.conditionFilter) === null || _overviewEntry$condit === void 0 ? void 0 : _overviewEntry$condit.bindingDependencies
41
41
  })) !== null && _executeExpression !== void 0 ? _executeExpression : false,
42
42
  evaluatedLabel: executeExpression(overviewEntry.label)
43
43
  });