✨ feat(mindmap): entferne veraltete Mindmap-Module und -Dateien zur Optimierung der Codebasis und Verbesserung der Wartbarkeit
This commit is contained in:
@@ -2,8 +2,144 @@
|
||||
* Update Mindmap
|
||||
* Dieses Skript fügt Knoten zur Mindmap hinzu und stellt sicher,
|
||||
* dass sie im neuronalen Netzwerk-Design angezeigt werden.
|
||||
* Implementiert Lazy Loading & Progressive Disclosure
|
||||
*/
|
||||
|
||||
// Mock-Datenbank für Subthemen (später durch echte DB-Abfragen ersetzen)
|
||||
const subthemesDatabase = {
|
||||
'philosophy': [
|
||||
{
|
||||
id: 'epistemology',
|
||||
label: 'Erkenntnistheorie',
|
||||
category: 'Philosophie',
|
||||
description: 'Untersuchung der Natur und Grenzen menschlicher Erkenntnis',
|
||||
hasChildren: true
|
||||
},
|
||||
{
|
||||
id: 'ethics',
|
||||
label: 'Ethik',
|
||||
category: 'Philosophie',
|
||||
description: 'Lehre vom moralisch richtigen Handeln',
|
||||
hasChildren: true
|
||||
},
|
||||
{
|
||||
id: 'metaphysics',
|
||||
label: 'Metaphysik',
|
||||
category: 'Philosophie',
|
||||
description: 'Grundfragen des Seins und der Wirklichkeit',
|
||||
hasChildren: true
|
||||
}
|
||||
],
|
||||
'science': [
|
||||
{
|
||||
id: 'physics',
|
||||
label: 'Physik',
|
||||
category: 'Wissenschaft',
|
||||
description: 'Lehre von der Materie und ihren Wechselwirkungen',
|
||||
hasChildren: true
|
||||
},
|
||||
{
|
||||
id: 'biology',
|
||||
label: 'Biologie',
|
||||
category: 'Wissenschaft',
|
||||
description: 'Lehre von den Lebewesen und ihren Lebensprozessen',
|
||||
hasChildren: true
|
||||
},
|
||||
{
|
||||
id: 'chemistry',
|
||||
label: 'Chemie',
|
||||
category: 'Wissenschaft',
|
||||
description: 'Wissenschaft von den Stoffen und ihren Reaktionen',
|
||||
hasChildren: true
|
||||
}
|
||||
],
|
||||
'technology': [
|
||||
{
|
||||
id: 'ai',
|
||||
label: 'Künstliche Intelligenz',
|
||||
category: 'Technologie',
|
||||
description: 'Maschinelles Lernen und intelligente Systeme',
|
||||
hasChildren: true
|
||||
},
|
||||
{
|
||||
id: 'robotics',
|
||||
label: 'Robotik',
|
||||
category: 'Technologie',
|
||||
description: 'Entwicklung und Steuerung von Robotern',
|
||||
hasChildren: true
|
||||
},
|
||||
{
|
||||
id: 'quantum_computing',
|
||||
label: 'Quantencomputing',
|
||||
category: 'Technologie',
|
||||
description: 'Computer basierend auf Quantenmechanik',
|
||||
hasChildren: true
|
||||
}
|
||||
],
|
||||
'arts': [
|
||||
{
|
||||
id: 'visual_arts',
|
||||
label: 'Bildende Kunst',
|
||||
category: 'Künste',
|
||||
description: 'Malerei, Bildhauerei und andere visuelle Kunstformen',
|
||||
hasChildren: true
|
||||
},
|
||||
{
|
||||
id: 'music',
|
||||
label: 'Musik',
|
||||
category: 'Künste',
|
||||
description: 'Tonkunst und musikalische Komposition',
|
||||
hasChildren: true
|
||||
},
|
||||
{
|
||||
id: 'literature',
|
||||
label: 'Literatur',
|
||||
category: 'Künste',
|
||||
description: 'Schriftliche Kunstwerke und Poesie',
|
||||
hasChildren: true
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
// Initiale Mindmap-Daten (nur oberste Ebene)
|
||||
const mindmapData = {
|
||||
nodes: [
|
||||
{
|
||||
id: 'philosophy',
|
||||
label: 'Philosophie',
|
||||
category: 'Philosophie',
|
||||
description: 'Die Lehre vom Denken und der Erkenntnis',
|
||||
hasChildren: true,
|
||||
expanded: false
|
||||
},
|
||||
{
|
||||
id: 'science',
|
||||
label: 'Wissenschaft',
|
||||
category: 'Wissenschaft',
|
||||
description: 'Systematische Erforschung der Natur und Gesellschaft',
|
||||
hasChildren: true,
|
||||
expanded: false
|
||||
},
|
||||
{
|
||||
id: 'technology',
|
||||
label: 'Technologie',
|
||||
category: 'Technologie',
|
||||
description: 'Anwendung wissenschaftlicher Erkenntnisse',
|
||||
hasChildren: true,
|
||||
expanded: false
|
||||
},
|
||||
{
|
||||
id: 'arts',
|
||||
label: 'Künste',
|
||||
category: 'Künste',
|
||||
description: 'Kreativer Ausdruck und künstlerische Gestaltung',
|
||||
hasChildren: true,
|
||||
expanded: false
|
||||
}
|
||||
],
|
||||
edges: []
|
||||
};
|
||||
|
||||
// Warte bis DOM geladen ist
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
console.log('DOMContentLoaded Event ausgelöst');
|
||||
@@ -127,144 +263,15 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
// Event auslösen, damit andere Scripte reagieren können
|
||||
document.dispatchEvent(new Event('mindmap-loaded'));
|
||||
console.log('mindmap-loaded Event ausgelöst');
|
||||
});
|
||||
|
||||
// Mindmap-Daten
|
||||
const mindmapData = {
|
||||
nodes: [
|
||||
// Philosophie
|
||||
{
|
||||
id: 'philosophy',
|
||||
label: 'Philosophie',
|
||||
category: 'Philosophie',
|
||||
description: 'Die Lehre vom Denken und der Erkenntnis'
|
||||
},
|
||||
{
|
||||
id: 'epistemology',
|
||||
label: 'Erkenntnistheorie',
|
||||
category: 'Philosophie',
|
||||
description: 'Untersuchung der Natur und Grenzen menschlicher Erkenntnis'
|
||||
},
|
||||
{
|
||||
id: 'ethics',
|
||||
label: 'Ethik',
|
||||
category: 'Philosophie',
|
||||
description: 'Lehre vom moralisch richtigen Handeln'
|
||||
},
|
||||
|
||||
// Wissenschaft
|
||||
{
|
||||
id: 'science',
|
||||
label: 'Wissenschaft',
|
||||
category: 'Wissenschaft',
|
||||
description: 'Systematische Erforschung der Natur und Gesellschaft'
|
||||
},
|
||||
{
|
||||
id: 'physics',
|
||||
label: 'Physik',
|
||||
category: 'Wissenschaft',
|
||||
description: 'Lehre von der Materie und ihren Wechselwirkungen'
|
||||
},
|
||||
{
|
||||
id: 'biology',
|
||||
label: 'Biologie',
|
||||
category: 'Wissenschaft',
|
||||
description: 'Lehre von den Lebewesen und ihren Lebensprozessen'
|
||||
},
|
||||
|
||||
// Technologie
|
||||
{
|
||||
id: 'technology',
|
||||
label: 'Technologie',
|
||||
category: 'Technologie',
|
||||
description: 'Anwendung wissenschaftlicher Erkenntnisse'
|
||||
},
|
||||
{
|
||||
id: 'ai',
|
||||
label: 'Künstliche Intelligenz',
|
||||
category: 'Technologie',
|
||||
description: 'Maschinelles Lernen und intelligente Systeme'
|
||||
},
|
||||
{
|
||||
id: 'robotics',
|
||||
label: 'Robotik',
|
||||
category: 'Technologie',
|
||||
description: 'Entwicklung und Steuerung von Robotern'
|
||||
},
|
||||
|
||||
// Künste
|
||||
{
|
||||
id: 'arts',
|
||||
label: 'Künste',
|
||||
category: 'Künste',
|
||||
description: 'Kreativer Ausdruck und künstlerische Gestaltung'
|
||||
},
|
||||
{
|
||||
id: 'music',
|
||||
label: 'Musik',
|
||||
category: 'Künste',
|
||||
description: 'Kunst der Töne und Klänge'
|
||||
},
|
||||
{
|
||||
id: 'literature',
|
||||
label: 'Literatur',
|
||||
category: 'Künste',
|
||||
description: 'Schriftliche Werke und Dichtkunst'
|
||||
},
|
||||
|
||||
// Psychologie
|
||||
{
|
||||
id: 'psychology',
|
||||
label: 'Psychologie',
|
||||
category: 'Psychologie',
|
||||
description: 'Wissenschaft vom Erleben und Verhalten'
|
||||
},
|
||||
{
|
||||
id: 'cognitive',
|
||||
label: 'Kognitive Psychologie',
|
||||
category: 'Psychologie',
|
||||
description: 'Studium mentaler Prozesse'
|
||||
},
|
||||
{
|
||||
id: 'behavioral',
|
||||
label: 'Verhaltenspsychologie',
|
||||
category: 'Psychologie',
|
||||
description: 'Analyse von Verhaltensmustern'
|
||||
}
|
||||
],
|
||||
|
||||
edges: [
|
||||
// Philosophie-Verbindungen
|
||||
{ source: 'philosophy', target: 'epistemology', label: 'umfasst' },
|
||||
{ source: 'philosophy', target: 'ethics', label: 'umfasst' },
|
||||
{ source: 'philosophy', target: 'science', label: 'beeinflusst' },
|
||||
|
||||
// Wissenschaft-Verbindungen
|
||||
{ source: 'science', target: 'physics', label: 'umfasst' },
|
||||
{ source: 'science', target: 'biology', label: 'umfasst' },
|
||||
{ source: 'science', target: 'technology', label: 'fördert' },
|
||||
|
||||
// Technologie-Verbindungen
|
||||
{ source: 'technology', target: 'ai', label: 'umfasst' },
|
||||
{ source: 'technology', target: 'robotics', label: 'umfasst' },
|
||||
{ source: 'ai', target: 'cognitive', label: 'beeinflusst' },
|
||||
|
||||
// Künste-Verbindungen
|
||||
{ source: 'arts', target: 'music', label: 'umfasst' },
|
||||
{ source: 'arts', target: 'literature', label: 'umfasst' },
|
||||
{ source: 'arts', target: 'psychology', label: 'beeinflusst' },
|
||||
|
||||
// Psychologie-Verbindungen
|
||||
{ source: 'psychology', target: 'cognitive', label: 'umfasst' },
|
||||
{ source: 'psychology', target: 'behavioral', label: 'umfasst' },
|
||||
{ source: 'psychology', target: 'ethics', label: 'beeinflusst' },
|
||||
|
||||
// Interdisziplinäre Verbindungen
|
||||
{ source: 'cognitive', target: 'ai', label: 'inspiriert' },
|
||||
{ source: 'physics', target: 'technology', label: 'ermöglicht' },
|
||||
{ source: 'literature', target: 'philosophy', label: 'reflektiert' }
|
||||
]
|
||||
};
|
||||
// Event-Listener für Knoten-Klicks hinzufügen
|
||||
cy.on('tap', 'node', async function(evt) {
|
||||
const node = evt.target;
|
||||
if (node.data('hasChildren') && !node.data('expanded')) {
|
||||
await loadSubthemes(node);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Kategorie-Farben definieren
|
||||
const categoryColors = {
|
||||
@@ -652,4 +659,58 @@ function createFlashContainer() {
|
||||
container.className = 'fixed top-4 right-4 z-50 w-64';
|
||||
document.body.appendChild(container);
|
||||
return container;
|
||||
}
|
||||
|
||||
// Funktion zum Laden der Subthemen
|
||||
async function loadSubthemes(node) {
|
||||
try {
|
||||
// Simuliere Datenbankabfrage (später durch echte API ersetzen)
|
||||
const subthemes = subthemesDatabase[node.id()];
|
||||
|
||||
if (!subthemes) return;
|
||||
|
||||
// Animation starten
|
||||
showFlash('Lade Subthemen...', 'info');
|
||||
|
||||
// Neue Knoten hinzufügen
|
||||
subthemes.forEach(subtheme => {
|
||||
cy.add({
|
||||
group: 'nodes',
|
||||
data: {
|
||||
...subtheme,
|
||||
expanded: false
|
||||
}
|
||||
});
|
||||
|
||||
// Kante zum Elternknoten hinzufügen
|
||||
cy.add({
|
||||
group: 'edges',
|
||||
data: {
|
||||
id: `${node.id()}_${subtheme.id}`,
|
||||
source: node.id(),
|
||||
target: subtheme.id
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Node als expandiert markieren
|
||||
node.data('expanded', true);
|
||||
|
||||
// Layout neu berechnen mit Animation
|
||||
cy.layout({
|
||||
name: 'cose',
|
||||
animate: true,
|
||||
animationDuration: 500,
|
||||
refresh: 20,
|
||||
fit: true,
|
||||
padding: 30
|
||||
}).run();
|
||||
|
||||
// Erfolgsmeldung anzeigen
|
||||
showFlash('Subthemen erfolgreich geladen', 'success');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Laden der Subthemen:', error);
|
||||
showFlash('Fehler beim Laden der Subthemen', 'error');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user