From c9279a118e28a63179ef1df407cddef006a5ca49 Mon Sep 17 00:00:00 2001 From: Kyle Zhao Date: Mon, 10 Dec 2018 19:59:59 -0500 Subject: [PATCH] FIX: always show filtered site settings --- .../admin-site-settings-category.js.es6 | 2 +- .../controllers/admin-site-settings.js.es6 | 6 ++++-- .../routes/admin-site-settings-index.js.es6 | 2 +- .../admin/routes/admin-site-settings.js.es6 | 9 +++++---- .../admin/templates/site-settings.hbs | 2 +- .../acceptance/admin-site-settings-test.js.es6 | 17 +++++++++++++++++ 6 files changed, 29 insertions(+), 9 deletions(-) diff --git a/app/assets/javascripts/admin/controllers/admin-site-settings-category.js.es6 b/app/assets/javascripts/admin/controllers/admin-site-settings-category.js.es6 index c2d96201bd4..c2f8c09d547 100644 --- a/app/assets/javascripts/admin/controllers/admin-site-settings-category.js.es6 +++ b/app/assets/javascripts/admin/controllers/admin-site-settings-category.js.es6 @@ -4,7 +4,7 @@ export default Ember.Controller.extend({ categoryNameKey: null, adminSiteSettings: Ember.inject.controller(), - @computed("adminSiteSettings.model", "categoryNameKey") + @computed("adminSiteSettings.visible", "categoryNameKey") category(categories, nameKey) { return (categories || []).findBy("nameKey", nameKey); }, diff --git a/app/assets/javascripts/admin/controllers/admin-site-settings.js.es6 b/app/assets/javascripts/admin/controllers/admin-site-settings.js.es6 index 5d34c262938..85eac471747 100644 --- a/app/assets/javascripts/admin/controllers/admin-site-settings.js.es6 +++ b/app/assets/javascripts/admin/controllers/admin-site-settings.js.es6 @@ -2,6 +2,8 @@ import debounce from "discourse/lib/debounce"; export default Ember.Controller.extend({ filter: null, + allSiteSettings: Ember.computed.alias("model"), + visible: null, onlyOverridden: false, filterContentNow(category) { @@ -14,7 +16,7 @@ export default Ember.Controller.extend({ } if ((!filter || 0 === filter.length) && !this.get("onlyOverridden")) { - this.set("model", this.get("allSiteSettings")); + this.set("visible", this.get("allSiteSettings")); this.transitionToRoute("adminSiteSettings"); return; } @@ -62,7 +64,7 @@ export default Ember.Controller.extend({ all.hasMore = matches.length > 30; all.count = all.hasMore ? "30+" : matches.length; - this.set("model", matchesGroupedByCategory); + this.set("visible", matchesGroupedByCategory); this.transitionToRoute( "adminSiteSettingsCategory", category || "all_results" diff --git a/app/assets/javascripts/admin/routes/admin-site-settings-index.js.es6 b/app/assets/javascripts/admin/routes/admin-site-settings-index.js.es6 index 451fe71d2f8..ea8f10c85ee 100644 --- a/app/assets/javascripts/admin/routes/admin-site-settings-index.js.es6 +++ b/app/assets/javascripts/admin/routes/admin-site-settings-index.js.es6 @@ -6,7 +6,7 @@ export default Discourse.Route.extend({ beforeModel() { this.replaceWith( "adminSiteSettingsCategory", - this.modelFor("adminSiteSettings")[0].nameKey + this.controllerFor("adminSiteSettings").get("visible")[0].nameKey ); } }); diff --git a/app/assets/javascripts/admin/routes/admin-site-settings.js.es6 b/app/assets/javascripts/admin/routes/admin-site-settings.js.es6 index 48418d3132b..6aecdbdb998 100644 --- a/app/assets/javascripts/admin/routes/admin-site-settings.js.es6 +++ b/app/assets/javascripts/admin/routes/admin-site-settings.js.es6 @@ -10,9 +10,10 @@ export default Discourse.Route.extend({ }, afterModel(siteSettings) { - this.controllerFor("adminSiteSettings").set( - "allSiteSettings", - siteSettings - ); + const controller = this.controllerFor("adminSiteSettings"); + + if (!controller.get("visible")) { + controller.set("visible", siteSettings); + } } }); diff --git a/app/assets/javascripts/admin/templates/site-settings.hbs b/app/assets/javascripts/admin/templates/site-settings.hbs index 1d1e579d7a1..6b7c9a8a936 100644 --- a/app/assets/javascripts/admin/templates/site-settings.hbs +++ b/app/assets/javascripts/admin/templates/site-settings.hbs @@ -15,7 +15,7 @@