@ukhomeoffice/cop-react-form-renderer 3.22.1 → 3.23.3

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.
@@ -9,7 +9,7 @@ var _models = require("../../../models");
9
9
 
10
10
  var slicePages = function slicePages(pages, currentPageId) {
11
11
  return pages.slice(0, pages.findIndex(function (p) {
12
- return p.pageId === currentPageId;
12
+ return p.id === currentPageId;
13
13
  }));
14
14
  };
15
15
 
@@ -12,26 +12,26 @@ describe('components', function () {
12
12
  describe('helpers', function () {
13
13
  describe('getRelevantPages', function () {
14
14
  var pages = [{
15
- pageId: 'page1'
15
+ id: 'page1'
16
16
  }, {
17
- pageId: 'page2'
17
+ id: 'page2'
18
18
  }, {
19
- pageId: 'page3'
19
+ id: 'page3'
20
20
  }, {
21
- pageId: 'page4'
21
+ id: 'page4'
22
22
  }, {
23
- pageId: 'page5'
23
+ id: 'page5'
24
24
  }];
25
25
  var taskListPages = [{
26
- pageId: 'taskPage1'
26
+ id: 'taskPage1'
27
27
  }, {
28
- pageId: 'taskPage2'
28
+ id: 'taskPage2'
29
29
  }, {
30
- pageId: 'taskPage3'
30
+ id: 'taskPage3'
31
31
  }, {
32
- pageId: 'taskPage4'
32
+ id: 'taskPage4'
33
33
  }, {
34
- pageId: 'taskPage5'
34
+ id: 'taskPage5'
35
35
  }];
36
36
  it('return all pages from the start of the given list to the current page outside of a task when the page type is partial-cya', function () {
37
37
  var formState = {
@@ -21,6 +21,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
 
24
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
+
24
26
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
25
27
 
26
28
  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."); }
@@ -34,7 +36,8 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
34
36
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
35
37
 
36
38
  var RowAction = function RowAction(_ref) {
37
- var row = _ref.row;
39
+ var row = _ref.row,
40
+ onClick = _ref.onClick;
38
41
 
39
42
  var _useState = (0, _react.useState)({}),
40
43
  _useState2 = _slicedToArray(_useState, 2),
@@ -49,7 +52,14 @@ var RowAction = function RowAction(_ref) {
49
52
  return null;
50
53
  }
51
54
 
52
- return /*#__PURE__*/_react.default.createElement(_copReactComponents.Link, attrs, row.action.label, row.action.aria_suffix && /*#__PURE__*/_react.default.createElement(_copReactComponents.VisuallyHidden, null, " ", row.action.aria_suffix));
55
+ return /*#__PURE__*/_react.default.createElement(_copReactComponents.Link, _extends({}, attrs, {
56
+ onKeyPress: function onKeyPress(event) {
57
+ if (event.key === 'Enter') {
58
+ row.action.onAction(row);
59
+ }
60
+ },
61
+ tabIndex: "0"
62
+ }), row.action.label, row.action.aria_suffix && /*#__PURE__*/_react.default.createElement(_copReactComponents.VisuallyHidden, null, " ", row.action.aria_suffix));
53
63
  };
54
64
 
55
65
  RowAction.propTypes = {
@@ -32,7 +32,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
32
32
  * @returns An array of configuration objects for Check your answers rows.
33
33
  */
34
34
  var getCYARowsForPage = function getCYARowsForPage(page, onAction) {
35
- if (_FormPage.default.show(page, page.formData)) {
35
+ if (_FormPage.default.showCYA(page, page.formData)) {
36
36
  var _page$groups;
37
37
 
38
38
  var rows = page.components.filter(function (c) {
@@ -11,12 +11,15 @@ var _getFormPages = _interopRequireDefault(require("./getFormPages"));
11
11
 
12
12
  var _showFormPage = _interopRequireDefault(require("./showFormPage"));
13
13
 
14
+ var _showFormPageCYA = _interopRequireDefault(require("./showFormPageCYA"));
15
+
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
17
 
16
18
  var FormPage = {
17
19
  get: _getFormPage.default,
18
20
  getAll: _getFormPages.default,
19
- show: _showFormPage.default
21
+ show: _showFormPage.default,
22
+ showCYA: _showFormPageCYA.default
20
23
  };
21
24
  var _default = FormPage;
22
25
  exports.default = _default;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _showFormPage = _interopRequireDefault(require("./showFormPage"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ /**
13
+ * Indicates whether or not a page should be shown on the CYA screen.
14
+ * @param {object} page The page to consider.
15
+ * @param {object} data The top-level form data.
16
+ * @returns Boolean true if the page should be shown; false if not.
17
+ */
18
+ var showFormPageCYA = function showFormPageCYA(page, data) {
19
+ if (page !== null && page !== void 0 && page.hasOwnProperty('show_on_cya') && !page.show_on_cya) {
20
+ return false;
21
+ }
22
+
23
+ return (0, _showFormPage.default)(page, data);
24
+ };
25
+
26
+ var _default = showFormPageCYA;
27
+ exports.default = _default;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ var _showFormPageCYA = _interopRequireDefault(require("./showFormPageCYA"));
4
+
5
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+
7
+ describe('utils.FormPage.showFormPageCYA', function () {
8
+ var DATA = {
9
+ alpha: 'Alpha',
10
+ bravo: 'Bravo'
11
+ };
12
+ it('should NOT be shown when the page is null', function () {
13
+ expect((0, _showFormPageCYA.default)(null, DATA)).toEqual(false);
14
+ });
15
+ it('should NOT be shown if the show_on_cya flag is false', function () {
16
+ var PAGE = {
17
+ show_on_cya: false
18
+ };
19
+ expect((0, _showFormPageCYA.default)(PAGE, DATA)).toEqual(false);
20
+ });
21
+ it('SHOULD be shown if the show_on_cya flag is true', function () {
22
+ var PAGE = {
23
+ show_on_cya: true
24
+ };
25
+ expect((0, _showFormPageCYA.default)(PAGE, DATA)).toEqual(true);
26
+ });
27
+ it('SHOULD be shown if the show_on_cya flag is missing', function () {
28
+ expect((0, _showFormPageCYA.default)({}, DATA)).toEqual(true);
29
+ });
30
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ukhomeoffice/cop-react-form-renderer",
3
- "version": "3.22.1",
3
+ "version": "3.23.3",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "clean": "rimraf dist",