summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorokalintu <ilkka.oksanen@aalto.fi>2015-03-12 16:55:27 +0200
committerokalintu <ilkka.oksanen@aalto.fi>2015-03-12 16:55:27 +0200
commitd53ac7d764c6eb9f17f6f1403d98cf031136a377 (patch)
tree73c1cd05f703030f09d0a7d871ea323baed8eebd
parentfef2fed9ed9ae448edd4159010073c59921ee433 (diff)
added subscribable webinterface for log
-rw-r--r--f/scripts/log.js15
-rw-r--r--f/templates/log.html16
-rw-r--r--index.js17
3 files changed, 45 insertions, 3 deletions
diff --git a/f/scripts/log.js b/f/scripts/log.js
new file mode 100644
index 0000000..5b5409e
--- /dev/null
+++ b/f/scripts/log.js
@@ -0,0 +1,15 @@
+var logapp = angular.module('logapp',[]);
+
+logapp.controller("logctrl",function($scope){
+ $scope.logmessages = [];
+ var socket= io();
+ socket.on("connect",function(data){
+ socket.emit("logsubscribe","logclient");
+ console.log("socket connected");
+ });
+ socket.on("logmessage",function(data){
+
+ $scope.logmessages.push(data);
+ $scope.$apply();
+ });
+});
diff --git a/f/templates/log.html b/f/templates/log.html
new file mode 100644
index 0000000..43ae8ff
--- /dev/null
+++ b/f/templates/log.html
@@ -0,0 +1,16 @@
+<!doctype html>
+<html>
+<head>
+<title>Queuelog</title>
+<meta charset="utf-8">
+<script src="f/scripts/angular/angular.min.js"></script>
+<script src="/socket.io/socket.io.js"></script>
+<script src="f/scripts/log.js"></script>
+</head>
+<body ng-app="logapp">
+<div id="container" ng-controller="logctrl">
+<p ng-repeat="msg in logmessages">{{msg}}</p>
+</div>
+
+</body>
+</html>
diff --git a/index.js b/index.js
index 9860482..150c711 100644
--- a/index.js
+++ b/index.js
@@ -2,7 +2,7 @@ var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var port = 1337;
-
+var LOGBROADCAST = true;
//get port from commandline parameteres
if (process.argv.length== 3){
port = process.argv[2];
@@ -17,6 +17,10 @@ app.get('/', function(req, res){
app.get('/adm', function(req, res){
res.sendFile(__dirname + '/f/templates/adm.html');
});
+app.get('/log', function(req, res){
+ res.sendFile(__dirname + '/f/templates/log.html');
+});
+
//route all paths beginning with /f/ to real files
app.get('/f/*', function(req, res){
@@ -32,7 +36,10 @@ io.on('connection', function(socket){
socket.emit("userinfo",{"uid":uid,"pw":pw});
socket.emit("quedata",que);
-
+ socket.on("logsubscribe",function(data){
+ log("User "+data.uid+ " has subscribed in logging");
+ socket.join("log");
+ });
socket.on("queadd",function(data){
log("User " +data.name+ " on row " +data.row+" added to queue");
@@ -70,7 +77,11 @@ function getTimeString()
}
function log(msg){
- console.log(getTimeString()+": "+msg);
+ var logmsg=getTimeString()+": "+msg;
+ console.log(logmsg);
+ if(LOGBROADCAST){
+ io.to("log").emit("logmessage",logmsg);
+ }
}
http.listen(port, function(){
log('listening on port '+port);