From 916020e1e99ccd6473b314dcf649174b78c5c789 Mon Sep 17 00:00:00 2001 From: xlsea Date: Mon, 15 Jul 2024 15:18:35 +0800 Subject: [PATCH] =?UTF-8?q?feat(sj=5F1.2.0-beta1):=20=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=96=B0=E5=A2=9E=E6=8D=A2=E8=A1=8C=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E6=8A=98=E5=8F=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/log-drawer.vue | 33 +++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/src/components/common/log-drawer.vue b/src/components/common/log-drawer.vue index 4a0652a..f61b735 100644 --- a/src/components/common/log-drawer.vue +++ b/src/components/common/log-drawer.vue @@ -282,14 +282,32 @@ const SnailLogComponent = defineComponent({ return <>; } const restOfText = throwable.replace(/^.+(\n|$)/m, ''); - return {`${restOfText}`}; + return {`${restOfText}`}; + }; + + const messageComponent = (message: Api.JobLog.JobMessage) => { + const msg = message.message; + if (!msg) { + return <>; + } + const firstLine = msg.match(/^.+/m); + if (!firstLine) { + return <>; + } + const restOfText = msg.replace(/^.+(\n|$)/m, '').replaceAll('\n', '\n - '); + if (restOfText) { + return ( + {` - ${restOfText}`} + ); + } + return
- {`${msg}`}
; }; const handleUpdateExpanded = (val: string[]) => { expandedNames.value = val; }; - const handleResize = () => { + const handleResize = (_: ResizeObserverEntry) => { expandedNames.value = []; }; @@ -305,6 +323,7 @@ const SnailLogComponent = defineComponent({ class="virtual-list" itemSize={85} item-resizable + ignore-item-resize padding-bottom={16} items={logList.value} scrollbar-props={{ xScrollable: true }} @@ -322,7 +341,7 @@ const SnailLogComponent = defineComponent({ {`[${message.thread}]`}
{`${message.location}: `}
-
- {`${message.message}`}
+
{messageComponent(message)}
{throwableComponent(message)}
@@ -479,6 +498,14 @@ const SnailLogComponent = defineComponent({ max-height: calc(100vh - 101px); } + .v-vl { + min-height: calc(100vh - 101px); + } + + .v-vl-items { + min-height: calc(100vh - 101px - 16px) !important; + } + .n-divider:not(.n-divider--vertical) { margin-top: 6px; margin-bottom: 6px;