web UPDATED

This commit is contained in:
Kai Wansart
2018-02-03 23:02:02 +01:00
parent 842f703a05
commit 179861a133
37 changed files with 40198 additions and 30 deletions

View File

@ -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");
});
//-----------------------------------------------------------------------------------//