/** * Mindmap-Basismodul * Stellt grundlegende Funktionalitäten für die Mindmap-Visualisierung bereit */ console.log("Mindmap-Basismodul geladen"); // Globales MindMap-Objekt erstellen, falls es noch nicht existiert if (!window.MindMap) { window.MindMap = {}; } // Hilfsfunktionen für die Arbeit mit der Mindmap window.MindMap.utils = { /** * Generiert eine zufällige Farbe aus einer vordefinierten Palette * @returns {string} Farbe im HEX-Format */ getRandomColor: function() { const colors = [ '#4299E1', // Blau '#9F7AEA', // Lila '#48BB78', // Grün '#ED8936', // Orange '#ED64A6', // Pink '#F56565' // Rot ]; return colors[Math.floor(Math.random() * colors.length)]; }, /** * Lädt eine externe JavaScript-Bibliothek asynchron * @param {string} url - URL der zu ladenden Bibliothek * @returns {Promise} Promise, das nach dem Laden erfüllt wird */ loadExternalScript: function(url) { return new Promise((resolve, reject) => { const script = document.createElement('script'); script.src = url; script.onload = resolve; script.onerror = reject; document.head.appendChild(script); }); }, /** * Zeigt eine Fehlermeldung in einem Container an * @param {HTMLElement} container - Container für die Fehlermeldung * @param {string} message - Fehlermeldung */ showError: function(container, message) { container.innerHTML = `

${message}

Bitte laden Sie die Seite neu oder kontaktieren Sie den Support.

`; }, /** * Zeigt eine Ladeanimation in einem Container an * @param {HTMLElement} container - Container für die Ladeanimation */ showLoading: function(container) { container.innerHTML = `
`; } };