Le filtre résolu ne met pas à jour le statut dans le menu déroulant

Cela s’est déjà produit il y a quelque temps et avait été corrigé, donc je suppose que c’est une régression. Le filtre déroulant pour le statut Résolu fonctionne (les listes sont filtrées), mais le menu déroulant ne se met pas à jour avec le statut du filtre actuel. Il reste toujours sur « tous ».

Ceci concerne la dernière version stable de Discourse.

Un autre problème que j’ai rencontré est que je peux restreindre l’utilisation de Résolu aux tags. Mais le filtre ne s’affiche pas sur les listes de tags. Il ne s’affiche que sur les listes de catégories où Résolu est activé, ou lorsqu’il est activé sur tous les sujets.

Edit : J’utilise également le filtre dans le composant de thème Featured Lists. Cela fonctionnait :

    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,
      },

mais le filtre a cessé de fonctionner sur le composant. Je ne vois cependant aucune erreur.

1 « J'aime »

Je ne sais pas pourquoi et si c’est un changement dans le cœur, mais un débogage rapide ici

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

montre que modelParams n’existe pas si vous n’êtes pas sur une page de catégorie.

Il est défini ici :

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

Plusieurs alternatives fonctionnent sur la page d’accueil et la route de catégorie :

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

Je ne vois aucun changement récent dans le cœur. :thinking:

D’après ce que je vois, modelParams est utilisé depuis cette PR :

1 « J'aime »

Merci d’avoir examiné cela @Arkshine ! En ce qui concerne mon composant, je l’ai publié il y a seulement deux mois et je suis à peu près sûr que cela fonctionnait alors :thinking:

Salut @manuel ! Merci pour le rapport. Je n’ai pas vraiment pu reproduire le problème principal que tu avais avec le filtre de statut qui ne se mettait pas à jour, mais j’ai basculé sur this.router.currentRoute.queryParams?.solved pour vérifier le statut, ce qui pourrait mieux fonctionner.

Étant donné que les tags ne sont pas liés aux catégories, l’affichage du filtre dans chaque tag n’est pas toujours pertinent, mais je l’ai ajouté ici de toute façon.

Concernant ton composant de thème, tu devrais vérifier yes / no au lieu de solved / unsolved lors du filtrage pour solved. J’ai ouvert une PR avec la modification proposée.

3 « J'aime »

Ce sujet a été automatiquement fermé après 3 jours. Les nouvelles réponses ne sont plus autorisées.