@ukhomeoffice/cop-react-form-renderer 5.39.1 → 5.41.1
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/CheckYourAnswers/Answer.js +1 -2
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +4 -8
- package/dist/components/CheckYourAnswers/index.js +1 -2
- package/dist/components/CollectionPage/CollectionPage.js +2 -4
- package/dist/components/CollectionPage/index.js +1 -2
- package/dist/components/CollectionSummary/BannerStrip.js +2 -4
- package/dist/components/CollectionSummary/CollectionSummary.js +34 -11
- package/dist/components/CollectionSummary/Confirmation.js +4 -8
- package/dist/components/CollectionSummary/SummaryCard.js +30 -29
- package/dist/components/CollectionSummary/SummaryCard.scss +4 -0
- package/dist/components/CollectionSummary/SummaryCard.test.js +152 -101
- package/dist/components/CollectionSummary/index.js +1 -2
- package/dist/components/FormComponent/Collection.js +3 -5
- package/dist/components/FormComponent/Container.js +2 -4
- package/dist/components/FormComponent/FormComponent.js +1 -2
- package/dist/components/FormComponent/helpers/addLabel.js +1 -2
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -2
- package/dist/components/FormComponent/helpers/getComponentError.js +1 -2
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +2 -3
- package/dist/components/FormComponent/index.js +1 -2
- package/dist/components/FormPage/FormPage.js +2 -4
- package/dist/components/FormPage/index.js +1 -2
- package/dist/components/FormRenderer/FormRenderer.js +2 -4
- package/dist/components/FormRenderer/handlers/cyaAction.js +1 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -2
- package/dist/components/FormRenderer/handlers/index.js +1 -2
- package/dist/components/FormRenderer/handlers/navigate.js +1 -2
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -2
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -2
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -2
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +2 -3
- package/dist/components/FormRenderer/helpers/getCYA.js +1 -2
- package/dist/components/FormRenderer/helpers/getFormState.js +1 -2
- package/dist/components/FormRenderer/helpers/getNextPageId.js +2 -3
- package/dist/components/FormRenderer/helpers/getPage.js +1 -2
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +1 -2
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +1 -2
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +1 -2
- package/dist/components/FormRenderer/helpers/index.js +1 -2
- package/dist/components/FormRenderer/index.js +1 -2
- package/dist/components/FormRenderer/onCYAAction.js +1 -2
- package/dist/components/FormRenderer/onPageAction.js +1 -2
- package/dist/components/FormRenderer/onTaskAction.js +1 -2
- package/dist/components/PageActions/ActionButton.js +2 -4
- package/dist/components/PageActions/PageActions.js +1 -2
- package/dist/components/PageActions/index.js +1 -2
- package/dist/components/SummaryList/GroupAction.js +1 -2
- package/dist/components/SummaryList/RowAction.js +1 -2
- package/dist/components/SummaryList/SummaryList.js +2 -4
- package/dist/components/SummaryList/SummaryListHeadingRow.js +1 -2
- package/dist/components/SummaryList/SummaryListRow.js +1 -2
- package/dist/components/SummaryList/SummaryListTitleRow.js +1 -2
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +1 -2
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +1 -2
- package/dist/components/SummaryList/index.js +1 -2
- package/dist/components/TaskList/Task.js +2 -4
- package/dist/components/TaskList/TaskList.js +3 -6
- package/dist/components/TaskList/TaskState.js +2 -4
- package/dist/components/TaskList/index.js +1 -2
- package/dist/context/HooksContext/HooksContext.js +3 -6
- package/dist/context/HooksContext/index.js +1 -2
- package/dist/context/ValidationContext/ValidationContext.js +2 -4
- package/dist/context/ValidationContext/index.js +1 -2
- package/dist/hooks/useAxios.js +1 -2
- package/dist/hooks/useGetRequest.js +6 -12
- package/dist/hooks/useHooks.js +1 -2
- package/dist/hooks/useRefData.js +3 -6
- package/dist/hooks/useValidation.js +1 -2
- package/dist/index.js +1 -2
- package/dist/models/CollectionLabels.js +1 -2
- package/dist/models/ComponentTypes.js +1 -2
- package/dist/models/EventTypes.js +1 -2
- package/dist/models/FormPages.js +1 -2
- package/dist/models/FormTypes.js +1 -2
- package/dist/models/HubFormats.js +1 -2
- package/dist/models/PageAction.js +3 -6
- package/dist/models/TaskStates.js +2 -4
- package/dist/models/index.js +1 -2
- package/dist/setupTests.js +6 -11
- package/dist/utils/CheckYourAnswers/getCYAAction.js +1 -2
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +1 -2
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +1 -2
- package/dist/utils/CheckYourAnswers/getCYARow.js +2 -3
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +1 -2
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +1 -2
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +1 -2
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +1 -2
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +1 -2
- package/dist/utils/CheckYourAnswers/index.js +1 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +2 -4
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +1 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +1 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +5 -5
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +1 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +1 -2
- package/dist/utils/CollectionPage/getCollectionPageData.js +1 -2
- package/dist/utils/CollectionPage/getQuickEditPage.js +2 -3
- package/dist/utils/CollectionPage/index.js +1 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +1 -2
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +1 -2
- package/dist/utils/CollectionPage/setCollectionPageData.js +1 -2
- package/dist/utils/Component/addShowWhen.js +1 -2
- package/dist/utils/Component/applyToComponentTree.js +1 -2
- package/dist/utils/Component/cleanAttributes.js +2 -4
- package/dist/utils/Component/elevateNestedComponents.js +3 -4
- package/dist/utils/Component/getComponent.js +2 -4
- package/dist/utils/Component/getDefaultValue.js +1 -2
- package/dist/utils/Component/getDefaultValueFromConfig.js +1 -2
- package/dist/utils/Component/index.js +1 -2
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/optionIsSelected.js +1 -2
- package/dist/utils/Component/setupContainerComponentsPath.js +1 -2
- package/dist/utils/Component/showComponent.js +1 -2
- package/dist/utils/Component/wrapInFormGroup.js +1 -2
- package/dist/utils/Condition/index.js +1 -2
- package/dist/utils/Condition/meetsAllConditions.js +1 -2
- package/dist/utils/Condition/meetsCondition.js +1 -2
- package/dist/utils/Condition/meetsOneCondition.js +1 -2
- package/dist/utils/Condition/setupConditions.js +1 -2
- package/dist/utils/Container/getEditableComponents.js +1 -2
- package/dist/utils/Container/index.js +1 -2
- package/dist/utils/Container/setupNesting.js +3 -4
- package/dist/utils/Container/showContainer.js +1 -2
- package/dist/utils/Data/applyFormula.js +1 -2
- package/dist/utils/Data/getAutocompleteSource.js +12 -3
- package/dist/utils/Data/getAutocompleteSource.test.js +38 -0
- package/dist/utils/Data/getDataPath.js +1 -2
- package/dist/utils/Data/getOptions.js +1 -2
- package/dist/utils/Data/getSourceData.js +1 -2
- package/dist/utils/Data/index.js +1 -2
- package/dist/utils/Data/refDataToOptions.js +1 -2
- package/dist/utils/Data/setDataItem.js +1 -2
- package/dist/utils/Data/setupFormData.js +1 -2
- package/dist/utils/Data/setupRefDataUrlForComponent.js +1 -2
- package/dist/utils/FormPage/applyConditionalProperties.js +1 -2
- package/dist/utils/FormPage/getFormPage.js +1 -2
- package/dist/utils/FormPage/getFormPages.js +1 -2
- package/dist/utils/FormPage/getPageActions.js +1 -2
- package/dist/utils/FormPage/getPageTitle.js +1 -2
- package/dist/utils/FormPage/getParagraphFromText.js +1 -2
- package/dist/utils/FormPage/index.js +1 -2
- package/dist/utils/FormPage/showFormPage.js +1 -2
- package/dist/utils/FormPage/showFormPageCYA.js +1 -2
- package/dist/utils/FormPage/useComponent.js +1 -2
- package/dist/utils/Format/formatData.js +1 -2
- package/dist/utils/Format/formatDataForComponent.js +2 -4
- package/dist/utils/Format/formatDataForForm.js +1 -2
- package/dist/utils/Format/formatDataForPage.js +2 -4
- package/dist/utils/Format/index.js +1 -2
- package/dist/utils/Hub/getFormHub.js +1 -2
- package/dist/utils/Hub/index.js +1 -2
- package/dist/utils/Meta/constants.js +2 -4
- package/dist/utils/Meta/documents/getDocuments.js +1 -2
- package/dist/utils/Meta/documents/index.js +1 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +1 -2
- package/dist/utils/Meta/index.js +1 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +1 -2
- package/dist/utils/Operate/getFirstOf.js +1 -2
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +1 -2
- package/dist/utils/Operate/index.js +1 -2
- package/dist/utils/Operate/persistValueInFormData.js +1 -2
- package/dist/utils/Operate/runPageOperations.js +1 -2
- package/dist/utils/Operate/setValueInFormData.js +1 -2
- package/dist/utils/Operate/shouldRun.js +1 -2
- package/dist/utils/Validate/additional/conditionallyRequired.js +1 -2
- package/dist/utils/Validate/additional/index.js +1 -2
- package/dist/utils/Validate/additional/mustBeAfter.js +1 -2
- package/dist/utils/Validate/additional/mustBeBefore.js +1 -2
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +1 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +1 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +1 -2
- package/dist/utils/Validate/additional/mustBeInThePast.js +1 -2
- package/dist/utils/Validate/additional/mustBeLessThan.js +1 -2
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +1 -2
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +1 -2
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -2
- package/dist/utils/Validate/additional/mustNotContainSql.js +1 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +1 -2
- package/dist/utils/Validate/additional/utils.js +3 -6
- package/dist/utils/Validate/index.js +1 -2
- package/dist/utils/Validate/validateCollection.js +1 -2
- package/dist/utils/Validate/validateComponent.js +2 -3
- package/dist/utils/Validate/validateContainer.js +1 -2
- package/dist/utils/Validate/validateDate.js +2 -4
- package/dist/utils/Validate/validateEmail.js +1 -2
- package/dist/utils/Validate/validateMultifile.js +2 -4
- package/dist/utils/Validate/validatePage.js +1 -2
- package/dist/utils/Validate/validateRegex.js +1 -2
- package/dist/utils/Validate/validateRequired.js +1 -2
- package/dist/utils/Validate/validateTextArea.js +1 -2
- package/dist/utils/Validate/validateTime.js +1 -2
- package/dist/utils/index.js +1 -2
- package/package.json +2 -2
|
@@ -33,12 +33,9 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
33
33
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /* eslint-disable camelcase, react/no-array-index-key */ // Global imports
|
|
34
34
|
// Local imports
|
|
35
35
|
// Styles
|
|
36
|
-
var DEFAULT_CLASS = 'hods-check-your-answers';
|
|
37
|
-
exports.
|
|
38
|
-
var
|
|
39
|
-
exports.DEFAULT_TITLE = DEFAULT_TITLE;
|
|
40
|
-
var DEFAULT_MARGIN_BOTTOM = 9;
|
|
41
|
-
exports.DEFAULT_MARGIN_BOTTOM = DEFAULT_MARGIN_BOTTOM;
|
|
36
|
+
var DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-check-your-answers';
|
|
37
|
+
var DEFAULT_TITLE = exports.DEFAULT_TITLE = 'Check your answers';
|
|
38
|
+
var DEFAULT_MARGIN_BOTTOM = exports.DEFAULT_MARGIN_BOTTOM = 9;
|
|
42
39
|
var CheckYourAnswers = function CheckYourAnswers(_ref) {
|
|
43
40
|
var title = _ref.title,
|
|
44
41
|
_pages = _ref.pages,
|
|
@@ -242,5 +239,4 @@ CheckYourAnswers.defaultProps = {
|
|
|
242
239
|
title: DEFAULT_TITLE,
|
|
243
240
|
type: null
|
|
244
241
|
};
|
|
245
|
-
var _default = CheckYourAnswers;
|
|
246
|
-
exports.default = _default;
|
|
242
|
+
var _default = exports.default = CheckYourAnswers;
|
|
@@ -6,5 +6,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _CheckYourAnswers = _interopRequireDefault(require("./CheckYourAnswers"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
var _default = _CheckYourAnswers.default;
|
|
10
|
-
exports.default = _default;
|
|
9
|
+
var _default = exports.default = _CheckYourAnswers.default;
|
|
@@ -27,8 +27,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
27
27
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports
|
|
28
28
|
// Local imports.
|
|
29
29
|
// Styles
|
|
30
|
-
var DEFAULT_CLASS = _FormPage2.DEFAULT_CLASS;
|
|
31
|
-
exports.DEFAULT_CLASS = DEFAULT_CLASS;
|
|
30
|
+
var DEFAULT_CLASS = exports.DEFAULT_CLASS = _FormPage2.DEFAULT_CLASS;
|
|
32
31
|
var CollectionPage = function CollectionPage(_ref) {
|
|
33
32
|
var page = _ref.page,
|
|
34
33
|
onCollectionChange = _ref.onCollectionChange,
|
|
@@ -152,5 +151,4 @@ CollectionPage.defaultProps = {
|
|
|
152
151
|
classModifiers: [],
|
|
153
152
|
className: ''
|
|
154
153
|
};
|
|
155
|
-
var _default = CollectionPage;
|
|
156
|
-
exports.default = _default;
|
|
154
|
+
var _default = exports.default = CollectionPage;
|
|
@@ -6,5 +6,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _CollectionPage = _interopRequireDefault(require("./CollectionPage"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
var _default = _CollectionPage.default;
|
|
10
|
-
exports.default = _default;
|
|
9
|
+
var _default = exports.default = _CollectionPage.default;
|
|
@@ -16,8 +16,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
16
16
|
|
|
17
17
|
// Styles.
|
|
18
18
|
|
|
19
|
-
var DEFAULT_CLASS = 'hods-form-banner-strip';
|
|
20
|
-
exports.DEFAULT_CLASS = DEFAULT_CLASS;
|
|
19
|
+
var DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form-banner-strip';
|
|
21
20
|
var BannerStrip = function BannerStrip(_ref) {
|
|
22
21
|
var id = _ref.id,
|
|
23
22
|
banners = _ref.banners,
|
|
@@ -58,5 +57,4 @@ BannerStrip.defaultProps = {
|
|
|
58
57
|
formData: null,
|
|
59
58
|
classModifiers: null
|
|
60
59
|
};
|
|
61
|
-
var _default = BannerStrip;
|
|
62
|
-
exports.default = _default;
|
|
60
|
+
var _default = exports.default = BannerStrip;
|
|
@@ -29,8 +29,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
29
29
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports.
|
|
30
30
|
// Local imports.
|
|
31
31
|
// Styles.
|
|
32
|
-
var DEFAULT_ADD_BUTTON_LABEL = 'Add';
|
|
33
|
-
exports.DEFAULT_ADD_BUTTON_LABEL = DEFAULT_ADD_BUTTON_LABEL;
|
|
32
|
+
var DEFAULT_ADD_BUTTON_LABEL = exports.DEFAULT_ADD_BUTTON_LABEL = 'Add';
|
|
34
33
|
var CollectionSummary = function CollectionSummary(_ref) {
|
|
35
34
|
var _config$confirmation, _config$confirmation2;
|
|
36
35
|
var config = _ref.config,
|
|
@@ -38,10 +37,14 @@ var CollectionSummary = function CollectionSummary(_ref) {
|
|
|
38
37
|
onAction = _ref.onAction,
|
|
39
38
|
onChange = _ref.onChange,
|
|
40
39
|
pages = _ref.pages;
|
|
41
|
-
var _useState = (0, _react.useState)(
|
|
40
|
+
var _useState = (0, _react.useState)([]),
|
|
42
41
|
_useState2 = _slicedToArray(_useState, 2),
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
duplicatedEntries = _useState2[0],
|
|
43
|
+
setDuplicatedEntries = _useState2[1];
|
|
44
|
+
var _useState3 = (0, _react.useState)(null),
|
|
45
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
46
|
+
entryToDelete = _useState4[0],
|
|
47
|
+
setEntryToDelete = _useState4[1];
|
|
45
48
|
var data = (0, _react.useMemo)(function () {
|
|
46
49
|
return _utils.default.CollectionPage.getData(config.collectionName, formData) || [];
|
|
47
50
|
}, [formData]);
|
|
@@ -52,7 +55,21 @@ var CollectionSummary = function CollectionSummary(_ref) {
|
|
|
52
55
|
return ((_page$collection = page.collection) === null || _page$collection === void 0 ? void 0 : _page$collection.name) === config.collectionName;
|
|
53
56
|
});
|
|
54
57
|
}, [pages]);
|
|
58
|
+
(0, _react.useEffect)(function () {
|
|
59
|
+
var storedEntries = localStorage.getItem('duplicatedEntries');
|
|
60
|
+
if (storedEntries) {
|
|
61
|
+
setDuplicatedEntries(JSON.parse(storedEntries));
|
|
62
|
+
}
|
|
63
|
+
}, []);
|
|
64
|
+
var removeDuplicatedEntry = function removeDuplicatedEntry(entryId) {
|
|
65
|
+
var filteredEntries = duplicatedEntries.filter(function (id) {
|
|
66
|
+
return id !== entryId;
|
|
67
|
+
});
|
|
68
|
+
localStorage.setItem('duplicatedEntries', JSON.stringify(filteredEntries));
|
|
69
|
+
setDuplicatedEntries(filteredEntries);
|
|
70
|
+
};
|
|
55
71
|
var onSummaryCardChange = function onSummaryCardChange(page, entryId) {
|
|
72
|
+
removeDuplicatedEntry(entryId);
|
|
56
73
|
if (typeof onAction !== 'function') {
|
|
57
74
|
return;
|
|
58
75
|
}
|
|
@@ -67,7 +84,12 @@ var CollectionSummary = function CollectionSummary(_ref) {
|
|
|
67
84
|
};
|
|
68
85
|
var onDuplicate = function onDuplicate(entry) {
|
|
69
86
|
var _config$card;
|
|
70
|
-
_utils.default.CollectionPage.duplicateEntry(config.collectionName, formData, entry.id, ((_config$card = config.card) === null || _config$card === void 0 || (_config$card = _config$card.duplicateAction) === null || _config$card === void 0 ? void 0 : _config$card.fieldsToIgnore) || []);
|
|
87
|
+
var newEntryId = _utils.default.CollectionPage.duplicateEntry(config.collectionName, formData, entry.id, ((_config$card = config.card) === null || _config$card === void 0 || (_config$card = _config$card.duplicateAction) === null || _config$card === void 0 ? void 0 : _config$card.fieldsToIgnore) || []);
|
|
88
|
+
if (newEntryId) {
|
|
89
|
+
var newData = [].concat(duplicatedEntries, [newEntryId]);
|
|
90
|
+
localStorage.setItem('duplicatedEntries', JSON.stringify(newData));
|
|
91
|
+
setDuplicatedEntries(newData);
|
|
92
|
+
}
|
|
71
93
|
var parentCollection = config.collectionName.split('.').shift();
|
|
72
94
|
// Report the whole top-level collection as being changed. We have to do this
|
|
73
95
|
// because of how patch is applied to formData on a page submission.
|
|
@@ -143,12 +165,14 @@ var CollectionSummary = function CollectionSummary(_ref) {
|
|
|
143
165
|
return setEntryToDelete(entry);
|
|
144
166
|
},
|
|
145
167
|
pages: pages,
|
|
146
|
-
onQuickEdit: function onQuickEdit(target) {
|
|
147
|
-
|
|
168
|
+
onQuickEdit: function onQuickEdit(target, entryId) {
|
|
169
|
+
removeDuplicatedEntry(entryId);
|
|
170
|
+
onChange(target);
|
|
148
171
|
},
|
|
149
172
|
parentCollectionName: config.collectionName.split('.').shift(),
|
|
150
173
|
formData: formData,
|
|
151
|
-
classModifiers: entry === entryToDelete ? ['deleting-summary-card'] : ['']
|
|
174
|
+
classModifiers: entry === entryToDelete ? ['deleting-summary-card'] : [''],
|
|
175
|
+
isDuplicated: duplicatedEntries.includes(entry.id)
|
|
152
176
|
});
|
|
153
177
|
}));
|
|
154
178
|
};
|
|
@@ -183,5 +207,4 @@ CollectionSummary.defaultProps = {
|
|
|
183
207
|
onChange: null,
|
|
184
208
|
pages: []
|
|
185
209
|
};
|
|
186
|
-
var _default = CollectionSummary;
|
|
187
|
-
exports.default = _default;
|
|
210
|
+
var _default = exports.default = CollectionSummary;
|
|
@@ -13,12 +13,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
13
13
|
|
|
14
14
|
// Styles.
|
|
15
15
|
|
|
16
|
-
var DEFAULT_CLASS = 'hods-form-confirmation';
|
|
17
|
-
exports.
|
|
18
|
-
var
|
|
19
|
-
exports.DEFAULT_MESSAGE = DEFAULT_MESSAGE;
|
|
20
|
-
var DEFAULT_CONFIRM_LABEL = 'Confirm';
|
|
21
|
-
exports.DEFAULT_CONFIRM_LABEL = DEFAULT_CONFIRM_LABEL;
|
|
16
|
+
var DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form-confirmation';
|
|
17
|
+
var DEFAULT_MESSAGE = exports.DEFAULT_MESSAGE = 'Are you sure?';
|
|
18
|
+
var DEFAULT_CONFIRM_LABEL = exports.DEFAULT_CONFIRM_LABEL = 'Confirm';
|
|
22
19
|
var Confirmation = function Confirmation(_ref) {
|
|
23
20
|
var id = _ref.id,
|
|
24
21
|
message = _ref.message,
|
|
@@ -56,5 +53,4 @@ Confirmation.defaultProps = {
|
|
|
56
53
|
children: null,
|
|
57
54
|
classModifiers: []
|
|
58
55
|
};
|
|
59
|
-
var _default = Confirmation;
|
|
60
|
-
exports.default = _default;
|
|
56
|
+
var _default = exports.default = Confirmation;
|
|
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default = exports.DEFAULT_TITLE = exports.DEFAULT_EDIT_LABEL = exports.DEFAULT_DUPLICATE_BUTTON_LABEL = exports.DEFAULT_DELETE_BUTTON_LABEL = exports.DEFAULT_CLASS = exports.DEFAULT_CHANGE_BUTTON_LABEL = void 0;
|
|
7
|
+
exports.default = exports.DEFAULT_TITLE = exports.DEFAULT_REMOVE_BUTTON_LABEL = exports.DEFAULT_FULL_EDIT_BUTTON_LABEL = exports.DEFAULT_EDIT_LABEL = exports.DEFAULT_DUPLICATE_BUTTON_LABEL = exports.DEFAULT_DELETE_BUTTON_LABEL = exports.DEFAULT_CLASS = exports.DEFAULT_CHANGE_BUTTON_LABEL = void 0;
|
|
8
8
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -34,20 +34,16 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
34
34
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports.
|
|
35
35
|
// Local imports.
|
|
36
36
|
// Styles.
|
|
37
|
-
var DEFAULT_CLASS = 'hods-form-summary-card';
|
|
38
|
-
exports.
|
|
39
|
-
var
|
|
40
|
-
exports.
|
|
41
|
-
var
|
|
42
|
-
exports.
|
|
43
|
-
var
|
|
44
|
-
exports.
|
|
45
|
-
var DEFAULT_EDIT_LABEL = 'Quick Edit';
|
|
46
|
-
exports.DEFAULT_EDIT_LABEL = DEFAULT_EDIT_LABEL;
|
|
47
|
-
var DEFAULT_DUPLICATE_BUTTON_LABEL = 'Duplicate';
|
|
48
|
-
exports.DEFAULT_DUPLICATE_BUTTON_LABEL = DEFAULT_DUPLICATE_BUTTON_LABEL;
|
|
37
|
+
var DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form-summary-card';
|
|
38
|
+
var DEFAULT_TITLE = exports.DEFAULT_TITLE = 'Item';
|
|
39
|
+
var DEFAULT_CHANGE_BUTTON_LABEL = exports.DEFAULT_CHANGE_BUTTON_LABEL = 'Change';
|
|
40
|
+
var DEFAULT_DELETE_BUTTON_LABEL = exports.DEFAULT_DELETE_BUTTON_LABEL = 'Delete';
|
|
41
|
+
var DEFAULT_EDIT_LABEL = exports.DEFAULT_EDIT_LABEL = 'Quick Edit';
|
|
42
|
+
var DEFAULT_DUPLICATE_BUTTON_LABEL = exports.DEFAULT_DUPLICATE_BUTTON_LABEL = 'Duplicate';
|
|
43
|
+
var DEFAULT_FULL_EDIT_BUTTON_LABEL = exports.DEFAULT_FULL_EDIT_BUTTON_LABEL = 'Full edit';
|
|
44
|
+
var DEFAULT_REMOVE_BUTTON_LABEL = exports.DEFAULT_REMOVE_BUTTON_LABEL = 'Remove';
|
|
49
45
|
var SummaryCard = function SummaryCard(_ref) {
|
|
50
|
-
var _config$changeAction2, _config$duplicateActi, _config$deleteAction, _masterPage$childPage;
|
|
46
|
+
var _config$changeAction2, _config$changeAction3, _config$duplicateActi, _config$deleteAction, _config$deleteAction2, _masterPage$childPage;
|
|
51
47
|
var id = _ref.id,
|
|
52
48
|
entryData = _ref.entryData,
|
|
53
49
|
config = _ref.config,
|
|
@@ -60,12 +56,13 @@ var SummaryCard = function SummaryCard(_ref) {
|
|
|
60
56
|
parentCollectionName = _ref.parentCollectionName,
|
|
61
57
|
formData = _ref.formData,
|
|
62
58
|
masterPage = _ref.masterPage,
|
|
63
|
-
hideDetails = _ref.hideDetails
|
|
64
|
-
|
|
59
|
+
hideDetails = _ref.hideDetails,
|
|
60
|
+
isDuplicated = _ref.isDuplicated;
|
|
65
61
|
var _useState = (0, _react.useState)(false),
|
|
66
62
|
_useState2 = _slicedToArray(_useState, 2),
|
|
67
63
|
quickEdit = _useState2[0],
|
|
68
64
|
setQuickEdit = _useState2[1];
|
|
65
|
+
var classes = _copReactComponents.Utils.classBuilder(DEFAULT_CLASS, classModifiers, isDuplicated ? 'duplicated' : '');
|
|
69
66
|
var quickEditPage = (0, _react.useMemo)(function () {
|
|
70
67
|
return (0, _getQuickEditPage.default)(config.quickEdit, pages, entryData);
|
|
71
68
|
}, [pages, config, entryData]);
|
|
@@ -116,7 +113,7 @@ var SummaryCard = function SummaryCard(_ref) {
|
|
|
116
113
|
name: parentCollectionName,
|
|
117
114
|
value: allData
|
|
118
115
|
}
|
|
119
|
-
});
|
|
116
|
+
}, entryData.id);
|
|
120
117
|
setQuickEdit(function (prevState) {
|
|
121
118
|
return !prevState;
|
|
122
119
|
});
|
|
@@ -150,7 +147,7 @@ var SummaryCard = function SummaryCard(_ref) {
|
|
|
150
147
|
className: classes('header-content-detail')
|
|
151
148
|
}, _copReactComponents.Utils.interpolateString(config.details, entryData))), /*#__PURE__*/_react.default.createElement("div", {
|
|
152
149
|
className: classes('header-actions')
|
|
153
|
-
}, config.quickEdit && /*#__PURE__*/_react.default.createElement(_copReactComponents.Button, {
|
|
150
|
+
}, config.quickEdit && isDuplicated && /*#__PURE__*/_react.default.createElement(_copReactComponents.Button, {
|
|
154
151
|
id: "".concat(id, ".quickEditButton"),
|
|
155
152
|
onClick: function onClick() {
|
|
156
153
|
return setQuickEdit(function (prevState) {
|
|
@@ -165,11 +162,11 @@ var SummaryCard = function SummaryCard(_ref) {
|
|
|
165
162
|
var _config$changeAction;
|
|
166
163
|
return onChange((_config$changeAction = config.changeAction) === null || _config$changeAction === void 0 ? void 0 : _config$changeAction.page, entryData.id);
|
|
167
164
|
},
|
|
168
|
-
classModifiers:
|
|
169
|
-
}, ((_config$changeAction2 = config.changeAction) === null || _config$changeAction2 === void 0 ? void 0 : _config$changeAction2.label) || DEFAULT_CHANGE_BUTTON_LABEL), config.duplicateAction && typeof onDuplicate === 'function' && /*#__PURE__*/_react.default.createElement(_copReactComponents.Button, {
|
|
165
|
+
classModifiers: isDuplicated ? 'primary' : 'secondary'
|
|
166
|
+
}, isDuplicated ? ((_config$changeAction2 = config.changeAction) === null || _config$changeAction2 === void 0 ? void 0 : _config$changeAction2.isDuplicateLabel) || DEFAULT_FULL_EDIT_BUTTON_LABEL : ((_config$changeAction3 = config.changeAction) === null || _config$changeAction3 === void 0 ? void 0 : _config$changeAction3.label) || DEFAULT_CHANGE_BUTTON_LABEL), config.duplicateAction && !isDuplicated && typeof onDuplicate === 'function' && /*#__PURE__*/_react.default.createElement(_copReactComponents.Button, {
|
|
170
167
|
id: "".concat(id, ".duplicateButton"),
|
|
171
168
|
onClick: function onClick() {
|
|
172
|
-
|
|
169
|
+
onDuplicate(entryData);
|
|
173
170
|
},
|
|
174
171
|
classModifiers: "secondary"
|
|
175
172
|
}, ((_config$duplicateActi = config.duplicateAction) === null || _config$duplicateActi === void 0 ? void 0 : _config$duplicateActi.label) || DEFAULT_DUPLICATE_BUTTON_LABEL), config.deleteAction && typeof onDelete === 'function' && /*#__PURE__*/_react.default.createElement(_copReactComponents.Button, {
|
|
@@ -178,7 +175,7 @@ var SummaryCard = function SummaryCard(_ref) {
|
|
|
178
175
|
return onDelete(entryData);
|
|
179
176
|
},
|
|
180
177
|
classModifiers: "secondary"
|
|
181
|
-
}, ((_config$deleteAction = config.deleteAction) === null || _config$deleteAction === void 0 ? void 0 : _config$deleteAction.label) || DEFAULT_DELETE_BUTTON_LABEL))), quickEdit && /*#__PURE__*/_react.default.createElement(_FormPage.default, {
|
|
178
|
+
}, isDuplicated ? ((_config$deleteAction = config.deleteAction) === null || _config$deleteAction === void 0 ? void 0 : _config$deleteAction.isDuplicateLabel) || DEFAULT_REMOVE_BUTTON_LABEL : ((_config$deleteAction2 = config.deleteAction) === null || _config$deleteAction2 === void 0 ? void 0 : _config$deleteAction2.label) || DEFAULT_DELETE_BUTTON_LABEL))), quickEdit && /*#__PURE__*/_react.default.createElement(_FormPage.default, {
|
|
182
179
|
page: quickEditPage,
|
|
183
180
|
onAction: function onAction(action, patch) {
|
|
184
181
|
return _onAction(action, patch);
|
|
@@ -187,7 +184,7 @@ var SummaryCard = function SummaryCard(_ref) {
|
|
|
187
184
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
188
185
|
className: classes('body')
|
|
189
186
|
}, !hideDetails && /*#__PURE__*/_react.default.createElement(_copReactComponents.Details, {
|
|
190
|
-
summary:
|
|
187
|
+
summary: isDuplicated ? 'View duplicated details' : 'Full details',
|
|
191
188
|
className: "details"
|
|
192
189
|
}, masterPage === null || masterPage === void 0 || (_masterPage$childPage = masterPage.childPages) === null || _masterPage$childPage === void 0 ? void 0 : _masterPage$childPage.map(function (childPage) {
|
|
193
190
|
var _childPage$summaryLay;
|
|
@@ -233,13 +230,16 @@ SummaryCard.propTypes = {
|
|
|
233
230
|
details: _propTypes.default.string,
|
|
234
231
|
changeAction: _propTypes.default.shape({
|
|
235
232
|
label: _propTypes.default.string,
|
|
233
|
+
isDuplicateLabel: _propTypes.default.string,
|
|
236
234
|
page: _propTypes.default.string.isRequired
|
|
237
235
|
}),
|
|
238
236
|
deleteAction: _propTypes.default.shape({
|
|
239
|
-
label: _propTypes.default.string
|
|
237
|
+
label: _propTypes.default.string,
|
|
238
|
+
isDuplicateLabel: _propTypes.default.string
|
|
240
239
|
}),
|
|
241
240
|
duplicateAction: _propTypes.default.shape({
|
|
242
|
-
label: _propTypes.default.string
|
|
241
|
+
label: _propTypes.default.string,
|
|
242
|
+
isDuplicateLabel: _propTypes.default.string
|
|
243
243
|
}),
|
|
244
244
|
quickEdit: _propTypes.default.shape({
|
|
245
245
|
components: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
@@ -260,7 +260,8 @@ SummaryCard.propTypes = {
|
|
|
260
260
|
pages: _propTypes.default.arrayOf(_propTypes.default.shape({})).isRequired,
|
|
261
261
|
parentCollectionName: _propTypes.default.string.isRequired,
|
|
262
262
|
formData: _propTypes.default.shape({}).isRequired,
|
|
263
|
-
hideDetails: _propTypes.default.bool
|
|
263
|
+
hideDetails: _propTypes.default.bool,
|
|
264
|
+
isDuplicated: _propTypes.default.bool
|
|
264
265
|
};
|
|
265
266
|
SummaryCard.defaultProps = {
|
|
266
267
|
classModifiers: null,
|
|
@@ -268,7 +269,7 @@ SummaryCard.defaultProps = {
|
|
|
268
269
|
onDelete: null,
|
|
269
270
|
onDuplicate: null,
|
|
270
271
|
onQuickEdit: null,
|
|
271
|
-
hideDetails: false
|
|
272
|
+
hideDetails: false,
|
|
273
|
+
isDuplicated: false
|
|
272
274
|
};
|
|
273
|
-
var _default = SummaryCard;
|
|
274
|
-
exports.default = _default;
|
|
275
|
+
var _default = exports.default = SummaryCard;
|