Настроил скачивание output
This commit is contained in:
parent
ed7d16f20a
commit
7379a9eed0
@ -9,6 +9,7 @@ import CheckCircleOutline from "@mui/icons-material/CheckCircleOutline"
|
||||
import ErrorOutline from "@mui/icons-material/ErrorOutline"
|
||||
import ReplayOutlined from "@mui/icons-material/ReplayOutlined"
|
||||
import RunCircleOutlined from "@mui/icons-material/RunCircleOutlined"
|
||||
import FactCheckOutlined from "@mui/icons-material/FactCheckOutlined"
|
||||
import {IconButton, LinearProgress, TableContainer, Table, TableBody, TableCell, TableHead, TableRow, TablePagination} from "@mui/material"
|
||||
import ConfirmDialog from "../confirm-dialog";
|
||||
|
||||
@ -36,6 +37,7 @@ export interface ProcessInterface {
|
||||
arguments: Record<string, any>,
|
||||
exception: ProcessExceptionInterface | null,
|
||||
progress: ProcessProgressInterface | null,
|
||||
outputId: string | null,
|
||||
createdAt: string,
|
||||
updatedAt: string | null,
|
||||
startedAt: string | null,
|
||||
@ -81,8 +83,8 @@ export default function Processes() {
|
||||
setCount(Number(response.headers.get('X-Pagination-Count')))
|
||||
refreshLock = false
|
||||
}
|
||||
let output = async (process: string) => {
|
||||
let response = await fetch(`http://fmw.sipachev.sv/system-monitoring/processes/${process}/output`,
|
||||
let output = async (process: ProcessInterface) => {
|
||||
let response = await fetch(`http://fmw.sipachev.sv/system-monitoring/processes/${process.id}/output`,
|
||||
{
|
||||
method: 'GET',
|
||||
headers: {
|
||||
@ -90,7 +92,12 @@ export default function Processes() {
|
||||
'X-Pagination-Count': '0',
|
||||
},
|
||||
});
|
||||
const processes: ProcessInterface[] = await response.json()
|
||||
const output: string = await response.text()
|
||||
let a = document.createElement("a");
|
||||
let file = new Blob([output], {type: 'plain/text'});
|
||||
a.href = URL.createObjectURL(file);
|
||||
a.download = `${process.id}.txt`;
|
||||
a.click();
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
@ -195,7 +202,7 @@ export default function Processes() {
|
||||
{Status.Error === status(process) && <IconButton title={`Error`} aria-label="Error">
|
||||
<ErrorOutline/>
|
||||
</IconButton>}
|
||||
{Status.Success === status(process) && <IconButton onClick={() => output(process.id)} title={`Success`} aria-label="Success">
|
||||
{Status.Success === status(process) && <IconButton title={`Success`} aria-label="Success">
|
||||
<CheckCircleOutline/>
|
||||
</IconButton>}
|
||||
{Status.Running === status(process) && <IconButton title={`Running`} aria-label="Running">
|
||||
@ -215,6 +222,9 @@ export default function Processes() {
|
||||
{canKill(process) && <IconButton title={`Kill`} aria-label="Kill">
|
||||
<DeleteForeverOutlined/>
|
||||
</IconButton>}
|
||||
{process?.outputId && <IconButton title={`Output`} onClick={() => output(process)} aria-label="Output">
|
||||
<FactCheckOutlined/>
|
||||
</IconButton>}
|
||||
</TableCell>
|
||||
<TableCell title={new Date(process.createdAt).toLocaleString()}>
|
||||
{new Date(process.createdAt).toLocaleDateString()}
|
||||
|
Loading…
Reference in New Issue
Block a user