@ukhomeoffice/cop-react-form-renderer 5.11.0-bravo → 5.12.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/Collection.test.js +1 -2
- package/dist/components/FormRenderer/FormRenderer.test.js +1 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +0 -1
- package/dist/utils/Component/getDefaultValue.js +9 -3
- package/dist/utils/Component/getDefaultValue.test.js +12 -0
- package/dist/utils/Data/setupRefDataUrlForComponent.js +2 -1
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +18 -0
- package/package.json +2 -2
|
@@ -390,12 +390,11 @@ describe('components.FormComponent.Collection', function () {
|
|
|
390
390
|
expect(hint.classList).toContain('govuk-hint');
|
|
391
391
|
expect(hint.textContent).toEqual(TEXT_COMPONENT.hint);
|
|
392
392
|
input = formGroup.childNodes[2];
|
|
393
|
-
_react.screen.debug();
|
|
394
393
|
expect(input.tagName).toEqual('DIV'); // Now readonly, so a DIV.
|
|
395
394
|
expect(input.classList).toContain('hods-readonly'); // Now readonly, so hods-readonly
|
|
396
395
|
expect(input.dataset.id).toEqual("".concat(ID, "[0].").concat(TEXT_ID));
|
|
397
396
|
expect(input.textContent).toEqual(TEXT_VALUE);
|
|
398
|
-
case
|
|
397
|
+
case 30:
|
|
399
398
|
case "end":
|
|
400
399
|
return _context9.stop();
|
|
401
400
|
}
|
|
@@ -552,13 +552,9 @@ describe('components', function () {
|
|
|
552
552
|
})));
|
|
553
553
|
case 7:
|
|
554
554
|
taskList = container.childNodes[0].childNodes[1];
|
|
555
|
-
taskList.childNodes.forEach(function (child) {
|
|
556
|
-
// eslint-disable-next-line no-console
|
|
557
|
-
console.log("taskList, child = ".concat(JSON.stringify(child.textContent)));
|
|
558
|
-
});
|
|
559
555
|
expect(taskList.childNodes[5].textContent).not.toEqual("test text");
|
|
560
556
|
expect(taskList.childNodes[5].classList).not.toContain('govuk-textarea');
|
|
561
|
-
case
|
|
557
|
+
case 10:
|
|
562
558
|
case "end":
|
|
563
559
|
return _context22.stop();
|
|
564
560
|
}
|
|
@@ -9,7 +9,6 @@ var _Component = _interopRequireDefault(require("../Component"));
|
|
|
9
9
|
var _Container = _interopRequireDefault(require("../Container"));
|
|
10
10
|
var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
/* eslint-disable no-console */
|
|
13
12
|
// Local imports
|
|
14
13
|
|
|
15
14
|
var EXCLUDE_FROM_CYA = [_models.ComponentTypes.ALERT, _models.ComponentTypes.HEADING, _models.ComponentTypes.HTML, _models.ComponentTypes.INSET_TEXT];
|
|
@@ -12,10 +12,16 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
|
|
|
12
12
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
13
13
|
var DEFAULT_VALUES = (_DEFAULT_VALUES = {}, _defineProperty(_DEFAULT_VALUES, _models.ComponentTypes.COLLECTION, []), _defineProperty(_DEFAULT_VALUES, _models.ComponentTypes.CONTAINER, {}), _defineProperty(_DEFAULT_VALUES, _models.ComponentTypes.FILE, {}), _DEFAULT_VALUES);
|
|
14
14
|
var getDefaultValue = function getDefaultValue(component) {
|
|
15
|
-
if (component) {
|
|
16
|
-
return
|
|
15
|
+
if (!component) {
|
|
16
|
+
return '';
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
if ('defaultValue' in component) {
|
|
19
|
+
return component.defaultValue;
|
|
20
|
+
}
|
|
21
|
+
if ('defaultObjectValue' in component) {
|
|
22
|
+
return component.defaultObjectValue;
|
|
23
|
+
}
|
|
24
|
+
return DEFAULT_VALUES[component.type] || '';
|
|
19
25
|
};
|
|
20
26
|
var _default = getDefaultValue;
|
|
21
27
|
exports.default = _default;
|
|
@@ -38,6 +38,18 @@ describe('utils.Component.defaultValue', function () {
|
|
|
38
38
|
type: _models.ComponentTypes.FILE
|
|
39
39
|
})).toEqual({});
|
|
40
40
|
});
|
|
41
|
+
it('should return defaultValue if the component has defaultValue prop', function () {
|
|
42
|
+
expect((0, _getDefaultValue.default)({
|
|
43
|
+
type: _models.ComponentTypes.AUTOCOMPLETE,
|
|
44
|
+
defaultValue: 'test'
|
|
45
|
+
})).toEqual('test');
|
|
46
|
+
});
|
|
47
|
+
it('should return defaultObjectValue if the component has defaultObjectValue prop', function () {
|
|
48
|
+
expect((0, _getDefaultValue.default)({
|
|
49
|
+
type: _models.ComponentTypes.AUTOCOMPLETE,
|
|
50
|
+
defaultObjectValue: 'test'
|
|
51
|
+
})).toEqual('test');
|
|
52
|
+
});
|
|
41
53
|
Object.values(_models.ComponentTypes).forEach(function (value) {
|
|
42
54
|
if (![_models.ComponentTypes.COLLECTION, _models.ComponentTypes.CONTAINER, _models.ComponentTypes.FILE].includes(value)) {
|
|
43
55
|
it("should return an empty object if the component type is '".concat(value, "'"), function () {
|
|
@@ -29,6 +29,7 @@ var setupRefDataUrlForComponents = function setupRefDataUrlForComponents(compone
|
|
|
29
29
|
};
|
|
30
30
|
var setupRefDataUrlForComponent = function setupRefDataUrlForComponent(component, data) {
|
|
31
31
|
if (component) {
|
|
32
|
+
var _component$data, _component$data2;
|
|
32
33
|
if (component.type === _models.ComponentTypes.CONTAINER) {
|
|
33
34
|
return setupRefDataForContainer(component, data);
|
|
34
35
|
}
|
|
@@ -38,7 +39,7 @@ var setupRefDataUrlForComponent = function setupRefDataUrlForComponent(component
|
|
|
38
39
|
if (component.type === _models.ComponentTypes.SELECT) {
|
|
39
40
|
return component;
|
|
40
41
|
}
|
|
41
|
-
if (component.data && component.data.
|
|
42
|
+
if ((_component$data = component.data) !== null && _component$data !== void 0 && _component$data.url && !((_component$data2 = component.data) !== null && _component$data2 !== void 0 && _component$data2.skipUrlInterpolation)) {
|
|
42
43
|
return _objectSpread(_objectSpread({}, component), {}, {
|
|
43
44
|
data: _objectSpread(_objectSpread({}, component.data), {}, {
|
|
44
45
|
url: _copReactComponents.Utils.interpolateString(component.data.url, data)
|
|
@@ -126,6 +126,24 @@ describe('utils', function () {
|
|
|
126
126
|
}]
|
|
127
127
|
});
|
|
128
128
|
});
|
|
129
|
+
it('should not update the component URL when skipUrlInterpolation prop is true', function () {
|
|
130
|
+
var COMPONENT = {
|
|
131
|
+
id: 'component',
|
|
132
|
+
data: {
|
|
133
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
134
|
+
url: '${urls.refData}/v1/teams',
|
|
135
|
+
skipUrlInterpolation: true
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
expect((0, _setupRefDataUrlForComponent.default)(COMPONENT, DATA)).toEqual({
|
|
139
|
+
id: COMPONENT.id,
|
|
140
|
+
data: {
|
|
141
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
142
|
+
url: '${urls.refData}/v1/teams',
|
|
143
|
+
skipUrlInterpolation: true
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
});
|
|
129
147
|
});
|
|
130
148
|
});
|
|
131
149
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ukhomeoffice/cop-react-form-renderer",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.12.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"scripts": {
|
|
6
6
|
"clean": "rimraf dist",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"post-compile": "rimraf dist/*.test.* dist/**/*.test.* dist/**/*.stories.* dist/docs dist/assets"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@ukhomeoffice/cop-react-components": "3.4.0
|
|
19
|
+
"@ukhomeoffice/cop-react-components": "^3.4.0",
|
|
20
20
|
"axios": "^0.23.0",
|
|
21
21
|
"dayjs": "^1.11.0",
|
|
22
22
|
"govuk-frontend": "^4.3.1",
|