Once we've got code-tree selection working, we can add search.
Search takes place within the scope of a facet (i.e. facet->dimensions->codelists->codes).
This will be done in the backend (as we'll eventually need to incorporate label-embeddings #25), perhaps in (SearchBackend/search-codes [db query facet-name]) => codes/search.
On the frontend we'll show the results using the tree, pruned to only those branches necessary to show the hits (i.e. hits and their ancestors).
A "select all matches" control should be shown (at the top). When pressed all matched codes are selected and the control is disabled until the selection is changed.
A "clear selections" control should be added. This is only enabled when at least one code is selected.
The "all children" functionality will need to be changed because the search mightn't return all children of a code. Options:
simply remove this control
"select matching children" (selects those visible)
"show all children" (extends node to show all it's children (not just the matching ones))
Once we've got code-tree selection working, we can add search.
Search takes place within the scope of a facet (i.e. facet->dimensions->codelists->codes).
This will be done in the backend (as we'll eventually need to incorporate label-embeddings #25), perhaps in
(SearchBackend/search-codes [db query facet-name]) => codes/search
.On the frontend we'll show the results using the tree, pruned to only those branches necessary to show the hits (i.e. hits and their ancestors).
A "select all matches" control should be shown (at the top). When pressed all matched codes are selected and the control is disabled until the selection is changed.
A "clear selections" control should be added. This is only enabled when at least one code is selected.
The "all children" functionality will need to be changed because the search mightn't return all children of a code. Options: