From 0bf28e418f7856b8c61099d41164096129b8e437 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Wed, 22 Jul 2020 11:48:50 -0400 Subject: [PATCH] REFACTOR: Remove `Discourse.SiteSettings` from `lib:search` --- .../discourse/app/controllers/full-page-search.js | 4 ++-- app/assets/javascripts/discourse/app/lib/search.js | 8 +++----- .../javascripts/discourse/app/routes/full-page-search.js | 4 ++-- .../javascripts/discourse/app/widgets/search-menu.js | 4 ++-- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/app/assets/javascripts/discourse/app/controllers/full-page-search.js b/app/assets/javascripts/discourse/app/controllers/full-page-search.js index 1183a8eec28..4531ce2786f 100644 --- a/app/assets/javascripts/discourse/app/controllers/full-page-search.js +++ b/app/assets/javascripts/discourse/app/controllers/full-page-search.js @@ -89,7 +89,7 @@ export default Controller.extend({ @discourseComputed("q") searchActive(q) { - return isValidSearchTerm(q); + return isValidSearchTerm(q, this.siteSettings); }, @discourseComputed("q") @@ -209,7 +209,7 @@ export default Controller.extend({ this.set("invalidSearch", false); const searchTerm = this.searchTerm; - if (!isValidSearchTerm(searchTerm)) { + if (!isValidSearchTerm(searchTerm, this.siteSettings)) { this.set("invalidSearch", true); return; } diff --git a/app/assets/javascripts/discourse/app/lib/search.js b/app/assets/javascripts/discourse/app/lib/search.js index b26e1736a31..02b7843d8de 100644 --- a/app/assets/javascripts/discourse/app/lib/search.js +++ b/app/assets/javascripts/discourse/app/lib/search.js @@ -185,11 +185,9 @@ export function getSearchKey(args) { ); } -export function isValidSearchTerm(searchTerm) { +export function isValidSearchTerm(searchTerm, siteSettings) { if (searchTerm) { - return ( - searchTerm.trim().length >= Discourse.SiteSettings.min_search_term_length - ); + return searchTerm.trim().length >= siteSettings.min_search_term_length; } else { return false; } @@ -226,7 +224,7 @@ export function applySearchAutocomplete( ) ); - if (Discourse.SiteSettings.enable_mentions) { + if (siteSettings.enable_mentions) { $input.autocomplete( _.merge( { diff --git a/app/assets/javascripts/discourse/app/routes/full-page-search.js b/app/assets/javascripts/discourse/app/routes/full-page-search.js index d2abf0decf4..65598a03134 100644 --- a/app/assets/javascripts/discourse/app/routes/full-page-search.js +++ b/app/assets/javascripts/discourse/app/routes/full-page-search.js @@ -46,8 +46,8 @@ export default DiscourseRoute.extend({ return cached.data.model; } - return PreloadStore.getAndRemove("search", function() { - if (isValidSearchTerm(params.q)) { + return PreloadStore.getAndRemove("search", () => { + if (isValidSearchTerm(params.q, this.siteSettings)) { return ajax("/search", { data: args }); } else { return null; diff --git a/app/assets/javascripts/discourse/app/widgets/search-menu.js b/app/assets/javascripts/discourse/app/widgets/search-menu.js index 50f89a9a55a..163cfcdc16c 100644 --- a/app/assets/javascripts/discourse/app/widgets/search-menu.js +++ b/app/assets/javascripts/discourse/app/widgets/search-menu.js @@ -40,7 +40,7 @@ const SearchHelper = { const searchContext = contextEnabled ? widget.searchContext() : null; const fullSearchUrl = widget.fullSearchUrl(); - if (!isValidSearchTerm(term)) { + if (!isValidSearchTerm(term, widget.siteSettings)) { searchData.noResults = true; searchData.results = []; searchData.loading = false; @@ -298,7 +298,7 @@ export default createWidget("search-menu", { }, fullSearch() { - if (!isValidSearchTerm(searchData.term)) { + if (!isValidSearchTerm(searchData.term, this.siteSettings)) { return; }