# HG changeset patch # User ymh # Date 1484656254 -3600 # Node ID 514dc9b6f875ef634357e28289d5909b892f55bf # Parent 44a5801ed246cc35e3a2f9d470867ebfef6115ec Reorder media files for notice. Make the most compressed one (mp3, mp4) the default. Closes #0025878 diff -r 44a5801ed246 -r 514dc9b6f875 cms/app-client/app/models/document.js --- 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; }), diff -r 44a5801ed246 -r 514dc9b6f875 cms/app-client/app/services/constants.js --- a/cms/app-client/app/services/constants.js Fri Dec 23 13:24:04 2016 +0100 +++ b/cms/app-client/app/services/constants.js Tue Jan 17 13:30:54 2017 +0100 @@ -312,6 +312,17 @@ const AUTOSCROLL_RATE = 35; // 35px/s +const MEDIA_TYPE_WEIGHT = { + "audio/mpeg": 1, + "audio/x-wav": 2, + "video/3gpp": 10, + "video/ogg": 11, + "video/mp4": 12, + "video/x-msvideo": 13, + "video/quicktime": 14, + "video/mpeg": 15 +}; + export default Ember.Service.extend({ OLAC_ROLES: OLAC_ROLES, DISCOURSE_CATEGORY_KEYS: DISCOURSE_CATEGORY_KEYS, @@ -322,5 +333,6 @@ LEXVO_BASE_URL: "http://lexvo.org/id/iso639-3/", LANGUAGES_TREEMAP: LANGUAGES_TREEMAP, DOCUMENTS_PAGINATION_PERPAGE : DOCUMENTS_PAGINATION_PERPAGE, - AUTOSCROLL_RATE: AUTOSCROLL_RATE + AUTOSCROLL_RATE: AUTOSCROLL_RATE, + MEDIA_TYPE_WEIGHT: MEDIA_TYPE_WEIGHT }); diff -r 44a5801ed246 -r 514dc9b6f875 dev/Vagrantfile --- a/dev/Vagrantfile Fri Dec 23 13:24:04 2016 +0100 +++ b/dev/Vagrantfile Tue Jan 17 13:30:54 2017 +0100 @@ -97,6 +97,9 @@ # sudo apt-get update # sudo apt-get install -y apache2 # SHELL + # cf: https://github.com/mitchellh/vagrant/issues/5590#issuecomment-105886361 + config.vm.provision "shell", inline: "nmcli connection reload; systemctl restart network.service", run: "always" + config.vm.provision :shell do |shell| #initialize puppet shell.name = "puppet_initialize" @@ -109,6 +112,7 @@ shell.inline = "[ ! -d '/tmp/vagrant-puppet' ] && mkdir -p '/tmp/vagrant-puppet' || :;" end + config.vm.provision :puppet do |puppet| puppet.manifests_path = "provisioning" puppet.manifest_file = "default.pp"