FEATURE: Allow showing hashtag autocomplete results without term (#19219)

This commit allows us to type # in the UI and present autocomplete
results immediately with the following logic for the topic composer,
and reversed for the chat composer:

* Categories the user can access and has not muted sorted by `topic_count`
* Tags the user can access and has not muted sorted by `topic_count`
* Chat channels the user is a member of sorted by `messages_count`

So in effect, we allow searching for hashtags without a search term.
To do this we add a new `search_without_term` to each data source so
each one can define how it wants to handle this logic.
This commit is contained in:
Martin Brennan
2022-12-08 13:47:59 +10:00
committed by GitHub
parent fde9e6bc25
commit 3fdb8ffb57
12 changed files with 292 additions and 36 deletions

View File

@@ -167,6 +167,9 @@ function _updateSearchCache(term, results) {
return results;
}
// Note that the search term is _not_ required here, and we follow special
// logic similar to @mentions when there is no search term, to show some
// useful default categories, tags, etc.
function _searchGeneric(term, siteSettings, contextualHashtagConfiguration) {
if (currentSearch) {
currentSearch.abort();
@@ -187,7 +190,7 @@ function _searchGeneric(term, siteSettings, contextualHashtagConfiguration) {
resolve(CANCELLED_STATUS);
}, 5000);
if (term === "") {
if (!siteSettings.enable_experimental_hashtag_autocomplete && term === "") {
return resolve(CANCELLED_STATUS);
}