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
It should have a search component at the top, containing an input box, a scope select and a "go" link, styled as a button
Underneath it should show a SearchResultsComponent, that makes use of the ObjectListComponent to show a paginated list of search results, with the gear showing to select the number of results per page and sort options.
The ObjectListComponent will need to be adapted to work with SearchResult objects. The way the different DSO's are rendered should be the same (positioning of thumbnails, values of the link and the descriptions, etc) the difference with SearchResults should be that if one of the used metadata fields exists in the hitHiglights array, the hit-highlighted value should be used (and rendered as HTML) instead of the DSO's.
The SearchComponent and SearchResultsComponents should be "dumb", meaning they shouldn't connect to the SearchService directly, but get their values and send their events using inputs and outputs.
The SearchPageComponent is the "smart" component that listens to the events from the SearchComponent, uses them to call the SearchService's search method, and push the results to the SearchResultComponent's input.
The SearchPageComponent should also ensure the query and all its parameters are reflected in the URL, so you can link to a specific query.
It would be great to have a search as you type feature, where, if you stop typing for a configurable amount of time (I'd start with about 200ms and see how that feels) a search is automatically executed. RxJS's debounce operator will likely be useful for that.
Note that even if it has search as you type, the search button is still necessary for clients without javascript
The text was updated successfully, but these errors were encountered:
This task depends on #134
Create an initial version of a search page.
It should have a search component at the top, containing an input box, a scope select and a "go" link, styled as a button
Underneath it should show a SearchResultsComponent, that makes use of the ObjectListComponent to show a paginated list of search results, with the gear showing to select the number of results per page and sort options.
The ObjectListComponent will need to be adapted to work with SearchResult objects. The way the different DSO's are rendered should be the same (positioning of thumbnails, values of the link and the descriptions, etc) the difference with SearchResults should be that if one of the used metadata fields exists in the hitHiglights array, the hit-highlighted value should be used (and rendered as HTML) instead of the DSO's.
The SearchComponent and SearchResultsComponents should be "dumb", meaning they shouldn't connect to the SearchService directly, but get their values and send their events using inputs and outputs.
The SearchPageComponent is the "smart" component that listens to the events from the SearchComponent, uses them to call the SearchService's search method, and push the results to the SearchResultComponent's input.
The SearchPageComponent should also ensure the query and all its parameters are reflected in the URL, so you can link to a specific query.
It would be great to have a search as you type feature, where, if you stop typing for a configurable amount of time (I'd start with about 200ms and see how that feels) a search is automatically executed. RxJS's debounce operator will likely be useful for that.
Note that even if it has search as you type, the search button is still necessary for clients without javascript
The text was updated successfully, but these errors were encountered: