@ukhomeoffice/cop-react-form-renderer 6.15.8-alpha → 6.15.11-alpha
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/dist/components/CollectionSummary/BannerStrip.scss +4 -0
- package/dist/components/FormPage/FormPage.js +8 -10
- package/dist/components/FormRenderer/FormRenderer.js +5 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-same-component-reused-one-shown.json +74 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-same-component-reused-one-shown.json +8 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-same-component-reused-one-shown-removed.json +7 -0
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +239 -174
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +11 -7
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.js +126 -35
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.test.js +64 -7
- package/dist/components/FormRenderer/onCYAAction.js +0 -2
- package/dist/components/FormRenderer/onCYAAction.test.js +5 -0
- package/dist/components/FormRenderer/onPageAction.js +0 -1
- package/dist/hooks/useGetRequest.js +15 -15
- package/dist/hooks/useRefData.js +3 -2
- package/dist/utils/Component/getDefaultValueFromConfig.js +2 -1
- package/dist/utils/Condition/meetsCondition.js +26 -12
- package/dist/utils/Condition/meetsCondition.test.js +21 -0
- package/dist/utils/Data/getAutocompleteSource.js +68 -51
- package/dist/utils/Data/getAutocompleteSource.test.js +31 -18
- package/dist/utils/Operate/doesContainValue.js +34 -0
- package/dist/utils/Operate/doesContainValue.test.js +75 -0
- package/dist/utils/Operate/runPageOperations.js +2 -0
- package/dist/utils/Validate/validateOnPageLoad.js +23 -0
- package/dist/utils/Validate/validateOnPageLoad.test.js +88 -0
- package/package.json +2 -2
|
@@ -12,6 +12,7 @@ var _utils = _interopRequireDefault(require("../../utils"));
|
|
|
12
12
|
var _FormComponent = _interopRequireDefault(require("../FormComponent"));
|
|
13
13
|
var _PageActions = _interopRequireDefault(require("../PageActions"));
|
|
14
14
|
require("./FormPage.scss");
|
|
15
|
+
var _validateOnPageLoad = require("../../utils/Validate/validateOnPageLoad");
|
|
15
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -24,7 +25,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
24
25
|
// Styles
|
|
25
26
|
const DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form__page';
|
|
26
27
|
const FormPage = _ref => {
|
|
27
|
-
var
|
|
28
|
+
var _formPage$actions, _page$actions;
|
|
28
29
|
let {
|
|
29
30
|
page,
|
|
30
31
|
pages,
|
|
@@ -37,8 +38,7 @@ const FormPage = _ref => {
|
|
|
37
38
|
classModifiers,
|
|
38
39
|
className,
|
|
39
40
|
submitting,
|
|
40
|
-
pageId
|
|
41
|
-
fromTarget
|
|
41
|
+
pageId
|
|
42
42
|
} = _ref;
|
|
43
43
|
const [patch, setPatch] = (0, _react.useState)({});
|
|
44
44
|
const {
|
|
@@ -47,12 +47,12 @@ const FormPage = _ref => {
|
|
|
47
47
|
} = (0, _hooks.useValidation)();
|
|
48
48
|
const [patchLabel, setPatchLabel] = (0, _react.useState)({});
|
|
49
49
|
const [isPageRendered, setIsPageRendered] = (0, _react.useState)(false);
|
|
50
|
-
const runOnLoad =
|
|
50
|
+
const runOnLoad = (0, _react.useMemo)(() => (0, _validateOnPageLoad.doValidateOnPageLoad)(page), [page]);
|
|
51
51
|
(0, _react.useEffect)(() => {
|
|
52
52
|
setIsPageRendered(true);
|
|
53
53
|
}, []);
|
|
54
54
|
(0, _react.useEffect)(() => {
|
|
55
|
-
if (isPageRendered &&
|
|
55
|
+
if (isPageRendered && runOnLoad) {
|
|
56
56
|
validate.page(page);
|
|
57
57
|
}
|
|
58
58
|
}, [pageId, isPageRendered]);
|
|
@@ -120,9 +120,9 @@ const FormPage = _ref => {
|
|
|
120
120
|
}));
|
|
121
121
|
let errorMessages = null;
|
|
122
122
|
if (runOnLoad && (errors === null || errors === void 0 ? void 0 : errors.length) > 0) {
|
|
123
|
-
var _page$
|
|
123
|
+
var _page$customValidatio;
|
|
124
124
|
errorMessages = [{
|
|
125
|
-
error: page === null || page === void 0 || (_page$
|
|
125
|
+
error: page === null || page === void 0 || (_page$customValidatio = page.customValidation) === null || _page$customValidatio === void 0 || (_page$customValidatio = _page$customValidatio[0]) === null || _page$customValidatio === void 0 ? void 0 : _page$customValidatio.message
|
|
126
126
|
}];
|
|
127
127
|
} else if ((errors === null || errors === void 0 ? void 0 : errors.length) > 0 && !runOnLoad) {
|
|
128
128
|
errorMessages = errors;
|
|
@@ -174,7 +174,6 @@ FormPage.propTypes = {
|
|
|
174
174
|
}).isRequired,
|
|
175
175
|
pages: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
176
176
|
submitting: _propTypes.default.bool,
|
|
177
|
-
fromTarget: _propTypes.default.bool,
|
|
178
177
|
pageId: _propTypes.default.string.isRequired
|
|
179
178
|
};
|
|
180
179
|
FormPage.defaultProps = {
|
|
@@ -186,7 +185,6 @@ FormPage.defaultProps = {
|
|
|
186
185
|
onTopLevelChange: undefined,
|
|
187
186
|
onWrapperChange: undefined,
|
|
188
187
|
pages: [],
|
|
189
|
-
submitting: false
|
|
190
|
-
fromTarget: false
|
|
188
|
+
submitting: false
|
|
191
189
|
};
|
|
192
190
|
var _default = exports.default = FormPage;
|
|
@@ -54,8 +54,7 @@ const FormRenderer = _ref => {
|
|
|
54
54
|
noChangeAction,
|
|
55
55
|
newPageId,
|
|
56
56
|
viewOnly,
|
|
57
|
-
hideBlankRows
|
|
58
|
-
fromTarget
|
|
57
|
+
hideBlankRows
|
|
59
58
|
} = _ref;
|
|
60
59
|
return /*#__PURE__*/_react.default.createElement(_context.HooksContextProvider, {
|
|
61
60
|
overrides: hooks
|
|
@@ -76,8 +75,7 @@ const FormRenderer = _ref => {
|
|
|
76
75
|
noChangeAction: noChangeAction,
|
|
77
76
|
newPageId: newPageId,
|
|
78
77
|
viewOnly: viewOnly,
|
|
79
|
-
hideBlankRows: hideBlankRows
|
|
80
|
-
fromTarget: fromTarget
|
|
78
|
+
hideBlankRows: hideBlankRows
|
|
81
79
|
})));
|
|
82
80
|
};
|
|
83
81
|
const DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form';
|
|
@@ -100,8 +98,7 @@ const InternalFormRenderer = _ref2 => {
|
|
|
100
98
|
noChangeAction,
|
|
101
99
|
newPageId,
|
|
102
100
|
viewOnly,
|
|
103
|
-
hideBlankRows
|
|
104
|
-
fromTarget
|
|
101
|
+
hideBlankRows
|
|
105
102
|
} = _ref2;
|
|
106
103
|
// Set up the initial states.
|
|
107
104
|
const [data, setData] = (0, _react.useState)({});
|
|
@@ -326,8 +323,7 @@ const InternalFormRenderer = _ref2 => {
|
|
|
326
323
|
classModifiers: formState.page.classModifiers,
|
|
327
324
|
className: formState.page.className,
|
|
328
325
|
submitting: submitting,
|
|
329
|
-
pageId: pageId
|
|
330
|
-
fromTarget: fromTarget
|
|
326
|
+
pageId: pageId
|
|
331
327
|
}), formState.page && !formState.cya && formState.page.collection && /*#__PURE__*/_react.default.createElement(_CollectionPage.default, {
|
|
332
328
|
page: formState.page,
|
|
333
329
|
pages: pages,
|
|
@@ -370,8 +366,7 @@ const propTypes = {
|
|
|
370
366
|
/** See <a href="/?path=/docs/f-json--page#formtypes">FormTypes</a>. */
|
|
371
367
|
type: _propTypes.default.oneOf([_models.FormTypes.CYA, _models.FormTypes.FORM, _models.FormTypes.HUB, _models.FormTypes.TASK, _models.FormTypes.WIZARD, _models.FormTypes.TASK_CYA, _models.FormTypes.FORM_WITH_TASK]).isRequired,
|
|
372
368
|
viewOnly: _propTypes.default.bool,
|
|
373
|
-
hideBlankRows: _propTypes.default.bool
|
|
374
|
-
fromTarget: _propTypes.default.bool.isRequired
|
|
369
|
+
hideBlankRows: _propTypes.default.bool
|
|
375
370
|
};
|
|
376
371
|
const defaultProps = {
|
|
377
372
|
classBlock: DEFAULT_CLASS,
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "example-form",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"name": "example-form",
|
|
5
|
+
"title": "Example form",
|
|
6
|
+
"type": "form",
|
|
7
|
+
"components": [
|
|
8
|
+
{
|
|
9
|
+
"id": "alpha",
|
|
10
|
+
"fieldId": "alpha",
|
|
11
|
+
"label": "Alpha",
|
|
12
|
+
"type": "text"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "bravo",
|
|
16
|
+
"fieldId": "bravo",
|
|
17
|
+
"label": "Bravo",
|
|
18
|
+
"type": "text"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"pages": [
|
|
22
|
+
{
|
|
23
|
+
"id": "visiblePage",
|
|
24
|
+
"name": "visiblePage",
|
|
25
|
+
"title": "Visible Page",
|
|
26
|
+
"show_when": {
|
|
27
|
+
"op": "=",
|
|
28
|
+
"field": "makePageVisibleField",
|
|
29
|
+
"value": "makePageVisibleField-value"
|
|
30
|
+
},
|
|
31
|
+
"components": [
|
|
32
|
+
{
|
|
33
|
+
"use": "bravo",
|
|
34
|
+
"show_when": {
|
|
35
|
+
"op": "=",
|
|
36
|
+
"field": "externalCondition1",
|
|
37
|
+
"value": "NOT-externalCondition1-value"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"use": "bravo",
|
|
42
|
+
"show_when": {
|
|
43
|
+
"op": "=",
|
|
44
|
+
"field": "externalCondition2",
|
|
45
|
+
"value": "NOT-externalCondition2-value"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"use": "bravo",
|
|
50
|
+
"show_when": {
|
|
51
|
+
"op": "=",
|
|
52
|
+
"field": "externalCondition3",
|
|
53
|
+
"value": "externalCondition3-value"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "hiddenPage",
|
|
60
|
+
"name": "hiddenPage",
|
|
61
|
+
"title": "Hidden Page",
|
|
62
|
+
"components": [
|
|
63
|
+
{
|
|
64
|
+
"use": "alpha"
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"show_when": {
|
|
68
|
+
"op": "=",
|
|
69
|
+
"field": "makePageVisibleField",
|
|
70
|
+
"value": "NOT-makePageVisibleField-value"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"alpha": "alpha-value",
|
|
3
|
+
"bravo": "bravo-value",
|
|
4
|
+
"externalCondition1": "externalCondition1-value",
|
|
5
|
+
"externalCondition2": "externalCondition2-value",
|
|
6
|
+
"externalCondition3": "externalCondition3-value",
|
|
7
|
+
"makePageVisibleField": "makePageVisibleField-value"
|
|
8
|
+
}
|