herd icon indicating copy to clipboard operation
herd copied to clipboard

UI - Filter BDef search results by multiple Categories

Open nateiam opened this issue 7 years ago • 0 comments

As a Data Analyst I want to filter Related Data Entities listed on the Category Page based on facets so I can narrow in on Data Entities of interest

Acceptance Criteria

  • As a user selects multiple Categories within a Header, they are combined as OR logic in the Related Entities search results
  • As a user selects multiple Categories across headers, they are combined as AND logic in the Related Entities search results
  • Checkboxes by the selected facets should render as unchecked
  • Each selection the user makes checks the box and triggers the search and refreshes the result list.
    • When the result list is refreshed, the facet display counts must be refreshed as well - but facet list is never updated
    • Note - all selections are one state - if user selects one checkbox, then another, then another, they do not go back, back, back.
  • If user drills down and comes back to this page, their filter selections should be prefilled and the search will execute fresh
  • User is able to clear all filters with a single click

Example - a list of related data entities has the following facets:

  • TagType1 = A (1), B = (3), C = (5)
  • TagType2 = X (4), Y (3)

The user selects A, B for TagType1, and X under TagType2 The logic will return BDef that are tagged with:

  • (A OR B) AND X

Example in Code

<businessObjectDefinitionSearchRequest>
    <businessObjectDefinitionSearchFilters>
        <businessObjectDefinitionSearchFilter>
            <businessObjectDefinitionSearchKeys>
                <businessObjectDefinitionSearchKey>
                    <tagKey>
                        <tagTypeCode>TagType1</tagTypeCode>
                        <tagCode>A</tagCode>
                    </tagKey>
                </businessObjectDefinitionSearchKey>
                <businessObjectDefinitionSearchKey>
                    <tagKey>
                        <tagTypeCode>TagType1</tagTypeCode>
                        <tagCode>B</tagCode>
                    </tagKey>
                </businessObjectDefinitionSearchKey>
            </businessObjectDefinitionSearchKeys>
        </businessObjectDefinitionSearchFilter>
        <businessObjectDefinitionSearchFilter>
            <businessObjectDefinitionSearchKeys>
                <businessObjectDefinitionSearchKey>
                    <tagKey>
                        <tagTypeCode>TagType2</tagTypeCode>
                        <tagCode>X</tagCode>
                    </tagKey>
                </businessObjectDefinitionSearchKey>
            </businessObjectDefinitionSearchKeys>
        </businessObjectDefinitionSearchFilter>
    </businessobjectDefinitionSearchFilters>
</businessObjectDefinitionSearchRequest>

nateiam avatar Mar 14 '17 16:03 nateiam