diff --git a/dashboard-ui/css/livetv.css b/dashboard-ui/css/livetv.css index cc812f2943..a822e000d5 100644 --- a/dashboard-ui/css/livetv.css +++ b/dashboard-ui/css/livetv.css @@ -213,7 +213,7 @@ overflow: hidden; text-overflow: ellipsis; border-right: 1px solid #161616; - width: 189px; + width: 199px; background: #303030; } @@ -261,7 +261,7 @@ } .programGrid, .timeslotHeaders { - margin-left: 190px; + margin-left: 200px; } .timeslotHeader { diff --git a/dashboard-ui/scripts/itemlistpage.js b/dashboard-ui/scripts/itemlistpage.js index 435a3227ad..1723462400 100644 --- a/dashboard-ui/scripts/itemlistpage.js +++ b/dashboard-ui/scripts/itemlistpage.js @@ -75,39 +75,34 @@ var context = getParameterByName('context'); - if (context == 'home') { - context = 'folders'; - } + var posterOptions = { + items: result.Items, + shape: "auto", + centerText: true, + lazy: true + }; if (view == "Backdrop") { - html = LibraryBrowser.getPosterViewHtml({ - items: result.Items, - shape: "backdrop", - showTitle: true, - centerText: true, - preferBackdrop: true, - context: context - }); + posterOptions.shape = 'backdrop'; + posterOptions.showTitle = true; + posterOptions.preferBackdrop = true; + + html = LibraryBrowser.getPosterViewHtml(posterOptions); } else if (view == "Poster") { - html = LibraryBrowser.getPosterViewHtml({ - items: result.Items, - shape: "auto", - showTitle: true, - centerText: true, - context: context - }); + + posterOptions.showTitle = context != 'photos'; + + html = LibraryBrowser.getPosterViewHtml(posterOptions); } else if (view == "PosterCard") { - html = LibraryBrowser.getPosterViewHtml({ - items: result.Items, - shape: "auto", - showTitle: true, - context: context, - cardLayout: true, - showYear: true - }); + + posterOptions.showTitle = true; + posterOptions.showYear = true; + posterOptions.cardLayout = true; + + html = LibraryBrowser.getPosterViewHtml(posterOptions); } var elem = page.querySelector('#items'); @@ -276,6 +271,7 @@ } updateFilterControls(page); + LibraryMenu.setBackButtonVisible(getParameterByName('context')); }).on('pagebeforehide', "#itemListPage", function () { diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index b0e0b79f05..dcb1433ca8 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -785,8 +785,8 @@ return 'itemlist.html?topParentId=' + item.Id + '&parentid=' + item.Id; } - if (item.Type == "PhotoAlbum" && context == 'photos') { - return "photos.html?parentId=" + id; + if (item.Type == "PhotoAlbum") { + return "itemlist.html?context=photos&parentId=" + id; } if (item.Type == "Playlist") { return "itemdetails.html?id=" + id; @@ -1688,10 +1688,7 @@ var mediaSourceCount = item.MediaSourceCount || 1; - var href = options.linkItem === false ? '#' : - (options.useSecondaryItemsPage && item.IsFolder) ? - ('secondaryitems.html?parentid=' + item.Id) : - LibraryBrowser.getHref(item, options.context); + var href = options.linkItem === false ? '#' : LibraryBrowser.getHref(item, options.context); if (item.UserData) { cssClass += ' ' + LibraryBrowser.getUserDataCssClass(item.UserData.Key); diff --git a/dashboard-ui/scripts/moviecollections.js b/dashboard-ui/scripts/moviecollections.js index e6a2bac4eb..819693b9e1 100644 --- a/dashboard-ui/scripts/moviecollections.js +++ b/dashboard-ui/scripts/moviecollections.js @@ -155,6 +155,7 @@ $('.btnChangeLayout', page).on('layoutchange', function (e, layout) { getPageData().view = layout; + LibraryBrowser.saveViewSetting(getSavedQueryKey(), layout); reloadItems(page); }); diff --git a/dashboard-ui/scripts/moviegenres.js b/dashboard-ui/scripts/moviegenres.js index d48422415a..0aa21a8c28 100644 --- a/dashboard-ui/scripts/moviegenres.js +++ b/dashboard-ui/scripts/moviegenres.js @@ -136,6 +136,7 @@ $('.btnChangeLayout', page).on('layoutchange', function (e, layout) { getPageData().view = layout; + LibraryBrowser.saveViewSetting(getSavedQueryKey(), layout); reloadItems(page); }); diff --git a/dashboard-ui/scripts/movies.js b/dashboard-ui/scripts/movies.js index 15bc52e640..76c9aea1ca 100644 --- a/dashboard-ui/scripts/movies.js +++ b/dashboard-ui/scripts/movies.js @@ -166,6 +166,7 @@ $('.btnChangeLayout', page).on('layoutchange', function (e, layout) { getPageData().view = layout; + LibraryBrowser.saveViewSetting(getSavedQueryKey(), layout); reloadItems(page); }); diff --git a/dashboard-ui/scripts/photos.js b/dashboard-ui/scripts/photos.js index b74c5a7847..264975bd16 100644 --- a/dashboard-ui/scripts/photos.js +++ b/dashboard-ui/scripts/photos.js @@ -63,7 +63,6 @@ overlayText: tabIndex != 0, lazy: true, coverImage: true, - useSecondaryItemsPage: true, showTitle: tabIndex == 0, centerText: true }); diff --git a/dashboard-ui/scripts/playlists.js b/dashboard-ui/scripts/playlists.js index 406460eca0..c4a863e1ef 100644 --- a/dashboard-ui/scripts/playlists.js +++ b/dashboard-ui/scripts/playlists.js @@ -159,6 +159,7 @@ $('.btnChangeLayout', page).on('layoutchange', function (e, layout) { getPageData().view = layout; + LibraryBrowser.saveViewSetting(getSavedQueryKey(), layout); reloadItems(page); }); diff --git a/dashboard-ui/scripts/secondaryitems.js b/dashboard-ui/scripts/secondaryitems.js index 2abbd89a06..73c7253252 100644 --- a/dashboard-ui/scripts/secondaryitems.js +++ b/dashboard-ui/scripts/secondaryitems.js @@ -36,7 +36,7 @@ query: { SortBy: "SortName", SortOrder: "Ascending", - Recursive: true, + Recursive: getParameterByName('recursive') !== 'false', Fields: "PrimaryImageAspectRatio,SortName,SyncInfo", ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", diff --git a/dashboard-ui/scripts/tvgenres.js b/dashboard-ui/scripts/tvgenres.js index 45aad23796..03d029f100 100644 --- a/dashboard-ui/scripts/tvgenres.js +++ b/dashboard-ui/scripts/tvgenres.js @@ -1,26 +1,44 @@ (function ($, document) { - var view = LibraryBrowser.getDefaultItemsView('Thumb', 'Thumb'); + var data = {}; + function getPageData() { + var key = getSavedQueryKey(); + var pageData = data[key]; - // The base query options - var query = { + if (!pageData) { + pageData = data[key] = { + query: { + SortBy: "SortName", + SortOrder: "Ascending", + IncludeItemTypes: "Series", + Recursive: true, + Fields: "DateCreated,SyncInfo,ItemCounts", + StartIndex: 0, + Limit: LibraryBrowser.getDefaultPageSize() + }, + view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('Thumb', 'Thumb') + }; - SortBy: "SortName", - SortOrder: "Ascending", - IncludeItemTypes: "Series", - Recursive: true, - Fields: "DateCreated,SyncInfo,ItemCounts", - StartIndex: 0 - }; + pageData.query.ParentId = LibraryMenu.getTopParentId(); + LibraryBrowser.loadSavedQueryValues(key, pageData.query); + } + return pageData; + } + + function getQuery() { + + return getPageData().query; + } function getSavedQueryKey() { - return 'tvgenres' + (query.ParentId || ''); + return getWindowUrl(); } function reloadItems(page) { Dashboard.showLoadingMsg(); + var query = getQuery(); ApiClient.getGenres(Dashboard.getCurrentUserId(), query).done(function (result) { @@ -29,16 +47,19 @@ var html = ''; + var view = getPageData().view; + $('.listTopPaging', page).html(LibraryBrowser.getQueryPagingHtml({ startIndex: query.StartIndex, limit: query.Limit, totalRecordCount: result.TotalRecordCount, - viewButton: true, - showLimit: false + viewButton: false, + showLimit: false, + updatePageSizeSetting: false, + addLayoutButton: true, + currentLayout: view })); - updateFilterControls(page); - if (view == "Thumb") { html = LibraryBrowser.getPosterViewHtml({ items: result.Items, @@ -99,9 +120,9 @@ reloadItems(page); }); - $('.selectPageSize', page).on('change', function () { - query.Limit = parseInt(this.value); - query.StartIndex = 0; + $('.btnChangeLayout', page).on('layoutchange', function (e, layout) { + getPageData().view = layout; + LibraryBrowser.saveViewSetting(getSavedQueryKey(), layout); reloadItems(page); }); @@ -111,92 +132,10 @@ }); } - function updateFilterControls(page) { - - $('.chkStandardFilter', page).each(function () { - - var filters = "," + (query.Filters || ""); - var filterName = this.getAttribute('data-filter'); - - this.checked = filters.indexOf(',' + filterName) != -1; - - }).checkboxradio('refresh'); - - $('#selectPageSize', page).val(query.Limit).selectmenu('refresh'); - $('#selectView', page).val(view).selectmenu('refresh'); - } - - $(document).on('pageinitdepends', "#tvGenresPage", function () { + $(document).on('pagebeforeshowready', "#tvGenresPage", function () { var page = this; - - $('.chkStandardFilter', this).on('change', function () { - - var filterName = this.getAttribute('data-filter'); - var filters = query.Filters || ""; - - filters = (',' + filters).replace(',' + filterName, '').substring(1); - - if (this.checked) { - filters = filters ? (filters + ',' + filterName) : filterName; - } - - query.StartIndex = 0; - query.Filters = filters; - - reloadItems(page); - }); - - $('#selectPageSize', page).on('change', function () { - query.Limit = parseInt(this.value); - query.StartIndex = 0; - reloadItems(page); - }); - - $('#selectView', this).on('change', function () { - - view = this.value; - - if (view == "Timeline") { - - query.SortBy = "PremiereDate"; - query.SortOrder = "Descending"; - query.StartIndex = 0; - $('#radioPremiereDate', page)[0].click(); - - } else { - reloadItems(page); - } - - LibraryBrowser.saveViewSetting(getSavedQueryKey(), view); - }); - - }).on('pagebeforeshowready', "#tvGenresPage", function () { - - query.ParentId = LibraryMenu.getTopParentId(); - 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); - - LibraryBrowser.getSavedViewSetting(viewkey).done(function (val) { - - if (val) { - Events.trigger($('#selectView', page).val(val).selectmenu('refresh')[0], 'change'); - } else { - reloadItems(page); - } - }); - - updateFilterControls(this); + reloadItems(page); }); })(jQuery, document); \ No newline at end of file diff --git a/dashboard-ui/scripts/tvpeople.js b/dashboard-ui/scripts/tvpeople.js index 9e5c692d52..a79e6bf84b 100644 --- a/dashboard-ui/scripts/tvpeople.js +++ b/dashboard-ui/scripts/tvpeople.js @@ -35,6 +35,7 @@ limit: query.Limit, totalRecordCount: result.TotalRecordCount, viewButton: true, + viewIcon: 'filter-list', showLimit: false }); diff --git a/dashboard-ui/scripts/tvstudios.js b/dashboard-ui/scripts/tvstudios.js index 275620d824..fe62bb7e6f 100644 --- a/dashboard-ui/scripts/tvstudios.js +++ b/dashboard-ui/scripts/tvstudios.js @@ -49,12 +49,9 @@ startIndex: query.StartIndex, limit: query.Limit, totalRecordCount: result.TotalRecordCount, - viewButton: true, showLimit: false })); - updateFilterControls(page); - html += LibraryBrowser.getPosterViewHtml({ items: result.Items, shape: "backdrop", @@ -88,62 +85,13 @@ }); } - function updateFilterControls(page) { - - var query = getQuery(); - - $('.chkStandardFilter', page).each(function () { - - var filters = "," + (query.Filters || ""); - var filterName = this.getAttribute('data-filter'); - - this.checked = filters.indexOf(',' + filterName) != -1; - - }).checkboxradio('refresh'); - - $('#selectPageSize', page).val(query.Limit).selectmenu('refresh'); - } - - $(document).on('pageinitdepends', "#tvStudiosPage", function () { - - var page = this; - - $('.chkStandardFilter', this).on('change', function () { - - var query = getQuery(); - - var filterName = this.getAttribute('data-filter'); - var filters = query.Filters || ""; - - filters = (',' + filters).replace(',' + filterName, '').substring(1); - - if (this.checked) { - filters = filters ? (filters + ',' + filterName) : filterName; - } - - query.StartIndex = 0; - query.Filters = filters; - - reloadItems(page); - }); - - $('#selectPageSize', page).on('change', function () { - var query = getQuery(); - - query.Limit = parseInt(this.value); - query.StartIndex = 0; - reloadItems(page); - }); - - }).on('pagebeforeshowready', "#tvStudiosPage", function () { + $(document).on('pagebeforeshowready', "#tvStudiosPage", function () { var page = this; if (LibraryBrowser.needsRefresh(page)) { reloadItems(page); } - - updateFilterControls(page); }); })(jQuery, document); \ No newline at end of file diff --git a/dashboard-ui/tvgenres.html b/dashboard-ui/tvgenres.html index 9c8a6ff7f6..8cd002d08a 100644 --- a/dashboard-ui/tvgenres.html +++ b/dashboard-ui/tvgenres.html @@ -23,50 +23,6 @@
-