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

[FEAT]: Add Basic demo code and sample in fileinputbutton component

parent 0e27cc3c
No related branches found
No related tags found
No related merge requests found
import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; import ShowDemoCode from "../../show-demo-code/ShowDemoCode";
const BasicDropzoneCode = ({ splittedOnly = false }) => { const BasicDropzoneCode = ({ splittedOnly = false, button=false }) => {
return ( return (
<ShowDemoCode <ShowDemoCode
splittedOnly={splittedOnly} splittedOnly={splittedOnly}
codeCompleteJS={completeCodeJS} codeCompleteJS={button?splittedCodeJSButton:completeCodeJS}
codeCompleteTS={completeCodeTS} codeCompleteTS={button?splittedCodeTSButton:completeCodeTS}
codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v"
codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v"
codeSplittedJS={splittedCodeJS} codeSplittedJS={button?splittedCodeJSButton:splittedCodeJS}
codeSplittedTS={splittedCodeTS} codeSplittedTS={button?splittedCodeTSButton:splittedCodeTS}
/> />
); );
}; };
export default BasicDropzoneCode; export default BasicDropzoneCode;
const splittedCodeJSButton = `<FileInputButton onChange={updateFiles} value={files} />
{files.map((file) => (
<FileCard key={file.id} {...file} onDelete={removeFile} info />
))}`;
const splittedCodeTSButton = splittedCodeJSButton;
//////////
const splittedCodeJS = `<Dropzone const splittedCodeJS = `<Dropzone
onChange={updateFiles} onChange={updateFiles}
value={files} value={files}
......
import { Dropzone, FileMosaic } from "../../../files-ui"; import {
Dropzone,
FileCard,
FileInputButton,
FileMosaic,
} from "../../../files-ui";
import * as React from "react"; import * as React from "react";
export default function BasicDemoDropzone() { export default function BasicDemoDropzone({ button }) {
const [files, setFiles] = React.useState([]); const [files, setFiles] = React.useState([]);
const updateFiles = (incommingFiles) => { const updateFiles = (incommingFiles) => {
//do something with the files //do something with the files
...@@ -10,6 +15,38 @@ export default function BasicDemoDropzone() { ...@@ -10,6 +15,38 @@ export default function BasicDemoDropzone() {
const removeFile = (id) => { const removeFile = (id) => {
setFiles(files.filter((x) => x.id !== id)); setFiles(files.filter((x) => x.id !== id));
}; };
if (button) {
return (
<div
style={{
display: "flex",
alignItems: "center",
justifyContent: "space-evenly",
gap: "10px",
flexWrap: "wrap",
width: "100%",
}}
>
<FileInputButton onChange={updateFiles} value={files} />
{files.length > 0 && (
<div
style={{
display: "flex",
alignItems: "center",
justifyContent: "center",
flexDirection: "column",
gap:"5px",
minWidth:"50%"
}}
>
{files.map((file) => (
<FileCard key={file.id} {...file} onDelete={removeFile} info />
))}
</div>
)}
</div>
);
}
return ( return (
<Dropzone onChange={updateFiles} value={files}> <Dropzone onChange={updateFiles} value={files}>
{files.length > 0 && {files.length > 0 &&
......
...@@ -20,6 +20,7 @@ import MainParagraph from "../../components/paragraph-main/MainParagraph"; ...@@ -20,6 +20,7 @@ import MainParagraph from "../../components/paragraph-main/MainParagraph";
import RightMenu from "../../components/RightMenu/RightMenu"; import RightMenu from "../../components/RightMenu/RightMenu";
import TypeHighlight from "../../components/typeHighlight/TypeHighlight"; import TypeHighlight from "../../components/typeHighlight/TypeHighlight";
import AnchorToTab from "../../components/util-components/AnchorToTab"; import AnchorToTab from "../../components/util-components/AnchorToTab";
import DemoDropzoneFooterConfig from "../../components/demo-components/dropzone-demo/DemoDropzoneFooterConfig"; import DemoDropzoneFooterConfig from "../../components/demo-components/dropzone-demo/DemoDropzoneFooterConfig";
import DemoDropzoneHeaderConfig from "../../components/demo-components/dropzone-demo/DemoDropzoneHeaderConfig"; import DemoDropzoneHeaderConfig from "../../components/demo-components/dropzone-demo/DemoDropzoneHeaderConfig";
import CodeDemoDropzoneHeaderConfig from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneHeaderConfig"; import CodeDemoDropzoneHeaderConfig from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneHeaderConfig";
...@@ -46,9 +47,11 @@ const DropzoneDemoPage = (props) => { ...@@ -46,9 +47,11 @@ const DropzoneDemoPage = (props) => {
<MainTitle>Dropzone</MainTitle> <MainTitle>Dropzone</MainTitle>
<MainParagraph> <MainParagraph>
The "dropzone" component is a special{" "} The default <CodeHighlight>{'<input type="file"/>'}</CodeHighlight> is
<CodeHighlight>input</CodeHighlight> enhanced by the ability to allow just a quite boring button. That's why we present the"dropzone"
users to drag and drop files there or choose files from a file dialog. component is an special <CodeHighlight>input</CodeHighlight> enhanced
by the ability to allow users to drag and drop files there or choose
files from a file dialog and also to validate an upload them.
</MainParagraph> </MainParagraph>
<DescParagraph> <DescParagraph>
...@@ -81,7 +84,7 @@ const DropzoneDemoPage = (props) => { ...@@ -81,7 +84,7 @@ const DropzoneDemoPage = (props) => {
<section id="basic-dropzone"> <section id="basic-dropzone">
<SubTitle content="Basic Dropzone" /> <SubTitle content="Basic Dropzone" />
<DescParagraph> <DescParagraph>
In this demo we set dropzone with the minimum props that allows you In this demo we set the <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> with the minimum props that allows you
to get your task done fast. These props are{" "} to get your task done fast. These props are{" "}
<CodeHighlight>onChange</CodeHighlight> and{" "} <CodeHighlight>onChange</CodeHighlight> and{" "}
<CodeHighlight>value</CodeHighlight>. <CodeHighlight>value</CodeHighlight>.
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment