@inseefr/lunatic 3.6.8-rc.0 → 3.6.8-rc.1
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/components/Loop/utils.js +14 -9
- package/components/Loop/utils.js.map +1 -1
- package/esm/components/Loop/utils.js +15 -9
- package/esm/components/Loop/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Loop/utils.test.ts +7 -3
- package/src/components/Loop/utils.ts +13 -8
- package/tsconfig.build.tsbuildinfo +1 -1
package/components/Loop/utils.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useLoopUtils = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
|
-
const commons_1 = require("../../use-lunatic/reducer/commons");
|
|
6
5
|
const DEFAULT_MIN_ROWS = 1;
|
|
7
6
|
const DEFAULT_MAX_ROWS = 12;
|
|
8
7
|
const useLoopUtils = (props) => {
|
|
@@ -23,14 +22,20 @@ const useLoopUtils = (props) => {
|
|
|
23
22
|
* Variables must be consistent in variable-store.
|
|
24
23
|
*/
|
|
25
24
|
(0, react_1.useEffect)(() => {
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
const newInitialValues = [];
|
|
26
|
+
for (const name in valueMap) {
|
|
27
|
+
const initialLength = valueMap[name]?.length ?? 0; // default 0: i.e not value (in some case, we have null value instead if empty array)
|
|
28
|
+
// Add handleChange value for each additional iteration required
|
|
29
|
+
for (let i = initialLength; i < nbRows; i++) {
|
|
30
|
+
newInitialValues.push({
|
|
31
|
+
name: name,
|
|
32
|
+
value: null,
|
|
33
|
+
iteration: [i],
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (newInitialValues.length > 0)
|
|
38
|
+
handleChanges(newInitialValues);
|
|
34
39
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
35
40
|
}, []);
|
|
36
41
|
const addRow = (0, react_1.useCallback)(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/components/Loop/utils.ts"],"names":[],"mappings":";;;AAAA,iCAAyD;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/components/Loop/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
-
import { resizeArrayVariable } from '../../use-lunatic/reducer/commons';
|
|
3
2
|
const DEFAULT_MIN_ROWS = 1;
|
|
4
3
|
const DEFAULT_MAX_ROWS = 12;
|
|
5
4
|
export const useLoopUtils = (props) => {
|
|
@@ -21,14 +20,21 @@ export const useLoopUtils = (props) => {
|
|
|
21
20
|
* Variables must be consistent in variable-store.
|
|
22
21
|
*/
|
|
23
22
|
useEffect(() => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
name:
|
|
28
|
-
value
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
var _a, _b;
|
|
24
|
+
const newInitialValues = [];
|
|
25
|
+
for (const name in valueMap) {
|
|
26
|
+
const initialLength = (_b = (_a = valueMap[name]) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0; // default 0: i.e not value (in some case, we have null value instead if empty array)
|
|
27
|
+
// Add handleChange value for each additional iteration required
|
|
28
|
+
for (let i = initialLength; i < nbRows; i++) {
|
|
29
|
+
newInitialValues.push({
|
|
30
|
+
name: name,
|
|
31
|
+
value: null,
|
|
32
|
+
iteration: [i],
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (newInitialValues.length > 0)
|
|
37
|
+
handleChanges(newInitialValues);
|
|
32
38
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
33
39
|
}, []);
|
|
34
40
|
const addRow = useCallback(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/Loop/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/Loop/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGzD,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,KAGC,EACA,EAAE;;IACH,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IACpE,MAAM,GAAG,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,mCAAI,gBAAgB,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,mCAAI,gBAAgB,CAAC;IAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CACnC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,gBAAgB,CAAC,CAC7C,CAAC;IAEF;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,GAAG,EAAE;;QACd,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,MAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,0CAAE,MAAM,mCAAI,CAAC,CAAC,CAAC,qFAAqF;YACxI,gEAAgE;YAChE,KAAK,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,gBAAgB,CAAC,IAAI,CAAC;oBACrB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,CAAC,CAAC,CAAC;iBACd,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACjE,uDAAuD;IACxD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;YAC7B,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3D,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,CAAC,MAAM,CAAC;aACnB,CAAC,CAAC,CAAC;YACJ,aAAa,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YACnB,OAAO;QACR,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;QAC7B,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,8BAA8B;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YAC5D,OAAO;gBACN,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;aACzC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAE3C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAChD,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@ import { describe, expect, it, vi } from 'vitest';
|
|
|
3
3
|
import { useLoopUtils } from './utils';
|
|
4
4
|
|
|
5
5
|
describe('useLoopUtils()', () => {
|
|
6
|
-
it('should handleChange where values have not the right size', () => {
|
|
6
|
+
it('should handleChange with iteration where values have not the right size', () => {
|
|
7
7
|
const mockHandleChange = vi.fn();
|
|
8
8
|
|
|
9
9
|
renderHook(() =>
|
|
@@ -17,8 +17,12 @@ describe('useLoopUtils()', () => {
|
|
|
17
17
|
|
|
18
18
|
expect(mockHandleChange).toHaveBeenCalledOnce();
|
|
19
19
|
expect(mockHandleChange).toHaveBeenCalledWith([
|
|
20
|
-
{ name: 'NAME', value:
|
|
21
|
-
{ name: '
|
|
20
|
+
{ name: 'NAME', value: null, iteration: [2] },
|
|
21
|
+
{ name: 'NAME', value: null, iteration: [3] },
|
|
22
|
+
{ name: 'NAME', value: null, iteration: [4] },
|
|
23
|
+
{ name: 'AGE', value: null, iteration: [2] },
|
|
24
|
+
{ name: 'AGE', value: null, iteration: [3] },
|
|
25
|
+
{ name: 'AGE', value: null, iteration: [4] },
|
|
22
26
|
]);
|
|
23
27
|
});
|
|
24
28
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { useCallback, useEffect, useState } from 'react';
|
|
2
2
|
import { LunaticComponentProps } from '../type';
|
|
3
|
-
import { resizeArrayVariable } from '../../use-lunatic/reducer/commons';
|
|
4
3
|
|
|
5
4
|
const DEFAULT_MIN_ROWS = 1;
|
|
6
5
|
const DEFAULT_MAX_ROWS = 12;
|
|
@@ -31,13 +30,19 @@ export const useLoopUtils = (
|
|
|
31
30
|
* Variables must be consistent in variable-store.
|
|
32
31
|
*/
|
|
33
32
|
useEffect(() => {
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
const newInitialValues = [];
|
|
34
|
+
for (const name in valueMap) {
|
|
35
|
+
const initialLength = valueMap[name]?.length ?? 0; // default 0: i.e not value (in some case, we have null value instead if empty array)
|
|
36
|
+
// Add handleChange value for each additional iteration required
|
|
37
|
+
for (let i = initialLength; i < nbRows; i++) {
|
|
38
|
+
newInitialValues.push({
|
|
39
|
+
name: name,
|
|
40
|
+
value: null,
|
|
41
|
+
iteration: [i],
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (newInitialValues.length > 0) handleChanges(newInitialValues);
|
|
41
46
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
42
47
|
}, []);
|
|
43
48
|
|