mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: always show filtered site settings
This commit is contained in:
parent
59cb907f25
commit
c9279a118e
@ -4,7 +4,7 @@ export default Ember.Controller.extend({
|
|||||||
categoryNameKey: null,
|
categoryNameKey: null,
|
||||||
adminSiteSettings: Ember.inject.controller(),
|
adminSiteSettings: Ember.inject.controller(),
|
||||||
|
|
||||||
@computed("adminSiteSettings.model", "categoryNameKey")
|
@computed("adminSiteSettings.visible", "categoryNameKey")
|
||||||
category(categories, nameKey) {
|
category(categories, nameKey) {
|
||||||
return (categories || []).findBy("nameKey", nameKey);
|
return (categories || []).findBy("nameKey", nameKey);
|
||||||
},
|
},
|
||||||
|
@ -2,6 +2,8 @@ import debounce from "discourse/lib/debounce";
|
|||||||
|
|
||||||
export default Ember.Controller.extend({
|
export default Ember.Controller.extend({
|
||||||
filter: null,
|
filter: null,
|
||||||
|
allSiteSettings: Ember.computed.alias("model"),
|
||||||
|
visible: null,
|
||||||
onlyOverridden: false,
|
onlyOverridden: false,
|
||||||
|
|
||||||
filterContentNow(category) {
|
filterContentNow(category) {
|
||||||
@ -14,7 +16,7 @@ export default Ember.Controller.extend({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((!filter || 0 === filter.length) && !this.get("onlyOverridden")) {
|
if ((!filter || 0 === filter.length) && !this.get("onlyOverridden")) {
|
||||||
this.set("model", this.get("allSiteSettings"));
|
this.set("visible", this.get("allSiteSettings"));
|
||||||
this.transitionToRoute("adminSiteSettings");
|
this.transitionToRoute("adminSiteSettings");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -62,7 +64,7 @@ export default Ember.Controller.extend({
|
|||||||
all.hasMore = matches.length > 30;
|
all.hasMore = matches.length > 30;
|
||||||
all.count = all.hasMore ? "30+" : matches.length;
|
all.count = all.hasMore ? "30+" : matches.length;
|
||||||
|
|
||||||
this.set("model", matchesGroupedByCategory);
|
this.set("visible", matchesGroupedByCategory);
|
||||||
this.transitionToRoute(
|
this.transitionToRoute(
|
||||||
"adminSiteSettingsCategory",
|
"adminSiteSettingsCategory",
|
||||||
category || "all_results"
|
category || "all_results"
|
||||||
|
@ -6,7 +6,7 @@ export default Discourse.Route.extend({
|
|||||||
beforeModel() {
|
beforeModel() {
|
||||||
this.replaceWith(
|
this.replaceWith(
|
||||||
"adminSiteSettingsCategory",
|
"adminSiteSettingsCategory",
|
||||||
this.modelFor("adminSiteSettings")[0].nameKey
|
this.controllerFor("adminSiteSettings").get("visible")[0].nameKey
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -10,9 +10,10 @@ export default Discourse.Route.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
afterModel(siteSettings) {
|
afterModel(siteSettings) {
|
||||||
this.controllerFor("adminSiteSettings").set(
|
const controller = this.controllerFor("adminSiteSettings");
|
||||||
"allSiteSettings",
|
|
||||||
siteSettings
|
if (!controller.get("visible")) {
|
||||||
);
|
controller.set("visible", siteSettings);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
<div class="admin-nav pull-left">
|
<div class="admin-nav pull-left">
|
||||||
<ul class="nav nav-stacked">
|
<ul class="nav nav-stacked">
|
||||||
{{#each model as |category|}}
|
{{#each visible as |category|}}
|
||||||
<li class="{{category.nameKey}}">
|
<li class="{{category.nameKey}}">
|
||||||
{{#link-to 'adminSiteSettingsCategory' category.nameKey class=category.nameKey}}
|
{{#link-to 'adminSiteSettingsCategory' category.nameKey class=category.nameKey}}
|
||||||
{{category.name}}
|
{{category.name}}
|
||||||
|
@ -54,3 +54,20 @@ QUnit.test("changing value updates dirty state", async assert => {
|
|||||||
"saving via Enter key marks setting as overriden"
|
"saving via Enter key marks setting as overriden"
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
QUnit.test(
|
||||||
|
"always shows filtered site settings if a filter is set",
|
||||||
|
async assert => {
|
||||||
|
await visit("/admin/site_settings");
|
||||||
|
await fillIn("#setting-filter", "title");
|
||||||
|
assert.equal(count(".row.setting"), 1);
|
||||||
|
|
||||||
|
// navigate away to the "Dashboard" page
|
||||||
|
await click(".nav.nav-pills li:nth-child(1) a");
|
||||||
|
assert.equal(count(".row.setting"), 0);
|
||||||
|
|
||||||
|
// navigate back to the "Settings" page
|
||||||
|
await click(".nav.nav-pills li:nth-child(2) a");
|
||||||
|
assert.equal(count(".row.setting"), 1);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user