remoteSelect

La remoteSelect è una variante della dbSelect che non si collega però al database della nostra istanza per leggere dei valori, bensì a un metodo, che utilizzeremo poi per fare le dovute chiamate al database remoto.

La remoteSelect può essere per esempio utilizzata per connettersi a un service esterno e recuperare delle informazioni da visualizzare. Supponiamo per esempio di volerci collegare a un database cinematografico e reperire alcuni dati di un film. Dalla tendina accederemo direttamente a quel database, ma esattamente come se fossimo in una dbSelect di Genropy:

Nell’esempio abbiamo un formbuilder con una remoteSelect, dove specifichiamo un method, ovvero il metodo che vogliamo utilizzare, e che andremo poi a definire subito sotto, infine con auxColumns faremo visualizzare non solo la colonna di default con l’id del film, ma anche una colonna con il titolo e con l’anno, questo al fine di facilitare la selezione da parte dell’utente.

Si noti che il metodo riceve dalla nostra remoteSelect una _querystring, che sarebbero i caratteri digitati dall’utente. La remoteSelect si aspetta come risultato una tupla composta da una Bag dei valori compatibili con la querystring e un dizionario con le colonne che abbiamo indicato come auxColumns.


Parametri:

Nome parametro

Tipo

Descrizione

hasDownArrow

B

True or False, permette di indicare se il campo mostrerà o meno una tendina

selected_

T

It’s a prefix for kwargs. The parameter value is the datapath you want the column’s value copied into. i.e. selected_firstname=»myfriend.firstname»

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

Validations Parametri

validate_empty

T

Restituisce un errore se il valore è nullo o è una stringa vuota

validate_notnull

B

Restituisce un errore se il campo è vuoto

validate_call

T

Restituisce un errore js

validate_regex

T

Restituisce un errore se il campo corrisponde esattamente a quanto indicato

validate_remote

T

Metodo RPC che effettua la validazione del valore inserito

Common Parametri

value

T

Permette di inserire un valore, in termini assoluti (es. value=”Pippo”) o posizionali (es. value=”^.name”). Nel primo caso verrà assegnato il valore “Pippo”, nel secondo verrà assegnato a “name” il valore che inseriremo nell’inputfield.

lbl

T

Permette di inserire un’etichetta per il campo. Per div, caselle e aree di testo la «lbl» verrà visualizzata prima del campo, per le checkbox invece verrà mostrata dopo.

lbl_

T

Permette di assegnare attributi alla lbl (es: «lbl_class»)

default

T

Valore di default se non modificato

placeholder

T

Testo di anteprima (non rappresenta un valore inserito ma solo un suggerimento)

disabled

B

Permette di disabilitare il campo. Es: disabled=True

tabindex

L

In un formbuilder con una serie di campi, permette di dare un ordinamento personalizzato nella compilazione nel passaggio da un campo a un altro con il tabulatore (es: tabindex=4)

_autoselect

B

Se impostato a True, alla selezione del campo il contenuto del campo sarà automaticamente selezionato

dbSelect Parametri

emptyLabel

T

Permette di personalizzare la label della riga vuota (es: emptyLabel=”Nuovo record”)

emptyLabel_

T

Permette di aggiungere dei parametri personalizzati alla emptyLabel (es: emptyLabel_first=True per posizionare la emptyLabel all’inizio, e emptyLabel_class per assegnare una classe css particolare)

alternatePkey

T

Permette di indicare una colonna della tabella da salvare al path indicato in alternativa alla pkey (es: alternatePkey=”code”)

zoom

B

Di default True, se impostato a False viene disabilitata la freccina accanto alla label che permette di aprire in modalità dialog il TableHandler della tabella a cui si riferisce il widget

rowcaption

T

Overrides table’s rowcaption. It’s a table’s column or columns that represents the rowinstead of record’s pkey. i.e. fullname instead of id.

selectedCb

T

A javascript callback function called when a record is selected with dbselect. The callback receives an item containing the selected record with all columns added in column, auxcolumns and hiddencolumns.

Query Parametri

dbtable

T

(deprecato, sostituito da «table»)

table

T

Indica la tabella da cui reperire i dati, nella forma «package.table»

columns

T

Le colonne su cui effettuare la query

auxColumns

T

Per personalizzare l’anteprima dei risultati della query, è possibile mostrare subito altre colonne da visualizzare

condition

T

È possibile personalizzare la query con una «condition» equivalente a una WHERE in SQL

condition_

T

Permette di passare i parametri alla condition

weakCondition

B

If there are no results applying the condition parameter, the condition is relaxed.

hiddencolumns

T

Per personalizzare l’anteprima dei risultati della query, è possibile nascondere subito alcune colonne

limit

L

Per personalizzare l’anteprima dei risultati della query, è possibile indicare un numero massimo di risultati (di default: 10)

order_by

T

Corresponding to the sql «ORDER BY» operator

remoteSelect Parametri

method

T

Permette di indicare il metodo da utilizzare per la ricerca dei dati. Il metodo deve restituire una tupla contenente la Bag dei risultati e un dizionario delle colonne

Autore della sezione: Davide Paci