Param dropdown per group_id nella query di Data Explorer

Mi piacerebbe poter specificare qualcosa del genere:

-- [params]
-- groups.id :group_id

per ottenere un input di parametri che sia un menu a discesa di gruppi. Ho chiamato il valore group_id qui perché presumo che sia ciò che un menu a discesa del genere mi darebbe.

4 Mi Piace

Penso che anche questo sarebbe davvero utile. :+1: Qualcosa come il parametro selezionabile user_id esistente ma per i gruppi. Ancora meglio se potesse accettare valori multipli. :slight_smile:

4 Mi Piace

Aspetta, cosa?

Puoi indicarmi dove mostra come usarlo?

1 Mi Piace

Puoi usare qualcosa come:

-- [params]
-- user_id :user

SELECT *
FROM posts
WHERE user_id =:user
LIMIT 5

E questo farà apparire un menu a tendina dove potrai completare automaticamente un utente. :+1:

Tuttavia, ho appena notato che la prima volta che lo esegui al momento genera un errore e non fa apparire la casella dei parametri, ma lo fa se aggiorni la pagina. Vedrò se riesco a far controllare la cosa da qualcuno. :slight_smile:

4 Mi Piace

Chiedi (e attendi) e riceverai… abbiamo appena aggiunto il supporto per un parametro :group_list in questa PR.

Ecco un esempio della funzionalità in uso:

-- [params]
-- group_list :groups

SELECT g.id,g.name
FROM groups g
WHERE g.name IN (:groups)
ORDER BY g.name ASC

Ciò dovrebbe darti quanto segue nell’interfaccia utente:

8 Mi Piace

Questo sembra fantastico. :star_struck: Non vedo l’ora di metterlo in pratica. :rocket:

3 Mi Piace

Il mio argomento è stato chiuso prima che potessi rispondere…

C’è un modo per limitare il nuovo tipo di parametro -- group_list a un singolo gruppo? L’ho inserito nei nostri report esistenti, ma sono tutti scritti aspettandosi un singolo nome di gruppo e nei test mi sono trovato a sbagliare abbastanza frequentemente.

L’ho riaperto e l’ho fatto scivolare sopra. :+1:

Però non sono sicuro di cosa intendi? Puoi fare un esempio di quale sia il problema?

1 Mi Piace

Intendo che eseguo la query per il mio primo gruppo. Poi, quando voglio cambiare gruppo, aggiungo invece un gruppo → errore

1 Mi Piace

Oooh. Questo è interessante. L’ho usato più come:\n\n\nsql\n\nWHERE g.name IN (:groups)\n\n\n\n\n\n[details=“Nascondere un po’ di Jammy Stupid”]\n\n\nsql\n\nWHERE g.id IN (:groups)\n\n\n\n[/details]\n\n\nAnche se questo ti permetterebbe comunque di inserirne accidentalmente più di uno, anche se eviteresti l’errore. :thinking:

Preferirei avere l’errore piuttosto che una selezione casuale dalla lista :slight_smile:

1 Mi Piace

Ad essere sincero, ho appena controllato e penso di aver sognato di usarlo per group_ids dato che non gli piace affatto. Lo cancellerò dagli atti. :slight_smile: Non ho idea da dove mi sia venuta quell’idea. Avrei potuto giurare di averlo usato l’altro giorno. :derp:

1 Mi Piace

Tra l’altro, ho completamente dimenticato di dire:

Questo è favoloso!!! :confetti_ball: Grazie!!! :tada:

3 Mi Piace

No, non c’è modo di limitarlo a un singolo gruppo. Almeno per quanto ne so.

Il parametro da group_list sarà un array se ci sono più di 1 elemento selezionato e una stringa se è selezionato solo 1 elemento.

Quindi, quando c’è un solo elemento, puoi farlo:

-- [params]
-- group_list :groups

SELECT g.id,g.name
FROM groups g
WHERE g.name = :groups
ORDER BY g.name ASC

Ma poiché è un array, questo di seguito funzionerà sia per un singolo elemento che per più elementi:

-- [params]
-- group_list :groups

SELECT g.id,g.name
FROM groups g
WHERE g.name IN (:groups)
ORDER BY g.name ASC

Ma non c’è modo di dire all’interfaccia utente “accetta solo 1 elemento come selezione”.

1 Mi Piace

La documentazione di @saradev qui Utilizing Parameters in Data Explorer Queries evidenzia l’elenco completo dei parametri per Data Explorer che a volte hanno un menu a discesa e a volte no. (Elenco parametri su Github)

Ecco una tabella dei parametri, che indica anche se è disponibile un controllo specifico per essi.

parametro menu a discesa disponibile
int :white_check_mark:
bigint :white_check_mark:
boolean :white_check_mark:
null boolean :white_check_mark:
string :white_check_mark:
date
time
datetime
double :white_check_mark:
user_id :white_check_mark:
post_id
topic_id
string_list
category_id
group_id
int_list
string_list
user_list :white_check_mark:
group_list :white_check_mark:

Idealmente, i menu a discesa utilizzati e mostrati in Data Explorer dovrebbero avere un aspetto simile a quello dell’app principale. Vediamo come possiamo fare.

6 Mi Piace

Abbiamo recentemente ridisegnato l’intera casella di input dei parametri. La maggior parte dei tipi ha i propri menu a discesa e ora supporta la convalida con messaggi di errore semantici. :chefs_kiss:


Ecco l’ultima tabella dei parametri che indica se è presente un controllo specifico per esso.

parametro menu a discesa disponibile
int :white_check_mark:
bigint :white_check_mark:
boolean :white_check_mark:
null boolean :white_check_mark:
string :white_check_mark:
date :white_check_mark:
time :white_check_mark:
datetime :white_check_mark:
double :white_check_mark:
user_id :white_check_mark:
post_id
topic_id
category_id :white_check_mark:
group_id :white_check_mark:
int_list
string_list
user_list :white_check_mark:
group_list :white_check_mark:

@ganncamp Potresti voler sapere di questo cambiamento :wink:

9 Mi Piace

Puoi spiegare come funzionano questi menu a discesa? Per il mio bene non sono riuscito a ottenere un menu a discesa in cui possa definire un elenco di stringhe disponibili in quel menu a discesa.

1 Mi Piace

@jordan-violet una risposta tardiva, ma @SaraDev ha scritto qui sui parametri disponibili e l’OP è stato aggiornato da Linca:

2 Mi Piace