diff options
-rw-r--r-- | www/js/specials.js | 114 |
1 files changed, 22 insertions, 92 deletions
diff --git a/www/js/specials.js b/www/js/specials.js index 8f85014..668ab3e 100644 --- a/www/js/specials.js +++ b/www/js/specials.js @@ -29,65 +29,40 @@ var rh = rh || {}; var shows = null; -rh.ShowList = function(d) { +rh.ShowList = function() { this.$this = $(this); this.shows = []; - if(!is_valid_date(d)) { - this.current = new Date(); - } else { - this.current = d; - } - this.current_week = get_rd_week(this.current.valueOf()); this.request_sent = false; }; rh.ShowList.prototype.fetch = function() { var self = this; - this.current_week = get_rd_week(this.current.valueOf()); this.request_sent = true; self.$this.trigger('pre-update'); - $.getJSON( "/rh-bin/schedules.json?DAYS=1&START=" + format_date_iso(this.current), function(data) { - if(data.status == "OK") { - history.replaceState(null, null, '/specials/' + format_date_iso(self.current)); - self.last_succeeded = self.current; - self.shows = []; - $(data.shows).each(function(index, showdata) { - var show = new rh.Show(showdata); - self.shows.push(show); - }); - self.$this.trigger('update'); - } + $.getJSON( "/pv-export/timeslots_specials/", function(data) { + self.shows = []; + $.each(data, function(showid, showdata) { + console.log(showdata); + var show = new rh.Show(showdata); + self.shows.push(show); + }); + self.$this.trigger('update'); }).fail(function() { - if(is_valid_date(self.last_succeeded)) { - self.current = self.last_succeeded; - self.current_week = get_rd_week(self.current.valueOf()); - self.$this.trigger('update'); - } + alert("Error") }).always(function() { self.request_sent = false; }); }; -rh.ShowList.prototype.prev = function() { - if(!this.request_sent) { - this.current = new Date(this.current.valueOf() - 24*3600*1000); - this.fetch(); - } -}; - -rh.ShowList.prototype.next = function() { - if(!this.request_sent) { - this.current = new Date(this.current.valueOf() + 24*3600*1000); - this.fetch(); - } -}; - rh.Show = function(show) { this.id = show.id; this.title = show.title; - this.start = new Date(show.start); - this.len = show.len; + + this.pv_id = show.pv_id + this.pv_name = show.pv_name + this.pv_start = new Date(show.start); + this.pv_end = new Date(show.start); }; @@ -103,38 +78,14 @@ rh.ShowListView = function(model) { var self = this; $(this.model).on('pre-update', function() { - self.render_hdr(); self.render_loading(); }); $(this.model).on('update', function() { - self.render_hdr(); self.render_list(); }); this.model.fetch(); }; -rh.ShowListView.prototype.render_hdr = function() { - var hdr = $('#header'); - $('span.date', hdr).text(format_date(this.model.current)); - var weekspan = $('span.week', hdr).removeClass().addClass('week').addClass('label'); - switch(this.model.current_week) { - case 1: - weekspan.addClass('label-info').text('Woche 1'); - break; - case 2: - weekspan.addClass('label-warning').text('Woche 2'); - break; - case 3: - weekspan.addClass('label-success').text('Woche 3'); - break; - case 4: - weekspan.addClass('label-danger').text('Woche 4'); - break; - default: - weekspan.addClass('label-default').text('Fehler'); - } -}; - rh.ShowListView.prototype.render_list = function() { $('#loading').hide(); var list = $('#shows'); @@ -164,18 +115,18 @@ rh.ShowView = function(model, listView) { }; rh.ShowView.prototype.render = function() { - var start = $('<span>').addClass('show-start').text(format_time(this.model.start)); - var lenstr = "-"; - if(this.model.len > 0) { - lenstr = format_durationms(this.model.len); + var id = $('<span>').addClass('show-start').text(this.model.id); + var pvstr = "unused"; + if(this.model.pv_id >= 0) { + pvstr = this.model.pv_id + " | " + this.model.pv_name + " (" + this.model.pv_start + " - " + this.model.pv_end + ")"; } - var len = $('<span>').addClass('show-len').text("(" + lenstr + ")"); + var len = $('<span>').addClass('show-len').text(pvstr); var showlink = $('<a>').attr('href', "https://import.helsinki.at/shows/" + this.model.id) .attr('target', "import").text(this.model.title); var title = $('<span>').addClass('show-title').append(showlink); - this.$el.empty().addClass('show').append(start).append(title).append(len); + this.$el.empty().addClass('show').append(id).append(title).append(len); } @@ -183,27 +134,6 @@ rh.ShowView.prototype.render = function() { /***************** controller *****************/ function specials_init() { - var url = parseLocationHref(); - var d = new Date(); - if(url.path.length > 1) { - var tmp = new Date(url.path[1]); - if(is_valid_date(tmp)) { - d = tmp; - } - } - history.pushState(null, null, '/specials/' + format_date_iso(d)); - - shows = new rh.ShowList(d); + shows = new rh.ShowList(); showListView = new rh.ShowListView(shows); - - $('#btn-earlier').click(specials_prev); - $('#btn-later').click(specials_next); -} - -function specials_prev() { - shows.prev(); -} - -function specials_next() { - shows.next(); } |