@oneblink/apps-react 6.11.0-beta.1 → 6.11.0-beta.2
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/renderer/LookupButton.js +1 -1
- package/dist/components/renderer/LookupButton.js.map +1 -1
- package/dist/components/renderer/attachments/FileCard.js +1 -1
- package/dist/components/renderer/attachments/FileCard.js.map +1 -1
- package/dist/form-elements/FormElementFiles.js +1 -1
- package/dist/form-elements/FormElementFiles.js.map +1 -1
- package/dist/form-elements/FormElementSection.js +1 -1
- package/dist/form-elements/FormElementSection.js.map +1 -1
- package/dist/hooks/useFormValidation.js +9 -6
- package/dist/hooks/useFormValidation.js.map +1 -1
- package/dist/hooks/usePages.js +1 -1
- package/dist/hooks/usePages.js.map +1 -1
- package/dist/services/form-validation/extensions.d.ts +26 -0
- package/dist/services/form-validation/extensions.js +93 -0
- package/dist/services/form-validation/extensions.js.map +1 -0
- package/dist/services/form-validation/validate-dot-js.d.ts +63 -0
- package/dist/services/form-validation/validate-dot-js.js +329 -0
- package/dist/services/form-validation/validate-dot-js.js.map +1 -0
- package/dist/services/form-validation/validateSubmission.d.ts +9 -0
- package/dist/services/form-validation/validateSubmission.js +490 -0
- package/dist/services/form-validation/validateSubmission.js.map +1 -0
- package/dist/services/form-validation/validators.d.ts +13 -0
- package/dist/services/form-validation/validators.js +70 -0
- package/dist/services/form-validation/validators.js.map +1 -0
- package/dist/services/generateCivicaNameRecordElements.d.ts +1 -1
- package/dist/services/generateCivicaNameRecordElements.js.map +1 -1
- package/package.json +1 -2
- package/dist/services/form-validation.d.ts +0 -10
- package/dist/services/form-validation.js +0 -604
- package/dist/services/form-validation.js.map +0 -1
@@ -0,0 +1,70 @@
|
|
1
|
+
import getDateRangeConfiguration from '../getDateRangeConfiguration';
|
2
|
+
import cleanFormSubmissionModel from '../cleanFormSubmissionModel';
|
3
|
+
import getRepeatableSetEntriesConfiguration from '../getRepeatableSetEntriesConfiguration';
|
4
|
+
export function getCleanDateRangeConfiguration(options, elements, submission, formElementsConditionallyShown) {
|
5
|
+
if (options.referenceFormElementId && submission) {
|
6
|
+
const { model } = cleanFormSubmissionModel(submission, elements, formElementsConditionallyShown, true);
|
7
|
+
return getDateRangeConfiguration(options, elements, model);
|
8
|
+
}
|
9
|
+
return [options.date, options.daysOffset];
|
10
|
+
}
|
11
|
+
export function getCleanRepeatableSetConfiguration(setEntries, elements, submission, formElementsConditionallyShown) {
|
12
|
+
if (submission) {
|
13
|
+
const { model } = cleanFormSubmissionModel(submission, elements, formElementsConditionallyShown, true);
|
14
|
+
return getRepeatableSetEntriesConfiguration(setEntries, elements, model);
|
15
|
+
}
|
16
|
+
}
|
17
|
+
export function checkFileNameIsValid(formElement, fileName) {
|
18
|
+
const extension = fileName.split('.').pop();
|
19
|
+
return (!formElement.restrictedFileTypes ||
|
20
|
+
formElement.restrictedFileTypes.some((fileType) => fileType.toLowerCase() === (extension === null || extension === void 0 ? void 0 : extension.toLowerCase())));
|
21
|
+
}
|
22
|
+
export function checkFileNameExtensionIsValid(formElement, fileName) {
|
23
|
+
return (formElement.allowExtensionlessAttachments || fileName.split('.').length >= 2);
|
24
|
+
}
|
25
|
+
export function checkSectionValidity(element, formElementsValidation) {
|
26
|
+
// If everything is valid, no need to check elements
|
27
|
+
if (!formElementsValidation) {
|
28
|
+
return false;
|
29
|
+
}
|
30
|
+
// If there is no elements on the page that are invalid, we will treat as valid
|
31
|
+
return element.elements.some((formElement) => {
|
32
|
+
switch (formElement.type) {
|
33
|
+
case 'page':
|
34
|
+
case 'section': {
|
35
|
+
return checkSectionValidity(formElement, formElementsValidation);
|
36
|
+
}
|
37
|
+
default: {
|
38
|
+
return formElementsValidation[formElement.name];
|
39
|
+
}
|
40
|
+
}
|
41
|
+
});
|
42
|
+
}
|
43
|
+
export function getInvalidAttachment(value) {
|
44
|
+
if (value &&
|
45
|
+
typeof value === 'object' &&
|
46
|
+
'type' in value &&
|
47
|
+
value.type === 'ERROR') {
|
48
|
+
return value;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
export function validateAttachments(value) {
|
52
|
+
const invalidAttachmentNames = value === null || value === void 0 ? void 0 : value.reduce((invalidAttachmentNames, att) => {
|
53
|
+
var _a;
|
54
|
+
const attachmentName = (_a = getInvalidAttachment(att)) === null || _a === void 0 ? void 0 : _a.fileName;
|
55
|
+
if (attachmentName) {
|
56
|
+
invalidAttachmentNames.push(attachmentName);
|
57
|
+
}
|
58
|
+
return invalidAttachmentNames;
|
59
|
+
}, []);
|
60
|
+
if (invalidAttachmentNames === null || invalidAttachmentNames === void 0 ? void 0 : invalidAttachmentNames.length) {
|
61
|
+
return [`${invalidAttachmentNames.join(', ')} could not be uploaded.`];
|
62
|
+
}
|
63
|
+
return [];
|
64
|
+
}
|
65
|
+
export const generateLookupValidationMessage = (lookupButtonConfig) => {
|
66
|
+
return lookupButtonConfig && lookupButtonConfig.label
|
67
|
+
? `${lookupButtonConfig.label} is required`
|
68
|
+
: 'Lookup is required';
|
69
|
+
};
|
70
|
+
//# sourceMappingURL=validators.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/services/form-validation/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import { FormsAppsTypes, FormTypes, SubmissionTypes } from '@oneblink/types'\nimport getDateRangeConfiguration, {\n DateRangeConfigurationOptions,\n} from '../getDateRangeConfiguration'\nimport {\n FormElementsConditionallyShown,\n FormElementsValidation,\n} from '../../types/form'\nimport cleanFormSubmissionModel from '../cleanFormSubmissionModel'\nimport getRepeatableSetEntriesConfiguration from '../getRepeatableSetEntriesConfiguration'\nimport { attachmentsService } from '@oneblink/apps'\nimport { FormElementBinaryStorageValue } from '../../types/attachments'\n\nexport function getCleanDateRangeConfiguration(\n options: DateRangeConfigurationOptions,\n elements: FormTypes.FormElement[],\n submission: SubmissionTypes.S3SubmissionData['submission'] | undefined,\n formElementsConditionallyShown: FormElementsConditionallyShown | undefined,\n): ReturnType<typeof getDateRangeConfiguration> {\n if (options.referenceFormElementId && submission) {\n const { model } = cleanFormSubmissionModel(\n submission,\n elements,\n formElementsConditionallyShown,\n true,\n )\n return getDateRangeConfiguration(options, elements, model)\n }\n return [options.date, options.daysOffset]\n}\n\nexport function getCleanRepeatableSetConfiguration(\n setEntries: FormTypes.RepeatableSetElement['minSetEntries'],\n elements: FormTypes.FormElement[],\n submission: SubmissionTypes.S3SubmissionData['submission'] | undefined,\n formElementsConditionallyShown: FormElementsConditionallyShown | undefined,\n) {\n if (submission) {\n const { model } = cleanFormSubmissionModel(\n submission,\n elements,\n formElementsConditionallyShown,\n true,\n )\n return getRepeatableSetEntriesConfiguration(setEntries, elements, model)\n }\n}\n\nexport function checkFileNameIsValid(\n formElement: FormTypes.FilesElement,\n fileName: string,\n) {\n const extension = fileName.split('.').pop()\n return (\n !formElement.restrictedFileTypes ||\n formElement.restrictedFileTypes.some(\n (fileType) => fileType.toLowerCase() === extension?.toLowerCase(),\n )\n )\n}\n\nexport function checkFileNameExtensionIsValid(\n formElement: FormTypes.FilesElement,\n fileName: string,\n) {\n return (\n formElement.allowExtensionlessAttachments || fileName.split('.').length >= 2\n )\n}\n\nexport function checkSectionValidity(\n element: FormTypes.PageElement | FormTypes.SectionElement,\n formElementsValidation: FormElementsValidation | undefined,\n): boolean {\n // If everything is valid, no need to check elements\n if (!formElementsValidation) {\n return false\n }\n\n // If there is no elements on the page that are invalid, we will treat as valid\n return element.elements.some((formElement) => {\n switch (formElement.type) {\n case 'page':\n case 'section': {\n return checkSectionValidity(formElement, formElementsValidation)\n }\n default: {\n return formElementsValidation[formElement.name]\n }\n }\n })\n}\n\nexport function getInvalidAttachment(\n value: unknown,\n): attachmentsService.AttachmentError | undefined {\n if (\n value &&\n typeof value === 'object' &&\n 'type' in value &&\n value.type === 'ERROR'\n ) {\n return value as attachmentsService.AttachmentError\n }\n}\n\nexport function validateAttachments(\n value: FormElementBinaryStorageValue[] | undefined,\n): string[] {\n const invalidAttachmentNames = value?.reduce(\n (invalidAttachmentNames: string[], att) => {\n const attachmentName = getInvalidAttachment(att)?.fileName\n if (attachmentName) {\n invalidAttachmentNames.push(attachmentName)\n }\n return invalidAttachmentNames\n },\n [],\n )\n if (invalidAttachmentNames?.length) {\n return [`${invalidAttachmentNames.join(', ')} could not be uploaded.`]\n }\n return []\n}\n\nexport const generateLookupValidationMessage = (\n lookupButtonConfig?: FormsAppsTypes.ButtonConfiguration,\n) => {\n return lookupButtonConfig && lookupButtonConfig.label\n ? `${lookupButtonConfig.label} is required`\n : 'Lookup is required'\n}\n"]}
|
@@ -1,2 +1,2 @@
|
|
1
1
|
import { FormTypes } from '@oneblink/types';
|
2
|
-
export default function generateCivicaNameRecordElements(element: FormTypes.CivicaNameRecordElement, titleCodeOptions?: FormTypes.ChoiceElementOption[]): FormTypes.
|
2
|
+
export default function generateCivicaNameRecordElements(element: FormTypes.CivicaNameRecordElement, titleCodeOptions?: FormTypes.ChoiceElementOption[]): FormTypes.FormElementWithName[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generateCivicaNameRecordElements.js","sourceRoot":"","sources":["../../src/services/generateCivicaNameRecordElements.ts"],"names":[],"mappings":"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","sourcesContent":["import { v4 as uuid } from 'uuid'\nimport { FormTypes } from '@oneblink/types'\n\nconst createFormElement = () => ({\n id: uuid(),\n conditionallyShow: false,\n requiresAllConditionallyShowPredicates: false,\n isDataLookup: false,\n isElementLookup: false,\n})\n\nfunction generateCivicaNameRecordAddressElements(\n element: FormTypes.CivicaNameRecordElement,\n): FormTypes.FormElement[] {\n if (element.useGeoscapeAddressing) {\n return [\n {\n ...createFormElement(),\n type: 'geoscapeAddress',\n name: 'address1',\n label: element.address1Label || 'Address',\n required: element.required,\n readOnly: element.readOnly,\n },\n ]\n }\n return [\n {\n ...createFormElement(),\n type: 'text',\n name: 'address1',\n label: element.address1Label || 'Address 1',\n required: element.required,\n readOnly: element.readOnly,\n },\n {\n ...createFormElement(),\n type: 'text',\n name: 'address2',\n label: element.address2Label || 'Address 2',\n required: element.required,\n readOnly: element.readOnly,\n },\n {\n ...createFormElement(),\n type: 'text',\n name: 'postcode',\n label: element.postcodeLabel || 'Postcode',\n required: element.required,\n readOnly: element.readOnly,\n },\n ]\n}\n\nexport default function generateCivicaNameRecordElements(\n element: FormTypes.CivicaNameRecordElement,\n titleCodeOptions?: FormTypes.ChoiceElementOption[],\n): FormTypes.
|
1
|
+
{"version":3,"file":"generateCivicaNameRecordElements.js","sourceRoot":"","sources":["../../src/services/generateCivicaNameRecordElements.ts"],"names":[],"mappings":"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","sourcesContent":["import { v4 as uuid } from 'uuid'\nimport { FormTypes } from '@oneblink/types'\n\nconst createFormElement = () => ({\n id: uuid(),\n conditionallyShow: false,\n requiresAllConditionallyShowPredicates: false,\n isDataLookup: false,\n isElementLookup: false,\n})\n\nfunction generateCivicaNameRecordAddressElements(\n element: FormTypes.CivicaNameRecordElement,\n): FormTypes.FormElement[] {\n if (element.useGeoscapeAddressing) {\n return [\n {\n ...createFormElement(),\n type: 'geoscapeAddress',\n name: 'address1',\n label: element.address1Label || 'Address',\n required: element.required,\n readOnly: element.readOnly,\n },\n ]\n }\n return [\n {\n ...createFormElement(),\n type: 'text',\n name: 'address1',\n label: element.address1Label || 'Address 1',\n required: element.required,\n readOnly: element.readOnly,\n },\n {\n ...createFormElement(),\n type: 'text',\n name: 'address2',\n label: element.address2Label || 'Address 2',\n required: element.required,\n readOnly: element.readOnly,\n },\n {\n ...createFormElement(),\n type: 'text',\n name: 'postcode',\n label: element.postcodeLabel || 'Postcode',\n required: element.required,\n readOnly: element.readOnly,\n },\n ]\n}\n\nexport default function generateCivicaNameRecordElements(\n element: FormTypes.CivicaNameRecordElement,\n titleCodeOptions?: FormTypes.ChoiceElementOption[],\n): FormTypes.FormElementWithName[] {\n const elementsWithHidden: Array<\n FormTypes.FormElementWithName & { civicaIsHidden?: boolean }\n > = [\n {\n ...createFormElement(),\n type: titleCodeOptions ? 'select' : 'text',\n name: 'title',\n label: element.titleLabel || 'Title',\n required: element.required,\n readOnly: element.readOnly,\n optionsType: 'CUSTOM',\n options: titleCodeOptions || [],\n multi: false,\n },\n {\n ...createFormElement(),\n type: 'text',\n name: 'givenName1',\n label: element.givenName1Label || 'Given Name 1',\n required: !!element.givenName1IsRequired,\n readOnly: element.readOnly,\n civicaIsHidden: element.givenName1IsHidden,\n },\n {\n ...createFormElement(),\n type: 'text',\n name: 'familyName',\n label: element.familyNameLabel || 'Family Name',\n required: element.required,\n readOnly: element.readOnly,\n },\n {\n ...createFormElement(),\n type: 'email',\n name: 'emailAddress',\n label: element.emailAddressLabel || 'Email Address',\n required: !!element.emailAddressIsRequired,\n readOnly: element.readOnly,\n civicaIsHidden: element.emailAddressIsHidden,\n },\n {\n ...createFormElement(),\n type: 'telephone',\n name: 'homePhone',\n label: element.homePhoneLabel || 'Home Phone',\n required: !!element.homePhoneIsRequired,\n readOnly: element.readOnly,\n civicaIsHidden: element.homePhoneIsHidden,\n },\n {\n ...createFormElement(),\n type: 'telephone',\n name: 'businessPhone',\n label: element.businessPhoneLabel || 'Business Phone',\n required: !!element.businessPhoneIsRequired,\n readOnly: element.readOnly,\n civicaIsHidden: element.businessPhoneIsHidden,\n },\n {\n ...createFormElement(),\n type: 'telephone',\n name: 'mobilePhone',\n label: element.mobilePhoneLabel || 'Mobile Phone',\n required: !!element.mobilePhoneIsRequired,\n readOnly: element.readOnly,\n civicaIsHidden: element.mobilePhoneIsHidden,\n },\n {\n ...createFormElement(),\n type: 'telephone',\n name: 'faxPhone',\n label: element.faxPhoneLabel || 'Fax Phone',\n required: !!element.faxPhoneIsRequired,\n readOnly: element.readOnly,\n civicaIsHidden: element.faxPhoneIsHidden,\n },\n {\n ...createFormElement(),\n type: 'repeatableSet',\n name: 'streetAddress',\n label: element.streetAddressesLabel || 'Street Addresses',\n minSetEntries: element.required ? 1 : undefined,\n readOnly: element.readOnly,\n elements: generateCivicaNameRecordAddressElements(element),\n },\n ]\n return elementsWithHidden\n .filter((ele) => !ele.civicaIsHidden)\n .map((ele) => {\n delete ele.civicaIsHidden\n return ele\n })\n}\n"]}
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@oneblink/apps-react",
|
3
3
|
"description": "Helper functions for OneBlink apps in ReactJS.",
|
4
|
-
"version": "6.11.0-beta.
|
4
|
+
"version": "6.11.0-beta.2",
|
5
5
|
"author": "OneBlink <developers@oneblink.io> (https://oneblink.io)",
|
6
6
|
"bugs": {
|
7
7
|
"url": "https://github.com/oneblink/apps-react/issues"
|
@@ -39,7 +39,6 @@
|
|
39
39
|
"sanitize-html": "^2.11.0",
|
40
40
|
"use-resize-observer": "^9.1.0",
|
41
41
|
"uuid": "^9.0.1",
|
42
|
-
"validate.js": "^0.13.1",
|
43
42
|
"xml2js": "^0.6.2"
|
44
43
|
},
|
45
44
|
"devDependencies": {
|
@@ -1,10 +0,0 @@
|
|
1
|
-
import { FormTypes, FormsAppsTypes, SubmissionTypes } from '@oneblink/types';
|
2
|
-
import { CaptchaType, ExecutedLookupValue, FormElementsConditionallyShown, FormElementsValidation } from '../types/form';
|
3
|
-
export declare const generateLookupValidationMessage: (lookupButtonConfig?: FormsAppsTypes.ButtonConfiguration) => string;
|
4
|
-
type ValidateJSSchema = Record<string, unknown>;
|
5
|
-
export declare function generateValidationSchema(elements: FormTypes.FormElementWithName[]): ValidateJSSchema;
|
6
|
-
export declare function validateSubmission(schema: ValidateJSSchema, submission: SubmissionTypes.S3SubmissionData['submission'] | undefined, formElementsConditionallyShown: FormElementsConditionallyShown | undefined, executedLookups: ExecutedLookupValue, captchaType: CaptchaType): FormElementsValidation | undefined;
|
7
|
-
export declare function checkFileNameIsValid(formElement: FormTypes.FilesElement, fileName: string): boolean;
|
8
|
-
export declare function checkFileNameExtensionIsValid(formElement: FormTypes.FilesElement, fileName: string): boolean;
|
9
|
-
export declare function checkSectionValidity(element: FormTypes.PageElement | FormTypes.SectionElement, formElementsValidation: FormElementsValidation | undefined): boolean;
|
10
|
-
export {};
|