Il filtro risolto non aggiorna lo stato nel menu a tendina

Questo è successo già un po’ di tempo fa ed era stato risolto, quindi immagino sia una regressione. Il filtro a discesa per lo stato Risolto funziona (gli elenchi vengono filtrati), ma il filtro a discesa non si aggiorna allo stato del filtro corrente. Rimane sempre su “tutti”.

Questo è sull’ultima versione stabile di Discourse.

Un altro problema che ho riscontrato è che posso limitare l’uso di Risolto ai tag. Ma il filtro non viene visualizzato negli elenchi di tag. Viene visualizzato solo negli elenchi di categorie in cui Risolto è abilitato, o quando è abilitato su tutti gli argomenti.

Modifica: utilizzo anche il filtro nel componente tematico Featured Lists. Questo ha funzionato:

    const topicList = await this.store.findFiltered('topicList', {
      filter: this.args.list.filter,
      params: {
        order: 'activity',
        category: this.args.list.category,
        tags: this.args.list.tag,
        solved: this.args.list.solved,
      },

ma il filtro ha smesso di funzionare sul componente. Non vedo errori, però.

1 Mi Piace

Non so perché e se si tratta di una modifica nel core, ma un rapido debug qui

https://github.com/discourse/discourse-solved/blob/main/assets/javascripts/discourse/connectors/bread-crumbs-right/solved-status-filter.js#L47-L51

mostra che modelParams non esiste se non sei su una pagina di categoria.

È definito qui:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/routes/build-category-route.js#L71

Diverse alternative funzionano sulla homepage e sulla route di categoria:

.queryParams.solved
.attributes.list.params.solved
.attributes.list.listParams.solved

Non vedo modifiche recenti nel core. :thinking:

Da quello che vedo, modelParams è stato utilizzato da questo PR:

1 Mi Piace

Grazie per aver indagato, @Arkshine! Per quanto riguarda il mio componente, l’ho pubblicato solo due mesi fa e sono abbastanza sicuro che funzionasse allora :thinking:

Ciao @manuel! Grazie per la segnalazione. Non sono riuscito a riprodurre il problema principale che stavi riscontrando con il filtro di stato che non si aggiornava, ma sono passato a this.router.currentRoute.queryParams?.solved per controllare lo stato, il che potrebbe funzionare meglio.

Poiché i tag non sono collegati alle categorie, mostrare il filtro in ogni tag non è sempre rilevante, ma l’ho aggiunto comunque.

Per quanto riguarda il tuo componente tema, dovresti controllare yes / no invece di solved / unsolved quando filtri per solved. Ho appena aperto una PR con la modifica proposta.

3 Mi Piace

Questo argomento è stato chiuso automaticamente dopo 3 giorni. Non sono più consentite nuove risposte.