// src/pages/process-element/process-element.ts import { interpolate } from '../../utils/html.utils'; import Services from '../../services/service'; import { Process, ProcessState } from 'pkg/sdk_client'; // 1. Plus besoin de 'getCorrectDOM' /** * Fonction d'initialisation, appelée par process-component.ts * Reçoit le shadowRoot et les IDs. */ export async function initProcessElement(container: ShadowRoot, processId: string, stateId: string) { console.log(`[process-element.ts] 3. init() appelé pour ${processId}_${stateId}`); const services = await Services.getInstance(); // 2. Récupérer les éléments du DOM *dans* le shadowRoot (container) const titleH1 = container.querySelector('h1'); const processContainer = container.querySelector('.process-container'); if (!titleH1 || !processContainer) { console.error("[process-element.ts] 💥 Le HTML de base (h1 ou .process-container) est introuvable !"); return; } // 3. Récupérer les données const process = await services.getProcess(processId); if (!process) { console.error(`[process-element.ts] 💥 Processus ${processId} non trouvé !`); titleH1.innerText = "Erreur"; processContainer.innerHTML = `
Le processus ${processId} n'a pas pu être chargé.
`; return; } const state = services.getStateFromId(process, stateId); if (!state) { console.error(`[process-element.ts] 💥 État ${stateId} non trouvé dans le processus ${processId} !`); titleH1.innerText = "Erreur"; processContainer.innerHTML = `L'état ${stateId} n'a pas pu être chargé.
`; return; } console.log("[process-element.ts] ✅ Processus et État chargés."); // 4. Mettre à jour le titre const processName = services.getProcessName(process) || "Processus"; titleH1.innerHTML = interpolate(titleH1.innerHTML, { processTitle: processName }); // 5. Logique de rendu de l'élément (À COMPLÉTER PAR TES SOINS) // C'est là que tu dois construire le HTML pour cet état spécifique // Par exemple, déchiffrer les attributs et les afficher. processContainer.innerHTML = `Commit: ${state.commited_in}
Chargement des attributs...
Cet état ne contient aucun attribut visible.
'; } }