138 lines
4.8 KiB
JavaScript
138 lines
4.8 KiB
JavaScript
/********************************************************************
|
|
* Display and initialize navigation bar
|
|
********************************************************************
|
|
* Guenter Koellner Embedded Development GmbH
|
|
*
|
|
* Am Rain 24
|
|
* 85256 Vierkirchen
|
|
* Geschaeftsfuehrer Guenter Koellner
|
|
*
|
|
* References:
|
|
* https://www.w3schools.com/jsref/default.asp
|
|
* http://www.chartjs.org/docs/latest/
|
|
* https://stackoverflow.com/questions/8348401/javascript-two-separate-scripts-share-variables
|
|
*
|
|
* http://www.modesbeast.com
|
|
********************************************************************/
|
|
|
|
$(document).ready(function(){
|
|
//console.log("navbar.js-->document ready");
|
|
insert_navbar();
|
|
});
|
|
|
|
// wrapper for $.getJSON, but includes credentials (for cross origin setups) - should be usable by all parts of the site
|
|
function getJSON(url, func){
|
|
$.ajax({
|
|
url: url,
|
|
type: "GET",
|
|
dataType: 'json',
|
|
xhrFields: { withCredentials: true },
|
|
success: func
|
|
});
|
|
}
|
|
function insert_navbar() {
|
|
getJSON(rcd_globals.fcgipath+"param.json?param=productname,webskin,versioninfo,oemfeatureset1,sessionactive,license_serverid,license_org,license_history,featurecommercial", function(params) {
|
|
rcd_globals.webskin = params.webskin;
|
|
|
|
console.log("Globals:",rcd_globals);
|
|
console.log("params:",params);
|
|
|
|
var productname = 'Radarcape';
|
|
var logo = 'jetvision';
|
|
switch( params.webskin ) {
|
|
case 'virtower':
|
|
productname = 'Virtower';
|
|
params.productname='Virtower';
|
|
rcd_globals.productname='Virtower';
|
|
logo = 'virtower';
|
|
break;
|
|
default:
|
|
switch ( rcd_globals.productname ) {
|
|
case 'MLAT_SERVER':
|
|
productname = 'Jetvision MLAT Server';
|
|
logo = 'jetvision_JFTN';
|
|
break;
|
|
default:
|
|
productname = params.productname;
|
|
logo = params.webskin;
|
|
break;
|
|
}
|
|
}
|
|
|
|
function makeNavbarToplevel(){
|
|
// remove containing div and put nav directly in body
|
|
$('#nav').parent().prepend($('#nav').find('nav')[0]);
|
|
$('#nav').remove();
|
|
}
|
|
|
|
if( rcd_globals.productname==='MLAT_SERVER' ) {
|
|
rcd_globals.is_mlat_srv = true;
|
|
$("#nav").load( 'navbar_mlatserver.html', function() {
|
|
var link = document.querySelector("link[rel*='icon']") || document.createElement('link');
|
|
link.type = 'image/x-icon';
|
|
link.rel = 'shortcut icon';
|
|
link.href = 'favicon-'+logo+'.ico';
|
|
document.getElementsByTagName('head')[0].appendChild(link);
|
|
document.getElementById('navbar_logo').innerHTML = '<img style="margin-top: -15px;" alt="'+logo+'" src="logo-'+logo+'.png">';
|
|
if( params.license_history )
|
|
document.getElementById('menuitemhistory').style = "";
|
|
document.getElementById('versioninfo').innerHTML = (params.webskin==='virtower') ? " " : "Server: " + params.license_serverid + " Org: " + params.license_org + " | " + params.versioninfo;
|
|
makeNavbarToplevel();
|
|
});
|
|
}
|
|
else
|
|
{
|
|
$("#nav").load( 'navbar_rcd.html', function() {
|
|
rcd_globals.productname=params.productname;
|
|
|
|
var id1 = (params.sessionactive==0) ? "navbar_login" : "navbar_logout";
|
|
var doc1 = document.getElementById( id1 );
|
|
doc1.style.display = "";
|
|
var id2 = (params.sessionactive==0) ? "navbar_logout" : "navbar_login"
|
|
var doc2 = document.getElementById( id2 );
|
|
doc2.style.display = "none";
|
|
|
|
document.getElementById('versioninfo').innerHTML = (params.webskin==='virtower') ? " " : params.versioninfo;
|
|
if( params.oemfeatureset1==1 || params.webskin=='virtower' ) {
|
|
var doc = document.getElementById("navbar_onlinehelp").style.display = "none";
|
|
}
|
|
if( params.featurecommercial==1 ) {
|
|
var doc = document.getElementById("menu_item_asterix").style.display = "";
|
|
}
|
|
var link = document.querySelector("link[rel*='icon']") || document.createElement('link');
|
|
if( params.productname=="Air!Squitter" ) {
|
|
logo="airsquitter";
|
|
}
|
|
link.type = 'image/x-icon';
|
|
link.rel = 'shortcut icon';
|
|
link.href = 'favicon-'+logo+'.ico';
|
|
document.getElementsByTagName('head')[0].appendChild(link);
|
|
document.getElementById('navbar_logo').innerHTML = '<img style="margin-top: -15px;" alt="'+logo+'" src="logo-'+logo+'.png">';
|
|
makeNavbarToplevel();
|
|
});
|
|
}
|
|
apply_webskin();
|
|
rcd_globals.initialized = true;
|
|
});
|
|
}
|
|
|
|
function add_stylesheet(href) {
|
|
var link = document.createElement('link');
|
|
link.type = "text/css";
|
|
link.rel = "stylesheet";
|
|
link.href = href;
|
|
|
|
link.onload = function () {
|
|
var event_cust_css_loaded = new Event('custom_css_loaded');
|
|
window.dispatchEvent(event_cust_css_loaded);
|
|
}
|
|
|
|
document.getElementsByTagName("head")[0].appendChild(link);
|
|
}
|
|
|
|
function apply_webskin() {
|
|
add_stylesheet('css/' + rcd_globals.webskin + '/bootstrap.min.css');
|
|
// add_stylesheet('css/' + rcd_globals.webskin + '/radarcape.css');
|
|
add_stylesheet('css/' + rcd_globals.webskin + '/bootstrap-customized.css');
|
|
}
|