@inseefr/lunatic 0.4.28-v2 → 0.4.30-v2
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/components/checkbox/checkbox-boolean/lunatic-checkbox-boolean.js +2 -1
- package/lib/components/checkbox/checkbox-group/lunatic-checkbox-group.js +2 -1
- package/lib/components/checkbox/checkbox-one/lunatic-checkbox-one.js +3 -1
- package/lib/components/commons/components/combo-box/combo-box.scss +30 -38
- package/lib/components/commons/components/errors/errors.js +26 -6
- package/lib/components/commons/components/orchestrated-component.js +4 -2
- package/lib/components/commons/create-row-orchestrator.js +4 -2
- package/lib/components/datepicker/lunatic-datepicker.js +3 -1
- package/lib/components/dropdown/lunatic-dropdown.js +2 -1
- package/lib/components/input/lunatic-input.js +3 -1
- package/lib/components/input-number/lunatic-input-number.js +3 -1
- package/lib/components/loop/block-for-loop/block-for-loop.js +5 -5
- package/lib/components/loop/block-for-loop/row.js +5 -3
- package/lib/components/loop/roster-for-loop/roster-for-loop.js +3 -4
- package/lib/components/loop/roster-for-loop/row.js +5 -3
- package/lib/components/pairwise/links/pairwise-links.js +0 -4
- package/lib/components/radio/lunatic-radio-group.js +2 -1
- package/lib/components/suggester/lunatic-suggester.js +2 -1
- package/lib/components/table/lunatic-table.js +5 -2
- package/lib/components/textarea/lunatic-textarea.js +3 -1
- package/lib/stories/questionnaires-test/controls/V2_Controles_BouclesLiees_PasPageFin.json +13 -52
- package/lib/stories/questionnaires-test/controls/boucles-n.json +74 -444
- package/lib/stories/questionnaires-test/controls/controls.stories.js +8 -8
- package/lib/use-lunatic/initial-state.js +1 -0
- package/lib/use-lunatic/reducer/reduce-go-next-page.js +8 -5
- package/lib/use-lunatic/reducer/reduce-go-previous-page.js +2 -1
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-handle-change.js +8 -1
- package/lib/use-lunatic/reducer/validate-controls/create-controls-reducer.js +22 -11
- package/lib/use-lunatic/reducer/validate-controls/create-modal-controls-reducer.js +18 -9
- package/lib/use-lunatic/reducer/validate-controls/validation-utils.js +5 -3
- package/package.json +1 -1
|
@@ -25,10 +25,12 @@ function LunaticCheckboxOne(_ref) {
|
|
|
25
25
|
var errors = _ref.errors,
|
|
26
26
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
27
27
|
|
|
28
|
+
var id = props.id;
|
|
28
29
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_radio["default"], _extends({}, props, {
|
|
29
30
|
checkboxStyle: true
|
|
30
31
|
})), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
|
|
31
|
-
errors: errors
|
|
32
|
+
errors: errors,
|
|
33
|
+
activeId: id
|
|
32
34
|
}));
|
|
33
35
|
}
|
|
34
36
|
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
@mixin preventSelect() {
|
|
2
|
+
-moz-user-select: -moz-none;
|
|
3
|
+
-khtml-user-select: none;
|
|
4
|
+
-webkit-user-select: none;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
@mixin placeholder {
|
|
8
|
+
color: gray;
|
|
9
|
+
@include defaultFont();
|
|
10
|
+
font-size: 15px;
|
|
11
|
+
line-height: 34px;
|
|
12
|
+
vertical-align: middle;
|
|
13
|
+
font-weight: normal;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@mixin defaultFont {
|
|
17
|
+
font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@mixin selection() {
|
|
21
|
+
@include defaultFont();
|
|
22
|
+
}
|
|
23
23
|
|
|
24
24
|
.lunatic-combo-box-container {
|
|
25
25
|
position: relative;
|
|
@@ -51,11 +51,11 @@
|
|
|
51
51
|
line-height: 34px;
|
|
52
52
|
font-size: 15px;
|
|
53
53
|
padding-left: 4px;
|
|
54
|
-
|
|
54
|
+
@include selection();
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
&::placeholder {
|
|
57
|
+
@include placeholder();
|
|
58
|
+
}
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
.lunatic-combo-box-selected {
|
|
@@ -64,14 +64,11 @@
|
|
|
64
64
|
background-color: var(--color-combo-box-background);
|
|
65
65
|
border-radius: 5px;
|
|
66
66
|
padding-left: 4px;
|
|
67
|
-
|
|
67
|
+
@include selection();
|
|
68
68
|
outline: none;
|
|
69
69
|
|
|
70
70
|
display: block;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
.placeholder {
|
|
74
|
-
}
|
|
71
|
+
@include placeholder();
|
|
75
72
|
|
|
76
73
|
.selection {
|
|
77
74
|
display: inline-block;
|
|
@@ -86,7 +83,7 @@
|
|
|
86
83
|
}
|
|
87
84
|
|
|
88
85
|
.lunatic-combo-box-panel {
|
|
89
|
-
|
|
86
|
+
@include defaultFont();
|
|
90
87
|
height: 0;
|
|
91
88
|
opacity: 0;
|
|
92
89
|
background-color: var(--color-combo-box-background);
|
|
@@ -183,11 +180,6 @@
|
|
|
183
180
|
&.displayed {
|
|
184
181
|
display: block;
|
|
185
182
|
}
|
|
186
|
-
|
|
187
|
-
.placeholder {
|
|
188
|
-
}
|
|
189
|
-
.selection {
|
|
190
|
-
}
|
|
191
183
|
}
|
|
192
184
|
}
|
|
193
185
|
|
|
@@ -207,7 +199,7 @@
|
|
|
207
199
|
}
|
|
208
200
|
.lunatic-combo-box-option {
|
|
209
201
|
white-space: nowrap;
|
|
210
|
-
|
|
202
|
+
@include preventSelect();
|
|
211
203
|
}
|
|
212
204
|
}
|
|
213
205
|
}
|
|
@@ -11,13 +11,33 @@ require("./errors.scss");
|
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
13
|
|
|
14
|
-
function
|
|
15
|
-
|
|
14
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
15
|
+
|
|
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
|
+
|
|
18
|
+
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); }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
16
21
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
23
|
+
|
|
24
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
25
|
+
|
|
26
|
+
function Errors(_ref) {
|
|
27
|
+
var errors = _ref.errors,
|
|
28
|
+
activeId = _ref.activeId;
|
|
29
|
+
var activeErrors = Object.entries(errors || {}).find(function (_ref2) {
|
|
30
|
+
var _ref3 = _slicedToArray(_ref2, 1),
|
|
31
|
+
k = _ref3[0];
|
|
32
|
+
|
|
33
|
+
return activeId.trim().endsWith(k);
|
|
34
|
+
});
|
|
35
|
+
if (!activeErrors) return null;
|
|
36
|
+
|
|
37
|
+
if (Array.isArray(activeErrors[1])) {
|
|
38
|
+
var content = activeErrors[1].map(function (_ref4) {
|
|
39
|
+
var id = _ref4.id,
|
|
40
|
+
errorMessage = _ref4.errorMessage;
|
|
21
41
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
22
42
|
key: "error-".concat(id),
|
|
23
43
|
className: "lunatic-error"
|
|
@@ -34,7 +34,8 @@ function OrchestratedComponent(_ref) {
|
|
|
34
34
|
iteration = _ref.iteration,
|
|
35
35
|
linksIterations = _ref.linksIterations,
|
|
36
36
|
executeExpression = _ref.executeExpression,
|
|
37
|
-
custom = _ref.custom
|
|
37
|
+
custom = _ref.custom,
|
|
38
|
+
errors = _ref.errors;
|
|
38
39
|
var componentType = component.componentType;
|
|
39
40
|
var componentFilled = (0, _commons.fillComponentExpressions)(component, {
|
|
40
41
|
executeExpression: executeExpression,
|
|
@@ -58,7 +59,8 @@ function OrchestratedComponent(_ref) {
|
|
|
58
59
|
shortcut: shortcut,
|
|
59
60
|
value: value,
|
|
60
61
|
executeExpression: executeExpression,
|
|
61
|
-
custom: custom
|
|
62
|
+
custom: custom,
|
|
63
|
+
errors: errors
|
|
62
64
|
}));
|
|
63
65
|
}
|
|
64
66
|
|
|
@@ -23,7 +23,8 @@ function createRowOrchestrator(Row) {
|
|
|
23
23
|
executeExpression = _ref.executeExpression,
|
|
24
24
|
iteration = _ref.iteration,
|
|
25
25
|
xAxisIterations = _ref.xAxisIterations,
|
|
26
|
-
custom = _ref.custom
|
|
26
|
+
custom = _ref.custom,
|
|
27
|
+
errors = _ref.errors;
|
|
27
28
|
|
|
28
29
|
if (nbRows > 0) {
|
|
29
30
|
return new Array(nbRows).fill(null).map(function (_, index) {
|
|
@@ -45,7 +46,8 @@ function createRowOrchestrator(Row) {
|
|
|
45
46
|
features: features,
|
|
46
47
|
shortcut: shortcut,
|
|
47
48
|
preferences: preferences,
|
|
48
|
-
missing: missing
|
|
49
|
+
missing: missing,
|
|
50
|
+
errors: errors
|
|
49
51
|
});
|
|
50
52
|
});
|
|
51
53
|
}
|
|
@@ -25,8 +25,10 @@ var LunaticDatepicker = function LunaticDatepicker(_ref) {
|
|
|
25
25
|
var errors = _ref.errors,
|
|
26
26
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
27
27
|
|
|
28
|
+
var id = props.id;
|
|
28
29
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_datepicker["default"], props), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
|
|
29
|
-
errors: errors
|
|
30
|
+
errors: errors,
|
|
31
|
+
activeId: id
|
|
30
32
|
}));
|
|
31
33
|
};
|
|
32
34
|
|
|
@@ -25,8 +25,10 @@ var LunaticInput = function LunaticInput(_ref) {
|
|
|
25
25
|
var errors = _ref.errors,
|
|
26
26
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
27
27
|
|
|
28
|
+
var id = props.id;
|
|
28
29
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_input["default"], props), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
|
|
29
|
-
errors: errors
|
|
30
|
+
errors: errors,
|
|
31
|
+
activeId: id
|
|
30
32
|
}));
|
|
31
33
|
};
|
|
32
34
|
|
|
@@ -23,8 +23,10 @@ var LunaticInputNumber = function LunaticInputNumber(_ref) {
|
|
|
23
23
|
var errors = _ref.errors,
|
|
24
24
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
25
25
|
|
|
26
|
+
var id = props.id;
|
|
26
27
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_inputNumber["default"], props), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
|
|
27
|
-
errors: errors
|
|
28
|
+
errors: errors,
|
|
29
|
+
activeId: id
|
|
28
30
|
}));
|
|
29
31
|
};
|
|
30
32
|
|
|
@@ -117,7 +117,8 @@ function BlockForLoop(_ref) {
|
|
|
117
117
|
v[args.index] = value;
|
|
118
118
|
handleChange(response, v, {
|
|
119
119
|
loop: true,
|
|
120
|
-
length: nbRows
|
|
120
|
+
length: nbRows,
|
|
121
|
+
shallowIteration: args.index
|
|
121
122
|
});
|
|
122
123
|
} else handleChange(response, value, _objectSpread(_objectSpread({}, args), {}, {
|
|
123
124
|
loop: true,
|
|
@@ -145,7 +146,8 @@ function BlockForLoop(_ref) {
|
|
|
145
146
|
features: features,
|
|
146
147
|
preferences: preferences,
|
|
147
148
|
executeExpression: executeExpression,
|
|
148
|
-
custom: custom
|
|
149
|
+
custom: custom,
|
|
150
|
+
errors: errors
|
|
149
151
|
}), /*#__PURE__*/_react["default"].createElement(_declarations.DeclarationsDetachable, {
|
|
150
152
|
declarations: declarations,
|
|
151
153
|
id: id,
|
|
@@ -158,9 +160,7 @@ function BlockForLoop(_ref) {
|
|
|
158
160
|
onClick: removeRow,
|
|
159
161
|
disabled: nbRows === 1,
|
|
160
162
|
custom: custom
|
|
161
|
-
}, _i18n["default"].DEFAULT_BUTTON_REMOVE))
|
|
162
|
-
errors: errors
|
|
163
|
-
}));
|
|
163
|
+
}, _i18n["default"].DEFAULT_BUTTON_REMOVE)));
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
return null;
|
|
@@ -39,7 +39,8 @@ function Row(_ref) {
|
|
|
39
39
|
preferences = _ref.preferences,
|
|
40
40
|
rowIndex = _ref.rowIndex,
|
|
41
41
|
executeExpression = _ref.executeExpression,
|
|
42
|
-
custom = _ref.custom
|
|
42
|
+
custom = _ref.custom,
|
|
43
|
+
errors = _ref.errors;
|
|
43
44
|
var handleChangeRow = (0, _react.useCallback)(function (response, value) {
|
|
44
45
|
handleChange(response, value, {
|
|
45
46
|
index: rowIndex
|
|
@@ -48,7 +49,7 @@ function Row(_ref) {
|
|
|
48
49
|
return components.reduce(function (row, component) {
|
|
49
50
|
var response = component.response,
|
|
50
51
|
id = component.id;
|
|
51
|
-
var idComponent = "".concat(id, "-").concat(rowIndex
|
|
52
|
+
var idComponent = "".concat(id, "-").concat(rowIndex, " ");
|
|
52
53
|
var value = undefined;
|
|
53
54
|
|
|
54
55
|
if (response) {
|
|
@@ -73,7 +74,8 @@ function Row(_ref) {
|
|
|
73
74
|
preferences: preferences,
|
|
74
75
|
iteration: rowIndex,
|
|
75
76
|
executeExpression: executeExpression,
|
|
76
|
-
custom: custom
|
|
77
|
+
custom: custom,
|
|
78
|
+
errors: errors
|
|
77
79
|
})]);
|
|
78
80
|
}, []);
|
|
79
81
|
}
|
|
@@ -128,7 +128,8 @@ function RosterforLoop(_ref) {
|
|
|
128
128
|
management: management,
|
|
129
129
|
missing: missing,
|
|
130
130
|
shortcut: shortcut,
|
|
131
|
-
custom: custom
|
|
131
|
+
custom: custom,
|
|
132
|
+
errors: errors
|
|
132
133
|
}), /*#__PURE__*/_react["default"].createElement(_declarations.DeclarationsDetachable, {
|
|
133
134
|
declarations: declarations,
|
|
134
135
|
id: id,
|
|
@@ -141,9 +142,7 @@ function RosterforLoop(_ref) {
|
|
|
141
142
|
onClick: removeRow,
|
|
142
143
|
disabled: nbRows === 1,
|
|
143
144
|
custom: custom
|
|
144
|
-
}, _i18n["default"].DEFAULT_BUTTON_REMOVE))
|
|
145
|
-
errors: errors
|
|
146
|
-
}));
|
|
145
|
+
}, _i18n["default"].DEFAULT_BUTTON_REMOVE)));
|
|
147
146
|
}
|
|
148
147
|
|
|
149
148
|
return null;
|
|
@@ -29,7 +29,8 @@ function Row(_ref) {
|
|
|
29
29
|
management = _ref.management,
|
|
30
30
|
preferences = _ref.preferences,
|
|
31
31
|
executeExpression = _ref.executeExpression,
|
|
32
|
-
custom = _ref.custom
|
|
32
|
+
custom = _ref.custom,
|
|
33
|
+
errors = _ref.errors;
|
|
33
34
|
var handleChangeRow = (0, _react.useCallback)(function (response, value) {
|
|
34
35
|
handleChange(response, value, {
|
|
35
36
|
index: rowIndex
|
|
@@ -44,7 +45,7 @@ function Row(_ref) {
|
|
|
44
45
|
}, components.map(function (component) {
|
|
45
46
|
var response = component.response,
|
|
46
47
|
id = component.id;
|
|
47
|
-
var idComponent = "".concat(id, "-").concat(rowIndex
|
|
48
|
+
var idComponent = "".concat(id, "-").concat(rowIndex, " ");
|
|
48
49
|
var value = undefined;
|
|
49
50
|
var key = "".concat(id, "-").concat(rowIndex);
|
|
50
51
|
|
|
@@ -72,7 +73,8 @@ function Row(_ref) {
|
|
|
72
73
|
preferences: preferences,
|
|
73
74
|
iteration: rowIndex,
|
|
74
75
|
executeExpression: executeExpression,
|
|
75
|
-
custom: custom
|
|
76
|
+
custom: custom,
|
|
77
|
+
errors: errors
|
|
76
78
|
}));
|
|
77
79
|
}));
|
|
78
80
|
}
|
|
@@ -13,8 +13,6 @@ var _linksOrchestrator = _interopRequireDefault(require("./links-orchestrator"))
|
|
|
13
13
|
|
|
14
14
|
var _declarations = require("../../declarations");
|
|
15
15
|
|
|
16
|
-
var _commons = require("../../commons");
|
|
17
|
-
|
|
18
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
17
|
|
|
20
18
|
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); }
|
|
@@ -67,8 +65,6 @@ var PairwiseLinks = function PairwiseLinks(_ref) {
|
|
|
67
65
|
declarations: declarations,
|
|
68
66
|
id: id,
|
|
69
67
|
custom: custom
|
|
70
|
-
}), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
|
|
71
|
-
errors: errors
|
|
72
68
|
}));
|
|
73
69
|
return null;
|
|
74
70
|
};
|
|
@@ -69,9 +69,12 @@ function LunaticTable(_ref) {
|
|
|
69
69
|
handleChange: handleChange,
|
|
70
70
|
iteration: iteration,
|
|
71
71
|
nbRows: nbRows,
|
|
72
|
-
valueMap: value
|
|
73
|
-
|
|
72
|
+
valueMap: value //TODO propagate
|
|
73
|
+
,
|
|
74
74
|
errors: errors
|
|
75
|
+
})), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
|
|
76
|
+
errors: errors,
|
|
77
|
+
activeId: id
|
|
75
78
|
}));
|
|
76
79
|
}
|
|
77
80
|
|
|
@@ -25,8 +25,10 @@ var LunaticTextarea = function LunaticTextarea(_ref) {
|
|
|
25
25
|
var errors = _ref.errors,
|
|
26
26
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
27
27
|
|
|
28
|
+
var id = props.id;
|
|
28
29
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_textarea["default"], props), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
|
|
29
|
-
errors: errors
|
|
30
|
+
errors: errors,
|
|
31
|
+
activeId: id
|
|
30
32
|
}));
|
|
31
33
|
};
|
|
32
34
|
|
|
@@ -120,19 +120,6 @@
|
|
|
120
120
|
{
|
|
121
121
|
"componentType": "InputNumber",
|
|
122
122
|
"controls": [
|
|
123
|
-
{
|
|
124
|
-
"criticality": "ERROR",
|
|
125
|
-
"errorMessage": {
|
|
126
|
-
"type": "VTL|MD",
|
|
127
|
-
"value": "\"Vous devez saisir un nombre.\""
|
|
128
|
-
},
|
|
129
|
-
"typeOfControl": "FORMAT",
|
|
130
|
-
"control": {
|
|
131
|
-
"type": "VTL",
|
|
132
|
-
"value": "not(not(isnull(Q1)) and not(isNaN(Q1)))"
|
|
133
|
-
},
|
|
134
|
-
"id": "l14vfucm-formatNumber"
|
|
135
|
-
},
|
|
136
123
|
{
|
|
137
124
|
"criticality": "ERROR",
|
|
138
125
|
"errorMessage": {
|
|
@@ -142,9 +129,9 @@
|
|
|
142
129
|
"typeOfControl": "FORMAT",
|
|
143
130
|
"control": {
|
|
144
131
|
"type": "VTL",
|
|
145
|
-
"value": "not(not(isnull(Q1)) and (1>Q1 or 5<Q1))
|
|
132
|
+
"value": "not(not(isnull(Q1)) and (1>Q1 or 5<Q1))"
|
|
146
133
|
},
|
|
147
|
-
"id": "l14vfucm-
|
|
134
|
+
"id": "l14vfucm-format-borne-inf-sup"
|
|
148
135
|
},
|
|
149
136
|
{
|
|
150
137
|
"criticality": "ERROR",
|
|
@@ -155,9 +142,9 @@
|
|
|
155
142
|
"typeOfControl": "FORMAT",
|
|
156
143
|
"control": {
|
|
157
144
|
"type": "VTL",
|
|
158
|
-
"value": "not(not(isnull(Q1))
|
|
145
|
+
"value": "not(not(isnull(Q1)) and round(Q1,0)<>Q1)"
|
|
159
146
|
},
|
|
160
|
-
"id": "l14vfucm-
|
|
147
|
+
"id": "l14vfucm-format-decimal"
|
|
161
148
|
},
|
|
162
149
|
{
|
|
163
150
|
"bindingDependencies": ["Q1"],
|
|
@@ -306,19 +293,6 @@
|
|
|
306
293
|
{
|
|
307
294
|
"componentType": "InputNumber",
|
|
308
295
|
"controls": [
|
|
309
|
-
{
|
|
310
|
-
"criticality": "ERROR",
|
|
311
|
-
"errorMessage": {
|
|
312
|
-
"type": "VTL|MD",
|
|
313
|
-
"value": "\"Vous devez saisir un nombre.\""
|
|
314
|
-
},
|
|
315
|
-
"typeOfControl": "FORMAT",
|
|
316
|
-
"control": {
|
|
317
|
-
"type": "VTL",
|
|
318
|
-
"value": "not(not(isnull(Q3)) and not(isNaN(Q3)))"
|
|
319
|
-
},
|
|
320
|
-
"id": "l5ggvqgj-formatNumber"
|
|
321
|
-
},
|
|
322
296
|
{
|
|
323
297
|
"criticality": "ERROR",
|
|
324
298
|
"errorMessage": {
|
|
@@ -328,9 +302,9 @@
|
|
|
328
302
|
"typeOfControl": "FORMAT",
|
|
329
303
|
"control": {
|
|
330
304
|
"type": "VTL",
|
|
331
|
-
"value": "not(not(isnull(Q3)) and (0>Q3 or 20<Q3))
|
|
305
|
+
"value": "not(not(isnull(Q3)) and (0>Q3 or 20<Q3))"
|
|
332
306
|
},
|
|
333
|
-
"id": "l5ggvqgj-
|
|
307
|
+
"id": "l5ggvqgj-format-borne-inf-sup"
|
|
334
308
|
},
|
|
335
309
|
{
|
|
336
310
|
"criticality": "ERROR",
|
|
@@ -341,9 +315,9 @@
|
|
|
341
315
|
"typeOfControl": "FORMAT",
|
|
342
316
|
"control": {
|
|
343
317
|
"type": "VTL",
|
|
344
|
-
"value": "not(not(isnull(Q3))
|
|
318
|
+
"value": "not(not(isnull(Q3)) and round(Q3,0)<>Q3)"
|
|
345
319
|
},
|
|
346
|
-
"id": "l5ggvqgj-
|
|
320
|
+
"id": "l5ggvqgj-format-decimal"
|
|
347
321
|
}
|
|
348
322
|
],
|
|
349
323
|
"max": 20,
|
|
@@ -375,19 +349,6 @@
|
|
|
375
349
|
{
|
|
376
350
|
"componentType": "InputNumber",
|
|
377
351
|
"controls": [
|
|
378
|
-
{
|
|
379
|
-
"criticality": "ERROR",
|
|
380
|
-
"errorMessage": {
|
|
381
|
-
"type": "VTL|MD",
|
|
382
|
-
"value": "\"Vous devez saisir un nombre.\""
|
|
383
|
-
},
|
|
384
|
-
"typeOfControl": "FORMAT",
|
|
385
|
-
"control": {
|
|
386
|
-
"type": "VTL",
|
|
387
|
-
"value": "not(not(isnull(Q4)) and not(isNaN(Q4)))"
|
|
388
|
-
},
|
|
389
|
-
"id": "l5ggzuuo-formatNumber"
|
|
390
|
-
},
|
|
391
352
|
{
|
|
392
353
|
"criticality": "ERROR",
|
|
393
354
|
"errorMessage": {
|
|
@@ -397,9 +358,9 @@
|
|
|
397
358
|
"typeOfControl": "FORMAT",
|
|
398
359
|
"control": {
|
|
399
360
|
"type": "VTL",
|
|
400
|
-
"value": "not(not(isnull(Q4)) and (0>Q4 or 20<Q4))
|
|
361
|
+
"value": "not(not(isnull(Q4)) and (0>Q4 or 20<Q4))"
|
|
401
362
|
},
|
|
402
|
-
"id": "l5ggzuuo-
|
|
363
|
+
"id": "l5ggzuuo-format-borne-inf-sup"
|
|
403
364
|
},
|
|
404
365
|
{
|
|
405
366
|
"criticality": "ERROR",
|
|
@@ -410,9 +371,9 @@
|
|
|
410
371
|
"typeOfControl": "FORMAT",
|
|
411
372
|
"control": {
|
|
412
373
|
"type": "VTL",
|
|
413
|
-
"value": "not(not(isnull(Q4))
|
|
374
|
+
"value": "not(not(isnull(Q4)) and round(Q4,0)<>Q4)"
|
|
414
375
|
},
|
|
415
|
-
"id": "l5ggzuuo-
|
|
376
|
+
"id": "l5ggzuuo-format-decimal"
|
|
416
377
|
},
|
|
417
378
|
{
|
|
418
379
|
"bindingDependencies": ["Q3", "Q4"],
|
|
@@ -565,7 +526,7 @@
|
|
|
565
526
|
"lunaticModelVersion": "2.2.14-rc",
|
|
566
527
|
"modele": "TESTCONTBOUCL",
|
|
567
528
|
"enoCoreVersion": "2.3.10-controls-type",
|
|
568
|
-
"generatingDate": "
|
|
529
|
+
"generatingDate": "22-09-2022 11:21:08",
|
|
569
530
|
"missing": false,
|
|
570
531
|
"id": "l5gghitu",
|
|
571
532
|
"maxPage": "8"
|