@ukhomeoffice/cop-react-form-renderer 5.62.2 → 5.65.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/CollectionSummary/BannerStrip.js +3 -2
- package/dist/components/CollectionSummary/BannerStrip.test.js +39 -4
- package/dist/components/CollectionSummary/CollectionSummary.js +71 -33
- package/dist/components/CollectionSummary/CollectionSummary.test.js +40 -80
- package/dist/components/CollectionSummary/RenderListView.js +9 -7
- package/dist/components/CollectionSummary/RenderListView.scss +4 -0
- package/dist/components/CollectionSummary/RenderListView.test.js +13 -4
- package/dist/components/CollectionSummary/SummaryCard.js +27 -21
- package/dist/components/CollectionSummary/SummaryCard.test.js +177 -146
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +15 -5
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +5 -4
- package/dist/components/FormRenderer/onPageAction.js +6 -1
- package/dist/components/FormRenderer/onPageAction.test.js +18 -4
- package/dist/context/ValidationContext/ValidationContext.js +51 -5
- package/dist/context/ValidationContext/ValidationContext.test.js +16 -7
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -1
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +17 -2
- package/dist/utils/Validate/validatePage.js +6 -1
- package/dist/utils/Validate/validatePage.test.js +44 -0
- package/package.json +1 -1
|
@@ -16,6 +16,7 @@ var _BannerStrip = _interopRequireDefault(require("./BannerStrip"));
|
|
|
16
16
|
var _RenderListView = _interopRequireDefault(require("./RenderListView"));
|
|
17
17
|
var _SummaryCardDetails = _interopRequireDefault(require("./SummaryCardDetails"));
|
|
18
18
|
require("./SummaryCard.scss");
|
|
19
|
+
var _excluded = ["isDuplicate"];
|
|
19
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
21
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -25,6 +26,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
25
26
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
26
27
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
27
28
|
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); }
|
|
29
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
30
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
28
31
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
29
32
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
30
33
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
@@ -49,7 +52,7 @@ var SummaryCard = function SummaryCard(_ref) {
|
|
|
49
52
|
entryData = _ref.entryData,
|
|
50
53
|
config = _ref.config,
|
|
51
54
|
classModifiers = _ref.classModifiers,
|
|
52
|
-
|
|
55
|
+
onFullEdit = _ref.onFullEdit,
|
|
53
56
|
onDelete = _ref.onDelete,
|
|
54
57
|
onDuplicate = _ref.onDuplicate,
|
|
55
58
|
onQuickEdit = _ref.onQuickEdit,
|
|
@@ -57,13 +60,12 @@ var SummaryCard = function SummaryCard(_ref) {
|
|
|
57
60
|
childCollections = _ref.childCollections,
|
|
58
61
|
formData = _ref.formData,
|
|
59
62
|
masterPage = _ref.masterPage,
|
|
60
|
-
hideDetails = _ref.hideDetails
|
|
61
|
-
inError = _ref.inError;
|
|
63
|
+
hideDetails = _ref.hideDetails;
|
|
62
64
|
var _useState = (0, _react.useState)(false),
|
|
63
65
|
_useState2 = _slicedToArray(_useState, 2),
|
|
64
66
|
quickEdit = _useState2[0],
|
|
65
67
|
setQuickEdit = _useState2[1];
|
|
66
|
-
var classes = _copReactComponents.Utils.classBuilder(DEFAULT_CLASS, classModifiers,
|
|
68
|
+
var classes = _copReactComponents.Utils.classBuilder(DEFAULT_CLASS, classModifiers, config.className);
|
|
67
69
|
var quickEditPage = (0, _react.useMemo)(function () {
|
|
68
70
|
return config.quickEdit ? (0, _getQuickEditPage.default)(masterPage, entryData) : null;
|
|
69
71
|
}, [masterPage, config, entryData, quickEdit]);
|
|
@@ -73,12 +75,13 @@ var SummaryCard = function SummaryCard(_ref) {
|
|
|
73
75
|
var _useValidation = (0, _hooks.useValidation)(),
|
|
74
76
|
addErrors = _useValidation.addErrors,
|
|
75
77
|
resetQuickEditErrors = _useValidation.resetQuickEditErrors,
|
|
78
|
+
clearTopLevelErrorsForCard = _useValidation.clearTopLevelErrorsForCard,
|
|
76
79
|
validate = _useValidation.validate;
|
|
77
80
|
var _useHooks = (0, _hooks.useHooks)(),
|
|
78
81
|
hooks = _useHooks.hooks;
|
|
79
82
|
var _onAction = /*#__PURE__*/function () {
|
|
80
83
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(action, patch) {
|
|
81
|
-
var errors, hookErrors, allErrors, allData;
|
|
84
|
+
var errors, hookErrors, allErrors, allData, _allData$entryData$in, isDuplicate, newEntry;
|
|
82
85
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
83
86
|
while (1) switch (_context.prev = _context.next) {
|
|
84
87
|
case 0:
|
|
@@ -112,8 +115,14 @@ var SummaryCard = function SummaryCard(_ref) {
|
|
|
112
115
|
// Save data assuming no errors
|
|
113
116
|
allErrors = errors.concat(hookErrors);
|
|
114
117
|
if (allErrors.length === 0 || allErrors.length === 1 && allErrors[0] === undefined) {
|
|
115
|
-
|
|
116
|
-
|
|
118
|
+
// Now that validation has passed with no errors - from the page or
|
|
119
|
+
// the hook - we want to remove any errors for this
|
|
120
|
+
// entry from the top-level validation context too.
|
|
121
|
+
clearTopLevelErrorsForCard();
|
|
122
|
+
allData = _utils.default.CollectionPage.getData(parentCollectionName, formData); // Pull out the isDuplicate flag if one exists as we want
|
|
123
|
+
// to remove it now that the entry has been edited.
|
|
124
|
+
_allData$entryData$in = allData[entryData.index], isDuplicate = _allData$entryData$in.isDuplicate, newEntry = _objectWithoutProperties(_allData$entryData$in, _excluded);
|
|
125
|
+
allData[entryData.index] = _objectSpread(_objectSpread({}, newEntry), patch);
|
|
117
126
|
onQuickEdit({
|
|
118
127
|
target: {
|
|
119
128
|
name: parentCollectionName,
|
|
@@ -141,9 +150,10 @@ var SummaryCard = function SummaryCard(_ref) {
|
|
|
141
150
|
id: id,
|
|
142
151
|
entryData: entryData,
|
|
143
152
|
config: config,
|
|
144
|
-
|
|
153
|
+
onFullEdit: onFullEdit,
|
|
145
154
|
onDelete: onDelete,
|
|
146
|
-
masterPage: masterPage
|
|
155
|
+
masterPage: masterPage,
|
|
156
|
+
classModifiers: classModifiers
|
|
147
157
|
});
|
|
148
158
|
}
|
|
149
159
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -174,11 +184,11 @@ var SummaryCard = function SummaryCard(_ref) {
|
|
|
174
184
|
},
|
|
175
185
|
classModifiers: "primary",
|
|
176
186
|
disabled: quickEdit
|
|
177
|
-
}, DEFAULT_EDIT_LABEL), config.changeAction && typeof
|
|
187
|
+
}, DEFAULT_EDIT_LABEL), config.changeAction && typeof onFullEdit === 'function' && /*#__PURE__*/_react.default.createElement(_copReactComponents.Button, {
|
|
178
188
|
id: "".concat(id, ".changeButton"),
|
|
179
189
|
onClick: function onClick() {
|
|
180
190
|
var _config$changeAction;
|
|
181
|
-
return
|
|
191
|
+
return onFullEdit((_config$changeAction = config.changeAction) === null || _config$changeAction === void 0 ? void 0 : _config$changeAction.page, entryData.id);
|
|
182
192
|
},
|
|
183
193
|
classModifiers: ((_config$changeAction2 = config.changeAction) === null || _config$changeAction2 === void 0 ? void 0 : _config$changeAction2.classModifiers) || DEFAULT_CHANGE_BUTTON_CLASS
|
|
184
194
|
}, ((_config$changeAction3 = config.changeAction) === null || _config$changeAction3 === void 0 ? void 0 : _config$changeAction3.label) || DEFAULT_CHANGE_BUTTON_LABEL), config.deleteAction && typeof onDelete === 'function' && /*#__PURE__*/_react.default.createElement(_copReactComponents.Button, {
|
|
@@ -218,11 +228,9 @@ SummaryCard.propTypes = {
|
|
|
218
228
|
index: _propTypes.default.number.isRequired
|
|
219
229
|
}).isRequired,
|
|
220
230
|
config: _propTypes.default.shape({
|
|
231
|
+
className: _propTypes.default.string,
|
|
221
232
|
banners: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({})])),
|
|
222
|
-
title: _propTypes.default.
|
|
223
|
-
title: _propTypes.default.string,
|
|
224
|
-
show_when: _propTypes.default.arrayOf({})
|
|
225
|
-
}))]),
|
|
233
|
+
title: _propTypes.default.string,
|
|
226
234
|
details: _propTypes.default.string,
|
|
227
235
|
changeAction: _propTypes.default.shape({
|
|
228
236
|
label: _propTypes.default.string,
|
|
@@ -249,24 +257,22 @@ SummaryCard.propTypes = {
|
|
|
249
257
|
})).isRequired
|
|
250
258
|
}).isRequired,
|
|
251
259
|
classModifiers: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
|
|
252
|
-
|
|
260
|
+
onFullEdit: _propTypes.default.func,
|
|
253
261
|
onDelete: _propTypes.default.func,
|
|
254
262
|
onDuplicate: _propTypes.default.func,
|
|
255
263
|
onQuickEdit: _propTypes.default.func,
|
|
256
264
|
parentCollectionName: _propTypes.default.string.isRequired,
|
|
257
265
|
childCollections: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
258
266
|
formData: _propTypes.default.shape({}).isRequired,
|
|
259
|
-
hideDetails: _propTypes.default.bool
|
|
260
|
-
inError: _propTypes.default.bool
|
|
267
|
+
hideDetails: _propTypes.default.bool
|
|
261
268
|
};
|
|
262
269
|
SummaryCard.defaultProps = {
|
|
263
270
|
classModifiers: null,
|
|
264
|
-
|
|
271
|
+
onFullEdit: null,
|
|
265
272
|
onDelete: null,
|
|
266
273
|
onDuplicate: null,
|
|
267
274
|
onQuickEdit: null,
|
|
268
275
|
childCollections: [],
|
|
269
|
-
hideDetails: false
|
|
270
|
-
inError: false
|
|
276
|
+
hideDetails: false
|
|
271
277
|
};
|
|
272
278
|
var _default = exports.default = SummaryCard;
|