bericht/ajax
Eduard Wisch 195942a2f9
All checks were successful
Deploy bericht / deploy (push) Successful in 2s
feat: Phase 6 — Client-WYSIWYG via Composite-PNG + Text-BG + Dark-Input-Fix
Paradigmen-Wechsel: Editor rendert bei jedem Save sein Fabric-Canvas
als PNG und lädt es hoch. PDF nutzt dieses PNG 1:1 statt die Shapes
serverseitig nachzuzeichnen.

Damit ist garantiert: was du im Editor siehst, ist EXAKT das was im PDF
landet. Alle Pfeil/Text/Shape-Rendering-Bugs zwischen Fabric-JSON und
PHP-Nachzeichnung sind Geschichte.

Kernänderungen:

1. DB: Neue Spalte bericht_page.composite_path (Migration im init())
2. ajax/save_annotations.php: nimmt multipart file 'composite' entgegen,
   speichert es unter bericht/work/<fkb>/composite_<pid>.png
3. lib/bericht.lib.php: bericht_render_page_to_pdf prüft composite_path
   zuerst — wenn vorhanden, wird eine Seite mit genau diesem PNG als
   volles Bild gerendert, fertig. Fallback auf alte Logik bei alten
   Berichten ohne Composite.
4. editor.js renderImage: Quellbild wird NICHT mehr auf pdfCanvas
   gezeichnet, sondern als fabric.Image ins Fabric-Canvas geladen —
   ZIEHBAR, SKALIERBAR, ROTIERBAR wie jedes andere Objekt.
   Mehrere Bilder auf einer Seite kein Problem mehr.
5. editor.js savePageAnnotations: nach Shape-State wird toDataURL
   mit multiplier:2 aufgerufen, PNG-Blob hochgeladen zusammen mit
   fabric_json (für spätere Edits) und note.
6. editor.js loadPage: wenn fabric_json existiert, wird dieses
   clientseitig wieder eingeladen (inkl. eingebettete Bilder) — das
   Quell-Bild wird nicht mehr neu aus der Quelle geholt. Bei leerer
   Seite läuft der alte Render-Flow.

Phase 6 Bonus — Text mit Hintergrund:
- Neuer color-picker 'BG:' in der Toolbar + 'Ø'-Button (kein BG)
- Fabric IText bekommt textBackgroundColor + padding:6
- Bei selektiertem Text-Objekt wird BG live angewendet
- Dataset-Flag 'active' toggelt zwischen ein/aus

Dark-Input-Fix:
- Textarea in .bericht-page-note nutzte --inputbackgroundcolor
  (existiert in awl-dark nicht → Fallback #fff = weiße Fläche mit
  schwarzer Schrift auf Dark-Theme)
- Jetzt: --colorbackbody + --colortext + --colorboxbordertitle1
- Generischer Input-Style für alle Text-Eingaben in .bericht-editor

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
[deploy]
2026-04-09 13:26:57 +02:00
..
_inc.php feat: Initiales Release Bericht-Modul v1.0.0 [deploy] 2026-04-08 15:18:59 +02:00
add_attachment.php feat: Initiales Release Bericht-Modul v1.0.0 [deploy] 2026-04-08 15:18:59 +02:00
create_grid_page.php feat: Block C — Editor-Polish, Vorher/Nachher, Versionierung, Batch-Modus 2026-04-09 09:10:56 +02:00
create_upload_token.php feat: Phase 2.1 + 2.2 — Mobile-Upload mit QR-Code 2026-04-08 22:38:33 +02:00
delete_attachment.php feat: Phase 1.6 + 1.1 + 1.2 — verknüpfte Sicht, PDF-Vorschau, Anhänge löschen 2026-04-08 22:13:46 +02:00
delete_page.php feat: Initiales Release Bericht-Modul v1.0.0 [deploy] 2026-04-08 15:18:59 +02:00
generate_pdf.php feat: Phase 1.4 + 1.5 — Multi-Image Grids und Bildgröße komplett 2026-04-08 22:33:44 +02:00
list_pages.php feat: Phase 2.1 + 2.2 — Mobile-Upload mit QR-Code 2026-04-08 22:38:33 +02:00
page_image.php feat: Phase 1.4 + 1.5 — Multi-Image Grids und Bildgröße komplett 2026-04-08 22:33:44 +02:00
page_meta.php feat: Phase 1.4 + 1.5 — Multi-Image Grids und Bildgröße komplett 2026-04-08 22:33:44 +02:00
preview_pdf.php feat: Phase 1.4 + 1.5 — Multi-Image Grids und Bildgröße komplett 2026-04-08 22:33:44 +02:00
reorder_pages.php feat: Initiales Release Bericht-Modul v1.0.0 [deploy] 2026-04-08 15:18:59 +02:00
save_annotations.php feat: Phase 6 — Client-WYSIWYG via Composite-PNG + Text-BG + Dark-Input-Fix 2026-04-09 13:26:57 +02:00
save_as_template.php feat: Bericht-Vorlagen + Whisper-Transkription + Cron-Fix 2026-04-09 08:27:45 +02:00
save_meta.php feat: Phase 1.3 + 1.7 + Schema 1.4/1.5 — Format/Orient + Kunden-Tab 2026-04-08 22:20:09 +02:00
save_page_options.php feat: Phase 1.4 + 1.5 — Multi-Image Grids und Bildgröße komplett 2026-04-08 22:33:44 +02:00
set_slot_image.php feat: Phase 1.4 + 1.5 — Multi-Image Grids und Bildgröße komplett 2026-04-08 22:33:44 +02:00
upload_extra.php feat: Initiales Release Bericht-Modul v1.0.0 [deploy] 2026-04-08 15:18:59 +02:00
verify_signature.php feat: Unterschriften-Verifikation + Seiten-Reorder API 2026-04-09 08:18:51 +02:00