@ukhomeoffice/cop-react-form-renderer 6.0.6-peter → 6.6.1
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/CheckYourAnswers/CheckYourAnswers.scss +2 -2
- package/dist/components/CollectionPage/CollectionPage.js +8 -2
- package/dist/components/CollectionSummary/BannerStrip.js +3 -2
- package/dist/components/CollectionSummary/BannerStrip.scss +2 -2
- package/dist/components/CollectionSummary/BannerStrip.test.js +39 -4
- package/dist/components/CollectionSummary/CollectionSummary.js +82 -63
- package/dist/components/CollectionSummary/CollectionSummary.scss +1 -1
- package/dist/components/CollectionSummary/CollectionSummary.test.js +40 -80
- package/dist/components/CollectionSummary/Confirmation.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.js +23 -19
- package/dist/components/CollectionSummary/RenderListView.scss +11 -2
- package/dist/components/CollectionSummary/RenderListView.test.js +14 -4
- package/dist/components/CollectionSummary/SummaryCard.js +61 -40
- package/dist/components/CollectionSummary/SummaryCard.scss +2 -1
- package/dist/components/CollectionSummary/SummaryCard.test.js +193 -150
- package/dist/components/CollectionSummary/SummaryCardDetails.js +70 -13
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +45 -8
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +174 -26
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +15 -5
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +5 -4
- package/dist/components/FormComponent/Collection.js +24 -17
- package/dist/components/FormComponent/Collection.test.js +138 -0
- package/dist/components/FormComponent/FormComponent.js +12 -0
- package/dist/components/FormPage/FormPage.scss +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +7 -4
- package/dist/components/FormRenderer/FormRenderer.scss +1 -1
- package/dist/components/FormRenderer/helpers/index.js +1 -3
- package/dist/components/FormRenderer/onPageAction.js +7 -9
- package/dist/components/FormRenderer/onPageAction.test.js +18 -9
- package/dist/components/SummaryList/SummaryList.scss +2 -2
- package/dist/components/TaskList/TaskList.scss +1 -1
- package/dist/context/ValidationContext/ValidationContext.js +49 -5
- package/dist/context/ValidationContext/ValidationContext.test.js +16 -7
- package/dist/hooks/useRefData.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +1 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +5 -0
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +1 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +4 -24
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +39 -4
- package/dist/utils/CollectionPage/getErrorsForCollection.js +55 -0
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +155 -0
- package/dist/utils/CollectionPage/getQuickEditPage.js +14 -5
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +14 -29
- package/dist/utils/CollectionPage/index.js +2 -0
- package/dist/utils/CollectionPage/mergeCollectionPages.js +0 -1
- package/dist/utils/CollectionPage/setCollectionPageData.js +9 -4
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +18 -0
- package/dist/utils/Component/isEditable.js +1 -1
- package/dist/utils/Condition/meetsCondition.js +18 -0
- package/dist/utils/Condition/meetsCondition.test.js +100 -0
- package/dist/utils/Data/getOptions.js +10 -0
- package/dist/utils/Data/getOptions.test.js +73 -0
- package/dist/utils/Data/nestInRefdataOptions.js +49 -0
- package/dist/utils/Data/nestInRefdataOptions.test.js +236 -0
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -0
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +36 -0
- package/dist/utils/Validate/validateContainer.js +3 -1
- package/dist/utils/Validate/validateContainer.test.js +33 -0
- package/dist/utils/Validate/validateEmail.js +1 -1
- package/dist/utils/Validate/validatePage.js +10 -1
- package/dist/utils/Validate/validatePage.test.js +69 -0
- package/package.json +4 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -175
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -113
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -20
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _index = _interopRequireDefault(require("./index"));
|
|
4
|
-
var _componentUsedInMultiplePagesForm = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json"));
|
|
5
|
-
var _componentUsedInMultiplePagesData = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json"));
|
|
6
|
-
var _formWithCollections = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/form-with-collections.json"));
|
|
7
|
-
var _formWithCollectionsDeleteEntire = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json"));
|
|
8
|
-
var _dataWithCollections = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-collections.json"));
|
|
9
|
-
var _dataWithEntireCollectionRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json"));
|
|
10
|
-
var _dataWithCollectionDataRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-collection-data-removed.json"));
|
|
11
|
-
var _formWithComponents = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/form-with-components.json"));
|
|
12
|
-
var _dataWithComponents = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-components.json"));
|
|
13
|
-
var _dataWithComponentsRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-components-removed.json"));
|
|
14
|
-
var _formForNestedComponents = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/form-for-nested-components.json"));
|
|
15
|
-
var _dataWithNestedComponents = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-nested-components.json"));
|
|
16
|
-
var _dataWithNestedComponentRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-nested-component-removed.json"));
|
|
17
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
-
describe('FormRenderer', function () {
|
|
19
|
-
describe('helpers', function () {
|
|
20
|
-
describe('clearOutUncompletedRoutes', function () {
|
|
21
|
-
it('should not remove hidden component where it is visible in another page', function () {
|
|
22
|
-
var form = JSON.parse(JSON.stringify(_componentUsedInMultiplePagesForm.default));
|
|
23
|
-
var formData = JSON.parse(JSON.stringify(_componentUsedInMultiplePagesData.default));
|
|
24
|
-
expect(_index.default.clearOutUncompletedRoutes(form, formData)).toEqual(_componentUsedInMultiplePagesData.default);
|
|
25
|
-
});
|
|
26
|
-
it('should remove collection data when page hidden', function () {
|
|
27
|
-
var form = JSON.parse(JSON.stringify(_formWithCollections.default));
|
|
28
|
-
var formData = JSON.parse(JSON.stringify(_dataWithCollections.default));
|
|
29
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
30
|
-
expect(result).toEqual(_dataWithCollectionDataRemoved.default);
|
|
31
|
-
formData = JSON.parse(JSON.stringify(_dataWithCollections.default));
|
|
32
|
-
formData.componentA = true;
|
|
33
|
-
result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
34
|
-
var expected = JSON.parse(JSON.stringify(_dataWithCollections.default));
|
|
35
|
-
expected.componentA = true;
|
|
36
|
-
expect(result).toEqual(expected);
|
|
37
|
-
});
|
|
38
|
-
it('should remove entire collection data when page hidden', function () {
|
|
39
|
-
var form = JSON.parse(JSON.stringify(_formWithCollectionsDeleteEntire.default));
|
|
40
|
-
var formData = JSON.parse(JSON.stringify(_dataWithCollections.default));
|
|
41
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
42
|
-
expect(result).toEqual(_dataWithEntireCollectionRemoved.default);
|
|
43
|
-
});
|
|
44
|
-
it('should remove hidden component', function () {
|
|
45
|
-
var form = JSON.parse(JSON.stringify(_formWithComponents.default));
|
|
46
|
-
var formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
47
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
48
|
-
expect(result).toEqual(_dataWithComponents.default);
|
|
49
|
-
formData.componentA = "hide";
|
|
50
|
-
result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
51
|
-
expect(result).toEqual(_dataWithComponentsRemoved.default);
|
|
52
|
-
});
|
|
53
|
-
it('should not remove hidden component when disableClearWhenHidden attribute is true on component', function () {
|
|
54
|
-
var formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
55
|
-
formData.componentA = "hide";
|
|
56
|
-
var form = JSON.parse(JSON.stringify(_formWithComponents.default));
|
|
57
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
58
|
-
expect(result).toEqual(_dataWithComponentsRemoved.default);
|
|
59
|
-
form.components[1].disableClearWhenHidden = true;
|
|
60
|
-
form.components[2].disableClearWhenHidden = true;
|
|
61
|
-
formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
62
|
-
result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
63
|
-
expect(result).toEqual(_dataWithComponents.default);
|
|
64
|
-
});
|
|
65
|
-
it('should not remove hidden component when disableClearWhenHidden attribute is true on page', function () {
|
|
66
|
-
var formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
67
|
-
formData.componentA = "hide";
|
|
68
|
-
var form = JSON.parse(JSON.stringify(_formWithComponents.default));
|
|
69
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
70
|
-
expect(result).toEqual(_dataWithComponentsRemoved.default);
|
|
71
|
-
form.pages[0].disableClearWhenHidden = true;
|
|
72
|
-
formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
73
|
-
result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
74
|
-
expect(result).toEqual(_dataWithComponents.default);
|
|
75
|
-
});
|
|
76
|
-
it('should not remove hidden component when disableClearWhenHidden attribute is true on form', function () {
|
|
77
|
-
var submissionData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
78
|
-
var form = JSON.parse(JSON.stringify(_formWithComponents.default));
|
|
79
|
-
submissionData.componentA = "hide";
|
|
80
|
-
var result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
81
|
-
expect(result).toEqual(_dataWithComponentsRemoved.default);
|
|
82
|
-
form.disableClearWhenHidden = true;
|
|
83
|
-
submissionData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
84
|
-
submissionData.componentA = "hide";
|
|
85
|
-
result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
86
|
-
var expected = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
87
|
-
expected.componentA = "hide";
|
|
88
|
-
expect(result).toEqual(expected);
|
|
89
|
-
});
|
|
90
|
-
it('should remove nested hidden component', function () {
|
|
91
|
-
var submissionData = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
|
|
92
|
-
var form = JSON.parse(JSON.stringify(_formForNestedComponents.default));
|
|
93
|
-
var result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
94
|
-
expect(result).toEqual(_dataWithNestedComponentRemoved.default);
|
|
95
|
-
submissionData = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
|
|
96
|
-
submissionData.bravo = "another";
|
|
97
|
-
result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
98
|
-
var expected = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
|
|
99
|
-
delete expected.person.charlie;
|
|
100
|
-
expected.bravo = "another";
|
|
101
|
-
expect(result).toEqual(expected);
|
|
102
|
-
submissionData = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
|
|
103
|
-
submissionData.bravo = "notMatchAnything";
|
|
104
|
-
result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
105
|
-
expected = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
|
|
106
|
-
delete expected.person.charlie;
|
|
107
|
-
delete expected.person.delta;
|
|
108
|
-
expected.bravo = "notMatchAnything";
|
|
109
|
-
expect(result).toEqual(expected);
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
/* eslint-disable consistent-return */
|
|
8
|
-
var deleteNodeByPath = function deleteNodeByPath(obj, path) {
|
|
9
|
-
var keys = path.split('.');
|
|
10
|
-
var current = obj;
|
|
11
|
-
for (var i = 0; i < keys.length - 1; i += 1) {
|
|
12
|
-
current = current[keys[i]];
|
|
13
|
-
if (current === undefined) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
delete current[keys[keys.length - 1]];
|
|
18
|
-
return obj;
|
|
19
|
-
};
|
|
20
|
-
var _default = exports.default = deleteNodeByPath;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _deleteNodeByPath = _interopRequireDefault(require("./deleteNodeByPath"));
|
|
4
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('Delete node based on path', function () {
|
|
6
|
-
it('delete where node is at parent level', function () {
|
|
7
|
-
var nested = {
|
|
8
|
-
type: "Example form",
|
|
9
|
-
alpha: "alpha",
|
|
10
|
-
bravo: "bravo",
|
|
11
|
-
person: {
|
|
12
|
-
charlie: "Smith",
|
|
13
|
-
delta: "Acme Inc"
|
|
14
|
-
},
|
|
15
|
-
gamma: "gamma",
|
|
16
|
-
epsilon: "epsilon"
|
|
17
|
-
};
|
|
18
|
-
var path = 'type';
|
|
19
|
-
var result = (0, _deleteNodeByPath.default)(nested, path);
|
|
20
|
-
expect(result).toEqual({
|
|
21
|
-
alpha: "alpha",
|
|
22
|
-
bravo: "bravo",
|
|
23
|
-
person: {
|
|
24
|
-
charlie: "Smith",
|
|
25
|
-
delta: "Acme Inc"
|
|
26
|
-
},
|
|
27
|
-
gamma: "gamma",
|
|
28
|
-
epsilon: "epsilon"
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
it('delete where node is at child level', function () {
|
|
32
|
-
var nested = {
|
|
33
|
-
type: "Example form",
|
|
34
|
-
alpha: "alpha",
|
|
35
|
-
bravo: "bravo",
|
|
36
|
-
person: {
|
|
37
|
-
charlie: "Smith",
|
|
38
|
-
delta: "Acme Inc"
|
|
39
|
-
},
|
|
40
|
-
gamma: "gamma",
|
|
41
|
-
epsilon: "epsilon"
|
|
42
|
-
};
|
|
43
|
-
var path = 'person.charlie';
|
|
44
|
-
var result = (0, _deleteNodeByPath.default)(nested, path);
|
|
45
|
-
expect(result).toEqual({
|
|
46
|
-
type: "Example form",
|
|
47
|
-
alpha: "alpha",
|
|
48
|
-
bravo: "bravo",
|
|
49
|
-
person: {
|
|
50
|
-
delta: "Acme Inc"
|
|
51
|
-
},
|
|
52
|
-
gamma: "gamma",
|
|
53
|
-
epsilon: "epsilon"
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
});
|