diff --git a/dashboard-ui/scripts/episodes.js b/dashboard-ui/scripts/episodes.js index edfd576d3..fed291b9e 100644 --- a/dashboard-ui/scripts/episodes.js +++ b/dashboard-ui/scripts/episodes.js @@ -48,6 +48,25 @@ return context.savedQueryKey; } + function onViewStyleChange() { + + var viewStyle = self.getCurrentViewStyle(); + + var itemsContainer = tabContent.querySelector('.itemsContainer'); + + if (viewStyle == "List") { + + itemsContainer.classList.add('vertical-list'); + itemsContainer.classList.remove('vertical-wrap'); + } + else { + + itemsContainer.classList.remove('vertical-list'); + itemsContainer.classList.add('vertical-wrap'); + } + itemsContainer.innerHTML = ''; + } + function reloadItems(page) { Dashboard.showLoadingMsg(); @@ -73,6 +92,7 @@ var viewStyle = self.getCurrentViewStyle(); var html; + var itemsContainer = tabContent.querySelector('.itemsContainer'); if (viewStyle == "List") { @@ -83,6 +103,7 @@ }); } else if (viewStyle == "PosterCard") { + html = cardBuilder.getCardsHtml({ items: result.Items, shape: "backdrop", @@ -132,7 +153,6 @@ elems[i].addEventListener('click', onPreviousPageClick); } - var itemsContainer = tabContent.querySelector('.itemsContainer'); itemsContainer.innerHTML = html; imageLoader.lazyChildren(itemsContainer); @@ -226,6 +246,7 @@ var viewStyle = e.detail.viewStyle; getPageData(tabContent).view = viewStyle; libraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle); + onViewStyleChange(); reloadItems(tabContent); }); } @@ -235,6 +256,7 @@ }; initPage(tabContent); + onViewStyleChange(); self.renderTab = function () { diff --git a/dashboard-ui/scripts/secondaryitems.js b/dashboard-ui/scripts/secondaryitems.js index 5dc76c063..06252af24 100644 --- a/dashboard-ui/scripts/secondaryitems.js +++ b/dashboard-ui/scripts/secondaryitems.js @@ -104,6 +104,24 @@ } } + function onViewStyleChange(parentItem) { + + var query = getQuery(parentItem); + + var itemsContainer = view.querySelector('#items'); + + if (query.IncludeItemTypes == "Audio") { + + itemsContainer.classList.add('vertical-list'); + itemsContainer.classList.remove('vertical-wrap'); + + } else { + + itemsContainer.classList.remove('vertical-list'); + itemsContainer.classList.add('vertical-wrap'); + } + } + function reloadItems(parentItem) { Dashboard.showLoadingMsg(); @@ -125,16 +143,19 @@ view.querySelector('.listTopPaging').innerHTML = pagingHtml; + var itemsContainer = view.querySelector('#items'); + if (query.IncludeItemTypes == "Audio") { - html = '
' + listView.getListViewHtml({ + html = listView.getListViewHtml({ items: result.Items, playFromHere: true, action: 'playallfromhere', smallIcon: true - }) + '
'; + }); } else { + var posterOptions = { items: result.Items, shape: "auto", @@ -163,9 +184,8 @@ html = cardBuilder.getCardsHtml(posterOptions); } - var elem = view.querySelector('#items'); - elem.innerHTML = html + pagingHtml; - ImageLoader.lazyChildren(elem); + itemsContainer.innerHTML = html + pagingHtml; + ImageLoader.lazyChildren(itemsContainer); var i, length; var elems; @@ -201,11 +221,13 @@ ApiClient.getItem(Dashboard.getCurrentUserId(), params.parentId).then(function (parent) { LibraryMenu.setTitle(parent.Name); + onViewStyleChange(parent); reloadItems(parent); }); } else { + onViewStyleChange(); reloadItems(); } }); diff --git a/dashboard-ui/scripts/tvshows.js b/dashboard-ui/scripts/tvshows.js index f8d52c567..eb625ba5f 100644 --- a/dashboard-ui/scripts/tvshows.js +++ b/dashboard-ui/scripts/tvshows.js @@ -1,4 +1,4 @@ -define(['events', 'libraryBrowser', 'imageLoader', 'alphaPicker', 'listView', 'emby-itemscontainer'], function (events, libraryBrowser, imageLoader, alphaPicker, listView) { +define(['events', 'libraryBrowser', 'imageLoader', 'alphaPicker', 'listView', 'cardBuilder', 'emby-itemscontainer'], function (events, libraryBrowser, imageLoader, alphaPicker, listView, cardBuilder) { return function (view, params, tabContent) { @@ -46,6 +46,25 @@ return context.savedQueryKey; } + function onViewStyleChange() { + + var viewStyle = self.getCurrentViewStyle(); + + var itemsContainer = tabContent.querySelector('.itemsContainer'); + + if (viewStyle == "List") { + + itemsContainer.classList.add('vertical-list'); + itemsContainer.classList.remove('vertical-wrap'); + } + else { + + itemsContainer.classList.remove('vertical-list'); + itemsContainer.classList.add('vertical-wrap'); + } + itemsContainer.innerHTML = ''; + } + function reloadItems(page) { Dashboard.showLoadingMsg(); @@ -75,7 +94,7 @@ if (viewStyle == "Thumb") { - html = libraryBrowser.getPosterViewHtml({ + html = cardBuilder.getCardsHtml({ items: result.Items, shape: "backdrop", preferThumb: true, @@ -86,7 +105,7 @@ } else if (viewStyle == "ThumbCard") { - html = libraryBrowser.getPosterViewHtml({ + html = cardBuilder.getCardsHtml({ items: result.Items, shape: "backdrop", preferThumb: true, @@ -99,7 +118,7 @@ } else if (viewStyle == "Banner") { - html = libraryBrowser.getPosterViewHtml({ + html = cardBuilder.getCardsHtml({ items: result.Items, shape: "banner", preferBanner: true, @@ -117,7 +136,7 @@ } else if (viewStyle == "PosterCard") { - html = libraryBrowser.getPosterViewHtml({ + html = cardBuilder.getCardsHtml({ items: result.Items, shape: "portrait", context: 'tv', @@ -130,7 +149,7 @@ else { // Poster - html = libraryBrowser.getPosterViewHtml({ + html = cardBuilder.getCardsHtml({ items: result.Items, shape: "portrait", context: 'tv', @@ -276,6 +295,7 @@ getPageData(tabContent).view = viewStyle; libraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle); getQuery(tabContent).StartIndex = 0; + onViewStyleChange(); reloadItems(tabContent); }); } @@ -285,6 +305,7 @@ }; initPage(tabContent); + onViewStyleChange(); self.renderTab = function () {