From 44c1876907d0ab6a93506552f268068796272564 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 3 Sep 2013 11:40:47 -0400 Subject: [PATCH] fixes #513 - Fix flickering on dashboard now playing page --- dashboard-ui/scripts/dashboardpage.js | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/dashboard-ui/scripts/dashboardpage.js b/dashboard-ui/scripts/dashboardpage.js index 7f847666c..41ec6ab38 100644 --- a/dashboard-ui/scripts/dashboardpage.js +++ b/dashboard-ui/scripts/dashboardpage.js @@ -86,7 +86,7 @@ var rowId = 'trSession' + connection.Id; var elem = $('#' + rowId, page); - + if (elem.length) { DashboardPage.updateSession(elem, connection); continue; @@ -126,18 +126,27 @@ $('.deadSession', table).remove(); }, - - updateSession: function(row, session) { + + updateSession: function (row, session) { row.removeClass('deadSession'); - + $('.username', row).html(session.UserName || ''); var nowPlayingItem = session.NowPlayingItem; $('.nowPlayingText', row).html(DashboardPage.getNowPlayingText(session, nowPlayingItem)).trigger('create'); - $('.nowPlayingImage', row).html(DashboardPage.getNowPlayingImage(nowPlayingItem)); + var imageRow = $('.nowPlayingImage', row); + + var image = $('img', imageRow)[0]; + + var nowPlayingItemId = nowPlayingItem ? nowPlayingItem.Id : null; + var nowPlayingItemImageTag = nowPlayingItem ? nowPlayingItem.PrimaryImageTag : null; + + if (!image || image.getAttribute('data-itemid') != nowPlayingItemId || image.getAttribute('data-tag') != nowPlayingItemImageTag) { + imageRow.html(DashboardPage.getNowPlayingImage(nowPlayingItem)); + } }, getClientType: function (connection) { @@ -217,7 +226,9 @@ tag: item.PrimaryImageTag }); - return "" + item.Name + ""; + url += "&xxx=" + new Date().getTime(); + + return "" + item.Name + ""; } return "";