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