diff options
author | Valentin Grouès <neoflexx@gmail.com> | 2011-07-03 23:59:50 +0200 |
---|---|---|
committer | Valentin Grouès <neoflexx@gmail.com> | 2011-07-10 00:25:00 +0200 |
commit | f75f6497bb28e5be0e101b37857c6d471789e888 (patch) | |
tree | 6f9a683bfdc8fe3a64293629e38f6167f7d27d0f | |
parent | 9d8f298e9b539c814de58cc684cbfc6acadafade (diff) |
work on the TV Show section of the default webserver + other small fixes and UI improvements
-rwxr-xr-x[-rw-r--r--] | addons/webinterface.default/css/core.css | 151 | ||||
-rwxr-xr-x[-rw-r--r--] | addons/webinterface.default/index.html | 2 | ||||
-rw-r--r-- | addons/webinterface.default/js/Core.js | 24 | ||||
-rwxr-xr-x[-rw-r--r--] | addons/webinterface.default/js/MediaLibrary.js | 254 | ||||
-rwxr-xr-x[-rw-r--r--] | addons/webinterface.default/js/NowPlayingManager.js | 23 |
5 files changed, 354 insertions, 100 deletions
diff --git a/addons/webinterface.default/css/core.css b/addons/webinterface.default/css/core.css index d22db5e381..a549bebf10 100644..100755 --- a/addons/webinterface.default/css/core.css +++ b/addons/webinterface.default/css/core.css @@ -80,24 +80,38 @@ body { .albumView .floatableAlbum:hover { background: transparent; } - + .tvshowContainer .floatableTVShowCover:hover { background: #fff; } - + .floatableTVShowCover { float: left; padding: 10px; width: 379px; height: 70px; } - + +.floatableTVShowCoverSeason { + width: 500px; + height: 70px; + margin-top: 30px; + } + +.toggle .activeMode { + font-weight:700; + } + +#tvshowLibraryContainer { + padding-top:40px; + } + #libraryContainer .floatableAlbum, #movieLibraryContainer .floatableMovieCover, #tvshowLibraryContainer .floatableTVShowCover { cursor: pointer; } - + .floatableAlbum div.imgWrapper, .floatableMovieCover div.imgWrapper, .floatableTVShowCover div.imgWrapper { @@ -108,7 +122,14 @@ body { text-align: center; overflow: hidden; } - + +.floatableTVShowCoverSeason div.imgWrapper { + margin: auto; + height: 70px; + width: 379px; + display:block; + } + div.imgWrapper div.inner { overflow: hidden; width: 130px; @@ -132,7 +153,10 @@ div.imgWrapper div.inner { .floatableTVShowCover div.imgWrapper, .floatableTVShowCover img, -.floatableTVShowCover div.imgWrapper div.inner { +.floatableTVShowCover div.imgWrapper div.inner, +.floatableTVShowCoverSeason div.imgWrapper, +.floatableTVShowCoverSeason img, +.floatableTVShowCoverSeason div.imgWrapper div.inner { height: 70px; width: 379px; } @@ -187,7 +211,7 @@ div.imgWrapper div.inner { top: 74px; } -.albumView .trackRow td { +.albumView .trackRow td, .seasonView .episodeRow td { cursor: pointer; line-height: 14px; font-size: 14px; @@ -195,22 +219,44 @@ div.imgWrapper div.inner { padding-left: 4px; } -.albumView .tr0 { +.albumView .tr0, .seasonView .tr0 { background-color: #efefef; } .albumView .tr0:hover, -.albumView .tr1:hover { +.albumView .tr1:hover, +.seasonView .tr0:hover, +.seasonView .tr1:hover { background-color: blue; color: #fff; } - -.albumView { + +.seasonView .tr0:hover td.info, +.seasonView .tr1:hover td.info{ + background-color: cyan; + } + +.albumView, .seasonView { width: 100%; height: 100%; border-collapse: collapse; } - + +.seasonView td.episodeThumb { + text-align:center; +} +.seasonView td.episodeNumber { + text-align:left; +} +.seasonView td.info { + background: url('data:image/png;base64,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%3D%3D') no-repeat; + background-size: 40%; + background-position: 50% 50%; +} + +.seasonView td.episodeThumb img{ + height:30px; +} .albumView td.albumThumb { padding-left: 0px; border-right: 1px solid #aeaeae; @@ -227,7 +273,7 @@ div.imgWrapper div.inner { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAXCAIAAABF+LJYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NTQ0NDZGQ0U1ODExREZCMjM4ODgyQjJEQTE5ODBBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk4NTQ0NDcwQ0U1ODExREZCMjM4ODgyQjJEQTE5ODBBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTg1NDQ0NkRDRTU4MTFERkIyMzg4ODJCMkRBMTk4MEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTg1NDQ0NkVDRTU4MTFERkIyMzg4ODJCMkRBMTk4MEEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7FuFIdAAAAOklEQVR42kyMUQoAMAhC0+j+J+s2ffXTVtDYA1EUpLsjImhmVFU2IsKqGm1uz8zxX7sBeF1zv44AAwDVBhSDNN7oJQAAAABJRU5ErkJggg%3D%3D') repeat-x; } -.albumView th { +.albumView th, .seasonView th { font-size: 11px; text-align: left; border-left: 1px solid #aeaeae; @@ -237,10 +283,12 @@ div.imgWrapper div.inner { padding-top: 1px; } -.albumView tr.headerRow { +.albumView tr.headerRow, .seasonView tr.headerRow { background-position: 0 -1px; } - +.seasonView tr.headerRow th.thumbHeader{ + width:40px; +} .albumView .albumThumb, .albumView .albumBG { width: 120px; @@ -307,7 +355,7 @@ div.imgWrapper div.inner { /* Movie Overlay */ -.moviePopoverContainer { +.moviePopoverContainer, .episodePopoverContainer{ z-index: 3000; /* Above overlay */ border: 1px solid #000; padding: 10px; @@ -321,7 +369,12 @@ div.imgWrapper div.inner { opacity: 0.9; } -.moviePopoverContainer .closeButton { +.episodePopoverContainer{ + bottom:none; + top:30%; + } + +.moviePopoverContainer .closeButton, .episodePopoverContainer .closeButton { float: right; cursor: pointer; } @@ -333,7 +386,14 @@ div.imgWrapper div.inner { z-index: 3100; } -.moviePopoverContainer .movieTitle { +.episodePopoverContainer .episodeCover { + width: 40%; + padding-right: 20px; + float: left; + z-index: 3100; + } + +.moviePopoverContainer .movieTitle,.episodePopoverContainer .episodeTitle { font-size: 24px; font-weight: 700; color: #fff; @@ -343,11 +403,17 @@ div.imgWrapper div.inner { .moviePopoverContainer .runtime, .moviePopoverContainer .director, .moviePopoverContainer .genre, -.moviePopoverContainer .plot { +.moviePopoverContainer .plot, +.episodePopoverContainer .runtime, +.episodePopoverContainer .director, +.episodePopoverContainer .genre, +.episodePopoverContainer .episode, +.episodePopoverContainer .season, +.episodePopoverContainer .plot { color: #fff; } -.movieTitle .year { +.movieTitle .year,.episodeTitle .year { font-weight: 400; font-size: 18px; } @@ -358,8 +424,10 @@ div.imgWrapper div.inner { z-index: 3500; cursor: pointer; opacity: 0.8; + width:100px; } + .playIcon:hover { opacity: 1; } @@ -391,10 +459,10 @@ div.imgWrapper div.inner { #nowPlayingPanel { height: 130px; - width: 480px; + width: 600px; padding: 10px; } - + #audioCoverArt img { width: 100px; height: 100px; @@ -618,15 +686,20 @@ div.imgWrapper div.inner { background: url('data:image/png;base64,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') no-repeat; } -.tvshowContainer .showDetails, .tvshowContainer .seasonPicker { - clear: both; - float: left; + position: absolute; + right: 5px; + top: 0px; } + +.tvshowContainer .active { + font-weight:bold; + } + .tvshowContainer .episodeListingsContainer { position: absolute; - top: 0px; + top: 40px; left: 500px; width: 500px; padding-bottom: 149px; @@ -643,27 +716,35 @@ div.imgWrapper div.inner { } .episodeListingsContainer li img { - height: 200px; + height: 30px; float: left; } - .tvshowContainer .showDetails { - padding: 10px; - position: absolute; - top: 0; - left: 0; + text-align: center; + width: 100%; + height: 18px; + position: relative; + padding-top: 5px; + background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAXCAIAAABF+LJYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NTQ0NDZGQ0U1ODExREZCMjM4ODgyQjJEQTE5ODBBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk4NTQ0NDcwQ0U1ODExREZCMjM4ODgyQjJEQTE5ODBBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTg1NDQ0NkRDRTU4MTFERkIyMzg4ODJCMkRBMTk4MEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTg1NDQ0NkVDRTU4MTFERkIyMzg4ODJCMkRBMTk4MEEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7FuFIdAAAAOklEQVR42kyMUQoAMAhC0+j+J+s2ffXTVtDYA1EUpLsjImhmVFU2IsKqGm1uz8zxX7sBeF1zv44AAwDVBhSDNN7oJQAAAABJRU5ErkJggg%3D%3D') repeat-x; } - + +.contentContainer .toggle{ + position: absolute; + font-size: 12px; + font-weight: 500; + left: 5px; + top: 4px; +} .tvshowContainer .showDetails p { margin: 0; padding: 0; } .tvshowContainer .showDetails .showTitle { - font-size: 20px; + font-size: 12px; font-weight: 700; } .tvshowContainer .showDetails span.heading { font-weight: 700; - }
\ No newline at end of file + } diff --git a/addons/webinterface.default/index.html b/addons/webinterface.default/index.html index 1603073c78..89fae65a40 100644..100755 --- a/addons/webinterface.default/index.html +++ b/addons/webinterface.default/index.html @@ -21,7 +21,7 @@ <ul> <!-- <li id="remoteControl">Remote</li> --> <li id="movieLibrary">Movies</li> - <!-- <li id="tvshowLibrary">TV Shows</li> --> + <li id="tvshowLibrary">TV Shows</li> <li id="musicLibrary">Music</li> <!-- <li id="pictureLibrary">Pictures</li> TODO: needs pagination --> <!-- <li id="settingsPanel">Settings</li> --> diff --git a/addons/webinterface.default/js/Core.js b/addons/webinterface.default/js/Core.js index 224a0b50f0..5142752e2e 100644 --- a/addons/webinterface.default/js/Core.js +++ b/addons/webinterface.default/js/Core.js @@ -96,4 +96,28 @@ function displayCommunicationError(m) { function hideCommunicationError() { $('#commsErrorPanel').hide(); +} +function setCookie(name,value,days) { + if (days) { + var date = new Date(); + date.setTime(date.getTime()+(days*24*60*60*1000)); + var expires = "; expires="+date.toGMTString(); + } + else var expires = ""; + document.cookie = name+"="+value+expires+"; path=/"; +} + +function getCookie(name) { + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + for(var i=0;i < ca.length;i++) { + var c = ca[i]; + while (c.charAt(0)==' ') c = c.substring(1,c.length); + if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); + } + return null; +} + +function deleteCookie(name) { + setCookie(name,"",-1); }
\ No newline at end of file diff --git a/addons/webinterface.default/js/MediaLibrary.js b/addons/webinterface.default/js/MediaLibrary.js index 348ea5f427..ec2fd5e28d 100644..100755 --- a/addons/webinterface.default/js/MediaLibrary.js +++ b/addons/webinterface.default/js/MediaLibrary.js @@ -25,9 +25,11 @@ var MediaLibrary = function() { } MediaLibrary.prototype = { + init: function() { - this.bindControls(); + this.bindControls(); }, + bindControls: function() { $('#musicLibrary').click(jQuery.proxy(this.musicLibraryOpen, this)); $('#movieLibrary').click(jQuery.proxy(this.movieLibraryOpen, this)); @@ -120,6 +122,9 @@ MediaLibrary.prototype = { case 'tvshow': className = 'floatableTVShowCover'; break; + case 'tvshowseason': + className = 'floatableTVShowCoverSeason'; + break; case 'image': case 'directory': className = 'floatableAlbum'; @@ -242,83 +247,178 @@ MediaLibrary.prototype = { $('#albumDetails' + event.data.album.albumid).show(); } }, + + togglePosterView: function(event){ + var view=event.data.mode; + var wthumblist,hthumblist,hthumbdetails; + $("#toggleBanner").removeClass('activeMode'); + $("#togglePoster").removeClass('activeMode'); + $("#toggleLandscape").removeClass('activeMode'); + switch(view) { + case 'poster': + setCookie('TVView','poster'); + wthumblist='135px'; + hthumblist='199px'; + hthumbdetails='559px'; + $("#togglePoster").addClass('activeMode'); + break; + case 'landscape': + setCookie('TVView','landscape'); + wthumblist='210px'; + hthumblist='118px'; + hthumbdetails='213px'; + $("#toggleLandscape").addClass('activeMode'); + break; + default: //set banner view as default + setCookie('TVView','banner'); + wthumblist='379px'; + hthumblist='70px'; + hthumbdetails='70px'; + $("#toggleBanner").addClass('activeMode'); + break; + } + $(".floatableTVShowCover, .floatableTVShowCover div.imgWrapper, .floatableTVShowCover img, .floatableTVShowCover div.imgWrapper div.inner").css('width',wthumblist).css('height',hthumblist); + $(".floatableTVShowCoverSeason div.imgWrapper, .floatableTVShowCoverSeason div.imgWrapper div.inner,.floatableTVShowCoverSeason img, .floatableTVShowCoverSeason").css('height',hthumbdetails); + }, + displayTVShowDetails: function(event) { var tvshowDetailsContainer = $('#tvShowDetails' + event.data.tvshow.tvshowid); $('#topScrollFade').hide(); + toggle=this.toggle.detach(); if (!tvshowDetailsContainer || tvshowDetailsContainer.length == 0) { $('#spinner').show(); - jQuery.post(JSON_RPC + '?GetTVShowSeasons', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetSeasons", "params": { "fields": [ "season", "showtitle", "playcount", "episode", "thumbnail" ], "tvshowid" : ' + event.data.tvshow.tvshowid + ' }, "id": 1}', jQuery.proxy(function(data) { + jQuery.post(JSON_RPC + '?GetTVShowSeasons', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetSeasons", "params": { "fields": [ "season", "showtitle", "playcount", "episode", "thumbnail","fanart" ], "tvshowid" : ' + event.data.tvshow.tvshowid + ' }, "id": 1}', jQuery.proxy(function(data) { tvshowDetailsContainer = $('<div>'); tvshowDetailsContainer.attr('id', 'tvShowDetails' + event.data.tvshow.tvshowid) .css('display', 'none') .addClass('contentContainer') .addClass('tvshowContainer'); - tvshowDetailsContainer.append(this.generateThumb('tvshow', event.data.tvshow.thumbnail, event.data.tvshow.title)); + var showThumb = this.generateThumb('tvshowseason', event.data.tvshow.thumbnail, event.data.tvshow.title); + if (data && data.result && data.result.seasons && data.result.seasons.length > 0) { - var absWrapper = $('<div>').addClass('showDetailsWrapper'); var showDetails = $('<div>').addClass('showDetails'); + showDetails.append(toggle); showDetails.append($('<p>').html(data.result.seasons[0].showtitle).addClass('showTitle')); - absWrapper.append(showDetails); - var seasonSelectionContainer = $('<div>').addClass('seasonPicker'); - var seasonSelectionList = $('<ul>'); - var episodeCount = 0; - var firstSeason; + var seasonSelectionSelect = $('<select>').addClass('seasonPicker'); + //var episodeCount = 0; + this.tvActiveShowContainer = tvshowDetailsContainer; + //var fanart; $.each($(data.result.seasons), jQuery.proxy(function(i, item) { - episodeCount += item.episode; - var season = $('<li>'); - season.text(item.title); - alert(season.text()); - if (i == 0) { - season.addClass('activeSeason'); - firstSeason = season; - this.tvActiveShowContainer = tvshowDetailsContainer; - } - season.bind('click', {tvshow: event.data.tvshow.tvshowid, season: item, element: season}, jQuery.proxy(this.displaySeasonListings, this)); - seasonSelectionList.append(season); +// if(fanart==null && item.fanart!=null){ +// fanart=item.fanart; +// } +// //episodeCount += item.episode; + var season = $('<option>').attr('value',i); + season.text(item.label); + seasonSelectionSelect.append(season); + }, this)); - showDetails.append($('<p>').html('<span class="heading">Episodes:</span> ' + episodeCount)); - seasonSelectionContainer.append(seasonSelectionList); - absWrapper.append(seasonSelectionContainer); - tvshowDetailsContainer.append(absWrapper); - if (firstSeason) { - firstSeason.trigger('click'); - } +// if(fanart!=null) +// { +// $('.contentContainer').css('background','url("'+this.getThumbnailPath(fanart)+'")').css('background-size','cover'); +// } + seasonSelectionSelect.bind('change', {tvshow: event.data.tvshow.tvshowid, seasons: data.result.seasons, element: seasonSelectionSelect}, jQuery.proxy(this.displaySeasonListings, this)); + //showDetails.append($('<p>').html('<span class="heading">Episodes:</span> ' + episodeCount)); + showDetails.append(seasonSelectionSelect); + tvshowDetailsContainer.append(showDetails); + tvshowDetailsContainer.append(showThumb); + seasonSelectionSelect.trigger('change'); $('#content').append(tvshowDetailsContainer); + if(getCookie('TVView')!=null && getCookie('TVView')!='banner'){ + var view=getCookie('TVView'); + switch(view) { + case 'poster': + togglePoster.trigger('click'); + break; + case 'landscape': + toggleLandscape.trigger('click') + break; + } + } tvshowDetailsContainer.fadeIn(); } $('#spinner').hide(); }, this), 'json'); } else { $('.contentContainer').hide(); - $('#tvShowDetails' + event.data.show.tvshowid); + $('#tvShowDetails' + event.data.tvshow.tvshowid).show(); + $('#tvShowDetails' + event.data.tvshow.tvshowid +' select').trigger('change'); } }, displaySeasonListings: function(event) { - if (event.data.element != this.tvActiveSeason) { - //Remove style from old season. - if (this.tvActiveSeason) { - $(this.tvActiveSeason).removeClass('activeSeason'); - } - //Hide old listings - var oldListings = $('.episodeListingsContainer', this.tvActiveShowContainer).fadeOut(); - //Update ActiveSeason - this.tvActiveSeason = event.data.element; - $(this.tvActiveSeason).addClass('activeSeason'); - //Populate new listings - jQuery.post(JSON_RPC + '?GetTVSeasonEpisodes', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetEpisodes", "params": { "fields": [ "title", "plot", "votes", "rating", "writingcredits", "firstaired", "playcount", "runtime", "director", "productioncode", "season", "episode", "showtitle", "lastplayed", "thumbnail", "file" ], "season" : ' + event.data.season.season + ', "tvshowid" : ' + event.data.tvshow + ' }, "id": 1}', jQuery.proxy(function(data) { - var episodeListingsContainer = $('<div>').addClass('episodeListingsContainer'); - var list = $('<ul>'); - $.each($(data.result.episodes), jQuery.proxy(function(i, item) { - var episodePicture = $('<img>'); - episodePicture.attr('src', this.getThumbnailPath(item.thumbnail)); - var episodeTitle = $('<p>').html(item.title); - var episode = $('<li>').append(episodePicture).append(episodeTitle); - list.append(episode); - }, this)); - episodeListingsContainer.append(list); - $(this.tvActiveShowContainer).prepend(episodeListingsContainer); - }, this), 'json'); + //retrieve selected season + var selectedVal=event.data.element.val(); + var seasons=event.data.seasons; + $('#topScrollFade').hide(); + //Hide old listings + var oldListings = $('.episodeListingsContainer', this.tvActiveShowContainer).fadeOut(); + //Update ActiveSeason + this.tvActiveSeason = selectedVal; + //Populate new listings + jQuery.post(JSON_RPC + '?GetTVSeasonEpisodes', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetEpisodes", "params": { "fields": [ "title", "thumbnail","episode","plot","season"], "season" : ' + seasons[selectedVal].season + ', "tvshowid" : ' + event.data.tvshow + ' }, "id": 1}', jQuery.proxy(function(data) { + var episodeListingsContainer = $('<div>').addClass('episodeListingsContainer'); + var episodeTable= $('<table>').addClass('seasonView').html('<thead><tr class="headerRow"><th class="thumbHeader">N°</th><th>Title</th><th class="thumbHeader">Thumb</th><th class="thumbHeader">Details</th></tr></thead><tbody class="resultSet"></tbody>'); + $.each($(data.result.episodes), jQuery.proxy(function(i, item) { + var episodeRow = $('<tr>').addClass('episodeRow').addClass('tr' + i % 2); + var episodePictureImg = $('<img>').bind('click', { episode: item }, jQuery.proxy(this.playTVShow, this)).css('cursor','pointer'); + episodePictureImg.attr('src', this.getThumbnailPath(item.thumbnail)); + var episodePicture=$('<td>').addClass('episodeThumb').append(episodePictureImg).bind('click', { episode: item }, jQuery.proxy(this.playTVShow, this)); + var episodeNumber = $('<td>').addClass('episodeNumber').html(item.episode).bind('click', { episode: item }, jQuery.proxy(this.playTVShow, this)); + var episodeTitle = $('<td>').html(item.title).bind('click', { episode: item }, jQuery.proxy(this.playTVShow, this)); + var episodeDetails = $('<td class="info">').html('').bind('click',{episode:item}, jQuery.proxy(this.displayEpisodeDetails, this)).css('cursor','pointer'); + episodeRow.append(episodeNumber).append(episodeTitle).append(episodePicture).append(episodeDetails); + episodeTable.append(episodeRow); + }, this)); + episodeListingsContainer.append(episodeTable); + $(this.tvActiveShowContainer).append(episodeListingsContainer); + }, this), 'json'); + + }, + + displayEpisodeDetails: function(event) { + var episodeDetails = $('<div>').attr('id', 'episode-' + event.data.episode.episodeid).addClass('episodePopoverContainer'); + episodeDetails.append($('<img>').attr('src', '/images/close-button.png').addClass('closeButton').bind('click', jQuery.proxy(this.hideOverlay, this))); + episodeDetails.append($('<img>').attr('src', this.getThumbnailPath(event.data.episode.thumbnail)).addClass('episodeCover')); + episodeDetails.append($('<div>').addClass('playIcon').bind('click', {episode: event.data.episode}, jQuery.proxy(this.playTVShow, this))); + var episodeTitle = $('<p>').addClass('episodeTitle'); + var yearText = event.data.episode.year ? ' <span class="year">(' + event.data.episode.year + ')</span>' : ''; + episodeTitle.html(event.data.episode.title + yearText); + episodeDetails.append(episodeTitle); + if (event.data.episode.runtime) { + episodeDetails.append($('<p>').addClass('runtime').html('<strong>Runtime:</strong> ' + event.data.epispde.runtime + ' minutes')); + } + if (event.data.episode.season) { + episodeDetails.append($('<p>').addClass('season').html('<strong>Season:</strong> ' + event.data.episode.season)); + } + if (event.data.episode.episode) { + episodeDetails.append($('<p>').addClass('episode').html('<strong>Episode:</strong> ' + event.data.episode.episode)); + } + if (event.data.episode.plot) { + episodeDetails.append($('<p>').addClass('plot').html('<strong>Plot:</strong> <br/><br/>' +event.data.episode.plot)); } + if (event.data.episode.genre) { + episodeDetails.append($('<p>').addClass('genre').html('<strong>Genre:</strong> ' + event.data.episode.genre)); + } + if (event.data.episode.rating) { + //Todo + } + if (event.data.episode.director) { + episodeDetails.append($('<p>').addClass('director').html('<strong>Directed By:</strong> ' + event.data.episode.director)); + } + this.activeCover = episodeDetails; + $('body').append(episodeDetails); + $('#overlay').show(); + this.updatePlayButtonLocation(); + }, + + playTVShow: function(event) { + jQuery.post(JSON_RPC + '?ClearPlaylist', '{"jsonrpc": "2.0", "method": "VideoPlaylist.Clear", "id": 1}', jQuery.proxy(function(data) { + //check that clear worked. + jQuery.post(JSON_RPC + '?AddTvShowToPlaylist', '{"jsonrpc": "2.0", "method": "VideoPlaylist.Add", "params": { "item": { "episodeid": ' + event.data.episode.episodeid + ' } }, "id": 1}', jQuery.proxy(function(data) { + //play specific song in playlist + jQuery.post(JSON_RPC + '?PlaylistItemPlay', '{"jsonrpc": "2.0", "method": "VideoPlaylist.Play", "params": { "item": 0 }, "id": 1}', function(data) {this.hideOverlay();}, 'json'); + }, this), 'json'); + }, this), 'json'); }, hideOverlay: function(event) { if (this.activeCover) { @@ -332,8 +432,19 @@ MediaLibrary.prototype = { if (movieContainer.length > 0) { var playIcon = $('.playIcon'); if (playIcon.length > 0) { - playIcon.width($(movieContainer[0]).width()); - playIcon.height($(movieContainer[0]).height()); + var heightpi=$(movieContainer[0]).height(); + playIcon.width(Math.floor(0.65*heightpi)); + playIcon.height(heightpi); + } + } + var episodeContainer = $('.episodeCover'); + if (episodeContainer.length > 0) { + var playIcon = $('.playIcon'); + if (playIcon.length > 0) { + var widthpi=$(episodeContainer[0]).width(); + playIcon.width(widthpi); + //assume 16/9 thumb + playIcon.height(Math.floor(widthpi*9/16)); } } }, @@ -423,9 +534,26 @@ MediaLibrary.prototype = { var libraryContainer = $('#tvshowLibraryContainer'); if (!libraryContainer || libraryContainer.length == 0) { $('#spinner').show(); + toggle=$('<p>').addClass('toggle'); + togglePoster= $('<span>Poster</span>'); + togglePoster.attr('id', 'togglePoster') + .css('cursor','pointer') + .bind('click',{mode: 'poster'},jQuery.proxy(this.togglePosterView,this)); + toggleBanner= $('<span>Banner</span>'); + toggleBanner.attr('id', 'toggleBanner') + .css('cursor','pointer') + .addClass('activeMode') + .bind('click',{mode: 'banner'},jQuery.proxy(this.togglePosterView,this)); + toggleLandscape= $('<span>Landscape</span>'); + toggleLandscape.attr('id', 'toggleLandscape') + .css('cursor','pointer') + .bind('click',{mode: 'landscape'},jQuery.proxy(this.togglePosterView,this)); + toggle.append(toggleBanner).append(' | ').append(togglePoster).append(' | ').append(toggleLandscape); + this.toggle=toggle; jQuery.post(JSON_RPC + '?GetTVShows', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetTVShows", "params": { "fields": ["genre", "plot", "title", "lastplayed", "episode", "year", "playcount", "rating", "thumbnail", "studio", "mpaa", "premiered"] }, "id": 1}', jQuery.proxy(function(data) { if (data && data.result && data.result.tvshows) { - libraryContainer = $('<div>'); + libraryContainer = $('<div>'); + libraryContainer.append(toggle); libraryContainer.attr('id', 'tvshowLibraryContainer') .addClass('contentContainer'); $('#content').append(libraryContainer); @@ -442,11 +570,23 @@ MediaLibrary.prototype = { libraryContainer.bind('scroll', { activeLibrary: libraryContainer }, jQuery.proxy(this.updateScrollEffects, this)); libraryContainer.trigger('scroll'); myScroll = new iScroll('tvshowLibraryContainer'); - }, this), 'json'); + if(getCookie('TVView')!=null && getCookie('TVView')!='banner'){ + var view=getCookie('TVView'); + switch(view) { + case 'poster': + togglePoster.trigger('click'); + break; + case 'landscape': + toggleLandscape.trigger('click') + break; + } + } + }, this), 'json'); } else { - libraryContainer.show(); + libraryContainer.prepend($(".toggle").detach()).show(); libraryContainer.trigger('scroll'); } + }, updateScrollEffects: function(event) { if (event.data.activeLibrary && $(event.data.activeLibrary).scrollTop() > 0) { diff --git a/addons/webinterface.default/js/NowPlayingManager.js b/addons/webinterface.default/js/NowPlayingManager.js index cae39f5ec8..35b22b6926 100644..100755 --- a/addons/webinterface.default/js/NowPlayingManager.js +++ b/addons/webinterface.default/js/NowPlayingManager.js @@ -39,21 +39,26 @@ NowPlayingManager.prototype = { type: 'POST', url: JSON_RPC + '?UpdateState', data: '{"jsonrpc": "2.0", "method": "Player.GetActivePlayers", "id": 1}', - timeout: 2000, + timeout: 3000, success: jQuery.proxy(function(data) { if (data && data.result) { if (data.result.audio && this.activePlayer != 'Audio') { this.activePlayer = 'Audio'; this.stopVideoPlaylistUpdate(); this.displayAudioNowPlaying(); + this.showFooter(); this.stopRefreshTime(); } else if (data.result.video && this.activePlayer != 'Video') { this.activePlayer = 'Video'; this.stopAudioPlaylistUpdate(); this.displayVideoNowPlaying(); + this.showFooter(); this.stopRefreshTime(); + } else if (data.result.video || data.result.audio) { + this.showFooter(); } else if (!data.result.audio && !data.result.video) { this.stopRefreshTime(); + this.hideFooter(); } } setTimeout(jQuery.proxy(this.updateState, this), 1000); @@ -81,6 +86,14 @@ NowPlayingManager.prototype = { $('#nowPlayingPlaylist').hide(); return false; }, + hideFooter: function() { + $('#footerPopover').hide(); + $('#overlay').css('bottom','0px'); + }, + showFooter: function() { + $('#footerPopover').show(); + $('#overlay').css('bottom','150px'); + }, nextTrack: function() { if (this.activePlayer) { jQuery.post(JSON_RPC + '?SkipNext', '{"jsonrpc": "2.0", "method": "' + this.activePlayer + 'Player.SkipNext", "id": 1}', jQuery.proxy(function(data) { @@ -332,7 +345,7 @@ NowPlayingManager.prototype = { refreshVideoData: function() { if (this.autoRefreshVideoData && !this.videoRefreshTimer) { this.videoRefreshTimer = 1; - setTimeout(jQuery.proxy(this.refreshVideoDataLoop, this), 1000); + setTimeout(jQuery.proxy(this.refreshVideoDataLoop, this), 1500); } if (this.playing && !this.paused) { this.trackBaseTime++; @@ -350,10 +363,6 @@ NowPlayingManager.prototype = { imgPath = (this.activePlaylistItem.thumbnail.startsWith('special://') ? '/vfs/' : 'images/') + this.activePlaylistItem.thumbnail; } $('#videoCoverArt').html('<img src="' + imgPath + '" alt="' + this.activePlaylistItem.title + ' cover art">'); - var imgWidth = $('#videoCoverArt img').width(); - $('#progressBar').width(365 - (imgWidth - 100)); - $('#videoTrackWrap').width(365 - (imgWidth - 100)); - $('#videoTitle').width(365 - (imgWidth - 100)); $('#videoShowTitle').html(this.activePlaylistItem.showtitle||' '); var extra = ''; if (this.activePlaylistItem.season >= 0 && this.activePlaylistItem.episode >= 0) { @@ -412,7 +421,7 @@ NowPlayingManager.prototype = { jQuery.ajax({ type: 'POST', url: JSON_RPC + '?updateVideoPlaylist', - data: '{"jsonrpc": "2.0", "method": "VideoPlaylist.GetItems", "params": { "fields": ["title", "season", "episode", "plot", "runtime", "showtitle"] }, "id": 1}', + data: '{"jsonrpc": "2.0", "method": "VideoPlaylist.GetItems", "params": { "fields": ["title", "season", "episode", "plot", "runtime", "showtitle","thumbnail"] }, "id": 1}', success: jQuery.proxy(function(data) { if (data && data.result && data.result.items && data.result.limits.total > 0) { //Compare new playlist to active playlist, only redraw if a change is noticed. |