diff --git a/client/html/settings.tpl b/client/html/settings.tpl index b3d828b8..0740579f 100644 --- a/client/html/settings.tpl +++ b/client/html/settings.tpl @@ -18,6 +18,9 @@
  • <%= ctx.makeCheckbox({text: 'Enable transparency grid', id: 'transparency-grid', name: 'transparency-grid', checked: ctx.browsingSettings.transparencyGrid}) %>
  • +
  • + <%= ctx.makeCheckbox({text: 'Show tag suggestions', id: 'tag-suggestions', name: 'tag-suggestions', checked: ctx.browsingSettings.tagSuggestions}) %> +
  • diff --git a/client/js/controls/tag_input_control.js b/client/js/controls/tag_input_control.js index da768973..bfcaf06d 100644 --- a/client/js/controls/tag_input_control.js +++ b/client/js/controls/tag_input_control.js @@ -3,6 +3,7 @@ const api = require('../api.js'); const tags = require('../tags.js'); const misc = require('../util/misc.js'); +const settings = require('../models/settings.js'); const events = require('../events.js'); const views = require('../util/views.js'); const TagAutoCompleteControl = require('./tag_auto_complete_control.js'); @@ -335,6 +336,10 @@ class TagInputControl extends events.EventTarget { } _loadSuggestions(tag) { + const browsingSettings = settings.get(); + if (!browsingSettings.tagSuggestions) { + return; + } api.get('/tag-siblings/' + tag.names[0], {noProgress: true}) .then(response => { return Promise.resolve(response.results); diff --git a/client/js/models/settings.js b/client/js/models/settings.js index 04c202d3..1324e6a1 100644 --- a/client/js/models/settings.js +++ b/client/js/models/settings.js @@ -13,6 +13,7 @@ const defaultSettings = { keyboardShortcuts: true, transparencyGrid: true, fitMode: 'fit-both', + tagSuggestions: true, }; class Settings extends events.EventTarget { diff --git a/client/js/views/settings_view.js b/client/js/views/settings_view.js index 137c20d8..b8e3555b 100644 --- a/client/js/views/settings_view.js +++ b/client/js/views/settings_view.js @@ -39,6 +39,8 @@ class SettingsView extends events.EventTarget { '#keyboard-shortcuts').checked, transparencyGrid: this._formNode.querySelector( '#transparency-grid').checked, + tagSuggestions: this._formNode.querySelector( + '#tag-suggestions').checked, }, }, }));