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