summaryrefslogtreecommitdiff
path: root/js/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/index.js')
-rw-r--r--js/index.js53
1 files changed, 24 insertions, 29 deletions
diff --git a/js/index.js b/js/index.js
index 88e891c..014d057 100644
--- a/js/index.js
+++ b/js/index.js
@@ -23,9 +23,15 @@ function setDNT(dnt){
}
function track(what){
+ _paq.push(['setCustomUrl', what]);
_paq.push(['trackPageView', what]);
}
+function trackPlan(vdate){
+ track('ui/tab/plan');
+ track('plan/' + vdate.format('YYYY/MM/DD'));
+}
+
document.addEventListener('pause', function(){
track('event/pause');
});
@@ -82,10 +88,9 @@ function fillform(){
/* benachrichtigt den Benutzer an vdate mit msg */
var notifications = 0;
function addNotification(vdate, msg){
- var today = new Date();
- vdate.setDate(vdate.getDate() - 1); // Ein Tag vorher, 18 Uhr benachrichtigen
+ vdate.subtract('days', 1); // Ein Tag vorher, 18 Uhr benachrichtigen
- var secondsUntilDate = (vdate.getTime() - today.getTime()) / 1000;
+ var secondsUntilDate = moment.diff(vdate, 'seconds');
if(secondsUntilDate > 0){
localNotification.add(++notifications, {
@@ -93,16 +98,14 @@ function addNotification(vdate, msg){
message: msg,
badge: 0});
- console.log('Benachrichtigung hinzugefügt: ' + vdate.toString() + '; ' + msg);
+ console.log('Benachrichtigung hinzugefügt: ' + vdate.format('DD.MM. hh:mm') + '; ' + msg);
}
}
/* zeigt einen Button an, mit dem die Vertretung geteilt werden kann */
function addSocialButton(vdate, msg, $div){
- var today = new Date();
-
- if(vdate >= today){
- var datestr = vdate.getDate() + "." + vdate.getMonth() + ".";
+ if(moment().isBefore(vdate)){
+ var datestr = vdate.format('dddd.');
var btn = $('<button />')
.text('Teile die Vertretungen')
@@ -260,9 +263,7 @@ function renderPage($div, pdf, pageNumber, callback){
var vertretungen = parseVertretungen(page_text, username);
if(vertretungen.length > 0){
- var vdate = new Date($div.data('date'));
- vdate.setHours(18);
- vdate.setMinutes(0);
+ var vdate = moment($div.data('date')).startOf('minute').set('hour', 18);
addNotification(vdate, vertretungen.join('\n'));
addSocialButton(vdate, vertretungen.join(', '), $div);
@@ -318,7 +319,8 @@ function removelogintab(){
$('#login').remove();
$('#vplantabs').tabs('refresh');
- track('ui/tab/plan_' + Math.floor((vdate - (new Date())) / (1000 * 60 * 60 * 24)));
+ var vdate = moment($('#vplantabs ul li:first').data('date'));
+ trackPlan(vdate);
}
function replaceUmlauts(umlautstr){
@@ -333,19 +335,17 @@ function addplanattr(fileEntry, wasdownloaded){
var name = fileEntry.name;
console.log('Dateiname: ' + name);
- var fname_re = new RegExp('.*?(\\d{4})-(\\d{2})-(\\d{2})(.*?)\\.pdf');
+ var fname_re = new RegExp('.*?(\\d{4}-\\d{2}-\\d{2})(.*?)\\.pdf');
var results = name.match(fname_re);
+ var vdate = moment(results[1], 'YYYY-MM-DD').startOf('day');
- if(results[4] !== null){
- results[4] = results[4].replace(/[ ,]/g, '-').replace(/-{2}/g, '-');
+ if(results[2] !== null){
+ results[2] = results[2].replace(/[ ,]/g, '-').replace(/-{2}/g, '-');
}
- name = results[3] + '_' + results[2] + '_' + results[1] + results[4];
- name = replaceUmlauts(name);
+ name = vdate.format('DD_MM_YYYY') + replaceUmlauts(results[2]);
if(!$(name).length){
- var vdate = new Date(parseInt(results[1]), parseInt(results[2]) - 1, parseInt(results[3]));
-
$('#vplannavbar').find('*').andSelf().each(function(){
$(this).removeClass(function(i, cn){
var matches = cn.match(/ui-[\w\-]+/g) || [];
@@ -359,7 +359,7 @@ function addplanattr(fileEntry, wasdownloaded){
$('#vplannavbar').navbar('destroy');
$('#vplannavbar ul').append('<li><a href="#' + name + '">' + name.replace(/_/g, '.') + '</a></li>')
$('#vplannavbar ul li:last').click(function(){
- track('ui/tab/plan_' + Math.floor((vdate - (new Date())) / (1000 * 60 * 60 * 24)));
+ trackPlan(vdate);
});
$('#vplannavbar').navbar();
@@ -572,21 +572,16 @@ function trylogin(){
/* gibt aktuelle Pläne aus entries zurück */
function getactual(entries){
- var fname_re = new RegExp('.*?(\\d{4})-(\\d{2})-(\\d{2}).*?\\.pdf');
- var today = new Date();
+ var fname_re = new RegExp('.*?(\\d{4}-\\d{2}-\\d{2}).*?\\.pdf');
+ var today = moment().startOf('day');
var actual = [];
- today.setHours(0);
- today.setMinutes(0);
- today.setSeconds(0);
- today.setMilliseconds(0);
-
entries.forEach(function(entry){
console.log(entry.name);
var results = entry.name.match(fname_re);
- var fdate = new Date(parseInt(results[1]), parseInt(results[2]) - 1, parseInt(results[3]));
+ var fdate = moment(results[1], 'YYYY-MM-DD');
- if(fdate >= today){
+ if(moment().isBefore(fdate)){
actual.push(entry);
}
});