@oneblink/apps-react 1.2.5 → 2.0.0-beta.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/renderer/OneBlinkFormElements.js.map +1 -1
- package/dist/components/renderer/attachments/AttachmentStatus.d.ts +2 -4
- package/dist/components/renderer/attachments/AttachmentStatus.js +1 -5
- package/dist/components/renderer/attachments/AttachmentStatus.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/FormElementCamera.js +10 -38
- package/dist/form-elements/FormElementCamera.js.map +1 -1
- package/dist/form-elements/FormElementCompliance.d.ts +2 -2
- package/dist/form-elements/FormElementCompliance.js.map +1 -1
- package/dist/form-elements/{FormElementFiles/FormElementFile.d.ts → FormElementFile.d.ts} +2 -2
- package/dist/form-elements/{FormElementFiles/FormElementFile.js → FormElementFile.js} +3 -3
- package/dist/form-elements/FormElementFile.js.map +1 -0
- package/dist/form-elements/{FormElementFiles/FormElementFiles.d.ts → FormElementFiles.d.ts} +5 -5
- package/dist/form-elements/{FormElementFiles/FormElementFiles.js → FormElementFiles.js} +9 -3
- package/dist/form-elements/FormElementFiles.js.map +1 -0
- package/dist/form-elements/FormElementSignature.js +2 -7
- package/dist/form-elements/FormElementSignature.js.map +1 -1
- package/dist/hooks/attachments/useAttachment.js +1 -1
- package/dist/hooks/attachments/useAttachment.js.map +1 -1
- package/dist/services/attachments.d.ts +0 -1
- package/dist/services/attachments.js +1 -4
- package/dist/services/attachments.js.map +1 -1
- package/dist/services/checkIfAttachmentsAreUploading.js +0 -4
- package/dist/services/checkIfAttachmentsAreUploading.js.map +1 -1
- package/dist/services/checkIfAttachmentsExist.js +0 -4
- package/dist/services/checkIfAttachmentsExist.js.map +1 -1
- package/dist/services/cleanFormSubmissionModel.js +2 -5
- package/dist/services/cleanFormSubmissionModel.js.map +1 -1
- package/dist/services/form-validation.js +4 -5
- package/dist/services/form-validation.js.map +1 -1
- package/dist/services/generate-default-data.js +6 -19
- package/dist/services/generate-default-data.js.map +1 -1
- package/package.json +2 -2
- package/dist/form-elements/FormElementFiles/FormElementFile.js.map +0 -1
- package/dist/form-elements/FormElementFiles/FormElementFiles.js.map +0 -1
- package/dist/form-elements/FormElementFiles/index.d.ts +0 -17
- package/dist/form-elements/FormElementFiles/index.js +0 -18
- package/dist/form-elements/FormElementFiles/index.js.map +0 -1
- package/dist/form-elements/FormElementFiles/legacy/FormElementFiles.d.ts +0 -18
- package/dist/form-elements/FormElementFiles/legacy/FormElementFiles.js +0 -61
- package/dist/form-elements/FormElementFiles/legacy/FormElementFiles.js.map +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/form-elements/FormElementFiles/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,sBAEN,MAAM,2BAA2B,CAAA;AAClC,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAYtE,MAAM,UAAU,oBAAoB,CAAC,KAA+B;IAClE,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;KAC7B;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,0BAA0B,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAS,EAAE,EAAE;IAC1E,IAAI,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAC5C,OAAO,CACL,oBAAC,sBAAsB,IACrB,KAAK,EAAE,KAAuC,EAC9C,QAAQ,EAAE,QAA6D,KACnE,KAAK,GACT,CACH,CAAA;KACF;IACD,OAAO,CACL,oBAAC,gBAAgB,IACf,KAAK,EAAE,KAAiC,EACxC,QAAQ,EAAE,QAAuD,KAC7D,KAAK,GACT,CACH,CAAA;AACH,CAAC,CAAA;AAED,eAAe,KAAK,CAAC,IAAI,CAAQ,0BAA0B,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { FormTypes } from '@oneblink/types'\nimport FormElementFilesLegacy, {\n FilesElementFile,\n} from './legacy/FormElementFiles'\nimport FormElementFiles from './FormElementFiles'\nimport { Attachment } from '../../types/attachments'\nimport { checkIsUsingLegacyStorage } from '../../services/attachments'\nimport { FormElementValueChangeHandler } from '../../types/form'\nexport type PossibleFileConfiguration = Attachment | FilesElementFile\ninterface Props {\n id: string\n element: FormTypes.FilesElement\n value: unknown\n onChange: FormElementValueChangeHandler\n displayValidationMessage: boolean\n validationMessage: string | undefined\n}\n\nexport function stringifyAttachments(value: Attachment[] | undefined): string {\n if (value?.every((attachment) => !attachment.type)) {\n return JSON.stringify(value)\n }\n return ''\n}\n\nconst FormElementFilesController = ({ value, onChange, ...props }: Props) => {\n if (checkIsUsingLegacyStorage(props.element)) {\n return (\n <FormElementFilesLegacy\n value={value as FilesElementFile[] | undefined}\n onChange={onChange as FormElementValueChangeHandler<FilesElementFile[]>}\n {...props}\n />\n )\n }\n return (\n <FormElementFiles\n value={value as Attachment[] | undefined}\n onChange={onChange as FormElementValueChangeHandler<Attachment[]>}\n {...props}\n />\n )\n}\n\nexport default React.memo<Props>(FormElementFilesController)\n"]}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import { FormTypes } from '@oneblink/types';
|
3
|
-
import { FormElementValueChangeHandler } from '../../../types/form';
|
4
|
-
export declare type FilesElementFile = {
|
5
|
-
data: string;
|
6
|
-
fileName: string;
|
7
|
-
};
|
8
|
-
declare type Props = {
|
9
|
-
id: string;
|
10
|
-
element: FormTypes.FilesElement;
|
11
|
-
value: FilesElementFile[] | undefined;
|
12
|
-
onChange: FormElementValueChangeHandler<FilesElementFile[]>;
|
13
|
-
displayValidationMessage: boolean;
|
14
|
-
validationMessage: string | undefined;
|
15
|
-
};
|
16
|
-
declare function FormElementFiles({ id, element, value, onChange, validationMessage, displayValidationMessage, }: Props): JSX.Element;
|
17
|
-
declare const _default: React.MemoExoticComponent<typeof FormElementFiles>;
|
18
|
-
export default _default;
|
@@ -1,61 +0,0 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import useBooleanState from '../../../hooks/useBooleanState';
|
3
|
-
import useIsMounted from '../../../hooks/useIsMounted';
|
4
|
-
import FileCard from '../../../components/renderer/attachments/FileCard';
|
5
|
-
import { downloadFileLegacy } from '../../../services/download-file';
|
6
|
-
import Files from '../../../components/renderer/attachments/Files';
|
7
|
-
import { checkIfContentTypeIsImage, parseFilesAsAttachmentsLegacy, } from '../../../services/attachments';
|
8
|
-
const FormElementFile = ({ element, onRemove, file, index }) => {
|
9
|
-
const isImageType = React.useMemo(() => {
|
10
|
-
const matches = file.data.match(/data:(\w*\/\w*);base64/);
|
11
|
-
if (!matches) {
|
12
|
-
return false;
|
13
|
-
}
|
14
|
-
return checkIfContentTypeIsImage(matches[1]);
|
15
|
-
}, [file.data]);
|
16
|
-
const handleRemove = React.useCallback(() => onRemove(index), [index, onRemove]);
|
17
|
-
const handleDownload = React.useCallback(async () => {
|
18
|
-
await downloadFileLegacy(file.data, file.fileName);
|
19
|
-
}, [file]);
|
20
|
-
return (React.createElement(FileCard, { element: element, imageUrl: isImageType ? file.data : null, fileName: file.fileName, onDownload: handleDownload, onRemove: handleRemove }));
|
21
|
-
};
|
22
|
-
const MemorisedFile = React.memo(FormElementFile);
|
23
|
-
function FormElementFiles({ id, element, value, onChange, validationMessage, displayValidationMessage, }) {
|
24
|
-
const [isDirty, setIsDirty] = useBooleanState(false);
|
25
|
-
const isMounted = useIsMounted();
|
26
|
-
const addFile = React.useCallback(async (newFiles) => {
|
27
|
-
const attachments = await parseFilesAsAttachmentsLegacy(newFiles);
|
28
|
-
if (!attachments.length) {
|
29
|
-
return;
|
30
|
-
}
|
31
|
-
onChange(element, (existingAttachments) => {
|
32
|
-
if (!existingAttachments) {
|
33
|
-
return attachments;
|
34
|
-
}
|
35
|
-
return [...existingAttachments, ...attachments];
|
36
|
-
});
|
37
|
-
if (isMounted.current) {
|
38
|
-
setIsDirty();
|
39
|
-
}
|
40
|
-
}, [element, isMounted, onChange, setIsDirty]);
|
41
|
-
const handleRemove = React.useCallback((index) => {
|
42
|
-
onChange(element, (existingValue) => {
|
43
|
-
if (!existingValue) {
|
44
|
-
return;
|
45
|
-
}
|
46
|
-
const newValue = existingValue.filter((file, i) => i !== index);
|
47
|
-
if (newValue.length) {
|
48
|
-
return newValue;
|
49
|
-
}
|
50
|
-
});
|
51
|
-
if (isMounted.current) {
|
52
|
-
setIsDirty();
|
53
|
-
}
|
54
|
-
}, [element, isMounted, onChange, setIsDirty]);
|
55
|
-
const handleRenderAttachment = React.useCallback((attachment, index) => {
|
56
|
-
return (React.createElement(MemorisedFile, { key: index, element: element, onRemove: handleRemove, file: attachment, index: index }));
|
57
|
-
}, [element, handleRemove]);
|
58
|
-
return (React.createElement(Files, { id: id, element: element, isDirty: isDirty, attachments: value || [], displayValidationMessage: displayValidationMessage, validationMessage: validationMessage, onAddFiles: addFile, onRenderAttachment: handleRenderAttachment }));
|
59
|
-
}
|
60
|
-
export default React.memo(FormElementFiles);
|
61
|
-
//# sourceMappingURL=FormElementFiles.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"FormElementFiles.js","sourceRoot":"","sources":["../../../../src/form-elements/FormElementFiles/legacy/FormElementFiles.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport useBooleanState from '../../../hooks/useBooleanState'\nimport useIsMounted from '../../../hooks/useIsMounted'\nimport FileCard from '../../../components/renderer/attachments/FileCard'\nimport { downloadFileLegacy } from '../../../services/download-file'\nimport { FormTypes } from '@oneblink/types'\nimport Files from '../../../components/renderer/attachments/Files'\nimport {\n checkIfContentTypeIsImage,\n parseFilesAsAttachmentsLegacy,\n} from '../../../services/attachments'\nimport { FormElementValueChangeHandler } from '../../../types/form'\n\nexport type FilesElementFile = {\n data: string\n fileName: string\n}\n\ntype Props = {\n id: string\n element: FormTypes.FilesElement\n value: FilesElementFile[] | undefined\n onChange: FormElementValueChangeHandler<FilesElementFile[]>\n displayValidationMessage: boolean\n validationMessage: string | undefined\n}\n\ntype ChildProps = {\n element: FormTypes.FilesElement\n onRemove: (index: number) => unknown\n file: FilesElementFile\n index: number\n}\n\nconst FormElementFile = ({ element, onRemove, file, index }: ChildProps) => {\n const isImageType = React.useMemo(() => {\n const matches = file.data.match(/data:(\\w*\\/\\w*);base64/)\n if (!matches) {\n return false\n }\n return checkIfContentTypeIsImage(matches[1])\n }, [file.data])\n const handleRemove = React.useCallback(\n () => onRemove(index),\n [index, onRemove],\n )\n const handleDownload = React.useCallback(async () => {\n await downloadFileLegacy(file.data, file.fileName)\n }, [file])\n\n return (\n <FileCard\n element={element}\n imageUrl={isImageType ? file.data : null}\n fileName={file.fileName}\n onDownload={handleDownload}\n onRemove={handleRemove}\n />\n )\n}\n\nconst MemorisedFile = React.memo(FormElementFile)\n\nfunction FormElementFiles({\n id,\n element,\n value,\n onChange,\n validationMessage,\n displayValidationMessage,\n}: Props) {\n const [isDirty, setIsDirty] = useBooleanState(false)\n const isMounted = useIsMounted()\n\n const addFile = React.useCallback(\n async (newFiles) => {\n const attachments = await parseFilesAsAttachmentsLegacy(newFiles)\n if (!attachments.length) {\n return\n }\n\n onChange(element, (existingAttachments) => {\n if (!existingAttachments) {\n return attachments\n }\n return [...existingAttachments, ...attachments]\n })\n if (isMounted.current) {\n setIsDirty()\n }\n },\n [element, isMounted, onChange, setIsDirty],\n )\n\n const handleRemove = React.useCallback(\n (index: number) => {\n onChange(element, (existingValue) => {\n if (!existingValue) {\n return\n }\n const newValue = existingValue.filter((file, i) => i !== index)\n if (newValue.length) {\n return newValue\n }\n })\n if (isMounted.current) {\n setIsDirty()\n }\n },\n [element, isMounted, onChange, setIsDirty],\n )\n\n const handleRenderAttachment = React.useCallback(\n (attachment, index) => {\n return (\n <MemorisedFile\n key={index}\n element={element}\n onRemove={handleRemove}\n file={attachment}\n index={index}\n />\n )\n },\n [element, handleRemove],\n )\n\n return (\n <Files\n id={id}\n element={element}\n isDirty={isDirty}\n attachments={value || []}\n displayValidationMessage={displayValidationMessage}\n validationMessage={validationMessage}\n onAddFiles={addFile}\n onRenderAttachment={handleRenderAttachment}\n />\n )\n}\n\nexport default React.memo(FormElementFiles)\n"]}
|