From c651a45deaa10d1657b93aa87c54f483deef3ee3 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 20 Sep 2015 14:17:57 -0400 Subject: [PATCH] refresh home page after video playback --- dashboard-ui/scripts/indexpage.js | 14 ++++++++++++-- dashboard-ui/scripts/mediacontroller.js | 6 ++++++ dashboard-ui/scripts/moviesrecommended.js | 22 ++++++++++++++++++++-- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/dashboard-ui/scripts/indexpage.js b/dashboard-ui/scripts/indexpage.js index 8a2139f907..2833d64a48 100644 --- a/dashboard-ui/scripts/indexpage.js +++ b/dashboard-ui/scripts/indexpage.js @@ -249,15 +249,25 @@ pageIdOn('pageshowready', "indexPage", function () { var page = this; - + $(MediaController).on('playbackstop', onPlaybackStop); }); pageIdOn('pagebeforehide', "indexPage", function () { var page = this; - + $(MediaController).off('playbackstop', onPlaybackStop); }); + function onPlaybackStop(e, state) { + + if (state.NowPlayingItem && state.NowPlayingItem.MediaType == 'Video') { + var page = $($.mobile.activePage)[0]; + var pages = page.querySelector('neon-animated-pages'); + + $(pages).trigger('tabchange'); + } + } + function getDisplayPreferences(key, userId) { return ApiClient.getDisplayPreferences(key, userId, AppSettings.displayPreferencesKey()).done(function (result) { diff --git a/dashboard-ui/scripts/mediacontroller.js b/dashboard-ui/scripts/mediacontroller.js index a1501fb7cf..71b43cbbc1 100644 --- a/dashboard-ui/scripts/mediacontroller.js +++ b/dashboard-ui/scripts/mediacontroller.js @@ -247,8 +247,14 @@ if (player.isLocalPlayer) { monitorPlayer(player); } + + Events.on(player, 'playbackstop', onPlaybackStop); }; + function onPlaybackStop(e, state) { + $(self).trigger('playbackstop', [state]); + } + self.getPlayerInfo = function () { var player = currentPlayer || {}; diff --git a/dashboard-ui/scripts/moviesrecommended.js b/dashboard-ui/scripts/moviesrecommended.js index f497b58aca..f7060fa7c8 100644 --- a/dashboard-ui/scripts/moviesrecommended.js +++ b/dashboard-ui/scripts/moviesrecommended.js @@ -316,7 +316,7 @@ window.MoviesPage = window.MoviesPage || {}; window.MoviesPage.renderSuggestedTab = loadSuggestionsTab; - $(document).on('pageinit', "#moviesPage", function () { + pageIdOn('pageinit', "moviesPage", function () { var page = this; @@ -336,8 +336,9 @@ $(pages).on('tabchange', function () { loadTab(page, parseInt(this.selected)); }); + }); - }).on('pageshowready', "#moviesPage", function () { + pageIdOn('pageshowready', "moviesPage", function () { var page = this; @@ -360,6 +361,23 @@ } } + $(MediaController).on('playbackstop', onPlaybackStop); }); + pageIdOn('pagebeforehide', "moviesPage", function () { + + var page = this; + $(MediaController).off('playbackstop', onPlaybackStop); + }); + + function onPlaybackStop(e, state) { + + if (state.NowPlayingItem && state.NowPlayingItem.MediaType == 'Video') { + var page = $($.mobile.activePage)[0]; + var pages = page.querySelector('neon-animated-pages'); + + $(pages).trigger('tabchange'); + } + } + })(jQuery, document); \ No newline at end of file