@ukhomeoffice/cop-react-form-renderer 5.62.1 → 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 +26 -17
- package/dist/components/CollectionSummary/SummaryCard.test.js +177 -146
- package/dist/components/CollectionSummary/SummaryCardDetails.js +16 -0
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +77 -8
- 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,6 +228,7 @@ 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
233
|
title: _propTypes.default.string,
|
|
223
234
|
details: _propTypes.default.string,
|
|
@@ -246,24 +257,22 @@ SummaryCard.propTypes = {
|
|
|
246
257
|
})).isRequired
|
|
247
258
|
}).isRequired,
|
|
248
259
|
classModifiers: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
|
|
249
|
-
|
|
260
|
+
onFullEdit: _propTypes.default.func,
|
|
250
261
|
onDelete: _propTypes.default.func,
|
|
251
262
|
onDuplicate: _propTypes.default.func,
|
|
252
263
|
onQuickEdit: _propTypes.default.func,
|
|
253
264
|
parentCollectionName: _propTypes.default.string.isRequired,
|
|
254
265
|
childCollections: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
255
266
|
formData: _propTypes.default.shape({}).isRequired,
|
|
256
|
-
hideDetails: _propTypes.default.bool
|
|
257
|
-
inError: _propTypes.default.bool
|
|
267
|
+
hideDetails: _propTypes.default.bool
|
|
258
268
|
};
|
|
259
269
|
SummaryCard.defaultProps = {
|
|
260
270
|
classModifiers: null,
|
|
261
|
-
|
|
271
|
+
onFullEdit: null,
|
|
262
272
|
onDelete: null,
|
|
263
273
|
onDuplicate: null,
|
|
264
274
|
onQuickEdit: null,
|
|
265
275
|
childCollections: [],
|
|
266
|
-
hideDetails: false
|
|
267
|
-
inError: false
|
|
276
|
+
hideDetails: false
|
|
268
277
|
};
|
|
269
278
|
var _default = exports.default = SummaryCard;
|