6 |
6 |
7 uri: DS.attr('string'), |
7 uri: DS.attr('string'), |
8 issued: DS.attr('date'), |
8 issued: DS.attr('date'), |
9 title: DS.attr('string'), |
9 title: DS.attr('string'), |
10 language: DS.attr('string'), |
10 language: DS.attr('string'), |
|
11 duration_ms: DS.attr('number', { |
|
12 defaultValue: function() { |
|
13 var self = this; |
|
14 var duration = 0; |
|
15 Object.keys(this.get('mediaArray')).forEach(function(key) { |
|
16 if (!duration && self.get('mediaArray')[key].extent_ms) { |
|
17 duration = self.get('mediaArray')[key].extent_ms; |
|
18 } |
|
19 }); |
|
20 return duration; |
|
21 } |
|
22 }), |
|
23 publisher: DS.attr('string'), |
11 publishers: DS.attr({ defaultValue: function() { return []; } }), |
24 publishers: DS.attr({ defaultValue: function() { return []; } }), |
12 contributors: DS.attr({ defaultValue: function() { return []; } }), |
25 contributors: DS.attr({ defaultValue: function() { return []; } }), |
13 geoInfo: DS.attr({ defaultValue: function() { return {}; } }), |
26 geoInfo: DS.attr({ defaultValue: function() { return {}; } }), |
14 mediaArray: DS.attr({ defaultValue: function() { return []; } }), |
27 mediaArray: DS.attr({ defaultValue: function() { return []; } }), |
15 |
28 |
27 res.unshift(mp3); |
40 res.unshift(mp3); |
28 } |
41 } |
29 return res; |
42 return res; |
30 }), |
43 }), |
31 |
44 |
32 duration: Ember.computed('mediaArray', function() { |
45 duration: Ember.computed('duration_ms', function() { |
33 var self = this; |
46 return this.get('duration_ms')/1000; |
34 var duration = 0; |
47 }), |
35 Object.keys(this.get('mediaArray')).forEach(function(key) { |
48 |
36 if (!duration && self.get('mediaArray')[key].extent_ms) { |
49 publishers_disp: Ember.computed('publisher', 'publishers', function() { |
37 duration = self.get('mediaArray')[key].extent_ms; |
50 return this.get('publisher')?this.get('publisher'):this.get('publishers').join(', '); |
38 } |
|
39 }); |
|
40 return duration / 1000; |
|
41 }) |
51 }) |
42 |
52 |
43 }); |
53 }); |