<mds-tree> <mds-tree-item label="Documenti"></mds-tree-item> <mds-tree-item label="Immagini"></mds-tree-item> <mds-tree-item label="Video"></mds-tree-item></mds-tree><mds-tree> <mds-tree-item label="Ufficio Tecnico"> <mds-tree-item label="Pratiche edilizie"> <mds-tree-item label="Domanda 2024-001"></mds-tree-item> <mds-tree-item label="Domanda 2024-002"></mds-tree-item> </mds-tree-item> <mds-tree-item label="Concessioni"></mds-tree-item> </mds-tree-item> <mds-tree-item label="Ragioneria"></mds-tree-item></mds-tree><mds-tree> <mds-tree-item label="Pratiche in corso" expanded> <mds-tree-item label="Richiesta #1042"></mds-tree-item> <mds-tree-item label="Richiesta #1043"></mds-tree-item> </mds-tree-item> <mds-tree-item label="Archivio"></mds-tree-item></mds-tree><mds-tree> <mds-tree-item label="Segreteria" icon="mi/baseline/desk"> <mds-tree-item label="Genoveffo Baci" icon="mi/baseline/person"></mds-tree-item> <mds-tree-item label="Donaldo Trombetta" icon="mi/baseline/person"></mds-tree-item> </mds-tree-item> <mds-tree-item label="Archivio" icon="mi/baseline/archive"></mds-tree-item></mds-tree><mds-tree toggle="folder"> <mds-tree-item label="Modulistica"> <mds-tree-item label="Modulo A"></mds-tree-item> <mds-tree-item label="Modulo B"></mds-tree-item> </mds-tree-item></mds-tree><mds-tree actions="auto"> <mds-tree-item label="Contratto 2024"> <mds-button slot="action" icon="mi/baseline/attach-file" variant="primary" tone="text" title="Allega documento" ></mds-button> <mds-button slot="action" icon="mi/baseline/more-vert" variant="primary" tone="text" title="Altre opzioni" ></mds-button> <mds-tree-item label="Allegato 1"></mds-tree-item> </mds-tree-item></mds-tree><mds-tree> <mds-tree-item async label="Dipendenti" icon="mi/baseline/group" id="dept-node"> <!-- children injected after fetch --> </mds-tree-item></mds-tree>
<script> document.getElementById('dept-node').addEventListener( 'mdsTreeItemExpand', async (event) => { const node = event.detail.element; if (!node.async) return; const people = await fetchDepartmentPeople(); people.forEach((name) => { const item = document.createElement('mds-tree-item'); item.label = name; item.icon = 'mi/baseline/person'; node.appendChild(item); }); await node.expand(); node.async = undefined; }, );</script><mds-tree id="struttura-tree"> <mds-tree-item label="Ufficio A"> <mds-tree-item label="Sezione 1"></mds-tree-item> </mds-tree-item></mds-tree>
<script> // emitted only by items marked async document.getElementById('struttura-tree').addEventListener('mdsTreeItemExpand', (event) => { console.log('Espanso:', event.detail.element.label); }); document.getElementById('struttura-tree').addEventListener('mdsTreeItemCollapse', (event) => { console.log('Compresso:', event.detail.element.label); });</script><mds-tree truncate="all"> <mds-tree-item label="Delibera di Giunta Comunale n. 42 del 15 marzo 2024 - approvazione bilancio"> </mds-tree-item> <mds-tree-item label="Verbale seduta straordinaria del Consiglio Comunale del 22 aprile 2024"> </mds-tree-item></mds-tree>.archivio-tree mds-tree-item { --mds-tree-item-branch-border-color: rgb(var(--magma-accent-border)); --mds-tree-item-branch-dot-expanded-color: rgb(var(--magma-accent-fg)); --mds-tree-item-label-hover-background: rgb(var(--magma-wash-base)); --mds-tree-item-toggle-icon-chevron-default-color: rgb(var(--magma-accent-on-emphasis)); --mds-tree-item-transition-duration: 200ms;}mds-tree-item::part(actions-container) { background: rgb(var(--magma-wash-soft)); border-radius: var(--magma-radius-md);}
mds-tree-item::part(actions-list) { gap: calc(var(--spacing) * 200);}