dataRpc¶
dataRpc è una chiamata ad un metodo server innescata da un evento sulla pagina, lato client. Oltre al path
dove salvare il risultato della chiamata e al callable method da chiamare, la dataRpc riceve una serie di kwargs, considerati tutti parametri inviati alla rpc a meno che non siano preceduti da un underscore.
Il metodo rpc deve essere un callable python definito come metodo server, preceduto per motivi di sicurezza dal decoratore @public_method
.
La somma di due numeri attivata dai suoi:
Vediamo un altro esempio, analogo al precedente ma con:
Suggerimento
Da una recente release di luglio 2021 il primo parametro (path) è diventato facoltativo, ed è quindi possibile ometterlo passando direttamente come primo parametro il method
. È inoltre possibile collegare direttamente la dataRpc a un button o menuline. L’innesco avverrà automaticamente al clic sul bottone o linea di menu, senza quindi la necessità di utilizzare il meccanismo publish/subscribe o l’attributo fired_
.
Per un dettaglio sulle modalità applicative e sul funzionamento del dataRpc si rimanda alla sezione dedicata nel Corso Genropy Base
Parametri:
Nome parametro |
Tipo |
Descrizione |
---|---|---|
path |
T |
Il path in cui verrà salvato il risultato della rpc (es: “.result”). |
method |
T |
Il metodo python «callable» chiamato dalla rpc. Per motivi di sicurezza deve essere utilizzato il decoratore @public_method |
_onResult |
T |
Javascript callback eseguita una volta ottenuto un risultato dall’rpc |
_onCalling |
T |
Javascript callback eseguita prima di ottenere il risultato dall’rpc |
_lockScreen |
B |
Se impostato a True la schermata si blocca durante l’esecuzione dell’rpc, rendendo impossibile modificare gli altri elementi |
_fired |
T |
Parametro fittizio, popolato se l’rpc viene eseguita (es. _fired=”^.result”) |
_timing |
L |
Tempo in secondi tra un’esecuzione e la successiva (es: _timing=5) |
Html Parametri |
||
_class |
T |
Permette di assegnare una specifica classe CSS al widget |
height |
T |
Permette di assegnare un’altezza al widget |
width |
T |
Permette di assegnare una larghezza al widget |
border |
T |
Permette di assegnare un bordo al widget |
rounded |
L |
Permette di assegnare un arrotondamento al widget |
style |
T |
Permette di assegnare uno stile (da esprimersi come serie di attributi CSS) al widget |
background |
T |
Permette di assegnare uno sfondo al widget |
Controllers Parametri |
||
_delay |
T |
Il ritardo (in ms) tra l’evento trigger e l’esecuzione del controller |
_onStart |
B |
Se impostato a True, il controller verrà lanciato al caricamento della pagina. Può anche contenere un valore numerico (es: _onStart=500), in quel caso verrà impostato un ritardo (in ms) prima di avviare la chiamata. |
subscribe_ |
T |
|
_ask |
T |
Permette di identificare in un dizionario i parametri da richiedere all’utente alla pressione del bottone, che verranno poi utilizzati nell’azione (es. _ask=dict(title=”Test”,fields=[di ct(name=”msg”,lbl=”Message”)])) |
_if |
T |
Espressione javascript che permette di condizionare l’avvio del controller alla presenza di un valore (es: _if=”value”) |
_else |
T |
Frammento di codice javascript che completa _if, indicando un altro comportamento da seguire qualora _if fosse falsa |
_userChanges |
T |
Se impostato a «True» fa scattare il controller solo in caso di modifiche al record |