"Update mindmap Mindmap functionality

This commit is contained in:
2025-05-14 13:47:35 +02:00
parent 3a2f721f63
commit b68f65cc76
3 changed files with 98 additions and 150 deletions

View File

@@ -456,7 +456,7 @@
</div>
<!-- Kategorie-Legende -->
<div id="categoryLegend" class="category-legend" style="display: flex;">
<div id="categoryLegend" class="category-legend">
<div class="category-item">
<div class="category-color" style="background-color: #9F7AEA;"></div>
<span>Philosophie</span>
@@ -637,7 +637,21 @@ document.addEventListener('DOMContentLoaded', function() {
// Bearbeitungsmodus abbrechen
cancelEditBtn.addEventListener('click', function() {
resetMindmap();
if (confirm('Möchten Sie den Bearbeitungsmodus wirklich verlassen? Nicht gespeicherte Änderungen gehen verloren.')) {
isEditMode = false;
crudPanel.style.display = 'none';
editModeIndicator.classList.remove('active');
toggleEditModeBtn.style.display = 'inline-flex';
saveChangesBtn.style.display = 'none';
cancelEditBtn.style.display = 'none';
window.cy.container().classList.remove('editing-mode');
// Neuinitialisierung der Mindmap
initializeMindmap().then(() => {
loader.style.display = 'none';
statusMessage.style.display = 'none';
});
}
});
// CRUD-Funktionen
@@ -661,7 +675,13 @@ document.addEventListener('DOMContentLoaded', function() {
deleteElementBtn.addEventListener('click', function() {
if (isEditMode && selectedElement) {
deleteElement(selectedElement);
if (selectedElement.isNode()) {
deleteNode(selectedElement);
} else if (selectedElement.isEdge()) {
if (confirm('Möchten Sie diese Verbindung wirklich löschen?')) {
selectedElement.remove();
}
}
}
});
@@ -673,19 +693,20 @@ document.addEventListener('DOMContentLoaded', function() {
// Zoom-Funktionen
document.getElementById('zoomIn').addEventListener('click', function() {
if (window.cy) zoomIn(window.cy);
if (window.cy) window.cy.zoom(window.cy.zoom() * 1.2);
});
document.getElementById('zoomOut').addEventListener('click', function() {
if (window.cy) zoomOut(window.cy);
if (window.cy) window.cy.zoom(window.cy.zoom() * 0.8);
});
document.getElementById('resetView').addEventListener('click', function() {
if (window.cy) resetView(window.cy);
if (window.cy) window.cy.fit();
});
document.getElementById('toggleLegend').addEventListener('click', function() {
toggleLegend();
const legend = document.getElementById('categoryLegend');
legend.style.display = legend.style.display === 'none' ? 'flex' : 'none';
});
// Funktionen für Knoteninfo-Panel