This commit is contained in:
Jan Prochazka
2020-10-18 10:36:24 +02:00
parent b0f0710a75
commit 69ea8010d2
7 changed files with 74 additions and 17 deletions

View File

@@ -16,20 +16,34 @@ import savedSqlFileAppObject from '../appobj/savedSqlFileAppObject';
import { useArchiveFiles, useArchiveFolders } from '../utility/metadataLoaders';
import archiveFolderAppObject from '../appobj/archiveFolderAppObject';
import archiveFileAppObject from '../appobj/archiveFileAppObject';
import SearchInput from './SearchInput';
import InlineButton from './InlineButton';
import axios from '../utility/axios';
function ArchiveFolderList() {
const folders = useArchiveFolders();
const inputRef = React.useRef(null);
const [filter, setFilter] = React.useState('');
const setArchive = useSetCurrentArchive();
const handleRefreshFolders = () => {
axios.post('archive/refresh-folders', {});
};
return (
<>
<WidgetTitle>Archive folder</WidgetTitle>
<WidgetTitle inputRef={inputRef}>Archive folder</WidgetTitle>
<SearchBoxWrapper>
<SearchInput inputRef={inputRef} placeholder="Search archive folders" filter={filter} setFilter={setFilter} />
<InlineButton onClick={handleRefreshFolders}>Refresh</InlineButton>
</SearchBoxWrapper>
<WidgetsInnerContainer>
<AppObjectList
list={_.sortBy(folders, 'name')}
makeAppObj={archiveFolderAppObject()}
onObjectClick={(archive) => setArchive(archive.name)}
filter={filter}
/>
</WidgetsInnerContainer>
</>
@@ -39,16 +53,26 @@ function ArchiveFolderList() {
function ArchiveFilesList() {
const folder = useCurrentArchive();
const files = useArchiveFiles({ folder });
const inputRef = React.useRef(null);
const [filter, setFilter] = React.useState('');
const handleRefreshFiles = () => {
axios.post('archive/refresh-files', { folder });
};
return (
<>
<WidgetTitle>Archive files</WidgetTitle>
<WidgetTitle inputRef={inputRef}>Archive files</WidgetTitle>
<SearchBoxWrapper>
<SearchInput inputRef={inputRef} placeholder="Search archive files" filter={filter} setFilter={setFilter} />
<InlineButton onClick={handleRefreshFiles}>Refresh</InlineButton>
</SearchBoxWrapper>
<WidgetsInnerContainer>
<AppObjectList
list={(files || []).map((file) => ({
fileName: file.name,
folderName: folder,
}))}
filter={filter}
makeAppObj={archiveFileAppObject()}
/>
</WidgetsInnerContainer>