Skip to content
Snippets Groups Projects
Commit c323d7ca authored by Jose Manuel Serrano Amaut's avatar Jose Manuel Serrano Amaut
Browse files

[WIP]: Refactor upload layer on FileMosaic component

parent 32079952
No related branches found
No related tags found
No related merge requests found
import * as React from "react"; import * as React from "react";
import { FileMosaic } from "../../../files-ui"; import { FileMosaic } from "../../../files-ui";
import { ExtFile } from "../../../files-ui/core"; import { ExtFile, getRandomInt } from "../../../files-ui/core";
const preparingFiles: ExtFile[] = [ const preparingFiles: ExtFile[] = [
{ {
id: "fileId-1", id: "fileId-1",
...@@ -73,6 +73,7 @@ const uploadResulFiles: ExtFile[] = [ ...@@ -73,6 +73,7 @@ const uploadResulFiles: ExtFile[] = [
uploadMessage: "File was uploaded correctly to Files-ui earthquakes", uploadMessage: "File was uploaded correctly to Files-ui earthquakes",
}, },
]; ];
const FlexRowContainer = (props: { children: React.ReactNode }) => { const FlexRowContainer = (props: { children: React.ReactNode }) => {
return ( return (
<div <div
...@@ -88,6 +89,41 @@ const FlexRowContainer = (props: { children: React.ReactNode }) => { ...@@ -88,6 +89,41 @@ const FlexRowContainer = (props: { children: React.ReactNode }) => {
); );
}; };
const DemoFileMosaicUploadStatus = () => { const DemoFileMosaicUploadStatus = () => {
const [progress, setProgress] = React.useState(28);
const [progress2, setProgress2] = React.useState(28);
React.useEffect(() => {
const _myInterval = setInterval(() => {
setProgress((_progress) => {
if (_progress === 100) {
return 0;
}
const offset = getRandomInt(5, 14);
const newProgress = _progress + offset;
if (newProgress > 100) {
return 100;
} else {
return newProgress;
}
});
setProgress2((_progress) => {
if (_progress === 100) {
return 0;
}
const offset = getRandomInt(10, 24);
const newProgress = _progress + offset;
if (newProgress > 100) {
return 100;
} else {
return newProgress;
}
});
}, 2000);
return () => {
console.log("clear interval", _myInterval);
clearInterval(_myInterval as NodeJS.Timer);
};
}, []);
return ( return (
<> <>
<FlexRowContainer> <FlexRowContainer>
...@@ -97,9 +133,13 @@ const DemoFileMosaicUploadStatus = () => { ...@@ -97,9 +133,13 @@ const DemoFileMosaicUploadStatus = () => {
<FlexRowContainer> <FlexRowContainer>
<FileMosaic {...uploadingFiles[0]} /> <FileMosaic {...uploadingFiles[0]} />
<FileMosaic {...uploadingFiles[0]} progress={70} /> <FileMosaic {...uploadingFiles[0]} progress={progress} />
<FileMosaic {...uploadingFiles[2]} onAbort={() => {}} /> <FileMosaic {...uploadingFiles[2]} onAbort={() => {}} />
<FileMosaic {...uploadingFiles[3]} onAbort={()=>{}}/> <FileMosaic
{...uploadingFiles[3]}
onAbort={() => {}}
progress={progress2}
/>
</FlexRowContainer> </FlexRowContainer>
<FlexRowContainer> <FlexRowContainer>
......
...@@ -54,14 +54,16 @@ const FileMosaicUploadLayer: React.FC<FileMosaicUploadLayerProps> = ( ...@@ -54,14 +54,16 @@ const FileMosaicUploadLayer: React.FC<FileMosaicUploadLayerProps> = (
// eslint-disable-next-line // eslint-disable-next-line
}, [statusHistory.length]); }, [statusHistory.length]);
const PreparingStatus = () => { const PreparingStatus = React.useMemo(
return ( () => () =>
(
<React.Fragment> <React.Fragment>
<InfiniteLoader onClick={onCancel} size={65} /> <InfiniteLoader onClick={onCancel} size={65} />
<span>{FileItemStatusLocalizer.preparing as string}</span> <span>{FileItemStatusLocalizer.preparing as string}</span>
</React.Fragment> </React.Fragment>
),
[]
); );
};
const UploadingStatus = React.useMemo( const UploadingStatus = React.useMemo(
() => () => () => () =>
( (
......
import * as React from "react"; import * as React from "react";
import { Clear } from "../../icons"; import { Clear } from "../../icons";
import { parseSize } from "../../icons/utils/utils"; import { parseSize } from "../../icons/utils/utils";
//import BasePreparingLoader from "../BasePreparingLoader/BasePreparingLoader";
import LoaderContainer from "../LoaderContainer/LoaderContainer"; import LoaderContainer from "../LoaderContainer/LoaderContainer";
import { DynamicLoaderProps } from "./DynamicLoaderProps"; import { DynamicLoaderProps } from "./DynamicLoaderProps";
...@@ -24,7 +23,8 @@ const DynamicLoader: React.FC<DynamicLoaderProps> = ( ...@@ -24,7 +23,8 @@ const DynamicLoader: React.FC<DynamicLoaderProps> = (
onClick, onClick,
} = props; } = props;
console.log("percentage", percentage); console.table(props);
//console.log("percentage", percentage);
const finalRadius = radius || 28; const finalRadius = radius || 28;
const finalX = x || 30; const finalX = x || 30;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment