mirror of https://github.com/micromata/borgbackup-butler.git

Kai Reinhard
06.54.2019 3c111895a8b56a54ae0e5d3296bfbb8fe0bb3715
borgbutler-webapp/src/components/views/jobs/Job.jsx
@@ -1,26 +1,40 @@
import React from 'react';
import {Redirect} from 'react-router-dom';
import {Button, Card, CardBody, Collapse, Progress} from 'reactstrap';
import {IconCancel} from '../../general/IconComponents'
import {getRestServiceUrl} from "../../../utilities/global";
import PropTypes from "prop-types";
class Job extends React.Component {
    constructor(props) {
        super(props);
        this.toggle = this.toggle.bind(this);
        this.cacnelJob = this.cancelJob.bind(this);
        this.state = {collapse: false};
        this.state = {
            collapse: false,
            redirect: false
        };
    }
    cancelJob = (jobId) => {
        fetch(getRestServiceUrl('jobs/cancel', {
            uniqueJobNumber: jobId
        }));
        this.setState({
            redirect: true
        })
    };
    toggle() {
        this.setState({collapse: !this.state.collapse});
    }
    renderRedirect = () => {
        if (this.props.embedded && this.state.redirect) {
            return <Redirect to='/jobmonitor'/>
        }
    }
    render() {
        let content = undefined;
        let job = this.props.job;
@@ -43,6 +57,7 @@
        }
        return (
            <div>
                {this.renderRedirect()}
                <Button color="link" onClick={this.toggle}>{job.description}</Button>
                <div>{content}
                    <Button color={'danger'} onClick={() => this.cancelJob(job.uniqueJobNumber)}
@@ -71,4 +86,8 @@
    }
}
Job.propTypes = {
    embedded: PropTypes.bool
};
export default Job;