/

Interruttori di Visibilità e Griglie Bloccate

Nascondi l'interfaccia di Add/Edit/Remove/ricerca/paginazione con la famiglia unset_*() per costruire una griglia di sola lettura o in stile chiosco.

Cosmetico, non sicurezza

Ogni metodo unset_*() nasconde esattamente un'affordance dell'interfaccia esistente - è puramente cosmetico. L'endpoint REST sottostante NON viene disabilitato lato server; un visitatore potrebbe comunque inviare POST/PUT/DELETE direttamente contro ajax_crud.php con gli stessi permessi di prima. Usa ->pass_var()/->where() oppure un vero livello di autenticazione se hai bisogno di una restrizione effettivamente imposta. Vedi Sicurezza: Blacklisting di Tabelle e Colonne per il vero confine di sicurezza.

La famiglia unset_*()

MetodoNasconde
unset_add()Il pulsante Add della barra degli strumenti.
unset_edit()Il pulsante Edit per riga E la modifica in linea delle celle con click - entrambi sono "modifica", quindi un unico interruttore disattiva entrambi.
unset_remove()Il pulsante Remove/Delete per riga.
unset_search()Il campo di ricerca semplice, gli interruttori Colonne/Avanzata, il pannello dei filtri avanzati, il riepilogo a chip della ricerca attiva, e il campo di ricerca per colonna nell'intestazione di ogni colonna - l'intero sottosistema di ricerca come un'unica unità.
unset_title()L'intestazione <h1> di pagina che ->page() renderizza sopra il widget. Nessun effetto su ->render() (la modalità embed non ha mai avuto un'intestazione) o sul <title> della scheda del browser.
unset_pagination()L'intera barra di paginazione (pulsanti dei numeri di pagina, "Showing X to Y of Z" e il menu a tendina delle righe per pagina). La griglia continua comunque a recuperare solo il contenuto di una pagina alla volta - semplicemente non c'è interfaccia per spostarsi tra le pagine.
unset_limitlist()Solo il menu a tendina delle righe per pagina, mantenendo il resto della barra di paginazione. Nessun effetto visibile se unset_pagination() nasconde già l'intera barra.
unset_all()Tutti gli interruttori sopra contemporaneamente - Add/Edit/Remove, ricerca, titolo e paginazione (barra + righe per pagina). Il raggruppamento e ->bulk_actions() NON ne fanno parte, dato che entrambi sono funzionalità opt-in con una propria chiamata.

Esempio: una griglia chiosco di sola lettura

Ciò che resta dopo ->unset_all() è una griglia di visualizzazione di sola lettura, dall'aspetto non paginato: i dati, le intestazioni di colonna ordinabili, e (se configurati separatamente) il raggruppamento/le azioni di massa:

$xcrud = Xcrud::get_instance();
$xcrud->table('payments');
$xcrud->route('readonly-grid');
$xcrud->title('Read-Only / Locked-Down Grid');
$xcrud->columns('customerNumber,checkNumber,paymentDate,amount');
$xcrud->label('customerNumber', 'Customer #');
$xcrud->label('checkNumber', 'Check No.');
$xcrud->order_by('paymentDate', 'desc');
$xcrud->unset_all();

Il risultato: nessun Add/Edit/Remove, nessuna ricerca, nessun controllo di paginazione, nessuna propria barra del titolo - ma le colonne restano ordinabili e i dati sono comunque completamente sfogliabili, semplicemente non modificabili.