This commit is contained in:
Vincent BOUQUET
2023-11-25 17:08:22 +01:00
parent f9e2728a0d
commit 2b199eaf74
6 changed files with 910 additions and 1810 deletions

View File

@@ -7,17 +7,23 @@ $(document).ready(function() {
var fixturename = "Robin iForte - Simulated";
$('#pth').html(fixturename)
$(document).prop('title', fixturename)
$('body').prepend(generateNavBar());
var am = 0;
var mip = 0;
mip = 1;
var href = $(location).attr('pathname');
if (href.indexOf('personality') != -1) am = 1;
if (href.indexOf('logs') != -1) am = 2;
if (href.indexOf('sensors') != -1) am = 3;
if (href.indexOf('discovery') != -1) am = (3 + mip);
$('#navbar ul li').eq(am).addClass('active');
// handle RDM ident
var idntb = $('#idnt img');
var idnt_status = sessionStorage.getItem('iforte_idnt')
if (idnt_status == 1) {
idntb.addClass("a");
}
$('#idnt').click(function() {
var idnt_status = sessionStorage.getItem('iforte_idnt')
if (idnt_status == 1) {
idntb.removeClass("a");
sessionStorage.setItem('iforte_idnt', '0')
} else {
idntb.addClass("a")
sessionStorage.setItem('iforte_idnt', '1')
}
});
//handle settings
$(document).on('click','#scfg',function() {
@@ -35,7 +41,7 @@ $(document).ready(function() {
$('.sb').unbind();
copy_form_values(2);
$('#cfg-modal').modal();
$('.sb').bind('click',function() {
loader(1);
var par = ['opswd','npswd','npsch', 'iforte_demo_rains_age','iforte_demo_pressure_test'];
@@ -61,12 +67,6 @@ $(document).ready(function() {
populateUIFromSessionStorage()
showCustomModal('Cleared', 'Simulated page reset to default settings.')
});
// handle RDM ident
var idntb = $('#idnt img');
$('#idnt').click(function() {
idntb.toggleClass('a');
});
});
// custom modal
@@ -94,11 +94,56 @@ function loader(showheader) {
}
function do_ajax(p_url,p_data,f,i = -1,a = true) {
/*console.log("url : " + p_url);
console.log("data : " + p_data);
console.log("callback function : " + f);
console.log("callback params : " + i);
console.log("async : " + a);*/
loader(1);
// convert p_data to an Object
const data_object = {}
p_data.toString().split('&').forEach(element => {
var kvp = element.split('=');
data_object[kvp[0]] = kvp[1]
});
p_data = data_object
switch (p_url) {
case '/reset_hours':
if (p_data.rh == 0) {
sessionStorage.setItem('iforte_hr0', '0')
} else if (p_data.rh == 1){
sessionStorage.setItem('iforte_hr1', '0')
}
break;
case '/reset_temps':
if (p_data.rt == 0) {
sessionStorage.setItem('iforte_tmr0', sessionStorage.getItem('iforte_t0'))
} else if (p_data.rt == 3){
sessionStorage.setItem('iforte_tmr3', sessionStorage.getItem('iforte_t3'))
} else if (p_data.rt == 2){
sessionStorage.setItem('iforte_tmr2', sessionStorage.getItem('iforte_t2'))
} else if (p_data.rt == 1){
sessionStorage.setItem('iforte_tmr1', sessionStorage.getItem('iforte_t1'))
}
break;
default:
for (const [key, value] of Object.entries(p_data)) {
//sessionStorage.setItem(key, value)
console.log("key: %o", key)
console.log("val: %o", value)
if (key == 'iforte_tmpu') {
if (value == 0) {
sessionStorage.setItem('iforte_tu', 'C')
} else if (value == 1) {
sessionStorage.setItem('iforte_tu', 'F')
}
}
}
break;
}
populateUIFromSessionStorage()
loader(0)
close_modal()
}
function copy_form_values(dir) {
@@ -162,7 +207,6 @@ function show_errors(s,ids) {
}
function close_modal() {
setTimeout(function() {
$('#m-b').empty();
$('#cfg-modal').modal('hide');
@@ -235,118 +279,9 @@ function c_rad(name,legend,options,invalid_feedback_text,group_class) {
return html;
}
function box(t,id,p,su = '',vid = '',bc = '') {
var s = '';
s += '<div class="col-md-6 col-xl-4 box-c' + bc + '">';
if (id >= 0) s += '<h2>' + t + '<a class="cfg" onclick="open_modal(' + id + ');"><img src="../files/settings.svg"></a></h2>';
else s += '<h2>' + t + '</h2>';
s += '<div class="box">';
for (var j in p) {
if (p[j][0].length > 0) s += '<h3>' + p[j][0] + '</h3>';
s += '<ul class="group">';
for (var i in p[j][1]) {
l = p[j][1][i].split(";");
if (l.length == 4) s += l[0];
else s += '<li>' + l[0] + '</li>';
}
s += '</ul>';
s += '<ul class="group vals" id="' + vid + '">';
for (var i in p[j][1]) {
l = p[j][1][i].split(";");
if (l.length == 4) {
var t = l[3].replace(/&DG/gi,'&deg;');
s += t;
} else if (l.length == 3) s += l[2];
else if (l.length == 2) s += '<li><div id="' + l[1] + '_v">-</div></li>';
else s += '<li>-</li>';
}
s += '</ul>';
}
s += su;
s += '</div>';
s += '</div>';
return s;
}
function generateNavBar() {
var o = '<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark">';
o += '<div class="container">';
o += '<a class="navbar-brand" href="./index.html"><img src="../files/robe_logo_white.svg"></a>';
o += '<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar">';
o += '<span class="navbar-toggler-icon"></span>';
o += '</button>';
o += '<div class="collapse navbar-collapse" id="navbar">';
o += '<ul class="navbar-nav mr-auto">';
o += '<li class="nav-item">';
o += '<a class="nav-link" href="./index.html">Status</a>';
o += '</li>';
o += '<li class="nav-item">';
o += '<a class="nav-link" href="./personality.html">Personality</a>';
o += '</li>';
o += '<li class="nav-item">';
o += '<a class="nav-link" href="./logs.html">Logs</a>';
o += '</li>';
o += '<li class="nav-item snz">';
o += '<a class="nav-link" href="./sensors.html">RAINS logs</a>';
o += '</li>';
o += '<li class="nav-item">';
o += '<a class="nav-link" href="./discovery.html">Discovery</a>';
o += '</li>';
o += '<li class="nav-item">';
o += '<a class="nav-link" href="#" id="scfg">Settings</a>';
o += '</li>';
o += '<li class="nav-item">';
o += '<a class="nav-link" href="#" id="idnt"><img class="rdmi" src="../files/identify.svg"></a>';
o += '</li>';
o += '</ul>';
o += '</div>';
o += '</div>';
o += '</nav>';
o += '<div id="cfg-modal" class="modal fade" tabindex="-1" role="dialog">';
o += '<div class="modal-dialog" role="document">';
o += '<div class="modal-content">';
o += '<div class="modal-header">';
o += '<img src="../files/settings.svg">';
o += '<h5 class="modal-title" id="m-t"></h5>';
o += '<button type="button" class="close" data-dismiss="modal" aria-label="Close">';
o += '<span aria-hidden="true">&times;</span>';
o += '</button>';
o += '</div>';
o += '<div class="modal-body" id="m-b">';
o += '</div>';
o += '<div class="modal-footer" id="m-f">';
o += '<button type="button" class="btn btn-primary sb">Save</button>';
o += '</div>';
o += '</div>';
o += '</div>';
o += '</div>';
return o;
}
var pre = '';
var dmxsnf = '';
function ptit(t) {
if (t == $('#pth').data('title')) return;
if (t.length) $('#pth').data('title',t);
$('#pth').html($('#pth').data('title') + dmxsnf);
$('#pt_v').html(pre + $('#pth').html());
}
function c_dt(n,t,e,c,it) {
var html = '<div class="form-group' + c + '">';
@@ -390,26 +325,27 @@ function initSessionStorage() {
sessionStorage.setItem('iforte_ip', '2.246.16.203') // ip addr
sessionStorage.setItem('iforte_mac', '00:00:00:00:00:00') //
sessionStorage.setItem('iforte_rdmu', '52:53:00:00:00:00') //
/* DEMO */
sessionStorage.setItem('iforte_demo_rains_age', '1') // rains tubes age 0new 1avg 2old
sessionStorage.setItem('iforte_demo_pressure_test', '0') // type of pressure test, 0ok 1failing
/* VARIABLES */
sessionStorage.setItem('iforte_dmxa', '1') // dmx addr
sessionStorage.setItem('iforte_dmxp', '2') // dmx mode
sessionStorage.setItem('iforte_dmxi', '0') // input (wired0 wireless1 wirelessout2)
sessionStorage.setItem('iforte_rdmn', 'Robin iForte') // rdm name
sessionStorage.setItem('iforte_idnt', '0') // rdm idnt
sessionStorage.setItem('iforte_h0', '1206') // power on time
sessionStorage.setItem('iforte_hr0', '1206') // resetable
sessionStorage.setItem('iforte_h1', '213') // leds on time
sessionStorage.setItem('iforte_hr1', '180') // leds adaptative
sessionStorage.setItem('iforte_cdimc', '0') // dim curve
sessionStorage.setItem('iforte_hpwrm', '0') // high pwr mode
sessionStorage.setItem('iforte_fsmo', '0') // followspot mode
sessionStorage.setItem('iforte_frq', '4928') // led freq
sessionStorage.setItem('iforte_gind', '0') // gobo index mode
@@ -437,7 +373,7 @@ function initSessionStorage() {
sessionStorage.setItem('iforte_pte', '1') // pt EMS
sessionStorage.setItem('iforte_tr', '0') // tilt rev
sessionStorage.setItem('iforte_ptm', '0') // pt mode 0speed 1time
sessionStorage.setItem('iforte_bldmc', '0') // blackout dmc
sessionStorage.setItem('iforte_blptm', '0') // blackout pt
sessionStorage.setItem('iforte_blgwm', '0') // blackout gobo mv
@@ -464,28 +400,25 @@ function initSessionStorage() {
sessionStorage.setItem('iforte_dor', '2') //disp orientation 0norm 1inv 2auto
sessionStorage.setItem('iforte_mics', '9') // mic sens
}
}
function populateUIFromSessionStorage() {
for (var i = 0; i < sessionStorage.length; i++) {
var valueToLoad = '';
switch (sessionStorage.key(i)) {
case 'iforte_dmxp':
var valueToLoad = "Mode " + (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + 1)
break;
var valueToLoad = "Mode " + (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + 1)
break;
case 'iforte_dmxi':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "wired"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "wireless"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
var valueToLoad = "wireless XLR out"
}
break;
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "wired"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "wireless"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
var valueToLoad = "wireless XLR out"
}
break;
case 'iforte_bldmc':
case 'iforte_blptm':
@@ -498,106 +431,107 @@ function populateUIFromSessionStorage() {
case 'iforte_blgwm':
case 'iforte_blprm':
case 'iforte_btns':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "off"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "on"
}
break;
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "off"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "on"
}
break;
case 'iforte_emod':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "disable"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "ArtNet"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
var valueToLoad = "gMA1"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 3) {
var valueToLoad = "gMA2"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 4) {
var valueToLoad = "sACN"
}
break;
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "disable"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "ArtNet"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
var valueToLoad = "gMA1"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 3) {
var valueToLoad = "gMA2"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 4) {
var valueToLoad = "sACN"
}
break;
case 'iforte_dint':
case 'iforte_mics':
var valueToLoad = (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + 1)
break;
var valueToLoad = (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + 1)
break;
case 'iforte_dsd':
case 'iforte_dtl':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "off"
} else {
var valueToLoad = (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + " min")
}
break;
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "off"
} else {
var valueToLoad = (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + " min")
}
break;
case 'iforte_dor':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "normal"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "inverted"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
var valueToLoad = "auto"
}
break;
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "normal"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "inverted"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
var valueToLoad = "auto"
}
break;
case 'iforte_fanm':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "auto"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "high"
}
break;
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "auto"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "high"
}
break;
case 'iforte_tmpu':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "°C"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "°F"
}
break;
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "°C"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "°F"
}
break;
case 'iforte_ptm':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "speed"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "time"
}
break;
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "speed"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "time"
}
break;
case 'iforte_cdimc':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "linear"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "square law"
}
break;
case 'iforte_fsmo':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "off"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "soft"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
var valueToLoad = "medium"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 3) {
var valueToLoad = "hard"
}
break;
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "linear"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "square law"
}
break;
case 'iforte_fsmo':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "off"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "soft"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
var valueToLoad = "medium"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 3) {
var valueToLoad = "hard"
}
break;
case 'iforte_gind':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "max. speed & shortcut"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "follow spd. & dir."
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
var valueToLoad = "max spd. & follow dir."
}
break;
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "max. speed & shortcut"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "follow spd. & dir."
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
var valueToLoad = "max spd. & follow dir."
}
break;
case 'iforte_frq':
var valueToLoad = iforte_frq_s(sessionStorage.getItem('iforte_frq'))
break;
var valueToLoad = iforte_frq_s(sessionStorage.getItem('iforte_frq'))
break;
default:
var valueToLoad = sessionStorage.getItem(sessionStorage.key(i))
break;
var valueToLoad = sessionStorage.getItem(sessionStorage.key(i))
break;
}
console.log('key ' + i + " : " + valueToLoad);
$("#" + sessionStorage.key(i) + "_v").html(valueToLoad)
// for each element with id tu_v sets html to string of temp unit
$('div[id^="tu_v"]').html(sessionStorage.getItem('iforte_tu'))
}