mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 14:16:01 +00:00
archive
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user