diff --git a/dashboard-ui/movies.html b/dashboard-ui/movies.html index 95a74ff9e5..eeea7857f4 100644 --- a/dashboard-ui/movies.html +++ b/dashboard-ui/movies.html @@ -70,18 +70,17 @@
-
-
-
+
+
-
+
-
+
diff --git a/dashboard-ui/scripts/moviegenres.js b/dashboard-ui/scripts/moviegenres.js index 77a9ab5da2..7ffaa97b6f 100644 --- a/dashboard-ui/scripts/moviegenres.js +++ b/dashboard-ui/scripts/moviegenres.js @@ -1,4 +1,4 @@ -define(['jQuery'], function ($) { +define([], function () { return function (view, params, tabContent) { @@ -17,8 +17,7 @@ IncludeItemTypes: "Movie", Recursive: true, Fields: "DateCreated,SyncInfo,ItemCounts", - StartIndex: 0, - Limit: LibraryBrowser.getDefaultPageSize() + StartIndex: 0 }, view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('Thumb', 'Thumb') }; @@ -46,34 +45,20 @@ ApiClient.getGenres(Dashboard.getCurrentUserId(), query).then(function (result) { - // Scroll back up so they can see the results from the beginning - window.scrollTo(0, 0); - var html = ''; - var viewStyle = getPageData().view; - - $('.listTopPaging', context).html(LibraryBrowser.getQueryPagingHtml({ - startIndex: query.StartIndex, - limit: query.Limit, - totalRecordCount: result.TotalRecordCount, - viewButton: false, - showLimit: false, - updatePageSizeSetting: false, - addLayoutButton: true, - currentLayout: viewStyle - })); + var viewStyle = self.getCurrentViewStyle(); if (viewStyle == "Thumb") { html = LibraryBrowser.getPosterViewHtml({ items: result.Items, shape: "backdrop", preferThumb: true, + context: 'movies', showItemCounts: true, centerText: true, lazy: true, - overlayPlayButton: true, - context: 'movies' + overlayPlayButton: true }); } else if (viewStyle == "ThumbCard") { @@ -82,64 +67,74 @@ items: result.Items, shape: "backdrop", preferThumb: true, + context: 'movies', showItemCounts: true, cardLayout: true, showTitle: true, - lazy: true, - context: 'movies' + lazy: true }); } else if (viewStyle == "PosterCard") { html = LibraryBrowser.getPosterViewHtml({ items: result.Items, shape: "portrait", + context: 'movies', showItemCounts: true, lazy: true, cardLayout: true, - showTitle: true, - context: 'movies' + showTitle: true }); } else if (viewStyle == "Poster") { html = LibraryBrowser.getPosterViewHtml({ items: result.Items, shape: "portrait", + context: 'movies', centerText: true, showItemCounts: true, lazy: true, - overlayPlayButton: true, - context: 'movies' + overlayPlayButton: true }); } - var elem = context.querySelector('.itemsContainer'); + var elem = context.querySelector('#items'); elem.innerHTML = html; ImageLoader.lazyChildren(elem); - $('.btnNextPage', context).on('click', function () { - query.StartIndex += query.Limit; - reloadItems(context); - }); - - $('.btnPreviousPage', context).on('click', function () { - query.StartIndex -= query.Limit; - reloadItems(context); - }); - - $('.btnChangeLayout', context).on('layoutchange', function (e, layout) { - getPageData().view = layout; - LibraryBrowser.saveViewSetting(getSavedQueryKey(), layout); - reloadItems(context); - }); - LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); Dashboard.hideLoadingMsg(); }); } - self.renderTab = function () { + self.getViewStyles = function () { + return 'Poster,PosterCard,Thumb,ThumbCard'.split(','); + }; + + self.getCurrentViewStyle = function () { + return getPageData(tabContent).view; + }; + + self.setCurrentViewStyle = function (viewStyle) { + getPageData(tabContent).view = viewStyle; + LibraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle); + reloadItems(tabContent); + }; + + self.enableViewSelection = true; + + self.renderTab = function () { reloadItems(tabContent); }; + + tabContent.querySelector('.btnSelectView').addEventListener('click', function (e) { + + LibraryBrowser.showLayoutMenu(e.target, self.getCurrentViewStyle(), self.getViewStyles()); + }); + + tabContent.querySelector('.btnSelectView').addEventListener('layoutchange', function (e) { + + self.setCurrentViewStyle(e.detail.viewStyle); + }); }; }); \ No newline at end of file diff --git a/dashboard-ui/scripts/moviestudios.js b/dashboard-ui/scripts/moviestudios.js index 1f344c31a6..781b090d6a 100644 --- a/dashboard-ui/scripts/moviestudios.js +++ b/dashboard-ui/scripts/moviestudios.js @@ -1,4 +1,4 @@ -define(['jQuery'], function ($) { +define([], function () { // The base query options var data = {}; @@ -16,8 +16,7 @@ IncludeItemTypes: "Movie", Recursive: true, Fields: "DateCreated,ItemCounts", - StartIndex: 0, - Limit: LibraryBrowser.getDefaultPageSize() + StartIndex: 0 } }; @@ -40,18 +39,8 @@ ApiClient.getStudios(Dashboard.getCurrentUserId(), query).then(function (result) { - // Scroll back up so they can see the results from the beginning - window.scrollTo(0, 0); - var html = ''; - $('.listTopPaging', context).html(LibraryBrowser.getQueryPagingHtml({ - startIndex: query.StartIndex, - limit: query.Limit, - totalRecordCount: result.TotalRecordCount, - showLimit: false - })); - html += LibraryBrowser.getPosterViewHtml({ items: result.Items, shape: "backdrop", @@ -64,20 +53,10 @@ }); - var elem = context.querySelector('.itemsContainer'); + var elem = context.querySelector('#items'); elem.innerHTML = html; ImageLoader.lazyChildren(elem); - $('.btnNextPage', context).on('click', function () { - query.StartIndex += query.Limit; - reloadItems(context, params); - }); - - $('.btnPreviousPage', context).on('click', function () { - query.StartIndex -= query.Limit; - reloadItems(context, params); - }); - LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); Dashboard.hideLoadingMsg(); });