controllers

I controller sono elementi dinamici di business logic a eventi che si attivano e vengono eseguiti a fronte di:

  • alcuni cambiamenti sul datastore se hanno parametri contenenti un triggering_path ovvero un path prefissato da ^

  • eventi propagati da una publish (genro.publish()) se il controller ha il corrispondente parametro subscribe_

Vediamo prima un esempio con:

Vediamo adesso la stessa cosa con:

Suggerimento

Da una recente release di luglio 2021 è diventato possibile collegare direttamente qualsiasi controller 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_.


Parametri:

Nome parametro

Tipo

Descrizione

_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