@inseefr/lunatic 0.3.5-experimental → 0.3.6-experimental
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +4 -4
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/breadcrumb/component.js +29 -29
- package/src/components/button/component.js +53 -53
- package/src/components/button/index.js +1 -1
- package/src/components/checkbox/index.js +3 -3
- package/src/components/datepicker/index.js +1 -1
- package/src/components/declarations/index.js +1 -1
- package/src/components/declarations/wrappers/list-declarations-wrapper.js +232 -232
- package/src/components/filter-description/component.js +42 -42
- package/src/components/icon/component.js +33 -33
- package/src/components/input/index.js +2 -2
- package/src/components/loop/index.js +1 -1
- package/src/components/loop-constructor/wrapper/body-component.js +13 -1
- package/src/components/radio/index.js +1 -1
- package/src/components/sequence/index.js +1 -1
- package/src/components/subsequence/index.js +1 -1
- package/src/components/suggester/check-store.js +70 -70
- package/src/components/tooltip/response.js +52 -52
- package/src/stories/checkbox-boolean/data-forced.json +48 -48
- package/src/stories/icons/icons.stories.js +16 -16
- package/src/stories/questionnaire/kish.json +275 -0
- package/src/stories/questionnaire/questionnaire.stories.js +12 -0
- package/src/stories/utils/custom-lunatic.scss +23 -23
- package/src/tests/components/breadcrumb.spec.js +13 -13
- package/src/tests/components/button.spec.js +11 -11
- package/src/tests/components/checkbox-boolean.spec.js +45 -45
- package/src/tests/components/checkbox-group.spec.js +53 -53
- package/src/tests/components/checkbox-one.spec.js +32 -32
- package/src/tests/components/datepicker.spec.js +22 -22
- package/src/tests/components/declarations-wrappers/input-declarations-wrapper.spec.js +67 -67
- package/src/tests/components/declarations-wrappers/list-declarations-wrapper.spec.js +52 -52
- package/src/tests/components/declarations-wrappers/simple-declarations-wrapper.spec.js +21 -21
- package/src/tests/components/declarations.spec.js +46 -46
- package/src/tests/components/input.spec.js +18 -18
- package/src/tests/components/loops/loop-static.json +66 -66
- package/src/tests/components/loops/loop.json +258 -258
- package/src/tests/components/loops/loop.spec.js +30 -30
- package/src/tests/components/loops/roster-for-loop.spec.js +18 -18
- package/src/tests/components/progress-bar.spec.js +15 -15
- package/src/tests/components/radio.spec.js +27 -27
- package/src/tests/components/sequence.spec.js +9 -9
- package/src/tests/components/subsequence.spec.js +9 -9
- package/src/tests/components/table.spec.js +11 -11
- package/src/tests/components/textarea.spec.js +18 -18
- package/src/tests/components/tooltip.spec.js +25 -25
- package/src/tests/setup/setupTests.js +4 -4
- package/src/tests/utils/lib/alphabet.spec.js +36 -36
- package/src/tests/utils/lib/array.spec.js +22 -22
- package/src/tests/utils/lib/checkbox/group.spec.js +72 -72
- package/src/tests/utils/lib/decorator/title-decorator.spec.js +12 -12
- package/src/tests/utils/lib/input-number.spec.js +18 -18
- package/src/tests/utils/lib/items-positioning.spec.js +17 -17
- package/src/tests/utils/lib/label-position.spec.js +22 -22
- package/src/tests/utils/lib/loops/bindings.spec.js +75 -75
- package/src/tests/utils/lib/loops/shared.spec.js +82 -82
- package/src/tests/utils/lib/missing/missing.spec.js +74 -74
- package/src/tests/utils/lib/missing/mock.js +137 -137
- package/src/tests/utils/lib/pagination/shared.spec.js +42 -42
- package/src/tests/utils/lib/responses.spec.js +64 -64
- package/src/tests/utils/lib/style.spec.js +26 -26
- package/src/tests/utils/lib/tooltip/build-response.spec.js +95 -95
- package/src/tests/utils/lib/tooltip/content.spec.js +109 -109
- package/src/tests/utils/to-expose/handler/handler.spec.js +94 -94
- package/src/tests/utils/to-expose/handler/questionnaire.json +158 -158
- package/src/tests/utils/to-expose/handler/results/index.js +6 -6
- package/src/tests/utils/to-expose/handler/results/res-double.json +158 -158
- package/src/tests/utils/to-expose/handler/results/res-input-collected.json +158 -158
- package/src/tests/utils/to-expose/handler/results/res-loop.json +158 -158
- package/src/tests/utils/to-expose/handler/results/res-matrix.json +158 -158
- package/src/tests/utils/to-expose/handler/results/res-responses.json +158 -158
- package/src/tests/utils/to-expose/hooks/use-lunatic.spec.js +46 -46
- package/src/tests/utils/to-expose/init-questionnaire/data.json +12 -12
- package/src/tests/utils/to-expose/init-questionnaire/init-questionnaire.spec.js +19 -19
- package/src/tests/utils/to-expose/interpret/interpret.spec.js +48 -48
- package/src/tests/utils/to-expose/state/questionnaire.json +61 -61
- package/src/tests/utils/to-expose/state/results.js +78 -78
- package/src/utils/lib/tooltip/build-response.js +41 -41
- package/src/utils/store-tools/create/index.js +1 -1
- package/src/utils/store-tools/create/update-store-info.js +26 -26
- package/src/utils/store-tools/index.js +5 -5
- package/src/utils/to-expose/handler.js +12 -14
- package/src/utils/to-expose/hooks/lunatic-split.js +5 -2
- package/src/utils/to-expose/hooks/lunatic.js +5 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * as CONSTANTES from './constantes';
|
|
2
|
-
export { default as openOrCreateStore } from './open-or-create-store';
|
|
3
|
-
export { default as clearStoreData } from './clear-store-data';
|
|
4
|
-
export { default as useStoreIndex } from './use-store-index';
|
|
5
|
-
export { default as getStoreCount } from './get-store-count';
|
|
1
|
+
export * as CONSTANTES from './constantes';
|
|
2
|
+
export { default as openOrCreateStore } from './open-or-create-store';
|
|
3
|
+
export { default as clearStoreData } from './clear-store-data';
|
|
4
|
+
export { default as useStoreIndex } from './use-store-index';
|
|
5
|
+
export { default as getStoreCount } from './get-store-count';
|
|
@@ -60,7 +60,7 @@ export const updateQuestionnaire =
|
|
|
60
60
|
};
|
|
61
61
|
|
|
62
62
|
export const updateExternals =
|
|
63
|
-
(questionnaire) => (logFunction) => (updatedValues) => {
|
|
63
|
+
(questionnaire) => (logFunction, preferences) => (updatedValues) => {
|
|
64
64
|
const { variables, ...other } = questionnaire;
|
|
65
65
|
const { EXTERNAL } = variables;
|
|
66
66
|
const newVariables = {
|
|
@@ -71,8 +71,7 @@ export const updateExternals =
|
|
|
71
71
|
const newVariablesWithCalculated = addCalculatedVars(
|
|
72
72
|
newVariables,
|
|
73
73
|
updatedValues
|
|
74
|
-
)(logFunction);
|
|
75
|
-
|
|
74
|
+
)(logFunction, preferences);
|
|
76
75
|
return {
|
|
77
76
|
...other,
|
|
78
77
|
variables: newVariablesWithCalculated,
|
|
@@ -94,30 +93,29 @@ export const buildNewValue =
|
|
|
94
93
|
|
|
95
94
|
// Separate methods to avoid perf issue on collect simplest use case
|
|
96
95
|
const getCollectedAndExternal = (preferences) => (variables) => {
|
|
97
|
-
const { COLLECTED } = variables;
|
|
96
|
+
const { COLLECTED, EXTERNAL } = variables;
|
|
98
97
|
if (preferences.length === 1 && preferences[0] === 'COLLECTED')
|
|
99
|
-
return getCollectedAndExternalSimple(COLLECTED);
|
|
100
|
-
return
|
|
98
|
+
return { ...getCollectedAndExternalSimple(COLLECTED), ...EXTERNAL };
|
|
99
|
+
return {
|
|
100
|
+
...getCollectedAndExternalByPreferences(preferences)(COLLECTED),
|
|
101
|
+
...EXTERNAL,
|
|
102
|
+
};
|
|
101
103
|
};
|
|
102
104
|
|
|
103
|
-
const getCollectedAndExternalSimple = (variables) =>
|
|
104
|
-
|
|
105
|
+
const getCollectedAndExternalSimple = (variables) =>
|
|
106
|
+
Object.entries(variables).reduce(
|
|
105
107
|
(acc, [k, { values }]) => ({ ...acc, [k]: values.COLLECTED }),
|
|
106
108
|
{}
|
|
107
109
|
);
|
|
108
|
-
return { ...collected, ...variables.EXTERNAL };
|
|
109
|
-
};
|
|
110
110
|
|
|
111
|
-
const getCollectedAndExternalByPreferences = (preferences) => (variables) =>
|
|
112
|
-
|
|
111
|
+
const getCollectedAndExternalByPreferences = (preferences) => (variables) =>
|
|
112
|
+
Object.entries(variables).reduce((acc, [k, { values }]) => {
|
|
113
113
|
const v = preferences.reduce((acc, p) => {
|
|
114
114
|
const value = values[p];
|
|
115
115
|
return [null, ''].includes(value) ? acc : value;
|
|
116
116
|
}, null);
|
|
117
117
|
return { ...acc, [k]: v };
|
|
118
118
|
}, {});
|
|
119
|
-
return { ...collected, ...variables.EXTERNAL };
|
|
120
|
-
};
|
|
121
119
|
|
|
122
120
|
const addCalculatedVars =
|
|
123
121
|
(variables, updatedValues) => (logFunction, preferences) => {
|
|
@@ -361,11 +361,14 @@ const useLunaticSplit = (
|
|
|
361
361
|
|
|
362
362
|
useEffect(() => {
|
|
363
363
|
if (Object.keys(todoExternals).length !== 0) {
|
|
364
|
-
const newQ = updateExternals(questionnaire)(logFunction)(
|
|
364
|
+
const newQ = updateExternals(questionnaire)(logFunction, preferences)(
|
|
365
|
+
todoExternals
|
|
366
|
+
);
|
|
367
|
+
setBindings(getBindings(newQ));
|
|
365
368
|
setQuestionnaire(newQ);
|
|
366
369
|
setTodoExternals({});
|
|
367
370
|
}
|
|
368
|
-
}, [todoExternals, logFunction, questionnaire]);
|
|
371
|
+
}, [todoExternals, logFunction, questionnaire, preferences]);
|
|
369
372
|
|
|
370
373
|
const cancelModal = () => {
|
|
371
374
|
setModalContent(null);
|
|
@@ -216,11 +216,14 @@ const useLunatic = (
|
|
|
216
216
|
|
|
217
217
|
useEffect(() => {
|
|
218
218
|
if (Object.keys(todoExternals).length !== 0) {
|
|
219
|
-
const newQ = updateExternals(questionnaire)(logFunction)(
|
|
219
|
+
const newQ = updateExternals(questionnaire)(logFunction, preferences)(
|
|
220
|
+
todoExternals
|
|
221
|
+
);
|
|
222
|
+
setBindings(getBindings(newQ));
|
|
220
223
|
setQuestionnaire(newQ);
|
|
221
224
|
setTodoExternals({});
|
|
222
225
|
}
|
|
223
|
-
}, [todoExternals, logFunction, questionnaire]);
|
|
226
|
+
}, [todoExternals, logFunction, questionnaire, preferences]);
|
|
224
227
|
|
|
225
228
|
const cancelModal = () => {
|
|
226
229
|
setModalContent(null);
|