cms/app-client/app/models/document.js
changeset 487 514dc9b6f875
parent 445 b1e5ad6b2a29
child 488 0161e028afb7
--- 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;
     }),