Good day all,
Models:
lesson
title: DS.attr('string'), guild: DS.belongsTo('guild')
guild
title: DS.attr('string'), color: DS.attr('string')
I create structure for full-calendar in lessons controller
events: function(){
var lessons = this.get('model');
var events = [];
lessons.map(function(lesson){
events.push({
'title' : lesson.get('title'),
'start' : lesson.get('start'),
'end' : lesson.get('end'),
'color' : lesson.get('guild.color'), // return undefined
'lesson': lesson
});
});
return events;
}.property('model')
or
events: function(){
var lessons = this.get('model');
var events = [];
lessons.map(function(lesson){
events.push({
'title' : lesson.get('title'),
'start' : lesson.get('start'),
'end' : lesson.get('end'),
'color' : lesson.get('color'), // return undefined
'lesson': lesson
});
});
return events;
}.property('model')
But have trouble for resolve lesson.guild.color relation I try add new property in model that compute color from guild, like this:
title: DS.attr('string'),
guild: DS.belongsTo('guild'),
color: function(){
return this.get('guild.color');
}.property('guild.color')
thx, engma. But this work only for Handlebars, because it is resolve all promises.
If any know how to get properly color from guild entity, would be great..
Heh, i try this:
events: function(){
var lessons = this.get('model');
var events = [];
var guildPromisses = lessons.getEach('guild');
return Ember.RSVP.all(guildPromisses).then(function(guilds){
return lessons.map(function(lesson){
events.push({
'title': lesson.get('title'),
'start': lesson.get('start'),
'end': lesson.get('end'),
'color': lesson.get('guild.color')
});
});
}).then(function(result){
return events;
});
}.property('model'),
This work, but i think it return Promise :)