mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Hyperion Switcher + cleanup (#423)
* upd * update * update * update schemachecker * ... * fix lowest priority * zeroconf updates (#421) (#3) * zeroconf: add ip make names more uniq * tune dns name for webconfig * update * update * update * update ui * ... * min val for gamma * lost somewhere this * add status to hyperion object * update ui
This commit is contained in:
@@ -57,6 +57,10 @@ $(document).ready( function() {
|
||||
components_html += '<tr><td>'+$.i18n('general_comp_'+components[idx].name)+'</td><td><i class="fa fa-circle component-'+(components[idx].enabled?"on":"off")+'"></i></td></tr>';
|
||||
}
|
||||
$("#tab_components").html(components_html);
|
||||
|
||||
//info
|
||||
$('#dash_statush').html(serverInfo.hyperion.off? '<span style="color:red">'+$.i18n('general_btn_off')+'</span>':'<span style="color:green">'+$.i18n('general_btn_on')+'</span>');
|
||||
$('#btn_hsc').html(serverInfo.hyperion.off? '<button class="btn btn-sm btn-success" onClick="requestSetComponentState(\'ALL\',true)">'+$.i18n('dashboard_infobox_label_enableh')+'</button>' : '<button class="btn btn-sm btn-danger" onClick="requestSetComponentState(\'ALL\',false)">'+$.i18n('dashboard_infobox_label_disableh')+'</button>');
|
||||
}
|
||||
|
||||
// add more info
|
||||
|
@@ -1,5 +1,6 @@
|
||||
$(document).ready( function() {
|
||||
var uiLock = false;
|
||||
var prevSess = 0;
|
||||
|
||||
loadContentTo("#container_connection_lost","connection_lost");
|
||||
loadContentTo("#container_restart","restart");
|
||||
@@ -34,6 +35,26 @@ $(document).ready( function() {
|
||||
uiLock = false;
|
||||
}
|
||||
|
||||
var sess = serverInfo.hyperion.sessions;
|
||||
if (sess.length != prevSess)
|
||||
{
|
||||
wSess = [];
|
||||
prevSess = sess.length;
|
||||
for(var i = 0; i<sess.length; i++)
|
||||
{
|
||||
if(sess[i].type == "_hyperiond-http._tcp.")
|
||||
{
|
||||
wSess.push(sess[i]);
|
||||
}
|
||||
}
|
||||
|
||||
if (wSess.length > 1)
|
||||
$('#btn_instanceswitch').toggle(true);
|
||||
else
|
||||
$('#btn_instanceswitch').toggle(false);
|
||||
}
|
||||
|
||||
|
||||
}); // end cmd-serverinfo
|
||||
|
||||
$(hyperion).one("cmd-sysinfo", function(event) {
|
||||
|
@@ -54,9 +54,9 @@ $(document).ready(function() {
|
||||
else
|
||||
{
|
||||
if(sColor[key].key == "brightness" || sColor[key].key == "backlightThreshold")
|
||||
property = '<input id="cr_'+sColor[key].key+'" type="number" class="form-control" min="0.0" max="1.0" step="0.05" value="'+value+'"/>';
|
||||
property = '<input id="cr_'+sColor[key].key+'" type="number" class="form-control" min="0" max="1.0" step="0.05" value="'+value+'"/>';
|
||||
else
|
||||
property = '<input id="cr_'+sColor[key].key+'" type="number" class="form-control" min="0.01" max="4.0" step="0.1" value="'+value+'"/>';
|
||||
property = '<input id="cr_'+sColor[key].key+'" type="number" class="form-control" min="0.1" max="4.0" step="0.1" value="'+value+'"/>';
|
||||
|
||||
$('.crtbody').append(createTableRow([title, property], false, true));
|
||||
$('#cr_'+sColor[key].key).off().on('change', function(e){
|
||||
@@ -88,19 +88,15 @@ $(document).ready(function() {
|
||||
var data = "";
|
||||
var prios = serverInfo.priorities
|
||||
var i;
|
||||
var clearAll = false;
|
||||
|
||||
for(i = 0; i < prios.length; i++)
|
||||
{
|
||||
var origin = prios[i].origin;
|
||||
if(typeof origin !== "undefined" && origin != "")
|
||||
{
|
||||
origin = origin.split("@");
|
||||
var ip = origin[1];
|
||||
origin = origin[0];
|
||||
}
|
||||
else
|
||||
origin = "System";
|
||||
|
||||
var origin = prios[i].origin ? prios[i].origin : "System";
|
||||
origin = origin.split("@");
|
||||
var ip = origin[1];
|
||||
origin = origin[0];
|
||||
|
||||
var owner = prios[i].owner;
|
||||
var active = prios[i].active;
|
||||
var visible = prios[i].visible;
|
||||
@@ -120,9 +116,17 @@ $(document).ready(function() {
|
||||
if(ip)
|
||||
origin += '<br/><span style="font-size:80%; color:grey;">'+$.i18n('remote_input_ip')+' '+ip+'</span>';
|
||||
if(compId == "EFFECT")
|
||||
{
|
||||
owner = $.i18n('remote_effects_label_effects')+' '+owner;
|
||||
if(priority != 255)
|
||||
clearAll = true;
|
||||
}
|
||||
if(compId == "COLOR")
|
||||
owner = (owner == "Off") ? $.i18n('general_btn_off') : $.i18n('remote_color_label_color')+' '+'<div style="width:18px; height:18px; border-radius:20px; margin-bottom:-4px; border:1px grey solid; background-color: rgb('+prios[i].value.RGB+'); display:inline-block" title="RGB: ('+prios[i].value.RGB+')"></div>';
|
||||
{
|
||||
owner = $.i18n('remote_color_label_color')+' '+'<div style="width:18px; height:18px; border-radius:20px; margin-bottom:-4px; border:1px grey solid; background-color: rgb('+prios[i].value.RGB+'); display:inline-block" title="RGB: ('+prios[i].value.RGB+')"></div>';
|
||||
if(priority != 255)
|
||||
clearAll = true;
|
||||
}
|
||||
if(compId == "GRABBER")
|
||||
owner = $.i18n('general_comp_GRABBER')+': ('+owner+')';
|
||||
if(compId == "V4L")
|
||||
@@ -136,7 +140,7 @@ $(document).ready(function() {
|
||||
|
||||
var btn = '<button id="srcBtn'+i+'" type="button" '+btn_state+' class="btn btn-'+btn_type+' btn_input_selection" onclick="requestSetSource('+priority+');">'+btn_text+'</button>';
|
||||
|
||||
if((compId == "EFFECT" || compId == "COLOR") && priority < 254)
|
||||
if((compId == "EFFECT" || compId == "COLOR") && priority != 255)
|
||||
btn += '<button type="button" class="btn btn-sm btn-danger" style="margin-left:10px;" onclick="requestPriorityClear('+priority+');"><i class="fa fa-close"></button>';
|
||||
|
||||
if(btn_type != 'default')
|
||||
@@ -145,7 +149,9 @@ $(document).ready(function() {
|
||||
var btn_auto_color = (serverInfo.priorities_autoselect? "btn-success" : "btn-danger");
|
||||
var btn_auto_state = (serverInfo.priorities_autoselect? "disabled" : "enabled");
|
||||
var btn_auto_text = (serverInfo.priorities_autoselect? $.i18n('general_btn_on') : $.i18n('general_btn_off'));
|
||||
$('#auto_btn').html('<button id="srcBtn'+i+'" type="button" '+btn_auto_state+' class="btn '+btn_auto_color+'" style="margin:10px;display:inline-block;" onclick="requestSetSource(\'auto\');">'+$.i18n('remote_input_label_autoselect')+' ('+btn_auto_text+')</button>');
|
||||
var btn_call_state = (clearAll? "enabled" : "disabled");
|
||||
$('#auto_btn').html('<button id="srcBtn'+i+'" type="button" '+btn_auto_state+' class="btn '+btn_auto_color+'" style="margin-right:5px;display:inline-block;" onclick="requestSetSource(\'auto\');">'+$.i18n('remote_input_label_autoselect')+' ('+btn_auto_text+')</button>');
|
||||
$('#auto_btn').append('<button type="button" '+btn_call_state+' class="btn btn-danger" style="display:inline-block;" onclick="requestClearAll();">'+$.i18n('remote_input_clearall')+'</button>');
|
||||
|
||||
var max_width=100;
|
||||
$('.btn_input_selection').each(function() {
|
||||
@@ -167,7 +173,7 @@ $(document).ready(function() {
|
||||
else
|
||||
btn_style = 'btn-primary';
|
||||
|
||||
$('#mappingsbutton').append('<button type="button" id="lmBtn_'+mappingList[ix]+'" class="btn '+btn_style+'" style="margin:10px;min-width:200px" onclick="requestMappingType(\''+mappingList[ix]+'\');">'+$.i18n('remote_maptype_label_'+mappingList[ix])+'</button><br/>');
|
||||
$('#mappingsbutton').append('<button type="button" id="lmBtn_'+mappingList[ix]+'" class="btn '+btn_style+'" style="margin:3px;min-width:200px" onclick="requestMappingType(\''+mappingList[ix]+'\');">'+$.i18n('remote_maptype_label_'+mappingList[ix])+'</button><br/>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,20 +188,21 @@ $(document).ready(function() {
|
||||
enable_icon = (components[idx].enabled? "fa-play" : "fa-stop");
|
||||
comp_name = components[idx].name;
|
||||
comp_btn_id = "comp_btn_"+comp_name;
|
||||
comp_goff = serverInfo.hyperion.off? "disabled" : "enabled";
|
||||
|
||||
// create btn if not there
|
||||
if ($("#"+comp_btn_id).length == 0)
|
||||
{
|
||||
d='<p><button type="button" id="'+comp_btn_id+'" class="btn '+enable_style
|
||||
d='<span style="display:block;margin:3px"><button type="button" '+comp_goff+' id="'+comp_btn_id+'" class="btn '+enable_style
|
||||
+'" onclick="requestSetComponentState(\''+comp_name+'\','+(!components[idx].enabled)
|
||||
+')"><i id="'+comp_btn_id+'_icon" class="fa '+enable_icon+'"></i></button> '+$.i18n('general_comp_'+components[idx].name)+'</p>';
|
||||
+')"><i id="'+comp_btn_id+'_icon" class="fa '+enable_icon+'"></i></button> '+$.i18n('general_comp_'+components[idx].name)+'</span>';
|
||||
$('#componentsbutton').append(d);
|
||||
}
|
||||
else // already create, update state
|
||||
{
|
||||
setClassByBool( $('#'+comp_btn_id) , components[idx].enabled, "btn-danger", "btn-success" );
|
||||
setClassByBool( $('#'+comp_btn_id+"_icon"), components[idx].enabled, "fa-stop" , "fa-play" );
|
||||
$('#'+comp_btn_id).attr("onclick",'requestSetComponentState(\''+comp_name+'\','+(!components[idx].enabled)+')');
|
||||
$('#'+comp_btn_id).attr("onclick",'requestSetComponentState(\''+comp_name+'\','+(!components[idx].enabled)+')').attr(comp_goff);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -22,6 +22,7 @@ var loggingStreamActive = false;
|
||||
var loggingHandlerInstalled = false;
|
||||
var watchdog = 0;
|
||||
var debugMessagesActive = true;
|
||||
var wSess = [];
|
||||
|
||||
function initRestart()
|
||||
{
|
||||
@@ -224,6 +225,11 @@ function requestPriorityClear(prio)
|
||||
sendToHyperion("clear", "", '"priority":'+prio+'');
|
||||
}
|
||||
|
||||
function requestClearAll()
|
||||
{
|
||||
sendToHyperion("clearall");
|
||||
}
|
||||
|
||||
function requestPlayEffect(effectName, duration)
|
||||
{
|
||||
sendToHyperion("effect", "", '"effect":{"name":"'+effectName+'"},"priority":'+webPrio+',"duration":'+validateDuration(duration)+',"origin":"'+webOrigin+'"');
|
||||
|
@@ -115,4 +115,24 @@ $(document).ready( function() {
|
||||
//hide menu elements
|
||||
if (storedAccess != 'expert')
|
||||
$('#load_webconfig').toggle(false);
|
||||
|
||||
|
||||
// instance switcher
|
||||
$('#btn_instanceswitch').off().on('click',function() {
|
||||
var lsys = sysInfo.system.hostName+':'+serverConfig.webConfig.port;
|
||||
showInfoDialog('iswitch', $.i18n('InfoDialog_iswitch_title'), $.i18n('InfoDialog_iswitch_text'));
|
||||
|
||||
for (var i = 0; i<wSess.length; i++)
|
||||
{
|
||||
|
||||
if(lsys != wSess[i].host+':'+wSess[i].port)
|
||||
$('#id_select').append(createSelOpt('http://'+wSess[i].address+':'+wSess[i].port, wSess[i].name))
|
||||
}
|
||||
|
||||
$('#id_btn_saveset').off().on('click',function() {
|
||||
$("#loading_overlay").addClass("overlay");
|
||||
window.location.href = $('#id_select').val()
|
||||
});
|
||||
|
||||
});
|
||||
});
|
@@ -154,6 +154,11 @@ function showInfoDialog(type,header,message)
|
||||
$('#id_footer').html('<button type="button" id="id_btn_saveset" class="btn btn-primary" data-dismiss="modal"><i class="fa fa-fw fa-save"></i>'+$.i18n('general_btn_saveandreload')+'</button>');
|
||||
$('#id_footer').append('<button type="button" class="btn btn-danger" data-dismiss="modal"><i class="fa fa-fw fa-close"></i>'+$.i18n('general_btn_cancel')+'</button>');
|
||||
}
|
||||
else if (type == "iswitch"){
|
||||
$('#id_body').html('<img style="margin-bottom:20px" src="img/hyperion/hyperionlogo.png" alt="Redefine ambient light!">');
|
||||
$('#id_footer').html('<button type="button" id="id_btn_saveset" class="btn btn-primary" data-dismiss="modal"><i class="fa fa-fw fa-exchange"></i>'+$.i18n('general_btn_iswitch')+'</button>');
|
||||
$('#id_footer').append('<button type="button" class="btn btn-danger" data-dismiss="modal"><i class="fa fa-fw fa-close"></i>'+$.i18n('general_btn_cancel')+'</button>');
|
||||
}
|
||||
else if (type == "uilock"){
|
||||
$('#id_body').html('<img src="img/hyperion/hyperionlogo.png" alt="Redefine ambient light!">');
|
||||
$('#id_footer').html('<b>'+$.i18n('InfoDialog_nowrite_foottext')+'</b>');
|
||||
@@ -174,7 +179,7 @@ function showInfoDialog(type,header,message)
|
||||
$('#id_body').append('<h4 style="font-weight:bold;text-transform:uppercase;">'+header+'</h4>');
|
||||
$('#id_body').append(message);
|
||||
|
||||
if(type == "select")
|
||||
if(type == "select" || type == "iswitch")
|
||||
$('#id_body').append('<select id="id_select" class="form-control" style="margin-top:10px;width:auto;"></select>');
|
||||
|
||||
$("#modal_dialog").modal({
|
||||
@@ -228,28 +233,22 @@ function createHint(type, text, container)
|
||||
|
||||
function valValue(id,value,min,max)
|
||||
{
|
||||
//TODO: Do not use parser, all values are now typeof number
|
||||
value = parseInt(value)
|
||||
if(typeof value === 'number')
|
||||
if(typeof max === 'undefined' || max == "")
|
||||
max = 999999;
|
||||
|
||||
if(value > max)
|
||||
{
|
||||
if(typeof max === 'undefined' || max == "")
|
||||
max = 999999;
|
||||
|
||||
if(value > max)
|
||||
{
|
||||
$('#'+id).val(max);
|
||||
showInfoDialog("warning","",$.i18n('edt_msg_error_maximum_incl',max));
|
||||
return max;
|
||||
}
|
||||
else if(value < min)
|
||||
{
|
||||
$('#'+id).val(min);
|
||||
showInfoDialog("warning","",$.i18n('edt_msg_error_minimum_incl',min));
|
||||
return min;
|
||||
}
|
||||
return value;
|
||||
$('#'+id).val(max);
|
||||
showInfoDialog("warning","",$.i18n('edt_msg_error_maximum_incl',max));
|
||||
return max;
|
||||
}
|
||||
return value;
|
||||
else if(value < min)
|
||||
{
|
||||
$('#'+id).val(min);
|
||||
showInfoDialog("warning","",$.i18n('edt_msg_error_minimum_incl',min));
|
||||
return min;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
function readImg(input,cb)
|
||||
|
Reference in New Issue
Block a user