From 614569f5aa70689f162ac1b1072c5f603acaeb61 Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Tue, 4 Nov 2025 23:03:24 +0100 Subject: [PATCH] Updated the process and process-element page --- .../process-element/process-component.ts | 85 +- src/pages/process-element/process-element.ts | 145 ++- src/pages/process/process-list-component.ts | 77 +- src/pages/process/process.html | 10 +- src/pages/process/process.ts | 878 +++++++++--------- 5 files changed, 620 insertions(+), 575 deletions(-) diff --git a/src/pages/process-element/process-component.ts b/src/pages/process-element/process-component.ts index 31ba6e6..525ee34 100644 --- a/src/pages/process-element/process-component.ts +++ b/src/pages/process-element/process-component.ts @@ -1,12 +1,12 @@ -import processHtml from './process-element.html?raw'; -import processScript from './process-element.ts?raw'; -import processCss from '../../4nk.css?raw'; -import { initProcessElement } from './process-element'; +// src/pages/process-element/process-component.ts -export class ProcessListComponent extends HTMLElement { +import processHtml from './process-element.html?raw'; +import processCss from '../../4nk.css?raw'; +import { initProcessElement } from './process-element'; // On importe la vraie fonction + +// 1. Nom de classe corrigé (plus logique) +export class ProcessElementComponent extends HTMLElement { _callback: any; - id: string = ''; - zone: string = ''; constructor() { super(); @@ -14,38 +14,61 @@ export class ProcessListComponent extends HTMLElement { } connectedCallback() { - console.log('CALLBACK PROCESS LIST PAGE'); - this.render(); - setTimeout(() => { - initProcessElement(this.id, this.zone); - }, 500); - } + console.log('[ProcessElementComponent] 1. Composant connecté.'); + + // 2. Lire les attributs passés par le routeur (router.ts) + const processId = this.getAttribute('process-id'); + const stateId = this.getAttribute('state-id'); - set callback(fn) { - if (typeof fn === 'function') { - this._callback = fn; - } else { - console.error('Callback is not a function'); + if (!processId || !stateId) { + console.error("💥 ProcessElementComponent a été créé sans 'process-id' ou 'state-id'."); + this.renderError("Erreur: ID de processus ou d'état manquant."); + return; + } + + // 3. Afficher le HTML/CSS du squelette + this.render(); + + // 4. Appeler la logique (init) en lui passant le shadowRoot et les IDs + try { + if (this.shadowRoot) { + console.log(`[ProcessElementComponent] 2. Appel de initProcessElement pour ${processId}_${stateId}`); + initProcessElement(this.shadowRoot, processId, stateId); + } else { + console.error("[ProcessElementComponent] 💥 ShadowRoot est nul."); + } + } catch (e) { + console.error("[ProcessElementComponent] 💥 Échec de l'initProcessElement():", e); } } - get callback() { - return this._callback; - } - render() { - if (this.shadowRoot) + if (this.shadowRoot) { this.shadowRoot.innerHTML = ` - ${processHtml} -