@inseefr/lunatic 0.4.3-v2 → 0.4.6-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.
Files changed (54) hide show
  1. package/lib/components/checkbox/checkbox-boolean/lunatic-checkbox-boolean.js +6 -3
  2. package/lib/components/checkbox/checkbox-group/checkbox-group.js +6 -6
  3. package/lib/components/checkbox/checkbox-group/lunatic-checkbox-group.js +6 -3
  4. package/lib/components/checkbox/checkbox-one/lunatic-checkbox-one.js +15 -2
  5. package/lib/components/commons/components/errors/errors.js +35 -0
  6. package/lib/components/commons/components/errors/errors.scss +5 -0
  7. package/lib/components/commons/components/errors/index.js +15 -0
  8. package/lib/components/commons/index.js +8 -0
  9. package/lib/components/datepicker/datepicker.js +6 -2
  10. package/lib/components/datepicker/lunatic-datepicker.js +18 -1
  11. package/lib/components/dropdown/lunatic-dropdown.js +6 -3
  12. package/lib/components/input/lunatic-input.js +22 -4
  13. package/lib/components/input-number/input-number.js +1 -1
  14. package/lib/components/input-number/lunatic-input-number.js +19 -2
  15. package/lib/components/loop/block-for-loop/block-for-loop.js +6 -1
  16. package/lib/components/loop/loop.js +6 -3
  17. package/lib/components/loop/roster-for-loop/roster-for-loop.js +7 -2
  18. package/lib/components/modal-controls/close-or-skip.js +13 -3
  19. package/lib/components/modal-controls/modal-controls.js +1 -2
  20. package/lib/components/modal-controls/modal-controls.scss +1 -1
  21. package/lib/components/pairwise/links/pairwise-links.js +6 -1
  22. package/lib/components/radio/lunatic-radio-group.js +6 -3
  23. package/lib/components/suggester/lunatic-suggester.js +6 -3
  24. package/lib/components/table/lunatic-table.js +5 -2
  25. package/lib/components/textarea/lunatic-textarea.js +24 -6
  26. package/lib/stories/date-picker/data.json +3 -0
  27. package/lib/stories/date-picker/datepicker.stories.js +38 -0
  28. package/lib/stories/date-picker/source.json +140 -0
  29. package/lib/stories/input/data.json +1 -5
  30. package/lib/stories/paste-questionnaire/test.stories.js +1 -1
  31. package/lib/stories/questionnaires-test/controls/V2_ControlesNonNum_horsBoucle_PasPageFin.json +489 -451
  32. package/lib/stories/questionnaires-test/controls/V2_ControlesNum_horsBoucle_PasPageFin.json +1956 -1688
  33. package/lib/stories/questionnaires-test/controls/V2_Controles_BouclesLiees_PasPageFin.json +3 -3
  34. package/lib/stories/questionnaires-test/controls/controls.stories.js +4 -4
  35. package/lib/stories/utils/default-arg-types.js +1 -1
  36. package/lib/stories/utils/orchestrator.js +18 -10
  37. package/lib/use-lunatic/actions.js +2 -2
  38. package/lib/use-lunatic/commons/execute-expression/create-refresh-calculated.js +2 -1
  39. package/lib/use-lunatic/commons/index.js +14 -2
  40. package/lib/use-lunatic/commons/page-tag.js +83 -0
  41. package/lib/use-lunatic/initial-state.js +3 -1
  42. package/lib/use-lunatic/reducer/reduce-go-next-page.js +53 -37
  43. package/lib/use-lunatic/reducer/reduce-go-previous-page.js +25 -24
  44. package/lib/use-lunatic/reducer/reduce-go-to-page.js +12 -4
  45. package/lib/use-lunatic/reducer/reduce-handle-change/reduce-handle-change.js +4 -1
  46. package/lib/use-lunatic/reducer/reduce-on-init.js +2 -2
  47. package/lib/use-lunatic/reducer/validate-controls/create-controls-reducer.js +59 -0
  48. package/lib/use-lunatic/reducer/validate-controls/create-modal-controls-reducer.js +88 -0
  49. package/lib/use-lunatic/reducer/validate-controls/index.js +11 -3
  50. package/lib/use-lunatic/reducer/validate-controls/validation-utils.js +71 -0
  51. package/lib/use-lunatic/use-lunatic.js +15 -5
  52. package/package.json +1 -1
  53. package/lib/use-lunatic/commons/get-page-tag.js +0 -21
  54. package/lib/use-lunatic/reducer/validate-controls/create-validate-reducer.js +0 -146
@@ -19,15 +19,18 @@ function LunaticCheckboxBoolean(_ref) {
19
19
  options = _ref.options,
20
20
  disabled = _ref.disabled,
21
21
  onChange = _ref.onChange,
22
- custom = _ref.custom;
23
- return /*#__PURE__*/_react["default"].createElement(_checkboxBoolean["default"], {
22
+ custom = _ref.custom,
23
+ errors = _ref.errors;
24
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_checkboxBoolean["default"], {
24
25
  id: id,
25
26
  options: options,
26
27
  checked: value,
27
28
  onClick: onChange,
28
29
  disabled: disabled,
29
30
  custom: custom
30
- });
31
+ }), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
32
+ errors: errors
33
+ }));
31
34
  }
32
35
 
33
36
  LunaticCheckboxBoolean.defaultProps = {
@@ -7,9 +7,9 @@ exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _commons = require("../commons");
10
+ var _commons = require("../../commons");
11
11
 
12
- var _commons2 = require("../../commons");
12
+ var _commons2 = require("../commons");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -24,7 +24,7 @@ function CheckBoxOptionWrapper(_ref) {
24
24
  handleChange = _ref.handleChange,
25
25
  response = _ref.response;
26
26
  var booleanValue = value || false;
27
- var onClickOption = (0, _commons2.useOnHandleChange)({
27
+ var onClickOption = (0, _commons.useOnHandleChange)({
28
28
  handleChange: handleChange,
29
29
  response: response,
30
30
  value: booleanValue
@@ -35,7 +35,7 @@ function CheckBoxOptionWrapper(_ref) {
35
35
  // [handleChange, response]
36
36
  // );
37
37
 
38
- return /*#__PURE__*/_react["default"].createElement(_commons.CheckboxOption, {
38
+ return /*#__PURE__*/_react["default"].createElement(_commons2.CheckboxOption, {
39
39
  id: checkboxId,
40
40
  labelledBy: labelId,
41
41
  checked: checked,
@@ -70,7 +70,7 @@ function CheckboxGroup(_ref3) {
70
70
  var labelId = "lunatic-checkbox-label-".concat(id, "-").concat(name);
71
71
  return /*#__PURE__*/_react["default"].createElement(CheckboxGroupContainer, {
72
72
  key: checkboxId
73
- }, /*#__PURE__*/_react["default"].createElement(_commons2.Label, {
73
+ }, /*#__PURE__*/_react["default"].createElement(_commons.Label, {
74
74
  id: labelId,
75
75
  htmlFor: checkboxId
76
76
  }, label), /*#__PURE__*/_react["default"].createElement(CheckBoxOptionWrapper, {
@@ -89,6 +89,6 @@ function CheckboxGroup(_ref3) {
89
89
  });
90
90
  }
91
91
 
92
- var _default = (0, _commons2.createCustomizableLunaticField)(CheckboxGroup);
92
+ var _default = (0, _commons.createCustomizableLunaticField)(CheckboxGroup);
93
93
 
94
94
  exports["default"] = _default;
@@ -18,14 +18,17 @@ function LunaticCheckboxGroup(_ref) {
18
18
  value = _ref.value,
19
19
  responses = _ref.responses,
20
20
  custom = _ref.custom,
21
- handleChange = _ref.handleChange;
22
- return /*#__PURE__*/_react["default"].createElement(_checkboxGroup["default"], {
21
+ handleChange = _ref.handleChange,
22
+ errors = _ref.errors;
23
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_checkboxGroup["default"], {
23
24
  id: id,
24
25
  options: responses,
25
26
  value: value,
26
27
  handleChange: handleChange,
27
28
  custom: custom
28
- });
29
+ }), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
30
+ errors: errors
31
+ }));
29
32
  }
30
33
 
31
34
  var _default = (0, _commons.createLunaticComponent)(LunaticCheckboxGroup, {
@@ -9,13 +9,26 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _radio = _interopRequireDefault(require("../../radio"));
11
11
 
12
+ var _commons = require("../../commons");
13
+
14
+ var _excluded = ["errors"];
15
+
12
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
17
 
14
18
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
19
 
16
- function LunaticCheckboxOne(props) {
17
- return /*#__PURE__*/_react["default"].createElement(_radio["default"], _extends({}, props, {
20
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
21
+
22
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
+
24
+ function LunaticCheckboxOne(_ref) {
25
+ var errors = _ref.errors,
26
+ props = _objectWithoutProperties(_ref, _excluded);
27
+
28
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_radio["default"], _extends({}, props, {
18
29
  checkboxStyle: true
30
+ })), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
31
+ errors: errors
19
32
  }));
20
33
  }
21
34
 
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ require("./errors.scss");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ function Errors(_ref) {
15
+ var errors = _ref.errors;
16
+
17
+ if (Array.isArray(errors)) {
18
+ var content = errors.map(function (_ref2) {
19
+ var id = _ref2.id,
20
+ errorMessage = _ref2.errorMessage;
21
+ return /*#__PURE__*/_react["default"].createElement("div", {
22
+ key: "error-".concat(id),
23
+ className: "lunatic-error"
24
+ }, errorMessage);
25
+ });
26
+ return /*#__PURE__*/_react["default"].createElement("div", {
27
+ className: "lunatic-errors"
28
+ }, content);
29
+ }
30
+
31
+ return null;
32
+ }
33
+
34
+ var _default = Errors;
35
+ exports["default"] = _default;
@@ -0,0 +1,5 @@
1
+ .lunatic-errors {
2
+ .lunatic-error {
3
+ color: red;
4
+ }
5
+ }
@@ -0,0 +1,15 @@
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 _errors["default"];
10
+ }
11
+ });
12
+
13
+ var _errors = _interopRequireDefault(require("./errors"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -23,6 +23,12 @@ Object.defineProperty(exports, "DefaultOptionRenderer", {
23
23
  return _defaultOptionRenderer["default"];
24
24
  }
25
25
  });
26
+ Object.defineProperty(exports, "Errors", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _errors["default"];
30
+ }
31
+ });
26
32
  Object.defineProperty(exports, "FieldContainer", {
27
33
  enumerable: true,
28
34
  get: function get() {
@@ -147,6 +153,8 @@ var _safetyLabel = _interopRequireDefault(require("./safety-label"));
147
153
 
148
154
  var _createLunaticComponent = _interopRequireDefault(require("./components/create-lunatic-component"));
149
155
 
156
+ var _errors = _interopRequireDefault(require("./components/errors"));
157
+
150
158
  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); }
151
159
 
152
160
  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; }
@@ -25,7 +25,9 @@ function Datepicker(_ref) {
25
25
  value = _ref.value,
26
26
  onChange = _ref.onChange,
27
27
  labelId = _ref.labelId,
28
- id = _ref.id;
28
+ id = _ref.id,
29
+ min = _ref.min,
30
+ max = _ref.max;
29
31
  var handleChange = (0, _react.useCallback)(function (e) {
30
32
  var value = e.target.value;
31
33
  onChange(value);
@@ -41,7 +43,9 @@ function Datepicker(_ref) {
41
43
  readOnly: readOnly,
42
44
  disabled: disabled,
43
45
  value: value,
44
- onChange: handleChange
46
+ onChange: handleChange,
47
+ min: min,
48
+ max: max
45
49
  });
46
50
  }
47
51
 
@@ -5,15 +5,32 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
 
8
+ var _react = _interopRequireDefault(require("react"));
9
+
8
10
  var _datepicker = _interopRequireDefault(require("./datepicker"));
9
11
 
10
12
  var _commons = require("../commons");
11
13
 
12
14
  require("./datepicker.scss");
13
15
 
16
+ var _excluded = ["errors"];
17
+
14
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
19
 
16
- var _default = (0, _commons.createLunaticComponent)(_datepicker["default"], {
20
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
21
+
22
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
+
24
+ var LunaticDatepicker = function LunaticDatepicker(_ref) {
25
+ var errors = _ref.errors,
26
+ props = _objectWithoutProperties(_ref, _excluded);
27
+
28
+ 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
+ }));
31
+ };
32
+
33
+ var _default = (0, _commons.createLunaticComponent)(LunaticDatepicker, {
17
34
  inputId: 'lunatic-datepicker'
18
35
  });
19
36
 
@@ -23,8 +23,9 @@ function LunaticDropdown(_ref) {
23
23
  disabled = _ref.disabled,
24
24
  htmlFor = _ref.htmlFor,
25
25
  labelId = _ref.labelId,
26
- value = _ref.value;
27
- return /*#__PURE__*/_react["default"].createElement(_dropdown["default"], {
26
+ value = _ref.value,
27
+ errors = _ref.errors;
28
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_dropdown["default"], {
28
29
  id: id,
29
30
  htmlFor: id,
30
31
  labelId: labelId,
@@ -35,7 +36,9 @@ function LunaticDropdown(_ref) {
35
36
  onSelect: onChange,
36
37
  value: value,
37
38
  className: "lunatic-dropdown"
38
- });
39
+ }), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
40
+ errors: errors
41
+ }));
39
42
  }
40
43
 
41
44
  LunaticDropdown.propTypes = {
@@ -5,19 +5,37 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
 
8
+ var _react = _interopRequireDefault(require("react"));
9
+
8
10
  var _input = _interopRequireDefault(require("./input"));
9
11
 
10
12
  var _commons = require("../commons");
11
13
 
12
14
  require("./input.scss");
13
15
 
16
+ var _excluded = ["errors"];
17
+
14
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
19
 
16
- var LunaticInput = (0, _commons.createLunaticComponent)(_input["default"], {
17
- inputId: 'lunatic-input'
18
- });
20
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
21
+
22
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
+
24
+ var LunaticInput = function LunaticInput(_ref) {
25
+ var errors = _ref.errors,
26
+ props = _objectWithoutProperties(_ref, _excluded);
27
+
28
+ 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
+ }));
31
+ };
32
+
19
33
  LunaticInput.defaultProps = {
20
34
  className: 'todo'
21
35
  };
22
- var _default = LunaticInput;
36
+
37
+ var _default = (0, _commons.createLunaticComponent)(LunaticInput, {
38
+ inputId: 'lunatic-input'
39
+ });
40
+
23
41
  exports["default"] = _default;
@@ -32,7 +32,7 @@ function InputNumber(_ref) {
32
32
  step = _ref.step;
33
33
  var valueEffective = value !== null && value !== void 0 ? value : '';
34
34
  var handleChange = (0, _react.useCallback)(function (e) {
35
- var val = e.target.value;
35
+ var val = e.target.valueAsNumber;
36
36
  onChange(val);
37
37
  }, [onChange]);
38
38
  return /*#__PURE__*/_react["default"].createElement("input", {
@@ -5,14 +5,31 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
 
8
+ var _react = _interopRequireDefault(require("react"));
9
+
8
10
  var _inputNumber = _interopRequireDefault(require("./input-number"));
9
11
 
10
12
  var _commons = require("../commons");
11
13
 
14
+ var _excluded = ["errors"];
15
+
12
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
17
 
14
- var LunaticInputNumber = (0, _commons.createLunaticComponent)(_inputNumber["default"], {
18
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
19
+
20
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
+
22
+ var LunaticInputNumber = function LunaticInputNumber(_ref) {
23
+ var errors = _ref.errors,
24
+ props = _objectWithoutProperties(_ref, _excluded);
25
+
26
+ 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
+ }));
29
+ };
30
+
31
+ var _default = (0, _commons.createLunaticComponent)(LunaticInputNumber, {
15
32
  inputId: 'lunatic-input-number'
16
33
  });
17
- var _default = LunaticInputNumber;
34
+
18
35
  exports["default"] = _default;
@@ -9,6 +9,8 @@ exports["default"] = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
+ var _commons = require("../../commons");
13
+
12
14
  var _declarations = require("../../declarations");
13
15
 
14
16
  var _blockForLoopOchestrator = _interopRequireDefault(require("./block-for-loop-ochestrator"));
@@ -52,7 +54,8 @@ function BlockForLoop(_ref) {
52
54
  executeExpression = _ref.executeExpression,
53
55
  iterations = _ref.iterations,
54
56
  custom = _ref.custom,
55
- paginatedLoop = _ref.paginatedLoop;
57
+ paginatedLoop = _ref.paginatedLoop,
58
+ errors = _ref.errors;
56
59
 
57
60
  var _useState = (0, _react.useState)(-1),
58
61
  _useState2 = _slicedToArray(_useState, 2),
@@ -126,6 +129,8 @@ function BlockForLoop(_ref) {
126
129
  declarations: declarations,
127
130
  id: id,
128
131
  custom: custom
132
+ }), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
133
+ errors: errors
129
134
  }));
130
135
  }
131
136
 
@@ -37,7 +37,8 @@ function Loop(props) {
37
37
  features = props.features,
38
38
  preferences = props.preferences,
39
39
  custom = props.custom,
40
- paginatedLoop = props.paginatedLoop;
40
+ paginatedLoop = props.paginatedLoop,
41
+ errors = props.errors;
41
42
 
42
43
  switch (componentType) {
43
44
  case LoopTypes.blockForLoop:
@@ -58,7 +59,8 @@ function Loop(props) {
58
59
  features: features,
59
60
  preferences: preferences,
60
61
  custom: custom,
61
- paginatedLoop: paginatedLoop
62
+ paginatedLoop: paginatedLoop,
63
+ errors: errors
62
64
  });
63
65
 
64
66
  case LoopTypes.rosterForLoop:
@@ -79,7 +81,8 @@ function Loop(props) {
79
81
  features: features,
80
82
  preferences: preferences,
81
83
  headers: headers,
82
- custom: custom
84
+ custom: custom,
85
+ errors: errors
83
86
  });
84
87
 
85
88
  default:
@@ -13,6 +13,8 @@ var _declarations = require("../../declarations");
13
13
 
14
14
  var _rosterTable = _interopRequireDefault(require("./roster-table"));
15
15
 
16
+ var _commons = require("../../commons");
17
+
16
18
  var _handleRowButton = _interopRequireDefault(require("./handle-row-button"));
17
19
 
18
20
  var _i18n = _interopRequireDefault(require("../../../i18n"));
@@ -68,7 +70,8 @@ function RosterforLoop(_ref) {
68
70
  shortcut = _ref.shortcut,
69
71
  id = _ref.id,
70
72
  management = _ref.management,
71
- custom = _ref.custom;
73
+ custom = _ref.custom,
74
+ errors = _ref.errors;
72
75
  var max = (lines === null || lines === void 0 ? void 0 : lines.max) || DEFAULT_MAX_ROWS;
73
76
 
74
77
  var _useState = (0, _react.useState)(false),
@@ -145,7 +148,9 @@ function RosterforLoop(_ref) {
145
148
  onClick: removeRow,
146
149
  disabled: nbRows === 1,
147
150
  custom: custom
148
- }, _i18n["default"].DEFAULT_BUTTON_REMOVE));
151
+ }, _i18n["default"].DEFAULT_BUTTON_REMOVE), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
152
+ errors: errors
153
+ }));
149
154
  }
150
155
 
151
156
  return null;
@@ -15,16 +15,26 @@ function CloseOrSkip(_ref) {
15
15
  var errors = _ref.errors,
16
16
  onClose = _ref.onClose,
17
17
  onSkip = _ref.onSkip;
18
- var bloc = Object.values(errors).flat().reduce(function (status, _ref2) {
18
+ var flattenErrors = Object.values(errors).flat();
19
+ var bloc = flattenErrors.reduce(function (status, _ref2) {
19
20
  var criticality = _ref2.criticality;
20
21
  return status || criticality === 'WARN';
21
22
  }, false);
23
+ var onlyCorrect = flattenErrors.map(function (_ref3) {
24
+ var blocking = _ref3.blocking;
25
+ return blocking;
26
+ }).includes(true);
22
27
 
23
28
  if (bloc) {
24
- return /*#__PURE__*/_react["default"].createElement(_button["default"], {
29
+ return /*#__PURE__*/_react["default"].createElement("div", {
30
+ className: "modal-buttons"
31
+ }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
25
32
  className: "modal-button",
26
33
  onClick: onClose
27
- }, "Close");
34
+ }, "Correct"), !onlyCorrect && /*#__PURE__*/_react["default"].createElement(_button["default"], {
35
+ className: "modal-button",
36
+ onClick: onSkip
37
+ }, "Ignore"));
28
38
  }
29
39
 
30
40
  return /*#__PURE__*/_react["default"].createElement(_button["default"], {
@@ -40,10 +40,9 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
40
40
  function Error(_ref) {
41
41
  var criticality = _ref.criticality,
42
42
  errorMessage = _ref.errorMessage;
43
- var value = errorMessage.value;
44
43
  return /*#__PURE__*/_react["default"].createElement("li", {
45
44
  className: (0, _classnames["default"])(criticality)
46
- }, value);
45
+ }, errorMessage);
47
46
  }
48
47
 
49
48
  function ComponentErrors(_ref2) {
@@ -34,7 +34,7 @@
34
34
  background-color: aquamarine;
35
35
  }
36
36
 
37
- .modal-button {
37
+ .modal-buttons {
38
38
  display: block;
39
39
  position: absolute;
40
40
  bottom: 0;
@@ -13,6 +13,8 @@ var _linksOrchestrator = _interopRequireDefault(require("./links-orchestrator"))
13
13
 
14
14
  var _declarations = require("../../declarations");
15
15
 
16
+ var _commons = require("../../commons");
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
19
 
18
20
  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); }
@@ -33,7 +35,8 @@ var PairwiseLinks = function PairwiseLinks(_ref) {
33
35
  xAxisIterations = _ref.xAxisIterations,
34
36
  yAxisIterations = _ref.yAxisIterations,
35
37
  custom = _ref.custom,
36
- id = _ref.id;
38
+ id = _ref.id,
39
+ errors = _ref.errors;
37
40
  var nbRows = xAxisIterations * yAxisIterations;
38
41
  var handleChangeLinks = (0, _react.useCallback)(function (response, value, args) {
39
42
  handleChange(response, value, args);
@@ -64,6 +67,8 @@ var PairwiseLinks = function PairwiseLinks(_ref) {
64
67
  declarations: declarations,
65
68
  id: id,
66
69
  custom: custom
70
+ }), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
71
+ errors: errors
67
72
  }));
68
73
  return null;
69
74
  };
@@ -21,15 +21,18 @@ function LunaticRadioGroup(props) {
21
21
  value = props.value,
22
22
  onChange = props.onChange,
23
23
  checkboxStyle = props.checkboxStyle,
24
- custom = props.custom;
25
- return /*#__PURE__*/_react["default"].createElement(_radioGroup["default"], {
24
+ custom = props.custom,
25
+ errors = props.errors;
26
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_radioGroup["default"], {
26
27
  id: id,
27
28
  options: options,
28
29
  value: value,
29
30
  onClick: onChange,
30
31
  checkboxStyle: checkboxStyle,
31
32
  custom: custom
32
- });
33
+ }), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
34
+ errors: errors
35
+ }));
33
36
  }
34
37
 
35
38
  var _default = (0, _commons.createLunaticComponent)(LunaticRadioGroup, {
@@ -36,8 +36,9 @@ function LunaticSuggester(props) {
36
36
  onChange = props.onChange,
37
37
  disabled = props.disabled,
38
38
  labelId = props.labelId,
39
- custom = props.custom;
40
- return /*#__PURE__*/_react["default"].createElement(_idbSuggester["default"], {
39
+ custom = props.custom,
40
+ errors = props.errors;
41
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_idbSuggester["default"], {
41
42
  storeName: storeName,
42
43
  optionRenderer: optionRenderer,
43
44
  labelRenderer: labelRenderer,
@@ -49,7 +50,9 @@ function LunaticSuggester(props) {
49
50
  id: id,
50
51
  value: value,
51
52
  custom: custom
52
- });
53
+ }), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
54
+ errors: errors
55
+ }));
53
56
  }
54
57
 
55
58
  LunaticSuggester.defaultProps = {
@@ -43,7 +43,8 @@ function LunaticTable(_ref) {
43
43
  body = _ref.body,
44
44
  header = _ref.header,
45
45
  executeExpression = _ref.executeExpression,
46
- iteration = _ref.iteration;
46
+ iteration = _ref.iteration,
47
+ errors = _ref.errors;
47
48
 
48
49
  var _useState = (0, _react.useState)(undefined),
49
50
  _useState2 = _slicedToArray(_useState, 2),
@@ -56,7 +57,7 @@ function LunaticTable(_ref) {
56
57
  setNbRows(length);
57
58
  }
58
59
  }, [body]);
59
- return /*#__PURE__*/_react["default"].createElement(_table["default"], {
60
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_table["default"], {
60
61
  id: id,
61
62
  custom: custom,
62
63
  header: header
@@ -69,6 +70,8 @@ function LunaticTable(_ref) {
69
70
  iteration: iteration,
70
71
  nbRows: nbRows,
71
72
  valueMap: value
73
+ })), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
74
+ errors: errors
72
75
  }));
73
76
  }
74
77