@ukhomeoffice/cop-react-form-renderer 4.66.1 → 4.68.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 +6 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +104 -129
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +26 -64
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +428 -555
- package/dist/components/CheckYourAnswers/index.js +0 -3
- package/dist/components/CollectionPage/CollectionPage.js +13 -42
- package/dist/components/CollectionPage/CollectionPage.test.js +160 -206
- package/dist/components/CollectionPage/index.js +0 -3
- package/dist/components/FormComponent/Collection.js +35 -79
- package/dist/components/FormComponent/Collection.test.js +340 -391
- package/dist/components/FormComponent/Container.js +10 -31
- package/dist/components/FormComponent/Container.test.js +304 -357
- package/dist/components/FormComponent/FormComponent.js +17 -60
- package/dist/components/FormComponent/FormComponent.test.js +190 -228
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +0 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +0 -2
- package/dist/components/FormComponent/helpers/getComponentError.js +0 -6
- package/dist/components/FormComponent/helpers/getComponentError.test.js +0 -2
- package/dist/components/FormComponent/helpers/index.js +0 -4
- package/dist/components/FormComponent/index.js +0 -3
- package/dist/components/FormPage/FormPage.js +21 -53
- package/dist/components/FormPage/FormPage.test.js +122 -160
- package/dist/components/FormPage/index.js +0 -3
- package/dist/components/FormRenderer/FormRenderer.js +106 -296
- package/dist/components/FormRenderer/FormRenderer.test.js +820 -1058
- package/dist/components/FormRenderer/handlers/cyaAction.js +0 -5
- package/dist/components/FormRenderer/handlers/getPageId.js +0 -2
- package/dist/components/FormRenderer/handlers/getPageId.test.js +1 -2
- package/dist/components/FormRenderer/handlers/handlers.test.js +1 -18
- package/dist/components/FormRenderer/handlers/index.js +0 -5
- package/dist/components/FormRenderer/handlers/navigate.js +0 -5
- package/dist/components/FormRenderer/handlers/submissionError.js +0 -2
- package/dist/components/FormRenderer/helpers/canActionProceed.js +0 -3
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +0 -2
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +1 -5
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +4 -12
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +1 -2
- package/dist/components/FormRenderer/helpers/getCYA.js +0 -9
- package/dist/components/FormRenderer/helpers/getCYA.test.js +1 -3
- package/dist/components/FormRenderer/helpers/getFormState.js +0 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +1 -3
- package/dist/components/FormRenderer/helpers/getNextPageId.js +0 -25
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +1 -4
- package/dist/components/FormRenderer/helpers/getPage.js +0 -5
- package/dist/components/FormRenderer/helpers/getPage.test.js +1 -3
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +0 -6
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +1 -3
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +0 -10
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +4 -7
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +32 -41
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +122 -8
- package/dist/components/FormRenderer/helpers/index.js +1 -11
- package/dist/components/FormRenderer/index.js +0 -3
- package/dist/components/FormRenderer/onCYAAction.js +8 -30
- package/dist/components/FormRenderer/onCYAAction.test.js +54 -79
- package/dist/components/FormRenderer/onPageAction.js +123 -0
- package/dist/components/FormRenderer/onPageAction.test.js +632 -0
- package/dist/components/PageActions/ActionButton.js +2 -17
- package/dist/components/PageActions/ActionButton.test.js +58 -81
- package/dist/components/PageActions/PageActions.js +3 -10
- package/dist/components/PageActions/PageActions.test.js +95 -120
- package/dist/components/PageActions/index.js +0 -3
- package/dist/components/SummaryList/GroupAction.js +5 -26
- package/dist/components/SummaryList/GroupAction.test.js +14 -28
- package/dist/components/SummaryList/RowAction.js +5 -25
- package/dist/components/SummaryList/RowAction.test.js +14 -28
- package/dist/components/SummaryList/SummaryList.js +7 -31
- package/dist/components/SummaryList/SummaryList.test.js +69 -126
- package/dist/components/SummaryList/SummaryListHeadingRow.js +3 -8
- package/dist/components/SummaryList/SummaryListRow.js +4 -8
- package/dist/components/SummaryList/SummaryListTitleRow.js +2 -7
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +0 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +0 -6
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +0 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +0 -6
- package/dist/components/SummaryList/helpers/index.js +0 -2
- package/dist/components/SummaryList/index.js +0 -3
- package/dist/components/TaskList/Task.js +9 -31
- package/dist/components/TaskList/Task.test.js +32 -59
- package/dist/components/TaskList/TaskList.js +32 -59
- package/dist/components/TaskList/TaskList.test.js +52 -90
- package/dist/components/TaskList/TaskState.js +2 -10
- package/dist/components/TaskList/TaskState.test.js +23 -41
- package/dist/components/TaskList/index.js +0 -3
- package/dist/components/index.js +0 -7
- package/dist/context/HooksContext/HooksContext.js +21 -39
- package/dist/context/HooksContext/HooksContext.test.js +18 -34
- package/dist/context/HooksContext/index.js +0 -5
- package/dist/context/ValidationContext/ValidationContext.js +26 -56
- package/dist/context/ValidationContext/ValidationContext.test.js +43 -64
- package/dist/context/ValidationContext/index.js +0 -5
- package/dist/context/index.js +0 -3
- package/dist/hooks/index.js +0 -9
- package/dist/hooks/useAxios.js +17 -36
- package/dist/hooks/useGetRequest.js +57 -93
- package/dist/hooks/useHooks.js +2 -4
- package/dist/hooks/useRefData.js +14 -41
- package/dist/hooks/useValidation.js +2 -4
- package/dist/index.js +0 -9
- package/dist/models/PageAction.js +4 -4
- package/dist/models/TaskStates.js +4 -4
- package/dist/models/index.js +1 -10
- package/dist/setupTests.js +0 -13
- package/dist/utils/CheckYourAnswers/getCYAAction.js +1 -9
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +1 -19
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +4 -11
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +4 -9
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +4 -9
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +4 -8
- package/dist/utils/CheckYourAnswers/getCYARow.js +1 -10
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +8 -23
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +6 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +2 -9
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +4 -20
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +7 -22
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +4 -32
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +4 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +4 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +4 -22
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +2 -22
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +7 -25
- package/dist/utils/CheckYourAnswers/index.js +1 -3
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +9 -12
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +41 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +4 -12
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +5 -6
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +0 -6
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +1 -2
- package/dist/utils/CollectionPage/index.js +1 -5
- package/dist/utils/CollectionPage/mergeCollectionPages.js +5 -11
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +1 -2
- package/dist/utils/Component/addShowWhen.js +4 -10
- package/dist/utils/Component/addShowWhen.test.js +1 -2
- package/dist/utils/Component/applyToComponentTree.js +4 -18
- package/dist/utils/Component/applyToComponentTree.test.js +4 -8
- package/dist/utils/Component/cleanAttributes.js +1 -8
- package/dist/utils/Component/cleanAttributes.test.js +15 -16
- package/dist/utils/Component/elevateNestedComponents.js +0 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +0 -2
- package/dist/utils/Component/getComponent.js +7 -86
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +6 -10
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +33 -51
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +8 -35
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +12 -29
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +4 -10
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +6 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +6 -24
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +3 -7
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +4 -10
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +3 -7
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +4 -10
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +5 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +156 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +4 -10
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +6 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +8 -35
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +6 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +6 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +10 -34
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +12 -31
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +1 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +3 -7
- package/dist/utils/Component/getDefaultValue.js +4 -8
- package/dist/utils/Component/getDefaultValue.test.js +0 -3
- package/dist/utils/Component/index.js +0 -10
- package/dist/utils/Component/isEditable.js +1 -4
- package/dist/utils/Component/isEditable.test.js +1 -5
- package/dist/utils/Component/setupContainerComponentsPath.js +4 -9
- package/dist/utils/Component/setupContainerComponentsPath.test.js +0 -3
- package/dist/utils/Component/showComponent.js +1 -8
- package/dist/utils/Component/showComponent.test.js +1 -2
- package/dist/utils/Component/wrapInFormGroup.js +0 -7
- package/dist/utils/Condition/index.js +0 -5
- package/dist/utils/Condition/meetsAllConditions.js +0 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +1 -2
- package/dist/utils/Condition/meetsCondition.js +9 -34
- package/dist/utils/Condition/meetsCondition.test.js +21 -14
- package/dist/utils/Condition/meetsOneCondition.js +1 -9
- package/dist/utils/Condition/meetsOneCondition.test.js +1 -2
- package/dist/utils/Condition/setupConditions.js +4 -13
- package/dist/utils/Condition/setupConditions.test.js +0 -2
- package/dist/utils/Container/getEditableComponents.js +0 -7
- package/dist/utils/Container/getEditableComponents.test.js +1 -12
- package/dist/utils/Container/index.js +0 -5
- package/dist/utils/Container/setupNesting.js +4 -12
- package/dist/utils/Container/setupNesting.test.js +4 -10
- package/dist/utils/Container/showContainer.js +9 -18
- package/dist/utils/Container/showContainer.test.js +1 -2
- package/dist/utils/Data/applyFormula.js +6 -29
- package/dist/utils/Data/applyFormula.test.js +1 -2
- package/dist/utils/Data/getAutocompleteSource.js +1 -5
- package/dist/utils/Data/getAutocompleteSource.test.js +1 -2
- package/dist/utils/Data/getDataPath.js +3 -17
- package/dist/utils/Data/getDataPath.test.js +0 -4
- package/dist/utils/Data/getOptions.js +4 -14
- package/dist/utils/Data/getOptions.test.js +1 -2
- package/dist/utils/Data/getSourceData.js +6 -21
- package/dist/utils/Data/getSourceData.test.js +4 -6
- package/dist/utils/Data/index.js +1 -11
- package/dist/utils/Data/refDataToOptions.js +5 -13
- package/dist/utils/Data/refDataToOptions.test.js +1 -2
- package/dist/utils/Data/setDataItem.js +0 -5
- package/dist/utils/Data/setDataItem.test.js +0 -2
- package/dist/utils/Data/setupFormData.js +6 -25
- package/dist/utils/Data/setupFormData.test.js +8 -11
- package/dist/utils/Data/setupRefDataUrlForComponent.js +4 -15
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +1 -3
- package/dist/utils/FormPage/applyConditionalProperties.js +4 -11
- package/dist/utils/FormPage/applyConditionalProperties.test.js +4 -6
- package/dist/utils/FormPage/getFormPage.js +4 -16
- package/dist/utils/FormPage/getFormPage.test.js +10 -9
- package/dist/utils/FormPage/getFormPages.js +4 -9
- package/dist/utils/FormPage/getFormPages.test.js +6 -7
- package/dist/utils/FormPage/getPageActions.js +6 -19
- package/dist/utils/FormPage/getPageActions.test.js +1 -3
- package/dist/utils/FormPage/getParagraphFromText.js +0 -3
- package/dist/utils/FormPage/getParagraphFromText.test.js +1 -3
- package/dist/utils/FormPage/index.js +0 -7
- package/dist/utils/FormPage/showFormPage.js +9 -18
- package/dist/utils/FormPage/showFormPage.test.js +0 -2
- package/dist/utils/FormPage/showFormPageCYA.js +0 -5
- package/dist/utils/FormPage/showFormPageCYA.test.js +0 -2
- package/dist/utils/FormPage/useComponent.js +7 -19
- package/dist/utils/FormPage/useComponent.test.js +4 -7
- package/dist/utils/Format/formatData.js +0 -5
- package/dist/utils/Format/formatData.test.js +1 -2
- package/dist/utils/Format/formatDataForComponent.js +1 -6
- package/dist/utils/Format/formatDataForComponent.test.js +28 -47
- package/dist/utils/Format/formatDataForForm.js +4 -9
- package/dist/utils/Format/formatDataForForm.test.js +14 -11
- package/dist/utils/Format/formatDataForPage.js +1 -5
- package/dist/utils/Format/formatDataForPage.test.js +15 -12
- package/dist/utils/Format/index.js +1 -6
- package/dist/utils/Hub/getFormHub.js +0 -8
- package/dist/utils/Hub/getFormHub.test.js +6 -8
- package/dist/utils/Hub/index.js +1 -3
- package/dist/utils/Meta/documents/getDocuments.js +1 -4
- package/dist/utils/Meta/documents/getDocuments.test.js +4 -10
- package/dist/utils/Meta/documents/index.js +1 -5
- package/dist/utils/Meta/documents/setDocumentsForField.js +4 -11
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +4 -16
- package/dist/utils/Meta/index.js +1 -4
- package/dist/utils/Operate/checkValueIsTruthy.js +1 -7
- package/dist/utils/Operate/checkValueIsTruthy.test.js +0 -2
- package/dist/utils/Operate/getFirstOf.js +2 -9
- package/dist/utils/Operate/getFirstOf.test.js +0 -2
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +7 -21
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +6 -2
- package/dist/utils/Operate/index.js +0 -3
- package/dist/utils/Operate/persistValueInFormData.js +1 -8
- package/dist/utils/Operate/persistValueInFormData.test.js +0 -4
- package/dist/utils/Operate/runPageOperations.js +3 -19
- package/dist/utils/Operate/runPageOperations.test.js +4 -6
- package/dist/utils/Operate/setValueInFormData.js +2 -7
- package/dist/utils/Operate/setValueInFormData.test.js +0 -2
- package/dist/utils/Operate/shouldRun.js +1 -14
- package/dist/utils/Operate/shouldRun.test.js +5 -8
- package/dist/utils/Validate/additional/conditionallyRequired.js +0 -3
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +0 -2
- package/dist/utils/Validate/additional/index.js +1 -22
- package/dist/utils/Validate/additional/index.test.js +0 -6
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -8
- package/dist/utils/Validate/additional/mustBeAfter.test.js +0 -4
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -8
- package/dist/utils/Validate/additional/mustBeBefore.test.js +0 -4
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +5 -16
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +4 -8
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +0 -3
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +0 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -12
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +0 -3
- package/dist/utils/Validate/additional/mustBeInThePast.js +5 -13
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +0 -3
- package/dist/utils/Validate/additional/mustBeLessThan.js +0 -3
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +0 -2
- package/dist/utils/Validate/additional/mustBeLongerThan.js +0 -3
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +0 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +0 -3
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +0 -2
- package/dist/utils/Validate/additional/mustBeShorterThan.js +0 -3
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +0 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +0 -5
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +4 -5
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +0 -3
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +0 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +0 -6
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +4 -7
- package/dist/utils/Validate/additional/utils.js +10 -26
- package/dist/utils/Validate/index.js +1 -11
- package/dist/utils/Validate/validateCollection.js +4 -10
- package/dist/utils/Validate/validateCollection.test.js +4 -6
- package/dist/utils/Validate/validateComponent.js +2 -39
- package/dist/utils/Validate/validateComponent.test.js +4 -22
- package/dist/utils/Validate/validateContainer.js +4 -14
- package/dist/utils/Validate/validateContainer.test.js +4 -10
- package/dist/utils/Validate/validateDate.js +6 -38
- package/dist/utils/Validate/validateDate.test.js +0 -4
- package/dist/utils/Validate/validateEmail.js +1 -8
- package/dist/utils/Validate/validateEmail.test.js +5 -4
- package/dist/utils/Validate/validateMultifile.js +0 -7
- package/dist/utils/Validate/validateMultifile.test.js +5 -6
- package/dist/utils/Validate/validatePage.js +4 -16
- package/dist/utils/Validate/validatePage.test.js +30 -25
- package/dist/utils/Validate/validateRegex.js +0 -10
- package/dist/utils/Validate/validateRegex.test.js +5 -4
- package/dist/utils/Validate/validateRequired.js +0 -8
- package/dist/utils/Validate/validateRequired.test.js +5 -4
- package/dist/utils/Validate/validateTextArea.js +0 -8
- package/dist/utils/Validate/validateTextArea.test.js +0 -2
- package/dist/utils/Validate/validateTime.js +5 -22
- package/dist/utils/Validate/validateTime.test.js +0 -2
- package/dist/utils/index.js +4 -20
- package/package.json +2 -2
|
@@ -4,14 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
9
|
-
|
|
10
8
|
var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
10
|
// Global imports.
|
|
11
|
+
|
|
15
12
|
// Local imports.
|
|
16
13
|
|
|
17
14
|
/**
|
|
@@ -23,15 +20,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
23
20
|
*/
|
|
24
21
|
var persistValueInFormData = function persistValueInFormData(config, data, onChange) {
|
|
25
22
|
var value;
|
|
26
|
-
|
|
27
23
|
if (config !== null && config !== void 0 && config.field) {
|
|
28
24
|
var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
|
|
29
|
-
|
|
30
25
|
value = (0, _getSourceData.default)(data, fieldPath);
|
|
31
26
|
} else {
|
|
32
27
|
value = config === null || config === void 0 ? void 0 : config.value;
|
|
33
28
|
}
|
|
34
|
-
|
|
35
29
|
if (value && config.name && data[config.name] !== value) {
|
|
36
30
|
onChange({
|
|
37
31
|
target: {
|
|
@@ -41,6 +35,5 @@ var persistValueInFormData = function persistValueInFormData(config, data, onCha
|
|
|
41
35
|
});
|
|
42
36
|
}
|
|
43
37
|
};
|
|
44
|
-
|
|
45
38
|
var _default = persistValueInFormData;
|
|
46
39
|
exports.default = _default;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _persistValueInFormData = _interopRequireDefault(require("./persistValueInFormData"));
|
|
4
|
-
|
|
5
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
7
5
|
describe('Utils.Operate.persistValueInFormData', function () {
|
|
8
6
|
var DATA = {
|
|
9
7
|
alpha: 'abc',
|
|
@@ -11,13 +9,11 @@ describe('Utils.Operate.persistValueInFormData', function () {
|
|
|
11
9
|
charlie: '123'
|
|
12
10
|
};
|
|
13
11
|
var ON_CHANGE_COUNT = 0;
|
|
14
|
-
|
|
15
12
|
var ON_CHANGE = function ON_CHANGE(_ref) {
|
|
16
13
|
var target = _ref.target;
|
|
17
14
|
DATA[target.name] = target.value;
|
|
18
15
|
ON_CHANGE_COUNT++;
|
|
19
16
|
};
|
|
20
|
-
|
|
21
17
|
beforeEach(function () {
|
|
22
18
|
DATA = {
|
|
23
19
|
alpha: 'abc',
|
|
@@ -4,27 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
9
|
-
|
|
10
8
|
var _checkValueIsTruthy = _interopRequireDefault(require("./checkValueIsTruthy"));
|
|
11
|
-
|
|
12
9
|
var _getIndexOfMatchingValueIn = _interopRequireDefault(require("./getIndexOfMatchingValueIn"));
|
|
13
|
-
|
|
14
10
|
var _persistValueInFormData = _interopRequireDefault(require("./persistValueInFormData"));
|
|
15
|
-
|
|
16
11
|
var _setValueInFormData = _interopRequireDefault(require("./setValueInFormData"));
|
|
17
|
-
|
|
18
12
|
var _shouldRun = _interopRequireDefault(require("./shouldRun"));
|
|
19
|
-
|
|
20
13
|
var _setDataItem = _interopRequireDefault(require("../Data/setDataItem"));
|
|
21
|
-
|
|
22
14
|
var _getFirstOf = _interopRequireDefault(require("./getFirstOf"));
|
|
23
|
-
|
|
24
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
16
|
// Global imports.
|
|
17
|
+
|
|
27
18
|
// Local imports.
|
|
19
|
+
|
|
28
20
|
var functions = {
|
|
29
21
|
checkValueIsTruthy: _checkValueIsTruthy.default,
|
|
30
22
|
getIndexOfMatchingValueIn: _getIndexOfMatchingValueIn.default,
|
|
@@ -32,16 +24,14 @@ var functions = {
|
|
|
32
24
|
setValueInFormData: _setValueInFormData.default,
|
|
33
25
|
getFirstOf: _getFirstOf.default
|
|
34
26
|
};
|
|
35
|
-
|
|
36
27
|
var doOperation = function doOperation(config, data, onChange) {
|
|
37
28
|
var fn = functions[config.function];
|
|
38
|
-
|
|
39
29
|
if (typeof fn === 'function') {
|
|
40
30
|
return fn(config, data, onChange);
|
|
41
31
|
}
|
|
42
|
-
|
|
43
32
|
return undefined;
|
|
44
33
|
};
|
|
34
|
+
|
|
45
35
|
/**
|
|
46
36
|
* Run operations, specified in a page's config, on formData.
|
|
47
37
|
*
|
|
@@ -59,27 +49,21 @@ var doOperation = function doOperation(config, data, onChange) {
|
|
|
59
49
|
* @param {function} onChange The page's onChange handler.
|
|
60
50
|
* @returns data with the results of any operations included.
|
|
61
51
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
52
|
var runPageOperations = function runPageOperations(config, data, onChange) {
|
|
65
53
|
if (config !== null && config !== void 0 && config.operations && data) {
|
|
66
54
|
config.operations.forEach(function (op) {
|
|
67
55
|
if ((0, _shouldRun.default)(op.run_when, data)) {
|
|
68
56
|
var result = doOperation(op, data, onChange);
|
|
69
|
-
|
|
70
57
|
if (op.output) {
|
|
71
58
|
// Remove array indexers and replace them with dot separators. This ensures that outputPath will
|
|
72
59
|
// work with setDataItem.
|
|
73
60
|
var outputPath = _copReactComponents.Utils.interpolateString(op.output, data).replace('[', '.').replace(']', '');
|
|
74
|
-
|
|
75
61
|
(0, _setDataItem.default)(data, outputPath, result);
|
|
76
62
|
}
|
|
77
63
|
}
|
|
78
64
|
});
|
|
79
65
|
}
|
|
80
|
-
|
|
81
66
|
return data;
|
|
82
67
|
};
|
|
83
|
-
|
|
84
68
|
var _default = runPageOperations;
|
|
85
69
|
exports.default = _default;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _runPageOperations = _interopRequireDefault(require("./runPageOperations"));
|
|
4
|
-
|
|
5
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
5
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
7
6
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
|
-
|
|
9
7
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
10
|
-
|
|
11
|
-
function
|
|
12
|
-
|
|
8
|
+
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; }
|
|
9
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
+
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
11
|
describe('Utils.Operate.runPageOperations', function () {
|
|
14
12
|
var DATA = {
|
|
15
13
|
alpha: 'abc',
|
|
@@ -4,24 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
9
|
-
|
|
10
8
|
var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
10
|
// Global imports.
|
|
11
|
+
|
|
15
12
|
// Local imports.
|
|
13
|
+
|
|
16
14
|
var setValueInFormData = function setValueInFormData(config, data) {
|
|
17
15
|
if (config !== null && config !== void 0 && config.field) {
|
|
18
16
|
var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
|
|
19
|
-
|
|
20
17
|
return (0, _getSourceData.default)(data, fieldPath) || null;
|
|
21
18
|
}
|
|
22
|
-
|
|
23
19
|
return (config === null || config === void 0 ? void 0 : config.value) || null;
|
|
24
20
|
};
|
|
25
|
-
|
|
26
21
|
var _default = setValueInFormData;
|
|
27
22
|
exports.default = _default;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _setValueInFormData = _interopRequireDefault(require("./setValueInFormData"));
|
|
4
|
-
|
|
5
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
7
5
|
describe('Utils.Operate.addToFormData', function () {
|
|
8
6
|
var DATA = {
|
|
9
7
|
a: '1',
|
|
@@ -4,14 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
9
|
-
|
|
10
8
|
var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
10
|
// Global imports.
|
|
11
|
+
|
|
15
12
|
// Local imports.
|
|
16
13
|
|
|
17
14
|
/**
|
|
@@ -24,44 +21,34 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
24
21
|
var shouldRun = function shouldRun(config, data) {
|
|
25
22
|
if (config !== null && config !== void 0 && config.condition) {
|
|
26
23
|
var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
|
|
27
|
-
|
|
28
24
|
var fieldValue = (0, _getSourceData.default)(data, fieldPath);
|
|
29
|
-
|
|
30
25
|
switch (config.condition) {
|
|
31
26
|
// Only run the operation if a given field's value has changed.
|
|
32
27
|
case 'changes':
|
|
33
28
|
var lastPath = "".concat(fieldPath, "LastValue");
|
|
34
29
|
var lastValue = config[lastPath] || null;
|
|
35
|
-
|
|
36
30
|
if (lastValue === null) {
|
|
37
31
|
// If there isn't a last value then we assume
|
|
38
32
|
// that this is the first render.
|
|
39
33
|
config[lastPath] = fieldValue;
|
|
40
34
|
return false;
|
|
41
35
|
}
|
|
42
|
-
|
|
43
36
|
if (fieldValue !== lastValue) {
|
|
44
37
|
config[lastPath] = fieldValue;
|
|
45
38
|
return true;
|
|
46
39
|
}
|
|
47
|
-
|
|
48
40
|
return false;
|
|
49
41
|
// Only run the operation if a given field's value is truthy.
|
|
50
|
-
|
|
51
42
|
case 'isTruthy':
|
|
52
43
|
return !!fieldValue;
|
|
53
44
|
// Only run the operation if a given field's value is falsy.
|
|
54
|
-
|
|
55
45
|
case 'isFalsy':
|
|
56
46
|
return !fieldValue;
|
|
57
|
-
|
|
58
47
|
default:
|
|
59
48
|
return false;
|
|
60
49
|
}
|
|
61
50
|
}
|
|
62
|
-
|
|
63
51
|
return true;
|
|
64
52
|
};
|
|
65
|
-
|
|
66
53
|
var _default = shouldRun;
|
|
67
54
|
exports.default = _default;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _shouldRun = _interopRequireDefault(require("./shouldRun"));
|
|
4
|
-
|
|
5
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
5
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
7
6
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
|
-
|
|
9
7
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
10
|
-
|
|
11
|
-
function
|
|
12
|
-
|
|
8
|
+
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; }
|
|
9
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
+
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
11
|
describe('Utils.Operate.shouldRun', function () {
|
|
14
12
|
var DATA = {
|
|
15
13
|
alpha: 'abc',
|
|
@@ -25,15 +23,14 @@ describe('Utils.Operate.shouldRun', function () {
|
|
|
25
23
|
};
|
|
26
24
|
var result = (0, _shouldRun.default)(CONFIG, DATA);
|
|
27
25
|
expect(result).toEqual(false); // Expect false as this is the first render.
|
|
28
|
-
|
|
29
26
|
result = (0, _shouldRun.default)(CONFIG, DATA);
|
|
30
27
|
expect(result).toEqual(false); // Expect false as the field hasn't changed.
|
|
31
|
-
|
|
32
28
|
result = (0, _shouldRun.default)(CONFIG, _objectSpread(_objectSpread({}, DATA), {}, {
|
|
33
29
|
alpha: 'bcd'
|
|
34
30
|
}));
|
|
35
31
|
expect(result).toEqual(true); // Expect true as the field's value has been updated.
|
|
36
32
|
});
|
|
33
|
+
|
|
37
34
|
it('Should return true when the condition is \'isTruthy\' and target value is truthy', function () {
|
|
38
35
|
var CONFIG = {
|
|
39
36
|
condition: 'isTruthy',
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Additional validator for the Container component type.
|
|
10
9
|
* @param {object} data the form data
|
|
@@ -16,12 +15,10 @@ exports.default = void 0;
|
|
|
16
15
|
*/
|
|
17
16
|
var conditionallyRequired = function conditionallyRequired(data, config, component) {
|
|
18
17
|
var _data$component$id, _data$component$id2;
|
|
19
|
-
|
|
20
18
|
var conditional = (_data$component$id = data[component.id]) === null || _data$component$id === void 0 ? void 0 : _data$component$id[config.base];
|
|
21
19
|
var checkFieldvalue = (_data$component$id2 = data[component.id]) === null || _data$component$id2 === void 0 ? void 0 : _data$component$id2[config.check];
|
|
22
20
|
var checkHasValue = checkFieldvalue && (checkFieldvalue === null || checkFieldvalue === void 0 ? void 0 : checkFieldvalue.length) > 0;
|
|
23
21
|
return !!(conditional || checkHasValue);
|
|
24
22
|
};
|
|
25
|
-
|
|
26
23
|
var _default = conditionallyRequired;
|
|
27
24
|
exports.default = _default;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _conditionallyRequired = _interopRequireDefault(require("./conditionallyRequired"));
|
|
4
|
-
|
|
5
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
7
5
|
describe('utils', function () {
|
|
8
6
|
describe('Validate', function () {
|
|
9
7
|
describe('additional', function () {
|
|
@@ -4,38 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _conditionallyRequired = _interopRequireDefault(require("./conditionallyRequired"));
|
|
9
|
-
|
|
10
8
|
var _mustBeAfter = _interopRequireDefault(require("./mustBeAfter"));
|
|
11
|
-
|
|
12
9
|
var _mustBeBefore = _interopRequireDefault(require("./mustBeBefore"));
|
|
13
|
-
|
|
14
10
|
var _mustBeEarlierDateTime = _interopRequireDefault(require("./mustBeEarlierDateTime"));
|
|
15
|
-
|
|
16
11
|
var _mustBeInThePast = _interopRequireDefault(require("./mustBeInThePast"));
|
|
17
|
-
|
|
18
12
|
var _mustBeInTheFuture = _interopRequireDefault(require("./mustBeInTheFuture"));
|
|
19
|
-
|
|
20
13
|
var _mustBeLongerThan = _interopRequireDefault(require("./mustBeLongerThan"));
|
|
21
|
-
|
|
22
14
|
var _mustBeShorterThan = _interopRequireDefault(require("./mustBeShorterThan"));
|
|
23
|
-
|
|
24
15
|
var _mustBeGreaterThan = _interopRequireDefault(require("./mustBeGreaterThan"));
|
|
25
|
-
|
|
26
16
|
var _mustBeLessThan = _interopRequireDefault(require("./mustBeLessThan"));
|
|
27
|
-
|
|
28
17
|
var _mustBeNumbersOnly = _interopRequireDefault(require("./mustBeNumbersOnly"));
|
|
29
|
-
|
|
30
18
|
var _mustEnterAtLeastOne = _interopRequireDefault(require("./mustEnterAtLeastOne"));
|
|
31
|
-
|
|
32
19
|
var _mustHaveLessThanDecimalPlaces = _interopRequireDefault(require("./mustHaveLessThanDecimalPlaces"));
|
|
33
|
-
|
|
34
20
|
var _mustSelectOnlyOne = _interopRequireDefault(require("./mustSelectOnlyOne"));
|
|
35
|
-
|
|
36
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
|
-
|
|
38
22
|
// Local imports
|
|
23
|
+
|
|
39
24
|
var functions = {
|
|
40
25
|
conditionallyRequired: _conditionallyRequired.default,
|
|
41
26
|
mustBeAfter: _mustBeAfter.default,
|
|
@@ -52,17 +37,13 @@ var functions = {
|
|
|
52
37
|
mustHaveLessThanDecimalPlaces: _mustHaveLessThanDecimalPlaces.default,
|
|
53
38
|
mustSelectOnlyOne: _mustSelectOnlyOne.default
|
|
54
39
|
};
|
|
55
|
-
|
|
56
40
|
var additionalValidation = function additionalValidation(value, config, component) {
|
|
57
41
|
var fn = functions[config.function];
|
|
58
|
-
|
|
59
42
|
if (typeof fn === 'function') {
|
|
60
43
|
return fn(value, config, component) ? undefined : config.message;
|
|
61
44
|
}
|
|
62
|
-
|
|
63
45
|
return undefined;
|
|
64
46
|
};
|
|
65
|
-
|
|
66
47
|
var runAdditionalComponentValidation = function runAdditionalComponentValidation(component, value) {
|
|
67
48
|
// We only care when we have a value - if we don't have one but want one, set `required: true`.
|
|
68
49
|
if (!!value) {
|
|
@@ -77,9 +58,7 @@ var runAdditionalComponentValidation = function runAdditionalComponentValidation
|
|
|
77
58
|
return error;
|
|
78
59
|
}
|
|
79
60
|
}
|
|
80
|
-
|
|
81
61
|
return undefined;
|
|
82
62
|
};
|
|
83
|
-
|
|
84
63
|
var _default = runAdditionalComponentValidation;
|
|
85
64
|
exports.default = _default;
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
4
|
-
|
|
5
4
|
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
6
|
-
|
|
7
5
|
var _utils = require("./utils");
|
|
8
|
-
|
|
9
6
|
var _index = _interopRequireDefault(require("./index"));
|
|
10
|
-
|
|
11
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
|
|
13
8
|
_dayjs.default.extend(_customParseFormat.default);
|
|
14
|
-
|
|
15
9
|
describe('utils', function () {
|
|
16
10
|
describe('Validate', function () {
|
|
17
11
|
describe('additional', function () {
|
|
@@ -4,18 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
9
|
-
|
|
10
8
|
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
11
|
-
|
|
12
9
|
var _utils = require("./utils");
|
|
13
|
-
|
|
14
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
11
|
// Global imports
|
|
12
|
+
|
|
17
13
|
// Local imports
|
|
14
|
+
|
|
18
15
|
_dayjs.default.extend(_customParseFormat.default);
|
|
16
|
+
|
|
19
17
|
/**
|
|
20
18
|
* Checks that a date is after either:
|
|
21
19
|
* - A specified, fixed date.
|
|
@@ -28,12 +26,9 @@ _dayjs.default.extend(_customParseFormat.default);
|
|
|
28
26
|
* @param {number} config.value - number of the unit to be after
|
|
29
27
|
* @returns false if date is not after the given date/offset or true if it is.
|
|
30
28
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
29
|
var mustBeAfter = function mustBeAfter(date, config) {
|
|
34
30
|
var dateToCompare = config.date ? (0, _dayjs.default)((0, _utils.formatString)(config.date), _utils.DATE_FORMAT) : (0, _dayjs.default)().add(config.value, config.unit);
|
|
35
31
|
return (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isAfter(dateToCompare);
|
|
36
32
|
};
|
|
37
|
-
|
|
38
33
|
var _default = mustBeAfter;
|
|
39
34
|
exports.default = _default;
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
4
|
-
|
|
5
4
|
var _mustBeAfter = _interopRequireDefault(require("./mustBeAfter"));
|
|
6
|
-
|
|
7
5
|
var _utils = require("./utils");
|
|
8
|
-
|
|
9
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
|
|
11
7
|
describe('utils', function () {
|
|
12
8
|
describe('Validate', function () {
|
|
13
9
|
describe('additional', function () {
|
|
@@ -4,18 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
9
|
-
|
|
10
8
|
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
11
|
-
|
|
12
9
|
var _utils = require("./utils");
|
|
13
|
-
|
|
14
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
11
|
// Global imports
|
|
12
|
+
|
|
17
13
|
// Local imports
|
|
14
|
+
|
|
18
15
|
_dayjs.default.extend(_customParseFormat.default);
|
|
16
|
+
|
|
19
17
|
/**
|
|
20
18
|
* Checks that a date is before either:
|
|
21
19
|
* - A specified, fixed date.
|
|
@@ -28,12 +26,9 @@ _dayjs.default.extend(_customParseFormat.default);
|
|
|
28
26
|
* @param {number} config.value - number of the unit to be before
|
|
29
27
|
* @returns false if date is not before the given date/offset or true if it is.
|
|
30
28
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
29
|
var mustBeBefore = function mustBeBefore(date, config) {
|
|
34
30
|
var dateToCompare = config.date ? (0, _dayjs.default)((0, _utils.formatString)(config.date), _utils.DATE_FORMAT) : (0, _dayjs.default)().add(config.value, config.unit);
|
|
35
31
|
return (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isBefore(dateToCompare);
|
|
36
32
|
};
|
|
37
|
-
|
|
38
33
|
var _default = mustBeBefore;
|
|
39
34
|
exports.default = _default;
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
4
|
-
|
|
5
4
|
var _mustBeBefore = _interopRequireDefault(require("./mustBeBefore"));
|
|
6
|
-
|
|
7
5
|
var _utils = require("./utils");
|
|
8
|
-
|
|
9
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
|
|
11
7
|
describe('utils', function () {
|
|
12
8
|
describe('Validate', function () {
|
|
13
9
|
describe('additional', function () {
|
|
@@ -4,20 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
9
|
-
|
|
10
8
|
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
11
|
-
|
|
12
9
|
var _validateComponent = _interopRequireDefault(require("../validateComponent"));
|
|
13
|
-
|
|
14
10
|
var _utils = require("./utils");
|
|
15
|
-
|
|
16
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
18
12
|
// Global Imports
|
|
13
|
+
|
|
19
14
|
//Local imports
|
|
15
|
+
|
|
20
16
|
_dayjs.default.extend(_customParseFormat.default);
|
|
17
|
+
|
|
21
18
|
/**
|
|
22
19
|
* Checks whether the combination of a given date & time input is in the past.
|
|
23
20
|
* NOTE: This additional validation will only work for containers. They get the
|
|
@@ -31,37 +28,29 @@ _dayjs.default.extend(_customParseFormat.default);
|
|
|
31
28
|
* the individual components. False if the date & time is in the future, or
|
|
32
29
|
* the date/time component can't be found.
|
|
33
30
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
31
|
var mustBeEarlierDateTime = function mustBeEarlierDateTime(data, config, container) {
|
|
37
32
|
var _container$components, _container$components2, _data$container$field, _data$container$field2;
|
|
38
|
-
|
|
39
33
|
var date = (_container$components = container.components) === null || _container$components === void 0 ? void 0 : _container$components.find(function (c) {
|
|
40
34
|
return c.fieldId === config.date;
|
|
41
35
|
});
|
|
42
36
|
var time = (_container$components2 = container.components) === null || _container$components2 === void 0 ? void 0 : _container$components2.find(function (c) {
|
|
43
37
|
return c.fieldId === config.time;
|
|
44
38
|
});
|
|
45
|
-
|
|
46
39
|
if (!date || !time || !data) {
|
|
47
40
|
return false;
|
|
48
|
-
}
|
|
41
|
+
}
|
|
42
|
+
// Here we return true if there are errors with the date & time components
|
|
49
43
|
// individually. This is to allow them to process their errors, and to prevent
|
|
50
44
|
// validation from stopping at the container level.
|
|
51
|
-
|
|
52
|
-
|
|
53
45
|
if ((0, _validateComponent.default)(date, data[container.fieldId], data[container.fieldId])) {
|
|
54
46
|
return true;
|
|
55
47
|
}
|
|
56
|
-
|
|
57
48
|
if ((0, _validateComponent.default)(time, data[container.fieldId], data[container.fieldId])) {
|
|
58
49
|
return true;
|
|
59
50
|
}
|
|
60
|
-
|
|
61
51
|
var dateStr = (0, _utils.formatString)((_data$container$field = data[container.fieldId]) === null || _data$container$field === void 0 ? void 0 : _data$container$field[config.date]);
|
|
62
52
|
var timeStr = (0, _utils.formattedTime)((_data$container$field2 = data[container.fieldId]) === null || _data$container$field2 === void 0 ? void 0 : _data$container$field2[config.time]);
|
|
63
53
|
return (0, _dayjs.default)("".concat(dateStr, " ").concat(timeStr), "".concat(_utils.DATE_FORMAT, " HH:mm")).isBefore((0, _dayjs.default)());
|
|
64
54
|
};
|
|
65
|
-
|
|
66
55
|
var _default = mustBeEarlierDateTime;
|
|
67
56
|
exports.default = _default;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _mustBeEarlierDateTime = _interopRequireDefault(require("./mustBeEarlierDateTime"));
|
|
4
|
-
|
|
5
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
5
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
7
6
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
|
-
|
|
9
7
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
10
|
-
|
|
11
|
-
function
|
|
12
|
-
|
|
8
|
+
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; }
|
|
9
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
+
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
11
|
describe('utils.Validate.additional.mustBeEarlierDateTime', function () {
|
|
14
12
|
var DATA = {
|
|
15
13
|
testContainer: {
|
|
@@ -40,7 +38,6 @@ describe('utils.Validate.additional.mustBeEarlierDateTime', function () {
|
|
|
40
38
|
var EDITED_CONFIG = _objectSpread(_objectSpread({}, CONFIG), {}, {
|
|
41
39
|
date: 'notARealComponent'
|
|
42
40
|
});
|
|
43
|
-
|
|
44
41
|
var result = (0, _mustBeEarlierDateTime.default)(DATA, EDITED_CONFIG, CONTAINER);
|
|
45
42
|
expect(result).toEqual(false);
|
|
46
43
|
});
|
|
@@ -48,7 +45,6 @@ describe('utils.Validate.additional.mustBeEarlierDateTime', function () {
|
|
|
48
45
|
var EDITED_CONFIG = _objectSpread(_objectSpread({}, CONFIG), {}, {
|
|
49
46
|
time: 'notARealComponent'
|
|
50
47
|
});
|
|
51
|
-
|
|
52
48
|
var result = (0, _mustBeEarlierDateTime.default)(DATA, EDITED_CONFIG, CONTAINER);
|
|
53
49
|
expect(result).toEqual(false);
|
|
54
50
|
});
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* @param {*} value - the value to check.
|
|
10
9
|
* @param {number} config.value - the value must be greater than config.value.
|
|
@@ -16,10 +15,8 @@ var mustBeGreaterThan = function mustBeGreaterThan(value, config) {
|
|
|
16
15
|
// and not considered here as they would be valid for optional fields.
|
|
17
16
|
return true;
|
|
18
17
|
}
|
|
19
|
-
|
|
20
18
|
var finalValue = typeof value === 'string' ? value.replace(/,/g, '') : value;
|
|
21
19
|
return parseFloat(finalValue) > config.value;
|
|
22
20
|
};
|
|
23
|
-
|
|
24
21
|
var _default = mustBeGreaterThan;
|
|
25
22
|
exports.default = _default;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _mustBeGreaterThan = _interopRequireDefault(require("./mustBeGreaterThan"));
|
|
4
|
-
|
|
5
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
7
5
|
describe('utils', function () {
|
|
8
6
|
describe('Validate', function () {
|
|
9
7
|
describe('additional', function () {
|