patternfly / patternfly/react-data-view

Initial Filters is not respected when array type filter

Offen Anfängerfreundlich
#671 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
TypeScript
Sterne
4
Forks
21
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

When the user supplies an array type filter with initialFilters, the initialFilters are never used. The filter logic has the following code:

	  const urlValue = isArrayFilter ? searchParams?.getAll(key) : searchParams?.get(key);

      // eslint-disable-next-line no-nested-ternary
      loadedFilters[key] = urlValue
        ? (isArrayFilter && !Array.isArray(urlValue) ? [ urlValue ] : urlValue)
        : initialFilters[key];

The issue is that searchParams.getAll returns an empty array when key doesn't exist, so the truthy check on urlValue evaluates to true even though nothing is set.

This can be resolved by checking the length of the array when isArrayFilter is true


Jira Issue: PF-4302

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit der im Issue gezeigten Filterlogik und verfolgen Sie, wie Array-Filter und initialFilters geladen werden, wenn der URL-Schlüssel fehlt. Reproduzieren Sie den Fall mit einem Filter vom Typ Array und verifizieren Sie, dass die konfigurierten Anfangswerte beibehalten werden, wenn keine URL-Werte vorhanden sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
frontend
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Ruhig
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
68/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.