diff --git a/dashboard-ui/scripts/episodes.js b/dashboard-ui/scripts/episodes.js index f3b6979da9..9c8abf278b 100644 --- a/dashboard-ui/scripts/episodes.js +++ b/dashboard-ui/scripts/episodes.js @@ -232,10 +232,7 @@ }); } - self.initTab = function () { - - initPage(tabContent); - }; + initPage(tabContent); self.renderTab = function () { if (LibraryBrowser.needsRefresh(tabContent)) { diff --git a/dashboard-ui/scripts/tvrecommended.js b/dashboard-ui/scripts/tvrecommended.js index f12d743738..0ce5d59ba6 100644 --- a/dashboard-ui/scripts/tvrecommended.js +++ b/dashboard-ui/scripts/tvrecommended.js @@ -180,6 +180,7 @@ } }; + var tabControllers = []; function loadTab(page, index) { var tabContent = page.querySelector('.pageTabContent[data-index=\'' + index + '\']'); @@ -216,11 +217,14 @@ if (index == 0) { self.tabContent = tabContent; } - var controller = index ? new controllerFactory(view, params, tabContent) : self; + var controller = tabControllers[index]; + if (!controller) { + controller = index ? new controllerFactory(view, params, tabContent) : self; + tabControllers[index] = controller; - if (controller.initTab) { - controller.initTab(); - tabContent.initComplete = true; + if (controller.initTab) { + controller.initTab(); + } } controller.renderTab(); diff --git a/dashboard-ui/scripts/tvshows.js b/dashboard-ui/scripts/tvshows.js index 419016b1a4..d812b9a906 100644 --- a/dashboard-ui/scripts/tvshows.js +++ b/dashboard-ui/scripts/tvshows.js @@ -258,10 +258,7 @@ }); } - self.initTab = function () { - - initPage(tabContent); - }; + initPage(tabContent); self.renderTab = function () { if (LibraryBrowser.needsRefresh(tabContent)) {