web UPDATED
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// CM - Hauptfunktion
|
||||
// Engine - Hauptfunktion
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
var config = {}
|
||||
@ -8,14 +8,23 @@ var config = {}
|
||||
function bodyDataAction ()
|
||||
//-----------------------------------------------------------------------------------//
|
||||
{
|
||||
var menuButtons = document.getElementById("navbarBtn").
|
||||
getElementsByTagName("button");
|
||||
var menuButtons = document.getElementById("menuBtn").
|
||||
getElementsByTagName("A");
|
||||
for (var i = 0; i < menuButtons.length; i++) {
|
||||
menuButtons[i].onclick = function(evt) {
|
||||
console.log("Menu");
|
||||
var res = evt.target.id;
|
||||
menu(res);
|
||||
};
|
||||
}
|
||||
var contentButtons = document.getElementsByTagName("button");
|
||||
for (var i = 0; i < contentButtons.length; i++) {
|
||||
contentButtons[i].onclick = function(evt) {
|
||||
console.log("Button");
|
||||
var res = evt.target.id;
|
||||
menu('switchRequest', res);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------//
|
||||
@ -27,23 +36,23 @@ function menu (message, request=null)
|
||||
{
|
||||
case 'pageDevices':
|
||||
console.log( "pageDevices")
|
||||
//loadContent('html/devices.html');
|
||||
$( ".rendered" ).empty();
|
||||
generateDevices();
|
||||
document.getElementById('pageDevices').className = "btn btn-outline-light text-dark active";
|
||||
document.getElementById('pageSettings').className = "btn btn-outline-light text-dark";
|
||||
document.getElementById('pageDevices').className = "nav-link active";
|
||||
document.getElementById('pageSettings').className = "nav-link";
|
||||
break;
|
||||
case 'pageSettings':
|
||||
console.log( "pageDevices")
|
||||
//loadContent('html/settings.html');
|
||||
document.getElementById('pageDevices').className = "btn btn-outline-light text-dark";
|
||||
document.getElementById('pageSettings').className = "btn btn-outline-light text-dark active";
|
||||
console.log( "pageSettings")
|
||||
$( ".rendered" ).empty();
|
||||
document.getElementById('pageDevices').className = "nav-link";
|
||||
document.getElementById('pageSettings').className = "nav-link active";
|
||||
break;
|
||||
case 'switchRequest':
|
||||
console.log( request )
|
||||
switchRequest(request);
|
||||
break;
|
||||
default:
|
||||
alert ('[CM] Unbekannte Anfrage: ' + message);
|
||||
alert ('[Engine] Unbekannte Anfrage: ' + message);
|
||||
}
|
||||
}
|
||||
|
||||
@ -72,7 +81,7 @@ function switchRequest (request)
|
||||
function generateYeelightBulbs ( data , type)
|
||||
//-----------------------------------------------------------------------------------//
|
||||
{
|
||||
$( ".content" ).append($('<div class="yeelight'+type+' container-fluid text-center bg-grey">'));
|
||||
$( ".rendered" ).append($('<div class="yeelight'+type+' container-fluid text-center bg-grey">'));
|
||||
$( ".yeelight"+type ).append($("<h3></h3>").text("Yeelight " + type));
|
||||
$( ".yeelight"+type ).append($('<div class="yeelight'+type+'row row text-center">'));
|
||||
for (bulb in data)
|
||||
@ -107,10 +116,52 @@ function generateYeelightBulbs ( data , type)
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------//
|
||||
function generateYeelightGroups ( data )
|
||||
function renderYeelightGroups ( data )
|
||||
//-----------------------------------------------------------------------------------//
|
||||
{
|
||||
$( ".rendered" ).append('<h1 class="grp my-4">Yeelight<small>Gruppen</small></h1>');
|
||||
$( ".rendered" ).append('<div class="rowGrp row">');
|
||||
for(group in data)
|
||||
{
|
||||
var devicesString = ""
|
||||
for (device in data[group]['devices'])
|
||||
{
|
||||
if(devicesString == "")
|
||||
{
|
||||
devicesString = device;
|
||||
}
|
||||
else
|
||||
{
|
||||
devicesString = devicesString + ', ' + device;
|
||||
}
|
||||
}
|
||||
$( ".rowGrp" ).append(' <div class="col-lg-3 col-md-4 col-sm-6 portfolio-item">'+
|
||||
'<div class="card h-100">'+
|
||||
'<div class="card-body">'+
|
||||
'<h4 class="card-title">'+
|
||||
'<a href="#">'+ group + '</a>'+
|
||||
'</h4>'+
|
||||
'<div class="card-text">'+
|
||||
'<div class="btn-group">'+
|
||||
'<button id="yeelight.'+group+'.power.on" type="button" class="btn btn-primary">An</button>'+
|
||||
'<button id="yeelight.'+group+'.power.off" type="button" class="btn btn-primary">Aus</button>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<p class="card-text"></p>'+
|
||||
'<p class="card-text"></p>'+
|
||||
'<h5 class="card-title">'+
|
||||
'<a href="#">Geräte</a>'+
|
||||
'</h5>'+
|
||||
'<p class="card-text">'+devicesString+'</p>'+
|
||||
'</div>'+
|
||||
'</div>');
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------//
|
||||
function loadYeelightGroups ( data )
|
||||
//-----------------------------------------------------------------------------------//
|
||||
{
|
||||
console.log(data);
|
||||
var groups = {}
|
||||
for (bulb in data)
|
||||
{
|
||||
@ -118,25 +169,18 @@ function generateYeelightGroups ( data )
|
||||
{
|
||||
if (group in groups)
|
||||
{
|
||||
//groups[group] = data[bulb];
|
||||
groups[group]['devices'][bulb] = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
groups[group] = {};
|
||||
groups[group] = data[bulb];
|
||||
groups[group]['devices'] = {};
|
||||
groups[group]['devices'][bulb] = "";
|
||||
}
|
||||
}
|
||||
};
|
||||
console.log(groups);
|
||||
generateYeelightBulbs(groups,"Gruppen");
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------//
|
||||
function generateYeelight ( data )
|
||||
//-----------------------------------------------------------------------------------//
|
||||
{
|
||||
generateYeelightBulbs(data,"Bulbs");
|
||||
generateYeelightGroups(data);
|
||||
}
|
||||
return groups;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------//
|
||||
@ -145,11 +189,13 @@ function generateDevices ( )
|
||||
{
|
||||
for (module in config)
|
||||
{
|
||||
if(module == "yeelight")
|
||||
if(module.localeCompare("yeelight") == 0)
|
||||
{
|
||||
generateYeelight(config[module]);
|
||||
yeelightGroups = loadYeelightGroups(config[module]);
|
||||
renderYeelightGroups(yeelightGroups);
|
||||
}
|
||||
}
|
||||
bodyDataAction();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -184,22 +230,12 @@ function postYeelight ( cmd )
|
||||
});
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------//
|
||||
function loadContent ( content )
|
||||
//-----------------------------------------------------------------------------------//
|
||||
{
|
||||
$.get( content, function( data ) {
|
||||
$( ".content" ).html( data );
|
||||
console.log( "Load was performed." );
|
||||
});
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------//
|
||||
$(function() {
|
||||
console.log("ONLOAD");
|
||||
|
||||
getConfig();
|
||||
|
||||
console.log("CM LOADED");
|
||||
console.log("Engine LOADED");
|
||||
});
|
||||
//-----------------------------------------------------------------------------------//
|
Reference in New Issue
Block a user