discourse/app/assets/javascripts/admin/addon/components/theme-setting-relatives-selector.js
Osama Sayegh 22093826d7
FIX: Make theme relative selectors save (#33344)
The parent component of `ThemeSettingRelativesSelectorComponent`,
`SiteSettingComponent`, has recently been migrated from being a legacy
component to a Glimmer component (in
https://github.com/discourse/discourse/pull/33255), but we missed
updating the child class to use Glimmer's patterns, namely how arguments
are accessed in Glimmer components (`this.args.foo` vs `this.foo`).
2025-06-25 14:06:13 +03:00

24 lines
600 B
JavaScript
Vendored

import SiteSettingComponent from "./site-setting";
export default class ThemeSettingRelativesSelectorComponent extends SiteSettingComponent {
_save() {
return this.args.model.save({
[this.args.setting.setting]: this.convertNamesToIds(),
});
}
convertNamesToIds() {
return this.buffered
.get("value")
.split("|")
.filter(Boolean)
.map((themeName) => {
if (themeName !== "") {
return this.args.setting.allThemes.find(
(theme) => theme.name === themeName
).id;
}
return themeName;
});
}
}