From 618f5467f2bec282650b91652569677b2c3188c7 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sun, 10 Feb 2019 17:45:00 +0000
Subject: [PATCH] RepoConfigTestPanel...
---
borgbutler-webapp/src/components/views/repos/RepoConfigPanel.jsx | 81 +++-------------------------------------
1 files changed, 7 insertions(+), 74 deletions(-)
diff --git a/borgbutler-webapp/src/components/views/repos/RepoConfigPanel.jsx b/borgbutler-webapp/src/components/views/repos/RepoConfigPanel.jsx
index 4d4a3f6..d97d0d0 100644
--- a/borgbutler-webapp/src/components/views/repos/RepoConfigPanel.jsx
+++ b/borgbutler-webapp/src/components/views/repos/RepoConfigPanel.jsx
@@ -1,6 +1,5 @@
import React from 'react';
-import {Alert, FormGroup} from 'reactstrap';
-import {FormButton, FormField, FormLabel} from '../../general/forms/FormComponents';
+import {FormButton, FormField, FormGroup, FormLabel} from '../../general/forms/FormComponents';
import {getRestServiceUrl} from '../../../utilities/global';
import I18n from "../../general/translation/I18n";
import LoadingOverlay from '../../general/loading/LoadingOverlay';
@@ -8,6 +7,7 @@
import ErrorAlert from "../../general/ErrorAlert";
import RepoConfigBasePanel from './RepoConfigBasePanel';
import RepoConfigPasswordPanel from './RepoConfigPasswordPanel';
+import RepoConfigTestPanel from './RepoConfigTestPanel';
class RepoConfigPanel extends React.Component {
@@ -15,16 +15,13 @@
super(props);
this.state = {
loading: false,
- repoConfig: undefined,
- testStatus: undefined,
- testResult: undefined
+ repoConfig: undefined
};
this.fetch = this.fetch.bind(this);
this.setRepoValue = this.setRepoValue.bind(this);
this.onSave = this.onSave.bind(this);
this.onCancel = this.onCancel.bind(this);
- this.onTest = this.onTest.bind(this);
}
componentDidMount = () => this.fetch();
@@ -68,8 +65,6 @@
//console.log(variable + "=" + value);
this.setState({
repoConfig: {...this.state.repoConfig, [variable]: value},
- // reset testStatus only, if test status is OK (config values are changed, new test required):
- testStatus: this.state.testStatus === 'OK' ? undefined : this.state.testStatus
})
}
@@ -87,34 +82,6 @@
}
}
- onTest(event) {
- this.setState({
- testStatus: 'fetching',
- testResult: undefined
- });
- fetch(getRestServiceUrl("repoConfig/check"), {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify(this.state.repoConfig)
- })
- .then(response => response.text())
- .then(result => {
- //console.log("test-result: " + result);
- this.setState({
- testStatus: result === 'OK' ? 'OK' : 'error',
- testResult: result
- })
- })
- .catch((error) => {
- console.log("error", error);
- this.setState({
- testStatus: 'exception'
- });
- });
- }
-
async onCancel() {
const response = this.fetch();
if (response) await response;
@@ -132,37 +99,6 @@
description={'Repo not available or mis-configured (please refer the log files for more details).'}
/>
}
- let testResult = undefined;
- let testButtonColor = this.props.repoError ? 'danger' : 'info';
- if (!this.state.testStatus) {
- // No test available.
- } else if (this.state.testStatus === 'exception') {
- testResult = <ErrorAlert title={'Unknown error'} description={'Internal error while calling Rest API.'}/>;
- } else if (this.state.testStatus === 'OK') {
- testResult = <Alert color={'success'}>
- OK
- </Alert>;
- testButtonColor = 'success';
- } else if (this.state.testStatus === 'fetching') {
- testResult = <Alert color={'warning'}>
- Testing...
- </Alert>;
- } else {
- testResult = <ErrorAlert
- title={'Error while testing repo configuration'}
- description={this.state.testResult}
- />
- testButtonColor = 'danger';
- }
- let testResultGroup = '';
- if (testResult) {
- testResultGroup = <FormGroup row={true}>
- <FormLabel length={2}>{'Test result'}</FormLabel>
- <FormField length={10}>
- {testResult}
- </FormField>
- </FormGroup>;
- }
if (this.state.isFetching) {
content = <React.Fragment>Loading...</React.Fragment>;
} else if (this.state.failed) {
@@ -187,22 +123,19 @@
repoConfig={repoConfig}
handleRepoConfigChange={this.handleRepoConfigChange}
setRepoValue={this.setRepoValue}/>
- <FormGroup row={true}>
- <FormLabel length={2} />
+ <FormGroup>
+ <FormLabel length={2}/>
<FormField length={10}>
<FormButton onClick={this.onCancel}
hintKey="configuration.cancel.hint"><I18n name={'common.cancel'}/>
</FormButton>
- <FormButton onClick={this.onTest} disabled={this.state.testStatus === 'fetching'}
- bsStyle={testButtonColor}
- hint={'Tries to connect to the repo and to get info from.'}>Test
- </FormButton>
<FormButton onClick={this.onSave} bsStyle="primary"
hintKey="configuration.save.hint"><I18n name={'common.save'}/>
</FormButton>
</FormField>
</FormGroup>
- {testResultGroup}
+ <RepoConfigTestPanel repoConfig={this.state.repoConfig}
+ repoError={this.props.repoError}/>
<LoadingOverlay active={this.state.loading}/>
</React.Fragment>;
}
--
Gitblit v1.10.0