feat: Add "Contains" filter option to workflow search UI for substring matching in WorkflowId and WorkflowType fields. #3008
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description & motivation 💭
Add "Contains" filter option to workflow search UI for substring matching in WorkflowId and WorkflowType fields.
Changes:
i18n/locales/en/common.ts: Add "contains" translationutilities/is.ts: Addcontainsto operators/conditionals andisContains()helperworkflow/filter-bar/dropdown-filter-chip.svelte: Add CONTAINS to filter options and display logicsearch-attribute-filter/text-filter.svelte: Add CONTAINS option to text filter dropdownsearch-attribute-filter/filter-list.svelte: Add CONTAINS display support in filter chipsquery/filter-workflow-query.ts: Add query generation logic for CONTAINS operatorMotivation:
Users need to search for workflows by substring matching, not just exact matches or prefix matching. Common use cases:
ai-agent-azure-ad-1,service-azure-ad-syncazure-ad,prod,us-eastCurrent limitation: Only "Equals", "Not Equals", and "Starts With" are available.
Solution: Add "Contains" for substring matching anywhere in the value.
Related PRs:
This PR is part of a feature implementation across multiple repositories:
CONTAINSoperator to SQL grammarAll three PRs need to be merged together for the feature to work end-to-end.
Screenshots (if applicable) 📸
Example Usage:
azure-ad`WorkflowId` CONTAINS "azure-ad"atom-agent-azure-ad-1,service-azure-ad-sync,azure-ad-integration-v2Design Considerations 🎨
Testing 🧪
How was this tested 👻
Testing performed:
`WorkflowId` CONTAINS "value"Steps for others to test: 🚶🏽♂️🚶🏽♀️
Prerequisites:
Test Steps:
http://localhost:3000/namespaces/default/workflows"azure-ad")`WorkflowId` CONTAINS "azure-ad"Checklists
Draft Checklist
Merge Checklist
Docs
Any docs updates needed?
Note: UI change is mostly self-documenting through the interface, but documentation should be updated to inform users of the new filtering capability.
Documentation points:
WorkflowId CONTAINS "azure"finds workflows with "azure" anywhere in the ID