|
@@ -11,6 +11,7 @@ import {
|
|
|
RiArrowDownSLine,
|
|
|
RiMenu4Line,
|
|
|
} from '@remixicon/react'
|
|
|
+import { useTranslation } from 'react-i18next'
|
|
|
import NodePanel from './node'
|
|
|
import {
|
|
|
BlockEnum,
|
|
@@ -37,7 +38,7 @@ type TracingNodeProps = {
|
|
|
hideNodeProcessDetail?: boolean
|
|
|
}
|
|
|
|
|
|
-function buildLogTree(nodes: NodeTracing[]): TracingNodeProps[] {
|
|
|
+function buildLogTree(nodes: NodeTracing[], t: (key: string) => string): TracingNodeProps[] {
|
|
|
const rootNodes: TracingNodeProps[] = []
|
|
|
const parallelStacks: { [key: string]: TracingNodeProps } = {}
|
|
|
const levelCounts: { [key: string]: number } = {}
|
|
@@ -58,7 +59,7 @@ function buildLogTree(nodes: NodeTracing[]): TracingNodeProps[] {
|
|
|
const parentTitle = parentId ? parallelStacks[parentId]?.parallelTitle : ''
|
|
|
const levelNumber = parentTitle ? parseInt(parentTitle.split('-')[1]) + 1 : 1
|
|
|
const letter = parallelChildCounts[levelKey]?.size > 1 ? String.fromCharCode(64 + levelCounts[levelKey]) : ''
|
|
|
- return `PARALLEL-${levelNumber}${letter}`
|
|
|
+ return `${t('workflow.common.parallel')}-${levelNumber}${letter}`
|
|
|
}
|
|
|
|
|
|
const getBranchTitle = (parentId: string | null, branchNum: number): string => {
|
|
@@ -67,7 +68,7 @@ function buildLogTree(nodes: NodeTracing[]): TracingNodeProps[] {
|
|
|
const levelNumber = parentTitle ? parseInt(parentTitle.split('-')[1]) + 1 : 1
|
|
|
const letter = parallelChildCounts[levelKey]?.size > 1 ? String.fromCharCode(64 + levelCounts[levelKey]) : ''
|
|
|
const branchLetter = String.fromCharCode(64 + branchNum)
|
|
|
- return `BRANCH-${levelNumber}${letter}-${branchLetter}`
|
|
|
+ return `${t('workflow.common.branch')}-${levelNumber}${letter}-${branchLetter}`
|
|
|
}
|
|
|
|
|
|
// Count parallel children (for figuring out if we need to use letters)
|
|
@@ -163,7 +164,8 @@ const TracingPanel: FC<TracingPanelProps> = ({
|
|
|
hideNodeInfo = false,
|
|
|
hideNodeProcessDetail = false,
|
|
|
}) => {
|
|
|
- const treeNodes = buildLogTree(list)
|
|
|
+ const { t } = useTranslation()
|
|
|
+ const treeNodes = buildLogTree(list, t)
|
|
|
const [collapsedNodes, setCollapsedNodes] = useState<Set<string>>(new Set())
|
|
|
const [hoveredParallel, setHoveredParallel] = useState<string | null>(null)
|
|
|
|