fix: Check uploaded file size in widget and dashboard (#1975)
* File size check logic in widget * set maxium file size * update locale texts * file size check in dashboard * dynamincally set file size limit error message * code climate review fixes * add alert mixin * move attahcment bus event to constants * Move file size check logic to helper * add specs for file size limit check helper * changes as per review
This commit is contained in:
parent
45e43b0b89
commit
ce4ce3c86c
12 changed files with 143 additions and 56 deletions
25
app/javascript/shared/helpers/FileHelper.js
Normal file
25
app/javascript/shared/helpers/FileHelper.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
export const formatBytes = (bytes, decimals = 2) => {
|
||||
if (bytes === 0) return '0 Bytes';
|
||||
|
||||
const k = 1024;
|
||||
const dm = decimals < 0 ? 0 : decimals;
|
||||
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
||||
|
||||
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
||||
|
||||
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
|
||||
};
|
||||
|
||||
export const fileSizeInMegaBytes = bytes => {
|
||||
if (bytes === 0) {
|
||||
return 0;
|
||||
}
|
||||
const sizeInMB = (bytes / (1024 * 1024)).toFixed(2);
|
||||
return sizeInMB;
|
||||
};
|
||||
|
||||
export const checkFileSizeLimit = (file, maximumUploadLimit) => {
|
||||
const fileSize = file?.file?.size;
|
||||
const fileSizeInMB = fileSizeInMegaBytes(fileSize);
|
||||
return fileSizeInMB <= maximumUploadLimit;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue