| | |
| | | import {getRestServiceUrl} from '../../../utilities/global'; |
| | | import ErrorAlert from '../../general/ErrorAlert'; |
| | | import FileListTable from "./FileListTable"; |
| | | import FileListFilter from "./FileListFilter"; |
| | | |
| | | class ArchiveView extends React.Component { |
| | | |
| | | state = { |
| | | isFetching: false, activeTab: '1', |
| | | fileList: undefined |
| | | fileList: undefined, |
| | | filter: { |
| | | search: '', |
| | | maxSize: '50' |
| | | } |
| | | }; |
| | | |
| | | componentDidMount = () => { |
| | | this.fetchArchiveFileList(false); |
| | | }; |
| | | |
| | | handleInputChange = (event) => { |
| | | event.preventDefault(); |
| | | this.setState({filter : {...this.state.filter, [event.target.name]: event.target.value}}); |
| | | }; |
| | | |
| | | |
| | | fetchArchiveFileList = (force) => { |
| | | let forceReload = false; |
| | |
| | | }); |
| | | fetch(getRestServiceUrl('archives/filelist', { |
| | | archiveId: this.props.archiveId, |
| | | force: forceReload |
| | | force: forceReload, |
| | | search: this.state.filter.search, |
| | | maxResultSize: this.state.filter.maxSize |
| | | }), { |
| | | method: 'GET', |
| | | headers: { |
| | |
| | | } else if (this.state.fileList) { |
| | | if (this.state.fileList.length > 0) { |
| | | content = <React.Fragment> |
| | | <FileListFilter |
| | | filter={this.state.filter} |
| | | changeFilter={this.handleInputChange} |
| | | reload={(event) => { |
| | | event.preventDefault(); |
| | | this.fetchArchiveFileList(); |
| | | }} |
| | | /> |
| | | <FileListTable |
| | | entries={this.state.fileList}/> |
| | | </React.Fragment>; |
| | | } else { |
| | | content = <React.Fragment> |
| | | <Button outline color="primary" onClick={() => this.fetchArchiveFileList(true)}>Load file list from borg backup server</Button> |
| | | <Button outline color="primary" onClick={() => this.fetchArchiveFileList(true)}>Load file list from |
| | | borg backup server</Button> |
| | | </React.Fragment>; |
| | | } |
| | | } |