diff --git a/static/js/infoView.padma.js b/static/js/infoView.padma.js
index ffd59e3b..f32817b5 100644
--- a/static/js/infoView.padma.js
+++ b/static/js/infoView.padma.js
@@ -31,6 +31,16 @@ pandora.ui.infoView = function(data, isMixed) {
return key.id;
}),
posterKeys = ['title', 'date'],
+ displayedKeys = [ // FIXME: can tis be a flag in the config?
+ 'title', 'notes', 'name', 'summary', 'id',
+ 'hue', 'saturation', 'lightness', 'cutsperminute', 'volume',
+ 'user', 'rightslevel', 'bitrate', 'timesaccessed',
+ 'numberoffiles', 'numberofannotations', 'numberofcuts', 'words', 'wordsperminute',
+ 'annotations', 'groups', 'filename',
+ 'duration', 'aspectratio', 'pixels', 'size', 'resolution',
+ 'created', 'modified', 'accessed',
+ 'random'
+ ],
statisticsWidth = 128,
$bar = Ox.Bar({size: 16})
@@ -236,6 +246,7 @@ pandora.ui.infoView = function(data, isMixed) {
if (!isMultiple) {
['source', 'project'].forEach(function(key) {
+ displayedKeys.push(key);
if (canEdit || data[key]) {
var $div = $('
')
.addClass('OxSelectable')
@@ -379,7 +390,7 @@ pandora.ui.infoView = function(data, isMixed) {
// License -----------------------------------------------------------------
- renderGroup(['license']);
+ Ox.getObjectById(pandora.site.itemKeys, 'license') && renderGroup(['license']);
$('
')
@@ -388,6 +399,9 @@ pandora.ui.infoView = function(data, isMixed) {
.css({height: '16px'})
.appendTo($text);
+ // Render any remaing keys defined in config
+
+ renderRemainingKeys();
// Duration, Aspect Ratio --------------------------------------------------
@@ -649,6 +663,7 @@ pandora.ui.infoView = function(data, isMixed) {
function renderGroup(keys) {
var $element;
+ keys.forEach(function(key) { displayedKeys.push(key) });
if (canEdit || keys.filter(function(key) {
return data[key];
}).length) {
@@ -691,6 +706,18 @@ pandora.ui.infoView = function(data, isMixed) {
return $element;
}
+ function renderRemainingKeys() {
+ var keys = pandora.site.itemKeys.filter(function(item) {
+ return item.id != '*' && item.type != 'layer' && !Ox.contains(displayedKeys, item.id);
+ }).map(function(item) {
+ return item.id;
+ });
+ if (keys.length) {
+ renderGroup(keys)
+ }
+ }
+
+
function toggleIconSize() {
iconSize = iconSize == 256 ? 512 : 256;
iconWidth = iconRatio > 1 ? iconSize : Math.round(iconSize * iconRatio);
diff --git a/static/mobile/js/edits.js b/static/mobile/js/edits.js
index 25fa0027..d9f967b8 100644
--- a/static/mobile/js/edits.js
+++ b/static/mobile/js/edits.js
@@ -140,7 +140,7 @@ async function loadEdit(id, args) {
} else {
var video = {}
var oshash = clip.streams[idx]
- video.src = getVideoURL(clip.item, 480, idx+1, '', oshash)
+ video.src = getVideoURL(clip.item, pandora.resolution, idx+1, '', oshash)
/*
if (clip['in'] && clip.out) {
video.src += `#t=${clip['in']},${clip.out}`
@@ -222,7 +222,7 @@ async function loadEdit(id, args) {
data.title = data.edit.name
data.byline = data.edit.description
data.link = `${pandora.proto}://${data.site}/edits/${data.edit.id}`
- data.poster = data.videos[0].src.split('/48')[0] + `/480p${data.videos[0].in}.jpg`
+ data.poster = data.videos[0].src.split('/' + pandora.resolution)[0] + `/${pandora.resolution}p${data.videos[0].in}.jpg`
data.aspectratio = data.edit.clips[0].videoRatio
data.duration = data.edit.duration
return data
diff --git a/static/mobile/js/item.js b/static/mobile/js/item.js
index 3a57bcba..9e1a6d73 100644
--- a/static/mobile/js/item.js
+++ b/static/mobile/js/item.js
@@ -99,7 +99,7 @@ async function loadData(id, args) {
data.videos = []
data.item.durations.forEach((duration, idx) => {
var oshash = data.item.streams[idx]
- var url = getVideoURL(data.item.id, 480, idx+1, '', oshash)
+ var url = getVideoURL(data.item.id, pandora.resolution, idx+1, '', oshash)
data.videos.push({
src: url,
duration: duration
@@ -138,7 +138,7 @@ async function loadData(id, args) {
data.byline = data.item.director ? data.item.director.join(', ') : ''
}
data.link = `${pandora.proto}://${data.site}/${data.item.id}/${data["in"]},${data.out}`
- data.poster = `${pandora.proto}://${data.site}/${data.item.id}/480p${data["in"]}.jpg`
+ data.poster = `${pandora.proto}://${data.site}/${data.item.id}/${pandora.resolution}p${data["in"]}.jpg`
data.aspectratio = data.item.videoRatio
if (data['in'] == data['out']) {
data['out'] += 0.04
diff --git a/static/mobile/js/main.js b/static/mobile/js/main.js
index 56a00b17..9d0f3c42 100644
--- a/static/mobile/js/main.js
+++ b/static/mobile/js/main.js
@@ -100,6 +100,7 @@ pandoraAPI("init").then(response => {
...response.data
}
pandora.proto = pandora.site.site.https ? 'https' : 'http'
+ pandora.resolution = Math.max.apply(null, pandora.site.video.resolutions)
if (pandora.site.site.videoprefix.startsWith('//')) {
pandora.site.site.videoprefix = pandora.proto + ':' + pandora.site.site.videoprefix
}