Convert the Search filter in a generic text filter

Created on 10 February 2025, 2 months ago

Problem/Motivation

We've done a ton of cleanup in the Svelte code recently, largely aimed at making the filters generic so that source plugins can dictate which ones appear and what their meanings are. We created two new front-end components with back-end counterparts: <MultipleChoiceFilter> (used for the categories) and <BooleanFilter> (used for development/maintenance/security coverage status). They are relatively unified in the front-end and are treated generically.

That leaves only one special-cased filter: the search. It's still totally bespoke, but we have everything we need to make it generic.

Proposed resolution

Create a new TextFilter class on the backend to represent text-match filters, and then create a corresponding <TextFilter> component on the frontend to handle user interactions. Essentially, the current UI behaviors of the Search box should be moved into this component.

This shouldn't need any additional test coverage; all existing tests should pass without modification.

โœจ Feature request
Status

Active

Version

2.0

Component

Code

Created by

๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @phenaproxima
  • Pipeline finished with Failed
    2 months ago
    Total: 585s
    #420243
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts
  • Pipeline finished with Failed
    2 months ago
    Total: 430s
    #420262
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts
  • Pipeline finished with Success
    2 months ago
    Total: 528s
    #420301
  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia kunal.sachdev

    kunal.sachdev โ†’ made their first commit to this issueโ€™s fork.

  • Pipeline finished with Failed
    about 2 months ago
    Total: 374s
    #422058
  • Pipeline finished with Failed
    about 2 months ago
    Total: 426s
    #422119
  • Pipeline finished with Failed
    about 2 months ago
    Total: 502s
    #423896
  • Pipeline finished with Failed
    about 2 months ago
    Total: 362s
    #423937
  • Pipeline finished with Failed
    about 2 months ago
    Total: 463s
    #424239
  • Pipeline finished with Failed
    about 2 months ago
    Total: 419s
    #426477
  • Pipeline finished with Failed
    about 2 months ago
    Total: 465s
    #427490
  • Pipeline finished with Failed
    about 2 months ago
    Total: 578s
    #427527
  • Pipeline finished with Failed
    about 2 months ago
    #427540
  • Pipeline finished with Failed
    about 2 months ago
    Total: 905s
    #429808
  • Pipeline finished with Failed
    about 2 months ago
    Total: 563s
    #432458
  • Pipeline finished with Canceled
    about 2 months ago
    Total: 286s
    #432854
  • Pipeline finished with Canceled
    about 2 months ago
    Total: 320s
    #432856
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts

    Fixed merge conflicts and then did the one thing that was causing it to break, which is that the onFilterChange handler was not being sent to the TextFilter component. :)

  • Pipeline finished with Failed
    about 2 months ago
    Total: 377s
    #432859
  • Pipeline finished with Failed
    about 2 months ago
    Total: 454s
    #432863
  • Pipeline finished with Success
    about 2 months ago
    Total: 366s
    #432874
  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia narendraR Jaipur, India

    Overall, this looks good to me. Just a few suggestions.

  • Pipeline finished with Failed
    about 2 months ago
    Total: 498s
    #433460
  • Pipeline finished with Failed
    about 2 months ago
    Total: 476s
    #433470
  • Pipeline finished with Success
    about 2 months ago
    Total: 525s
    #433482
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts

    I'll ask @tim.plunkett to review/RTBC this -- it seems to be good to go!

  • Pipeline finished with Success
    about 2 months ago
    Total: 417s
    #433663
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts

    Since I mostly didn't write this, tentatively marking it RTBC! The real proof is in the crucible of manual testing that @chrisfromredfin will subject this to.

  • First commit to issue fork.
  • Pipeline finished with Skipped
    about 2 months ago
    #433857
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States chrisfromredfin Portland, Maine

    cool, this needed a follow-up but that's been filed.

    ๐Ÿ› Remove filter definitions from ProjectBrowserSourceBase Active

  • Pipeline finished with Success
    about 2 months ago
    Total: 416s
    #433855
  • Pipeline finished with Failed
    about 1 month ago
    Total: 1306s
    #434668
  • Pipeline finished with Success
    about 1 month ago
    Total: 1265s
    #434696
  • Pipeline finished with Success
    about 1 month ago
    Total: 1449s
    #435764
  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024