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