1 import DS from 'ember-data'; |
1 import DS from 'ember-data'; |
2 import Ember from 'ember'; |
2 import Ember from 'ember'; |
3 import _ from 'lodash/lodash'; |
3 import _ from 'lodash/lodash'; |
4 |
4 |
5 var CPDocument = DS.Model.extend({ |
5 var CPDocument = DS.Model.extend({ |
6 // id: DS.attr('string'), |
|
7 uri: DS.attr('string'), |
|
8 title: DS.attr('string'), |
|
9 language: DS.attr('string'), |
|
10 publishers: DS.attr({defaultValue: []}), |
|
11 contributors: DS.attr({defaultValue: []}), |
|
12 mediaArray: DS.attr({defaultValue: []}), |
|
13 mediaList: Ember.computed('mediaArray', function() { |
|
14 var res = []; |
|
15 var mp3 = null; |
|
16 _.forEach(this.get('mediaArray'), function(m) { |
|
17 if(m.format === 'audio/mpeg') { |
|
18 mp3 = m; |
|
19 } else if (m.format.startsWith('audio/')) { |
|
20 res.push(m); |
|
21 } |
|
22 }); |
|
23 if(mp3) { |
|
24 res.unshift(mp3); |
|
25 } |
|
26 return res; |
|
27 }) |
|
28 }); |
|
29 |
6 |
30 CPDocument.reopenClass({ |
7 uri: DS.attr('string'), |
31 FIXTURES: [ |
8 title: DS.attr('string'), |
|
9 language: DS.attr('string'), |
|
10 publishers: DS.attr({ defaultValue: function() { return []; } }), |
|
11 contributors: DS.attr({ defaultValue: function() { return []; } }), |
|
12 mediaArray: DS.attr({ defaultValue: function() { return []; } }), |
32 |
13 |
33 ] |
14 mediaList: Ember.computed('mediaArray', function() { |
|
15 var res = []; |
|
16 var mp3 = null; |
|
17 _.forEach(this.get('mediaArray'), function(m) { |
|
18 if(m.format === 'audio/mpeg') { |
|
19 mp3 = m; |
|
20 } else if(m.format.startsWith('audio/')) { |
|
21 res.push(m); |
|
22 } |
|
23 }); |
|
24 if(mp3) { |
|
25 res.unshift(mp3); |
|
26 } |
|
27 return res; |
|
28 }) |
|
29 |
34 }); |
30 }); |
35 |
31 |
36 export default CPDocument; |
32 export default CPDocument; |