Form di filtro: filtrare i dati del livello in base ai valori del campi
Regola
Questo strumento visualizza un form nel pannello di sinistra, basato su alcuni campi, e permette agli utenti di cercare tra i dati del livello con una varietà di input del form: caselle combinate, caselle di controllo, input di testo con autocompletamento, selettore di date con cursori tra la data minima e massima, ecc.
Avvertimento
Funziona solo con livelli database: PostgreSQL ( raccomandato), Spatialite e GeoPackage.
Utilizzando le istruzioni SQL, Lizmap interrogherà i dati da recuperare:
il numero totale di caratteristiche per il filtro corrente
i valori unici di alcuni campi (per il tipo Valori Univoci per esempio)
il minimo e il massimo dei campi numerici o dei campi data
l’estensione dei dati per il filtro corrente
Esempio
Potete vedere un video con un esempio: https://vimeo.com/331395259
Prerequisiti
Il livello deve essere pubblicato come WFS (vedi WFS/OAPI) e la chiave primaria deve essere pubblicata anche nelle Proprietà del livello.
Configurazione del plugin
C’è una nuova scheda nel plugin Lizmap che permette di configurare gli input dei filtri in base ai campi dei livelli. È possibile aggiungere uno o più campi per uno o più livelli. Se si aggiungono campi da 2 o più livelli diversi, Lizmap Web Client mostrerà una casella combinata per permettere all’utente di scegliere il livello da filtrare. Selezionando un livello si aggiorna il modulo e si disattiva il filtro corrente.
Hai bisogno di aggiungere una riga nella tabella dei plugin per ogni campo che hai bisogno di aggiungere nel modulo del filtro. Per ogni campo, è necessario configurare alcune opzioni:
Fai clic sul pulsante .
Livello: il livello sorgente.
Title: il titolo da dare all’input, che sarà visualizzato sopra l’input del modulo. Per esempio « Scegliere una categoria» per un campo di livello chiamato «categoria».
Type: il tipo di input del modulo, tra uno dei seguenti: Text, Unique Values, Date, Numeric.
Field: il nome del campo (nella tabella del database). Solo per i tipi Text, Unique Values e Numeric.
Min date: il campo che contiene la data d’inizio del tuo oggetto (es: «start_date» di un evento). Questo è necessario solo per il tipo Date. Se hai solo un campo data nei tuoi dati, dovresti selezionarlo nel campo Min Date.
Max date: il campo che contiene la data finale dei vostri dati. Se hai 2 campi contenenti date, uno per la data iniziale e un altro per la data finale, puoi differenziarli. Altrimenti, devi usare lo stesso nome di campo per Min date e Max date.
Format: il formato del solo tipo Valori Univoci. Può essere select, che mostrerà una casella combinata, o checkboxes che mostrerà una casella di controllo per ogni valore distinto. I valori distinti sono interrogati dinamicamente da Lizmap Web Client.
Splitter: solo per il tipo Valori univoci. Usalo se vuoi dividere i valori del campo con un separatore. Es:
cultura, ambiente
può essere diviso incultura
eambiente
con lo splitter `, `.
Per modificare un livello nella tabella, selezionalo e clicca sul pulsante o fai doppio clic sulla riga.
Per rimuovere un livello dalla tabella, selezionalo e clicca sul pulsante .
Per spostare un livello in alto o in basso, selezionatelo e cliccate sui pulsanti o . L’ordine cambierà anche in Lizmap.
Descrizione dei diversi tipi di input del modulo
Text
Questo è il tipo più semplice. Con questo tipo di input, l’utente vedrà un classico input di testo. Si può digitare qualsiasi testo e poi convalidare. L’autocompletamento è abilitato in modo predefinito, il che significa che Lizmap recupererà i valori unici per questo campo. Questa potrebbe essere un’opzione in futuro se alcuni set di dati sono troppo grandi e questa funzione di autocompletamento è troppo pesante.
Il filtro costruito sarà così:
"field" LIKE '%foo%'
Data
Questo tipo di input mostrerà un cursore con 2 bottoncini per permettere la ricerca tra i due valori selezionati. Anche i due input di testo sono mostrati e possono essere utilizzati per impostare manualmente le date minime e massime.
La data è «troncata» ad una data (nessun dato temporale come ore, minuti o secondi).
Il passo del cursore è hard coded ed è uguale a 86400 secondi, che significa 1 giorno.
Il filtro costruito sarà così:
( ( "field_date" >= '2017-04-23' OR "field_date" >= '2017-04-23' ) AND ( "field_date" <= '2018-06-24' OR "field_date" <= '2018-06-24' ) )
Numerico
Questo tipo di input mostrerà un cursore con 2 bottoncini per consentire la ricerca tra i due valori selezionati. Vengono mostrati anche due input di testo che possono essere utilizzati per impostare manualmente i valori minimi e massimi.
Il filtro costruito sarà così:
( ( "field" >= 100 ) AND ( "field_date" <= 200 ) )
Valori unici
Lizmap interrogherà i dati per ottenere i valori distinti del campo. Puoi scegliere due tipi di input diversi: select o checkboxes.
Se avete specificato uno splitter testuale, per esempio `, `, Lizmap troverà i valori unici dei valori testuali separati. Per esempio il valore di una caratteristica cultura, ambiente
sarà diviso in cultura
e ambiente
con lo splitter `, `. Selezionando cultura
o ambiente
nell’input del modulo verrà mostrata questa caratteristica.
Si può scegliere di mostrare due diversi tipi di input:
Combo box: questo tipo mostrerà una casella combinata con la lista di valori distinti per il campo. L’utente potrà scegliere un solo elemento tra i valori.
Checkboxes: questo tipo mostrerà tante comboboxes quanti sono i valori distinti per il campo. I dati saranno filtrati con una
UNION
tra le voci selezionate.
Il filtro costruito sarà così:
( "field_thematique" LIKE '%Cuisine%' OR "field_thematique" LIKE '%Ecocitoyen%' )