From 9e6d8b6c9803692c9a547744557037f81058f58e Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 6 Jul 2015 03:06:09 -0400 Subject: [PATCH] updated nuget --- .../iron-flex-layout/.bower.json | 6 +- .../bower_components/iron-meta/.bower.json | 6 +- .../paper-behaviors/.bower.json | 4 +- .../bower_components/paper-ripple/.bower.json | 6 +- .../bower_components/paper-styles/.bower.json | 4 +- dashboard-ui/cordova/android/vlcplayer.js | 2 +- dashboard-ui/css/card.css | 55 +++++++++-- dashboard-ui/css/librarybrowser.css | 2 +- dashboard-ui/css/librarymenu.css | 8 +- dashboard-ui/itemdetails.html | 2 +- dashboard-ui/scripts/htmlmediarenderer.js | 14 ++- dashboard-ui/scripts/itemdetailpage.js | 16 +++- dashboard-ui/scripts/librarybrowser.js | 22 ++++- dashboard-ui/scripts/librarylist.js | 70 ++++++++++++-- dashboard-ui/scripts/mediaplayer-video.js | 4 +- dashboard-ui/scripts/musicalbumartists.js | 5 +- dashboard-ui/scripts/musicalbums.js | 6 +- dashboard-ui/scripts/musicartists.js | 5 +- dashboard-ui/scripts/musicrecommended.js | 12 ++- dashboard-ui/scripts/tvshows.js | 95 ++++++++++++------- dashboard-ui/scripts/tvstudios.js | 9 +- 21 files changed, 257 insertions(+), 96 deletions(-) diff --git a/dashboard-ui/bower_components/iron-flex-layout/.bower.json b/dashboard-ui/bower_components/iron-flex-layout/.bower.json index cfb5824840..98650a2547 100644 --- a/dashboard-ui/bower_components/iron-flex-layout/.bower.json +++ b/dashboard-ui/bower_components/iron-flex-layout/.bower.json @@ -23,14 +23,14 @@ "paper-styles": "polymerelements/paper-styles#^1.0.0", "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, - "homepage": "https://github.com/polymerelements/iron-flex-layout", + "homepage": "https://github.com/PolymerElements/iron-flex-layout", "_release": "1.0.2", "_resolution": { "type": "version", "tag": "v1.0.2", "commit": "50bcecf40ab23caa7c2cd90030555e00c5ba7154" }, - "_source": "git://github.com/polymerelements/iron-flex-layout.git", + "_source": "git://github.com/PolymerElements/iron-flex-layout.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/iron-flex-layout" + "_originalSource": "PolymerElements/iron-flex-layout" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/iron-meta/.bower.json b/dashboard-ui/bower_components/iron-meta/.bower.json index 8119ebcf41..9e650790be 100644 --- a/dashboard-ui/bower_components/iron-meta/.bower.json +++ b/dashboard-ui/bower_components/iron-meta/.bower.json @@ -25,14 +25,14 @@ "web-component-tester": "*", "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, - "homepage": "https://github.com/polymerelements/iron-meta", + "homepage": "https://github.com/PolymerElements/iron-meta", "_release": "1.0.3", "_resolution": { "type": "version", "tag": "v1.0.3", "commit": "91529259262b0d8f33fed44bc3fd47aedf35cb04" }, - "_source": "git://github.com/polymerelements/iron-meta.git", + "_source": "git://github.com/PolymerElements/iron-meta.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/iron-meta" + "_originalSource": "PolymerElements/iron-meta" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/paper-behaviors/.bower.json b/dashboard-ui/bower_components/paper-behaviors/.bower.json index 7c969e4703..ce085eab96 100644 --- a/dashboard-ui/bower_components/paper-behaviors/.bower.json +++ b/dashboard-ui/bower_components/paper-behaviors/.bower.json @@ -42,7 +42,7 @@ "tag": "v1.0.2", "commit": "4dd226a2cc5b780a73d0058cd9998b6e0af1cb2c" }, - "_source": "git://github.com/polymerelements/paper-behaviors.git", + "_source": "git://github.com/PolymerElements/paper-behaviors.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/paper-behaviors" + "_originalSource": "PolymerElements/paper-behaviors" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/paper-ripple/.bower.json b/dashboard-ui/bower_components/paper-ripple/.bower.json index 0cbf50c9ff..93d8b8c843 100644 --- a/dashboard-ui/bower_components/paper-ripple/.bower.json +++ b/dashboard-ui/bower_components/paper-ripple/.bower.json @@ -26,14 +26,14 @@ "web-component-tester": "*", "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, - "homepage": "https://github.com/polymerelements/paper-ripple", + "homepage": "https://github.com/PolymerElements/paper-ripple", "_release": "1.0.1", "_resolution": { "type": "version", "tag": "v1.0.1", "commit": "af19d904802437c305390bb03415c11661de3d0a" }, - "_source": "git://github.com/polymerelements/paper-ripple.git", + "_source": "git://github.com/PolymerElements/paper-ripple.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/paper-ripple" + "_originalSource": "PolymerElements/paper-ripple" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/paper-styles/.bower.json b/dashboard-ui/bower_components/paper-styles/.bower.json index f16c89e87a..32205aaa01 100644 --- a/dashboard-ui/bower_components/paper-styles/.bower.json +++ b/dashboard-ui/bower_components/paper-styles/.bower.json @@ -34,7 +34,7 @@ "tag": "v1.0.7", "commit": "c65f5ce6b898bb756fca35cedaa53c3e8011abeb" }, - "_source": "git://github.com/polymerelements/paper-styles.git", + "_source": "git://github.com/PolymerElements/paper-styles.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/paper-styles" + "_originalSource": "PolymerElements/paper-styles" } \ No newline at end of file diff --git a/dashboard-ui/cordova/android/vlcplayer.js b/dashboard-ui/cordova/android/vlcplayer.js index 2ca7bd9b40..5c69051bb4 100644 --- a/dashboard-ui/cordova/android/vlcplayer.js +++ b/dashboard-ui/cordova/android/vlcplayer.js @@ -88,7 +88,7 @@ } }; - self.setCurrentSrc = function (val, item, mediaSource) { + self.setCurrentSrc = function (val, tracks, item, mediaSource) { if (!val) { self.destroy(); diff --git a/dashboard-ui/css/card.css b/dashboard-ui/css/card.css index f1cbee3d91..9e8d2f8e7a 100644 --- a/dashboard-ui/css/card.css +++ b/dashboard-ui/css/card.css @@ -52,13 +52,43 @@ } .mediumCardMargin .cardBox { - margin: 4px; + margin: 6px; } .defaultBackground .cardImage { background-color: #333; } +.cardOverlayPlayButton { + position: absolute; + bottom: 0; + right: 0; + color: #333; +} + + .cardOverlayPlayButton iron-icon { + width: 20px; + height: 20px; + background-color: rgba(215,215,215,.9); + border-radius: 500px; + padding: 6px; + } + +.cardOverlayMoreButton { + position: absolute; + bottom: 0; + right: 0; + color: #333; +} + + .cardOverlayMoreButton iron-icon { + width: 20px; + height: 20px; + background-color: rgba(215,215,215,.9); + border-radius: 500px; + padding: 6px; + } + @media all and (max-width: 800px) { .cardBox { @@ -73,7 +103,7 @@ } .bottomPaddedCard .cardBox { - margin-bottom: 12px; + margin-bottom: 24px; } .visualCardBox { @@ -231,7 +261,12 @@ padding: 0 6px 4px 5px; } -.cardBox:not(.visualCardBox) .outerCardFooter .cardText:last-child { +.outerCardFooter .cardText + .cardText { + opacity: .8; +} + +.outerCardFooter .cardText:first-child { + padding-top: 7px; } @media all and (max-width: 600px) { @@ -361,6 +396,10 @@ .bannerCard { width: 50%; } + + .squareCard { + width: 25%; + } } @media all and (min-width: 770px) { @@ -371,10 +410,6 @@ @media all and (min-width: 800px) { - .squareCard { - width: 25%; - } - .portraitCard { width: 20%; } @@ -385,11 +420,15 @@ } -@media all and (min-width: 1000px) { +@media all and (min-width: 900px) { .squareCard { width: 20%; } +} + +@media all and (min-width: 1000px) { + .smallBackdropCard { width: 20%; diff --git a/dashboard-ui/css/librarybrowser.css b/dashboard-ui/css/librarybrowser.css index 277ba54a5b..508983f4ea 100644 --- a/dashboard-ui/css/librarybrowser.css +++ b/dashboard-ui/css/librarybrowser.css @@ -130,7 +130,7 @@ } } -@media all and (min-width: 600px) { +@media all and (min-width: 1200px) { .paddedItemsContainer { padding: 0 .8em; diff --git a/dashboard-ui/css/librarymenu.css b/dashboard-ui/css/librarymenu.css index c7ccaba151..fd80e45fb2 100644 --- a/dashboard-ui/css/librarymenu.css +++ b/dashboard-ui/css/librarymenu.css @@ -2,10 +2,14 @@ padding-top: 50px !important; } - .libraryPage:not(.metadataEditorPage):not(.noSecondaryNavPage) { - padding-top: 98px !important; + .libraryPage:not(.noSecondaryNavPage) { + padding-top: 96px !important; } +.pageWithAbsoluteTabs:not(.noSecondaryNavPage) { + padding-top: 98px !important; +} + .sidebarDivider { height: 1px; background: #ddd; diff --git a/dashboard-ui/itemdetails.html b/dashboard-ui/itemdetails.html index 7c478a6dac..9a91681baa 100644 --- a/dashboard-ui/itemdetails.html +++ b/dashboard-ui/itemdetails.html @@ -182,7 +182,7 @@
-
+
diff --git a/dashboard-ui/scripts/htmlmediarenderer.js b/dashboard-ui/scripts/htmlmediarenderer.js index ca1228b02b..6db8234ce7 100644 --- a/dashboard-ui/scripts/htmlmediarenderer.js +++ b/dashboard-ui/scripts/htmlmediarenderer.js @@ -234,7 +234,7 @@ }; var currentSrc; - self.setCurrentSrc = function (val) { + self.setCurrentSrc = function (val, tracks, item, mediaSource) { var elem = mediaElement; @@ -267,6 +267,8 @@ if (enableViblast(val)) { + setTracks(elem, tracks || []); + viblast(elem).setup({ key: 'N8FjNTQ3NDdhZqZhNGI5NWU5ZTI=', stream: val @@ -276,6 +278,9 @@ } else { elem.src = val; + + setTracks(elem, tracks || []); + $(elem).one("loadedmetadata", onLoadedMetadata); } } @@ -283,8 +288,7 @@ currentSrc = val; }; - self.setTracks = function (tracks) { - + function setTracks(elem, tracks) { var html = tracks.map(function (t) { var defaultAttribute = t.isDefault ? ' default' : ''; @@ -294,9 +298,9 @@ }).join(''); if (html) { - mediaElement.innerHTML = html; + elem.innerHTML = html; } - }; + } self.currentSrc = function () { if (mediaElement) { diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js index e921b0da66..30e0edb810 100644 --- a/dashboard-ui/scripts/itemdetailpage.js +++ b/dashboard-ui/scripts/itemdetailpage.js @@ -895,6 +895,12 @@ else { page.querySelector('#childrenTitle').innerHTML = Globalize.translate('HeaderItems'); } + + if (item.Type == "MusicAlbum") { + $('.childrenSectionHeader', page).hide(); + } else { + $('.childrenSectionHeader', page).show(); + } } function renderCollectionItems(page, types, items, user) { @@ -1497,6 +1503,7 @@ html += ''; var imgUrl; + var lazy = true; if (cast.PrimaryImageTag) { @@ -1510,11 +1517,14 @@ } else { imgUrl = "css/images/items/list/person.png"; + lazy = false; } - html += '
'; - - + if (lazy) { + html += '
'; + } else { + html += '
'; + } html += '
'; @@ -2486,7 +2500,7 @@ if (includePlayed !== false) { var tooltipPlayed = Globalize.translate('TooltipPlayed'); - if ((item.MediaType || item.IsFolder) && type != "TvChannel" && type != "MusicArtist" && item.MediaType != "Audio") { + if (item.MediaType == 'Video' || item.Type == 'Series' || item.Type == 'Season' || item.Type == 'BoxSet' || item.Type == 'Playlist') { if (userData.Played) { html += LibraryBrowser.getUserDataButtonHtml('markPlayed', itemId, 'btnUserItemRating btnUserItemRatingOn', 'check', tooltipPlayed); } else { diff --git a/dashboard-ui/scripts/librarylist.js b/dashboard-ui/scripts/librarylist.js index a6b291c910..e2672a09fa 100644 --- a/dashboard-ui/scripts/librarylist.js +++ b/dashboard-ui/scripts/librarylist.js @@ -181,7 +181,7 @@ var displayContextItem = card; - if (card.classList.contains('listviewMenuButton')) { + if (!card.classList.contains('card') && !card.classList.contains('listItem')) { card = $(card).parents('.listItem,.card')[0]; } @@ -479,6 +479,46 @@ return false; } + function onListViewPlayButtonClick(e) { + + var playButton = this; + var card = this; + + if (!card.classList.contains('card') && !card.classList.contains('listItem')) { + card = $(card).parents('.listItem,.card')[0]; + } + + var id = card.getAttribute('data-itemid'); + var type = card.getAttribute('data-itemtype'); + var isFolder = card.getAttribute('data-isfolder') == 'true'; + var mediaType = card.getAttribute('data-mediatype'); + var resumePosition = parseInt(card.getAttribute('data-resumeposition')); + + if (type == 'MusicAlbum' || type == 'MusicArtist') { + isFolder = true; + } + + LibraryBrowser.showPlayMenu(playButton, id, type, isFolder, mediaType, resumePosition); + + e.preventDefault(); + return false; + } + + function isClickable(target) { + + while (target != null) { + var tagName = target.tagName || ''; + if (tagName == 'A' || tagName.indexOf('BUTTON') != -1) { + return true; + } + + return false; + //target = target.parentNode; + } + + return false; + } + function onGroupedCardClick(e) { var card = this; @@ -496,7 +536,7 @@ }; var target = e.target; - if (target.tagName == 'A' || target.tagName == 'BUTTON') { + if (isClickable(target)) { return; } @@ -767,7 +807,7 @@ return; } - if (targetElem.tagName == 'A' || targetElem.tagName == 'BUTTON') { + if (isClickable(targetElem)) { return; } @@ -838,7 +878,7 @@ }); } - function onHoverIn() { + function onHoverIn(e) { if (preventHover === true) { preventHover = false; @@ -852,6 +892,10 @@ var elem = this; + while (!elem.classList.contains('card')) { + elem = elem.parentNode; + } + showOverlayTimeout = setTimeout(function () { onShowTimerExpired(elem); @@ -872,15 +916,21 @@ this.off('click', '.listviewMenuButton', onListViewMenuButtonClick); this.on('click', '.listviewMenuButton', onListViewMenuButtonClick); + this.off('click', '.cardOverlayMoreButton', onListViewMenuButtonClick); + this.on('click', '.cardOverlayMoreButton', onListViewMenuButtonClick); + + this.off('click', '.cardOverlayPlayButton', onListViewPlayButtonClick); + this.on('click', '.cardOverlayPlayButton', onListViewPlayButtonClick); + if (!AppInfo.isTouchPreferred) { - this.off('mouseenter', '.card:not(.bannerCard)', onHoverIn); - this.on('mouseenter', '.card:not(.bannerCard)', onHoverIn); + this.off('mouseenter', '.card:not(.bannerCard) .cardContent', onHoverIn); + this.on('mouseenter', '.card:not(.bannerCard) .cardContent', onHoverIn); - this.off('mouseleave', '.card:not(.bannerCard)', onHoverOut); - this.on('mouseleave', '.card:not(.bannerCard)', onHoverOut); + this.off('mouseleave', '.card:not(.bannerCard) .cardContent', onHoverOut); + this.on('mouseleave', '.card:not(.bannerCard) .cardContent', onHoverOut); - this.off("touchstart", '.card:not(.bannerCard)', preventTouchHover); - this.on("touchstart", '.card:not(.bannerCard)', preventTouchHover); + this.off("touchstart", '.card:not(.bannerCard) .cardContent', preventTouchHover); + this.on("touchstart", '.card:not(.bannerCard) .cardContent', preventTouchHover); } this.off('click', '.mediaItem', onCardClick); diff --git a/dashboard-ui/scripts/mediaplayer-video.js b/dashboard-ui/scripts/mediaplayer-video.js index b93f8f050b..6739be8a9e 100644 --- a/dashboard-ui/scripts/mediaplayer-video.js +++ b/dashboard-ui/scripts/mediaplayer-video.js @@ -1142,8 +1142,6 @@ mediaRenderer.init().done(function() { - mediaRenderer.setCurrentSrc(videoUrl, item, mediaSource); - var textStreams = subtitleStreams.filter(function (s) { return s.DeliveryMethod == 'External'; }); @@ -1162,7 +1160,7 @@ }); } - mediaRenderer.setTracks(tracks); + mediaRenderer.setCurrentSrc(videoUrl, tracks, item, mediaSource); // IE wont autoplay without this if (videoUrl.indexOf('.m3u8') == -1) { diff --git a/dashboard-ui/scripts/musicalbumartists.js b/dashboard-ui/scripts/musicalbumartists.js index 92778b37a0..4c94c155ae 100644 --- a/dashboard-ui/scripts/musicalbumartists.js +++ b/dashboard-ui/scripts/musicalbumartists.js @@ -2,7 +2,7 @@ var pageSizeKey = 'people'; - var view = LibraryBrowser.getDefaultItemsView('PosterCard', 'PosterCard'); + var view = LibraryBrowser.getDefaultItemsView('Poster', 'Poster'); // The base query options var query = { @@ -62,8 +62,9 @@ context: 'music', showTitle: true, coverImage: true, + lazy: true, centerText: true, - lazy: true + overlayPlayButton: true }); } else if (view == "PosterCard") { diff --git a/dashboard-ui/scripts/musicalbums.js b/dashboard-ui/scripts/musicalbums.js index 5544de4024..f95de1b20a 100644 --- a/dashboard-ui/scripts/musicalbums.js +++ b/dashboard-ui/scripts/musicalbums.js @@ -1,6 +1,6 @@ (function ($, document) { - var view = LibraryBrowser.getDefaultItemsView('PosterCard', 'PosterCard'); + var view = LibraryBrowser.getDefaultItemsView('Poster', 'Poster'); // The base query options var query = { @@ -51,7 +51,9 @@ context: 'music', showTitle: true, showParentTitle: true, - lazy: true + lazy: true, + centerText: true, + overlayPlayButton: true }); } else if (view == "PosterCard") { diff --git a/dashboard-ui/scripts/musicartists.js b/dashboard-ui/scripts/musicartists.js index 7bc195f8b1..8476dd2f91 100644 --- a/dashboard-ui/scripts/musicartists.js +++ b/dashboard-ui/scripts/musicartists.js @@ -2,7 +2,7 @@ var pageSizeKey = 'people'; - var view = LibraryBrowser.getDefaultItemsView('PosterCard', 'PosterCard'); + var view = LibraryBrowser.getDefaultItemsView('Poster', 'Poster'); // The base query options var query = { @@ -63,8 +63,9 @@ context: 'music', showTitle: true, coverImage: true, + lazy: true, centerText: true, - lazy: true + overlayPlayButton: true }); } else if (view == "PosterCard") { diff --git a/dashboard-ui/scripts/musicrecommended.js b/dashboard-ui/scripts/musicrecommended.js index 69beef1333..1b0058d35d 100644 --- a/dashboard-ui/scripts/musicrecommended.js +++ b/dashboard-ui/scripts/musicrecommended.js @@ -41,7 +41,8 @@ showTitle: true, showParentTitle: true, lazy: true, - cardLayout: true + centerText: true, + overlayPlayButton: true }); ImageLoader.lazyChildren(elem); @@ -87,7 +88,8 @@ showParentTitle: true, defaultAction: 'play', lazy: true, - cardLayout: true + centerText: true, + overlayMoreButton: true }); ImageLoader.lazyChildren(itemsContainer); @@ -131,7 +133,8 @@ showParentTitle: true, defaultAction: 'play', lazy: true, - cardLayout: true + centerText: true, + overlayMoreButton: true }); ImageLoader.lazyChildren(itemsContainer); @@ -173,7 +176,8 @@ defaultAction: 'play', coverImage: true, showItemCounts: true, - cardLayout: true + centerText: true, + overlayMoreButton: true }); ImageLoader.lazyChildren(itemsContainer); diff --git a/dashboard-ui/scripts/tvshows.js b/dashboard-ui/scripts/tvshows.js index f5c46d8af0..1229120656 100644 --- a/dashboard-ui/scripts/tvshows.js +++ b/dashboard-ui/scripts/tvshows.js @@ -2,28 +2,45 @@ var view = LibraryBrowser.getDefaultItemsView('Poster', 'Poster'); - // The base query options - var query = { + var data = {}; - SortBy: "SortName", - SortOrder: "Ascending", - IncludeItemTypes: "Series", - Recursive: true, - Fields: "PrimaryImageAspectRatio,SortName,SyncInfo", - StartIndex: 0, - ImageTypeLimit: 1, - EnableImageTypes: "Primary,Backdrop,Banner,Thumb" - }; + function getQuery() { + + var key = getSavedQueryKey(); + var pageData = data[key]; + + if (!pageData) { + pageData = data[key] = { + query: { + SortBy: "SortName", + SortOrder: "Ascending", + IncludeItemTypes: "Series", + Recursive: true, + Fields: "PrimaryImageAspectRatio,SortName,SyncInfo", + ImageTypeLimit: 1, + EnableImageTypes: "Primary,Backdrop,Banner,Thumb", + StartIndex: 0, + Limit: LibraryBrowser.getDefaultPageSize() + } + }; + + pageData.query.ParentId = LibraryMenu.getTopParentId(); + LibraryBrowser.loadSavedQueryValues(key, pageData.query); + } + return pageData.query; + } function getSavedQueryKey() { - return 'tvshows' + (query.ParentId || ''); + return getWindowUrl(); } function reloadItems(page) { Dashboard.showLoadingMsg(); + var query = getQuery(); + ApiClient.getItems(Dashboard.getCurrentUserId(), query).done(function (result) { // Scroll back up so they can see the results from the beginning @@ -131,6 +148,7 @@ LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); + LibraryBrowser.setLastRefreshed(page); Dashboard.hideLoadingMsg(); }); } @@ -140,19 +158,19 @@ // Reset form values using the last used query $('.radioSortBy', page).each(function () { - this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase(); + this.checked = (getQuery().SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase(); }).checkboxradio('refresh'); $('.radioSortOrder', page).each(function () { - this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase(); + this.checked = (getQuery().SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase(); }).checkboxradio('refresh'); $('.chkStatus', page).each(function () { - var filters = "," + (query.SeriesStatus || ""); + var filters = "," + (getQuery().SeriesStatus || ""); var filterName = this.getAttribute('data-filter'); this.checked = filters.indexOf(',' + filterName) != -1; @@ -161,7 +179,7 @@ $('.chkStandardFilter', page).each(function () { - var filters = "," + (query.Filters || ""); + var filters = "," + (getQuery().Filters || ""); var filterName = this.getAttribute('data-filter'); this.checked = filters.indexOf(',' + filterName) != -1; @@ -170,13 +188,15 @@ $('.chkAirDays', page).each(function () { - var filters = "," + (query.AirDays || ""); + var filters = "," + (getQuery().AirDays || ""); var filterName = this.getAttribute('data-filter'); this.checked = filters.indexOf(',' + filterName) != -1; }).checkboxradio('refresh'); + var query = getQuery(); + $('#selectView', page).val(view).selectmenu('refresh'); $('#chkTrailer', page).checked(query.HasTrailer == true).checkboxradio('refresh'); @@ -195,6 +215,8 @@ filtersLoaded = true; + var query = getQuery(); + QueryFilters.loadFilters(page, Dashboard.getCurrentUserId(), query, function () { reloadItems(page); @@ -212,12 +234,14 @@ }); $('.radioSortBy', this).on('click', function () { + var query = getQuery(); query.SortBy = this.getAttribute('data-sortby'); query.StartIndex = 0; reloadItems(page); }); $('.radioSortOrder', this).on('click', function () { + var query = getQuery(); query.SortOrder = this.getAttribute('data-sortorder'); query.StartIndex = 0; reloadItems(page); @@ -225,6 +249,7 @@ $('.chkStandardFilter', this).on('change', function () { + var query = getQuery(); var filterName = this.getAttribute('data-filter'); var filters = query.Filters || ""; @@ -241,6 +266,7 @@ $('.chkStatus', this).on('change', function () { + var query = getQuery(); var filterName = this.getAttribute('data-filter'); var filters = query.SeriesStatus || ""; @@ -257,6 +283,7 @@ $('.chkAirDays', this).on('change', function () { + var query = getQuery(); var filterName = this.getAttribute('data-filter'); var filters = query.AirDays || ""; @@ -273,6 +300,7 @@ $('#selectView', this).on('change', function () { + var query = getQuery(); view = this.value; if (view == "Timeline") { @@ -290,6 +318,7 @@ $('#chkTrailer', this).on('change', function () { + var query = getQuery(); query.StartIndex = 0; query.HasTrailer = this.checked ? true : null; @@ -298,6 +327,7 @@ $('#chkThemeSong', this).on('change', function () { + var query = getQuery(); query.StartIndex = 0; query.HasThemeSong = this.checked ? true : null; @@ -306,6 +336,7 @@ $('#chkSpecialFeature', this).on('change', function () { + var query = getQuery(); query.StartIndex = 0; query.HasSpecialFeature = this.checked ? true : null; @@ -314,6 +345,7 @@ $('#chkThemeVideo', this).on('change', function () { + var query = getQuery(); query.StartIndex = 0; query.HasThemeVideo = this.checked ? true : null; @@ -322,6 +354,7 @@ $('.alphabetPicker', this).on('alphaselect', function (e, character) { + var query = getQuery(); query.NameStartsWithOrGreater = character; query.StartIndex = 0; @@ -329,6 +362,7 @@ }).on('alphaclear', function (e) { + var query = getQuery(); query.NameStartsWithOrGreater = ''; reloadItems(page); @@ -355,6 +389,7 @@ }); $('#selectPageSize', page).on('change', function () { + var query = getQuery(); query.Limit = parseInt(this.value); query.StartIndex = 0; reloadItems(page); @@ -362,30 +397,24 @@ }).on('pagebeforeshowready', "#tvShowsPage", function () { - query.ParentId = LibraryMenu.getTopParentId(); + var query = getQuery(); var page = this; - var limit = LibraryBrowser.getDefaultPageSize(); - - // If the default page size has changed, the start index will have to be reset - if (limit != query.Limit) { - query.Limit = limit; - query.StartIndex = 0; - } var viewKey = getSavedQueryKey(); - LibraryBrowser.loadSavedQueryValues(viewKey, query); QueryFilters.onPageShow(page, query); - LibraryBrowser.getSavedViewSetting(viewKey).done(function (val) { + if (LibraryBrowser.needsRefresh(page)) { + LibraryBrowser.getSavedViewSetting(viewKey).done(function (val) { - if (val) { - Events.trigger($('#selectView', page).val(val).selectmenu('refresh')[0], 'change'); - } else { - reloadItems(page); - } - }); + if (val) { + Events.trigger($('#selectView', page).val(val).selectmenu('refresh')[0], 'change'); + } else { + reloadItems(page); + } + }); + } updateFilterControls(this); }); diff --git a/dashboard-ui/scripts/tvstudios.js b/dashboard-ui/scripts/tvstudios.js index afbc9e6431..275620d824 100644 --- a/dashboard-ui/scripts/tvstudios.js +++ b/dashboard-ui/scripts/tvstudios.js @@ -83,6 +83,7 @@ LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); + LibraryBrowser.setLastRefreshed(page); Dashboard.hideLoadingMsg(); }); } @@ -136,9 +137,13 @@ }).on('pagebeforeshowready', "#tvStudiosPage", function () { - reloadItems(this); + var page = this; - updateFilterControls(this); + if (LibraryBrowser.needsRefresh(page)) { + reloadItems(page); + } + + updateFilterControls(page); }); })(jQuery, document); \ No newline at end of file