@@ -27,6 +27,7 @@ import BulkSendUi from "../components/BulkSendUi";
27
27
import Loader from "./Loader" ;
28
28
import Select from "react-select" ;
29
29
import SubscribeCard from "./SubscribeCard" ;
30
+ import sanitizeFileName from "./sanitizeFileName" ;
30
31
31
32
const ReportTable = ( props ) => {
32
33
const navigate = useNavigate ( ) ;
@@ -595,14 +596,31 @@ const ReportTable = (props) => {
595
596
596
597
// `handleDownload` is used to get valid doc url available in completed report
597
598
const handleDownload = async ( item ) => {
599
+ setActLoader ( { [ `${ item . objectId } ` ] : true } ) ;
598
600
const url = item ?. SignedUrl || item ?. URL || "" ;
601
+ const pdfName = item ?. Name || "exported_file" ;
599
602
if ( url ) {
600
603
try {
601
604
const signedUrl = await Parse . Cloud . run ( "getsignedurl" , { url : url } ) ;
602
- saveAs ( signedUrl ) ;
605
+ // saveAs(signedUrl);
606
+ try {
607
+ const response = await fetch ( signedUrl ) ;
608
+ if ( ! response . ok ) {
609
+ alert ( "something went wrong, please try again later." ) ;
610
+ throw new Error ( "Network response was not ok" ) ;
611
+ }
612
+ const blob = await response . blob ( ) ;
613
+ saveAs ( blob , `${ sanitizeFileName ( pdfName ) } _signed_by_OpenSign™.pdf` ) ;
614
+ setActLoader ( { } ) ;
615
+ } catch ( error ) {
616
+ alert ( "something went wrong, please try again later." ) ;
617
+ console . error ( "Error downloading the file:" , error ) ;
618
+ setActLoader ( { } ) ;
619
+ }
603
620
} catch ( err ) {
604
621
console . log ( "err in getsignedurl" , err ) ;
605
622
alert ( "something went wrong, please try again later." ) ;
623
+ setActLoader ( { } ) ;
606
624
}
607
625
}
608
626
} ;
0 commit comments