El filtro resuelto no actualiza el estado en el menú desplegable

Esto ocurrió hace tiempo y ya se había solucionado, así que supongo que es una regresión. El filtro desplegable para el estado Resuelto funciona (las listas se filtran), pero el desplegable no se actualiza al estado de filtro actual. Siempre permanece en “todos”.

Esto es en la última versión estable de Discourse.

Otro problema que encontré es que puedo restringir el uso de Resuelto a etiquetas. Pero el filtro no se mostrará en las listas de etiquetas. Solo se muestra en las listas de categorías donde Resuelto está habilitado, o cuando está habilitado en todos los temas.

Editar: También uso el filtro en el componente temático Listas Destacadas. Esto funcionó:

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

pero el filtro dejó de funcionar en el componente. No veo errores, sin embargo.

1 me gusta

No sé por qué y si es un cambio en el núcleo, pero una depuración rápida aquí

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

muestra que modelParams no existe si no estás en una página de categoría.

Se define aquí:

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

Varias alternativas funcionan en la página de inicio y en la ruta de categoría:

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

No veo ningún cambio reciente en el núcleo. :thinking:

Por lo que veo, modelParams se ha utilizado desde este PR:

1 me gusta

¡Gracias por investigar esto @Arkshine! Con respecto a mi componente, lo publiqué hace solo dos meses y estoy bastante seguro de que esto estaba funcionando entonces :thinking:

¡Hola @manuel! Gracias por el informe. Realmente no pude reproducir el problema principal que tenías con el filtro de estado que no se actualizaba, pero cambié a this.router.currentRoute.queryParams?.solved para verificar el estado, lo que podría funcionar mejor.

Dado que las etiquetas no están vinculadas a las categorías, mostrar el filtro en cada etiqueta no siempre es relevante, pero lo agregué aquí de todos modos.

Sobre tu componente de tema, deberías buscar yes / no en lugar de solved / unsolved al filtrar por solved. Acabo de abrir una PR con el cambio propuesto.

3 Me gusta

Este tema se cerró automáticamente después de 3 días. Ya no se permiten nuevas respuestas.