@inseefr/lunatic 3.8.0-rc.ucq-options-variable.0 → 3.8.1-rc-pnpm-migration.0

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 (34) hide show
  1. package/README.md +7 -13
  2. package/esm/type.source.d.ts +3 -9
  3. package/esm/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +1 -1
  4. package/esm/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
  5. package/esm/use-lunatic/commons/fill-components/fill-components.js +2 -10
  6. package/esm/use-lunatic/commons/fill-components/fill-components.js.map +1 -1
  7. package/esm/use-lunatic/props/propOptions.d.ts +1 -9
  8. package/esm/use-lunatic/props/propOptions.js +1 -56
  9. package/esm/use-lunatic/props/propOptions.js.map +1 -1
  10. package/esm/use-lunatic/props/propOptions.spec.js +56 -220
  11. package/esm/use-lunatic/props/propOptions.spec.js.map +1 -1
  12. package/package.json +4 -5
  13. package/src/stories/checkbox/checkbox.stories.tsx +0 -13
  14. package/src/stories/dropdown/dropdown.stories.tsx +0 -12
  15. package/src/stories/radio/radio.stories.tsx +0 -13
  16. package/src/type.source.ts +3 -9
  17. package/src/use-lunatic/commons/fill-components/fill-component-expressions.ts +1 -2
  18. package/src/use-lunatic/commons/fill-components/fill-components.ts +10 -9
  19. package/src/use-lunatic/props/propOptions.spec.ts +147 -217
  20. package/src/use-lunatic/props/propOptions.ts +8 -97
  21. package/tsconfig.build.tsbuildinfo +1 -1
  22. package/type.source.d.ts +3 -9
  23. package/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +1 -1
  24. package/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
  25. package/use-lunatic/commons/fill-components/fill-components.js +1 -9
  26. package/use-lunatic/commons/fill-components/fill-components.js.map +1 -1
  27. package/use-lunatic/props/propOptions.d.ts +1 -9
  28. package/use-lunatic/props/propOptions.js +2 -57
  29. package/use-lunatic/props/propOptions.js.map +1 -1
  30. package/use-lunatic/props/propOptions.spec.js +55 -217
  31. package/use-lunatic/props/propOptions.spec.js.map +1 -1
  32. package/src/stories/checkbox/sourceOneDynamicOptions.json +0 -496
  33. package/src/stories/dropdown/sourceDynamicOptions.json +0 -496
  34. package/src/stories/radio/sourceDynamicOptions.json +0 -496
package/type.source.d.ts CHANGED
@@ -124,9 +124,7 @@ export type ComponentCheckboxBooleanDefinition = ComponentDefinitionBaseWithResp
124
124
  export type ComponentRadioDefinition = ComponentDefinitionBaseWithResponse & {
125
125
  componentType: 'Radio';
126
126
  orientation?: 'horizontal' | 'vertical';
127
- options?: OptionsWithDetail;
128
- optionSource?: string;
129
- optionFilter?: VTLExpression;
127
+ options: OptionsWithDetail;
130
128
  };
131
129
  export type OptionsWithDetail = {
132
130
  value: string | boolean;
@@ -142,9 +140,7 @@ export type OptionsWithDetail = {
142
140
  }[];
143
141
  export type ComponentDropdownDefinition = ComponentDefinitionBaseWithResponse & {
144
142
  componentType: 'Dropdown';
145
- options?: Options;
146
- optionSource?: string;
147
- optionFilter?: VTLExpression;
143
+ options: Options;
148
144
  };
149
145
  export type ComponentQuestionDefinition = ComponentDefinitionBase & {
150
146
  componentType: 'Question';
@@ -152,9 +148,7 @@ export type ComponentQuestionDefinition = ComponentDefinitionBase & {
152
148
  };
153
149
  export type ComponentCheckboxOneDefinition = ComponentDefinitionBaseWithResponse & {
154
150
  componentType: 'CheckboxOne';
155
- options?: OptionsWithDetail;
156
- optionSource?: string;
157
- optionFilter?: VTLExpression;
151
+ options: OptionsWithDetail;
158
152
  };
159
153
  export type ComponentSuggesterDefinition = ComponentDefinitionBaseWithResponse & {
160
154
  componentType: 'Suggester';
@@ -1,6 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { LunaticComponentDefinition, LunaticExpression, LunaticReducerState } from '../../type';
3
- type UntranslatedProperties = 'expressions' | 'sections' | 'body' | 'item' | 'controls' | 'conditionFilter' | 'conditionReadOnly' | 'components' | 'optionFilter';
3
+ type UntranslatedProperties = 'expressions' | 'sections' | 'body' | 'item' | 'controls' | 'conditionFilter' | 'conditionReadOnly' | 'components';
4
4
  export type DeepTranslateExpression<T> = T extends LunaticExpression ? ReactNode : T extends (infer ElementType)[] ? DeepTranslateExpression<ElementType>[] : T extends {
5
5
  [k: string | number]: unknown;
6
6
  } ? {
@@ -1 +1 @@
1
- {"version":3,"file":"fill-component-expressions.js","sourceRoot":"","sources":["../../../src/use-lunatic/commons/fill-components/fill-component-expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fill-component-expressions.js","sourceRoot":"","sources":["../../../src/use-lunatic/commons/fill-components/fill-component-expressions.ts"],"names":[],"mappings":"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"}
@@ -47,15 +47,7 @@ parentReadOnly) => {
47
47
  missingResponse: (0, propMissingResponse_1.getMissingResponseProp)(component, state),
48
48
  management: state.management,
49
49
  iterations: (0, propIterations_1.getIterationsProp)(component, state),
50
- options: (0, propOptions_1.computeOptionsFromComponent)(interpretedProps, {
51
- variables: state.variables,
52
- handleChanges: state.handleChanges,
53
- pagerIteration: state.pager.iteration,
54
- value,
55
- logger: state.logger,
56
- disableFilters: state.disableFilters,
57
- shouldParentBeFiltered: shouldBeFiltered,
58
- }),
50
+ options: (0, propOptions_1.getOptionsProp)(interpretedProps, state.variables, state.handleChanges, state.pager.iteration, value, state.logger, state.disableFilters, shouldBeFiltered),
59
51
  ...(0, getComponentTypeProps_1.getComponentTypeProps)(interpretedProps, state),
60
52
  // This is too dynamic to be typed correctly, so we allow any here
61
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fill-components.js","sourceRoot":"","sources":["../../../src/use-lunatic/commons/fill-components/fill-components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fill-components.js","sourceRoot":"","sources":["../../../src/use-lunatic/commons/fill-components/fill-components.ts"],"names":[],"mappings":"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"}
@@ -19,15 +19,7 @@ export type InterpretedOption = {
19
19
  /**
20
20
  * Compute options for checkboxes / radios / dropdown
21
21
  */
22
- export declare function computeOptionsFromComponent(definition: DeepTranslateExpression<LunaticComponentDefinition>, { variables, handleChanges, pagerIteration, value, logger, disableFilters, shouldParentBeFiltered, }: {
23
- variables: LunaticVariablesStore;
24
- handleChanges: LunaticChangesHandler;
25
- pagerIteration: LunaticState['pager']['iteration'];
26
- value: unknown;
27
- logger: LunaticLogger;
28
- disableFilters?: boolean;
29
- shouldParentBeFiltered?: boolean;
30
- }): InterpretedOption[] | {
22
+ export declare function getOptionsProp(definition: DeepTranslateExpression<LunaticComponentDefinition>, variables: LunaticVariablesStore, handleChanges: LunaticChangesHandler, pagerIteration: LunaticState['pager']['iteration'], value: unknown, logger: LunaticLogger, disableFilters?: boolean, shouldParentBeFiltered?: boolean): {
31
23
  label: ReactNode;
32
24
  name: string;
33
25
  id: string;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.computeOptionsFromComponent = computeOptionsFromComponent;
3
+ exports.getOptionsProp = getOptionsProp;
4
4
  const number_1 = require("../../utils/number");
5
5
  /**
6
6
  * Compute options for checkboxes / radios / dropdown
7
7
  */
8
- function computeOptionsFromComponent(definition, { variables, handleChanges, pagerIteration, value, logger, disableFilters, shouldParentBeFiltered, }) {
8
+ function getOptionsProp(definition, variables, handleChanges, pagerIteration, value, logger, disableFilters, shouldParentBeFiltered) {
9
9
  const iteration = (0, number_1.isNumber)(pagerIteration) ? [pagerIteration] : undefined;
10
10
  if (definition.componentType === 'CheckboxGroup') {
11
11
  return definition.responses
@@ -40,24 +40,9 @@ function computeOptionsFromComponent(definition, { variables, handleChanges, pag
40
40
  isFilteredOutOption(variables, iteration, logger, response.conditionFilter),
41
41
  }));
42
42
  }
43
- // options based on another variable
44
- if ('optionSource' in definition && definition.optionSource) {
45
- return computeOptionsFromSource(definition.optionSource, {
46
- variables,
47
- value,
48
- handleChanges,
49
- responseName: definition.response.name,
50
- logger,
51
- shouldParentBeFiltered,
52
- optionFilter: definition.optionFilter,
53
- });
54
- }
55
43
  if (!('options' in definition)) {
56
44
  return [];
57
45
  }
58
- if (!definition.options) {
59
- return [];
60
- }
61
46
  return definition.options
62
47
  .filter((option) => {
63
48
  if (disableFilters ||
@@ -96,46 +81,6 @@ function computeOptionsFromComponent(definition, { variables, handleChanges, pag
96
81
  isFilteredOutOption(variables, iteration, logger, option.conditionFilter)),
97
82
  }));
98
83
  }
99
- /**
100
- * Get all options from a source variable, applying filters.
101
- */
102
- function computeOptionsFromSource(optionSource, { variables, value, handleChanges, responseName, logger, shouldParentBeFiltered, optionFilter, }) {
103
- // we don't know the type of the optionSource values (string, numbers, boolean)
104
- const optionValues = variables.get(optionSource);
105
- if (!optionValues) {
106
- return [];
107
- }
108
- const normalizedValues = Array.isArray(optionValues)
109
- ? optionValues
110
- : [optionValues];
111
- return normalizedValues
112
- .filter((option, index) => {
113
- // option is an empty value, we remove it from the options list
114
- if (option === null || option === undefined) {
115
- return false;
116
- }
117
- // no filter expression, we keep the option
118
- if (!optionFilter) {
119
- return true;
120
- }
121
- // apply filter expression on option (applied to its iteration)
122
- return !isFilteredOutOption(variables, [index], logger, optionFilter);
123
- })
124
- .map((option) => {
125
- return {
126
- label: String(option),
127
- value: option,
128
- checked: value === option,
129
- onCheck: () => {
130
- handleChanges([{ name: responseName, value: option }]);
131
- },
132
- onUncheck: () => {
133
- handleChanges([{ name: responseName, value: null }]);
134
- },
135
- shouldBeFiltered: shouldParentBeFiltered,
136
- };
137
- });
138
- }
139
84
  /**
140
85
  * Check if an option should be filtered, depending on its conditionFilter.
141
86
  */
@@ -1 +1 @@
1
- {"version":3,"file":"propOptions.js","sourceRoot":"","sources":["../../src/use-lunatic/props/propOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propOptions.js","sourceRoot":"","sources":["../../src/use-lunatic/props/propOptions.ts"],"names":[],"mappings":"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"}
@@ -3,99 +3,69 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const vitest_1 = require("vitest");
4
4
  const lunatic_variables_store_1 = require("../commons/variables/lunatic-variables-store");
5
5
  const propOptions_1 = require("./propOptions");
6
- (0, vitest_1.describe)('computeOptionsFromComponent', () => {
6
+ (0, vitest_1.describe)('getOptionsProp()', () => {
7
7
  let variables;
8
+ const checkboxGroupDefinition = {
9
+ id: 'CheckboxGroup',
10
+ componentType: 'CheckboxGroup',
11
+ responses: [
12
+ {
13
+ label: 'Option 1',
14
+ response: { name: 'O1' },
15
+ id: 'id1',
16
+ },
17
+ {
18
+ label: 'Option 2',
19
+ response: { name: 'O2' },
20
+ id: 'id2',
21
+ },
22
+ ],
23
+ };
24
+ const radioDefinition = {
25
+ id: 'RadioGroup',
26
+ componentType: 'Radio',
27
+ response: { name: 'RADIO' },
28
+ options: [
29
+ {
30
+ label: 'Option 1',
31
+ value: 'id1',
32
+ },
33
+ {
34
+ label: 'Option 2',
35
+ value: 'id2',
36
+ },
37
+ ],
38
+ };
8
39
  let mockChange;
9
40
  const mockLogger = vitest_1.vi.fn();
10
41
  (0, vitest_1.beforeEach)(() => {
11
42
  mockChange = vitest_1.vi.fn();
12
43
  variables = new lunatic_variables_store_1.LunaticVariablesStore();
13
44
  });
14
- (0, vitest_1.describe)('Options based on a fixed list', () => {
15
- const checkboxGroupDefinition = {
16
- id: 'CheckboxGroup',
17
- componentType: 'CheckboxGroup',
18
- responses: [
19
- {
20
- label: 'Option 1',
21
- response: { name: 'O1' },
22
- id: 'id1',
23
- },
24
- {
25
- label: 'Option 2',
26
- response: { name: 'O2' },
27
- id: 'id2',
28
- },
29
- ],
30
- };
31
- const radioDefinition = {
32
- id: 'RadioGroup',
33
- componentType: 'Radio',
34
- response: { name: 'RADIO' },
35
- options: [
36
- {
37
- label: 'Option 1',
38
- value: 'id1',
39
- },
40
- {
41
- label: 'Option 2',
42
- value: 'id2',
43
- },
44
- ],
45
- };
45
+ (0, vitest_1.describe)('CheckboxGroup', () => {
46
46
  (0, vitest_1.it)('should check boxes', () => {
47
47
  variables.set('O2', false);
48
- let options = (0, propOptions_1.computeOptionsFromComponent)(checkboxGroupDefinition, {
49
- variables,
50
- handleChanges: mockChange,
51
- pagerIteration: undefined,
52
- value: undefined,
53
- logger: mockLogger,
54
- });
48
+ let options = (0, propOptions_1.getOptionsProp)(checkboxGroupDefinition, variables, mockChange, undefined, undefined, mockLogger);
55
49
  (0, vitest_1.expect)(options[1].checked).toBe(false);
56
50
  variables.set('O2', true);
57
- options = (0, propOptions_1.computeOptionsFromComponent)(checkboxGroupDefinition, {
58
- variables,
59
- handleChanges: mockChange,
60
- pagerIteration: undefined,
61
- value: undefined,
62
- logger: mockLogger,
63
- });
51
+ options = (0, propOptions_1.getOptionsProp)(checkboxGroupDefinition, variables, mockChange, undefined, undefined, mockLogger);
64
52
  (0, vitest_1.expect)(options[1].checked).toBe(true);
65
53
  });
66
54
  (0, vitest_1.it)('should check boxes correctly within iteration', () => {
67
55
  variables.set('O1', []);
68
56
  variables.set('O2', []);
69
- let options = (0, propOptions_1.computeOptionsFromComponent)(checkboxGroupDefinition, {
70
- variables,
71
- handleChanges: mockChange,
72
- pagerIteration: 0,
73
- value: undefined,
74
- logger: mockLogger,
75
- });
57
+ let options = (0, propOptions_1.getOptionsProp)(checkboxGroupDefinition, variables, mockChange, 0, undefined, mockLogger);
76
58
  (0, vitest_1.expect)(options.filter((o) => o.checked), 'Nothing checked when variable empty').toHaveLength(0);
77
59
  variables.set('O1', [true, 0]);
78
- options = (0, propOptions_1.computeOptionsFromComponent)(checkboxGroupDefinition, {
79
- variables,
80
- handleChanges: mockChange,
81
- pagerIteration: 0,
82
- value: undefined,
83
- logger: mockLogger,
84
- });
60
+ options = (0, propOptions_1.getOptionsProp)(checkboxGroupDefinition, variables, mockChange, 0, undefined, mockLogger);
85
61
  (0, vitest_1.expect)(options[0].checked).toBe(true);
86
62
  (0, vitest_1.expect)(options[1].checked).toBe(false);
87
63
  });
88
64
  (0, vitest_1.it)('should create handleChange correctly', () => {
89
65
  variables.set('O1', [true, false]);
90
66
  variables.set('O2', [false, true]);
91
- const options = (0, propOptions_1.computeOptionsFromComponent)(checkboxGroupDefinition, {
92
- variables,
93
- handleChanges: mockChange,
94
- pagerIteration: 1,
95
- value: undefined,
96
- logger: mockLogger,
97
- });
98
- options[1].onCheck?.(false);
67
+ const options = (0, propOptions_1.getOptionsProp)(checkboxGroupDefinition, variables, mockChange, 1, undefined, mockLogger);
68
+ options[1].onCheck(false);
99
69
  (0, vitest_1.expect)(mockChange).toHaveBeenLastCalledWith([
100
70
  { name: 'O2', value: false },
101
71
  ]);
@@ -126,13 +96,7 @@ const propOptions_1 = require("./propOptions");
126
96
  ],
127
97
  };
128
98
  variables.set('DETAIL', true);
129
- const options = (0, propOptions_1.computeOptionsFromComponent)(definition, {
130
- variables,
131
- handleChanges: mockChange,
132
- pagerIteration: undefined,
133
- value: undefined,
134
- logger: mockLogger,
135
- });
99
+ const options = (0, propOptions_1.getOptionsProp)(definition, variables, mockChange, undefined, undefined, mockLogger);
136
100
  (0, vitest_1.expect)(options).toHaveLength(2);
137
101
  (0, vitest_1.expect)(options[0].detailLabel).toBe('Precize:');
138
102
  (0, vitest_1.expect)(options[1].detailLabel).toBe('Precize:');
@@ -165,13 +129,7 @@ const propOptions_1 = require("./propOptions");
165
129
  ],
166
130
  };
167
131
  variables.set('DETAIL', true);
168
- const options = (0, propOptions_1.computeOptionsFromComponent)(definition, {
169
- variables,
170
- handleChanges: mockChange,
171
- pagerIteration: undefined,
172
- value: undefined,
173
- logger: mockLogger,
174
- });
132
+ const options = (0, propOptions_1.getOptionsProp)(definition, variables, mockChange, undefined, undefined, mockLogger);
175
133
  (0, vitest_1.expect)(options).toHaveLength(2);
176
134
  (0, vitest_1.expect)(options[0].detailLabel).toBe('Precize:');
177
135
  (0, vitest_1.expect)(options[1].detailLabel).toBe('Precize:');
@@ -198,13 +156,7 @@ const propOptions_1 = require("./propOptions");
198
156
  },
199
157
  ],
200
158
  };
201
- const options = (0, propOptions_1.computeOptionsFromComponent)(definition, {
202
- variables,
203
- handleChanges: mockChange,
204
- pagerIteration: undefined,
205
- value: undefined,
206
- logger: mockLogger,
207
- });
159
+ const options = (0, propOptions_1.getOptionsProp)(definition, variables, mockChange, undefined, undefined, mockLogger);
208
160
  // First option should be filtered out since its conditionFilter is evaluated to false
209
161
  (0, vitest_1.expect)(options).toHaveLength(1);
210
162
  (0, vitest_1.expect)(options[0].label).toBe('Option 2');
@@ -225,13 +177,7 @@ const propOptions_1 = require("./propOptions");
225
177
  },
226
178
  ],
227
179
  };
228
- const options = (0, propOptions_1.computeOptionsFromComponent)(definition, {
229
- variables,
230
- handleChanges: mockChange,
231
- pagerIteration: undefined,
232
- value: undefined,
233
- logger: mockLogger,
234
- });
180
+ const options = (0, propOptions_1.getOptionsProp)(definition, variables, mockChange, undefined, undefined, mockLogger);
235
181
  // First option should be filtered out since its conditionFilter is evaluated to false
236
182
  (0, vitest_1.expect)(options).toHaveLength(1);
237
183
  (0, vitest_1.expect)(options[0].label).toBe('Option 2');
@@ -252,13 +198,7 @@ const propOptions_1 = require("./propOptions");
252
198
  vitest_1.vi.spyOn(variables, 'run').mockImplementation(() => {
253
199
  throw new Error('Test error');
254
200
  });
255
- const options = (0, propOptions_1.computeOptionsFromComponent)(definition, {
256
- variables,
257
- handleChanges: mockChange,
258
- pagerIteration: undefined,
259
- value: undefined,
260
- logger: mockLogger,
261
- });
201
+ const options = (0, propOptions_1.getOptionsProp)(definition, variables, mockChange, undefined, undefined, mockLogger);
262
202
  // Ensure the option is not filtered
263
203
  (0, vitest_1.expect)(options).toHaveLength(1);
264
204
  (0, vitest_1.expect)(options[0].shouldBeFiltered).toBe(false);
@@ -278,13 +218,7 @@ const propOptions_1 = require("./propOptions");
278
218
  vitest_1.vi.spyOn(variables, 'run').mockImplementation(() => {
279
219
  throw new Error('Test error');
280
220
  });
281
- const options = (0, propOptions_1.computeOptionsFromComponent)(definition, {
282
- variables,
283
- handleChanges: mockChange,
284
- pagerIteration: undefined,
285
- value: undefined,
286
- logger: mockLogger,
287
- });
221
+ const options = (0, propOptions_1.getOptionsProp)(definition, variables, mockChange, undefined, undefined, mockLogger);
288
222
  // Ensure the option is not filtered
289
223
  (0, vitest_1.expect)(options).toHaveLength(1);
290
224
  (0, vitest_1.expect)(options[0].shouldBeFiltered).toBe(false);
@@ -305,14 +239,8 @@ const propOptions_1 = require("./propOptions");
305
239
  vitest_1.vi.spyOn(variables, 'run').mockImplementation(() => {
306
240
  return false;
307
241
  });
308
- const options = (0, propOptions_1.computeOptionsFromComponent)(definition, {
309
- variables,
310
- handleChanges: mockChange,
311
- pagerIteration: undefined,
312
- value: undefined,
313
- logger: mockLogger,
314
- disableFilters: true,
315
- });
242
+ const options = (0, propOptions_1.getOptionsProp)(definition, variables, mockChange, undefined, undefined, mockLogger, true // disableFilters = true
243
+ );
316
244
  // Ensure the option is not filtered
317
245
  (0, vitest_1.expect)(options).toHaveLength(1);
318
246
  // the option should would have been filtered if we did not disable filters
@@ -333,14 +261,8 @@ const propOptions_1 = require("./propOptions");
333
261
  vitest_1.vi.spyOn(variables, 'run').mockImplementation(() => {
334
262
  return false;
335
263
  });
336
- const options = (0, propOptions_1.computeOptionsFromComponent)(definition, {
337
- variables,
338
- handleChanges: mockChange,
339
- pagerIteration: undefined,
340
- value: undefined,
341
- logger: mockLogger,
342
- disableFilters: true,
343
- });
264
+ const options = (0, propOptions_1.getOptionsProp)(definition, variables, mockChange, undefined, undefined, mockLogger, true // disableFilters = true
265
+ );
344
266
  // Ensure the option is not filtered
345
267
  (0, vitest_1.expect)(options).toHaveLength(1);
346
268
  // the option should would have been filtered if we did not disable filters
@@ -358,15 +280,9 @@ const propOptions_1 = require("./propOptions");
358
280
  },
359
281
  ],
360
282
  };
361
- const options = (0, propOptions_1.computeOptionsFromComponent)(definition, {
362
- variables,
363
- handleChanges: mockChange,
364
- pagerIteration: undefined,
365
- value: undefined,
366
- logger: mockLogger,
367
- disableFilters: true,
368
- shouldParentBeFiltered: true,
369
- });
283
+ const options = (0, propOptions_1.getOptionsProp)(definition, variables, mockChange, undefined, undefined, mockLogger, true, // disableFilters = true
284
+ true // parent component should be filtered
285
+ );
370
286
  // Ensure the option is not filtered
371
287
  (0, vitest_1.expect)(options).toHaveLength(1);
372
288
  // the option would have been filtered if we did not disable filters because its parent would
@@ -383,92 +299,14 @@ const propOptions_1 = require("./propOptions");
383
299
  },
384
300
  ],
385
301
  };
386
- const options = (0, propOptions_1.computeOptionsFromComponent)(definition, {
387
- variables,
388
- handleChanges: mockChange,
389
- pagerIteration: undefined,
390
- value: undefined,
391
- logger: mockLogger,
392
- disableFilters: true,
393
- shouldParentBeFiltered: true,
394
- });
302
+ const options = (0, propOptions_1.getOptionsProp)(definition, variables, mockChange, undefined, undefined, mockLogger, true, // disableFilters = true
303
+ true // parent component should be filtered
304
+ );
395
305
  // Ensure the option is not filtered
396
306
  (0, vitest_1.expect)(options).toHaveLength(1);
397
307
  // the option would have been filtered if we did not disable filters because its parent would
398
308
  (0, vitest_1.expect)(options[0].shouldBeFiltered).toBe(true);
399
309
  });
400
310
  });
401
- (0, vitest_1.describe)('Options based on a source variable', () => {
402
- const radioOptionSourceDefinition = {
403
- id: 'RadioGroupDynamic',
404
- componentType: 'Radio',
405
- response: { name: 'RADIO' },
406
- optionSource: 'NAME',
407
- };
408
- (0, vitest_1.it)('should build options when the source variable is an array of strings', () => {
409
- variables.set('NAME', ['Maëlle', 'Verso']);
410
- const options = (0, propOptions_1.computeOptionsFromComponent)(radioOptionSourceDefinition, {
411
- variables,
412
- handleChanges: mockChange,
413
- pagerIteration: undefined,
414
- value: undefined,
415
- logger: mockLogger,
416
- }); // force type but it should infer type correctly
417
- (0, vitest_1.expect)(options).toHaveLength(2);
418
- (0, vitest_1.expect)(options[0].value).toBe('Maëlle');
419
- (0, vitest_1.expect)(options[0].label).toBe('Maëlle');
420
- (0, vitest_1.expect)(options[1].value).toBe('Verso');
421
- (0, vitest_1.expect)(options[1].label).toBe('Verso');
422
- });
423
- (0, vitest_1.it)('should build options when the source variable is an array of numbers', () => {
424
- variables.set('NAME', [10, 20]);
425
- const options = (0, propOptions_1.computeOptionsFromComponent)(radioOptionSourceDefinition, {
426
- variables,
427
- handleChanges: mockChange,
428
- pagerIteration: undefined,
429
- value: undefined,
430
- logger: mockLogger,
431
- }); // force type but it should infer type correctly
432
- (0, vitest_1.expect)(options).toHaveLength(2);
433
- (0, vitest_1.expect)(options[0].value).toBe(10);
434
- (0, vitest_1.expect)(options[0].label).toBe('10');
435
- (0, vitest_1.expect)(options[1].value).toBe(20);
436
- (0, vitest_1.expect)(options[1].label).toBe('20');
437
- });
438
- (0, vitest_1.it)('should set the response when selecting a dynamic option', () => {
439
- variables.set('NAME', ['Maëlle', 'Verso']);
440
- const options = (0, propOptions_1.computeOptionsFromComponent)(radioOptionSourceDefinition, {
441
- variables,
442
- handleChanges: mockChange,
443
- pagerIteration: undefined,
444
- value: undefined,
445
- logger: mockLogger,
446
- }); // force type but it should infer type correctly
447
- options[0].onCheck?.();
448
- (0, vitest_1.expect)(mockChange).toHaveBeenLastCalledWith([
449
- { name: 'RADIO', value: 'Maëlle' },
450
- ]);
451
- options[1].onCheck?.();
452
- (0, vitest_1.expect)(mockChange).toHaveBeenLastCalledWith([
453
- { name: 'RADIO', value: 'Verso' },
454
- ]);
455
- });
456
- (0, vitest_1.it)('should filter options based on the optionFilter expression', () => {
457
- const definition = {
458
- ...radioOptionSourceDefinition,
459
- optionFilter: { type: 'VTL', value: 'AGE >= 18' },
460
- };
461
- variables.set('NAME', ['Maëlle', 'Verso', 'Aline']);
462
- variables.set('AGE', [16, 30, 50]);
463
- const options = (0, propOptions_1.computeOptionsFromComponent)(definition, {
464
- variables,
465
- handleChanges: mockChange,
466
- pagerIteration: undefined,
467
- value: undefined,
468
- logger: mockLogger,
469
- }); // force type but it should infer type correctly
470
- (0, vitest_1.expect)(options.map((option) => option.value)).toEqual(['Verso', 'Aline']);
471
- });
472
- });
473
311
  });
474
312
  //# sourceMappingURL=propOptions.spec.js.map