.. _widgetpedia/elements/datastore_elements/controllers/dataController: dataController ============== Un dataController è un pezzo di business logic della pagina o della form, scritta come espressione javascript. Un dataController può essere innescato: - da un evento al quale il dataController è sottoscritto con un parametro ``subscribe`` - se ha almeno un parametro dinamico prefissato da ``^`` e tale valore viene modificato. :: pane.dataController('console.log("Hello "+ name)', name='^data.name') pane.dataController('console.log("Hello "+ name)', subscribe_name=True Per un dettaglio sulle modalità applicative e sul funzionamento del dataController si rimanda alla sezione dedicata nel `corso Genropy Base `_ .. raw:: html
**Parametri:** +------------------------+------+--------------------------------------------------+ | Nome parametro | Tipo | Descrizione | +========================+======+==================================================+ |script |T |A piece of javascript that does something | +------------------------+------+--------------------------------------------------+ | *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 | +------------------------+------+--------------------------------------------------+