0.1.0 • Published 4 years ago

@dccs/react-filepicker-mui v0.1.0

Weekly downloads
25
License
MIT
Repository
github
Last release
4 years ago

react-filepicker-mui · travis build npm version

filepicker https://dccs-it-business-solutions.github.io/react-filepicker-mui/

Installation

You should install react-filepicker-mui with npm or yarn:

npm install @dccs/react-filepicker-mui
or
yarn add @dccs/react-filepicker-mui

This command will download and install react-filepicker-mui

Usage

Required Parameters

NameTypeDescription
valuestring[]Array of Ids from selected files
onChange(newValue: string[]) => voidgets called every time a file is: added and the uploadFile function has returned the Id removed
uploadFile(file: File) => Promise<string>do something with the file and return an Id for it
getFile(id: string) => Promise<FileMetadata>gets called for every Id in the value[] and should return the metadata for the file with the given Id

No Customization

<FilePicker
  value={fileIds}
  onChange={ids => {
    setFileIds(ids);
  }}
  uploadFile={(file:File)=>{
    // could look like this:
    string fileId = await api.uploadFile(file);
    return fileId;
  }}
  getFile={(id: string) => {
    // could look like this:
    let metadata = await api.getFile(id);
    return metadata;
  }}
/>

Custom Render Example

<FilePicker
  value={fileIds}
  onChange={ids => {
    setFileIds(ids);
  }}
  uploadFile={(file:File)=>{
    // could look like this:
    string fileId = await api.uploadFile(file);
    return fileId;
  }}
  getFile={(id: string) => {
    // could look like this:
    let metadata = await api.getFile(id);
    return metadata;
  }}
>
  {(state, files, removeFile) => (
    <div
      {...state.getRootProps()}
      style={{ minWIdth: 500, minHeight: 500, backgroundColor: "gray" }}
    >
      <input {...state.getInputProps()} />
      {files.map(f => (
        <ListItem key={f.id}>
          <ListItemText primary={f.name} />
          <ListItemSecondaryAction>
            <Button
              onClick={e => {
                e.stopPropagation();
                removeFile(f.id);
              }}
            >
              <Typography>Delete</Typography>
            </Button>
          </ListItemSecondaryAction>
        </ListItem>
      ))}
    </div>
  )}
</FilePicker>

Contributing

License

@dccs/react-filepicker-mui is MIT licensed