@inseefr/lunatic 0.4.6-v2 → 0.4.7-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.
@@ -33,7 +33,7 @@ function InputNumber(_ref) {
33
33
  var valueEffective = value !== null && value !== void 0 ? value : '';
34
34
  var handleChange = (0, _react.useCallback)(function (e) {
35
35
  var val = e.target.valueAsNumber;
36
- onChange(val);
36
+ onChange(isNaN(val) ? null : val);
37
37
  }, [onChange]);
38
38
  return /*#__PURE__*/_react["default"].createElement("input", {
39
39
  className: (0, _classnames["default"])('lunatic-input', {
@@ -15,6 +15,10 @@ var _declarations = require("../../declarations");
15
15
 
16
16
  var _blockForLoopOchestrator = _interopRequireDefault(require("./block-for-loop-ochestrator"));
17
17
 
18
+ var _handleRowButton = _interopRequireDefault(require("../commons/handle-row-button"));
19
+
20
+ var _i18n = _interopRequireDefault(require("../../../i18n"));
21
+
18
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
23
 
20
24
  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); }
@@ -27,6 +31,14 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
27
31
 
28
32
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
33
 
34
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
35
+
36
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
37
+
38
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
39
+
40
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
41
+
30
42
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
43
 
32
44
  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."); }
@@ -42,6 +54,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
42
54
  function BlockForLoop(_ref) {
43
55
  var declarations = _ref.declarations,
44
56
  id = _ref.id,
57
+ label = _ref.label,
45
58
  lines = _ref.lines,
46
59
  components = _ref.components,
47
60
  handleChange = _ref.handleChange,
@@ -90,6 +103,30 @@ function BlockForLoop(_ref) {
90
103
  setNbRows(min);
91
104
  }
92
105
  }, [min, max, iterations]);
106
+ var addRow = (0, _react.useCallback)(function () {
107
+ if (nbRows < max) {
108
+ setNbRows(nbRows + 1);
109
+ }
110
+ }, [max, nbRows]);
111
+ var removeRow = (0, _react.useCallback)(function () {
112
+ if (nbRows > 1) {
113
+ var newNbRows = nbRows - 1;
114
+ setNbRows(newNbRows);
115
+ Object.entries(valueMap).forEach(function (_ref2) {
116
+ var _ref3 = _slicedToArray(_ref2, 2),
117
+ k = _ref3[0],
118
+ v = _ref3[1];
119
+
120
+ var newValue = v.reduce(function (acc, e, i) {
121
+ if (i < newNbRows) return [].concat(_toConsumableArray(acc), [e]);
122
+ return acc;
123
+ }, []);
124
+ handleChange({
125
+ name: k
126
+ }, newValue);
127
+ });
128
+ }
129
+ }, [nbRows, handleChange, valueMap]);
93
130
  var handleChangeLoop = (0, _react.useCallback)(function (response, value, args) {
94
131
  if (!paginatedLoop) {
95
132
  var v = valueMap[response.name];
@@ -129,7 +166,15 @@ function BlockForLoop(_ref) {
129
166
  declarations: declarations,
130
167
  id: id,
131
168
  custom: custom
132
- }), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
169
+ }), min && max && min !== max && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_handleRowButton["default"], {
170
+ onClick: addRow,
171
+ disabled: nbRows === max,
172
+ custom: custom
173
+ }, label || _i18n["default"].DEFAULT_BUTTON_ADD), /*#__PURE__*/_react["default"].createElement(_handleRowButton["default"], {
174
+ onClick: removeRow,
175
+ disabled: nbRows === 1,
176
+ custom: custom
177
+ }, _i18n["default"].DEFAULT_BUTTON_REMOVE)), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
133
178
  errors: errors
134
179
  }));
135
180
  }
@@ -15,7 +15,7 @@ var _rosterTable = _interopRequireDefault(require("./roster-table"));
15
15
 
16
16
  var _commons = require("../../commons");
17
17
 
18
- var _handleRowButton = _interopRequireDefault(require("./handle-row-button"));
18
+ var _handleRowButton = _interopRequireDefault(require("../commons/handle-row-button"));
19
19
 
20
20
  var _i18n = _interopRequireDefault(require("../../../i18n"));
21
21
 
@@ -45,6 +45,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
45
45
 
46
46
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
47
47
 
48
+ var DEFAULT_MIN_ROWS = 0;
48
49
  var DEFAULT_MAX_ROWS = 12;
49
50
 
50
51
  function getTableLength(value) {
@@ -72,6 +73,7 @@ function RosterforLoop(_ref) {
72
73
  management = _ref.management,
73
74
  custom = _ref.custom,
74
75
  errors = _ref.errors;
76
+ var min = (lines === null || lines === void 0 ? void 0 : lines.min) || DEFAULT_MIN_ROWS;
75
77
  var max = (lines === null || lines === void 0 ? void 0 : lines.max) || DEFAULT_MAX_ROWS;
76
78
 
77
79
  var _useState = (0, _react.useState)(false),
@@ -95,6 +97,14 @@ function RosterforLoop(_ref) {
95
97
  setNbRows(nbRows + 1);
96
98
  }
97
99
  }, [max, nbRows]);
100
+ var handleChangeLoop = (0, _react.useCallback)(function (response, value, args) {
101
+ var v = valueMap[response.name];
102
+ v[args.index] = value;
103
+ handleChange(response, v, {
104
+ loop: true,
105
+ length: nbRows
106
+ });
107
+ }, [handleChange, nbRows, valueMap]);
98
108
  var removeRow = (0, _react.useCallback)(function () {
99
109
  if (nbRows > 1) {
100
110
  var newNbRows = nbRows - 1;
@@ -130,7 +140,7 @@ function RosterforLoop(_ref) {
130
140
  nbRows: nbRows,
131
141
  executeExpression: executeExpression,
132
142
  header: headers,
133
- handleChange: handleChange,
143
+ handleChange: handleChangeLoop,
134
144
  valueMap: valueMap,
135
145
  management: management,
136
146
  missing: missing,
@@ -140,7 +150,7 @@ function RosterforLoop(_ref) {
140
150
  declarations: declarations,
141
151
  id: id,
142
152
  custom: custom
143
- }), /*#__PURE__*/_react["default"].createElement(_handleRowButton["default"], {
153
+ }), min && max && min !== max && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_handleRowButton["default"], {
144
154
  onClick: addRow,
145
155
  disabled: nbRows === max,
146
156
  custom: custom
@@ -148,7 +158,7 @@ function RosterforLoop(_ref) {
148
158
  onClick: removeRow,
149
159
  disabled: nbRows === 1,
150
160
  custom: custom
151
- }, _i18n["default"].DEFAULT_BUTTON_REMOVE), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
161
+ }, _i18n["default"].DEFAULT_BUTTON_REMOVE)), /*#__PURE__*/_react["default"].createElement(_commons.Errors, {
152
162
  errors: errors
153
163
  }));
154
164
  }
@@ -53,7 +53,7 @@
53
53
  "id": "l14vfucm-CI-0",
54
54
  "criticality": "WARN",
55
55
  "control": {
56
- "value": "not(cast(Q1,integer) > 3)",
56
+ "value": "not(Q1 > 3)",
57
57
  "type": "VTL"
58
58
  },
59
59
  "errorMessage": { "value": "\"Supérieur à 3\"", "type": "VTL|MD" },
@@ -81,8 +81,8 @@
81
81
  "bindingDependencies": ["Q1", "Q2"],
82
82
  "loopDependencies": ["Q1"],
83
83
  "lines": {
84
- "min": { "value": "cast(nvl(Q1,\"0\"),integer)", "type": "VTL" },
85
- "max": { "value": "cast(nvl(Q1,\"0\"),integer)", "type": "VTL" }
84
+ "min": { "value": "nvl(Q1,0)", "type": "VTL" },
85
+ "max": { "value": "nvl(Q1,0)", "type": "VTL" }
86
86
  },
87
87
  "components": [
88
88
  {
@@ -191,7 +191,7 @@
191
191
  "id": "l5ggzuuo-CI-0",
192
192
  "criticality": "WARN",
193
193
  "control": {
194
- "value": "not(cast(nvl(Q3,\"0\"),integer) > cast(nvl(Q4,\"0\"),integer))",
194
+ "value": "not(nvl(Q3,0) > nvl(Q4,0))",
195
195
  "type": "VTL"
196
196
  },
197
197
  "errorMessage": { "value": "\"Q3 > Q4\"", "type": "VTL|MD" },
@@ -361,7 +361,7 @@
361
361
  "cleaning": {},
362
362
  "resizing": {
363
363
  "Q1": {
364
- "size": "cast(nvl(Q1,\"0\"),integer)",
364
+ "size": "nvl(Q1,0)",
365
365
  "variables": ["Q2", "Q3", "Q4", "Q5"]
366
366
  }
367
367
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inseefr/lunatic",
3
- "version": "0.4.6-v2",
3
+ "version": "0.4.7-v2",
4
4
  "workersVersion": "0.2.4-experimental",
5
5
  "description": "Library of questionnaire components",
6
6
  "repository": {