Add setting for autocomplete search

This commit is contained in:
Solirs 2023-03-02 14:23:39 +01:00
parent b9f4f3d2c7
commit 94ed104e7c
8 changed files with 30 additions and 3 deletions

View file

@ -408,6 +408,17 @@ class Preferences:
'False': False 'False': False
} }
), ),
'search_on_autocomplete_click': MapSetting(
settings['ui']['search_on_autocomplete_click'],
locked=is_locked('search_on_autocomplete_click'),
map={
'': settings['ui']['search_on_autocomplete_click'],
'0': False,
'1': True,
'True': True,
'False': False
}
),
# fmt: on # fmt: on
} }

View file

@ -109,6 +109,7 @@ ui:
query_in_title: false query_in_title: false
# infinite_scroll: When true, automatically loads the next page when scrolling to bottom of the current page. # infinite_scroll: When true, automatically loads the next page when scrolling to bottom of the current page.
infinite_scroll: false infinite_scroll: false
search_on_autocomplete_click: true
# ui theme # ui theme
default_theme: simple default_theme: simple
# center the results ? # center the results ?

View file

@ -199,6 +199,7 @@ SCHEMA = {
'query_in_title': SettingsValue(bool, False), 'query_in_title': SettingsValue(bool, False),
'infinite_scroll': SettingsValue(bool, False), 'infinite_scroll': SettingsValue(bool, False),
'cache_url': SettingsValue(str, 'https://web.archive.org/web/'), 'cache_url': SettingsValue(str, 'https://web.archive.org/web/'),
"search_on_autocomplete_click": SettingsValue(bool, True)
}, },
'preferences': { 'preferences': {
'lock': SettingsValue(list, []), 'lock': SettingsValue(list, []),

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -18,7 +18,7 @@
params._Select(suggestion); params._Select(suggestion);
// Ctrl + Click = Only place the suggestion in the search bar, no auto search. // Ctrl + Click = Only place the suggestion in the search bar, no auto search.
if(!e.ctrlKey){ if(!e.ctrlKey && searxng.settings.search_on_autocomplete_click){
submitIfQuery(); submitIfQuery();
} }
} }

View file

@ -251,6 +251,18 @@
<div class="description">{{ _('Automatically load next page when scrolling to bottom of current page') }}</div> <div class="description">{{ _('Automatically load next page when scrolling to bottom of current page') }}</div>
</fieldset> </fieldset>
{% endif %} {% endif %}
{% if 'search_on_autocomplete_click' not in locked_preferences %}
<fieldset>
<legend>{{ _('Search on suggestion click') }}</legend>
<p class="value">
<select name='search_on_autocomplete_click'>
<option value="1" {% if search_on_autocomplete_click %}selected="selected"{% endif %}>{{ _('On') }}</option>
<option value="0" {% if not search_on_autocomplete_click %}selected="selected"{% endif %}>{{ _('Off')}}</option>
</select>
</p>
<div class="description">{{ _('Automatically search when an autocomplete suggestion is clicked') }}</div>
</fieldset>
{% endif %}
{{ plugin_preferences('ui') }} {{ plugin_preferences('ui') }}
{{ tab_footer() }} {{ tab_footer() }}

View file

@ -399,6 +399,7 @@ def get_client_settings():
'autocomplete_min': get_setting('search.autocomplete_min'), 'autocomplete_min': get_setting('search.autocomplete_min'),
'http_method': req_pref.get_value('method'), 'http_method': req_pref.get_value('method'),
'infinite_scroll': req_pref.get_value('infinite_scroll'), 'infinite_scroll': req_pref.get_value('infinite_scroll'),
'search_on_autocomplete_click': req_pref.get_value('search_on_autocomplete_click'),
'translations': get_translations(), 'translations': get_translations(),
'search_on_category_select': req_pref.plugins.choices['searx.plugins.search_on_category_select'], 'search_on_category_select': req_pref.plugins.choices['searx.plugins.search_on_category_select'],
'hotkeys': req_pref.plugins.choices['searx.plugins.vim_hotkeys'], 'hotkeys': req_pref.plugins.choices['searx.plugins.vim_hotkeys'],
@ -427,6 +428,7 @@ def render(template_name: str, **kwargs):
kwargs['preferences'] = request.preferences kwargs['preferences'] = request.preferences
kwargs['autocomplete'] = request.preferences.get_value('autocomplete') kwargs['autocomplete'] = request.preferences.get_value('autocomplete')
kwargs['infinite_scroll'] = request.preferences.get_value('infinite_scroll') kwargs['infinite_scroll'] = request.preferences.get_value('infinite_scroll')
kwargs['search_on_autocomplete_click'] = request.preferences.get_value('search_on_autocomplete_click')
kwargs['results_on_new_tab'] = request.preferences.get_value('results_on_new_tab') kwargs['results_on_new_tab'] = request.preferences.get_value('results_on_new_tab')
kwargs['advanced_search'] = request.preferences.get_value('advanced_search') kwargs['advanced_search'] = request.preferences.get_value('advanced_search')
kwargs['query_in_title'] = request.preferences.get_value('query_in_title') kwargs['query_in_title'] = request.preferences.get_value('query_in_title')