This commit is contained in:
2025-11-29 02:22:43 +01:00
parent 53c366c20e
commit dc6f223fd9
10 changed files with 967 additions and 115 deletions

View File

@@ -52,7 +52,34 @@ XX. **Nome Problema (FIX/IMPLEMENTATO DATA):** - **Problema:** Descrizione breve
**Lavoro completato nell'ultima sessione:**
- **NUOVA FEATURE: Scorciatoie da Tastiera Complete per Report Designer** - COMPLETATO
- **NUOVA FEATURE: Pannelli Ridimensionabili e Collassabili nel Report Designer** - COMPLETATO
- **Obiettivo:** I pannelli del report designer devono essere collassabili, ridimensionabili, riposizionabili e la configurazione deve essere persistita
- **Nuovi file creati:**
- `frontend/src/hooks/useLocalStorage.ts` - Hook generico per persistenza in localStorage
- `frontend/src/hooks/usePanelLayout.ts` - Hook per gestire configurazione pannelli (larghezza, collapsed, posizione)
- `frontend/src/components/reportEditor/ResizablePanel.tsx` - Componente pannello ridimensionabile con:
- Handle di resize trascinabile sul bordo
- Stato collassato con icona, badge e titolo verticale
- Header compatto con titolo, icona e pulsante collasso
- Nessuna scrollbar visibile (hidden ma funzionale)
- **Configurazione pannelli:**
- Salvata in localStorage con chiave `apollinare-report-editor-panels`
- Default: Pages (sinistra, 220px), Data (destra, 280px), Properties (destra, 280px)
- Ogni pannello ha: id, width, collapsed, position (left/right), order
- **Scrollbar nascoste:** Usato CSS per nascondere scrollbar mantenendo funzionalità scroll
- `&::-webkit-scrollbar: { width: 0 }` per Chrome/Safari
- `scrollbarWidth: "none"` per Firefox
- `msOverflowStyle: "none"` per IE/Edge
- **Canvas centrato:** La viewport del report rimane sempre al centro dell'area disponibile
- **File modificati:**
- `ReportEditorPage.tsx` - Integrato `usePanelLayout`, usato `ResizablePanel` per tutti i pannelli
- `PageNavigator.tsx` - Aggiunto CSS per nascondere scrollbar
- `DataBindingPanel.tsx` - Aggiunto CSS per nascondere scrollbar
- `PropertiesPanel.tsx` - Aggiunto CSS per nascondere scrollbar
- **File rimossi:**
- `CollapsiblePanel.tsx` - Sostituito da `ResizablePanel`
- **NUOVA FEATURE: Panning e Zoom stile Draw.io nel Report Designer** - COMPLETATO (sessione precedente)
- **Problema:** Le scorciatoie da tastiera (Ctrl+X, Ctrl+C, etc.) venivano intercettate dal browser invece che dalla pagina
- **Soluzione:** Riscritto completamente l'handler delle scorciatoie con:
- Controllo se il focus è su campi input/textarea/contenteditable