diff options
Diffstat (limited to 'public/static/collapse.js')
| -rw-r--r-- | public/static/collapse.js | 47 | 
1 files changed, 32 insertions, 15 deletions
| diff --git a/public/static/collapse.js b/public/static/collapse.js index 3457d96..44d3048 100644 --- a/public/static/collapse.js +++ b/public/static/collapse.js @@ -1,13 +1,14 @@ -$(document).ready(function() { -	if (document.location.hash.length > 1) { -		var wanted = document.location.hash.replace('#', ''); -		$('div.app > ul > li > .moreinfo, div.infoscreen > ul > li > .moreinfo').each(function() { -			if ($(this).data('train') == wanted) { -				$(this).removeClass('collapsed-moreinfo'); -				$(this).addClass('expanded-moreinfo'); -			} -		}); -	} +function reload_app() { +	$.get(window.location.href, {ajax: 1}, function(data) { +		$('div.app > ul').html(data); +		dbf_reg_handlers(); +		setTimeout(reload_app, 30000); +	}).fail(function() { +		setTimeout(reload_app, 10000); +	}); +} + +function dbf_reg_handlers() {  	$('div.app > ul > li').click(function() {  		var trainElem = $(this);  		$('.moreinfo').each(function() { @@ -22,7 +23,7 @@ $(document).ready(function() {  			$('.moreinfo .verbose').html('');  			$('.moreinfo .mroute').html('');  			$('.moreinfo ul').html(''); -			$.get(window.location.href, {train: trainElem.data('train')}, function(data) { +			$.get(window.location.href, {train: trainElem.data('train'), ajax: 1}, function(data) {  				$('.moreinfo').html(data);  			}).fail(function() {  				$('.moreinfo .mfooter').html('Der Zug ist abgefahren (Zug nicht gefunden)'); @@ -31,10 +32,18 @@ $(document).ready(function() {  			infoElem.addClass('expanded-moreinfo');  		});  	}); -	$('.moreinfo').click(function() { -		$(this).removeClass('expanded-moreinfo'); -		$(this).addClass('collapsed-moreinfo'); -	}); +} + +$(document).ready(function() { +	if (document.location.hash.length > 1) { +		var wanted = document.location.hash.replace('#', ''); +		$('div.app > ul > li > .moreinfo, div.infoscreen > ul > li > .moreinfo').each(function() { +			if ($(this).data('train') == wanted) { +				$(this).removeClass('collapsed-moreinfo'); +				$(this).addClass('expanded-moreinfo'); +			} +		}); +	}  	$('.moresettings-header').each(function() {  		$(this).click(function() {  			var moresettings = $('.moresettings'); @@ -69,4 +78,12 @@ $(document).ready(function() {  			}  		});  	}); +	$('.moreinfo').click(function() { +		$(this).removeClass('expanded-moreinfo'); +		$(this).addClass('collapsed-moreinfo'); +	}); +	dbf_reg_handlers(); +	if ($('.content .app').length) { +		setTimeout(reload_app, 30000); +	}  }); | 
