diff --git a/experimental/tracer/ui/.gitignore b/experimental/tracer/ui/.gitignore new file mode 100644 index 000000000..a471811ad --- /dev/null +++ b/experimental/tracer/ui/.gitignore @@ -0,0 +1,4 @@ +container.json +traces.json +node_modules + diff --git a/experimental/tracer/ui/README.md b/experimental/tracer/ui/README.md new file mode 100644 index 000000000..a2dc141ef --- /dev/null +++ b/experimental/tracer/ui/README.md @@ -0,0 +1,10 @@ +Develop UI +########## + +* npm install +* npm start + +`server.js` serves a fake backend. You can add `container.json` and +`traces.json` to this directory to serve them as /traces and /container +respectively. + diff --git a/experimental/tracer/ui/favicon.ico b/experimental/tracer/ui/favicon.ico new file mode 100644 index 000000000..2d15c7808 Binary files /dev/null and b/experimental/tracer/ui/favicon.ico differ diff --git a/experimental/tracer/ui/index.html b/experimental/tracer/ui/index.html index a2463a987..c9a1aed35 100644 --- a/experimental/tracer/ui/index.html +++ b/experimental/tracer/ui/index.html @@ -3,14 +3,12 @@ Weave Tracer - - - - + + + - @@ -24,6 +22,12 @@ var containers = []; var traces = []; + Handlebars.registerHelper('isSelected', function(input) { + if (currentContainer && input === currentContainer.Id) { + return 'class=selected'; + } + }); + Handlebars.registerHelper('spaces', function(input) { return new Array(input + 1).join("> "); }); @@ -75,6 +79,10 @@ $.each(data, function(i, container) { containersByID[container.Id] = container }); + // auto-select first container + if (containers.length) { + currentContainer = containersByID[containers[0].Id]; + } render(); window.setTimeout(updateContainers, 5 * 1000); }); @@ -113,13 +121,70 @@ }) diff --git a/experimental/tracer/ui/logo.svg b/experimental/tracer/ui/logo.svg new file mode 100644 index 000000000..406732034 --- /dev/null +++ b/experimental/tracer/ui/logo.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/experimental/tracer/ui/package.json b/experimental/tracer/ui/package.json new file mode 100644 index 000000000..d2d91d3ed --- /dev/null +++ b/experimental/tracer/ui/package.json @@ -0,0 +1,15 @@ +{ + "name": "scope-tracer", + "version": "1.0.0", + "description": "", + "main": "server.js", + "scripts": { + "start": "node server.js", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "David Kaltschmidt ", + "license": "UNLICENSED", + "devDependencies": { + "express": "^4.13.3" + } +} diff --git a/experimental/tracer/ui/server.js b/experimental/tracer/ui/server.js new file mode 100644 index 000000000..e56d77342 --- /dev/null +++ b/experimental/tracer/ui/server.js @@ -0,0 +1,25 @@ +var express = require('express') + +var app = express(); + +app.get('/', function(req, res) { + res.sendFile(__dirname + '/index.html'); +}); + +app.get('/container', function(req, res) { + res.sendFile(__dirname + '/container.json'); +}); + +app.get('/traces', function(req, res) { + res.sendFile(__dirname + '/traces.json'); +}); + +app.use(express.static('./')); + +var port = process.env.PORT || 4050; +var server = app.listen(port, function () { + var host = server.address().address; + var port = server.address().port; + + console.log('Scope Tracer UI listening at http://%s:%s', host, port); +});