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
2019-05-27 10:15:39 +02:00

40 lines
1016 B
JavaScript

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