diff options
author | Christian Pointner <equinox@helsinki.at> | 2016-06-25 19:16:16 (GMT) |
---|---|---|
committer | Christian Pointner <equinox@helsinki.at> | 2016-06-25 19:16:56 (GMT) |
commit | 64bde3d495236f6f72c618ebc5004656c0fc67cc (patch) | |
tree | 80a10a0ed86ae11a3b13ae611a936f16ce7462fb /www/js/nextshows.js | |
parent | 534d3288e9b58f8351ed915790452d9bfdef9860 (diff) |
only show future show entries
Diffstat (limited to 'www/js/nextshows.js')
-rw-r--r-- | www/js/nextshows.js | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/www/js/nextshows.js b/www/js/nextshows.js index 0ab6c83..6d85f55 100644 --- a/www/js/nextshows.js +++ b/www/js/nextshows.js @@ -41,8 +41,14 @@ rh.ShowList.prototype.fetch = function() { $.getJSON( "/rh-bin/schedules.json?DAYS=3&START=" + ydstr, function(data) { if(data.status == "OK") { self.shows = []; - $(data.shows).each(function(index, show) { - self.shows.push(new rh.Show(show)); + $(data.shows).each(function(index, showdata) { + var show = new rh.Show(showdata); + if(self.shows.length > 0) { + if(self.shows[self.shows.length-1].end > show.start) { + self.shows[self.shows.length-1].end = show.start; + } + } + self.shows.push(show); }); self.$this.trigger('update'); } @@ -54,6 +60,7 @@ rh.Show = function(show) { this.title = show.title; this.start = new Date(show.start); this.len = show.len; + this.end = new Date(this.start.valueOf() + show.len); }; @@ -80,13 +87,17 @@ rh.ShowListView.prototype.render = function() { $('div.show', list).remove(); this.showViews = []; - var self = this; - $(this.model.shows).each(function(index, show) { - var showView = new rh.ShowView(show, self); - self.showViews.push(showView); + var now = clock.now(); + for (var i = 0; i < this.model.shows.length; i++) { + if((now.valueOf() + (this.model.shows[i].end.getTimezoneOffset() * 60000)) > this.model.shows[i].end) { + continue; + } + + var showView = new rh.ShowView(this.model.shows[i], this); + this.showViews.push(showView); showView.render(); list.append(showView.$el); - }); + } }; @@ -103,8 +114,7 @@ rh.ShowView.prototype.render = function() { var endstr = "Live"; if(this.model.len > 0) { - var end = new Date(this.model.start.valueOf() + this.model.len); - endstr = "Ende: " + format_time(end); + endstr = "Ende: " + format_time(this.model.end); } var end = $('<span>').addClass('show-end').text(endstr); @@ -122,4 +132,7 @@ function nextshows_init() { showListView = new rh.ShowListView(shows, 10); setInterval("shows.fetch()", 5000); + clock.addCallback(function() { + showListView.render(); + }); } |