85 lines
2.5 KiB
JavaScript
85 lines
2.5 KiB
JavaScript
'use strict';
|
|
|
|
var gpower;
|
|
|
|
angular.module('roomstateapp.controllers', []).
|
|
controller('StatusCtrl', function ($scope, $http, Socket) {
|
|
|
|
$http({
|
|
method: 'GET',
|
|
url: '/api/simple/v2'
|
|
}).
|
|
success(function (data, status, headers, config) {
|
|
$scope.simple = data;
|
|
gpower.refresh(data.power);
|
|
}).
|
|
error(function (data, status, headers, config) {
|
|
//$scope.name = 'Error!'
|
|
console.log("error getting data");
|
|
});
|
|
|
|
Socket.on('sdata', function(message) {
|
|
console.log("received data from server: " + message.data.names);
|
|
$scope.simple = message.data;
|
|
gpower.refresh(message.data.power);
|
|
});
|
|
});
|
|
|
|
angular.module('roomstateapp.services', []).
|
|
factory('Socket', function ($rootScope) {
|
|
var socket = io.connect();
|
|
|
|
return {
|
|
on: function(eventName, callback) {
|
|
socket.on(eventName, function() {
|
|
var args = arguments;
|
|
$rootScope.$apply(function() {
|
|
callback.apply(socket, args);
|
|
});
|
|
});
|
|
},
|
|
emit: function(eventName, data, callback) {
|
|
if(typeof data == 'function') {
|
|
callback = data;
|
|
data = {};
|
|
}
|
|
socket.emit(eventName, data, function() {
|
|
var args = arguments;
|
|
$rootScope.$apply(function() {
|
|
if(callback) {
|
|
callback.apply(socket, args);
|
|
}
|
|
});
|
|
});
|
|
},
|
|
emitAndListen: function(eventName, data, callback) {
|
|
this.emit(eventName, data, callback);
|
|
this.on(eventName, callback);
|
|
}
|
|
};
|
|
});
|
|
|
|
angular.module('roomstateapp.statusfilter', []).filter('statustostring', function() {
|
|
return function(input) {
|
|
return input == true ? 'geöffnet' : input == false ? 'geschlossen' : 'unbekannt';
|
|
};
|
|
});
|
|
|
|
angular.module('roomstateapp', ['roomstateapp.controllers', 'roomstateapp.services', 'roomstateapp.statusfilter']);
|
|
|
|
|
|
$( document ).ready(function() {
|
|
console.log( "ready!" );
|
|
|
|
gpower = new JustGage({
|
|
id: "gauge",
|
|
value: 0,
|
|
min: 0,
|
|
max: 30000,
|
|
title: " ",
|
|
label: "Watt",
|
|
showMinMax: false
|
|
});
|
|
|
|
});
|