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
- methods.setValue("Id", selectedEditItem.Id);
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
- methods.setValue(field, selectedEditItem ? selectedEditItem[field] : defaultValue);
37
- methods.setValue(keyValueLabel, selectedEditItem[keyValueLabel]);
37
+ setValue(field, selectedEditItem ? selectedEditItem[field] : defaultValue);
38
+ setValue(keyValueLabel, selectedEditItem[keyValueLabel]);
38
39
  } else if (type === "date") {
39
- methods.setValue(field, selectedEditItem[field]);
40
+ setValue(field, selectedEditItem[field]);
40
41
  } else if (type === "file") {
41
- methods.setValue(field, selectedEditItem[field] ? JSON.parse(selectedEditItem[field]) : []);
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
- methods.setValue(field, selectedEditItem[field]);
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
- <Controller
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 modal">
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 { CardContent, CardHeader, FormHelperText, LinearProgress, Card } from "@mui/material";
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 />}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trithuc-mvc-react",
3
- "version": "1.6.9",
3
+ "version": "1.6.11",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"