refactor: modularize report designer components and controllers into a new report-designer module.

This commit is contained in:
2025-12-04 23:53:52 +01:00
parent 44c0406fd2
commit ad0ea0c7f8
30 changed files with 236 additions and 143 deletions

View File

@@ -26,3 +26,7 @@ File riassuntivo dello stato di sviluppo di Zentral.
- Pulizia menu Zentral (rimozione voci ridondanti) e creazione nuova Dashboard principale con riepilogo moduli attivi.
- [2025-12-04 Dashboard Widgets](./devlog/2025-12-04-030000_dashboard_widgets.md) - **Completato**
- Implementazione sistema widget personalizzabili (drag & drop), salvataggio preferenze utente, widget "Active Modules" e "Warehouse Stats".
- [2025-12-04 Report Designer Module](./devlog/2025-12-04-215121_report_designer_module.md) - **Completato**
- Refactoring Report Designer in modulo autonomo e abilitazione stampa PDF condizionale.
- [2025-12-04 Fix Report Designer Imports](./devlog/2025-12-04-212500_fix_report_designer_imports.md) - **Completato**
- Correzione import path nel modulo Report Designer e registrazione modulo nel backend.

View File

@@ -0,0 +1,31 @@
# Fix Report Designer Imports and Activation
## Problema
Il modulo Report Designer non si caricava a causa di percorsi di importazione errati nei componenti frontend e mancava la registrazione del modulo nel backend.
## Modifiche Apportate
### Frontend
Corretti i percorsi di importazione in:
- `DatasetManagerDialog.tsx`
- `PreviewDialog.tsx`
- `OutputFieldsEditor.tsx`
- `FilterBuilder.tsx`
- `RelationshipEditor.tsx`
- `PropertiesPanel.tsx`
- `PageNavigator.tsx`
- `ContextMenu.tsx`
- `EditorCanvas.tsx`
- `DataBindingPanel.tsx`
- `DatasetSelector.tsx`
- `EditorToolbar.tsx`
I percorsi `../../services/reportService` e `../../types/report` sono stati aggiornati a `../../../../services/reportService` e `../../../../types/report`.
### Backend
- Aggiornato `ModuleService.cs` per includere il modulo `report-designer` nel metodo `SeedDefaultModulesAsync`.
- Riavviato il backend per applicare il seeding del nuovo modulo.
## Verifica
- Attivato il modulo `report-designer` tramite l'interfaccia `/modules`.
- Verificato il caricamento corretto della pagina `/report-designer`.

View File

@@ -0,0 +1,32 @@
# Refactoring Report Designer into a Module
## Obiettivo
Trasformare la parte del report designer in un modulo a sé stante (`report-designer`).
Una volta attivato, questo modulo abilita nelle altre applicazioni la possibilità di stampare PDF.
## Stato Attuale
Il codice del report designer è sparso in `src/frontend/src/pages` e `src/backend/Zentral.API/Controllers`.
## Piano di Lavoro
1. **Frontend**:
- [x] Creare struttura modulo: `src/frontend/src/modules/report-designer/`
- [x] Spostare pagine e componenti.
- [x] Creare `routes.tsx`.
- [x] Aggiornare i riferimenti e le rotte in `App.tsx`.
- [x] Aggiornare `reportService.ts` con le nuove rotte API.
2. **Backend**:
- [x] Creare struttura modulo: `src/backend/Zentral.API/Modules/ReportDesigner/`
- [x] Spostare Controller (`ReportTemplatesController`, `ReportResourcesController`, `ReportsController`).
- [x] Aggiornare namespace e rotte API.
- [x] Spostare DTO condivisi in `AprtModels.cs` per risolvere dipendenze circolari/mancanti.
3. **Integrazione**:
- [x] Verificare build Frontend e Backend.
## Log
- 2025-12-04: Iniziato refactoring.
- 2025-12-04: Spostati file frontend e creati routes.
- 2025-12-04: Aggiornato App.tsx con ModuleGuard.
- 2025-12-04: Spostati controller backend e aggiornati namespace.
- 2025-12-04: Risolti problemi di compilazione backend spostando DTO.
- 2025-12-04: Aggiornato reportService.ts frontend.
- 2025-12-04: Completato.