[WEB-2326] fix: issue activity mutation on attachments upload. (#5886)

This commit is contained in:
Prateek Shourya
2024-10-24 14:36:30 +05:30
committed by GitHub
parent 074ad6d1a4
commit bf220666dd
3 changed files with 21 additions and 5 deletions

View File

@@ -17,13 +17,14 @@ type TAttachmentOperationsRemoveModal = Exclude<TAttachmentOperations, "create">
type TIssueAttachmentItemList = {
workspaceSlug: string;
projectId: string;
issueId: string;
handleAttachmentOperations: TAttachmentOperationsRemoveModal;
disabled?: boolean;
};
export const IssueAttachmentItemList: FC<TIssueAttachmentItemList> = observer((props) => {
const { workspaceSlug, issueId, handleAttachmentOperations, disabled } = props;
const { workspaceSlug, projectId, issueId, handleAttachmentOperations, disabled } = props;
// states
const [isLoading, setIsLoading] = useState(false);
// store hooks
@@ -31,12 +32,18 @@ export const IssueAttachmentItemList: FC<TIssueAttachmentItemList> = observer((p
attachment: { getAttachmentsByIssueId },
attachmentDeleteModalId,
toggleDeleteAttachmentModal,
fetchActivities,
} = useIssueDetail();
// file size
const { maxFileSize } = useFileSize();
// derived values
const issueAttachments = getAttachmentsByIssueId(issueId);
// handlers
const handleFetchPropertyActivities = useCallback(() => {
fetchActivities(workspaceSlug, projectId, issueId);
}, [fetchActivities, workspaceSlug, projectId, issueId]);
const onDrop = useCallback(
(acceptedFiles: File[], rejectedFiles: FileRejection[]) => {
const totalAttachedFiles = acceptedFiles.length + rejectedFiles.length;
@@ -55,7 +62,10 @@ export const IssueAttachmentItemList: FC<TIssueAttachmentItemList> = observer((p
message: "File could not be attached. Try uploading again.",
});
})
.finally(() => setIsLoading(false));
.finally(() => {
handleFetchPropertyActivities();
setIsLoading(false);
});
return;
}
@@ -69,7 +79,7 @@ export const IssueAttachmentItemList: FC<TIssueAttachmentItemList> = observer((p
});
return;
},
[handleAttachmentOperations, maxFileSize, workspaceSlug]
[handleAttachmentOperations, maxFileSize, workspaceSlug, handleFetchPropertyActivities]
);
const { getRootProps, getInputProps, isDragActive } = useDropzone({

View File

@@ -19,6 +19,7 @@ export const IssueAttachmentsCollapsibleContent: FC<Props> = (props) => {
return (
<IssueAttachmentItemList
workspaceSlug={workspaceSlug}
projectId={projectId}
issueId={issueId}
disabled={disabled}
handleAttachmentOperations={handleAttachmentOperations}

View File

@@ -26,12 +26,16 @@ export const IssueAttachmentActionButton: FC<Props> = observer((props) => {
// state
const [isLoading, setIsLoading] = useState(false);
// store hooks
const { setLastWidgetAction } = useIssueDetail();
const { setLastWidgetAction, fetchActivities } = useIssueDetail();
// file size
const { maxFileSize } = useFileSize();
// operations
const handleAttachmentOperations = useAttachmentOperations(workspaceSlug, projectId, issueId);
// handlers
const handleFetchPropertyActivities = useCallback(() => {
fetchActivities(workspaceSlug, projectId, issueId);
}, [fetchActivities, workspaceSlug, projectId, issueId]);
const onDrop = useCallback(
(acceptedFiles: File[], rejectedFiles: FileRejection[]) => {
const totalAttachedFiles = acceptedFiles.length + rejectedFiles.length;
@@ -51,6 +55,7 @@ export const IssueAttachmentActionButton: FC<Props> = observer((props) => {
});
})
.finally(() => {
handleFetchPropertyActivities();
setLastWidgetAction("attachments");
setIsLoading(false);
});
@@ -67,7 +72,7 @@ export const IssueAttachmentActionButton: FC<Props> = observer((props) => {
});
return;
},
[handleAttachmentOperations, maxFileSize, workspaceSlug]
[maxFileSize, workspaceSlug, handleAttachmentOperations, handleFetchPropertyActivities, setLastWidgetAction]
);
const { getRootProps, getInputProps } = useDropzone({