@inseefr/lunatic 2.4.5-beta → 2.4.5-mvp-eap

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 (70) hide show
  1. package/lib/components/commons/components/combo-box/combo-box-content.js +2 -5
  2. package/lib/components/commons/components/combo-box/combo-box.js +16 -16
  3. package/lib/components/commons/components/combo-box/panel/panel.js +2 -4
  4. package/lib/components/commons/components/combo-box/state-management/reduce-on-init.js +4 -1
  5. package/lib/components/commons/components/orchestrated-component.js +2 -0
  6. package/lib/components/commons/create-row-orchestrator.js +2 -2
  7. package/lib/components/dropdown/lunatic-dropdown.js +1 -0
  8. package/lib/components/input-number/html/input-number.js +2 -1
  9. package/lib/components/input-number/html/input-number.scss +1 -1
  10. package/lib/components/input-number/lunatic-input-number.js +2 -0
  11. package/lib/components/loop/loop.js +6 -4
  12. package/lib/components/loop/roster-for-loop/roster-for-loop-orchestrator.js +1 -0
  13. package/lib/components/loop/roster-for-loop/roster-for-loop.js +45 -33
  14. package/lib/components/loop/roster-for-loop/roster-table.js +22 -18
  15. package/lib/components/loop/roster-for-loop/roster.scss +30 -37
  16. package/lib/components/loop/roster-for-loop/row.js +84 -31
  17. package/lib/components/pairwise-links/pairwise-links.js +2 -4
  18. package/lib/components/pairwise-links/row.js +1 -0
  19. package/lib/components/suggester/html/suggester.js +31 -12
  20. package/lib/components/suggester/idb-suggester/idb-suggester.js +10 -7
  21. package/lib/components/suggester/lunatic-suggester.js +31 -4
  22. package/lib/hooks/use-did-change.js +19 -0
  23. package/lib/src/components/commons/components/combo-box/combo-box.d.ts +4 -4
  24. package/lib/src/components/commons/components/combo-box/combo-box.stories.d.ts +2 -2
  25. package/lib/src/components/commons/components/combo-box/panel/panel.d.ts +1 -1
  26. package/lib/src/components/commons/components/combo-box/state-management/actions.d.ts +4 -4
  27. package/lib/src/components/commons/components/orchestrated-component.d.ts +3 -3
  28. package/lib/src/components/commons/create-row-orchestrator.d.ts +4 -3
  29. package/lib/src/components/dropdown/html/dropdown-writable/dropdown-writable.d.ts +1 -1
  30. package/lib/src/components/dropdown/html/dropdown.d.ts +2 -1
  31. package/lib/src/components/input-number/html/input-number.d.ts +1 -0
  32. package/lib/src/components/loop/block-for-loop/block-for-loop-ochestrator.d.ts +11 -3
  33. package/lib/src/components/loop/block-for-loop/block-for-loop.d.ts +5 -1
  34. package/lib/src/components/loop/roster-for-loop/roster-for-loop-orchestrator.d.ts +11 -3
  35. package/lib/src/components/loop/roster-for-loop/roster-for-loop.d.ts +8 -4
  36. package/lib/src/components/loop/roster-for-loop/roster-table.d.ts +3 -3
  37. package/lib/src/components/loop/roster-for-loop/row.d.ts +3 -2
  38. package/lib/src/components/suggester/html/suggester.d.ts +6 -4
  39. package/lib/src/components/suggester/idb-suggester/idb-suggester.d.ts +4 -3
  40. package/lib/src/components/suggester/lunatic-suggester.d.ts +1 -1
  41. package/lib/src/components/type.d.ts +25 -5
  42. package/lib/src/hooks/use-did-change.d.ts +4 -0
  43. package/lib/src/use-lunatic/commons/fill-components/fill-from-state.d.ts +61 -16
  44. package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.d.ts +36 -0
  45. package/lib/src/use-lunatic/reducer/commons/is-loop-component.d.ts +2 -2
  46. package/lib/src/use-lunatic/reducer/overview/overview-on-init.d.ts +1 -1
  47. package/lib/src/use-lunatic/reducer/reduce-update-state.d.ts +106 -1
  48. package/lib/src/use-lunatic/replace-component-sequence.d.ts +1 -1
  49. package/lib/src/use-lunatic/type-source.d.ts +11 -1
  50. package/lib/src/use-lunatic/type.d.ts +1 -1
  51. package/lib/stories/input-number/input-number.stories.js +8 -1
  52. package/lib/stories/input-number/source-dynamic.json +41 -0
  53. package/lib/stories/loop/block-for-loop.stories.js +1 -8
  54. package/lib/stories/loop/roster-for-loop.stories.js +8 -1
  55. package/lib/stories/loop/source-with-header.json +15 -3
  56. package/lib/stories/questionnaires/EAP/data-eap.json +46 -0
  57. package/lib/stories/questionnaires/EAP/eap.stories.js +71 -0
  58. package/lib/stories/questionnaires/EAP/source-eap.json +433 -0
  59. package/lib/stories/suggester/multipleResponses.json +100 -0
  60. package/lib/stories/suggester/suggester-workers.stories.js +1 -1
  61. package/lib/stories/suggester/suggester.stories.js +18 -6
  62. package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +1 -1
  63. package/lib/use-lunatic/commons/get-component-value/get-component-value.js +8 -0
  64. package/lib/use-lunatic/initial-state.js +1 -0
  65. package/lib/use-lunatic/reducer/reducer.js +1 -0
  66. package/package.json +1 -1
  67. package/lib/components/loop/roster-for-loop/body.js +0 -52
  68. package/lib/components/loop/roster-for-loop/header.js +0 -34
  69. package/lib/src/components/loop/roster-for-loop/body.d.ts +0 -12
  70. package/lib/src/components/loop/roster-for-loop/header.d.ts +0 -9
@@ -1,19 +1,16 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.ComboBoxContent = ComboBoxContent;
8
7
  exports["default"] = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
10
8
  var _classnames = _interopRequireDefault(require("classnames"));
11
- var _keyboardKeyCodes = require("./state-management/reduce-on-keydown/keyboard-key-codes");
9
+ var _react = require("react");
12
10
  var _index = require("../../index");
11
+ var _keyboardKeyCodes = require("./state-management/reduce-on-keydown/keyboard-key-codes");
13
12
  var _jsxRuntime = require("react/jsx-runtime");
14
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
- 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); }
16
- 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; }
17
14
  function ComboBoxContent(_ref) {
18
15
  var children = _ref.children,
19
16
  focused = _ref.focused,
@@ -5,18 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
- var _react = require("react");
9
8
  var _classnames = _interopRequireDefault(require("classnames"));
10
- var _delete = require("./selection/delete");
11
- var _stateManagement = require("./state-management");
12
- require("./combo-box.scss");
13
- var _selection = require("./selection/selection");
14
- var _panel = require("./panel/panel");
9
+ var _react = require("react");
10
+ var _index = require("../../index");
11
+ var _errors = _interopRequireDefault(require("../errors"));
12
+ var _label = _interopRequireDefault(require("../label"));
15
13
  var _comboBoxContainer = require("./combo-box-container");
16
14
  var _comboBoxContent = _interopRequireDefault(require("./combo-box-content"));
17
- var _label = _interopRequireDefault(require("../label"));
18
- var _errors = _interopRequireDefault(require("../errors"));
19
- var _index = require("../../index");
15
+ require("./combo-box.scss");
16
+ var _panel = require("./panel/panel");
17
+ var _delete = require("./selection/delete");
18
+ var _selection = require("./selection/selection");
19
+ var _stateManagement = require("./state-management");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
22
22
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -51,7 +51,7 @@ function ComboBox(_ref) {
51
51
  _ref$search = _ref.search,
52
52
  searchProps = _ref$search === void 0 ? EMPTY_SEARCH : _ref$search,
53
53
  _ref$getOptionValue = _ref.getOptionValue,
54
- getOptionValue = _ref$getOptionValue === void 0 ? getDefaultOptionValue : _ref$getOptionValue,
54
+ getOptionValue = _ref$getOptionValue === void 0 ? getResponseOptionValue : _ref$getOptionValue,
55
55
  label = _ref.label,
56
56
  description = _ref.description,
57
57
  errors = _ref.errors;
@@ -79,12 +79,14 @@ function ComboBox(_ref) {
79
79
  var onBlur = (0, _react.useCallback)(function () {
80
80
  dispatch(_stateManagement.actions.onBlur());
81
81
  }, []);
82
+
83
+ /* fixMe : typescript any*/
82
84
  var handleSelect = (0, _react.useCallback)(function (index) {
83
85
  var indexNumber = parseInt(index, 10);
84
86
  var option = options[indexNumber];
85
87
  dispatch(_stateManagement.actions.onSelect(indexNumber));
86
- onSelect(getOptionValue(option));
87
- }, [options, onSelect, getOptionValue]);
88
+ onSelect(option);
89
+ }, [options, onSelect]);
88
90
  var handleChange = (0, _react.useCallback)(function (s) {
89
91
  dispatch(_stateManagement.actions.onChange(s));
90
92
  onChange === null || onChange === void 0 ? void 0 : onChange(s);
@@ -153,13 +155,11 @@ function ComboBox(_ref) {
153
155
  })]
154
156
  });
155
157
  }
156
- function getDefaultOptionValue() {
158
+ function getResponseOptionValue() {
157
159
  var option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
158
160
  value: ''
159
161
  };
160
- var id = option.id,
161
- value = option.value;
162
- return id || value;
162
+ return option.id;
163
163
  }
164
164
  var _default = (0, _index.createCustomizableLunaticField)(ComboBox, 'ComboBox');
165
165
  exports["default"] = _default;
@@ -4,12 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Panel = Panel;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _panelContainer = require("./panel-container");
9
- var _optionContainer = require("./option-container");
10
7
  var _index = require("../../../index");
8
+ var _optionContainer = require("./option-container");
9
+ var _panelContainer = require("./panel-container");
11
10
  var _jsxRuntime = require("react/jsx-runtime");
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
11
  function Panel(_ref) {
14
12
  var _ref$optionRenderer = _ref.optionRenderer,
15
13
  OptionRender = _ref$optionRenderer === void 0 ? _index.DefaultOptionRenderer : _ref$optionRenderer,
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
8
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
9
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
10
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
11
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
12
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
13
13
  function reduceOnInit(state, action) {
14
14
  var payload = action.payload;
15
15
  var options = payload.options,
@@ -18,6 +18,9 @@ function reduceOnInit(state, action) {
18
18
  if (Array.isArray(options) && value !== undefined) {
19
19
  var next = options.reduce(function (current, option, index) {
20
20
  var optionValue = getOptionValue(option);
21
+ if (value && _typeof(value) === 'object' && 'ID' in value && value.ID === optionValue) {
22
+ return index;
23
+ }
21
24
  if (value === optionValue) {
22
25
  return index;
23
26
  }
@@ -28,6 +28,7 @@ function OrchestratedComponent(_ref) {
28
28
  iteration = _ref.iteration,
29
29
  linksIterations = _ref.linksIterations,
30
30
  executeExpression = _ref.executeExpression,
31
+ getSuggesterStatus = _ref.getSuggesterStatus,
31
32
  errors = _ref.errors;
32
33
  var componentType = component.componentType;
33
34
  var componentFilled = (0, _commons.fillComponentExpressions)(component, {
@@ -51,6 +52,7 @@ function OrchestratedComponent(_ref) {
51
52
  shortcut: shortcut,
52
53
  value: value,
53
54
  executeExpression: executeExpression,
55
+ getSuggesterStatus: getSuggesterStatus,
54
56
  errors: errors
55
57
  }));
56
58
  }
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _jsxRuntime = require("react/jsx-runtime");
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
8
  function createRowOrchestrator(Row) {
11
9
  return function RowOrchestrator(_ref) {
12
10
  var id = _ref.id,
@@ -19,6 +17,7 @@ function createRowOrchestrator(Row) {
19
17
  shortcut = _ref.shortcut,
20
18
  preferences = _ref.preferences,
21
19
  executeExpression = _ref.executeExpression,
20
+ getSuggesterStatus = _ref.getSuggesterStatus,
22
21
  iteration = _ref.iteration,
23
22
  xAxisIterations = _ref.xAxisIterations,
24
23
  errors = _ref.errors;
@@ -36,6 +35,7 @@ function createRowOrchestrator(Row) {
36
35
  valueMap: valueMap,
37
36
  handleChange: handleChange,
38
37
  executeExpression: executeExpression,
38
+ getSuggesterStatus: getSuggesterStatus,
39
39
  iteration: iteration,
40
40
  linksIterations: linksIterations
41
41
  /** */,
@@ -26,6 +26,7 @@ function LunaticDropdown(_ref) {
26
26
  missingResponse = _ref.missingResponse,
27
27
  management = _ref.management,
28
28
  description = _ref.description;
29
+ /*FixMe : type any*/
29
30
  var onChange = (0, _useOnHandleChange["default"])({
30
31
  handleChange: handleChange,
31
32
  response: response,
@@ -23,6 +23,7 @@ function InputNumber(_ref) {
23
23
  _ref$decimals = _ref.decimals,
24
24
  decimals = _ref$decimals === void 0 ? 0 : _ref$decimals,
25
25
  unit = _ref.unit,
26
+ dynamicUnit = _ref.dynamicUnit,
26
27
  label = _ref.label,
27
28
  errors = _ref.errors,
28
29
  _ref$required = _ref.required,
@@ -48,7 +49,7 @@ function InputNumber(_ref) {
48
49
  decimals: decimals
49
50
  }), unit && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
50
51
  children: unit
51
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_commons.Errors, {
52
+ }), dynamicUnit, /*#__PURE__*/(0, _jsxRuntime.jsx)(_commons.Errors, {
52
53
  errors: errors,
53
54
  activeId: id
54
55
  })]
@@ -2,7 +2,7 @@
2
2
 
3
3
  .lunatic-component {
4
4
  .lunatic-input-number {
5
- display: inline-block;
5
+ display: flex;
6
6
 
7
7
  .label-description {
8
8
  display: block;
@@ -26,6 +26,7 @@ function LunaticInputNumber(props) {
26
26
  max = props.max,
27
27
  decimals = props.decimals,
28
28
  unit = props.unit,
29
+ dynamicUnit = props.dynamicUnit,
29
30
  description = props.description,
30
31
  required = props.required,
31
32
  readOnly = props.readOnly;
@@ -54,6 +55,7 @@ function LunaticInputNumber(props) {
54
55
  max: max,
55
56
  decimals: decimals,
56
57
  unit: unit,
58
+ dynamicUnit: dynamicUnit,
57
59
  required: required,
58
60
  errors: errors
59
61
  })
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _blockForLoop = _interopRequireDefault(require("./block-for-loop"));
9
8
  var _rosterForLoop = _interopRequireDefault(require("./roster-for-loop"));
10
9
  var _jsxRuntime = require("react/jsx-runtime");
@@ -21,10 +20,11 @@ function Loop(props) {
21
20
  id = props.id,
22
21
  components = props.components,
23
22
  handleChange = props.handleChange,
24
- value = props.value,
25
23
  executeExpression = props.executeExpression,
24
+ getSuggesterStatus = props.getSuggesterStatus,
25
+ value = props.value,
26
26
  componentType = props.componentType,
27
- headers = props.headers,
27
+ header = props.header,
28
28
  shortcut = props.shortcut,
29
29
  management = props.management,
30
30
  missing = props.missing,
@@ -45,6 +45,7 @@ function Loop(props) {
45
45
  value: value,
46
46
  management: management,
47
47
  executeExpression: executeExpression,
48
+ getSuggesterStatus: getSuggesterStatus,
48
49
  missing: missing,
49
50
  shortcut: shortcut,
50
51
  features: features,
@@ -61,6 +62,7 @@ function Loop(props) {
61
62
  id: id,
62
63
  components: components,
63
64
  handleChange: handleChange,
65
+ getSuggesterStatus: getSuggesterStatus,
64
66
  value: value,
65
67
  management: management,
66
68
  executeExpression: executeExpression,
@@ -68,7 +70,7 @@ function Loop(props) {
68
70
  shortcut: shortcut,
69
71
  features: features,
70
72
  preferences: preferences,
71
- headers: headers,
73
+ header: header,
72
74
  errors: errors
73
75
  });
74
76
  default:
@@ -7,6 +7,7 @@ exports["default"] = void 0;
7
7
  var _commons = require("../../commons");
8
8
  var _row = _interopRequireDefault(require("./row"));
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+ // @ts-ignore
10
11
  var RosterForLoopOrchestrator = (0, _commons.createRowOrchestrator)(_row["default"]);
11
12
  var _default = RosterForLoopOrchestrator;
12
13
  exports["default"] = _default;
@@ -1,21 +1,19 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports["default"] = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _declarations = require("../../declarations");
10
- var _rosterTable = _interopRequireDefault(require("./roster-table"));
11
- var _commons = require("../../commons");
12
- var _handleRowButton = _interopRequireDefault(require("../commons/handle-row-button"));
7
+ var _react = require("react");
8
+ var _useRefSync = require("../../../hooks/use-ref-sync");
13
9
  var _i18n = _interopRequireDefault(require("../../../i18n"));
10
+ var _commons = require("../../commons");
11
+ var _lunaticComponentWithLabel = _interopRequireDefault(require("../../commons/components/lunatic-component-with-label"));
14
12
  var _getInitLength = _interopRequireDefault(require("../commons/get-init-length"));
13
+ var _handleRowButton = _interopRequireDefault(require("../commons/handle-row-button"));
14
+ var _rosterTable = _interopRequireDefault(require("./roster-table"));
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
- 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); }
18
- 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; }
19
17
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
20
18
  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."); }
21
19
  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); }
@@ -32,12 +30,14 @@ function RosterforLoop(_ref) {
32
30
  label = _ref.label,
33
31
  components = _ref.components,
34
32
  executeExpression = _ref.executeExpression,
35
- headers = _ref.headers,
33
+ getSuggesterStatus = _ref.getSuggesterStatus,
34
+ header = _ref.header,
36
35
  missing = _ref.missing,
37
- shortcut = _ref.shortcut,
38
36
  id = _ref.id,
39
37
  management = _ref.management,
40
- errors = _ref.errors;
38
+ errors = _ref.errors,
39
+ missingResponse = _ref.missingResponse,
40
+ description = _ref.description;
41
41
  var min = (lines === null || lines === void 0 ? void 0 : lines.min) || DEFAULT_MIN_ROWS;
42
42
  var max = (lines === null || lines === void 0 ? void 0 : lines.max) || DEFAULT_MAX_ROWS;
43
43
  var _useState = (0, _react.useState)(function () {
@@ -47,6 +47,13 @@ function RosterforLoop(_ref) {
47
47
  nbRows = _useState2[0],
48
48
  setNbRows = _useState2[1];
49
49
  var showButtons = min && max && min !== max;
50
+ /**
51
+ * ToDo : perf by row
52
+ */
53
+ /* disable improve perf by cell
54
+ const valueMapRef = useRefSync(valueMap);
55
+ */
56
+ var nbRowsRef = (0, _useRefSync.useRefSync)(nbRows);
50
57
  var addRow = (0, _react.useCallback)(function () {
51
58
  if (nbRows < max) {
52
59
  setNbRows(nbRows + 1);
@@ -54,12 +61,14 @@ function RosterforLoop(_ref) {
54
61
  }, [max, nbRows]);
55
62
  var handleChangeLoop = (0, _react.useCallback)(function (response, value, args) {
56
63
  var v = valueMap[response.name];
64
+ // disable perf by cell
65
+ // const v = valueMapRef.current.[response.name];
57
66
  v[args.index] = value;
58
67
  handleChange(response, v, {
59
68
  loop: true,
60
- length: nbRows
69
+ length: nbRowsRef.current
61
70
  }); // TODO: a retaper pour déplacer cette compléxité
62
- }, [handleChange, nbRows, valueMap]);
71
+ }, [handleChange, nbRowsRef, valueMap]);
63
72
  var removeRow = (0, _react.useCallback)(function () {
64
73
  if (nbRows > 1) {
65
74
  var newNbRows = nbRows - 1;
@@ -79,32 +88,35 @@ function RosterforLoop(_ref) {
79
88
  }, [nbRows, handleChange, valueMap]);
80
89
  if (nbRows > 0) {
81
90
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
82
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_declarations.DeclarationsBeforeText, {
83
- declarations: declarations,
84
- id: id
85
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_declarations.DeclarationsAfterText, {
86
- declarations: declarations,
87
- id: id
88
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_rosterTable["default"], {
91
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_lunaticComponentWithLabel["default"], {
89
92
  id: id,
90
- components: components,
91
- nbRows: nbRows,
92
- executeExpression: executeExpression,
93
- headers: headers,
94
- handleChange: handleChangeLoop,
95
- value: valueMap,
96
- management: management,
97
- missing: missing,
98
- shortcut: shortcut,
99
- errors: errors
100
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_declarations.DeclarationsDetachable, {
93
+ label: label,
101
94
  declarations: declarations,
102
- id: id
95
+ missing: missing,
96
+ missingResponse: missingResponse,
97
+ management: management,
98
+ description: description,
99
+ handleChange: handleChange,
100
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_rosterTable["default"], {
101
+ getSuggesterStatus: getSuggesterStatus,
102
+ id: id,
103
+ components: components,
104
+ nbRows: nbRows,
105
+ executeExpression: executeExpression,
106
+ header: header,
107
+ handleChange: handleChangeLoop,
108
+ value: valueMap,
109
+ missing: missing,
110
+ errors: errors
111
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_commons.Errors, {
112
+ errors: errors,
113
+ activeId: id
114
+ })]
103
115
  }), showButtons && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
104
116
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_handleRowButton["default"], {
105
117
  onClick: addRow,
106
118
  disabled: nbRows === max,
107
- children: label || _i18n["default"].DEFAULT_BUTTON_ADD
119
+ children: _i18n["default"].DEFAULT_BUTTON_ADD
108
120
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_handleRowButton["default"], {
109
121
  onClick: removeRow,
110
122
  disabled: nbRows === min,
@@ -4,44 +4,48 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
7
+ var _commons = require("../../commons");
8
8
  var _htmlTable = require("../../commons/components/html-table");
9
- var _header = _interopRequireDefault(require("./header"));
10
- var _body = _interopRequireDefault(require("./body"));
9
+ var _header = _interopRequireDefault(require("../../table/header"));
10
+ var _rosterForLoopOrchestrator = _interopRequireDefault(require("./roster-for-loop-orchestrator"));
11
11
  require("./roster.scss");
12
- var _commons = require("../../commons");
13
12
  var _jsxRuntime = require("react/jsx-runtime");
14
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+ var preferences = ['COLLECTED'];
15
15
  function RosterTable(_ref) {
16
16
  var components = _ref.components,
17
17
  nbRows = _ref.nbRows,
18
18
  executeExpression = _ref.executeExpression,
19
+ getSuggesterStatus = _ref.getSuggesterStatus,
19
20
  id = _ref.id,
20
- headers = _ref.headers,
21
+ header = _ref.header,
21
22
  valueMap = _ref.value,
22
- shortcut = _ref.shortcut,
23
23
  missing = _ref.missing,
24
- management = _ref.management,
25
24
  handleChange = _ref.handleChange;
26
- console.log('lunatic', 'roster-table', headers);
27
25
  if (nbRows <= 0) {
28
26
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_commons.NothingToDisplay, {});
29
27
  }
30
28
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_htmlTable.Table, {
31
29
  id: id,
30
+ className: "rosterTable",
32
31
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_header["default"], {
33
- header: headers,
32
+ header: header,
34
33
  id: id
35
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_body["default"], {
34
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_htmlTable.Tbody, {
36
35
  id: id,
37
- components: components,
38
- handleChange: handleChange,
39
- nbRows: nbRows,
40
- value: valueMap,
41
- management: management,
42
- missing: missing,
43
- shortcut: shortcut,
44
- executeExpression: executeExpression
36
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_rosterForLoopOrchestrator["default"], {
37
+ id: "roster-".concat(id),
38
+ components: components,
39
+ nbRows: nbRows,
40
+ handleChange: handleChange,
41
+ executeExpression: executeExpression
42
+ // @ts-ignore
43
+ ,
44
+ getSuggesterStatus: getSuggesterStatus,
45
+ valueMap: valueMap,
46
+ missing: missing,
47
+ preferences: preferences
48
+ })
45
49
  })]
46
50
  });
47
51
  }
@@ -1,42 +1,35 @@
1
- // .lunatic-component {
2
- // .table-lunatic {
3
- // table-layout: fixed;
4
- // border-collapse: collapse;
5
- // margin-top: 0.3em;
6
- // margin-bottom: 0.3em;
7
- // & td,
8
- // th {
9
- // border: 0.15em solid var(--color-primary-dark);
10
- // padding: 0.2em;
11
- // }
12
- // & td {
13
- // .field,
14
- // .field-with-tooltip {
15
- // display: flex;
16
- // justify-content: center;
17
- // align-items: center;
18
- // }
19
- // }
20
- // }
1
+ .lunatic-component {
2
+ .rosterTable {
3
+ border-collapse: separate;
4
+ border-spacing: 0;
5
+ thead {
6
+ position: sticky;
7
+ top: 0;
8
+ th {
9
+ border-top: 2px solid;
10
+ border-bottom: 2px solid;
11
+ border-right: 2px solid;
12
+ }
13
+ th:first-child {
14
+ border-left: 2px solid;
15
+ }
16
+ }
17
+ tbody {
18
+ th {
19
+ border-top: 1px solid;
20
+ border-bottom: 1px solid;
21
+ border-right: 1px solid;
22
+ }
21
23
 
22
- // .table-lunatic .tooltip-lunatic img {
23
- // height: 20px;
24
- // width: 20px;
25
- // }
26
- // }
24
+ td {
25
+ border-bottom: 1px solid;
26
+ border-right: 1px solid;
27
+ }
27
28
 
28
- .lunatic-table {
29
- table-layout: fixed;
30
- border-collapse: collapse;
31
- margin-top: 0.3em;
32
- margin-bottom: 0.3em;
33
- .lunatic-table-thead {
34
- .lunatic-table-th {
35
- border: 0.15em solid var(--color-primary-dark);
36
- padding: 0.2em;
29
+ th:first-child,
30
+ td:first-child {
31
+ border-left: 1px solid;
32
+ }
37
33
  }
38
34
  }
39
-
40
- .lunatic-table-tbody {
41
- }
42
35
  }