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
2015-08-19 12:09:10 -04:00

38 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')
});