From 403fb2eb98deb2e352f700b2503fdf5b27679c96 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Mon, 11 Feb 2019 22:31:55 +0000
Subject: [PATCH] Adding and removing repos.
---
borgbutler-webapp/src/components/views/repos/RepoConfigPanel.jsx | 45 +++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 43 insertions(+), 2 deletions(-)
diff --git a/borgbutler-webapp/src/components/views/repos/RepoConfigPanel.jsx b/borgbutler-webapp/src/components/views/repos/RepoConfigPanel.jsx
index d97d0d0..88ef7e8 100644
--- a/borgbutler-webapp/src/components/views/repos/RepoConfigPanel.jsx
+++ b/borgbutler-webapp/src/components/views/repos/RepoConfigPanel.jsx
@@ -8,6 +8,7 @@
import RepoConfigBasePanel from './RepoConfigBasePanel';
import RepoConfigPasswordPanel from './RepoConfigPasswordPanel';
import RepoConfigTestPanel from './RepoConfigTestPanel';
+import ConfirmModal from '../../general/modal/ConfirmModal';
class RepoConfigPanel extends React.Component {
@@ -15,17 +16,26 @@
super(props);
this.state = {
loading: false,
- repoConfig: undefined
+ repoConfig: undefined,
+ confirmModal: false
};
this.fetch = this.fetch.bind(this);
this.setRepoValue = this.setRepoValue.bind(this);
this.onSave = this.onSave.bind(this);
+ this.onRemove = this.onRemove.bind(this);
this.onCancel = this.onCancel.bind(this);
+ this.toggleModal = this.toggleModal.bind(this);
}
componentDidMount = () => this.fetch();
+ toggleModal() {
+ this.setState({
+ confirmModal: !this.state.confirmModal
+ })
+ }
+
fetch = () => {
this.setState({
isFetching: true,
@@ -68,6 +78,23 @@
})
}
+ onRemove(event) {
+ const response = fetch(getRestServiceUrl('repoConfig/remove', {
+ id: this.props.id
+ }), {
+ method: 'GET',
+ headers: {
+ 'Accept': 'application/json'
+ }
+ })
+ .then(response => response.text())
+ .then(text => {
+ })
+ .catch((error) => {
+ console.log("error", error);
+ })
+ }
+
async onSave(event) {
const response = fetch(getRestServiceUrl("repoConfig"), {
method: 'POST',
@@ -129,6 +156,7 @@
<FormButton onClick={this.onCancel}
hintKey="configuration.cancel.hint"><I18n name={'common.cancel'}/>
</FormButton>
+ <FormButton onClick={this.toggleModal} bsStyle={'outline-danger'}>Remove</FormButton>
<FormButton onClick={this.onSave} bsStyle="primary"
hintKey="configuration.save.hint"><I18n name={'common.save'}/>
</FormButton>
@@ -139,7 +167,20 @@
<LoadingOverlay active={this.state.loading}/>
</React.Fragment>;
}
- return <React.Fragment>{content}{repoError}</React.Fragment>;
+ return <React.Fragment>
+ <ConfirmModal
+ onConfirm={this.onRemove}
+ title={'Are you sure?'}
+ toggle={this.toggleModal}
+ open={this.state.confirmModal}
+ >
+ Do you really want to remove this repository from BorgButler?
+ <br/>
+ The Borg repository itself and its content will be left untouched.
+ </ConfirmModal>
+ {content}
+ {repoError}
+ </React.Fragment>;
}
}
--
Gitblit v1.10.0