'use strict'; 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; }). 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; }); }); 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']);