Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
script.js 2.02 KiB
var lsfViewJson = null; 

this.checkShowCondition = function() {
	var date = new Date();
	var roundH = date.getHours()%2 == 1? date.getHours()+1 : date.getHours();
	if(date.getHours() >= 8 && date.getHours() <= 18 && ((date.getHours()%2 == 1 && date.getMinutes() >= 30) || (date.getHours()%2 == 0 && date.getMinutes() <= 15))){
		for (i = 0; i < lsfViewJson.events.length; i++) {
			if(lsfViewJson.events[i].StartTime.substring(0, 2) == roundH && lsfViewJson.events[i].Day == new Date().getDay()) {
				console.log("LSF-View: Event Found");
				return 60;
			}
		}
		console.log("LSF-View: No Events");
		return 0; //Skip Panel
	} else {
		console.log("LSF-View: Out Of Time");
		return 0; //Skip Panel
	}
}

this.show = function() {
}

this.hide = function() {
}

this.loaded = function(panel, config) {
	function lsfDataUpdate() {
		$.getJSON("tmp/lsfViewEvents.json?"+( new Date().getTime()) ).done(function(json) {
			lsfViewJson = json;
			fillTable(lsfViewJson);
		}).fail(function(jqxhr, textStatus, error) {
			var err = textStatus + ", " + error;
			console.error("LSF-View: Request Failed: " + err);
		});
	}

	function toNextRound(i){
		if(i%2 == 1){
			return i+1;
		}
		return i;
	}
	
	function fillTable(json) {
		var date = new Date();
		var roundH = toNextRound(date.getHours());
		var lsfTableBody = document.getElementById("lsfViewTableBody");
		document.getElementById("lsfViewTitleBar").innerHTML = "Vorlesungen zwischen " + roundH + " und " + (roundH+2) + " Uhr";
		lsfTableBody.innerHTML = "";
		
		for (i = 0; i < lsfViewJson.events.length; i++) {
			if(lsfViewJson.events[i].StartTime.substring(0, 2) == roundH && lsfViewJson.events[i].Day == new Date().getDay()) {
				var row = lsfTableBody.insertRow(-1);
				var cell1 = row.insertCell(-1);
				cell1.innerHTML = lsfViewJson.events[i].StartTime+"-"+lsfViewJson.events[i].EndTime;
				var cell2 = row.insertCell(-1);
				cell2.innerHTML = lsfViewJson.events[i].Short;
				var cell3 = row.insertCell(-1);
				cell3.innerHTML = lsfViewJson.events[i].Room;
			}
		}
	}
	
	
	lsfDataUpdate();
}