640 lines
19 KiB
JavaScript
640 lines
19 KiB
JavaScript
// TODO: Remote-Reload per Socket
|
|
// TODO: Client-Server-Version abgleichen
|
|
// TODO: Modal bei Chrome, dass Audio erst bei interaktion aktiv
|
|
|
|
$(document).ready(function() {
|
|
set_clock();
|
|
});
|
|
|
|
$(window).on("resize", function() {
|
|
resize_text();
|
|
});
|
|
|
|
$('#replay').on('click', function(event) {
|
|
audio.play();
|
|
});
|
|
|
|
/* ############################ */
|
|
/* ######### BUTTONS ########## */
|
|
/* ############################ */
|
|
|
|
var waipAudio = document.getElementById('audio');
|
|
|
|
waipAudio.addEventListener('ended', function(){
|
|
$('.ion-md-pause').toggleClass("ion-md-play-circle");
|
|
});
|
|
|
|
waipAudio.addEventListener("play", function () {
|
|
$('.ion-md-play-circle').toggleClass("ion-md-pause");
|
|
});
|
|
|
|
/* ############################ */
|
|
/* ####### TEXT-RESIZE ######## */
|
|
/* ############################ */
|
|
|
|
// Textgröße dynamisch anpassen, Hintergrundfarbe ggf. anpassen
|
|
function resize_text() {
|
|
// Uhr-Text nur Anpassen wenn sichtbar
|
|
if ($('#waipclock').is(':visible')) {
|
|
textFit(document.getElementsByClassName('tf_clock'), {
|
|
minFontSize: 3,
|
|
maxFontSize: 500
|
|
});
|
|
$("body").css("background-color", "#000");
|
|
};
|
|
// Tableau-Text nur Anpassen wenn sichtbar
|
|
if ($('#waiptableau').is(':visible')) {
|
|
textFit(document.getElementsByClassName('tf_singleline'), {
|
|
minFontSize: 1,
|
|
maxFontSize: 500
|
|
});
|
|
textFit(document.getElementsByClassName('tf_multiline'), {
|
|
detectMultiLine: false
|
|
});
|
|
textFit(document.getElementsByClassName('tf_test'), {
|
|
widthOnly: true,
|
|
alignHoriz: false,
|
|
alignVert: false,
|
|
alignVertWithFlexbox: false
|
|
});
|
|
map.invalidateSize();
|
|
$("body").css("background-color", "#222");
|
|
};
|
|
};
|
|
|
|
|
|
// Text nach bestimmter Laenge, in Abhaengigkeit von Zeichen, umbrechen
|
|
function break_text_15(text){
|
|
var new_text;
|
|
new_text = text.replace(/.{15}(\s+|\-+)+/g, "$&@")
|
|
new_text = new_text.split(/@/);
|
|
new_text= new_text.join("<br>");
|
|
//console.log(new_text);
|
|
return new_text;
|
|
};
|
|
|
|
|
|
function break_text_35(text){
|
|
var new_text;
|
|
new_text = text.replace(/.{50}\S*\s+/g, "$&@").split(/\s+@/);
|
|
new_text= new_text.join("<br>");
|
|
//console.log(new_text);
|
|
return new_text;
|
|
};
|
|
|
|
/* ############################ */
|
|
/* ####### INAKTIVITAET ####### */
|
|
/* ############################ */
|
|
|
|
var timeoutID;
|
|
|
|
// Inactivitaet auswerten
|
|
function setup_inactivcheck() {
|
|
this.addEventListener("mousemove", resetActivTimer, false);
|
|
this.addEventListener("mousedown", resetActivTimer, false);
|
|
this.addEventListener("keypress", resetActivTimer, false);
|
|
this.addEventListener("DOMMouseScroll", resetActivTimer, false);
|
|
this.addEventListener("mousewheel", resetActivTimer, {
|
|
passive: true
|
|
}, false);
|
|
this.addEventListener("touchmove", resetActivTimer, false);
|
|
this.addEventListener("MSPointerMove", resetActivTimer, false);
|
|
start_inactivtimer();
|
|
};
|
|
|
|
setup_inactivcheck();
|
|
|
|
// warte xxxx Millisekunden um dann do_on_Inactive zu starten
|
|
function start_inactivtimer() {
|
|
clearTimeout(timeoutID);
|
|
timeoutID = window.setTimeout(do_on_Inactive, 3000);
|
|
};
|
|
|
|
// bei Inaktivitaet Header/Footer ausblenden
|
|
function do_on_Inactive() {
|
|
// do something
|
|
$(".navbar").fadeOut("slow");
|
|
$(".footer").fadeOut("slow");
|
|
$(".fullheight").css({
|
|
height: 'calc(100vh - 2rem)'
|
|
});
|
|
$("body").css({
|
|
paddingTop: "1rem",
|
|
margin: 0
|
|
});
|
|
resize_text();
|
|
};
|
|
|
|
// bei Activitaet Header/Footer einblenden
|
|
function do_on_Active() {
|
|
start_inactivtimer();
|
|
// do something
|
|
$(".navbar").fadeIn('slow');
|
|
$(".footer").fadeIn('slow');
|
|
$("body").css({
|
|
marginBottom: '60px',
|
|
paddingTop: '5rem',
|
|
paddingBottom: '0'
|
|
});
|
|
$(".fullheight").css({
|
|
height: 'calc(100vh - 60px - 5rem)'
|
|
});
|
|
resize_text();
|
|
};
|
|
|
|
// bei Event (Aktiviaet) alles zuruecksetzen
|
|
function resetActivTimer(e) {
|
|
do_on_Active();
|
|
};
|
|
|
|
/* ############################ */
|
|
/* ####### Progressbar ####### */
|
|
/* ############################ */
|
|
|
|
var counter_ID = 0;
|
|
|
|
function start_counter(zeitstempel, ablaufzeit) {
|
|
// Split timestamp into [ Y, M, D, h, m, s ]
|
|
var t1 = zeitstempel.split(/[- :]/),
|
|
t2 = ablaufzeit.split(/[- :]/);
|
|
|
|
var start = new Date(t1[0], t1[1] - 1, t1[2], t1[3], t1[4], t1[5]),
|
|
end = new Date(t2[0], t2[1] - 1, t2[2], t2[3], t2[4], t2[5]);
|
|
|
|
clearInterval(counter_ID);
|
|
counter_ID = setInterval(function() {
|
|
do_progressbar(start, end);
|
|
}, 1000);
|
|
};
|
|
|
|
function do_progressbar(start, end) {
|
|
today = new Date();
|
|
// restliche Zeit ermitteln
|
|
var current_progress = Math.round(100 / (end.getTime() - start.getTime()) * (end.getTime() - today.getTime()));
|
|
|
|
var diff = Math.abs(end - today);
|
|
var minutesDifference = Math.floor(diff / 1000 / 60);
|
|
diff -= minutesDifference * 1000 * 60;
|
|
var secondsDifference = Math.floor(diff / 1000);
|
|
if (secondsDifference <= 9) {
|
|
secondsDifference = '0' + secondsDifference;
|
|
};
|
|
var minutes = minutesDifference + ':' + secondsDifference;
|
|
// Progressbar anpassen
|
|
$("#hilfsfrist")
|
|
.css("width", current_progress + "%")
|
|
.attr("aria-valuenow", current_progress)
|
|
.text(minutes + " min");
|
|
};
|
|
|
|
/* ########################### */
|
|
/* ######### LEAFLET ######### */
|
|
/* ########################### */
|
|
|
|
// Karte definieren
|
|
var map = L.map('map', {
|
|
zoomControl: false
|
|
}).setView([51.733005, 14.338048], 13);
|
|
|
|
// Layer der Karte
|
|
mapLink = L.tileLayer(
|
|
map_tile, {
|
|
maxZoom: 18
|
|
}).addTo(map);
|
|
|
|
// Icon der Karte zuordnen
|
|
var redIcon = new L.Icon({
|
|
iconUrl: '/media/marker-icon-2x-red.png',
|
|
shadowUrl: '/media/marker-shadow.png',
|
|
iconSize: [25, 41],
|
|
iconAnchor: [12, 41],
|
|
popupAnchor: [1, -34],
|
|
shadowSize: [41, 41]
|
|
});
|
|
|
|
// Icon setzen
|
|
var marker = L.marker(new L.LatLng(0, 0), {
|
|
icon: redIcon
|
|
}).addTo(map);
|
|
|
|
/* ########################### */
|
|
/* ######## SOCKET.IO ######## */
|
|
/* ########################### */
|
|
|
|
// Websocket
|
|
var socket = io.connect();
|
|
|
|
// Wachen-ID bei Connect an Server senden
|
|
socket.on('connect', function() {
|
|
socket.emit('WAIP', wachen_id);
|
|
$('#waipModal').modal('hide');
|
|
});
|
|
|
|
socket.on('connect_error', function(err) {
|
|
$('#waipModalTitle').html('FEHLER');
|
|
$('#waipModalBody').html('Verbindung zum Server getrennt!');
|
|
$('#waipModal').modal('show');
|
|
});
|
|
|
|
// ID von Server und Client vergleichen, falls ungleich -> Seite neu laden
|
|
socket.on('io.version', function(server_id) {
|
|
// TODO: socket.emit(lade client xxx neu)
|
|
if (client_id != server_id) {
|
|
$('#waipModalTitle').html('ACHTUNG');
|
|
$('#waipModalBody').html('Neue Server-Version. Seite wird in 10 Sekunden neu geladen!');
|
|
if ($('#waipModal').hasClass('in')) {
|
|
$('#waipModal').modal('hide');
|
|
};
|
|
$('#waipModal').modal('show');
|
|
setTimeout(function() {
|
|
location.reload();
|
|
}, 10000);
|
|
};
|
|
});
|
|
|
|
// ggf. Fehler ausgeben
|
|
socket.on('io.error', function(data) {
|
|
console.log('Error:', data);
|
|
});
|
|
|
|
// Sounds stoppen
|
|
socket.on('io.stopaudio', function(data) {
|
|
var audio = document.getElementById('audio');
|
|
audio.pause;
|
|
});
|
|
|
|
// Sounds abspielen
|
|
socket.on('io.playtts', function(data) {
|
|
var audio = document.getElementById('audio');
|
|
audio.src = (data);
|
|
// Audio-Blockade des Browsers erkennen
|
|
var promise = document.querySelector('audio').play();
|
|
if (promise !== undefined) {
|
|
promise.then(function(_) {
|
|
audio.play();
|
|
}).catch(function(error) {
|
|
//$('#waipModalTitle').html('Audio-Fehler');
|
|
//$('#waipModalBody').html('Die automatische Audio-Wiedergabe wird durch Ihren Browser blockiert! Fehlermeldung: ' + error.message);
|
|
//$('#waipModal').modal('show');
|
|
$('#volume').addClass("btn-danger");
|
|
$('.ion-md-volume-high').toggleClass("ion-md-volume-off");
|
|
});
|
|
};
|
|
});
|
|
|
|
// Daten löschen, Uhr anzeigen
|
|
socket.on('io.standby', function(data) {
|
|
// Einsatz-ID auf 0 setzen
|
|
waip_id = null;
|
|
// TODO: Wenn vorhanden, hier #hilfsfrist zurücksetzen
|
|
$('#einsatz_art').removeClass(function(index, className) {
|
|
return (className.match(/(^|\s)bg-\S+/g) || []).join(' ');
|
|
});
|
|
$('#einsatz_stichwort').removeClass();
|
|
$('#einsatz_stichwort').html('');
|
|
$('#sondersignal').removeClass();
|
|
$('#ortsdaten').html('');
|
|
$('#besonderheiten').html('');
|
|
$('#em_alarmiert').empty();
|
|
$('#em_weitere').html('');
|
|
map.setView(new L.LatLng(0, 0), 14);
|
|
// Tableau ausblenden
|
|
$("#waiptableau").addClass("d-none");
|
|
$("#waipclock").removeClass("d-none");
|
|
// Text anpassen
|
|
resize_text();
|
|
});
|
|
|
|
// Einsatzdaten laden, Wachalarm anzeigen
|
|
socket.on('io.neuerEinsatz', function(data) {
|
|
// DEBUG
|
|
//console.log(data);
|
|
// Einsatz-ID speichern
|
|
waip_id = data.id;
|
|
// Hintergrund der Einsatzart zunächst entfernen
|
|
$('#einsatz_art').removeClass(function(index, className) {
|
|
return (className.match(/(^|\s)bg-\S+/g) || []).join(' ');
|
|
});
|
|
// Icon der Einsatzart enfernen
|
|
$('#einsatz_stichwort').removeClass();
|
|
// Rückmeldung ausblenden
|
|
$('#rueckmeldung').addClass("d-none");
|
|
// Art und Stichwort festlegen hinterlegen
|
|
switch (data.einsatzart) {
|
|
case 'Brandeinsatz':
|
|
$('#einsatz_art').addClass("bg-danger");
|
|
$('#einsatz_stichwort').addClass("ion-md-flame");
|
|
$('#rueckmeldung').removeClass("d-none");
|
|
break;
|
|
case 'Hilfeleistungseinsatz':
|
|
$('#einsatz_art').addClass("bg-info");
|
|
$('#einsatz_stichwort').addClass("ion-md-construct");
|
|
$('#rueckmeldung').removeClass("d-none");
|
|
break;
|
|
case 'Rettungseinsatz':
|
|
$('#einsatz_art').addClass("bg-warning");
|
|
$('#einsatz_stichwort').addClass("ion-md-medkit");
|
|
break;
|
|
case 'Krankentransport':
|
|
$('#einsatz_art').addClass("bg-success");
|
|
$('#einsatz_stichwort').addClass("ion-md-medical");
|
|
break;
|
|
default:
|
|
$('#einsatz_art').addClass("bg-secondary");
|
|
$('#einsatz_stichwort').addClass("ion-md-information-circle");
|
|
};
|
|
$('#einsatz_stichwort').html(' ' + data.stichwort);
|
|
// Sondersignal setzen
|
|
$('#sondersignal').removeClass();
|
|
switch (data.sondersignal) {
|
|
case 1:
|
|
$('#sondersignal').addClass('ion-md-notifications');
|
|
break;
|
|
default:
|
|
$('#sondersignal').addClass('ion-md-notifications-off');
|
|
};
|
|
// Ortsdaten zusammenstellen und setzen
|
|
var small_ortsdaten;
|
|
small_ortsdaten = '';
|
|
if (data.objekt) {
|
|
small_ortsdaten = small_ortsdaten + break_text_15(data.objekt) + '<br>';
|
|
};
|
|
if (data.ort) {
|
|
small_ortsdaten = small_ortsdaten + break_text_15(data.ort) + '<br>';
|
|
};
|
|
if (data.ortsteil) {
|
|
small_ortsdaten = small_ortsdaten + break_text_15(data.ortsteil) + '<br>';
|
|
};
|
|
if (data.strasse) {
|
|
small_ortsdaten = small_ortsdaten + break_text_15(data.strasse) + '<br>';
|
|
};
|
|
if (small_ortsdaten.substr(small_ortsdaten.length - 4) == '<br>') {
|
|
small_ortsdaten = small_ortsdaten.slice(0, -4);
|
|
};
|
|
$('#ortsdaten').html(small_ortsdaten);
|
|
// Besonderheiten setzen
|
|
$('#besonderheiten').html(break_text_35(data.besonderheiten));
|
|
// alarmierte Einsatzmittel setzen
|
|
$('#em_alarmiert').empty();
|
|
var data_em_alarmiert = JSON.parse(data.em_alarmiert);
|
|
for (var i in data_em_alarmiert) {
|
|
$('#em_alarmiert').append('<li class="list-group-item d-flex justify-content-between align-items-center">' + data_em_alarmiert[i].name + '</li>');
|
|
};
|
|
// weitere alarmierte Einsatzmittel setzen
|
|
$('#em_weitere').html('');
|
|
var data_em_weitere = JSON.parse(data.em_weitere);
|
|
if (data_em_weitere == null) {
|
|
// TODO: Einzeige vergrößern (-.h-5) wenn keine weiteren Einsatzmittel beteiligt
|
|
} else {
|
|
var tmp;
|
|
for (var i in data_em_weitere) {
|
|
if (tmp) {
|
|
tmp = tmp + ', ' + data_em_weitere[i].name;
|
|
} else {
|
|
tmp = data_em_weitere[i].name;
|
|
};
|
|
};
|
|
$('#em_weitere').html(tmp);
|
|
};
|
|
// Karte setzen
|
|
map.removeLayer(marker);
|
|
marker = L.marker(new L.LatLng(data.wgs84_x, data.wgs84_y), {
|
|
icon: redIcon
|
|
}).addTo(map);
|
|
map.setView(new L.LatLng(data.wgs84_x, data.wgs84_y), 15);
|
|
// Hilfsfrist setzen
|
|
start_counter(data.zeitstempel, data.ablaufzeit);
|
|
// Uhr ausblenden
|
|
$("#waipclock").addClass("d-none");
|
|
$("#waiptableau").removeClass("d-none");
|
|
// Text anpassen
|
|
resize_text();
|
|
});
|
|
|
|
/* ########################### */
|
|
/* ####### SCREENSAVER ####### */
|
|
/* ########################### */
|
|
|
|
// Uhrzeit und Datum für Bildschirmschoner
|
|
function set_clock() {
|
|
// Wochentage
|
|
var d_names = new Array('Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag');
|
|
// Monate
|
|
var m_names = new Array('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember');
|
|
// Aktuelle Zeit
|
|
var d = new Date();
|
|
var curr_day = d.getDay();
|
|
var curr_date = d.getDate();
|
|
var curr_month_id = d.getMonth();
|
|
curr_month_id = curr_month_id + 1;
|
|
var curr_year = d.getFullYear();
|
|
var curr_hour = d.getHours();
|
|
var curr_min = d.getMinutes();
|
|
// Tag und Monat Anpassen
|
|
if ((String(curr_date)).length == 1)
|
|
curr_date = '0' + curr_date;
|
|
if ((String(curr_month_id)).length == 1)
|
|
curr_month_id = '0' + curr_month_id;
|
|
// Uhrzeit und Minute anpassen
|
|
if (curr_min <= 9) {
|
|
curr_min = '0' + curr_min;
|
|
};
|
|
if (curr_hour <= 9) {
|
|
curr_hour = '0' + curr_hour;
|
|
};
|
|
var curr_month = d.getMonth();
|
|
var curr_year = d.getFullYear();
|
|
var element_time = curr_hour + ':' + curr_min;
|
|
var element_day = d_names[curr_day] + ', ' + curr_date + '. ' + m_names[curr_month];
|
|
var element_date_time = curr_date + '.' + curr_month_id + '.' + curr_year + ' - ' + element_time;
|
|
// nur erneuern wenn sich Zeit geändert hat
|
|
if (document.getElementById('time').textContent !== element_time) {
|
|
// Uhrzeit anzeigen
|
|
document.getElementById('time').innerHTML = element_time;
|
|
// Datum (Text) anzeigen
|
|
document.getElementById('day').innerHTML = element_day;
|
|
// Datum anzeigen, sofern sichtbar
|
|
document.getElementById('date-time').innerHTML = element_date_time;
|
|
// Textgröße neu setzen
|
|
resize_text();
|
|
};
|
|
};
|
|
|
|
// Uhrzeit jede Sekunden anpassen
|
|
setInterval(set_clock, 1000);
|
|
|
|
/* ########################### */
|
|
/* ####### Rückmeldung ####### */
|
|
/* ########################### */
|
|
|
|
$('#rueckmeldung').each(function(index) {
|
|
$(this).on("click", function(){
|
|
$('#responseModal').modal('show');
|
|
});
|
|
});
|
|
|
|
$('#send_response').on('click', function() {
|
|
// Rückmeldung sammeln
|
|
var respo = {};
|
|
respo.einsatzkraft = $('#radios_res_ek').prop('checked');
|
|
respo.maschinist = $('#radios_res_ma').prop('checked');
|
|
respo.fuehrungskraft = $('#radios_res_fk').prop('checked');
|
|
respo.atemschutz = $('#cb_res_agt').prop('checked');
|
|
socket.emit('response',waip_id,respo);
|
|
});
|
|
|
|
|
|
|
|
var counter_tmld = [];
|
|
|
|
function add_resp_progressbar(p_id, p_type, p_agt, p_start, p_end) {
|
|
// Split timestamp into [ Y, M, D, h, m, s ]
|
|
//var t1 = zeitstempel.split(/[- :]/),
|
|
//t2 = ablaufzeit.split(/[- :]/);
|
|
|
|
//var start = new Date(t1[0], t1[1] - 1, t1[2], t1[3], t1[4], t1[5]),
|
|
//end = new Date(t2[0], t2[1] - 1, t2[2], t2[3], t2[4], t2[5]);
|
|
|
|
// Progressbar erstellen falls nicht existiert
|
|
|
|
//
|
|
//<div class="progress mt-1">
|
|
//<div class="progress-bar progress-bar-striped bg-success" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">2min</div></div>
|
|
var bar_background = '';
|
|
var bar_border = '';
|
|
if (p_agt) {
|
|
bar_border = 'border border-warning';
|
|
};
|
|
switch (p_type) {
|
|
case 'ek':
|
|
bar_background = 'bg-success';
|
|
break;
|
|
case 'ma':
|
|
bar_background = 'bg-info';
|
|
break;
|
|
case 'fk':
|
|
bar_background = 'bg-light';
|
|
break;
|
|
default:
|
|
bar_background = '';
|
|
break;
|
|
};
|
|
|
|
// pruefen ob div mit id 'pg-'+p_id schon vorhanden ist
|
|
var pgbar = document.getElementById('pg-' + p_id);
|
|
if(!pgbar){
|
|
$( '#pg-' + p_type ).append( '<div class="progress mt-1 position-relative '+bar_border+'" id="pg-' + p_id + '" style="height: 15px; font-size: 14px;"></div>'); //+ ' ></div>' );
|
|
|
|
$( '#pg-'+ p_id ).append( '<div id="pg-bar'+ p_id +'" class="progress-bar progress-bar-striped '+ bar_background +'" role="progressbar" style="width: 0%" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>' );
|
|
$( '#pg-bar'+ p_id ).append('<small id="pg-text'+ p_id +'" class="justify-content-center d-flex position-absolute w-100"></small>');
|
|
};
|
|
|
|
|
|
|
|
clearInterval(counter_tmld[p_id]);
|
|
counter_tmld[p_id] = 0;
|
|
|
|
counter_tmld[p_id] = setInterval(function() {
|
|
do_rmld_bar(p_id, p_start, p_end);
|
|
}, 1000);
|
|
};
|
|
|
|
|
|
function do_rmld_bar(p_id, start, end) {
|
|
//console.log(p_id);
|
|
today = new Date();
|
|
// restliche Zeit ermitteln
|
|
//var current_progress = Math.round(100 / (end.getTime() - start.getTime()) * (end.getTime() - today.getTime()));
|
|
var current_progress = Math.round(100 / (start.getTime() - end.getTime()) * (start.getTime() - today.getTime()));
|
|
|
|
var diff = Math.abs(end - today);
|
|
var minutesDifference = Math.floor(diff / 1000 / 60);
|
|
diff -= minutesDifference * 1000 * 60;
|
|
var secondsDifference = Math.floor(diff / 1000);
|
|
if (secondsDifference <= 9) {
|
|
secondsDifference = '0' + secondsDifference;
|
|
};
|
|
var minutes = minutesDifference + ':' + secondsDifference;
|
|
|
|
|
|
// Progressbar anpassen
|
|
if (current_progress >= 100) {
|
|
$("#pg-bar"+p_id)
|
|
.css("width", "100%")
|
|
.attr("aria-valuenow", 100)
|
|
.addClass("ion-md-checkmark-circle");
|
|
$("#pg-text"+p_id).text("");
|
|
clearInterval(counter_ID[p_id]);
|
|
} else {
|
|
$("#pg-bar"+p_id)
|
|
.css("width", current_progress + "%")
|
|
.attr("aria-valuenow", current_progress);
|
|
$("#pg-text"+p_id).text(minutes);
|
|
};
|
|
};
|
|
|
|
socket.on('io.response', function(data) {
|
|
console.log(data);
|
|
// neue Rückmeldungen hinterlegen
|
|
//$('#rueckmeldung').empty();
|
|
//{einsatzkraft: "0", maschinist: "0", fuehrungskraft: "0", atemschutz: "0"}
|
|
/*for (var i in data) {
|
|
var item_class = 'list-group-item flex-fill list-group-item-action tf_singleline';
|
|
switch (data[i]) {
|
|
case '0':
|
|
item_class = item_class + ' text-danger';
|
|
break;
|
|
case '1':
|
|
item_class = item_class + ' text-warning';
|
|
break;
|
|
default:
|
|
item_class = item_class + ' text-success';
|
|
};
|
|
$('#rueckmeldung').append('<a class="' + item_class + '">' + data[i] + ' ' + i + '</a>');
|
|
};*/
|
|
|
|
|
|
data.forEach(function (arrayItem) {
|
|
//var x = arrayItem.prop1 + 2;
|
|
//console.log(x);
|
|
var item_content = '';
|
|
var item_classname = '';
|
|
var item_type = "";
|
|
if (arrayItem.einsatzkraft){
|
|
item_content = 'Einsatzkraft';
|
|
item_classname = 'ek';
|
|
item_type = 'ek';
|
|
};
|
|
if (arrayItem.maschinist){
|
|
item_content = 'Maschinist';
|
|
item_classname = 'ma';
|
|
item_type = 'ma';
|
|
};
|
|
if (arrayItem.fuehrungskraft){
|
|
item_content = 'Führungskraft';
|
|
item_classname = 'fk'
|
|
item_type = 'fk';
|
|
};
|
|
if (arrayItem.agt){
|
|
item_content = item_content + (' (AGT)');
|
|
item_classname = item_classname + ('-agt');
|
|
};
|
|
//var item_id = Math.floor(Math.random() * 100) + Math.floor(Math.random() * 100);
|
|
|
|
|
|
add_resp_progressbar(arrayItem.rmld_uuid, item_type, arrayItem.agt, new Date(arrayItem.set_time), new Date(arrayItem.arrival_time));
|
|
|
|
var tmp_count = parseInt( $( '#'+item_type+'-counter' ).text() );
|
|
$( '#'+item_type+'-counter' ).text(tmp_count + 1 );
|
|
|
|
if (arrayItem.agt){
|
|
var tmp_agt = parseInt( $( '#agt-counter' ).text() );
|
|
$( '#agt-counter' ).text(tmp_agt + 1 );
|
|
};
|
|
|
|
});
|
|
|
|
|
|
resize_text();
|
|
});
|