From 3c111895a8b56a54ae0e5d3296bfbb8fe0bb3715 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sun, 06 Jan 2019 00:54:00 +0000
Subject: [PATCH] JobMonitor is now embedded.

---
 borgbutler-webapp/src/components/views/jobs/Job.jsx |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/borgbutler-webapp/src/components/views/jobs/Job.jsx b/borgbutler-webapp/src/components/views/jobs/Job.jsx
index 2baae8a..8bcdff0 100644
--- a/borgbutler-webapp/src/components/views/jobs/Job.jsx
+++ b/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;

--
Gitblit v1.10.0