trithuc-mvc-react 1.6.9 → 1.6.11
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.
|
@@ -20,12 +20,13 @@ function EditorForm({ fields, submitRef }) {
|
|
|
20
20
|
const { tableName, selectedEditItem, setOpenEditorDialog, validationSchema } = useDataTable();
|
|
21
21
|
|
|
22
22
|
const methods = useForm({ defaultValues: {}, resolver: yupResolver(validationSchema) });
|
|
23
|
+
const { setValue, getValues } = methods;
|
|
23
24
|
const theme = useTheme();
|
|
24
25
|
const downXl = useMediaQuery(theme.breakpoints.down("xl"));
|
|
25
26
|
const elementSize = downXl ? "small" : "medium";
|
|
26
27
|
useEffect(() => {
|
|
27
28
|
if (selectedEditItem) {
|
|
28
|
-
|
|
29
|
+
setValue("Id", selectedEditItem.Id);
|
|
29
30
|
|
|
30
31
|
fields.forEach(({ field, onChange, type, keyValue, keyValueLabel, defaultValue }) => {
|
|
31
32
|
if (type == "autocomplete") {
|
|
@@ -33,14 +34,23 @@ function EditorForm({ fields, submitRef }) {
|
|
|
33
34
|
[keyValue]: selectedEditItem[field]
|
|
34
35
|
});
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
setValue(field, selectedEditItem ? selectedEditItem[field] : defaultValue);
|
|
38
|
+
setValue(keyValueLabel, selectedEditItem[keyValueLabel]);
|
|
38
39
|
} else if (type === "date") {
|
|
39
|
-
|
|
40
|
+
setValue(field, selectedEditItem[field]);
|
|
40
41
|
} else if (type === "file") {
|
|
41
|
-
|
|
42
|
+
let fileValue = selectedEditItem[field] ? JSON.parse(selectedEditItem[field]) : [];
|
|
43
|
+
try {
|
|
44
|
+
if (typeof fileValue == "string") {
|
|
45
|
+
fileValue = JSON.parse(fileValue);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
fileValue = [];
|
|
50
|
+
}
|
|
51
|
+
setValue(field, fileValue);
|
|
42
52
|
} else {
|
|
43
|
-
|
|
53
|
+
setValue(field, selectedEditItem[field]);
|
|
44
54
|
}
|
|
45
55
|
});
|
|
46
56
|
} else {
|
|
@@ -52,6 +62,7 @@ function EditorForm({ fields, submitRef }) {
|
|
|
52
62
|
}
|
|
53
63
|
});
|
|
54
64
|
}
|
|
65
|
+
|
|
55
66
|
}, [selectedEditItem]);
|
|
56
67
|
|
|
57
68
|
const saveMutation = useMutation(saveDataToTable, {
|
|
@@ -116,7 +127,7 @@ function EditorForm({ fields, submitRef }) {
|
|
|
116
127
|
keyValue,
|
|
117
128
|
keyValueLabel,
|
|
118
129
|
required,
|
|
119
|
-
disabled=false
|
|
130
|
+
disabled = false
|
|
120
131
|
}) => {
|
|
121
132
|
return (
|
|
122
133
|
<Grid item md={size?.md} xs={size?.xs} sm={size?.sm} key={field}>
|
|
@@ -272,27 +272,18 @@ function FormField({
|
|
|
272
272
|
);
|
|
273
273
|
case "file":
|
|
274
274
|
return (
|
|
275
|
-
<
|
|
276
|
-
name={name}
|
|
277
|
-
control={control}
|
|
278
|
-
render={({ field, fieldState: { error } }) => {
|
|
279
|
-
return (
|
|
280
|
-
<>
|
|
281
|
-
<UploadMultipleFile {...field} name="DinhKem" disabled={disabled} />
|
|
282
|
-
</>
|
|
283
|
-
);
|
|
284
|
-
}}
|
|
285
|
-
/>
|
|
275
|
+
<UploadMultipleFile name={name} label={label} disabled={disabled} />
|
|
286
276
|
);
|
|
287
277
|
case "avatar":
|
|
288
278
|
return (
|
|
289
279
|
<Controller
|
|
290
280
|
name={name}
|
|
291
281
|
control={control}
|
|
282
|
+
disabled={disabled}
|
|
292
283
|
render={({ field, fieldState: { error } }) => {
|
|
293
284
|
return (
|
|
294
285
|
<>
|
|
295
|
-
<RhfUploadAvatar name={"AnhDaiDien"} disabled={disabled}/>
|
|
286
|
+
<RhfUploadAvatar name={"AnhDaiDien"} disabled={disabled} />
|
|
296
287
|
</>
|
|
297
288
|
);
|
|
298
289
|
}}
|
|
@@ -78,7 +78,7 @@ export const TableRowRender = ({ index, row, selected, onSelect, onChangeStatus,
|
|
|
78
78
|
</Tooltip>
|
|
79
79
|
)}
|
|
80
80
|
{canView && !tableActions?.some(({ permissionType }) => permissionType == "view") && (
|
|
81
|
-
<Tooltip title="Xem chi tiết
|
|
81
|
+
<Tooltip title="Xem chi tiết">
|
|
82
82
|
<IconButton onClick={() => onView(row)}>
|
|
83
83
|
<RemoveRedEyeOutlinedIcon color="info" />
|
|
84
84
|
</IconButton>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FormHelperText, LinearProgress } from "@mui/material";
|
|
2
2
|
|
|
3
3
|
import { Controller, useFormContext } from "react-hook-form";
|
|
4
4
|
import UploadMultiFile from "trithuc-mvc-react/components/DataManagement/upload/UploadMultiFile";
|
|
@@ -27,7 +27,6 @@ const UploadMultipleFile = ({ name, label, disabled }) => {
|
|
|
27
27
|
const filteredItems = getValues(name).filter((_file) => _file.urlFile !== file.urlFile);
|
|
28
28
|
setValue(name, filteredItems);
|
|
29
29
|
};
|
|
30
|
-
|
|
31
30
|
return (
|
|
32
31
|
<Controller
|
|
33
32
|
name={name}
|
|
@@ -42,8 +41,8 @@ const UploadMultipleFile = ({ name, label, disabled }) => {
|
|
|
42
41
|
accept="*"
|
|
43
42
|
files={field.value}
|
|
44
43
|
onDrop={!disabled ? handleDrop : () => { }} // disabled lúc ở model view thì ko được chọn ảnh
|
|
45
|
-
onRemove={!disabled ?handleRemove : () => { }}
|
|
46
|
-
onRemoveAll={!disabled? handleRemoveAll: () => { }}
|
|
44
|
+
onRemove={!disabled ? handleRemove : () => { }}
|
|
45
|
+
onRemoveAll={!disabled ? handleRemoveAll : () => { }}
|
|
47
46
|
error={Boolean(error)}
|
|
48
47
|
/>
|
|
49
48
|
{isLoadingUpfile && <LinearProgress />}
|