wejsv2old-plugin-rating
Version:
We.js v2 Old - Rating Plugin
61 lines (54 loc) • 1.4 kB
JavaScript
App.RatingsCriarController = Ember.ObjectController.extend({
breadCrumb: 'Criar',
valid: false,
activeOpts: [{
text: 'Sim',
id: true
}, {
text: 'Não',
id: false
}],
modelsFiltered: Ember.computed.filter('model.models', function (m) {
var usedModels = this.get('model.ratingmanager').mapBy('modelName');
if (usedModels.indexOf(m) > -1) return false;
return true;
}),
modelsOpts: Ember.computed.sort('modelsFiltered', function (a, b){
if (a > b) {
return 1;
} else {
return -1;
}
return 0;
}),
newRateManager: {
active: true
},
cleanModelName: function (){
this.set('newRateManager.modelName', null);
}.observes('noModelName'),
validateForm: function (){
if ( this.get('noModelName') ) {
if ( this.get('newRateManager.vocabulary') ) {
return this.set('valid', true);
}
}
else if ( this.get('newRateManager.modelName')
&& this.get('newRateManager.vocabulary')) {
return this.set('valid', true);
}
return this.set('valid', false)
}.observes('newRateManager.modelName', 'newRateManager.vocabulary', 'newRateManager.active'),
actions: {
create: function (){
var self = this;
if (!self.get('valid')) return;
var ratingmanager = self.store.createRecord('ratingmanager', self.get('newRateManager'));
ratingmanager
.save()
.then(function (){
return self.transitionToRoute('ratings');
});
}
}
});