# CLAUDE.md — datagrid **Versione:** 0.1 **Ultimo aggiornamento:** 07/08/2026 Eredita la Costituzione principale (`Dropbox/adrian/CLAUDE.md`) — questo file contiene solo contesto locale. ## Cosa è Componente griglia risultati riusabile, indipendente da qualunque consumer specifico — nato dalla riflessione su PowerBricks (07/08/2026, vedi `archivio/Mauro/lavoro/lavoro-python-ecosistema/PowerBricks.md`) ma pensato per essere usato ovunque nell'ecosistema serva una griglia Excel-style dentro una finestra Flask+pywebview. Sostituisce concettualmente `results_grid.py` di PowerBricks (oggi un `QTableWidget` PyQt6 statico) e, a tendere, punta a coprire lo stesso terreno della griglia Linker storica (VBA → Python) per la sola parte di **visualizzazione** — il data entry/gestionale è fuori scope in questo giro, ma il componente lo supporta già (editor di cella nativi Tabulator) per non precludere la strada. ## Stack - [Tabulator](https://tabulator.info) v6.3.1, via CDN unpkg (stesso pattern "niente build step" già in uso per Blockly in PowerBricks) — MIT, nessun tier a pagamento. - Perché Tabulator e non AG Grid: AG Grid Community non include il filtro a checkbox multi-selezione stile Excel (Set Filter), row grouping, master/detail — tutte funzionalità Enterprise a pagamento. Tabulator le ha nel core gratuito (grouping/tree nativi; il filtro multi-select si costruisce sopra `headerFilter: 'select'` con `multiselect: true`, pattern documentato). Dettaglio completo della valutazione in `PowerBricks.md`. ## Struttura - `src/datagrid.js` — il componente vero, `initGrid(target, options)`. Nessuna dipendenza da schema di dominio: riceve `columns` (con `type`/`filterType`/`editable`/`headerColor` per colonna) e `data`/`dataUrl`. - `demo/` — harness di sviluppo/test standalone, dati fittizi in `fixture.json` (mai dati reali ICR). Apribile diretto in browser o verificabile via Playwright headless da Nave. ## Tema di base — replica dello stile Linker (07/08/2026) `[CONFERMATO]` — richiesta esplicita di Mauro: il componente non usa un look Tabulator generico, ma replica lo stile del foglio Linker storico (`PYTHON/MyICR_Suite/app/modules/linker/`), il riferimento visivo dell'ecosistema. Iniettato via `injectBaseStyles()` (un solo `