--- a/cms/app-client/app/models/document.js Fri Dec 23 13:24:04 2016 +0100
+++ b/cms/app-client/app/models/document.js Tue Jan 17 13:30:54 2017 +0100
@@ -3,6 +3,7 @@
import _ from 'lodash/lodash';
export default DS.Model.extend({
+ constants: Ember.inject.service(),
uri: DS.attr('string'),
issued: DS.attr('date'),
@@ -34,16 +35,28 @@
media: Ember.computed('mediaArray', function() {
var array = [];
+ var master = null;
_.forEach(this.get('mediaArray'), function(media) {
var index = array.findIndex(element => element.format === media.format);
- if(index > -1) {
- if (media.master) {
- array.splice(index, 1, media);
- }
- } else {
+ if(media.master) {
+ master = media;
+ }
+ if(index === -1 && !media.master) {
array.push(media);
}
});
+ array.sort((m1, m2) => {
+
+ const f1 = m1.format;
+ const f2 = m2.format;
+ const w1 = this.get('constants').MEDIA_TYPE_WEIGHT[f1] || 0;
+ const w2 = this.get('constants').MEDIA_TYPE_WEIGHT[f2] || 0;
+
+ return w1-w2;
+ });
+ if(array.length === 0 && master) {
+ array.push(master);
+ }
return array;
}),