You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We should introduce the facet API in the FilterItems to gradually remove the specific endpoint currently used by the select type.
The new entry available inside the filter form configuration could be as follow:
{// "accordion" or "select" type to group topics of the facet"type": "accordion",// "facet" or "filter" style available only for accordion type"style": "facet",// if facet is selected we use the API looking for the type indicated by this property// in the future we could configure other types: owners, categories, regions, ..."facet": "thesaurus"}
Ideally the request should be sent only when an accordion or a select is open or when the filter form mount in case an accordion has been already opened. (please let's discuss this during the development)
When a filter is clicked we should populate the url with the KVP information with some addiitonal info such as the facetName, eg:
?facet{facetKey:facetName}=topicKey&...
Then we need to parse it before sending the request to the backend. The extra facetName info could be useful in case we want preload some information related to a specific topic to the specific /facets/{facetName} endpont (let's discuss also this because maybe we could simplify it)
We could also improve the accessibility of style facet because currently it's not possible to use the tab to access the item.
The flow we intend to approach.
On mount Filter form
We make /facets call to get all the facets (Not sure if caching is helpful here on the client side)
Display the facets as we receive with facet filtered for thesaurus
This will form a select/accordions based on type of the field
When the accordion/select is expanded/opened, we make a call /facets/${name}. This will fetch us the topics.items
The items will be rendered as facet/checbox based on field style with count
Upon clicking the item, the filter is formed as ?${facet.key}=${topicItem.key} or should be use this instead ?facet{facet.key:facet.name}=${topicItem.Key}
Implement URL parsing. When a user visits the catalog with a URL containing the facet filters GET params, this will be reflected in the facet (selected checkboxes, etc.).
The text was updated successfully, but these errors were encountered:
We should introduce the facet API in the FilterItems to gradually remove the specific endpoint currently used by the select type.
The new entry available inside the filter form configuration could be as follow:
Ideally the request should be sent only when an accordion or a select is open or when the filter form mount in case an accordion has been already opened. (please let's discuss this during the development)
When a filter is clicked we should populate the url with the KVP information with some addiitonal info such as the facetName, eg:
?facet{facetKey:facetName}=topicKey&...
Then we need to parse it before sending the request to the backend. The extra facetName info could be useful in case we want preload some information related to a specific topic to the specific
/facets/{facetName}
endpont (let's discuss also this because maybe we could simplify it)We could also improve the accessibility of style
facet
because currently it's not possible to use the tab to access the item.The flow we intend to approach.
Filter form
/facets
call to get all the facets (Not sure if caching is helpful here on the client side)thesaurus
select/accordions
based on type of the fieldaccordion/select
isexpanded/opened
, we make a call/facets/${name}
. This will fetch us the topics.itemsfacet/checbox
based on field style with count?${facet.key}=${topicItem.key}
or should be use this instead?facet{facet.key:facet.name}=${topicItem.Key}
Implement URL parsing. When a user visits the catalog with a URL containing the facet filters GET params, this will be reflected in the facet (selected checkboxes, etc.).
The text was updated successfully, but these errors were encountered: