diff --git a/dashboard-ui/movies.html b/dashboard-ui/movies.html index 79ac95e44f..b83eefaaa5 100644 --- a/dashboard-ui/movies.html +++ b/dashboard-ui/movies.html @@ -4,7 +4,7 @@ Emby -
+
diff --git a/dashboard-ui/scripts/moviecollections.js b/dashboard-ui/scripts/moviecollections.js index 07f61ef772..e6a2bac4eb 100644 --- a/dashboard-ui/scripts/moviecollections.js +++ b/dashboard-ui/scripts/moviecollections.js @@ -68,7 +68,6 @@ })).trigger('create'); - updateFilterControls(page); var trigger = false; if (result.TotalRecordCount) { @@ -165,10 +164,6 @@ }); } - function updateFilterControls(tabContent) { - - } - function initPage(tabContent) { $('select.selectView').on('change', function () { @@ -182,28 +177,6 @@ }); } - $(document).on('pageinitdepends', "#moviesPage", function () { - - var page = this; - var index = 3; - - $(page.querySelector('neon-animated-pages')).on('tabchange', function () { - - if (parseInt(this.selected) == index) { - var tabContent = page.querySelector('.pageTabContent[data-index=\'' + index + '\']'); - - if (!tabContent.initComplete) { - initPage(tabContent); - tabContent.initComplete = true; - } - - if (LibraryBrowser.needsRefresh(tabContent)) { - reloadItems(tabContent); - } - } - }); - }); - $(document).on('pageinitdepends', "#boxsetsPage", function () { var page = this; @@ -219,7 +192,18 @@ var content = page; reloadItems(content); - updateFilterControls(content); }); + window.MoviesPage = window.MoviesPage || {}; + window.MoviesPage.renderCollectionsTab = function (page, tabContent) { + + if (LibraryBrowser.needsRefresh(tabContent)) { + reloadItems(tabContent); + } + }; + window.MoviesPage.initCollectionsTab = function (page, tabContent) { + + initPage(tabContent); + }; + })(jQuery, document); \ No newline at end of file diff --git a/dashboard-ui/scripts/moviegenres.js b/dashboard-ui/scripts/moviegenres.js index f739644c87..d48422415a 100644 --- a/dashboard-ui/scripts/moviegenres.js +++ b/dashboard-ui/scripts/moviegenres.js @@ -60,7 +60,6 @@ })).trigger('create'); - updateFilterControls(page); var trigger = false; if (view == "List") { @@ -146,32 +145,11 @@ }); } - function updateFilterControls(page) { + window.MoviesPage.renderGenresTab = function (page, tabContent) { - } - - $(document).on('pageinitdepends', "#moviesPage", function () { - - var page = this; - var index = 4; - - $(page.querySelector('neon-animated-pages')).on('tabchange', function () { - - if (parseInt(this.selected) == index) { - - var tabContent = page.querySelector('.pageTabContent[data-index=\'' + index + '\']'); - if (!tabContent.initComplete) { - tabContent.initComplete = true; - } - - if (LibraryBrowser.needsRefresh(tabContent)) { - reloadItems(tabContent); - updateFilterControls(); - } - } - }); - - - }); + if (LibraryBrowser.needsRefresh(tabContent)) { + reloadItems(tabContent); + } + }; })(jQuery, document); \ No newline at end of file diff --git a/dashboard-ui/scripts/moviepeople.js b/dashboard-ui/scripts/moviepeople.js index 6c3804d96b..fe2f71bad9 100644 --- a/dashboard-ui/scripts/moviepeople.js +++ b/dashboard-ui/scripts/moviepeople.js @@ -159,27 +159,19 @@ }); } - $(document).on('pageinitdepends', "#moviesPage", function () { + window.MoviesPage.initPeopleTab = function (page, tabContent) { - var page = this; - var index = 5; + var viewPanel = page.querySelector('.peopleViewPanel'); + initPage(tabContent, viewPanel); + }; - $(page.querySelector('neon-animated-pages')).on('tabchange', function () { + window.MoviesPage.renderPeopleTab = function (page, tabContent) { - if (parseInt(this.selected) == index) { - - var viewPanel = page.querySelector('.peopleViewPanel'); - var tabContent = page.querySelector('.pageTabContent[data-index=\'' + index + '\']'); - if (!tabContent.initComplete) { - initPage(tabContent, viewPanel); - tabContent.initComplete = true; - } - if (LibraryBrowser.needsRefresh(tabContent)) { - reloadItems(tabContent, viewPanel); - updateFilterControls(tabContent, viewPanel); - } - } - }); - }); + if (LibraryBrowser.needsRefresh(tabContent)) { + var viewPanel = page.querySelector('.peopleViewPanel'); + reloadItems(tabContent, viewPanel); + updateFilterControls(tabContent, viewPanel); + } + }; })(jQuery, document); \ No newline at end of file diff --git a/dashboard-ui/scripts/movies.js b/dashboard-ui/scripts/movies.js index 134d110b54..1888b866c7 100644 --- a/dashboard-ui/scripts/movies.js +++ b/dashboard-ui/scripts/movies.js @@ -442,30 +442,19 @@ }); } - $(document).on('pageinitdepends', "#moviesPage", function () { + window.MoviesPage.initMoviesTab = function (page, tabContent) { - var page = this; - var index = 1; + var viewPanel = page.querySelector('.movieViewPanel'); + initPage(tabContent, viewPanel); + }; - $(page.querySelector('neon-animated-pages')).on('tabchange', function () { + window.MoviesPage.renderMoviesTab = function (page, tabContent) { - if (parseInt(this.selected) == index) { - var viewPanel = page.querySelector('.viewPanel'); - var tabContent = page.querySelector('.pageTabContent[data-index=\'' + index + '\']'); - if (!tabContent.initComplete) { - initPage(tabContent, viewPanel); - tabContent.initComplete = true; - } - - if (LibraryBrowser.needsRefresh(tabContent)) { - - reloadItems(tabContent, viewPanel); - updateFilterControls(tabContent, viewPanel); - } - } - }); - - - }); + if (LibraryBrowser.needsRefresh(tabContent)) { + var viewPanel = page.querySelector('.movieViewPanel'); + reloadItems(tabContent, viewPanel); + updateFilterControls(tabContent, viewPanel); + } + }; })(jQuery, document); \ No newline at end of file diff --git a/dashboard-ui/scripts/moviesrecommended.js b/dashboard-ui/scripts/moviesrecommended.js index 9c8a94977b..7e80a58e68 100644 --- a/dashboard-ui/scripts/moviesrecommended.js +++ b/dashboard-ui/scripts/moviesrecommended.js @@ -231,43 +231,90 @@ }); } - function loadSuggestionsTab(page) { + function loadSuggestionsTab(page, tabContent) { var parentId = LibraryMenu.getTopParentId(); var userId = Dashboard.getCurrentUserId(); - var containers = page.querySelectorAll('.itemsContainer'); + var containers = tabContent.querySelectorAll('.itemsContainer'); if (enableScrollX()) { $(containers).addClass('hiddenScrollX'); } else { $(containers).removeClass('hiddenScrollX'); } - if (LibraryBrowser.needsRefresh(page)) { - loadResume(page, userId, parentId); - loadLatest(page, userId, parentId); + if (LibraryBrowser.needsRefresh(tabContent)) { + loadResume(tabContent, userId, parentId); + loadLatest(tabContent, userId, parentId); if (AppInfo.enableMovieHomeSuggestions) { - loadSuggestions(page, userId, parentId); + loadSuggestions(tabContent, userId, parentId); } } } function loadTab(page, index) { - page = page.querySelector('.pageTabContent[data-index=\'' + index + '\']'); + var tabContent = page.querySelector('.pageTabContent[data-index=\'' + index + '\']'); + var depends = []; + var scope = 'MoviesPage'; + var renderMethod = ''; + var initMethod = ''; switch (index) { case 0: - loadSuggestionsTab(page); + renderMethod = 'renderSuggestedTab'; + break; + case 1: + depends.push('scripts/movies'); + renderMethod = 'renderMoviesTab'; + initMethod = 'initMoviesTab'; + break; + case 2: + depends.push('scripts/movietrailers'); + renderMethod = 'renderTrailerTab'; + initMethod = 'initTrailerTab'; + break; + case 3: + depends.push('scripts/moviecollections'); + renderMethod = 'renderCollectionsTab'; + initMethod = 'initCollectionsTab'; + break; + case 4: + depends.push('scripts/moviegenres'); + renderMethod = 'renderGenresTab'; + break; + case 5: + depends.push('scripts/moviepeople'); + renderMethod = 'renderPeopleTab'; + initMethod = 'initPeopleTab'; + break; + case 6: + depends.push('scripts/moviestudios'); + renderMethod = 'renderStudiosTab'; break; default: break; } + + require(depends, function () { + + if (initMethod && !tabContent.initComplete) { + + window[scope][initMethod](page, tabContent); + tabContent.initComplete = true; + } + + window[scope][renderMethod](page, tabContent); + + }); } + window.MoviesPage = window.MoviesPage || {}; + window.MoviesPage.renderSuggestedTab = loadSuggestionsTab; + $(document).on('pageinitdepends', "#moviesPage", function () { var page = this; diff --git a/dashboard-ui/scripts/moviestudios.js b/dashboard-ui/scripts/moviestudios.js index 0e4e40e310..033e513d3f 100644 --- a/dashboard-ui/scripts/moviestudios.js +++ b/dashboard-ui/scripts/moviestudios.js @@ -55,8 +55,6 @@ page.querySelector('.listTopPaging').innerHTML = pagingHtml; - updateFilterControls(); - html = LibraryBrowser.getPosterViewHtml({ items: result.Items, shape: "backdrop", @@ -87,31 +85,11 @@ }); } - function updateFilterControls(page) { - } + window.MoviesPage.renderStudiosTab = function (page, tabContent) { - $(document).on('pageinitdepends', "#moviesPage", function () { - - var page = this; - var index = 6; - - $(page.querySelector('neon-animated-pages')).on('tabchange', function () { - - if (parseInt(this.selected) == index) { - - var tabContent = page.querySelector('.pageTabContent[data-index=\'' + index + '\']'); - if (!tabContent.initComplete) { - tabContent.initComplete = true; - } - - if (LibraryBrowser.needsRefresh(tabContent)) { - reloadItems(tabContent); - updateFilterControls(); - } - } - }); - - - }); + if (LibraryBrowser.needsRefresh(tabContent)) { + reloadItems(tabContent); + } + }; })(jQuery, document); \ No newline at end of file diff --git a/dashboard-ui/scripts/movietrailers.js b/dashboard-ui/scripts/movietrailers.js index 5bf9f3daf9..7f31e3eb19 100644 --- a/dashboard-ui/scripts/movietrailers.js +++ b/dashboard-ui/scripts/movietrailers.js @@ -185,29 +185,19 @@ }); } - $(document).on('pageinitdepends', "#moviesPage", function () { + window.MoviesPage.initTrailerTab = function (page, tabContent) { - var page = this; - var index = 2; + var viewPanel = page.querySelector('.trailerViewPanel'); + initPage(page, tabContent, viewPanel); + }; - $(page.querySelector('neon-animated-pages')).on('tabchange', function () { + window.MoviesPage.renderTrailerTab = function (page, tabContent) { - if (parseInt(this.selected) == index) { - - var viewPanel = page.querySelector('.trailerViewPanel'); - var tabContent = page.querySelector('.pageTabContent[data-index=\'' + index + '\']'); - if (!tabContent.initComplete) { - initPage(page, tabContent, viewPanel); - tabContent.initComplete = true; - } - - if (LibraryBrowser.needsRefresh(tabContent)) { - reloadItems(tabContent, viewPanel); - updateFilterControls(tabContent, viewPanel); - } - } - }); - - }); + if (LibraryBrowser.needsRefresh(tabContent)) { + var viewPanel = page.querySelector('.trailerViewPanel'); + reloadItems(tabContent, viewPanel); + updateFilterControls(tabContent, viewPanel); + } + }; })(jQuery, document); \ No newline at end of file