@ukhomeoffice/cop-react-form-renderer 2.2.0 → 2.6.1-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.
Files changed (88) hide show
  1. package/dist/components/FormComponent/Container.test.js +250 -0
  2. package/dist/components/FormComponent/FormComponent.js +101 -22
  3. package/dist/components/FormPage/FormPage.js +2 -1
  4. package/dist/components/FormRenderer/FormRenderer.js +105 -6
  5. package/dist/components/FormRenderer/FormRenderer.test.js +235 -0
  6. package/dist/components/FormRenderer/helpers/getNextPageId.js +3 -0
  7. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +6 -0
  8. package/dist/components/FormRenderer/helpers/getPage.js +1 -1
  9. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +18 -1
  10. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +44 -6
  11. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +50 -0
  12. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +122 -0
  13. package/dist/components/FormRenderer/helpers/index.js +7 -1
  14. package/dist/components/TaskList/Task.js +83 -0
  15. package/dist/components/TaskList/Task.test.js +112 -0
  16. package/dist/components/TaskList/TaskList.js +112 -0
  17. package/dist/components/TaskList/TaskList.scss +70 -0
  18. package/dist/components/TaskList/TaskList.stories.mdx +57 -0
  19. package/dist/components/TaskList/TaskList.test.js +223 -0
  20. package/dist/components/TaskList/TaskState.js +42 -0
  21. package/dist/components/TaskList/TaskState.test.js +99 -0
  22. package/dist/components/TaskList/index.js +13 -0
  23. package/dist/hooks/index.js +19 -1
  24. package/dist/json/taskList.json +228 -0
  25. package/dist/json/userProfile.data.json +2 -1
  26. package/dist/models/ComponentTypes.js +5 -1
  27. package/dist/models/FormTypes.js +2 -0
  28. package/dist/models/HubFormats.js +3 -1
  29. package/dist/models/PageAction.js +5 -0
  30. package/dist/models/TaskStates.js +41 -0
  31. package/dist/models/index.js +8 -0
  32. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +40 -0
  33. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +257 -0
  34. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +9 -1
  35. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +44 -0
  36. package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -0
  37. package/dist/utils/Component/cleanAttributes.js +1 -1
  38. package/dist/utils/Component/getComponent.js +8 -0
  39. package/dist/utils/Component/isEditable.js +1 -1
  40. package/dist/utils/Component/showComponent.js +2 -20
  41. package/dist/utils/Condition/index.js +19 -0
  42. package/dist/utils/Condition/meetsAllConditions.js +40 -0
  43. package/dist/utils/Condition/meetsAllConditions.test.js +62 -0
  44. package/dist/utils/{meetsCondition.js → Condition/meetsCondition.js} +0 -0
  45. package/dist/utils/Condition/meetsCondition.test.js +302 -0
  46. package/dist/utils/Condition/setupConditions.js +47 -0
  47. package/dist/utils/Condition/setupConditions.test.js +35 -0
  48. package/dist/utils/Container/getEditableComponents.js +38 -0
  49. package/dist/utils/Container/getEditableComponents.test.js +157 -0
  50. package/dist/utils/Container/index.js +22 -0
  51. package/dist/utils/Container/setupNesting.js +45 -0
  52. package/dist/utils/Container/setupNesting.test.js +92 -0
  53. package/dist/utils/Container/showContainer.js +61 -0
  54. package/dist/utils/Container/showContainer.test.js +128 -0
  55. package/dist/utils/Data/getDataPath.js +90 -0
  56. package/dist/utils/Data/getDataPath.test.js +52 -0
  57. package/dist/utils/Data/index.js +3 -0
  58. package/dist/utils/FormPage/getFormPage.js +4 -2
  59. package/dist/utils/FormPage/getFormPage.test.js +18 -7
  60. package/dist/utils/FormPage/getFormPages.test.js +5 -2
  61. package/dist/utils/FormPage/getPageActions.js +6 -0
  62. package/dist/utils/FormPage/index.js +0 -3
  63. package/dist/utils/FormPage/showFormPage.js +7 -27
  64. package/dist/utils/Hub/getFormHub.js +4 -0
  65. package/dist/utils/Hub/getFormHub.test.js +15 -4
  66. package/dist/utils/Validate/additional/index.js +55 -0
  67. package/dist/utils/Validate/additional/index.test.js +69 -0
  68. package/dist/utils/Validate/additional/mustBeAfter.js +37 -0
  69. package/dist/utils/Validate/additional/mustBeAfter.test.js +98 -0
  70. package/dist/utils/Validate/additional/mustBeBefore.js +35 -0
  71. package/dist/utils/Validate/additional/mustBeBefore.test.js +66 -0
  72. package/dist/utils/Validate/additional/mustBeInTheFuture.js +42 -0
  73. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +34 -0
  74. package/dist/utils/Validate/additional/mustBeInThePast.js +44 -0
  75. package/dist/utils/Validate/additional/mustBeInThePast.test.js +34 -0
  76. package/dist/utils/Validate/additional/utils.js +66 -0
  77. package/dist/utils/Validate/index.js +7 -1
  78. package/dist/utils/Validate/validateComponent.js +57 -0
  79. package/dist/utils/Validate/validateComponent.test.js +92 -2
  80. package/dist/utils/Validate/validateDate.js +155 -0
  81. package/dist/utils/Validate/validateDate.test.js +118 -0
  82. package/dist/utils/Validate/validatePage.js +6 -8
  83. package/dist/utils/Validate/validateTime.js +95 -0
  84. package/dist/utils/Validate/validateTime.test.js +61 -0
  85. package/dist/utils/index.js +6 -3
  86. package/package.json +5 -4
  87. package/dist/utils/FormPage/getEditableComponents.js +0 -28
  88. package/dist/utils/FormPage/getEditableComponents.test.js +0 -75
@@ -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;
@@ -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 = _interopRequireDefault(require("./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 }; }
@@ -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
+ }
@@ -10,5 +10,6 @@
10
10
  "userDetails": {
11
11
  "linemanagerEmail": "line.manager@digital.homeoffice.gov.uk",
12
12
  "delegateEmails": "del.egate@digital.homeoffice.gov.uk"
13
- }
13
+ },
14
+ "businessKey": "123456789"
14
15
  }
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var TYPE_AUTOCOMPLETE = 'autocomplete';
8
8
  var TYPE_CHECKBOXES = 'checkboxes';
9
+ var TYPE_CONTAINER = 'container';
9
10
  var TYPE_DATE = 'date';
10
11
  var TYPE_EMAIL = 'email';
11
12
  var TYPE_HEADING = 'heading';
@@ -15,9 +16,11 @@ var TYPE_PHONE_NUMBER = 'phone-number';
15
16
  var TYPE_RADIOS = 'radios';
16
17
  var TYPE_TEXT = 'text';
17
18
  var TYPE_TEXT_AREA = 'textarea';
19
+ var TYPE_TIME = 'time';
18
20
  var ComponentTypes = {
19
21
  AUTOCOMPLETE: TYPE_AUTOCOMPLETE,
20
22
  CHECKBOXES: TYPE_CHECKBOXES,
23
+ CONTAINER: TYPE_CONTAINER,
21
24
  DATE: TYPE_DATE,
22
25
  EMAIL: TYPE_EMAIL,
23
26
  HEADING: TYPE_HEADING,
@@ -26,7 +29,8 @@ var ComponentTypes = {
26
29
  PHONE_NUMBER: TYPE_PHONE_NUMBER,
27
30
  RADIOS: TYPE_RADIOS,
28
31
  TEXT: TYPE_TEXT,
29
- TEXT_AREA: TYPE_TEXT_AREA
32
+ TEXT_AREA: TYPE_TEXT_AREA,
33
+ TIME: TYPE_TIME
30
34
  };
31
35
  var _default = ComponentTypes;
32
36
  exports.default = _default;
@@ -7,11 +7,13 @@ exports.default = void 0;
7
7
  var TYPE_FORM = 'form';
8
8
  var TYPE_CHECK_YOUR_ANSWERS = 'cya';
9
9
  var TYPE_HUB_AND_SPOKE = 'hub-and-spoke';
10
+ var TYPE_TASK_LIST = 'task-list';
10
11
  var TYPE_WIZARD = 'wizard';
11
12
  var FormTypes = {
12
13
  FORM: TYPE_FORM,
13
14
  CYA: TYPE_CHECK_YOUR_ANSWERS,
14
15
  HUB: TYPE_HUB_AND_SPOKE,
16
+ TASK: TYPE_TASK_LIST,
15
17
  WIZARD: TYPE_WIZARD
16
18
  };
17
19
  var _default = FormTypes;
@@ -5,8 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var HUB_FORMAT_CYA = 'CYA';
8
+ var HUB_FORMAT_TASK = 'TASK';
8
9
  var HubFormats = {
9
- CYA: HUB_FORMAT_CYA
10
+ CYA: HUB_FORMAT_CYA,
11
+ TASK: HUB_FORMAT_TASK
10
12
  };
11
13
  var _default = HubFormats;
12
14
  exports.default = _default;
@@ -11,11 +11,13 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
11
11
 
12
12
  var TYPE_NAVIGATE = 'navigate';
13
13
  var TYPE_SAVE_AND_CONTINUE = 'saveAndContinue';
14
+ var TYPE_SAVE_AND_NAVIGATE = 'saveAndNavigate';
14
15
  var TYPE_SAVE_AND_RETURN = 'saveAndReturn';
15
16
  var TYPE_SUBMIT = 'submit';
16
17
  var PageActionTypes = {
17
18
  NAVIGATE: TYPE_NAVIGATE,
18
19
  SAVE_AND_CONTINUE: TYPE_SAVE_AND_CONTINUE,
20
+ SAVE_AND_NAVIGATE: TYPE_SAVE_AND_NAVIGATE,
19
21
  SAVE_AND_RETURN: TYPE_SAVE_AND_RETURN,
20
22
  SUBMIT: TYPE_SUBMIT
21
23
  };
@@ -24,6 +26,9 @@ var DefaultPageActions = (_DefaultPageActions = {}, _defineProperty(_DefaultPage
24
26
  type: TYPE_SAVE_AND_CONTINUE,
25
27
  validate: true,
26
28
  label: 'Save and continue'
29
+ }), _defineProperty(_DefaultPageActions, TYPE_SAVE_AND_NAVIGATE, {
30
+ type: TYPE_SAVE_AND_NAVIGATE,
31
+ validate: true
27
32
  }), _defineProperty(_DefaultPageActions, TYPE_SAVE_AND_RETURN, {
28
33
  type: TYPE_SAVE_AND_RETURN,
29
34
  validate: false,
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.StateTypes = void 0;
7
+
8
+ var _StateDetails;
9
+
10
+ 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; }
11
+
12
+ var TYPE_COMPLETE = 'complete';
13
+ var TYPE_IN_PROGRESS = 'inProgress';
14
+ var TYPE_NOT_STARTED = 'notStarted';
15
+ var TYPE_CANNOT_START_YET = 'cannotStartYet';
16
+ var StateTypes = {
17
+ COMPLETE: TYPE_COMPLETE,
18
+ IN_PROGRESS: TYPE_IN_PROGRESS,
19
+ NOT_STARTED: TYPE_NOT_STARTED,
20
+ CANNOT_START_YET: TYPE_CANNOT_START_YET
21
+ };
22
+ exports.StateTypes = StateTypes;
23
+ var StateDetails = (_StateDetails = {}, _defineProperty(_StateDetails, TYPE_COMPLETE, {
24
+ label: 'Completed',
25
+ colour: ''
26
+ }), _defineProperty(_StateDetails, TYPE_IN_PROGRESS, {
27
+ label: 'In Progress',
28
+ colour: 'blue'
29
+ }), _defineProperty(_StateDetails, TYPE_NOT_STARTED, {
30
+ label: 'Not Started',
31
+ colour: 'grey'
32
+ }), _defineProperty(_StateDetails, TYPE_CANNOT_START_YET, {
33
+ label: 'Cannot Start Yet',
34
+ colour: 'grey'
35
+ }), _StateDetails);
36
+ var TaskStates = {
37
+ TYPES: StateTypes,
38
+ DETAILS: StateDetails
39
+ };
40
+ var _default = TaskStates;
41
+ exports.default = _default;
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "PageAction", {
39
39
  return _PageAction.default;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "TaskStates", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _TaskStates.default;
46
+ }
47
+ });
42
48
 
43
49
  var _ComponentTypes = _interopRequireDefault(require("./ComponentTypes"));
44
50
 
@@ -52,4 +58,6 @@ var _HubFormats = _interopRequireDefault(require("./HubFormats"));
52
58
 
53
59
  var _PageAction = _interopRequireDefault(require("./PageAction"));
54
60
 
61
+ var _TaskStates = _interopRequireDefault(require("./TaskStates"));
62
+
55
63
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _models = require("../../models");
9
+
10
+ var _getCYARow = _interopRequireDefault(require("./getCYARow"));
11
+
12
+ var _showComponentCYA = _interopRequireDefault(require("./showComponentCYA"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
17
+
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
+
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
+
22
+ var getCYARowsForContainer = function getCYARowsForContainer(page, container, formData, onAction) {
23
+ if ((0, _showComponentCYA.default)(container, page.formData)) {
24
+ return container.components.filter(function (c) {
25
+ return (0, _showComponentCYA.default)(c, page.formData);
26
+ }).flatMap(function (component) {
27
+ if (component.type === _models.ComponentTypes.CONTAINER) {
28
+ var fd = formData ? formData[component.fieldId] : undefined;
29
+ return getCYARowsForContainer(page, component, fd, onAction);
30
+ }
31
+
32
+ return (0, _getCYARow.default)(_objectSpread(_objectSpread({}, page), {}, {
33
+ formData: formData
34
+ }), component, onAction);
35
+ });
36
+ }
37
+ };
38
+
39
+ var _default = getCYARowsForContainer;
40
+ exports.default = _default;