| RiArrowDownSLine, | RiArrowDownSLine, | ||||
| RiMenu4Line, | RiMenu4Line, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import { useTranslation } from 'react-i18next' | |||||
| import NodePanel from './node' | import NodePanel from './node' | ||||
| import { | import { | ||||
| BlockEnum, | BlockEnum, | ||||
| hideNodeProcessDetail?: boolean | hideNodeProcessDetail?: boolean | ||||
| } | } | ||||
| function buildLogTree(nodes: NodeTracing[]): TracingNodeProps[] { | |||||
| function buildLogTree(nodes: NodeTracing[], t: (key: string) => string): TracingNodeProps[] { | |||||
| const rootNodes: TracingNodeProps[] = [] | const rootNodes: TracingNodeProps[] = [] | ||||
| const parallelStacks: { [key: string]: TracingNodeProps } = {} | const parallelStacks: { [key: string]: TracingNodeProps } = {} | ||||
| const levelCounts: { [key: string]: number } = {} | const levelCounts: { [key: string]: number } = {} | ||||
| const parentTitle = parentId ? parallelStacks[parentId]?.parallelTitle : '' | const parentTitle = parentId ? parallelStacks[parentId]?.parallelTitle : '' | ||||
| const levelNumber = parentTitle ? parseInt(parentTitle.split('-')[1]) + 1 : 1 | const levelNumber = parentTitle ? parseInt(parentTitle.split('-')[1]) + 1 : 1 | ||||
| const letter = parallelChildCounts[levelKey]?.size > 1 ? String.fromCharCode(64 + levelCounts[levelKey]) : '' | 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 => { | const getBranchTitle = (parentId: string | null, branchNum: number): string => { | ||||
| const levelNumber = parentTitle ? parseInt(parentTitle.split('-')[1]) + 1 : 1 | const levelNumber = parentTitle ? parseInt(parentTitle.split('-')[1]) + 1 : 1 | ||||
| const letter = parallelChildCounts[levelKey]?.size > 1 ? String.fromCharCode(64 + levelCounts[levelKey]) : '' | const letter = parallelChildCounts[levelKey]?.size > 1 ? String.fromCharCode(64 + levelCounts[levelKey]) : '' | ||||
| const branchLetter = String.fromCharCode(64 + branchNum) | 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) | // Count parallel children (for figuring out if we need to use letters) | ||||
| hideNodeInfo = false, | hideNodeInfo = false, | ||||
| hideNodeProcessDetail = false, | hideNodeProcessDetail = false, | ||||
| }) => { | }) => { | ||||
| const treeNodes = buildLogTree(list) | |||||
| const { t } = useTranslation() | |||||
| const treeNodes = buildLogTree(list, t) | |||||
| const [collapsedNodes, setCollapsedNodes] = useState<Set<string>>(new Set()) | const [collapsedNodes, setCollapsedNodes] = useState<Set<string>>(new Set()) | ||||
| const [hoveredParallel, setHoveredParallel] = useState<string | null>(null) | const [hoveredParallel, setHoveredParallel] = useState<string | null>(null) | ||||
| disconnect: 'Trennen', | disconnect: 'Trennen', | ||||
| jumpToNode: 'Zu diesem Knoten springen', | jumpToNode: 'Zu diesem Knoten springen', | ||||
| addParallelNode: 'Parallelen Knoten hinzufügen', | addParallelNode: 'Parallelen Knoten hinzufügen', | ||||
| parallel: 'PARALLEL', | |||||
| branch: 'ZWEIG', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'Umgebungsvariablen', | envPanelTitle: 'Umgebungsvariablen', |
| disconnect: 'Disconnect', | disconnect: 'Disconnect', | ||||
| jumpToNode: 'Jump to this node', | jumpToNode: 'Jump to this node', | ||||
| addParallelNode: 'Add Parallel Node', | addParallelNode: 'Add Parallel Node', | ||||
| parallel: 'PARALLEL', | |||||
| branch: 'BRANCH', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'Environment Variables', | envPanelTitle: 'Environment Variables', |
| disconnect: 'Desconectar', | disconnect: 'Desconectar', | ||||
| jumpToNode: 'Saltar a este nodo', | jumpToNode: 'Saltar a este nodo', | ||||
| addParallelNode: 'Agregar nodo paralelo', | addParallelNode: 'Agregar nodo paralelo', | ||||
| parallel: 'PARALELO', | |||||
| branch: 'RAMA', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'Variables de Entorno', | envPanelTitle: 'Variables de Entorno', |
| jumpToNode: 'پرش به این گره', | jumpToNode: 'پرش به این گره', | ||||
| parallelRun: 'اجرای موازی', | parallelRun: 'اجرای موازی', | ||||
| addParallelNode: 'افزودن گره موازی', | addParallelNode: 'افزودن گره موازی', | ||||
| parallel: 'موازی', | |||||
| branch: 'شاخه', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'متغیرهای محیطی', | envPanelTitle: 'متغیرهای محیطی', |
| disconnect: 'Déconnecter', | disconnect: 'Déconnecter', | ||||
| jumpToNode: 'Aller à ce nœud', | jumpToNode: 'Aller à ce nœud', | ||||
| addParallelNode: 'Ajouter un nœud parallèle', | addParallelNode: 'Ajouter un nœud parallèle', | ||||
| parallel: 'PARALLÈLE', | |||||
| branch: 'BRANCHE', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'Variables d\'Environnement', | envPanelTitle: 'Variables d\'Environnement', |
| parallelRun: 'समानांतर रन', | parallelRun: 'समानांतर रन', | ||||
| jumpToNode: 'इस नोड पर जाएं', | jumpToNode: 'इस नोड पर जाएं', | ||||
| addParallelNode: 'समानांतर नोड जोड़ें', | addParallelNode: 'समानांतर नोड जोड़ें', | ||||
| parallel: 'समानांतर', | |||||
| branch: 'शाखा', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'पर्यावरण चर', | envPanelTitle: 'पर्यावरण चर', |
| disconnect: 'Disconnettere', | disconnect: 'Disconnettere', | ||||
| jumpToNode: 'Vai a questo nodo', | jumpToNode: 'Vai a questo nodo', | ||||
| addParallelNode: 'Aggiungi nodo parallelo', | addParallelNode: 'Aggiungi nodo parallelo', | ||||
| parallel: 'PARALLELO', | |||||
| branch: 'RAMO', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'Variabili d\'Ambiente', | envPanelTitle: 'Variabili d\'Ambiente', |
| disconnect: '切る', | disconnect: '切る', | ||||
| jumpToNode: 'このノードにジャンプします', | jumpToNode: 'このノードにジャンプします', | ||||
| addParallelNode: '並列ノードを追加', | addParallelNode: '並列ノードを追加', | ||||
| parallel: '並列', | |||||
| branch: 'ブランチ', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: '環境変数', | envPanelTitle: '環境変数', |
| disconnect: '분리하다', | disconnect: '분리하다', | ||||
| jumpToNode: '이 노드로 이동', | jumpToNode: '이 노드로 이동', | ||||
| addParallelNode: '병렬 노드 추가', | addParallelNode: '병렬 노드 추가', | ||||
| parallel: '병렬', | |||||
| branch: '브랜치', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: '환경 변수', | envPanelTitle: '환경 변수', |
| jumpToNode: 'Przejdź do tego węzła', | jumpToNode: 'Przejdź do tego węzła', | ||||
| disconnect: 'Odłączyć', | disconnect: 'Odłączyć', | ||||
| addParallelNode: 'Dodaj węzeł równoległy', | addParallelNode: 'Dodaj węzeł równoległy', | ||||
| parallel: 'RÓWNOLEGŁY', | |||||
| branch: 'GAŁĄŹ', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'Zmienne Środowiskowe', | envPanelTitle: 'Zmienne Środowiskowe', |
| disconnect: 'Desligar', | disconnect: 'Desligar', | ||||
| jumpToNode: 'Ir para este nó', | jumpToNode: 'Ir para este nó', | ||||
| addParallelNode: 'Adicionar nó paralelo', | addParallelNode: 'Adicionar nó paralelo', | ||||
| parallel: 'PARALELO', | |||||
| branch: 'RAMIFICAÇÃO', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'Variáveis de Ambiente', | envPanelTitle: 'Variáveis de Ambiente', |
| disconnect: 'Deconecta', | disconnect: 'Deconecta', | ||||
| jumpToNode: 'Sari la acest nod', | jumpToNode: 'Sari la acest nod', | ||||
| addParallelNode: 'Adăugare nod paralel', | addParallelNode: 'Adăugare nod paralel', | ||||
| parallel: 'PARALEL', | |||||
| branch: 'RAMURĂ', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'Variabile de Mediu', | envPanelTitle: 'Variabile de Mediu', |
| disconnect: 'Разъединять', | disconnect: 'Разъединять', | ||||
| jumpToNode: 'Перейти к этому узлу', | jumpToNode: 'Перейти к этому узлу', | ||||
| addParallelNode: 'Добавить параллельный узел', | addParallelNode: 'Добавить параллельный узел', | ||||
| parallel: 'ПАРАЛЛЕЛЬНЫЙ', | |||||
| branch: 'ВЕТКА', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'Переменные среды', | envPanelTitle: 'Переменные среды', |
| addParallelNode: 'Paralel Düğüm Ekle', | addParallelNode: 'Paralel Düğüm Ekle', | ||||
| disconnect: 'Ayırmak', | disconnect: 'Ayırmak', | ||||
| parallelRun: 'Paralel Koşu', | parallelRun: 'Paralel Koşu', | ||||
| parallel: 'PARALEL', | |||||
| branch: 'DAL', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'Çevre Değişkenleri', | envPanelTitle: 'Çevre Değişkenleri', |
| parallelRun: 'Паралельний біг', | parallelRun: 'Паралельний біг', | ||||
| jumpToNode: 'Перейти до цього вузла', | jumpToNode: 'Перейти до цього вузла', | ||||
| addParallelNode: 'Додати паралельний вузол', | addParallelNode: 'Додати паралельний вузол', | ||||
| parallel: 'ПАРАЛЕЛЬНИЙ', | |||||
| branch: 'ГІЛКА', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'Змінні середовища', | envPanelTitle: 'Змінні середовища', |
| disconnect: 'Ngắt kết nối', | disconnect: 'Ngắt kết nối', | ||||
| jumpToNode: 'Chuyển đến nút này', | jumpToNode: 'Chuyển đến nút này', | ||||
| addParallelNode: 'Thêm nút song song', | addParallelNode: 'Thêm nút song song', | ||||
| parallel: 'SONG SONG', | |||||
| branch: 'NHÁNH', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: 'Biến Môi Trường', | envPanelTitle: 'Biến Môi Trường', |
| disconnect: '断开连接', | disconnect: '断开连接', | ||||
| jumpToNode: '跳转到节点', | jumpToNode: '跳转到节点', | ||||
| addParallelNode: '添加并行节点', | addParallelNode: '添加并行节点', | ||||
| parallel: '并行', | |||||
| branch: '分支', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: '环境变量', | envPanelTitle: '环境变量', |
| disconnect: '斷開', | disconnect: '斷開', | ||||
| jumpToNode: '跳轉到此節點', | jumpToNode: '跳轉到此節點', | ||||
| addParallelNode: '添加並行節點', | addParallelNode: '添加並行節點', | ||||
| parallel: '並行', | |||||
| branch: '分支', | |||||
| }, | }, | ||||
| env: { | env: { | ||||
| envPanelTitle: '環境變數', | envPanelTitle: '環境變數', |