coject 1.4.4 → 1.4.6
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/cjs/Components/Input/index.d.ts +2 -6
- package/dist/cjs/Components/Input/index.js +47 -15
- package/dist/cjs/Components/Input/index.js.map +1 -1
- package/dist/cjs/Components/Upload/index.d.ts +4 -0
- package/dist/cjs/Components/Upload/index.js +37 -9
- package/dist/cjs/Components/Upload/index.js.map +1 -1
- package/dist/esm/Components/Input/index.d.ts +2 -6
- package/dist/esm/Components/Input/index.js +47 -15
- package/dist/esm/Components/Input/index.js.map +1 -1
- package/dist/esm/Components/Upload/index.d.ts +4 -0
- package/dist/esm/Components/Upload/index.js +37 -9
- package/dist/esm/Components/Upload/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,10 +8,6 @@ type iInput = Omit<TextFieldProps, "helperText" | "required"> & {
|
|
|
8
8
|
arabic?: boolean | string;
|
|
9
9
|
english?: boolean | string;
|
|
10
10
|
required?: boolean | string;
|
|
11
|
-
pattern?: any | {
|
|
12
|
-
value: any;
|
|
13
|
-
message: string;
|
|
14
|
-
};
|
|
15
11
|
min?: number | {
|
|
16
12
|
value: number;
|
|
17
13
|
message: string;
|
|
@@ -20,11 +16,11 @@ type iInput = Omit<TextFieldProps, "helperText" | "required"> & {
|
|
|
20
16
|
value: number;
|
|
21
17
|
message: string;
|
|
22
18
|
};
|
|
23
|
-
|
|
19
|
+
minLength?: number | {
|
|
24
20
|
value: number;
|
|
25
21
|
message: string;
|
|
26
22
|
};
|
|
27
|
-
|
|
23
|
+
maxLength?: number | {
|
|
28
24
|
value: number;
|
|
29
25
|
message: string;
|
|
30
26
|
};
|
|
@@ -37,17 +37,17 @@ const theme_1 = __importDefault(require("./theme"));
|
|
|
37
37
|
const Input = ({ name, value, helperText, validation, required, onChange, ...props }) => {
|
|
38
38
|
const { classes } = (0, theme_1.default)();
|
|
39
39
|
const Methods = (0, react_hook_form_1.useFormContext)() || {};
|
|
40
|
-
const [
|
|
41
|
-
const { setValue, control, getValues, watch,
|
|
40
|
+
const [inputValue, setInputValue] = (0, react_1.useState)("");
|
|
41
|
+
const { setValue, control, getValues, watch, setError, clearErrors, formState: { errors } } = (0, react_hook_form_1.useFormContext)() || {};
|
|
42
42
|
// Methods Watching
|
|
43
43
|
(0, react_1.useEffect)(() => {
|
|
44
|
-
control &&
|
|
44
|
+
control && setInputValue(getValues(name || "default") ? getValues(name || "default") : "");
|
|
45
45
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
46
46
|
}, [control, getValues, name, watch && watch(name || "default")]);
|
|
47
47
|
// Value
|
|
48
48
|
(0, react_1.useEffect)(() => {
|
|
49
49
|
if (value) {
|
|
50
|
-
|
|
50
|
+
setInputValue(value);
|
|
51
51
|
control && setValue(name || "default", value);
|
|
52
52
|
}
|
|
53
53
|
else
|
|
@@ -56,21 +56,53 @@ const Input = ({ name, value, helperText, validation, required, onChange, ...pro
|
|
|
56
56
|
// Change Value
|
|
57
57
|
const changeValue = (event) => {
|
|
58
58
|
onChange && onChange(event, event.target.value, Methods);
|
|
59
|
-
|
|
59
|
+
setInputValue(event.target.value);
|
|
60
60
|
control && setValue(name || "default", event.target.value);
|
|
61
61
|
};
|
|
62
|
+
// Error Handling
|
|
63
|
+
(0, react_1.useEffect)(() => {
|
|
64
|
+
const Required = (!!required || !!validation?.required) && !inputValue;
|
|
65
|
+
const Numbers = !!validation?.number && !!inputValue && !(/^[0-9,.]+$/i.test(`${inputValue}`));
|
|
66
|
+
const Arabic = !!validation?.arabic && !!inputValue && !(/^[ أ-ي]+$/i.test(`${inputValue}`));
|
|
67
|
+
const English = !!validation?.english && !!inputValue && !(/^[A-Za-z ]+$/i.test(`${inputValue}`));
|
|
68
|
+
const MinNumber = !!validation?.min && !!inputValue && Number(inputValue) < Number((validation.min instanceof Object) ? validation.min.value : validation.min);
|
|
69
|
+
const MaxNumber = !!validation?.max && !!inputValue && Number(inputValue) > Number((validation.max instanceof Object) ? validation.max.value : validation.max);
|
|
70
|
+
const MinLength = !!validation?.minLength && !!inputValue && (`${inputValue}`).length < Number((validation.minLength instanceof Object) ? validation.minLength.value : validation.minLength);
|
|
71
|
+
const MaxLength = !!validation?.maxLength && !!inputValue && (`${inputValue}`).length > Number((validation.maxLength instanceof Object) ? validation.maxLength.value : validation.maxLength);
|
|
72
|
+
// Clear Errors
|
|
73
|
+
if (!Required && !Numbers && !Arabic && !English && !MinNumber && !MaxNumber && !MinLength && !MaxLength)
|
|
74
|
+
clearErrors(name || "default");
|
|
75
|
+
// Set Errors
|
|
76
|
+
else {
|
|
77
|
+
// Required
|
|
78
|
+
if (Required)
|
|
79
|
+
setError(name || "default", { type: "required", message: ((required?.toString() === "true") || (validation?.required?.toString() === "true")) ? "This Field Is Required" : `${required ? required : ""}${validation?.required ? validation?.required : ""}` });
|
|
80
|
+
// Numbers
|
|
81
|
+
if (Numbers)
|
|
82
|
+
setError(name || "default", { type: "pattern", message: (validation?.number?.toString() === "true") ? "This Field Just Numbers" : `${validation?.number}` });
|
|
83
|
+
// Arabic
|
|
84
|
+
if (Arabic)
|
|
85
|
+
setError(name || "default", { type: "pattern", message: (validation?.arabic?.toString() === "true") ? "This Field Just Arabic" : `${validation?.arabic}` });
|
|
86
|
+
// English
|
|
87
|
+
if (English)
|
|
88
|
+
setError(name || "default", { type: "pattern", message: (validation?.english?.toString() === "true") ? "This Field Just English" : `${validation?.english}` });
|
|
89
|
+
// MinNumber
|
|
90
|
+
if (MinNumber)
|
|
91
|
+
setError(name || "default", { type: "min", message: (validation?.min instanceof Object) ? `${validation.min.message}` : "Less Than The Minimum" });
|
|
92
|
+
// MaxNumber
|
|
93
|
+
if (MaxNumber)
|
|
94
|
+
setError(name || "default", { type: "max", message: (validation?.max instanceof Object) ? `${validation.max.message}` : "Greater Than The Maximum" });
|
|
95
|
+
// MinLength
|
|
96
|
+
if (MinLength)
|
|
97
|
+
setError(name || "default", { type: "minLength", message: (validation?.minLength instanceof Object) ? `${validation.minLength.message}` : "Less Than The Minimum Length" });
|
|
98
|
+
// MaxLength
|
|
99
|
+
if (MaxLength)
|
|
100
|
+
setError(name || "default", { type: "maxLength", message: (validation?.maxLength instanceof Object) ? `${validation.maxLength.message}` : "Greater Than The Maximum Length" });
|
|
101
|
+
}
|
|
102
|
+
}, [inputValue, required, name, setError, clearErrors, validation]);
|
|
62
103
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
63
104
|
react_1.default.createElement(material_1.Box, { className: classes.root },
|
|
64
|
-
react_1.default.createElement(material_1.TextField, {
|
|
65
|
-
{
|
|
66
|
-
...(validation?.required ? { required: validation.required.toString() === "true" ? "This Field Is Required" : validation.required } : {}),
|
|
67
|
-
...(validation?.arabic ? { pattern: { value: /^[ أ-ي]+$/i, message: validation.arabic.toString() === "true" ? "Enter Just Arabic" : validation.arabic } } : {}),
|
|
68
|
-
...(validation?.number ? { pattern: { value: /^[0-9,.]+$/i, message: validation.number.toString() === "true" ? "Enter Just Numbers" : validation.number } } : {}),
|
|
69
|
-
...(validation?.english ? { pattern: { value: /^[A-Za-z ]+$/i, message: validation.english.toString() === "true" ? "Enter Just English" : validation.english } } : {}),
|
|
70
|
-
...validation
|
|
71
|
-
}
|
|
72
|
-
: (required ? { required: required.toString() === "true" ? "This Field Is Required" : required } : {}))
|
|
73
|
-
}) : { name: name || "default" }), value: selectedValue, onChange: changeValue, label: props?.label ? props?.label : (name || "default"), ...props }, props?.children),
|
|
105
|
+
react_1.default.createElement(material_1.TextField, { name: name || "default", value: inputValue, onChange: changeValue, label: props?.label ? props?.label : (name || "default"), ...props }, props?.children),
|
|
74
106
|
(helperText || (errors && errors[name || "default"])) && react_1.default.createElement(material_1.FormHelperText, { className: classes.error },
|
|
75
107
|
errors && errors[name || "default"]?.message,
|
|
76
108
|
helperText && !(errors && errors[name || "default"]) && helperText))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Input/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuD;AAEvD,kBAAkB;AAClB,qDAAiD;AAEjD,cAAc;AACd,4CAA+E;AAE/E,SAAS;AACT,oDAAgC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Input/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,12 @@ type iUpload = Omit<TextFieldProps, "onChange" | "helperText"> & {
|
|
|
5
5
|
name?: string;
|
|
6
6
|
onChange?: any;
|
|
7
7
|
onRemove?: any;
|
|
8
|
+
validation?: {
|
|
9
|
+
required?: boolean | string;
|
|
10
|
+
};
|
|
8
11
|
multiple?: boolean;
|
|
9
12
|
helperText?: string;
|
|
13
|
+
required?: boolean | string;
|
|
10
14
|
};
|
|
11
15
|
export declare const Upload: FC<iUpload>;
|
|
12
16
|
export {};
|
|
@@ -36,12 +36,17 @@ const material_1 = require("@mui/material");
|
|
|
36
36
|
const index_1 = require("../index");
|
|
37
37
|
// Styles
|
|
38
38
|
const theme_1 = __importDefault(require("./theme"));
|
|
39
|
-
const Upload = ({ value, name, helperText, multiple, onChange, onRemove, ...props }) => {
|
|
39
|
+
const Upload = ({ value, name, helperText, multiple, onChange, onRemove, required, validation, ...props }) => {
|
|
40
40
|
const { classes } = (0, theme_1.default)();
|
|
41
|
+
const [files, setFiles] = (0, react_1.useState)();
|
|
41
42
|
const Methods = (0, react_hook_form_1.useFormContext)() || {};
|
|
42
|
-
const [files, setFiles] = (0, react_1.useState)(multiple ? [] : {});
|
|
43
43
|
const [, forceUpdate] = (0, react_1.useReducer)(x => x + 1, 0);
|
|
44
|
-
const { setValue, control } = (0, react_hook_form_1.useFormContext)() || {};
|
|
44
|
+
const { setValue, control, getValues, watch, setError, clearErrors, formState: { errors } } = (0, react_hook_form_1.useFormContext)() || {};
|
|
45
|
+
// Methods Watching
|
|
46
|
+
(0, react_1.useEffect)(() => {
|
|
47
|
+
control && setFiles(getValues(name || "default") ? getValues(name || "default") : undefined);
|
|
48
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49
|
+
}, [control, getValues, name, watch && watch(name || "default")]);
|
|
45
50
|
// Set Value
|
|
46
51
|
(0, react_1.useEffect)(() => {
|
|
47
52
|
if (value) {
|
|
@@ -54,20 +59,20 @@ const Upload = ({ value, name, helperText, multiple, onChange, onRemove, ...prop
|
|
|
54
59
|
setFiles({ image: value?.image, file: { name: value?.name } });
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
|
-
}, [value]);
|
|
62
|
+
}, [value, multiple]);
|
|
58
63
|
// Change Value
|
|
59
64
|
const changeValue = (event) => {
|
|
60
65
|
const multiFiles = [];
|
|
61
66
|
for (let index = 0; index < Object.keys(event.target.files).length; index++) {
|
|
62
67
|
multiFiles.push(event.target.files[index]);
|
|
63
68
|
}
|
|
64
|
-
onChange && onChange((multiple ? ([...(files
|
|
65
|
-
control && setValue(name || "default", multiple ? ([...(files
|
|
69
|
+
onChange && onChange((multiple ? ([...(files ? files.map((file) => !(file instanceof Object) && file.file) : []), ...multiFiles].filter(Boolean)) : event.target.files[0]), Methods);
|
|
70
|
+
control && setValue(name || "default", multiple ? ([...(files ? files.map((file) => !(file instanceof Object) && file.file) : []), ...multiFiles].filter(Boolean)) : event.target.files[0]);
|
|
66
71
|
if (event.target.files.length > 0) {
|
|
67
72
|
for (let Index = 0; Index < event.target.files.length; Index++) {
|
|
68
73
|
const Reader = new FileReader();
|
|
69
74
|
Reader.readAsDataURL(event.target.files[Index]);
|
|
70
|
-
Reader.onload = () => setFiles((prev) => multiple ? [...prev, { file: event.target.files[Index], image: Reader.result }] : { file: event.target.files[Index], image: Reader.result });
|
|
75
|
+
Reader.onload = () => setFiles((prev) => multiple ? [...(prev ? prev : []), { file: event.target.files[Index], image: Reader.result }] : { file: event.target.files[Index], image: Reader.result });
|
|
71
76
|
}
|
|
72
77
|
}
|
|
73
78
|
};
|
|
@@ -77,11 +82,32 @@ const Upload = ({ value, name, helperText, multiple, onChange, onRemove, ...prop
|
|
|
77
82
|
const file = multiple && filesValue[index];
|
|
78
83
|
onRemove && onRemove(multiple ? file : filesValue);
|
|
79
84
|
file && filesValue?.splice(file, 1);
|
|
80
|
-
setFiles(multiple ? filesValue :
|
|
85
|
+
setFiles(multiple ? (filesValue?.length ? filesValue : undefined) : undefined);
|
|
81
86
|
onChange && onChange(multiple ? filesValue?.map((fileValue) => !Object.keys(fileValue.file)?.length && fileValue.file).filter(Boolean) : {}, Methods);
|
|
82
87
|
control && setValue(name || "default", multiple ? filesValue?.map((fileValue) => !Object.keys(fileValue.file)?.length && fileValue.file).filter(Boolean) : {});
|
|
88
|
+
const element = document.getElementsByName(name || "default")[0];
|
|
89
|
+
try {
|
|
90
|
+
element && (element.value = null);
|
|
91
|
+
}
|
|
92
|
+
catch (ex) { }
|
|
93
|
+
if (element?.value) {
|
|
94
|
+
element.parentNode.replaceChild(element.cloneNode(true), element);
|
|
95
|
+
}
|
|
83
96
|
forceUpdate();
|
|
84
97
|
};
|
|
98
|
+
// Error Handling
|
|
99
|
+
(0, react_1.useEffect)(() => {
|
|
100
|
+
const Required = (!!required || !!validation?.required) && !(files instanceof Array ? files?.length : (files instanceof Object && Object.keys(files).length));
|
|
101
|
+
// Clear Errors
|
|
102
|
+
if (!Required)
|
|
103
|
+
clearErrors(name || "default");
|
|
104
|
+
// Set Errors
|
|
105
|
+
else {
|
|
106
|
+
// Required
|
|
107
|
+
if (Required)
|
|
108
|
+
setError(name || "default", { type: "required", message: ((required?.toString() === "true") || (validation?.required?.toString() === "true")) ? "This Field Is Required" : `${required ? required : ""}${validation?.required ? validation?.required : ""}` });
|
|
109
|
+
}
|
|
110
|
+
}, [files, required, name, setError, clearErrors, validation]);
|
|
85
111
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
86
112
|
react_1.default.createElement(material_1.Box, { className: classes.root }, multiple ?
|
|
87
113
|
react_1.default.createElement(react_1.default.Fragment, null,
|
|
@@ -109,7 +135,9 @@ const Upload = ({ value, name, helperText, multiple, onChange, onRemove, ...prop
|
|
|
109
135
|
react_1.default.createElement(index_1.Icons.CloudUploadOutlined, null),
|
|
110
136
|
react_1.default.createElement(material_1.Typography, null, props.placeholder || name || "default"),
|
|
111
137
|
react_1.default.createElement(material_1.TextField, { name: name || "default", type: "file", onChange: changeValue, label: props?.label ? props?.label : (name || "default"), inputProps: { ...props.inputProps, multiple: multiple }, ...props })))),
|
|
112
|
-
helperText && react_1.default.createElement(material_1.FormHelperText, { className: classes.error },
|
|
138
|
+
(helperText || (errors && errors[name || "default"])) && react_1.default.createElement(material_1.FormHelperText, { className: classes.error },
|
|
139
|
+
errors && errors[name || "default"]?.message,
|
|
140
|
+
helperText && !(errors && errors[name || "default"]) && helperText)));
|
|
113
141
|
};
|
|
114
142
|
exports.Upload = Upload;
|
|
115
143
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Upload/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAmE;AAEnE,kBAAkB;AAClB,qDAAiD;AAEjD,cAAc;AACd,4CAAuG;AAEvG,SAAS;AACT,oCAAiC;AAEjC,SAAS;AACT,oDAAgC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Upload/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,6 @@ type iInput = Omit<TextFieldProps, "helperText" | "required"> & {
|
|
|
8
8
|
arabic?: boolean | string;
|
|
9
9
|
english?: boolean | string;
|
|
10
10
|
required?: boolean | string;
|
|
11
|
-
pattern?: any | {
|
|
12
|
-
value: any;
|
|
13
|
-
message: string;
|
|
14
|
-
};
|
|
15
11
|
min?: number | {
|
|
16
12
|
value: number;
|
|
17
13
|
message: string;
|
|
@@ -20,11 +16,11 @@ type iInput = Omit<TextFieldProps, "helperText" | "required"> & {
|
|
|
20
16
|
value: number;
|
|
21
17
|
message: string;
|
|
22
18
|
};
|
|
23
|
-
|
|
19
|
+
minLength?: number | {
|
|
24
20
|
value: number;
|
|
25
21
|
message: string;
|
|
26
22
|
};
|
|
27
|
-
|
|
23
|
+
maxLength?: number | {
|
|
28
24
|
value: number;
|
|
29
25
|
message: string;
|
|
30
26
|
};
|
|
@@ -8,17 +8,17 @@ import useStyles from "./theme";
|
|
|
8
8
|
export const Input = ({ name, value, helperText, validation, required, onChange, ...props }) => {
|
|
9
9
|
const { classes } = useStyles();
|
|
10
10
|
const Methods = useFormContext() || {};
|
|
11
|
-
const [
|
|
12
|
-
const { setValue, control, getValues, watch,
|
|
11
|
+
const [inputValue, setInputValue] = useState("");
|
|
12
|
+
const { setValue, control, getValues, watch, setError, clearErrors, formState: { errors } } = useFormContext() || {};
|
|
13
13
|
// Methods Watching
|
|
14
14
|
useEffect(() => {
|
|
15
|
-
control &&
|
|
15
|
+
control && setInputValue(getValues(name || "default") ? getValues(name || "default") : "");
|
|
16
16
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17
17
|
}, [control, getValues, name, watch && watch(name || "default")]);
|
|
18
18
|
// Value
|
|
19
19
|
useEffect(() => {
|
|
20
20
|
if (value) {
|
|
21
|
-
|
|
21
|
+
setInputValue(value);
|
|
22
22
|
control && setValue(name || "default", value);
|
|
23
23
|
}
|
|
24
24
|
else
|
|
@@ -27,21 +27,53 @@ export const Input = ({ name, value, helperText, validation, required, onChange,
|
|
|
27
27
|
// Change Value
|
|
28
28
|
const changeValue = (event) => {
|
|
29
29
|
onChange && onChange(event, event.target.value, Methods);
|
|
30
|
-
|
|
30
|
+
setInputValue(event.target.value);
|
|
31
31
|
control && setValue(name || "default", event.target.value);
|
|
32
32
|
};
|
|
33
|
+
// Error Handling
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
const Required = (!!required || !!validation?.required) && !inputValue;
|
|
36
|
+
const Numbers = !!validation?.number && !!inputValue && !(/^[0-9,.]+$/i.test(`${inputValue}`));
|
|
37
|
+
const Arabic = !!validation?.arabic && !!inputValue && !(/^[ أ-ي]+$/i.test(`${inputValue}`));
|
|
38
|
+
const English = !!validation?.english && !!inputValue && !(/^[A-Za-z ]+$/i.test(`${inputValue}`));
|
|
39
|
+
const MinNumber = !!validation?.min && !!inputValue && Number(inputValue) < Number((validation.min instanceof Object) ? validation.min.value : validation.min);
|
|
40
|
+
const MaxNumber = !!validation?.max && !!inputValue && Number(inputValue) > Number((validation.max instanceof Object) ? validation.max.value : validation.max);
|
|
41
|
+
const MinLength = !!validation?.minLength && !!inputValue && (`${inputValue}`).length < Number((validation.minLength instanceof Object) ? validation.minLength.value : validation.minLength);
|
|
42
|
+
const MaxLength = !!validation?.maxLength && !!inputValue && (`${inputValue}`).length > Number((validation.maxLength instanceof Object) ? validation.maxLength.value : validation.maxLength);
|
|
43
|
+
// Clear Errors
|
|
44
|
+
if (!Required && !Numbers && !Arabic && !English && !MinNumber && !MaxNumber && !MinLength && !MaxLength)
|
|
45
|
+
clearErrors(name || "default");
|
|
46
|
+
// Set Errors
|
|
47
|
+
else {
|
|
48
|
+
// Required
|
|
49
|
+
if (Required)
|
|
50
|
+
setError(name || "default", { type: "required", message: ((required?.toString() === "true") || (validation?.required?.toString() === "true")) ? "This Field Is Required" : `${required ? required : ""}${validation?.required ? validation?.required : ""}` });
|
|
51
|
+
// Numbers
|
|
52
|
+
if (Numbers)
|
|
53
|
+
setError(name || "default", { type: "pattern", message: (validation?.number?.toString() === "true") ? "This Field Just Numbers" : `${validation?.number}` });
|
|
54
|
+
// Arabic
|
|
55
|
+
if (Arabic)
|
|
56
|
+
setError(name || "default", { type: "pattern", message: (validation?.arabic?.toString() === "true") ? "This Field Just Arabic" : `${validation?.arabic}` });
|
|
57
|
+
// English
|
|
58
|
+
if (English)
|
|
59
|
+
setError(name || "default", { type: "pattern", message: (validation?.english?.toString() === "true") ? "This Field Just English" : `${validation?.english}` });
|
|
60
|
+
// MinNumber
|
|
61
|
+
if (MinNumber)
|
|
62
|
+
setError(name || "default", { type: "min", message: (validation?.min instanceof Object) ? `${validation.min.message}` : "Less Than The Minimum" });
|
|
63
|
+
// MaxNumber
|
|
64
|
+
if (MaxNumber)
|
|
65
|
+
setError(name || "default", { type: "max", message: (validation?.max instanceof Object) ? `${validation.max.message}` : "Greater Than The Maximum" });
|
|
66
|
+
// MinLength
|
|
67
|
+
if (MinLength)
|
|
68
|
+
setError(name || "default", { type: "minLength", message: (validation?.minLength instanceof Object) ? `${validation.minLength.message}` : "Less Than The Minimum Length" });
|
|
69
|
+
// MaxLength
|
|
70
|
+
if (MaxLength)
|
|
71
|
+
setError(name || "default", { type: "maxLength", message: (validation?.maxLength instanceof Object) ? `${validation.maxLength.message}` : "Greater Than The Maximum Length" });
|
|
72
|
+
}
|
|
73
|
+
}, [inputValue, required, name, setError, clearErrors, validation]);
|
|
33
74
|
return (React.createElement(React.Fragment, null,
|
|
34
75
|
React.createElement(Box, { className: classes.root },
|
|
35
|
-
React.createElement(TextField, {
|
|
36
|
-
{
|
|
37
|
-
...(validation?.required ? { required: validation.required.toString() === "true" ? "This Field Is Required" : validation.required } : {}),
|
|
38
|
-
...(validation?.arabic ? { pattern: { value: /^[ أ-ي]+$/i, message: validation.arabic.toString() === "true" ? "Enter Just Arabic" : validation.arabic } } : {}),
|
|
39
|
-
...(validation?.number ? { pattern: { value: /^[0-9,.]+$/i, message: validation.number.toString() === "true" ? "Enter Just Numbers" : validation.number } } : {}),
|
|
40
|
-
...(validation?.english ? { pattern: { value: /^[A-Za-z ]+$/i, message: validation.english.toString() === "true" ? "Enter Just English" : validation.english } } : {}),
|
|
41
|
-
...validation
|
|
42
|
-
}
|
|
43
|
-
: (required ? { required: required.toString() === "true" ? "This Field Is Required" : required } : {}))
|
|
44
|
-
}) : { name: name || "default" }), value: selectedValue, onChange: changeValue, label: props?.label ? props?.label : (name || "default"), ...props }, props?.children),
|
|
76
|
+
React.createElement(TextField, { name: name || "default", value: inputValue, onChange: changeValue, label: props?.label ? props?.label : (name || "default"), ...props }, props?.children),
|
|
45
77
|
(helperText || (errors && errors[name || "default"])) && React.createElement(FormHelperText, { className: classes.error },
|
|
46
78
|
errors && errors[name || "default"]?.message,
|
|
47
79
|
helperText && !(errors && errors[name || "default"]) && helperText))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Input/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEvD,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,cAAc;AACd,OAAO,EAAE,GAAG,EAAE,SAAS,EAAkB,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/E,SAAS;AACT,OAAO,SAAS,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Input/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,12 @@ type iUpload = Omit<TextFieldProps, "onChange" | "helperText"> & {
|
|
|
5
5
|
name?: string;
|
|
6
6
|
onChange?: any;
|
|
7
7
|
onRemove?: any;
|
|
8
|
+
validation?: {
|
|
9
|
+
required?: boolean | string;
|
|
10
|
+
};
|
|
8
11
|
multiple?: boolean;
|
|
9
12
|
helperText?: string;
|
|
13
|
+
required?: boolean | string;
|
|
10
14
|
};
|
|
11
15
|
export declare const Upload: FC<iUpload>;
|
|
12
16
|
export {};
|
|
@@ -7,12 +7,17 @@ import { Box, TextField, FormHelperText, Typography, IconButton } from "@mui/mat
|
|
|
7
7
|
import { Icons } from "../index";
|
|
8
8
|
// Styles
|
|
9
9
|
import useStyles from "./theme";
|
|
10
|
-
export const Upload = ({ value, name, helperText, multiple, onChange, onRemove, ...props }) => {
|
|
10
|
+
export const Upload = ({ value, name, helperText, multiple, onChange, onRemove, required, validation, ...props }) => {
|
|
11
11
|
const { classes } = useStyles();
|
|
12
|
+
const [files, setFiles] = useState();
|
|
12
13
|
const Methods = useFormContext() || {};
|
|
13
|
-
const [files, setFiles] = useState(multiple ? [] : {});
|
|
14
14
|
const [, forceUpdate] = useReducer(x => x + 1, 0);
|
|
15
|
-
const { setValue, control } = useFormContext() || {};
|
|
15
|
+
const { setValue, control, getValues, watch, setError, clearErrors, formState: { errors } } = useFormContext() || {};
|
|
16
|
+
// Methods Watching
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
control && setFiles(getValues(name || "default") ? getValues(name || "default") : undefined);
|
|
19
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
20
|
+
}, [control, getValues, name, watch && watch(name || "default")]);
|
|
16
21
|
// Set Value
|
|
17
22
|
useEffect(() => {
|
|
18
23
|
if (value) {
|
|
@@ -25,20 +30,20 @@ export const Upload = ({ value, name, helperText, multiple, onChange, onRemove,
|
|
|
25
30
|
setFiles({ image: value?.image, file: { name: value?.name } });
|
|
26
31
|
}
|
|
27
32
|
}
|
|
28
|
-
}, [value]);
|
|
33
|
+
}, [value, multiple]);
|
|
29
34
|
// Change Value
|
|
30
35
|
const changeValue = (event) => {
|
|
31
36
|
const multiFiles = [];
|
|
32
37
|
for (let index = 0; index < Object.keys(event.target.files).length; index++) {
|
|
33
38
|
multiFiles.push(event.target.files[index]);
|
|
34
39
|
}
|
|
35
|
-
onChange && onChange((multiple ? ([...(files
|
|
36
|
-
control && setValue(name || "default", multiple ? ([...(files
|
|
40
|
+
onChange && onChange((multiple ? ([...(files ? files.map((file) => !(file instanceof Object) && file.file) : []), ...multiFiles].filter(Boolean)) : event.target.files[0]), Methods);
|
|
41
|
+
control && setValue(name || "default", multiple ? ([...(files ? files.map((file) => !(file instanceof Object) && file.file) : []), ...multiFiles].filter(Boolean)) : event.target.files[0]);
|
|
37
42
|
if (event.target.files.length > 0) {
|
|
38
43
|
for (let Index = 0; Index < event.target.files.length; Index++) {
|
|
39
44
|
const Reader = new FileReader();
|
|
40
45
|
Reader.readAsDataURL(event.target.files[Index]);
|
|
41
|
-
Reader.onload = () => setFiles((prev) => multiple ? [...prev, { file: event.target.files[Index], image: Reader.result }] : { file: event.target.files[Index], image: Reader.result });
|
|
46
|
+
Reader.onload = () => setFiles((prev) => multiple ? [...(prev ? prev : []), { file: event.target.files[Index], image: Reader.result }] : { file: event.target.files[Index], image: Reader.result });
|
|
42
47
|
}
|
|
43
48
|
}
|
|
44
49
|
};
|
|
@@ -48,11 +53,32 @@ export const Upload = ({ value, name, helperText, multiple, onChange, onRemove,
|
|
|
48
53
|
const file = multiple && filesValue[index];
|
|
49
54
|
onRemove && onRemove(multiple ? file : filesValue);
|
|
50
55
|
file && filesValue?.splice(file, 1);
|
|
51
|
-
setFiles(multiple ? filesValue :
|
|
56
|
+
setFiles(multiple ? (filesValue?.length ? filesValue : undefined) : undefined);
|
|
52
57
|
onChange && onChange(multiple ? filesValue?.map((fileValue) => !Object.keys(fileValue.file)?.length && fileValue.file).filter(Boolean) : {}, Methods);
|
|
53
58
|
control && setValue(name || "default", multiple ? filesValue?.map((fileValue) => !Object.keys(fileValue.file)?.length && fileValue.file).filter(Boolean) : {});
|
|
59
|
+
const element = document.getElementsByName(name || "default")[0];
|
|
60
|
+
try {
|
|
61
|
+
element && (element.value = null);
|
|
62
|
+
}
|
|
63
|
+
catch (ex) { }
|
|
64
|
+
if (element?.value) {
|
|
65
|
+
element.parentNode.replaceChild(element.cloneNode(true), element);
|
|
66
|
+
}
|
|
54
67
|
forceUpdate();
|
|
55
68
|
};
|
|
69
|
+
// Error Handling
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
const Required = (!!required || !!validation?.required) && !(files instanceof Array ? files?.length : (files instanceof Object && Object.keys(files).length));
|
|
72
|
+
// Clear Errors
|
|
73
|
+
if (!Required)
|
|
74
|
+
clearErrors(name || "default");
|
|
75
|
+
// Set Errors
|
|
76
|
+
else {
|
|
77
|
+
// Required
|
|
78
|
+
if (Required)
|
|
79
|
+
setError(name || "default", { type: "required", message: ((required?.toString() === "true") || (validation?.required?.toString() === "true")) ? "This Field Is Required" : `${required ? required : ""}${validation?.required ? validation?.required : ""}` });
|
|
80
|
+
}
|
|
81
|
+
}, [files, required, name, setError, clearErrors, validation]);
|
|
56
82
|
return (React.createElement(React.Fragment, null,
|
|
57
83
|
React.createElement(Box, { className: classes.root }, multiple ?
|
|
58
84
|
React.createElement(React.Fragment, null,
|
|
@@ -80,6 +106,8 @@ export const Upload = ({ value, name, helperText, multiple, onChange, onRemove,
|
|
|
80
106
|
React.createElement(Icons.CloudUploadOutlined, null),
|
|
81
107
|
React.createElement(Typography, null, props.placeholder || name || "default"),
|
|
82
108
|
React.createElement(TextField, { name: name || "default", type: "file", onChange: changeValue, label: props?.label ? props?.label : (name || "default"), inputProps: { ...props.inputProps, multiple: multiple }, ...props })))),
|
|
83
|
-
helperText && React.createElement(FormHelperText, { className: classes.error },
|
|
109
|
+
(helperText || (errors && errors[name || "default"])) && React.createElement(FormHelperText, { className: classes.error },
|
|
110
|
+
errors && errors[name || "default"]?.message,
|
|
111
|
+
helperText && !(errors && errors[name || "default"]) && helperText)));
|
|
84
112
|
};
|
|
85
113
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Upload/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnE,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,cAAc;AACd,OAAO,EAAE,GAAG,EAAE,SAAS,EAAkB,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEvG,SAAS;AACT,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,SAAS;AACT,OAAO,SAAS,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Upload/index.tsx"],"names":[],"mappings":"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"}
|