@ukhomeoffice/cop-react-form-renderer 2.1.0 → 2.6.0
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/FormComponent/Container.test.js +250 -0
- package/dist/components/FormComponent/FormComponent.js +105 -21
- package/dist/components/FormComponent/FormComponent.test.js +67 -0
- package/dist/components/FormPage/FormPage.js +2 -1
- package/dist/components/FormRenderer/FormRenderer.js +105 -6
- package/dist/components/FormRenderer/FormRenderer.test.js +235 -0
- package/dist/components/FormRenderer/helpers/getNextPageId.js +3 -0
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +6 -0
- package/dist/components/FormRenderer/helpers/getPage.js +1 -1
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +18 -1
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +44 -6
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +50 -0
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +122 -0
- package/dist/components/FormRenderer/helpers/index.js +7 -1
- package/dist/components/TaskList/Task.js +83 -0
- package/dist/components/TaskList/Task.test.js +112 -0
- package/dist/components/TaskList/TaskList.js +112 -0
- package/dist/components/TaskList/TaskList.scss +70 -0
- package/dist/components/TaskList/TaskList.stories.mdx +57 -0
- package/dist/components/TaskList/TaskList.test.js +223 -0
- package/dist/components/TaskList/TaskState.js +42 -0
- package/dist/components/TaskList/TaskState.test.js +99 -0
- package/dist/components/TaskList/index.js +13 -0
- package/dist/hooks/index.js +19 -1
- package/dist/hooks/useHooks.js +5 -1
- package/dist/json/taskList.json +228 -0
- package/dist/json/userProfile.data.json +2 -1
- package/dist/models/ComponentTypes.js +5 -1
- package/dist/models/FormTypes.js +2 -0
- package/dist/models/HubFormats.js +3 -1
- package/dist/models/PageAction.js +5 -0
- package/dist/models/TaskStates.js +41 -0
- package/dist/models/index.js +8 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +40 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +257 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +9 -1
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +44 -0
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -0
- package/dist/utils/Component/cleanAttributes.js +1 -1
- package/dist/utils/Component/getComponent.js +26 -0
- package/dist/utils/Component/isEditable.js +1 -1
- package/dist/utils/Component/showComponent.js +2 -20
- package/dist/utils/Condition/index.js +19 -0
- package/dist/utils/Condition/meetsAllConditions.js +40 -0
- package/dist/utils/Condition/meetsAllConditions.test.js +62 -0
- package/dist/utils/{meetsCondition.js → Condition/meetsCondition.js} +0 -0
- package/dist/utils/Condition/meetsCondition.test.js +302 -0
- package/dist/utils/Condition/setupConditions.js +47 -0
- package/dist/utils/Condition/setupConditions.test.js +35 -0
- package/dist/utils/Container/getEditableComponents.js +38 -0
- package/dist/utils/Container/getEditableComponents.test.js +157 -0
- package/dist/utils/Container/index.js +22 -0
- package/dist/utils/Container/setupNesting.js +45 -0
- package/dist/utils/Container/setupNesting.test.js +92 -0
- package/dist/utils/Container/showContainer.js +61 -0
- package/dist/utils/Container/showContainer.test.js +128 -0
- package/dist/utils/Data/getDataPath.js +90 -0
- package/dist/utils/Data/getDataPath.test.js +52 -0
- package/dist/utils/Data/index.js +3 -0
- package/dist/utils/FormPage/getFormPage.js +4 -2
- package/dist/utils/FormPage/getFormPage.test.js +18 -7
- package/dist/utils/FormPage/getFormPages.test.js +5 -2
- package/dist/utils/FormPage/getPageActions.js +6 -0
- package/dist/utils/FormPage/index.js +0 -3
- package/dist/utils/FormPage/showFormPage.js +7 -27
- package/dist/utils/Hub/getFormHub.js +4 -0
- package/dist/utils/Hub/getFormHub.test.js +15 -4
- package/dist/utils/Validate/additional/index.js +55 -0
- package/dist/utils/Validate/additional/index.test.js +69 -0
- package/dist/utils/Validate/additional/mustBeAfter.js +37 -0
- package/dist/utils/Validate/additional/mustBeAfter.test.js +98 -0
- package/dist/utils/Validate/additional/mustBeBefore.js +35 -0
- package/dist/utils/Validate/additional/mustBeBefore.test.js +66 -0
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +42 -0
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +34 -0
- package/dist/utils/Validate/additional/mustBeInThePast.js +44 -0
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +34 -0
- package/dist/utils/Validate/additional/utils.js +66 -0
- package/dist/utils/Validate/index.js +7 -1
- package/dist/utils/Validate/validateComponent.js +57 -0
- package/dist/utils/Validate/validateComponent.test.js +92 -2
- package/dist/utils/Validate/validateDate.js +155 -0
- package/dist/utils/Validate/validateDate.test.js +118 -0
- package/dist/utils/Validate/validatePage.js +6 -8
- package/dist/utils/Validate/validateTime.js +95 -0
- package/dist/utils/Validate/validateTime.test.js +61 -0
- package/dist/utils/index.js +6 -3
- package/package.json +3 -2
- package/dist/utils/FormPage/getEditableComponents.js +0 -28
- package/dist/utils/FormPage/getEditableComponents.test.js +0 -75
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = require("@testing-library/react");
|
|
4
|
+
|
|
5
|
+
var _react2 = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _TaskList = _interopRequireDefault(require("./TaskList"));
|
|
8
|
+
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
|
|
11
|
+
// Global imports
|
|
12
|
+
// Local imports
|
|
13
|
+
describe('components', function () {
|
|
14
|
+
describe('TaskList', function () {
|
|
15
|
+
it('should render a TaskList', function () {
|
|
16
|
+
var COP_REF = '123';
|
|
17
|
+
var REF_TITLE = 'COP reference number';
|
|
18
|
+
var sections = [{
|
|
19
|
+
name: 'These are your tasks',
|
|
20
|
+
tasks: [{
|
|
21
|
+
name: 'Nice task',
|
|
22
|
+
state: 'complete',
|
|
23
|
+
pages: ['pageOne']
|
|
24
|
+
}, {
|
|
25
|
+
name: 'Ok task',
|
|
26
|
+
state: 'inProgress',
|
|
27
|
+
pages: ['pageTwo']
|
|
28
|
+
}, {
|
|
29
|
+
name: 'Terrible task',
|
|
30
|
+
state: 'notStarted',
|
|
31
|
+
pages: ['pageThree']
|
|
32
|
+
}]
|
|
33
|
+
}, {
|
|
34
|
+
name: 'These are your extra bonus tasks',
|
|
35
|
+
tasks: [{
|
|
36
|
+
name: 'Nice task',
|
|
37
|
+
state: 'complete',
|
|
38
|
+
pages: ['pageFour']
|
|
39
|
+
}, {
|
|
40
|
+
name: 'Ok task',
|
|
41
|
+
state: 'cannotStartYet',
|
|
42
|
+
pages: ['pageFive']
|
|
43
|
+
}, {
|
|
44
|
+
name: 'Terrible task',
|
|
45
|
+
state: 'cannotStartYet',
|
|
46
|
+
pages: ['pageSix']
|
|
47
|
+
}]
|
|
48
|
+
}];
|
|
49
|
+
|
|
50
|
+
var _render = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskList.default, {
|
|
51
|
+
refNumber: COP_REF,
|
|
52
|
+
refTitle: REF_TITLE,
|
|
53
|
+
sections: sections
|
|
54
|
+
})),
|
|
55
|
+
container = _render.container;
|
|
56
|
+
|
|
57
|
+
expect(container.childNodes.length).toEqual(1);
|
|
58
|
+
var referenceHeading = container.childNodes[0].childNodes[0];
|
|
59
|
+
expect(referenceHeading.tagName).toEqual('H2');
|
|
60
|
+
expect(referenceHeading.textContent).toEqual('COP reference number 123');
|
|
61
|
+
var incompleteForm = container.childNodes[0].childNodes[1];
|
|
62
|
+
expect(incompleteForm.tagName).toEqual('H2');
|
|
63
|
+
expect(incompleteForm.textContent).toEqual('Incomplete form');
|
|
64
|
+
var numComplete = container.childNodes[0].childNodes[2];
|
|
65
|
+
expect(numComplete.tagName).toEqual('P');
|
|
66
|
+
expect(numComplete.textContent).toEqual('You have completed 2 of 6 sections');
|
|
67
|
+
expect(container.childNodes[0].childNodes.length).toEqual(7);
|
|
68
|
+
var subSectionOneHeading = container.childNodes[0].childNodes[3];
|
|
69
|
+
expect(subSectionOneHeading.tagName).toEqual('H2');
|
|
70
|
+
expect(subSectionOneHeading.textContent).toEqual('1. These are your tasks');
|
|
71
|
+
var subSectionOneList = container.childNodes[0].childNodes[4];
|
|
72
|
+
expect(subSectionOneList.childNodes.length).toEqual(3);
|
|
73
|
+
var subSectionTwoHeading = container.childNodes[0].childNodes[5];
|
|
74
|
+
expect(subSectionTwoHeading.tagName).toEqual('H2');
|
|
75
|
+
expect(subSectionTwoHeading.textContent).toEqual('2. These are your extra bonus tasks');
|
|
76
|
+
var subSectionTwoList = container.childNodes[0].childNodes[6];
|
|
77
|
+
expect(subSectionTwoList.childNodes.length).toEqual(3);
|
|
78
|
+
});
|
|
79
|
+
it('should not show incomplete form if form is complete', function () {
|
|
80
|
+
var COP_REF = '123';
|
|
81
|
+
var REF_TITLE = 'COP reference number';
|
|
82
|
+
var sections = [{
|
|
83
|
+
name: 'These are your tasks',
|
|
84
|
+
tasks: [{
|
|
85
|
+
name: 'Nice task',
|
|
86
|
+
state: 'complete',
|
|
87
|
+
pages: ['pageOne']
|
|
88
|
+
}, {
|
|
89
|
+
name: 'Ok task',
|
|
90
|
+
state: 'complete',
|
|
91
|
+
pages: ['pageTwo']
|
|
92
|
+
}, {
|
|
93
|
+
name: 'Terrible task',
|
|
94
|
+
state: 'complete',
|
|
95
|
+
pages: ['pageThree']
|
|
96
|
+
}]
|
|
97
|
+
}, {
|
|
98
|
+
name: 'These are your extra bonus tasks',
|
|
99
|
+
tasks: [{
|
|
100
|
+
name: 'Nice task',
|
|
101
|
+
state: 'complete',
|
|
102
|
+
pages: ['pageFour']
|
|
103
|
+
}, {
|
|
104
|
+
name: 'Ok task',
|
|
105
|
+
state: 'complete',
|
|
106
|
+
pages: ['pageFive']
|
|
107
|
+
}, {
|
|
108
|
+
name: 'Terrible task',
|
|
109
|
+
state: 'complete',
|
|
110
|
+
pages: ['pageSix']
|
|
111
|
+
}]
|
|
112
|
+
}];
|
|
113
|
+
|
|
114
|
+
var _render2 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskList.default, {
|
|
115
|
+
refNumber: COP_REF,
|
|
116
|
+
refTitle: REF_TITLE,
|
|
117
|
+
sections: sections
|
|
118
|
+
})),
|
|
119
|
+
container = _render2.container;
|
|
120
|
+
|
|
121
|
+
expect(container.childNodes[0].childNodes.length).toEqual(6);
|
|
122
|
+
var referenceHeading = container.childNodes[0].childNodes[0];
|
|
123
|
+
expect(referenceHeading.tagName).toEqual('H2');
|
|
124
|
+
expect(referenceHeading.textContent).toEqual('COP reference number 123');
|
|
125
|
+
var numComplete = container.childNodes[0].childNodes[1];
|
|
126
|
+
expect(numComplete.tagName).toEqual('P');
|
|
127
|
+
expect(numComplete.textContent).toEqual('You have completed 6 of 6 sections');
|
|
128
|
+
});
|
|
129
|
+
it('should not show numbers on section headings if there is only one section', function () {
|
|
130
|
+
var COP_REF = '123';
|
|
131
|
+
var REF_TITLE = 'COP reference number';
|
|
132
|
+
var sections = [{
|
|
133
|
+
name: 'These are your tasks',
|
|
134
|
+
tasks: [{
|
|
135
|
+
name: 'Nice task',
|
|
136
|
+
state: 'complete',
|
|
137
|
+
pages: ['pageOne']
|
|
138
|
+
}, {
|
|
139
|
+
name: 'Ok task',
|
|
140
|
+
state: 'complete',
|
|
141
|
+
pages: ['pageTwo']
|
|
142
|
+
}, {
|
|
143
|
+
name: 'Terrible task',
|
|
144
|
+
state: 'notStarted',
|
|
145
|
+
pages: ['pageThree']
|
|
146
|
+
}]
|
|
147
|
+
}];
|
|
148
|
+
|
|
149
|
+
var _render3 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskList.default, {
|
|
150
|
+
refNumber: COP_REF,
|
|
151
|
+
refTitle: REF_TITLE,
|
|
152
|
+
sections: sections
|
|
153
|
+
})),
|
|
154
|
+
container = _render3.container;
|
|
155
|
+
|
|
156
|
+
var subSectionOne = container.childNodes[0].childNodes[3];
|
|
157
|
+
expect(subSectionOne.childNodes[0].textContent).toEqual('');
|
|
158
|
+
expect(subSectionOne.childNodes[1].textContent).toEqual('These are your tasks');
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
it('should pass the the selected task to the given onTaskAction function', function () {
|
|
162
|
+
var COP_REF = '123';
|
|
163
|
+
var REF_TITLE = 'COP reference number';
|
|
164
|
+
var ON_CLICK_CALLS = [];
|
|
165
|
+
|
|
166
|
+
var ON_CLICK = function ON_CLICK(value) {
|
|
167
|
+
ON_CLICK_CALLS.push(value);
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
var sections = [{
|
|
171
|
+
name: 'These are your tasks',
|
|
172
|
+
tasks: [{
|
|
173
|
+
name: 'Nice task',
|
|
174
|
+
state: 'complete',
|
|
175
|
+
pages: ['pageOne']
|
|
176
|
+
}, {
|
|
177
|
+
name: 'Ok task',
|
|
178
|
+
state: 'complete',
|
|
179
|
+
pages: ['pageTwo']
|
|
180
|
+
}, {
|
|
181
|
+
name: 'Terrible task',
|
|
182
|
+
state: 'notStarted',
|
|
183
|
+
pages: ['pageThree']
|
|
184
|
+
}]
|
|
185
|
+
}];
|
|
186
|
+
|
|
187
|
+
var _render4 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskList.default, {
|
|
188
|
+
refNumber: COP_REF,
|
|
189
|
+
refTitle: REF_TITLE,
|
|
190
|
+
sections: sections,
|
|
191
|
+
onTaskAction: ON_CLICK
|
|
192
|
+
})),
|
|
193
|
+
container = _render4.container;
|
|
194
|
+
|
|
195
|
+
var firstTask = container.childNodes[0].childNodes[4].childNodes[0].childNodes[0].childNodes[0];
|
|
196
|
+
var secondTask = container.childNodes[0].childNodes[4].childNodes[1].childNodes[0].childNodes[0];
|
|
197
|
+
var thirdTask = container.childNodes[0].childNodes[4].childNodes[2].childNodes[0].childNodes[0];
|
|
198
|
+
|
|
199
|
+
_react.fireEvent.click(firstTask.childNodes[0]);
|
|
200
|
+
|
|
201
|
+
expect(ON_CLICK_CALLS[0]).toEqual({
|
|
202
|
+
pages: ['pageOne'],
|
|
203
|
+
name: "Nice task",
|
|
204
|
+
state: 'complete'
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
_react.fireEvent.click(secondTask.childNodes[0]);
|
|
208
|
+
|
|
209
|
+
expect(ON_CLICK_CALLS[1]).toEqual({
|
|
210
|
+
pages: ['pageTwo'],
|
|
211
|
+
name: "Ok task",
|
|
212
|
+
state: 'complete'
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
_react.fireEvent.click(thirdTask.childNodes[0]);
|
|
216
|
+
|
|
217
|
+
expect(ON_CLICK_CALLS[2]).toEqual({
|
|
218
|
+
pages: ['pageThree'],
|
|
219
|
+
name: "Terrible task",
|
|
220
|
+
state: 'notStarted'
|
|
221
|
+
});
|
|
222
|
+
});
|
|
223
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.DEFAULT_CLASS = void 0;
|
|
7
|
+
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
13
|
+
|
|
14
|
+
var _models = require("../../models");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
//Global Imports
|
|
19
|
+
//Local imports
|
|
20
|
+
var DEFAULT_CLASS = 'hods-task-list';
|
|
21
|
+
exports.DEFAULT_CLASS = DEFAULT_CLASS;
|
|
22
|
+
|
|
23
|
+
var TaskState = function TaskState(_ref) {
|
|
24
|
+
var state = _ref.state;
|
|
25
|
+
|
|
26
|
+
var classes = _copReactComponents.Utils.classBuilder(DEFAULT_CLASS, undefined, undefined);
|
|
27
|
+
|
|
28
|
+
if (!_models.TaskStates.DETAILS[state]) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Tag, {
|
|
33
|
+
classModifiers: [_models.TaskStates.DETAILS[state].colour],
|
|
34
|
+
className: classes('tag')
|
|
35
|
+
}, _models.TaskStates.DETAILS[state].label);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
TaskState.propTypes = {
|
|
39
|
+
state: _propTypes.default.string.isRequired
|
|
40
|
+
};
|
|
41
|
+
var _default = TaskState;
|
|
42
|
+
exports.default = _default;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = require("@testing-library/react");
|
|
4
|
+
|
|
5
|
+
var _react2 = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _TaskState = _interopRequireDefault(require("./TaskState"));
|
|
8
|
+
|
|
9
|
+
var _models = require("../../models");
|
|
10
|
+
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
|
|
13
|
+
// Global imports
|
|
14
|
+
// Local imports
|
|
15
|
+
describe('components', function () {
|
|
16
|
+
describe('TaskList.TaskState', function () {
|
|
17
|
+
it('should render a complete state icon', function () {
|
|
18
|
+
var STATE = _models.TaskStates.TYPES.COMPLETE;
|
|
19
|
+
|
|
20
|
+
var _render = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskState.default, {
|
|
21
|
+
state: STATE
|
|
22
|
+
})),
|
|
23
|
+
container = _render.container;
|
|
24
|
+
|
|
25
|
+
expect(container.childNodes.length).toEqual(1);
|
|
26
|
+
expect(container.childNodes[0].classList).toContain('hods-tag');
|
|
27
|
+
expect(container.childNodes[0].textContent).toEqual(_models.TaskStates.DETAILS.complete.label);
|
|
28
|
+
});
|
|
29
|
+
it('should render an in progress state icon', function () {
|
|
30
|
+
var STATE = _models.TaskStates.TYPES.IN_PROGRESS;
|
|
31
|
+
|
|
32
|
+
var _render2 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskState.default, {
|
|
33
|
+
state: STATE
|
|
34
|
+
})),
|
|
35
|
+
container = _render2.container;
|
|
36
|
+
|
|
37
|
+
expect(container.childNodes.length).toEqual(1);
|
|
38
|
+
expect(container.childNodes[0].classList).toContain('hods-tag');
|
|
39
|
+
expect(container.childNodes[0].classList).toContain("hods-tag--".concat(_models.TaskStates.DETAILS.inProgress.colour));
|
|
40
|
+
expect(container.childNodes[0].textContent).toEqual(_models.TaskStates.DETAILS.inProgress.label);
|
|
41
|
+
});
|
|
42
|
+
it('should render a not started state icon', function () {
|
|
43
|
+
var STATE = _models.TaskStates.TYPES.NOT_STARTED;
|
|
44
|
+
|
|
45
|
+
var _render3 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskState.default, {
|
|
46
|
+
state: STATE
|
|
47
|
+
})),
|
|
48
|
+
container = _render3.container;
|
|
49
|
+
|
|
50
|
+
expect(container.childNodes.length).toEqual(1);
|
|
51
|
+
expect(container.childNodes[0].classList).toContain('hods-tag');
|
|
52
|
+
expect(container.childNodes[0].classList).toContain("hods-tag--".concat(_models.TaskStates.DETAILS.notStarted.colour));
|
|
53
|
+
expect(container.childNodes[0].textContent).toEqual(_models.TaskStates.DETAILS.notStarted.label);
|
|
54
|
+
});
|
|
55
|
+
it('should render a cannot start state icon', function () {
|
|
56
|
+
var STATE = _models.TaskStates.TYPES.CANNOT_START_YET;
|
|
57
|
+
|
|
58
|
+
var _render4 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskState.default, {
|
|
59
|
+
state: STATE
|
|
60
|
+
})),
|
|
61
|
+
container = _render4.container;
|
|
62
|
+
|
|
63
|
+
expect(container.childNodes.length).toEqual(1);
|
|
64
|
+
expect(container.childNodes[0].classList).toContain('hods-tag');
|
|
65
|
+
expect(container.childNodes[0].classList).toContain("hods-tag--".concat(_models.TaskStates.DETAILS.cannotStartYet.colour));
|
|
66
|
+
expect(container.childNodes[0].textContent).toEqual(_models.TaskStates.DETAILS.cannotStartYet.label);
|
|
67
|
+
});
|
|
68
|
+
it('should not render a state if given an unknown value', function () {
|
|
69
|
+
var STATE = 'spellingError';
|
|
70
|
+
|
|
71
|
+
var _render5 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskState.default, {
|
|
72
|
+
state: STATE
|
|
73
|
+
})),
|
|
74
|
+
container = _render5.container;
|
|
75
|
+
|
|
76
|
+
expect(container.childNodes.length).toEqual(0);
|
|
77
|
+
});
|
|
78
|
+
it('should not render a state if given null', function () {
|
|
79
|
+
var STATE = null;
|
|
80
|
+
|
|
81
|
+
var _render6 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskState.default, {
|
|
82
|
+
state: STATE
|
|
83
|
+
})),
|
|
84
|
+
container = _render6.container;
|
|
85
|
+
|
|
86
|
+
expect(container.childNodes.length).toEqual(0);
|
|
87
|
+
});
|
|
88
|
+
it('should not render a state if given undefined', function () {
|
|
89
|
+
var STATE = undefined;
|
|
90
|
+
|
|
91
|
+
var _render7 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskState.default, {
|
|
92
|
+
state: STATE
|
|
93
|
+
})),
|
|
94
|
+
container = _render7.container;
|
|
95
|
+
|
|
96
|
+
expect(container.childNodes.length).toEqual(0);
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _TaskList = _interopRequireDefault(require("./TaskList"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
var _default = _TaskList.default;
|
|
13
|
+
exports.default = _default;
|
package/dist/hooks/index.js
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
8
|
+
Object.defineProperty(exports, "STATUS_COMPLETE", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _useRefData.STATUS_COMPLETE;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "STATUS_LOADING", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _useRefData.STATUS_LOADING;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
6
20
|
Object.defineProperty(exports, "useAxios", {
|
|
7
21
|
enumerable: true,
|
|
8
22
|
get: function get() {
|
|
@@ -34,6 +48,10 @@ var _useHooks = _interopRequireDefault(require("./useHooks"));
|
|
|
34
48
|
|
|
35
49
|
var _useGetRequest = _interopRequireDefault(require("./useGetRequest"));
|
|
36
50
|
|
|
37
|
-
var _useRefData =
|
|
51
|
+
var _useRefData = _interopRequireWildcard(require("./useRefData"));
|
|
52
|
+
|
|
53
|
+
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); }
|
|
54
|
+
|
|
55
|
+
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; }
|
|
38
56
|
|
|
39
57
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/dist/hooks/useHooks.js
CHANGED
|
@@ -4,11 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.resetHooks = exports.removeHook = exports.default = exports.addHook = exports.ALLOWED_HOOKS = void 0;
|
|
7
|
-
var ALLOWED_HOOKS = ['
|
|
7
|
+
var ALLOWED_HOOKS = ['onFormComplete', 'onFormLoad', 'onGetComponent', 'onPageChange', 'onRequest', 'onSubmit'];
|
|
8
8
|
exports.ALLOWED_HOOKS = ALLOWED_HOOKS;
|
|
9
9
|
var DEFAULT_HOOKS = {
|
|
10
10
|
onFormComplete: function onFormComplete() {},
|
|
11
11
|
onFormLoad: function onFormLoad() {},
|
|
12
|
+
onGetComponent: function onGetComponent(config, wrap) {
|
|
13
|
+
return null;
|
|
14
|
+
},
|
|
12
15
|
onPageChange: function onPageChange(pageId) {
|
|
13
16
|
return pageId;
|
|
14
17
|
},
|
|
@@ -22,6 +25,7 @@ var DEFAULT_HOOKS = {
|
|
|
22
25
|
var hooks = {
|
|
23
26
|
onFormComplete: DEFAULT_HOOKS.onFormComplete,
|
|
24
27
|
onFormLoad: DEFAULT_HOOKS.onFormLoad,
|
|
28
|
+
onGetComponent: DEFAULT_HOOKS.onGetComponent,
|
|
25
29
|
onPageChange: DEFAULT_HOOKS.onPageChange,
|
|
26
30
|
onRequest: DEFAULT_HOOKS.onRequest,
|
|
27
31
|
onSubmit: DEFAULT_HOOKS.onSubmit
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "eventAtTheBorder",
|
|
3
|
+
"version": "1",
|
|
4
|
+
"name": "Event at the border",
|
|
5
|
+
"title": "Event at the border",
|
|
6
|
+
"type": "task-list",
|
|
7
|
+
"components": [
|
|
8
|
+
{
|
|
9
|
+
"id": "firstName",
|
|
10
|
+
"fieldId": "firstName",
|
|
11
|
+
"label": "First name",
|
|
12
|
+
"type": "text",
|
|
13
|
+
"required": true
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"id": "surname",
|
|
17
|
+
"fieldId": "surname",
|
|
18
|
+
"label": "Last name",
|
|
19
|
+
"type": "text",
|
|
20
|
+
"required": true
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "date",
|
|
24
|
+
"fieldId": "date",
|
|
25
|
+
"label": "Date",
|
|
26
|
+
"type": "date",
|
|
27
|
+
"required": true
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "officerName",
|
|
31
|
+
"fieldId": "officerName",
|
|
32
|
+
"label": "Officer Name",
|
|
33
|
+
"type": "text"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "immigrationDate",
|
|
37
|
+
"fieldId": "immigrationDate",
|
|
38
|
+
"label": "Immigration Date",
|
|
39
|
+
"type": "date",
|
|
40
|
+
"required": true
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "mode",
|
|
44
|
+
"fieldId": "mode",
|
|
45
|
+
"label": "Mode",
|
|
46
|
+
"type": "radios",
|
|
47
|
+
"data": {
|
|
48
|
+
"options": [
|
|
49
|
+
{
|
|
50
|
+
"value": "sea",
|
|
51
|
+
"label": "Sea"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"value": "air",
|
|
55
|
+
"label": "Air"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"required": true
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"pages": [
|
|
63
|
+
{
|
|
64
|
+
"id": "eventDate",
|
|
65
|
+
"name": "eventDate",
|
|
66
|
+
"title": "Event Date",
|
|
67
|
+
"components": [
|
|
68
|
+
{
|
|
69
|
+
"use": "date"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"actions": [
|
|
73
|
+
{
|
|
74
|
+
"type": "saveAndNavigate",
|
|
75
|
+
"page": "eventMode"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"cya_link": {
|
|
79
|
+
"page": "eventDate",
|
|
80
|
+
"aria_suffix": "Event Date"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "eventMode",
|
|
85
|
+
"name": "eventMode",
|
|
86
|
+
"title": "Event Mode",
|
|
87
|
+
"components": [
|
|
88
|
+
{
|
|
89
|
+
"use": "mode"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"actions": [
|
|
93
|
+
{
|
|
94
|
+
"type": "saveAndNavigate",
|
|
95
|
+
"page": "cya"
|
|
96
|
+
}
|
|
97
|
+
],
|
|
98
|
+
"cya_link": {
|
|
99
|
+
"page": "eventMode",
|
|
100
|
+
"aria_suffix": "Event Mode"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "officeDetails",
|
|
105
|
+
"name": "officeDetails",
|
|
106
|
+
"title": "Officer Details",
|
|
107
|
+
"components": [
|
|
108
|
+
{
|
|
109
|
+
"use": "officerName"
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"actions": [
|
|
113
|
+
{
|
|
114
|
+
"type": "saveAndNavigate",
|
|
115
|
+
"page": "cya"
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
"cya_link": {
|
|
119
|
+
"page": "officeDetails",
|
|
120
|
+
"aria_suffix": "Officer Details"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"id": "immigrationDate",
|
|
125
|
+
"name": "immigrationDate",
|
|
126
|
+
"title": "Immigration Date",
|
|
127
|
+
"components": [
|
|
128
|
+
{
|
|
129
|
+
"use": "immigrationDate"
|
|
130
|
+
}
|
|
131
|
+
],
|
|
132
|
+
"actions": [
|
|
133
|
+
{
|
|
134
|
+
"type": "saveAndNavigate",
|
|
135
|
+
"page": "cya"
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"cya_link": {
|
|
139
|
+
"page": "immigrationDate",
|
|
140
|
+
"aria_suffix": "Immigration Date"
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"id": "firstName",
|
|
145
|
+
"name": "firstName",
|
|
146
|
+
"title": "First Name",
|
|
147
|
+
"components": [
|
|
148
|
+
{
|
|
149
|
+
"use": "firstName"
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
"actions": [
|
|
153
|
+
{
|
|
154
|
+
"type": "saveAndNavigate",
|
|
155
|
+
"page": "surname"
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"cya_link": {
|
|
159
|
+
"page": "firstName",
|
|
160
|
+
"aria_suffix": "First Name"
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"id": "surname",
|
|
165
|
+
"name": "surname",
|
|
166
|
+
"title": "Surname",
|
|
167
|
+
"components": [
|
|
168
|
+
{
|
|
169
|
+
"use": "surname"
|
|
170
|
+
}
|
|
171
|
+
],
|
|
172
|
+
"actions": [
|
|
173
|
+
{
|
|
174
|
+
"type": "saveAndNavigate",
|
|
175
|
+
"page": "cya"
|
|
176
|
+
}
|
|
177
|
+
],
|
|
178
|
+
"cya_link": {
|
|
179
|
+
"page": "surname",
|
|
180
|
+
"aria_suffix": "Surname"
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
],
|
|
184
|
+
"hub": {
|
|
185
|
+
"format": "CYA",
|
|
186
|
+
"refTitle": "COP reference number",
|
|
187
|
+
"sections": [
|
|
188
|
+
{
|
|
189
|
+
"name": "Add event details",
|
|
190
|
+
"tasks": [
|
|
191
|
+
{
|
|
192
|
+
"name": "Date, location and mode details",
|
|
193
|
+
"pages": ["eventDate", "eventMode"],
|
|
194
|
+
"state": "complete"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "Officer and agency details",
|
|
198
|
+
"pages": ["officeDetails"],
|
|
199
|
+
"state": "inProgress"
|
|
200
|
+
}
|
|
201
|
+
]
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "Add people details",
|
|
205
|
+
"tasks": [
|
|
206
|
+
{
|
|
207
|
+
"name": "People details",
|
|
208
|
+
"pages": ["firstName", "surname"],
|
|
209
|
+
"state": "complete"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"name": "Immigration details",
|
|
213
|
+
"pages": ["immigrationDate"],
|
|
214
|
+
"state": "inProgress"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"name": "Journey details",
|
|
218
|
+
"pages": ["none"],
|
|
219
|
+
"state": "cannotStartYet"
|
|
220
|
+
}
|
|
221
|
+
]
|
|
222
|
+
}
|
|
223
|
+
]
|
|
224
|
+
},
|
|
225
|
+
"cya": {
|
|
226
|
+
"hide_page_titles": false
|
|
227
|
+
}
|
|
228
|
+
}
|