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/mixins/badge-select-controller.js.es6
2018-06-15 17:03:24 +02:00

41 lines
1.0 KiB
JavaScript

import Badge from "discourse/models/badge";
export default Ember.Mixin.create({
saving: false,
saved: false,
selectableUserBadges: function() {
let items = this.get("filteredList");
items = _.uniq(items, false, function(e) {
return e.get("badge.name");
});
items.unshiftObject(
Em.Object.create({
badge: Badge.create({ name: I18n.t("badges.none") })
})
);
return items;
}.property("filteredList"),
savingStatus: function() {
if (this.get("saving")) {
return I18n.t("saving");
} else {
return I18n.t("save");
}
}.property("saving"),
selectedUserBadge: function() {
const selectedUserBadgeId = parseInt(this.get("selectedUserBadgeId"));
let selectedUserBadge = null;
this.get("selectableUserBadges").forEach(function(userBadge) {
if (userBadge.get("id") === selectedUserBadgeId) {
selectedUserBadge = userBadge;
}
});
return selectedUserBadge;
}.property("selectedUserBadgeId"),
disableSave: Em.computed.alias("saving")
});