added drag and drop to file browser
This commit is contained in:
parent
483ffb58ca
commit
713a96efc5
@ -2,6 +2,7 @@ import React from "react"
|
||||
import { useState } from "react"
|
||||
import { useOpenDirQuery } from "../generated/graphql"
|
||||
import Breadcrum from "./Breadcrum"
|
||||
import DragAndDrop from "./DragAndDrop"
|
||||
import FileBrowserElement from "./FileBrowserElement"
|
||||
import FileOpen from "./FileOpen"
|
||||
|
||||
@ -16,46 +17,57 @@ const FileBrowser: React.FC = () => {
|
||||
}
|
||||
})
|
||||
|
||||
function handleDrop(files:FileList) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const file = files[i]
|
||||
console.debug(file) // TODO
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Breadcrum path={path} onDirClick={(newPath)=>{
|
||||
setPath(newPath)
|
||||
}}/>
|
||||
<div>
|
||||
{loading &&
|
||||
<div className="loading loading-lg"></div> // TODO: center
|
||||
}
|
||||
<table className="table table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Size</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<DragAndDrop
|
||||
handleDrop={handleDrop}
|
||||
>
|
||||
<Breadcrum path={path} onDirClick={(newPath)=>{
|
||||
setPath(newPath)
|
||||
}}/>
|
||||
<div>
|
||||
{loading &&
|
||||
<div className="loading loading-lg"></div> // TODO: center
|
||||
}
|
||||
<table className="table table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Size</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
{ data?.directorys.map(v => (<FileBrowserElement
|
||||
key={v?.id}
|
||||
dir={v}
|
||||
onClick={(dir)=>{
|
||||
setPath(dir.id)
|
||||
}}
|
||||
/>))}
|
||||
|
||||
{ data?.files.map(v => (<FileBrowserElement
|
||||
key={v?.id}
|
||||
file={v}
|
||||
onClick={(file)=>{
|
||||
setOpenFileId(file.id)
|
||||
setShowFile(true)
|
||||
}}
|
||||
/>))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{<FileOpen id={openFileId} show={showFile} onCloseClick={()=>{
|
||||
setShowFile(false)
|
||||
}} />}
|
||||
{ data?.directorys.map(v => (<FileBrowserElement
|
||||
key={v?.id}
|
||||
dir={v}
|
||||
onClick={(dir)=>{
|
||||
setPath(dir.id)
|
||||
}}
|
||||
/>))}
|
||||
|
||||
{ data?.files.map(v => (<FileBrowserElement
|
||||
key={v?.id}
|
||||
file={v}
|
||||
onClick={(file)=>{
|
||||
setOpenFileId(file.id)
|
||||
setShowFile(true)
|
||||
}}
|
||||
/>))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{<FileOpen id={openFileId} show={showFile} onCloseClick={()=>{
|
||||
setShowFile(false)
|
||||
}} />}
|
||||
</DragAndDrop>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user