Questa documentazione è stata tradotta automaticamente dall'IA.
La JS Column viene utilizzata per le "colonne personalizzate" nelle tabelle e permette di renderizzare il contenuto di ogni cella di riga tramite JavaScript. Non è vincolata a un campo specifico ed è ideale per scenari come colonne derivate, visualizzazioni combinate tra più campi, badge di stato, pulsanti di azione e aggregazione di dati remoti.

Quando ogni cella della JS Column viene renderizzata, sono disponibili le seguenti API di contesto:
ctx.element: Il contenitore DOM della cella corrente (ElementProxy), che supporta innerHTML, querySelector, addEventListener, ecc.ctx.record: L'oggetto record della riga corrente (sola lettura).ctx.recordIndex: L'indice della riga all'interno della pagina corrente (parte da 0, potrebbe essere influenzato dalla paginazione).ctx.collection: I metadati della collezione associata alla tabella (sola lettura).ctx.requireAsync(url): Carica in modo asincrono una libreria AMD/UMD tramite URL.ctx.importAsync(url): Importa dinamicamente un modulo ESM tramite URL.ctx.openView(options): Apre una vista configurata (modale/drawer/pagina).ctx.i18n.t() / ctx.t(): Internazionalizzazione.ctx.onRefReady(ctx.ref, cb): Esegue il rendering dopo che il contenitore è pronto.ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: Librerie integrate come React, ReactDOM, Ant Design, icone di Ant Design e dayjs, utili per il rendering JSX e la gestione di date/ore. (ctx.React / ctx.ReactDOM / ctx.antd sono mantenute per compatibilità.)ctx.render(vnode): Esegue il rendering di un elemento React/HTML/DOM nel contenitore predefinito ctx.element (la cella corrente). Renderizzazioni multiple riutilizzeranno il Root e sovrascriveranno il contenuto esistente del contenitore.L'editor di script della JS Column supporta l'evidenziazione della sintassi, i suggerimenti di errore e i frammenti di codice (Snippets) integrati.
Snippets: Apre l'elenco dei frammenti di codice integrati, permettendo di cercarli e inserirli con un clic nella posizione corrente del cursore.Run: Esegue direttamente il codice corrente. Il log di esecuzione viene visualizzato nel pannello Logs in basso, supportando console.log/info/warn/error e l'evidenziazione degli errori.
È anche possibile utilizzare un AI Employee per generare codice:
if (!lib) return;).class o [name=...] anziché id fissi, per evitare duplicati di id in blocchi o modali multipli.