I'm generating an excel sheet using exceljs and downloading it using file-saver packages
const saveFile = async (fileName: any, workbook: any) => {
protectSheet(validationSheet)
const xls64 = await workbook.xlsx.writeBuffer({ base64: true })
saveAs(
new Blob([xls64], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }),
fileName
)
}
the problem is when I trigger this function by clicking this button
<button ref={buttonRef} className="btn btn-info" onClick={() => {
saveFile(fileName, workbook)
}}>Download file</button>
it takes some time to protect and generate the excel file. i need to disable the button during the protection and generation phase then enable it back after downloading