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

Update Search page to manage profile filters #777

Closed
Tracked by #774
pjmonks opened this issue Mar 3, 2023 · 0 comments · Fixed by #784
Closed
Tracked by #774

Update Search page to manage profile filters #777

pjmonks opened this issue Mar 3, 2023 · 0 comments · Fixed by #784
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@pjmonks
Copy link
Contributor

pjmonks commented Mar 3, 2023

Description

The Search page needs to support advanced filter controls to select one or more profile filters to be used as search criteria when searching the catalogue.

A profile filter is a combination of:

  1. A profile name, which will provide the full profile namespace
  2. A metadata key
  3. A value to filter with

Design

MDM UI Metadata Search-Search page drawio

Features

The "Advanced" section of the search page should include a set of controls, similar to above, to add, edit and remove profile filters.

Adding a profile filter may need to have a limit imposed, depending on if the UI ends up being too cluttered e.g. a maximum of 3, or 5, profile filters.

Each row should provide:

  1. A select control to determine the profile to use. This can be determined via the GET /api/profiles/providers endpoint
  2. A select control to determine the metadata key to use. The option list must be based on the chosen profile. Use the display name of the key rather than the actual property name.
  3. An input control to enter a value.

For entering an input value, two options will currently be supported:

  1. If the profile metadata key represents an enumeration, the input should be a select control with the possible enumeration options.
  2. Otherwise, use a text field input.

Out of scope

This task should only focus on the UI. Submitting the profile filters to the Search Listing page will be handled in task #779.

@pjmonks pjmonks added the enhancement New feature or request label Mar 3, 2023
@pjmonks pjmonks added this to MDM State Mar 3, 2023
@github-project-automation github-project-automation bot moved this to Backlog in MDM State Mar 3, 2023
@pjmonks pjmonks moved this from Backlog to Fix for next release in MDM State Mar 3, 2023
@pjmonks pjmonks self-assigned this Mar 6, 2023
@pjmonks pjmonks moved this from Fix for next release to In Progress in MDM State Mar 6, 2023
pjmonks added a commit that referenced this issue Mar 9, 2023
- New child component for CatalogueSearchComponent
- Track state of all profile filters using Angular FormArray
- Use profile providers and definitions to guide user for which namespaces and keys to use for filters
- Clean up code in CatalogueSearchAdvancedForm
- Move "More filters" button to parent component
- Section on CatalogueSearch page now controls visibility of the advanced form and profile filter list
- Update code and tests to have @ViewChild mapping work
- Update parent/child communication to handle resets and track validity
- Add and update tests
@pjmonks pjmonks moved this from In Progress to Open PR in MDM State Mar 9, 2023
pjmonks added a commit that referenced this issue Mar 14, 2023
gh-777 Add profile search filter selection to Search page
@github-project-automation github-project-automation bot moved this from Open PR to Merged to Develop / Waiting to release in MDM State Mar 14, 2023
@pjmonks pjmonks added this to the 7.4.0 milestone Mar 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Merged to Develop / Waiting to release
Development

Successfully merging a pull request may close this issue.

1 participant