Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KeywordList search attribute support #2420

Merged
merged 9 commits into from
Nov 20, 2024

Conversation

laurakwhit
Copy link
Contributor

Description & motivation 💭

  • Adds support for filtering Workflows and Schedules with KeywordList search attributes.
  • Adds support for adding KeywordList custom search attributes to a Schedule.

Screenshots (if applicable) 📸

Screenshot 2024-11-06 at 9 50 17 AMScreenshot 2024-11-06 at 9 50 49 AMScreenshot 2024-11-06 at 9 51 08 AM Screenshot 2024-11-06 at 9 51 00 AMScreenshot 2024-11-06 at 9 51 25 AM
Schedule create/edit Schedule details
Screenshot 2024-11-06 at 9 44 39 AMScreenshot 2024-11-06 at 9 44 25 AM Screenshot 2024-11-06 at 9 45 36 AM

Design Considerations 🎨

Testing 🧪

How was this tested 👻

  • Manual testing
  • E2E tests added
  • Unit tests added

Steps for others to test: 🚶🏽‍♂️🚶🏽‍♀️

  • Add a KeywordList custom search attribute (e.g. temporal operator search-attribute create --namespace default --name CustomKeywordListField --type KeywordList)
  • Run a workflow with the custom search attribute set (e.g. this one).

  • Go to the Workflows list view
    • Select Filter > CustomKeywordListField > enter values
      • Verify searching works as expected
    • Select the filter that was created
      • Verify editing the filter works as expected
    • Toggle View Search Input
      • Verify filters show up as expected
    • Select more filters
      • Verify adding additional filters works as expected
    • Refresh the page
      • Verify filters still show up and work as expected

  • Go to /schedules > Create Schedule > + Add a Search Attribute
    • Verify adding CustomKeywordListField works as expected
    • Verify the custom search attribute shows up as expected on the Schedule detail page
  • Go to edit the schedule
    • Verify editing CustomKeywordListField works as expected

  • Go to the Schedules list view
    • Select Filter > CustomKeywordListField > enter values
      • Verify searching works as expected
    • Select the filter that was created
      • Verify editing the filter works as expected
    • Toggle View Search Input
      • Verify filters show up as expected
    • Select more filters
      • Verify adding additional filters works as expected
    • Refresh the page
      • Verify filters still show up and work as expected

Checklists

Draft Checklist

Merge Checklist

Issue(s) closed

DT-2505

Docs

Any docs updates needed?

Copy link

vercel bot commented Nov 6, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
holocene ✅ Ready (Inspect) Visit Preview 💬 Add feedback Nov 20, 2024 5:03pm

@Alex-Tideman
Copy link
Contributor

Screenshot 2024-11-07 at 11 09 12 AM

Could we keep the tags here in the input (like start workflow?)

Screenshot 2024-11-07 at 11 09 32 AM

@@ -18,12 +18,17 @@
export let hintText = '';
export let validator: (value: string) => boolean = () => true;
export let removeChipButtonLabel: string | ((chipValue: string) => string);
export let unroundRight = false;
export let unroundLeft = false;
export let external = false;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we keep the tags here in the input (like start workflow?)

@Alex-Tideman we explored keeping the chips in the input, but after talking with design (cc @tigernaut) we opted for this external chip option to make sure this works with the existing filter (otherwise there are some questions r.e. the border on the input and responsiveness).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add a comment explaining what external is?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had added a story for this, might that suffice?

src/lib/holocene/input/chip-input.svelte Show resolved Hide resolved
@@ -18,12 +18,17 @@
export let hintText = '';
export let validator: (value: string) => boolean = () => true;
export let removeChipButtonLabel: string | ((chipValue: string) => string);
export let unroundRight = false;
export let unroundLeft = false;
export let external = false;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add a comment explaining what external is?

@@ -163,6 +185,14 @@
@apply surface-primary inline-block w-full focus:outline-none;
}

.unroundRight {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we just do something like first-child: or whatever?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked into this and it was it not as simple as that (it's not the first child for one thing), but if we can figure out how to get this working with modifiers I'll update this for all our input components.

@laurakwhit laurakwhit merged commit 303d7f1 into main Nov 20, 2024
14 checks passed
@laurakwhit laurakwhit deleted the DT-2505-KeywordList-search-support branch November 20, 2024 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants