diff --git a/static/js/pandora/ui/info.js b/static/js/pandora/ui/info.js index 41c17984..72e499a8 100644 --- a/static/js/pandora/ui/info.js +++ b/static/js/pandora/ui/info.js @@ -9,54 +9,47 @@ pandora.ui.info = function(id) { } }); if (id) { - if (!pandora.user.ui.item && pandora.user.ui.lists[pandora.user.ui.list].listView == 'clip') { + if (!pandora.user.ui.item && pandora.isClipView(pandora.user.ui.lists[pandora.user.ui.list].listView)) { // Poster - pandora.api.get({id: id, keys: ['posterRatio']}, function(result) { + pandora.api.get({id: id, keys: ['director', 'posterRatio', 'title']}, function(result) { var ratio = result.data.posterRatio, - height = pandora.user.ui.sidebarSize; + height = Math.min(pandora.user.ui.sidebarSize, 256); that.empty().append( - $('').attr({ - src: '/' + id + '/poster' + pandora.user.ui.sidebarSize + '.jpg' + Ox.Element({ + element: '', + tooltip: '' + result.data.title + '' + ( + result.data.director ? '
' + result.data.director.join(', ') : '' + ) + }).attr({ + src: '/' + id + '/poster256.jpg' }).css({ position: 'absolute', left: 0, top: 0, right: 0, bottom: 0, + height: height + 'px', margin: 'auto' }) ); pandora.user.infoRatio = 1; - resize(height); }); } else { // Video Preview pandora.api.get({id: id, keys: ['duration', 'videoRatio']}, function(result) { - if(result.data) { - var height = Math.round(pandora.user.ui.sidebarSize / result.data.videoRatio) + 16; + if (result.data) { pandora.$ui.videoPreview && pandora.$ui.videoPreview.removeElement(); pandora.$ui.videoPreview = pandora.ui.videoPreview({ id: id, duration: result.data.duration, - ratio: result.data.videoRatio + frameRatio: result.data.videoRatio }).appendTo(pandora.$ui.info); - pandora.user.infoRatio = pandora.user.ui.sidebarSize / height; - resize(height); } }); } } else if (pandora.$ui.leftPanel) { - pandora.user.infoRatio = 1; - resize(pandora.user.ui.sidebarSize); - } - function resize(height) { - !pandora.user.ui.showInfo && pandora.$ui.leftPanel.css({bottom: -height}); - pandora.$ui.leftPanel.size(2, height); - that.animate({ - height: height + 'px' - }, 250, function() { - pandora.resizeFolders(); - }); + //pandora.user.infoRatio = 1; + //resize(pandora.user.ui.sidebarSize); } return that; }; diff --git a/static/js/pandora/ui/leftPanel.js b/static/js/pandora/ui/leftPanel.js index 7b3fa47e..5aa21c0d 100644 --- a/static/js/pandora/ui/leftPanel.js +++ b/static/js/pandora/ui/leftPanel.js @@ -13,7 +13,7 @@ pandora.ui.leftPanel = function() { collapsed: !pandora.user.ui.showInfo, collapsible: true, element: pandora.$ui.info = pandora.ui.info(), - size: Math.round(pandora.user.ui.sidebarSize / pandora.user.infoRatio), + size: Math.min(pandora.user.ui.sidebarSize, 256), tooltip: 'info' } ], @@ -23,7 +23,8 @@ pandora.ui.leftPanel = function() { .bindEvent({ resize: function(data) { Ox.print('LEFT PANEL RESIZE') - var infoSize = Math.round(data.size / pandora.user.infoRatio); + var infoSize = Math.min(data.size, 256); + // fixme: don't make a request here: pandora.UI.set('sidebarSize', data.size); if (data.size < pandora.site.sectionButtonsWidth && pandora.$ui.sectionButtons) { pandora.$ui.sectionButtons.removeElement(); @@ -36,10 +37,14 @@ pandora.ui.leftPanel = function() { } !pandora.user.ui.showInfo && pandora.$ui.leftPanel.css({bottom: -infoSize}); pandora.$ui.leftPanel.size(2, infoSize); - pandora.$ui.videoPreview && pandora.$ui.videoPreview.options({ - frameHeight: infoSize - 16, - frameWidth: data.size - }); + if (pandora.$ui.videoPreview) { + pandora.$ui.videoPreview.options({ + height: infoSize, + width: data.size + }); + } else { + pandora.$ui.info.find('img').css({height: infoSize + 'px'}) + } pandora.resizeFolders(); }, resizeend: function(data) { diff --git a/static/js/pandora/ui/videoPreview.js b/static/js/pandora/ui/videoPreview.js index 254ad3e4..03561dba 100644 --- a/static/js/pandora/ui/videoPreview.js +++ b/static/js/pandora/ui/videoPreview.js @@ -1,13 +1,11 @@ // vim: et:ts=4:sw=4:sts=4:ft=javascript pandora.ui.videoPreview = function(data) { - var frameWidth = pandora.user.ui.sidebarSize, - frameHeight = Math.round(frameWidth / data.ratio), - that = Ox.VideoPreview({ + var that = Ox.VideoPreview({ duration: data.duration, getFrame: function(position) { var width = pandora.user.ui.sidebarSize, - height = Math.round(width / pandora.user.infoRatio), + height = Math.min(width, 256), resolution = Ox.filter(pandora.site.video.resolutions, function(resolution, i) { return resolution >= height || i == pandora.site.video.resolutions.length - 1; })[0]; @@ -15,9 +13,10 @@ pandora.ui.videoPreview = function(data) { Ox.isUndefined(position) ? '' : position ) + '.jpg'; }, - frameHeight: frameHeight, - frameWidth: frameWidth, + frameRatio: data.frameRatio, + height: Math.min(pandora.user.ui.sidebarSize, 256), timeline: '/' + data.id + '/timeline16p.png', + width: pandora.user.ui.sidebarSize }) .bindEvent({ click: function(event) { @@ -28,16 +27,16 @@ pandora.ui.videoPreview = function(data) { position: event.position }); } else { - pandora.UI.set('videoPosition|' + data.id, event.position); + pandora.UI.set( + 'videoPoints|' + data.id, + {'in': 0, out: 0, position: event.position} + ); pandora.URL.set( '/' + data.id + '/timeline' //'/' + Ox.formatDuration(event.position, 2) ); } } }); - function getResolution() { - return - } return that; };