14 publishers: DS.attr({ defaultValue: function() { return []; } }), |
14 publishers: DS.attr({ defaultValue: function() { return []; } }), |
15 contributors: DS.attr({ defaultValue: function() { return []; } }), |
15 contributors: DS.attr({ defaultValue: function() { return []; } }), |
16 geoInfo: DS.attr({ defaultValue: function() { return {}; } }), |
16 geoInfo: DS.attr({ defaultValue: function() { return {}; } }), |
17 mediaArray: DS.attr({ defaultValue: function() { return []; } }), |
17 mediaArray: DS.attr({ defaultValue: function() { return []; } }), |
18 subjects: DS.attr({ defaultValue: function() { return []; } }), |
18 subjects: DS.attr({ defaultValue: function() { return []; } }), |
19 |
|
20 computedSubjects: Ember.computed('subjects', function() { |
|
21 var array = []; |
|
22 this.get('subjects').forEach(function(subject) { |
|
23 var object = {}; |
|
24 if(typeof subject === 'object') { |
|
25 if(subject.datatype) { |
|
26 object['url'] = subject.datatype; |
|
27 } |
|
28 if(subject.value) { |
|
29 object['name'] = subject.value; |
|
30 } |
|
31 } else { |
|
32 object['url'] = subject; |
|
33 } |
|
34 array.push(object); |
|
35 }); |
|
36 return array; |
|
37 }), |
|
38 |
|
39 |
19 |
40 duration_ms: DS.attr('number', { |
20 duration_ms: DS.attr('number', { |
41 defaultValue: function() { |
21 defaultValue: function() { |
42 var self = this; |
22 var self = this; |
43 var duration = 0; |
23 var duration = 0; |