Gelöster Filter aktualisiert Status im Dropdown nicht

Dies ist bereits vor einiger Zeit aufgetreten und wurde behoben, daher ist es wohl eine Regression. Der Dropdown-Filter für den Status “Gelöst” funktioniert (die Listen werden gefiltert), aber das Dropdown aktualisiert sich nicht auf den aktuellen Filterstatus. Es bleibt immer auf “alle” stehen.

Dies gilt für die neueste stabile Version von Discourse.

Ein weiteres Problem, auf das ich gestoßen bin, ist, dass ich die Verwendung von “Gelöst” auf Tags beschränken kann. Der Filter wird jedoch nicht in den Tag-Listen angezeigt. Er wird nur in Kategorie-Listen angezeigt, in denen “Gelöst” aktiviert ist, oder wenn es für alle Themen aktiviert ist.

Bearbeiten: Ich verwende den Filter auch in der Theme-Komponente Featured Lists. Dies funktionierte:

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

aber der Filter funktionierte in der Komponente nicht mehr. Ich sehe jedoch keine Fehler.

1 „Gefällt mir“

Ich weiß nicht warum und ob es eine Änderung im Kern gibt, aber ein schnelles Debugging hier

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

zeigt, dass modelParams nicht existiert, wenn man sich nicht auf einer Kategorie-Seite befindet.

Es ist hier definiert:

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

Mehrere Alternativen funktionieren auf der Homepage und der Kategorie-Route:

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

Ich sehe keine neueren Änderungen im Kern. :thinking:

Soweit ich sehen kann, wird modelParams seit diesem PR verwendet:

1 „Gefällt mir“

Danke, dass Sie sich darum gekümmert haben, @Arkshine! Was meine Komponente betrifft, so habe ich sie erst vor zwei Monaten veröffentlicht und bin mir ziemlich sicher, dass sie damals funktioniert hat :thinking:

Hallo @manuel! Danke für den Bericht. Ich konnte das Hauptproblem, das Sie mit dem nicht aktualisierten Statusfilter hatten, nicht wirklich reproduzieren, aber ich bin zu this.router.currentRoute.queryParams?.solved gewechselt, um den Status zu überprüfen, was besser funktionieren könnte.

Da Tags nicht mit Kategorien verknüpft sind, ist die Anzeige des Filters bei jedem Tag nicht immer relevant, aber ich habe ihn trotzdem hinzugefügt.

Bezüglich Ihrer Theme-Komponente sollten Sie bei der Filterung nach solved nach yes / no anstelle von solved / unsolved suchen. Ich habe gerade einen PR mit der vorgeschlagenen Änderung eröffnet.

3 „Gefällt mir“

Dieses Thema wurde nach 3 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.