From 3e594329b546e3a999df1c63d0aa2abd25db1cc7 Mon Sep 17 00:00:00 2001 From: reichi Date: Thu, 19 Jan 2012 16:36:58 +0100 Subject: [PATCH] preservce visibility of now/next items when updating a servicelist's epg information --- webinterface/src/web-data/handler.js | 33 +++++++++++-------- .../tpl/default/tplServiceListEPGItem.htm | 11 ++++--- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/webinterface/src/web-data/handler.js b/webinterface/src/web-data/handler.js index 03b6502a5e..d11e8f2579 100644 --- a/webinterface/src/web-data/handler.js +++ b/webinterface/src/web-data/handler.js @@ -290,7 +290,7 @@ var ServiceListEpgHandler = Class.create(AbstractContentHandler, { show: function(list){ var len = list.items.length; for(var i = 0; i < len; i++){ - this.showItem(list.items[i]); + this.updateEpg(list.items[i]); } this.finished(); }, @@ -302,25 +302,30 @@ var ServiceListEpgHandler = Class.create(AbstractContentHandler, { * @item - The EPGEvent object */ //TODO: move showItem outta here - showItem: function(item, type){ + updateEpg: function(item){ if(item.now.eventid != ''){ - var progress = $(this.PROGRESS + item.now.servicereference) - if(progress) + var progress = $(this.PROGRESS + item.now.servicereference); + if(progress){ progress.down('.sListSProgress').title = item.now.progress + "%"; progress.down('.sListSProgressBar').style.width = item.now.progress + "%"; - - var id = this.EPG_NOW + item.now.servicereference; - templateEngine.process('tplServiceListEPGItem', {'item' : item.now}, id, true); - var element = $(id).up('.sListEPGNow'); - if(element){ - element.show(); } } + this.showItem(this.EPG_NOW, item.now,'.sListEPGNow'); + this.showItem(this.EPG_NEXT, item.next,'.sListEPGNext'); + }, + + showItem: function(type, epgItem, parent){ + var id = type + epgItem.servicereference; + var epgElement = $(id); + if(epgElement){ //Markers don't have any EPG + var isVisible = false; + var target = epgElement.down('.sListExtEpgLong'); + if(target){ + isVisible = target.visible(); + } - if(item.next.eventid != ''){ - var id = this.EPG_NEXT + item.now.servicereference; - templateEngine.process('tplServiceListEPGItem', {'item' : item.next}, id, true); - var element = $(id).up('.sListEPGNext'); + templateEngine.process('tplServiceListEPGItem', {'item' : epgItem, 'isVisible' : isVisible}, id, true); + var element = $(id).up(parent); if(element){ element.show(); } diff --git a/webinterface/src/web-data/tpl/default/tplServiceListEPGItem.htm b/webinterface/src/web-data/tpl/default/tplServiceListEPGItem.htm index eb5ba655bd..ee27acaf51 100644 --- a/webinterface/src/web-data/tpl/default/tplServiceListEPGItem.htm +++ b/webinterface/src/web-data/tpl/default/tplServiceListEPGItem.htm @@ -5,17 +5,18 @@ - + {if item.duration != item.remaining} {else} {/if} - - - - +
${item.starttime}+ ${item.title} + - ${item.title}+${item.remaining} of ${item.duration}${item.duration}