Even though 1000 vocabularies are available in the backend, it appear that only the first few are searchable.
@mesemus mentioned that the vocabulary endpoint is only called once at render time, and this only uses the first page of the result.
Update: Just checked the endpoint in src/mbdb/vocabularies.ts:
function makeUrl(type: string) {
if (!Config.get('vocabulariesApiEndpoint')) {
throw new Error('Cannot make a URL for vocabulary API query because the application is misconfigured.');
}
// BEWARE, BEWARE, BEWARE:
// The inconsistency, or rather lack of thereof, is about the hit you in the face.
// This URL shall *not* end with a trailing slash, otherwise the API request will fail.
return `${Config.get('baseUrl')}/api/${Config.get('vocabulariesApiEndpoint')}/${type}`;
}
And it does indeed only return a limited number (25) of vocabularies under hits, however under links it has a link to next page.
I suspect a change in strategy is needed, such that the endpoint query is passed to the endpoint, and the results are reformatted, rather than caching the vocabularies (?) and searching in that cache.
Even though 1000 vocabularies are available in the backend, it appear that only the first few are searchable.
@mesemus mentioned that the vocabulary endpoint is only called once at render time, and this only uses the first page of the result.
Update: Just checked the endpoint in src/mbdb/vocabularies.ts:
And it does indeed only return a limited number (25) of vocabularies under hits, however under links it has a link to next page.
I suspect a change in strategy is needed, such that the endpoint query is passed to the endpoint, and the results are reformatted, rather than caching the vocabularies (?) and searching in that cache.