Overview
Callbacks + Events
Hook applicativi, callback lifecycle ed eventi custom tra componenti.
Screenshot reference (manuale utente)
manual__callback__01.png: configurazione callback/eventi nel metadata editor.
Metadati tabella (lifecycle callback)
Descrizione:
questi metadati orchestrano gli hook principali del ciclo dati della route.
md_before_save: callback eseguita prima della sync (insert/update/delete), utile per validazioni e trasformazioni payload.md_after_save: callback post-sync, utile per notifiche UI, refresh dipendenti, side effects.md_after_load: callback dopo il caricamento dati, utile per inizializzazioni runtime e post-processing record.md_conditional_update_rule: regola condizionale che abilita/blocca update sul record corrente.md_conditional_delete_rule: regola condizionale che abilita/blocca delete sul record corrente.
Snippet (esempio tabella):
md_after_load = "utility.onAfterLoad"md_before_save = "utility.beforeSaveGuard"md_after_save = "utility.afterSaveNotify"md_conditional_update_rule = "record.status !== 'LOCKED'"md_conditional_delete_rule = "record.canDelete === true"
Metadati colonna (eventi field-level)
Descrizione:
questi metadati gestiscono comportamento reattivo e validazione puntuale sui singoli campi.
mc_selection_changing_custom_function: hook prima del cambio valore (pre-change).mc_selection_changed_custom_function: hook dopo il cambio valore (post-change).mc_default_value_callback: calcolo valore di default dinamico.mc_suggest_value_callback: callback per suggerimento/auto-popolamento valore.mc_validation_custom_callback: validazione custom business sul campo.mc_logic_converter_read_callback: conversione valore in lettura (rendering/model mapping).mc_logic_converter_write_callback: conversione valore in scrittura (prima del save).mc_value_change_trigger_event: evento UI che scatena il cambio valore (keyup,change, ecc.).
Snippet (esempio colonna):
mc_default_value_callback = "utility.defaultProvince"mc_selection_changing_custom_function = "utility.beforeProvinceChange"mc_selection_changed_custom_function = "utility.afterProvinceChange"mc_validation_custom_callback = "utility.validateProvince"mc_value_change_trigger_event = "change"
Flusso tipico eventi
1. Caricamento record: md_after_load.
2. Interazioni utente sui campi: mc_selection_changing_custom_function -> mc_selection_changed_custom_function.
3. Salvataggio: md_before_save.
4. Persistenza completata: md_after_save.
Note operative
- Mantenere callback idempotenti e con gestione errori esplicita.
- Evitare logica pesante nei callback di campo ad alta frequenza (
keyup). - Usare callback tabella per orchestrazione generale e callback colonna per logica puntuale.
Risultato:
- comportamento prevedibile tra load/edit/save;
- separazione chiara tra regole globali (tabella) e regole locali (colonna).
Screenshot
