@inseefr/lunatic 0.4.3-v2 → 0.4.4-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 +6 -3
- package/lib/components/checkbox/checkbox-group/lunatic-checkbox-group.js +6 -3
- package/lib/components/checkbox/checkbox-one/lunatic-checkbox-one.js +15 -2
- package/lib/components/commons/components/errors/errors.js +35 -0
- package/lib/components/commons/components/errors/errors.scss +5 -0
- package/lib/components/commons/components/errors/index.js +15 -0
- package/lib/components/commons/index.js +8 -0
- package/lib/components/datepicker/lunatic-datepicker.js +16 -1
- package/lib/components/dropdown/lunatic-dropdown.js +6 -3
- package/lib/components/input/lunatic-input.js +20 -4
- package/lib/components/input-number/lunatic-input-number.js +17 -2
- package/lib/components/loop/block-for-loop/block-for-loop.js +6 -1
- package/lib/components/loop/loop.js +6 -3
- package/lib/components/loop/roster-for-loop/roster-for-loop.js +7 -2
- package/lib/components/modal-controls/close-or-skip.js +13 -3
- package/lib/components/modal-controls/modal-controls.js +1 -2
- package/lib/components/modal-controls/modal-controls.scss +1 -1
- package/lib/components/pairwise/links/pairwise-links.js +6 -1
- package/lib/components/radio/lunatic-radio-group.js +6 -3
- package/lib/components/suggester/lunatic-suggester.js +6 -3
- package/lib/components/table/lunatic-table.js +5 -2
- package/lib/components/textarea/lunatic-textarea.js +22 -6
- package/lib/stories/paste-questionnaire/test.stories.js +1 -1
- package/lib/stories/questionnaires-test/controls/V2_ControlesNonNum_horsBoucle_PasPageFin.json +489 -451
- package/lib/stories/questionnaires-test/controls/V2_ControlesNum_horsBoucle_PasPageFin.json +1956 -1688
- package/lib/stories/questionnaires-test/controls/V2_Controles_BouclesLiees_PasPageFin.json +3 -3
- package/lib/stories/questionnaires-test/controls/controls.stories.js +4 -4
- package/lib/stories/utils/default-arg-types.js +1 -1
- package/lib/stories/utils/orchestrator.js +18 -10
- package/lib/use-lunatic/actions.js +2 -2
- package/lib/use-lunatic/commons/execute-expression/create-refresh-calculated.js +1 -0
- package/lib/use-lunatic/commons/index.js +14 -2
- package/lib/use-lunatic/commons/page-tag.js +83 -0
- package/lib/use-lunatic/initial-state.js +3 -1
- package/lib/use-lunatic/reducer/reduce-go-next-page.js +53 -37
- package/lib/use-lunatic/reducer/reduce-go-previous-page.js +25 -24
- package/lib/use-lunatic/reducer/reduce-go-to-page.js +12 -4
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-handle-change.js +4 -1
- package/lib/use-lunatic/reducer/reduce-on-init.js +2 -2
- package/lib/use-lunatic/reducer/validate-controls/create-controls-reducer.js +59 -0
- package/lib/use-lunatic/reducer/validate-controls/create-modal-controls-reducer.js +88 -0
- package/lib/use-lunatic/reducer/validate-controls/index.js +11 -3
- package/lib/use-lunatic/reducer/validate-controls/validation-utils.js +71 -0
- package/lib/use-lunatic/use-lunatic.js +15 -5
- package/package.json +1 -1
- package/lib/use-lunatic/commons/get-page-tag.js +0 -21
- package/lib/use-lunatic/reducer/validate-controls/create-validate-reducer.js +0 -146
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
"id": "l14vfucm-CI-0",
|
|
54
54
|
"criticality": "WARN",
|
|
55
55
|
"control": {
|
|
56
|
-
"value": "not(cast(
|
|
56
|
+
"value": "not(cast(Q1,integer) > 3)",
|
|
57
57
|
"type": "VTL"
|
|
58
58
|
},
|
|
59
|
-
"errorMessage": { "value": "Supérieur à 3", "type": "VTL|MD" },
|
|
59
|
+
"errorMessage": { "value": "\"Supérieur à 3\"", "type": "VTL|MD" },
|
|
60
60
|
"bindingDependencies": ["Q1"]
|
|
61
61
|
}
|
|
62
62
|
],
|
|
@@ -225,7 +225,7 @@
|
|
|
225
225
|
"id": "l5ghsjv2-CI-0",
|
|
226
226
|
"criticality": "WARN",
|
|
227
227
|
"control": { "value": "not(isnull(Q5))", "type": "VTL" },
|
|
228
|
-
"errorMessage": { "value": "Q5 est vide
|
|
228
|
+
"errorMessage": { "value": "\"Q5 est vide\"", "type": "VTL|MD" },
|
|
229
229
|
"bindingDependencies": ["Q5"]
|
|
230
230
|
}
|
|
231
231
|
],
|
|
@@ -52,7 +52,7 @@ var stories = {
|
|
|
52
52
|
control: 'boolean',
|
|
53
53
|
defaultValue: false
|
|
54
54
|
},
|
|
55
|
-
|
|
55
|
+
activeControls: {
|
|
56
56
|
control: 'boolean',
|
|
57
57
|
defaultValue: true
|
|
58
58
|
}
|
|
@@ -78,7 +78,7 @@ SimpleNum.args = {
|
|
|
78
78
|
id: 'controls-simple-num',
|
|
79
79
|
source: _V2_ControlesNum_horsBoucle_PasPageFin["default"],
|
|
80
80
|
pagination: true,
|
|
81
|
-
|
|
81
|
+
activeControls: true
|
|
82
82
|
};
|
|
83
83
|
var LinkedLoop = Template.bind({});
|
|
84
84
|
exports.LinkedLoop = LinkedLoop;
|
|
@@ -86,7 +86,7 @@ LinkedLoop.args = {
|
|
|
86
86
|
id: 'controls-linked-loop',
|
|
87
87
|
source: _V2_Controles_BouclesLiees_PasPageFin["default"],
|
|
88
88
|
pagination: true,
|
|
89
|
-
|
|
89
|
+
activeControls: true
|
|
90
90
|
};
|
|
91
91
|
var LinkedLoop2 = Template.bind({});
|
|
92
92
|
exports.LinkedLoop2 = LinkedLoop2;
|
|
@@ -94,5 +94,5 @@ LinkedLoop2.args = {
|
|
|
94
94
|
id: 'controls-linked-loop2',
|
|
95
95
|
source: _V2_Controles_BouclesLiees2_PasPageFin["default"],
|
|
96
96
|
pagination: true,
|
|
97
|
-
|
|
97
|
+
activeControls: true
|
|
98
98
|
};
|
|
@@ -11,7 +11,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
11
11
|
|
|
12
12
|
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; }
|
|
13
13
|
|
|
14
|
-
var fields = ['source', 'id', 'pagination', 'data', 'management', '
|
|
14
|
+
var fields = ['source', 'id', 'pagination', 'data', 'management', 'activeControls', 'features', 'initialPage', 'getStoreInfo', 'missing', 'shortcut', 'activeGoNextForMissing', 'filterDescription'];
|
|
15
15
|
var defaultArgTypes = fields.reduce(function (acc, f) {
|
|
16
16
|
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, f, {
|
|
17
17
|
table: {
|
|
@@ -15,7 +15,7 @@ require("./custom-lunatic.scss");
|
|
|
15
15
|
|
|
16
16
|
var _waiting = _interopRequireDefault(require("./waiting"));
|
|
17
17
|
|
|
18
|
-
var _excluded = ["source", "data", "management", "
|
|
18
|
+
var _excluded = ["source", "data", "management", "activeControls", "features", "initialPage", "getStoreInfo", "missing", "shortcut", "activeGoNextForMissing", "suggesterFetcher", "autoSuggesterLoading", "suggesters", "addExternal", "preferences", "custom", "filterDescription"],
|
|
19
19
|
_excluded2 = ["id", "componentType", "response", "storeName"];
|
|
20
20
|
|
|
21
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -42,7 +42,7 @@ function Pager(_ref) {
|
|
|
42
42
|
isFirst = _ref.isFirst,
|
|
43
43
|
pageTag = _ref.pageTag,
|
|
44
44
|
maxPage = _ref.maxPage,
|
|
45
|
-
|
|
45
|
+
getData = _ref.getData;
|
|
46
46
|
|
|
47
47
|
if (maxPage && maxPage > 1) {
|
|
48
48
|
var Button = lunatic.Button;
|
|
@@ -56,7 +56,7 @@ function Pager(_ref) {
|
|
|
56
56
|
disabled: isLast
|
|
57
57
|
}, "Next"), /*#__PURE__*/_react["default"].createElement(Button, {
|
|
58
58
|
onClick: function onClick() {
|
|
59
|
-
return console.log(
|
|
59
|
+
return console.log(getData(true));
|
|
60
60
|
}
|
|
61
61
|
}, "Get State"), /*#__PURE__*/_react["default"].createElement(Button, {
|
|
62
62
|
onClick: function onClick() {
|
|
@@ -83,8 +83,8 @@ function OrchestratorForStories(_ref2) {
|
|
|
83
83
|
data = _ref2.data,
|
|
84
84
|
_ref2$management = _ref2.management,
|
|
85
85
|
management = _ref2$management === void 0 ? false : _ref2$management,
|
|
86
|
-
_ref2$
|
|
87
|
-
|
|
86
|
+
_ref2$activeControls = _ref2.activeControls,
|
|
87
|
+
activeControls = _ref2$activeControls === void 0 ? false : _ref2$activeControls,
|
|
88
88
|
features = _ref2.features,
|
|
89
89
|
_ref2$initialPage = _ref2.initialPage,
|
|
90
90
|
initialPage = _ref2$initialPage === void 0 ? '1' : _ref2$initialPage,
|
|
@@ -118,7 +118,7 @@ function OrchestratorForStories(_ref2) {
|
|
|
118
118
|
suggesters: suggesters,
|
|
119
119
|
suggesterFetcher: suggesterFetcher,
|
|
120
120
|
management: management,
|
|
121
|
-
|
|
121
|
+
activeControls: activeControls
|
|
122
122
|
}),
|
|
123
123
|
getComponents = _lunatic$useLunatic.getComponents,
|
|
124
124
|
goPreviousPage = _lunatic$useLunatic.goPreviousPage,
|
|
@@ -129,10 +129,17 @@ function OrchestratorForStories(_ref2) {
|
|
|
129
129
|
isLastPage = _lunatic$useLunatic.isLastPage,
|
|
130
130
|
waiting = _lunatic$useLunatic.waiting,
|
|
131
131
|
getErrors = _lunatic$useLunatic.getErrors,
|
|
132
|
-
|
|
132
|
+
getModalErrors = _lunatic$useLunatic.getModalErrors,
|
|
133
|
+
getCurrentErrors = _lunatic$useLunatic.getCurrentErrors,
|
|
134
|
+
getData = _lunatic$useLunatic.getData;
|
|
133
135
|
|
|
134
136
|
var components = getComponents();
|
|
135
137
|
var errors = getErrors();
|
|
138
|
+
var modalErrors = getModalErrors();
|
|
139
|
+
var currentErrors = getCurrentErrors();
|
|
140
|
+
console.log('errors: ', errors);
|
|
141
|
+
console.log('modalErrors: ', modalErrors);
|
|
142
|
+
console.log('currentErrors: ', currentErrors);
|
|
136
143
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
137
144
|
className: "container"
|
|
138
145
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -157,7 +164,8 @@ function OrchestratorForStories(_ref2) {
|
|
|
157
164
|
missingStrategy: goNextPage,
|
|
158
165
|
shortcut: shortcut,
|
|
159
166
|
custom: custom,
|
|
160
|
-
filterDescription: filterDescription
|
|
167
|
+
filterDescription: filterDescription,
|
|
168
|
+
errors: currentErrors
|
|
161
169
|
})));
|
|
162
170
|
})), /*#__PURE__*/_react["default"].createElement(Pager, {
|
|
163
171
|
goPrevious: goPreviousPage,
|
|
@@ -167,10 +175,10 @@ function OrchestratorForStories(_ref2) {
|
|
|
167
175
|
isFirst: isFirstPage,
|
|
168
176
|
pageTag: pageTag,
|
|
169
177
|
maxPage: maxPage,
|
|
170
|
-
|
|
178
|
+
getData: getData
|
|
171
179
|
}), /*#__PURE__*/_react["default"].createElement(lunatic.Modal, {
|
|
172
180
|
title: "Des points requi\xE8rent votre attention.",
|
|
173
|
-
errors:
|
|
181
|
+
errors: modalErrors,
|
|
174
182
|
goNext: goNextPage
|
|
175
183
|
}), /*#__PURE__*/_react["default"].createElement(_waiting["default"], {
|
|
176
184
|
status: waiting
|
|
@@ -54,7 +54,7 @@ var onInit = function onInit(_ref3) {
|
|
|
54
54
|
savingType = _ref3.savingType,
|
|
55
55
|
management = _ref3.management,
|
|
56
56
|
handleChange = _ref3.handleChange,
|
|
57
|
-
|
|
57
|
+
activeControls = _ref3.activeControls;
|
|
58
58
|
return {
|
|
59
59
|
type: ON_INIT,
|
|
60
60
|
payload: {
|
|
@@ -66,7 +66,7 @@ var onInit = function onInit(_ref3) {
|
|
|
66
66
|
savingType: savingType,
|
|
67
67
|
management: management,
|
|
68
68
|
handleChange: handleChange,
|
|
69
|
-
|
|
69
|
+
activeControls: activeControls
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
72
|
};
|
|
@@ -45,10 +45,16 @@ Object.defineProperty(exports, "getComponentsFromState", {
|
|
|
45
45
|
return _getComponentsFromState["default"];
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
+
Object.defineProperty(exports, "getNewReachedPage", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function get() {
|
|
51
|
+
return _pageTag.getNewReachedPage;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
48
54
|
Object.defineProperty(exports, "getPageTag", {
|
|
49
55
|
enumerable: true,
|
|
50
56
|
get: function get() {
|
|
51
|
-
return
|
|
57
|
+
return _pageTag.getPageTag;
|
|
52
58
|
}
|
|
53
59
|
});
|
|
54
60
|
Object.defineProperty(exports, "isFirstLastPage", {
|
|
@@ -57,6 +63,12 @@ Object.defineProperty(exports, "isFirstLastPage", {
|
|
|
57
63
|
return _isFirstLastPage["default"];
|
|
58
64
|
}
|
|
59
65
|
});
|
|
66
|
+
Object.defineProperty(exports, "isNewReachedPage", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function get() {
|
|
69
|
+
return _pageTag.isNewReachedPage;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
60
72
|
Object.defineProperty(exports, "isPaginatedLoop", {
|
|
61
73
|
enumerable: true,
|
|
62
74
|
get: function get() {
|
|
@@ -86,7 +98,7 @@ var _getComponentsFromState = _interopRequireDefault(require("./get-components-f
|
|
|
86
98
|
|
|
87
99
|
var _useComponentsFromState = _interopRequireDefault(require("./use-components-from-state"));
|
|
88
100
|
|
|
89
|
-
var
|
|
101
|
+
var _pageTag = require("./page-tag");
|
|
90
102
|
|
|
91
103
|
var _isFirstLastPage = _interopRequireDefault(require("./is-First-last-page"));
|
|
92
104
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
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
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.getNewReachedPage = getNewReachedPage;
|
|
9
|
+
exports.getPageTag = getPageTag;
|
|
10
|
+
exports.isNewReachedPage = isNewReachedPage;
|
|
11
|
+
|
|
12
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
13
|
+
|
|
14
|
+
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."); }
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
19
|
+
|
|
20
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
21
|
+
|
|
22
|
+
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."); }
|
|
23
|
+
|
|
24
|
+
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); }
|
|
25
|
+
|
|
26
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
27
|
+
|
|
28
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
function _wrapRegExp() { _wrapRegExp = function _wrapRegExp(re, groups) { return new BabelRegExp(re, void 0, groups); }; var _super = RegExp.prototype, _groups = new WeakMap(); function BabelRegExp(re, flags, groups) { var _this = new RegExp(re, flags); return _groups.set(_this, groups || _groups.get(re)), _setPrototypeOf(_this, BabelRegExp.prototype); } function buildGroups(result, re) { var g = _groups.get(re); return Object.keys(g).reduce(function (groups, name) { return groups[name] = result[g[name]], groups; }, Object.create(null)); } return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (str) { var result = _super.exec.call(this, str); return result && (result.groups = buildGroups(result, this)), result; }, BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { if ("string" == typeof substitution) { var groups = _groups.get(this); return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) { return "$" + groups[name]; })); } if ("function" == typeof substitution) { var _this = this; return _super[Symbol.replace].call(this, str, function () { var args = arguments; return "object" != _typeof(args[args.length - 1]) && (args = [].slice.call(args)).push(buildGroups(args, _this)), substitution.apply(this, args); }); } return _super[Symbol.replace].call(this, str, substitution); }, _wrapRegExp.apply(this, arguments); }
|
|
33
|
+
|
|
34
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
35
|
+
|
|
36
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
37
|
+
|
|
38
|
+
function getPageTag(pager) {
|
|
39
|
+
var page = pager.page,
|
|
40
|
+
subPage = pager.subPage,
|
|
41
|
+
iteration = pager.iteration;
|
|
42
|
+
|
|
43
|
+
if (subPage !== undefined && iteration !== undefined) {
|
|
44
|
+
return "".concat(page, ".").concat(subPage + 1, "#").concat(iteration + 1);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return "".concat(page);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function getPagerFromPageTag(pageTag) {
|
|
51
|
+
var pattern = /*#__PURE__*/_wrapRegExp(/(\d+)\.?(\d+)?#?(\d+)?/g, {
|
|
52
|
+
page: 1,
|
|
53
|
+
subPagePlusUn: 2,
|
|
54
|
+
iterationPlusUn: 3
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
var match = _toConsumableArray(pageTag.matchAll(pattern));
|
|
58
|
+
|
|
59
|
+
var _match = _slicedToArray(match, 1),
|
|
60
|
+
_match$0$groups = _match[0].groups,
|
|
61
|
+
page = _match$0$groups.page,
|
|
62
|
+
subPagePlusUn = _match$0$groups.subPagePlusUn,
|
|
63
|
+
iterationPlusUn = _match$0$groups.iterationPlusUn;
|
|
64
|
+
|
|
65
|
+
return {
|
|
66
|
+
page: page,
|
|
67
|
+
subPage: subPagePlusUn - 1,
|
|
68
|
+
iteration: iterationPlusUn - 1
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function isNewReachedPage(pager) {
|
|
73
|
+
var lastReachedPage = pager.lastReachedPage,
|
|
74
|
+
page = pager.page,
|
|
75
|
+
subPage = pager.subPage,
|
|
76
|
+
iteration = pager.iteration;
|
|
77
|
+
var reachedPager = getPagerFromPageTag(lastReachedPage);
|
|
78
|
+
return Number.parseInt(page) > Number.parseInt(reachedPager.page) || Number.parseInt(page) === Number.parseInt(reachedPager.page) && Number.parseInt(subPage) > Number.parseInt(reachedPager.subPage) || Number.parseInt(page) === Number.parseInt(reachedPager.page) && Number.parseInt(subPage) === Number.parseInt(reachedPager.subPage) && Number.parseInt(iteration) > Number.parseInt(reachedPager.iteration);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function getNewReachedPage(pager) {
|
|
82
|
+
return isNewReachedPage(pager) ? getPageTag(pager) : pager.lastReachedPage;
|
|
83
|
+
}
|
|
@@ -30,12 +30,14 @@ var INITIAL_STATE = {
|
|
|
30
30
|
},
|
|
31
31
|
waiting: false,
|
|
32
32
|
errors: undefined,
|
|
33
|
+
currentErrors: undefined,
|
|
34
|
+
modalErrors: undefined,
|
|
33
35
|
|
|
34
36
|
/* fonctionnalités vtl & md */
|
|
35
37
|
updateBindings: function updateBindings() {},
|
|
36
38
|
executeExpression: function executeExpression() {},
|
|
37
39
|
handleChange: function handleChange() {},
|
|
38
|
-
|
|
40
|
+
activeControls: false
|
|
39
41
|
};
|
|
40
42
|
var _default = INITIAL_STATE;
|
|
41
43
|
exports["default"] = _default;
|
|
@@ -34,40 +34,54 @@ function getNextPage(state) {
|
|
|
34
34
|
function reduceNextSubPage(state) {
|
|
35
35
|
var pager = state.pager;
|
|
36
36
|
var subPage = pager.subPage;
|
|
37
|
+
|
|
38
|
+
var newPager = _objectSpread(_objectSpread({}, pager), {}, {
|
|
39
|
+
subPage: subPage + 1
|
|
40
|
+
});
|
|
41
|
+
|
|
37
42
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
38
|
-
pager: _objectSpread(_objectSpread({},
|
|
39
|
-
|
|
43
|
+
pager: _objectSpread(_objectSpread({}, newPager), {}, {
|
|
44
|
+
lastReachedPage: (0, _commons2.getNewReachedPage)(newPager)
|
|
40
45
|
}),
|
|
41
|
-
|
|
46
|
+
modalErrors: undefined
|
|
42
47
|
});
|
|
43
48
|
}
|
|
44
49
|
|
|
45
50
|
function reduceNextIteration(state) {
|
|
46
51
|
var pager = state.pager;
|
|
47
52
|
var iteration = pager.iteration;
|
|
53
|
+
|
|
54
|
+
var newPager = _objectSpread(_objectSpread({}, pager), {}, {
|
|
55
|
+
subPage: 0,
|
|
56
|
+
iteration: iteration + 1
|
|
57
|
+
});
|
|
58
|
+
|
|
48
59
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
49
|
-
pager: _objectSpread(_objectSpread({},
|
|
50
|
-
|
|
51
|
-
iteration: iteration + 1
|
|
60
|
+
pager: _objectSpread(_objectSpread({}, newPager), {}, {
|
|
61
|
+
lastReachedPage: (0, _commons2.getNewReachedPage)(newPager)
|
|
52
62
|
}),
|
|
53
|
-
|
|
63
|
+
modalErrors: undefined
|
|
54
64
|
});
|
|
55
65
|
}
|
|
56
66
|
|
|
57
67
|
function reduceNextPage(state, _ref) {
|
|
58
68
|
var next = _ref.next;
|
|
59
69
|
var pager = state.pager;
|
|
70
|
+
|
|
71
|
+
var newPager = _objectSpread(_objectSpread({}, pager), {}, {
|
|
72
|
+
page: next,
|
|
73
|
+
iteration: undefined,
|
|
74
|
+
nbIterations: undefined,
|
|
75
|
+
subPage: undefined,
|
|
76
|
+
nbSubPages: undefined
|
|
77
|
+
});
|
|
78
|
+
|
|
60
79
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
61
80
|
isInLoop: false,
|
|
62
|
-
pager: _objectSpread(_objectSpread({},
|
|
63
|
-
|
|
64
|
-
iteration: undefined,
|
|
65
|
-
nbIterations: undefined,
|
|
66
|
-
subPage: undefined,
|
|
67
|
-
nbSubPages: undefined,
|
|
68
|
-
lastReachedPage: lastReachedPage(pager, next)
|
|
81
|
+
pager: _objectSpread(_objectSpread({}, newPager), {}, {
|
|
82
|
+
lastReachedPage: (0, _commons2.getNewReachedPage)(newPager)
|
|
69
83
|
}),
|
|
70
|
-
|
|
84
|
+
modalErrors: undefined
|
|
71
85
|
});
|
|
72
86
|
}
|
|
73
87
|
|
|
@@ -83,16 +97,19 @@ function reduceStartLoop(state, _ref2) {
|
|
|
83
97
|
if (!(0, _commons.validateLoopConditionFilter)(state, {
|
|
84
98
|
next: next
|
|
85
99
|
})) {
|
|
100
|
+
var newPager = _objectSpread(_objectSpread({}, pager), {}, {
|
|
101
|
+
page: next,
|
|
102
|
+
subPage: undefined,
|
|
103
|
+
nbSubPages: undefined,
|
|
104
|
+
iteration: undefined,
|
|
105
|
+
nbIterations: undefined
|
|
106
|
+
});
|
|
107
|
+
|
|
86
108
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
87
|
-
pager: _objectSpread(_objectSpread({},
|
|
88
|
-
|
|
89
|
-
subPage: undefined,
|
|
90
|
-
nbSubPages: undefined,
|
|
91
|
-
iteration: undefined,
|
|
92
|
-
nbIterations: undefined,
|
|
93
|
-
lastReachedPage: lastReachedPage(pager, next)
|
|
109
|
+
pager: _objectSpread(_objectSpread({}, newPager), {}, {
|
|
110
|
+
lastReachedPage: (0, _commons2.getNewReachedPage)(newPager)
|
|
94
111
|
}),
|
|
95
|
-
|
|
112
|
+
modalErrors: undefined
|
|
96
113
|
});
|
|
97
114
|
}
|
|
98
115
|
/*
|
|
@@ -108,30 +125,29 @@ function reduceStartLoop(state, _ref2) {
|
|
|
108
125
|
});
|
|
109
126
|
|
|
110
127
|
if (Array.isArray(subPages)) {
|
|
128
|
+
var _newPager = _objectSpread(_objectSpread({}, pager), {}, {
|
|
129
|
+
page: next,
|
|
130
|
+
subPage: 0,
|
|
131
|
+
nbSubPages: subPages.length,
|
|
132
|
+
iteration: 0,
|
|
133
|
+
nbIterations: nbIterations
|
|
134
|
+
});
|
|
135
|
+
|
|
111
136
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
112
137
|
isInLoop: true,
|
|
113
|
-
pager: _objectSpread(_objectSpread({},
|
|
114
|
-
|
|
115
|
-
subPage: 0,
|
|
116
|
-
nbSubPages: subPages.length,
|
|
117
|
-
iteration: 0,
|
|
118
|
-
nbIterations: nbIterations,
|
|
119
|
-
lastReachedPage: lastReachedPage(pager, next)
|
|
138
|
+
pager: _objectSpread(_objectSpread({}, _newPager), {}, {
|
|
139
|
+
lastReachedPage: (0, _commons2.getNewReachedPage)(_newPager)
|
|
120
140
|
}),
|
|
121
|
-
|
|
141
|
+
modalErrors: undefined
|
|
122
142
|
});
|
|
123
143
|
}
|
|
124
144
|
|
|
125
145
|
return state;
|
|
126
146
|
}
|
|
127
147
|
|
|
128
|
-
function lastReachedPage(pager, page) {
|
|
129
|
-
//TODO improve case with sub and iterations and cleaning !!!!
|
|
130
|
-
return Number.parseInt(page) > Number.parseInt(pager.lastReachedPage) ? page : pager.lastReachedPage;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
148
|
function validateChange(state) {
|
|
134
149
|
if ((0, _commons.isOnEmptyPage)(state)) {
|
|
150
|
+
// Is it necessary to wrap by control reducer ?
|
|
135
151
|
return reduceGoNextPage(state);
|
|
136
152
|
}
|
|
137
153
|
|
|
@@ -180,6 +196,6 @@ function reduceGoNextPage(state) {
|
|
|
180
196
|
}));
|
|
181
197
|
}
|
|
182
198
|
|
|
183
|
-
var _default = (0, _validateControls.
|
|
199
|
+
var _default = (0, _validateControls.createModalControlsReducer)((0, _validateControls.createControlsReducer)(reduceGoNextPage));
|
|
184
200
|
|
|
185
201
|
exports["default"] = _default;
|
|
@@ -34,19 +34,6 @@ function goStartLoop(state, _ref) {
|
|
|
34
34
|
pager = state.pager,
|
|
35
35
|
executeExpression = state.executeExpression;
|
|
36
36
|
var subPages = pages[previous].subPages; //TODO: check if loop components are all filtered
|
|
37
|
-
// if (validateLoopConditionFilter(state, { next: previous })) {
|
|
38
|
-
// return {
|
|
39
|
-
// ...state,
|
|
40
|
-
// pager: {
|
|
41
|
-
// ...pager,
|
|
42
|
-
// page: previous,
|
|
43
|
-
// subPage: undefined,
|
|
44
|
-
// nbSubPages: undefined,
|
|
45
|
-
// iteration: undefined,
|
|
46
|
-
// nbIterations: undefined,
|
|
47
|
-
// },
|
|
48
|
-
// };
|
|
49
|
-
// }
|
|
50
37
|
|
|
51
38
|
if (Array.isArray(subPages)) {
|
|
52
39
|
var nbIterations = executeExpression((0, _commons2.getCompatibleVTLExpression)(iterations), {
|
|
@@ -93,19 +80,25 @@ function goPreviousIteration(state) {
|
|
|
93
80
|
|
|
94
81
|
function goPreviousPage(state, _ref2) {
|
|
95
82
|
var previous = _ref2.previous;
|
|
96
|
-
var pager = state.pager
|
|
83
|
+
var pager = state.pager,
|
|
84
|
+
errors = state.errors;
|
|
97
85
|
var page = pager.page;
|
|
98
86
|
|
|
87
|
+
var updatedPager = _objectSpread(_objectSpread({}, pager), {}, {
|
|
88
|
+
page: previous,
|
|
89
|
+
iteration: undefined,
|
|
90
|
+
nbIterations: undefined,
|
|
91
|
+
subPage: undefined,
|
|
92
|
+
nbSubPages: undefined
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
var currentErrors = errors ? errors[(0, _commons2.getPageTag)(updatedPager)] : undefined;
|
|
96
|
+
|
|
99
97
|
if (previous !== page) {
|
|
100
98
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
101
99
|
isInLoop: false,
|
|
102
|
-
pager:
|
|
103
|
-
|
|
104
|
-
iteration: undefined,
|
|
105
|
-
nbIterations: undefined,
|
|
106
|
-
subPage: undefined,
|
|
107
|
-
nbSubPages: undefined
|
|
108
|
-
})
|
|
100
|
+
pager: updatedPager,
|
|
101
|
+
currentErrors: currentErrors
|
|
109
102
|
});
|
|
110
103
|
}
|
|
111
104
|
|
|
@@ -113,11 +106,19 @@ function goPreviousPage(state, _ref2) {
|
|
|
113
106
|
}
|
|
114
107
|
|
|
115
108
|
function validateChange(state) {
|
|
116
|
-
|
|
117
|
-
|
|
109
|
+
var pager = state.pager,
|
|
110
|
+
errors = state.errors;
|
|
111
|
+
var currentErrors = errors !== undefined ? errors[(0, _commons2.getPageTag)(pager)] : undefined;
|
|
112
|
+
|
|
113
|
+
var updatedState = _objectSpread(_objectSpread({}, state), {}, {
|
|
114
|
+
currentErrors: currentErrors
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
if ((0, _commons.isOnEmptyPage)(updatedState)) {
|
|
118
|
+
return reduceGoPreviousPage(updatedState);
|
|
118
119
|
}
|
|
119
120
|
|
|
120
|
-
return
|
|
121
|
+
return updatedState;
|
|
121
122
|
}
|
|
122
123
|
|
|
123
124
|
function reduceGoPreviousPage(state) {
|
|
@@ -20,11 +20,19 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
20
20
|
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; }
|
|
21
21
|
|
|
22
22
|
function validateChange(state) {
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
var pager = state.pager,
|
|
24
|
+
errors = state.errors;
|
|
25
|
+
var currentErrors = errors !== undefined ? errors[(0, _commons.getPageTag)(pager)] : undefined;
|
|
26
|
+
|
|
27
|
+
var updatedState = _objectSpread(_objectSpread({}, state), {}, {
|
|
28
|
+
currentErrors: currentErrors
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
if ((0, _commons.isOnEmptyPage)(updatedState)) {
|
|
32
|
+
return (0, _reduceGoNextPage["default"])(updatedState);
|
|
25
33
|
}
|
|
26
34
|
|
|
27
|
-
return
|
|
35
|
+
return updatedState;
|
|
28
36
|
}
|
|
29
37
|
|
|
30
38
|
function reduceGoToPage(state, action) {
|
|
@@ -46,6 +54,6 @@ function reduceGoToPage(state, action) {
|
|
|
46
54
|
return validateChange(state);
|
|
47
55
|
}
|
|
48
56
|
|
|
49
|
-
var _default = (0, _validateControls.
|
|
57
|
+
var _default = (0, _validateControls.createModalControlsReducer)(reduceGoToPage);
|
|
50
58
|
|
|
51
59
|
exports["default"] = _default;
|
|
@@ -19,6 +19,8 @@ var _reduceLinksVariable = _interopRequireDefault(require("./reduce-links-variab
|
|
|
19
19
|
|
|
20
20
|
var _compose = _interopRequireDefault(require("../../commons/compose"));
|
|
21
21
|
|
|
22
|
+
var _validateControls = require("../validate-controls");
|
|
23
|
+
|
|
22
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
23
25
|
|
|
24
26
|
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; }
|
|
@@ -128,5 +130,6 @@ function reduceHandleChange(state, action) {
|
|
|
128
130
|
return reducers(state, action);
|
|
129
131
|
}
|
|
130
132
|
|
|
131
|
-
var _default = reduceHandleChange;
|
|
133
|
+
var _default = (0, _validateControls.createControlsReducer)(reduceHandleChange);
|
|
134
|
+
|
|
132
135
|
exports["default"] = _default;
|
|
@@ -198,7 +198,7 @@ function reduceOnInit(state, action) {
|
|
|
198
198
|
preferences = payload.preferences,
|
|
199
199
|
savingType = payload.savingType,
|
|
200
200
|
management = payload.management,
|
|
201
|
-
|
|
201
|
+
activeControls = payload.activeControls;
|
|
202
202
|
|
|
203
203
|
if (source && data) {
|
|
204
204
|
var variables = createVariables(source, data); // map des variables
|
|
@@ -245,7 +245,7 @@ function reduceOnInit(state, action) {
|
|
|
245
245
|
preferences: preferences,
|
|
246
246
|
management: management,
|
|
247
247
|
savingType: savingType,
|
|
248
|
-
|
|
248
|
+
activeControls: activeControls
|
|
249
249
|
}));
|
|
250
250
|
}
|
|
251
251
|
|