# CHANGELOG MODULE KUNDENKARTE FOR [DOLIBARR ERP CRM](https://www.dolibarr.org)

## 5.1.0 (2026-02)

### Verbesserungen
- **Graph-Ansicht: Intelligente Feldanzeige**
  - Felder nach `position` sortiert (nicht mehr nach JSON-Reihenfolge)
  - Nur Felder mit `show_in_tree=1` werden auf den Graph-Nodes angezeigt
  - Nur Felder mit `show_in_hover=1` erscheinen im Tooltip
  - Badge-Werte im Graph mit Feldbezeichnung (z.B. "Hersteller: ABB")
  - Tooltip: Typ/System entfernt (redundant mit Graph-Node)
  - Tooltip: Farbige Badge-Kaesten wie in der Baumansicht
  - Shared Library `lib/graph_view.lib.php` fuer Toolbar/Container/Legende

### Neue Dateien
- `lib/graph_view.lib.php` - Gemeinsame Graph-Funktionen (Toolbar, Container, Legende)

---

## 5.0.0 (2026-02)

### Neue Features
- **Cytoscape.js Graph-Ansicht**: Neue interaktive Netzwerk-Visualisierung
  - Raeume als Compound-Container, Geraete als Nodes darin
  - Kabelverbindungen als sichtbare Edges (auch raumuebergreifend)
  - Durchgeschleifte Leitungen als gestrichelte Linien
  - Dagre-Layout: Hierarchischer Stromfluss top-down
  - Zoom/Pan/Fit-Controls, Mausrad-Zoom Toggle
  - Kabeltyp-Legende mit Farben
  - **Bearbeitungsmodus**: Nodes nur per "Anordnen"-Button verschiebbar,
    Positionen per "Speichern"-Button fest, "Abbrechen" setzt zurueck
  - Viewport-Persistenz (Zoom/Pan bleibt beim Seitenwechsel)
  - Klick auf Node/Edge oeffnet Detail-/Bearbeitungsseite
  - Suche als Overlay im Graph-Container (Nodes hervorheben/abdunkeln)
  - Kontextmenue (Rechtsklick): Ansehen, Bearbeiten, Kopieren, Loeschen
  - PNG-Export des Graphen
  - Admin-Setting: Ansichtsmodus (Baum/Graph) in Setup waehlbar
  - Toolbar zweizeilig: Aktionen oben, Graph-Steuerung unten

- **Verbindungsformular verbessert**
  - Select-Dropdowns zeigen nur Geraete (keine Gebaeude/Raeume)
  - Icons (FontAwesome) in Select-Optionen via select2
  - Gebaeude-Pfad als Kontext (z.B. "EG > Zahlerschrank")
  - Systemuebergreifende Geraete-Auswahl (kein Systemfilter)

### Neue Dateien
- `js/kundenkarte_cytoscape.js` - Graph-Namespace (~750 Zeilen)
- `css/kundenkarte_cytoscape.css` - Graph-Styles mit Dark Mode
- `ajax/graph_data.php` - AJAX: Baum+Verbindungen → Cytoscape-Format
- `ajax/graph_save_positions.php` - AJAX: Node-Positionen speichern
- `js/cytoscape.min.js`, `js/dagre.min.js`, `js/cytoscape-dagre.js`, `js/cytoscape-cose-bilkent.js` - Bibliotheken

### Bugfixes
- **Contact-Filter im Graph**: Graph zeigte faelschlicherweise Kontakt-Elemente auf Kunden-Ebene
  - Fix: `fk_contact` Filter in `graph_data.php` analog zum Baum
- **Verbindung hinzufuegen**: Formular zeigte "Feld erforderlich"-Fehler beim Oeffnen
  - Ursache: `action=create` in URL triggerte Handler vor Formular-Anzeige
  - Fix: Korrekte Dolibarr-Konvention (create=Formular, add=Verarbeitung)
- **Leere Dropdowns**: Quelle/Ziel-Auswahl war leer wenn System keine Elemente hatte
  - Fix: Kein System-Filter mehr (Kabel koennen systemuebergreifend sein)
- **Kontakt-Redirect**: Nach Verbindung-Bearbeiten landete man auf Kundenansicht statt Kontaktansicht
  - Fix: `contactid` wird jetzt in allen Edit-URLs mitgegeben
- **Kontakt-Anlagen**: Auf Stand von Kunden-Anlagen gebracht
  - tree_display_mode, badge_color, Schaltplan-Editor, Drag&Drop Upload

### Datenbank-Aenderungen
- Neue Spalten `graph_x`, `graph_y` in `llx_kundenkarte_anlage` (Node-Positionen)
- Neue Spalte `fk_building_node` in `llx_kundenkarte_anlage` (vorbereitet fuer Phase 2)

### Admin-Settings
- `KUNDENKARTE_DEFAULT_VIEW`: `tree` (Standard) oder `graph`

---

## 4.0.1 (2026-02)

### Neue Features
- **Badge-Farben pro Feld**: Individuelle Farben fuer Badges im Baum konfigurierbar
  - Neue Spalte in Admin > Element-Typen > Felder
  - Color-Picker fuer einfache Farbauswahl
  - Hex-Format (#RRGGBB)

- **Datei-Vorschau Tooltip**: Hover ueber Datei-Badge zeigt Vorschau
  - Thumbnails fuer Bilder
  - Icons fuer Dokumente (PDF, Word, Excel, etc.)
  - Neuer AJAX-Endpoint `ajax/file_preview.php`

- **Mobile/Kompakte Ansicht**: Optimiert fuer mobile Geraete
  - Kompakt-Modus Toggle-Button
  - Einheitliche Button-Groessen auf mobilen Geraeten
  - 2x2 Grid-Layout auf sehr kleinen Bildschirmen
  - Touch-freundliche Bedienelemente

### Bugfixes
- **Dolibarr App Navigation**: Vor/Zurueck-Pfeile funktionieren jetzt korrekt
  - Module akzeptieren nun `id` UND `socid`/`contactid` Parameter
  - Kunden-Kontext bleibt beim Navigieren erhalten
  - Betroffene Dateien: alle Tab-PHP-Files

- **Datei-Badge Icon**: Zeigt jetzt Bueroklammer-Icon statt nur Zahl

- **Kontakt-Anlagen Kategorie-Filter**: Fehlende Kategorie-Auswahl hinzugefuegt
  - Gebaeude/Standort vs. Technisches Element jetzt auch bei Kontakten waehlbar
  - Strom-Typen sind jetzt auswaehlbar

- **Schematic Editor**: Hutschiene hinzufuegen Button bei leerem Panel
  - Button erscheint jetzt auch wenn noch keine Hutschiene existiert

- **Panel-Hoehe**: Korrektur der Berechnung bei mehreren Hutschienen
  - Unterer Rand wird nicht mehr abgeschnitten

### Datenbank-Aenderungen
- Neue Spalte `badge_color` in `llx_kundenkarte_anlage_type_field`

---

## 3.5.0 (2026-02)

### Neue Features
- **Drag & Drop Sortierung**: Elemente im Anlagenbaum per Drag & Drop umsortieren
  - Geschwister-Elemente auf gleicher Ebene verschieben
  - Visuelle Drop-Indikatoren (blaue Linie)
  - Reihenfolge wird sofort per AJAX gespeichert (kein Seitenreload)
  - Funktioniert in Kunden- und Kontakt-Anlagen

### Bugfixes
- **Duplicate-Key-Fehler behoben**: UNIQUE KEY `uk_kundenkarte_societe_system` um `fk_contact` erweitert
  - Systeme koennen nun gleichzeitig auf Kunden- und Kontaktebene existieren
  - Migration wird automatisch beim Modul-Aktivieren ausgefuehrt

### Verbesserungen
- Visueller Abstand zwischen Root-Elementen im Anlagenbaum
- INSERT fuer Kunden-Systeme setzt explizit `fk_contact = 0`

---

## 2.0 (2026-01)

### Neue Features
- **PDF Export mit Vorlage**: Briefpapier/Hintergrund-PDF kann als Vorlage hochgeladen werden
  - Upload im Admin-Bereich unter Einstellungen
  - Vorlage wird als Hintergrund auf allen Seiten verwendet
- **PDF Schriftgroessen konfigurierbar**: Anpassbare Schriftgroessen fuer den PDF-Export
  - Ueberschriften (7-14pt)
  - Inhalte (6-12pt)
  - Feldbezeichnungen (5-10pt)
- **Verbesserte PDF-Baumdarstellung**: Professionelle Darstellung der Anlagenstruktur
  - Farbcodierte Header pro Hierarchie-Ebene (dezente Grauabstufungen)
  - Abgerundete Rahmen um Elemente
  - Visuelle Verbindungslinien zwischen Elementen
  - Bessere Einrueckung und Lesbarkeit

### Verbesserungen
- Logo aus PDF-Export entfernt (ersetzt durch Vorlagen-System)
- Dynamische Felder fuer Element-Typen (Ueberschrift als neuer Feldtyp)
- Kopierfunktion fuer Elemente und Typen

---

## 1.1 (2026-01)

### Neue Features
- **Kontakt/Adressen-Unterstuetzung**: Favoriten und Anlagen koennen nun auch auf Kontakt-/Adressebene verwaltet werden
  - Ideal fuer Kunden mit mehreren Gebaeuden/Standorten
  - Neue Tabs "Favoriten" und "Anlagen" auf Kontaktkarten
  - Vollstaendige Trennung der Daten zwischen Kunde und Kontakten

### Verbesserungen
- Mengen-Eingabe bei Favoriten vereinfacht (Textfeld + Speichern-Button)
- Modul-Icon geaendert zu fa-id-card
- Dokumentation aktualisiert

### Datenbank-Aenderungen
- Neue Spalte `fk_contact` in Tabelle `llx_kundenkarte_favorite_products`
- Neue Spalte `fk_contact` in Tabelle `llx_kundenkarte_anlage`
- Neue Spalte `fk_contact` in Tabelle `llx_kundenkarte_societe_system`

### Hinweis zum Upgrade
Nach dem Update bitte das Modul einmal deaktivieren und wieder aktivieren, damit die SQL-Aenderungen ausgefuehrt werden.

---

## 1.0

### Features
- Favoriten-Produkte fuer Kunden
  - Produkte als Favoriten markieren
  - Standardmengen festlegen
  - Bestellungen aus Favoriten generieren
  - Sortierbare Liste

- Technische Anlagen (Baumstruktur)
  - Systemkategorien (Strom, Internet, Kabel, Sat)
  - Konfigurierbare Element-Typen
  - Individuelle Felder pro Typ
  - Datei-Upload mit Vorschau
  - Hierarchische Struktur

- Admin-Bereich
  - Systeme verwalten
  - Typen verwalten
  - Felder konfigurieren

Initial version
