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.es6
2019-10-23 12:30:52 -04:00

48 lines
1.2 KiB
JavaScript

import Component from "@ember/component";
import { ajax } from "discourse/lib/ajax";
import computed from "ember-addons/ember-computed-decorators";
export default Component.extend({
classNames: ["badge-title"],
saved: false,
saving: false,
@computed("saving")
savingStatus(saving) {
return saving ? I18n.t("saving") : I18n.t("save");
},
@computed("selectableUserBadges", "selectedUserBadgeId")
selectedUserBadge(selectableUserBadges, selectedUserBadgeId) {
return selectableUserBadges.findBy("id", parseInt(selectedUserBadgeId));
},
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"));
}
);
}
}
});