[ML] Fixes file data viz file size check and format as bytes (#25295) (#25311)

* [ML] Fixes file data viz file size check and format as bytes

* [ML] Fix typo in file size error callout
This commit is contained in:
Pete Harverson 2018-11-07 20:24:02 +00:00 committed by GitHub
parent d42fb3cacf
commit 785477219a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 4 deletions

View file

@ -82,7 +82,7 @@ export class FileDataVisualizerView extends Component {
};
async loadFile(file) {
if (file.size < MAX_BYTES) {
if (file.size <= MAX_BYTES) {
try {
const fileContents = await readFile(file);
const data = fileContents.data;

View file

@ -10,16 +10,42 @@ import {
EuiCallOut,
} from '@elastic/eui';
import numeral from '@elastic/numeral';
const FILE_SIZE_DISPLAY_FORMAT = '0,0.[0] b';
export function FileTooLarge({ fileSize, maxFileSize }) {
const fileSizeFormatted = numeral(fileSize).format(FILE_SIZE_DISPLAY_FORMAT);
const maxFileSizeFormatted = numeral(maxFileSize).format(FILE_SIZE_DISPLAY_FORMAT);
// Format the byte values, using the second format if the difference between
// the file size and the max is so small that the formatted values are identical
// e.g. 100.01 MB and 100.0 MB
let errorText;
if (fileSizeFormatted !== maxFileSizeFormatted) {
errorText = (
<p>
The size of the file you selected for upload is {fileSizeFormatted} which
exceeds the maximum permitted size of {maxFileSizeFormatted}
</p>
);
} else {
const diffFormatted = numeral(fileSize - maxFileSize).format(FILE_SIZE_DISPLAY_FORMAT);
errorText = (
<p>
The size of the file you selected for upload exceeds the maximum
permitted size of {maxFileSizeFormatted} by {diffFormatted}
</p>
);
}
return (
<EuiCallOut
title="File size is too large"
color="danger"
iconType="cross"
>
<p>
The size of the file you selected for upload is {fileSize} which exceeds the maximum permitted size of {maxFileSize}
</p>
{errorText}
</EuiCallOut>
);
}