summaryrefslogtreecommitdiff
path: root/www/js
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2017-04-07 01:34:01 (GMT)
committerChristian Pointner <equinox@helsinki.at>2017-04-07 01:34:01 (GMT)
commit57f2f75270d0c067755248677217942feb8dbd3e (patch)
tree9991bb3f9f1a01ce37025b8b1f001e9dcae1ed1d /www/js
parent2a773112405629469754606fff0ac57600b6f0b9 (diff)
first minimal version of specials works now
Diffstat (limited to 'www/js')
-rw-r--r--www/js/specials.js114
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();
}