forked from Cloud-Pipelines/pipeline-editor
-
Notifications
You must be signed in to change notification settings - Fork 5
feat: [FE] Move component search filtering to backend #1966
Copy link
Copy link
Open
Labels
Description
Description
The component search filters (Input Name, Input Type, Output Name, Output Type) currently run entirely client-side — the frontend downloads all component specs and filters locally. This doesn't scale and prevents the homepage Components tab (#1963) from efficiently searching large component libraries.
Move the filtering to use backend query params so the server does the work.
Current state
The frontend publishedComponentsLibrary.ts only sends name_substring and published_by_substring to the backend. All other filters (input name/type, output name/type) are applied locally after fetching results.
Proposed changes
Once the backend supports the new query params (TangleML/tangle#180), update the frontend to:
- Send all active search filters as backend query params instead of filtering locally
- Update
publishedComponentsLibrary.tsgetComponents()to pass:description_substringinput_name_substringoutput_name_substringinput_type_substringoutput_type_substring
- Remove client-side filtering fallback for these fields (or keep as progressive enhancement)
- Wire this into the Components tab on the homepage (feat: [FE] Add tabbed Runs/Pipelines/Components list to homepage #1963)
Depends on: TangleML/tangle#180 (backend filtering support)
Relevant files
src/providers/ComponentLibraryProvider/libraries/publishedComponentsLibrary.ts— API clientsrc/providers/ComponentLibraryProvider/ComponentLibraryProvider.tsx—searchComponentLibrary()functionsrc/utils/searchUtils.ts— client-side matching logic (to be replaced)src/api/types.gen.ts/src/api/sdk.gen.ts— regenerate after backend changes
Reactions are currently unavailable