28 lines
780 B
JavaScript
28 lines
780 B
JavaScript
|
import BufferedContent from "discourse/mixins/buffered-content";
|
||
|
import Component from "@ember/component";
|
||
|
import SettingComponent from "admin/mixins/setting-component";
|
||
|
|
||
|
export default Component.extend(BufferedContent, SettingComponent, {
|
||
|
layoutName: "admin/templates/components/site-setting",
|
||
|
|
||
|
_save() {
|
||
|
return this.model
|
||
|
.save({ [this.setting.setting]: this.convertNamesToIds() })
|
||
|
.then(() => this.store.findAll("theme"));
|
||
|
},
|
||
|
|
||
|
convertNamesToIds() {
|
||
|
return this.get("buffered.value")
|
||
|
.split("|")
|
||
|
.filter(Boolean)
|
||
|
.map((themeName) => {
|
||
|
if (themeName !== "") {
|
||
|
return this.setting.allThemes.find(
|
||
|
(theme) => theme.name === themeName
|
||
|
).id;
|
||
|
}
|
||
|
return themeName;
|
||
|
});
|
||
|
},
|
||
|
});
|