fix output
This commit is contained in:
parent
9dde2252f0
commit
b2f0d3df29
1 changed files with 39 additions and 4 deletions
|
|
@ -1,5 +1,5 @@
|
|||
import { ArrowLeftOutlined, CheckCircleOutlined, CloseCircleOutlined } from '@ant-design/icons'
|
||||
import { Breadcrumb, Card, Col, Descriptions, Row, Spin, Table, Tag, Typography } from 'antd'
|
||||
import { ArrowLeftOutlined, CheckCircleOutlined, CloseCircleOutlined, ExpandAltOutlined } from '@ant-design/icons'
|
||||
import { Breadcrumb, Card, Col, Descriptions, Modal, Row, Spin, Table, Tag, Typography } from 'antd'
|
||||
import dayjs from 'dayjs'
|
||||
import { useEffect, useRef, useState } from 'react'
|
||||
import { useNavigate, useParams } from 'react-router-dom'
|
||||
|
|
@ -26,6 +26,7 @@ export function TaskDetailPage() {
|
|||
const [log, setLog] = useState<LogLine[]>([])
|
||||
const [deviceResults, setDeviceResults] = useState<Record<number, { status: string; duration_ms: number }>>({})
|
||||
const logEndRef = useRef<HTMLDivElement>(null)
|
||||
const [stdoutModal, setStdoutModal] = useState<string | null>(null)
|
||||
|
||||
// Populate log from persisted events on load
|
||||
useEffect(() => {
|
||||
|
|
@ -87,8 +88,19 @@ export function TaskDetailPage() {
|
|||
title: 'Вывод',
|
||||
dataIndex: 'stdout',
|
||||
key: 'stdout',
|
||||
ellipsis: true,
|
||||
render: (s: string | null) => s ? <code style={{ fontSize: 12 }}>{s.slice(0, 120)}</code> : '—',
|
||||
render: (s: string | null) => s ? (
|
||||
<div style={{ display: 'flex', alignItems: 'flex-start', gap: 4 }}>
|
||||
<code style={{ fontSize: 12, whiteSpace: 'pre-wrap', wordBreak: 'break-all', flex: 1 }}>
|
||||
{s.slice(0, 120)}{s.length > 120 ? '…' : ''}
|
||||
</code>
|
||||
{s.length > 120 && (
|
||||
<ExpandAltOutlined
|
||||
style={{ color: '#1677ff', cursor: 'pointer', flexShrink: 0, marginTop: 2 }}
|
||||
onClick={() => setStdoutModal(s)}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
) : '—',
|
||||
},
|
||||
]
|
||||
|
||||
|
|
@ -179,6 +191,29 @@ export function TaskDetailPage() {
|
|||
</Col>
|
||||
)}
|
||||
</Row>
|
||||
|
||||
<Modal
|
||||
open={stdoutModal !== null}
|
||||
onCancel={() => setStdoutModal(null)}
|
||||
footer={null}
|
||||
title="Вывод"
|
||||
width={800}
|
||||
>
|
||||
<pre style={{
|
||||
background: '#1e1e1e',
|
||||
color: '#ccc',
|
||||
padding: 16,
|
||||
borderRadius: 6,
|
||||
fontSize: 13,
|
||||
overflowX: 'auto',
|
||||
maxHeight: '60vh',
|
||||
overflowY: 'auto',
|
||||
whiteSpace: 'pre-wrap',
|
||||
wordBreak: 'break-all',
|
||||
}}>
|
||||
{stdoutModal}
|
||||
</pre>
|
||||
</Modal>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue