diff --git a/app/assets/javascripts/discourse/components/concerns/category_search_priorities.js.es6.erb b/app/assets/javascripts/discourse/components/concerns/category_search_priorities.js.es6.erb
new file mode 100644
index 0000000000..643b1777f9
--- /dev/null
+++ b/app/assets/javascripts/discourse/components/concerns/category_search_priorities.js.es6.erb
@@ -0,0 +1 @@
+export const searchPriorities = <%= Searchable::PRIORITIES.to_json %>;
diff --git a/app/assets/javascripts/discourse/components/edit-category-settings.js.es6 b/app/assets/javascripts/discourse/components/edit-category-settings.js.es6
index 712aa67be1..82af15b8f0 100644
--- a/app/assets/javascripts/discourse/components/edit-category-settings.js.es6
+++ b/app/assets/javascripts/discourse/components/edit-category-settings.js.es6
@@ -1,6 +1,7 @@
import { setting } from "discourse/lib/computed";
import { buildCategoryPanel } from "discourse/components/edit-category-panel";
import computed from "ember-addons/ember-computed-decorators";
+import { searchPriorities } from "discourse/components/concerns/category_search_priorities";
const categorySortCriteria = [];
export function addCategorySortCriteria(criteria) {
@@ -57,6 +58,20 @@ export default buildCategoryPanel("settings", {
);
},
+ @computed
+ searchPrioritiesOptions() {
+ const options = [];
+
+ for (const [name, value] of Object.entries(searchPriorities)) {
+ options.push({
+ name: I18n.t(`category.search_priority.options.${name}`),
+ value: value
+ });
+ }
+
+ return options.sort((a, b) => a.value <= b.value);
+ },
+
@computed
availableSorts() {
return [
diff --git a/app/assets/javascripts/discourse/models/category.js.es6 b/app/assets/javascripts/discourse/models/category.js.es6
index 2e6928abfe..d31fcb72b4 100644
--- a/app/assets/javascripts/discourse/models/category.js.es6
+++ b/app/assets/javascripts/discourse/models/category.js.es6
@@ -129,7 +129,8 @@ const Category = RestModel.extend({
minimum_required_tags: this.get("minimum_required_tags"),
navigate_to_first_post_after_read: this.get(
"navigate_to_first_post_after_read"
- )
+ ),
+ search_priority: this.get("search_priority")
},
type: id ? "PUT" : "POST"
});
diff --git a/app/assets/javascripts/discourse/templates/components/edit-category-settings.hbs b/app/assets/javascripts/discourse/templates/components/edit-category-settings.hbs
index f9628a3fa4..1aab6209b3 100644
--- a/app/assets/javascripts/discourse/templates/components/edit-category-settings.hbs
+++ b/app/assets/javascripts/discourse/templates/components/edit-category-settings.hbs
@@ -43,6 +43,17 @@
+
+
+
+ {{combo-box valueAttribute="value"
+ id="category-search-priority"
+ content=searchPrioritiesOptions
+ value=category.search_priority}}
+
+
{{#if isParentCategory}}