Reorder media files for notice. Make the most compressed one (mp3, mp4) the default. Closes #0025878
--- 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;
}),
--- 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
});
--- 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"