mirror of
https://github.com/hexastack/hexabot
synced 2025-01-22 18:45:57 +00:00
fix: content reload after import
This commit is contained in:
parent
fde4224703
commit
535b4f0f8e
@ -46,7 +46,7 @@ const AttachmentInput = forwardRef<HTMLDivElement, AttachmentThumbnailProps>(
|
||||
ref,
|
||||
) => {
|
||||
const hasPermission = useHasPermission();
|
||||
const handleChange = (attachment: IAttachment | null) => {
|
||||
const handleChange = (attachment?: IAttachment | null) => {
|
||||
onChange && onChange(attachment?.id || null, attachment?.type || null);
|
||||
};
|
||||
|
||||
|
@ -65,7 +65,7 @@ export type FileUploadProps = {
|
||||
imageButton?: boolean;
|
||||
accept: string;
|
||||
enableMediaLibrary?: boolean;
|
||||
onChange?: (data: IAttachment | null) => void;
|
||||
onChange?: (data?: IAttachment | null) => void;
|
||||
};
|
||||
|
||||
const AttachmentUploader: FC<FileUploadProps> = ({
|
||||
@ -99,15 +99,16 @@ const AttachmentUploader: FC<FileUploadProps> = ({
|
||||
const file = event.target.files.item(0);
|
||||
|
||||
if (file) {
|
||||
const acceptedTypes = accept.split(',');
|
||||
const isValidType = acceptedTypes.some((type) =>
|
||||
file.type === type || file.name.endsWith(type.replace('.*', ''))
|
||||
const acceptedTypes = accept.split(",");
|
||||
const isValidType = acceptedTypes.some(
|
||||
(type) =>
|
||||
file.type === type || file.name.endsWith(type.replace(".*", "")),
|
||||
);
|
||||
|
||||
if (!isValidType) {
|
||||
toast.error(t("message.invalid_file_type"));
|
||||
|
||||
return;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
uploadAttachment(file);
|
||||
|
@ -43,7 +43,16 @@ export const DeleteDialog: FC<DeleteDialogProps> = ({
|
||||
</Grid>
|
||||
</DialogContent>
|
||||
<DialogActions>
|
||||
<Button variant="contained" color="error" onClick={callback} autoFocus>
|
||||
<Button
|
||||
variant="contained"
|
||||
color="error"
|
||||
onClick={() => {
|
||||
if (callback) {
|
||||
callback();
|
||||
}
|
||||
}}
|
||||
autoFocus
|
||||
>
|
||||
{t("button.yes")}
|
||||
</Button>
|
||||
<Button variant="outlined" onClick={closeFunction}>
|
||||
|
@ -38,17 +38,23 @@ export const ContentImportDialog: FC<ContentImportDialogProps> = ({
|
||||
const { refetch, isFetching } = useQuery(
|
||||
["importContent", data?.contentType?.id, attachmentId],
|
||||
async () => {
|
||||
await apiClient.importContent(data?.contentType?.id!, attachmentId!)},
|
||||
if (data?.contentType?.id && attachmentId) {
|
||||
await apiClient.importContent(data.contentType.id, attachmentId);
|
||||
}
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
onSuccess: () => {
|
||||
handleCloseDialog();
|
||||
toast.success(t("message.success_save"));
|
||||
if (rest.callback) {
|
||||
rest.callback();
|
||||
}
|
||||
},
|
||||
onError: () => {
|
||||
toast.error(t("message.internal_server_error"));
|
||||
},
|
||||
}
|
||||
},
|
||||
);
|
||||
const handleCloseDialog = () => {
|
||||
closeDialog();
|
||||
|
@ -67,7 +67,7 @@ export const Contents = () => {
|
||||
const { data: contentType } = useGet(String(query.id), {
|
||||
entity: EntityType.CONTENT_TYPE,
|
||||
});
|
||||
const { dataGridProps } = useFind(
|
||||
const { dataGridProps, refetch } = useFind(
|
||||
{ entity: EntityType.CONTENT, format: Format.FULL },
|
||||
{
|
||||
params: searchPayload,
|
||||
@ -161,7 +161,12 @@ export const Contents = () => {
|
||||
<Paper>
|
||||
<ContentDialog {...getDisplayDialogs(addDialogCtl)} />
|
||||
<ContentDialog {...getDisplayDialogs(editDialogCtl)} />
|
||||
<ContentImportDialog {...getDisplayDialogs(importDialogCtl)} />
|
||||
<ContentImportDialog
|
||||
{...getDisplayDialogs(importDialogCtl)}
|
||||
callback={() => {
|
||||
refetch();
|
||||
}}
|
||||
/>
|
||||
<DeleteDialog
|
||||
{...deleteDialogCtl}
|
||||
callback={() => {
|
||||
|
@ -15,7 +15,7 @@ export type DialogControlProps<T, C = never> = Omit<
|
||||
>;
|
||||
export type DialogControl<T = null, C = never> = DialogProps & {
|
||||
data?: T;
|
||||
callback?: (data: C) => void;
|
||||
callback?: (data?: C) => void;
|
||||
openDialog: (data?: T) => void;
|
||||
closeDialog: () => void;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user