This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/components/badge-title.js
2020-03-12 13:29:55 -04:00

43 lines
1.1 KiB
JavaScript

import discourseComputed from "discourse-common/utils/decorators";
import Component from "@ember/component";
import { ajax } from "discourse/lib/ajax";
export default Component.extend({
classNames: ["badge-title"],
saved: false,
saving: false,
@discourseComputed("selectableUserBadges", "selectedUserBadgeId")
selectedUserBadge(selectableUserBadges, selectedUserBadgeId) {
return selectableUserBadges.findBy("id", parseInt(selectedUserBadgeId, 10));
},
actions: {
save() {
this.setProperties({ saved: false, saving: true });
const badge_id = this.selectedUserBadgeId || 0;
ajax(this.currentUser.path + "/preferences/badge_title", {
type: "PUT",
data: { user_badge_id: badge_id }
}).then(
() => {
this.setProperties({
saved: true,
saving: false
});
this.currentUser.set(
"title",
this.get("selectedUserBadge.badge.name")
);
},
() => {
bootbox.alert(I18n.t("generic_error"));
}
);
}
}
});