diff --git a/src/api/ruleengine.ts b/src/api/ruleengine.ts index 573636bbe..c590acb11 100644 --- a/src/api/ruleengine.ts +++ b/src/api/ruleengine.ts @@ -145,5 +145,8 @@ export function applyRuleTest( ruleId: string, context: Record, ): Promise> { - return http.post(`/rules/${ruleId}/test`, { context, stop_action_after_template_rendering: true }) + return http.post(`/rules/${ruleId}/test`, { + context, + stop_action_after_template_rendering: false, + }) } diff --git a/src/hooks/Rule/rule/useDebugRule.ts b/src/hooks/Rule/rule/useDebugRule.ts index 474265bc3..04bfb6bd0 100644 --- a/src/hooks/Rule/rule/useDebugRule.ts +++ b/src/hooks/Rule/rule/useDebugRule.ts @@ -96,6 +96,9 @@ export default () => { const logLastPositionMap: Map = new Map() const getCurrentTraceNodesMsg = async () => { try { + if (!traceName) { + return Promise.reject() + } const data = await getTraceNodesMsg(traceName) const currentNodes = data.map(({ node }) => node) logLastPositionMap.forEach((position, node) => { diff --git a/src/views/RuleEngine/components/LogDataDisplay.vue b/src/views/RuleEngine/components/LogDataDisplay.vue index 4ff05d919..fa97810bd 100644 --- a/src/views/RuleEngine/components/LogDataDisplay.vue +++ b/src/views/RuleEngine/components/LogDataDisplay.vue @@ -16,8 +16,12 @@ :class="getResultIconClass(item.result)" /> -

{{ getTriggerTitle(item.trigger.event || '') }}

-

{{ t('Base.topic') }}: {{ item.trigger.topic }}

+
+

{{ getTriggerTitle(item.trigger.event || '') }}

+
+
+

{{ t('Base.topic') }}: {{ item.trigger.topic }}

+
{{ dateFormat(Number(timestamp)) }} @@ -54,6 +58,7 @@ {{ getLogItemTitle(targetLogData, getSelectedBlock(logTarget)) }}

- +
@@ -151,7 +156,7 @@ const { getEventList } = useRuleEvents() const { savedAfterRuleChange } = useStatusController() let eventInfoMap: Map = new Map() -const reg = /^\$events\/(\w+)_/ +const reg = /^\$events\/([^._]+)_/ const convertToLogEvent = (e: string) => e.replace(reg, (a1: string, a2: string) => `${a2}.`) ;(async () => { @@ -357,7 +362,7 @@ watch( } .execution-item { align-items: center; - padding: 16px 24px; + padding: 12px 20px; border-radius: 8px; background: var(--color-bg-content); cursor: pointer; @@ -374,15 +379,35 @@ watch( p { margin-top: 0; margin-bottom: 0; - &:not(:last-child) { - margin-right: 16px; - } + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + .base-info { + overflow: hidden; + margin-right: 16px; + } + .event { + flex-grow: 2; + flex-shrink: 0; + } + .topic { + flex-grow: 1; } } .execution-item-time, .log-time { color: var(--color-text-secondary); } + $time-width: 130px; + .execution-item-time { + width: $time-width; + text-align: right; + flex-shrink: 0; + } + .execution-item-base { + width: calc(100% - #{$time-width} - 12px); + } .el-collapse { border-top: none; diff --git a/src/views/RuleEngine/components/SQLTest.vue b/src/views/RuleEngine/components/SQLTest.vue index 7ddf60149..e0e1985a2 100644 --- a/src/views/RuleEngine/components/SQLTest.vue +++ b/src/views/RuleEngine/components/SQLTest.vue @@ -171,6 +171,7 @@ const submitTestSQL = async () => { onUnmounted(() => { isTesting.value = false + testTarget.value = TestRuleTarget.SQL }) watch(