”2016-09-14”

This commit is contained in:
Martin Donnelly 2016-09-14 16:45:03 +01:00
parent 70b9b267a8
commit f578eab065
2 changed files with 179 additions and 170 deletions

View File

@ -482,7 +482,7 @@
filter.push(co2); filter.push(co2);
//if (step % 100 === 0) { //If (step % 100 === 0) {
if (filter.length >= max) { if (filter.length >= max) {
let sub100 = filter.reduce((prev, cur) => prev + cur); let sub100 = filter.reduce((prev, cur) => prev + cur);
chunk.sub100 = sub100 / max; chunk.sub100 = sub100 / max;
@ -498,9 +498,9 @@
}, },
setSocket: function(newSocket) { setSocket: function(newSocket) {
this.socketHandler = newSocket; this.socketHandler = newSocket;
this.socketHandler.on('update', function() { this.socketHandler.on('update', function() {
console.log('Model updated:', this.get('data')); console.log('Model updated:', this.get('data'));
}); });
} }
@ -508,29 +508,33 @@
var Widget = Backbone.View.extend({ var Widget = Backbone.View.extend({
tagName : 'div', //el: '#widgets',
template: _.template($('#widget-template').html()), template: _.template($('#widget-template').html()),
initialize: function() { initialize: function() {
_.bindAll(this, 'render'); _.bindAll(this, 'render');
this.modes = ['', 'lux', 'temp', 'co2', 'humid', 'noise'];
this.listenTo(this.model,'change',function(d){ this.titles = [
let data = d.get('data'); '', 'Light Levels', 'Temperature', 'Co2 Levels', 'Humidity', 'Sound'
];
this.listenTo(this.model,'change',function() {
this.render(); this.render();
}); });
this.widgetMode = this.id.split('-')[1]; this.widgetMode = this.id.split('-')[1];
this.title = this.titles[this.modes.indexOf(this.widgetMode)];
this.render(); this.render();
}, },
render: function() { render: function() {
let data = this.model.get('data'); let data = this.model.get('data');
let value = (typeof data !== 'undefined') ? data[this.widgetMode] : 0; let value = (typeof data !== 'undefined') ? data[this.widgetMode] : 0;
var html = this.template({name:this.widgetMode,value:value}); var html = this.template({name: this.title,value: value});
console.log(html); console.log(html);
console.log(this.$el); console.log(this.$el);
this.$el.empty(); console.log('rendering');
this.$el.html('<p>hello</p>'); this.$el.append(html);
return this;
}}); return this;
}});
notification.configProfile('global', { notification.configProfile('global', {
@ -557,6 +561,6 @@
views.mainview.setSocket(webSocketModel); views.mainview.setSocket(webSocketModel);
views.grapher.setSocket(webSocketModel); views.grapher.setSocket(webSocketModel);
var tempWidget = new Widget({model:webSocketModel, id:'widget-temp'}); var tempWidget = new Widget({model: webSocketModel, id: 'widget-temp'});
var co2Widget = new Widget({model:webSocketModel, id:'widget-co2'}); var co2Widget = new Widget({model: webSocketModel, id: 'widget-co2'});
})(jQuery); })(jQuery);

View File

@ -55,171 +55,176 @@
</div> </div>
</div> </div>
</div> </div>
<div id="widget-temp" style="color:yellow;background-color:grey;border:1px yellow solid;"> <div id="widgets">
<div class='mui-row' id="widget-temp">
</div> </div>
<div id="widget-co2" style="color:yellow;background-color:grey;border 1px solid yellow;"></div> <div class='mui-row' id="widget-co2"></div>
<script type="text/template" id="loaded-template">
<div </div>
style="background-color: darkred;color: white;font-weight: 900;text-align: center">Loaded </div>
</div>
</script> <script type="text/template" id="loaded-template">
<script type="text/template" id="main-template"> <div
<div class="mui-container"> style="background-color: darkred;color: white;font-weight: 900;text-align: center">Loaded
<div class="mui-row"> </div>
<div class="mui-select"> </script>
<select id="device" name="device"> <script type="text/template" id="main-template">
<option></option> <div class="mui-container">
<option>
HIE-mobile-1
</option>
<option>
HIE-demo
</option>
<option>
HIE-mobile-2
</option>
<option>
HIE-smart-campus-1
</option>
<option>
HIE-smart-campus-2
</option>
<option>
HIE-smart-campus-3
</option>
<option>
HIE-smart-campus-4
</option>
<option>
HIE-smart-campus-5
</option>
<option>
HIE-smart-campus-6
</option>
<option>
HIE-smart-campus-7
</option>
<option>
CENSIS-LoRa-1
</option>
<option>
CENSIS-LoRa-2
</option>
<option>
CENSIS-LoRa-3
</option>
<option>
CENSIS-LoRa-4
</option>
<option>
HIE-mDot-1
</option>
</select> <label>Device</label>
</div>
</div>
</div>
<div class="mui-row"> <div class="mui-row">
<div class="mui-col-md-12"> <div class="mui-select">
<button id='refresh' <select id="device" name="device">
class="mui-btn mui-btn--small mui-btn--primary">Refresh <option></option>
</button> <option>
HIE-mobile-1
</div> </option>
<option>
HIE-demo
</option>
<option>
HIE-mobile-2
</option>
<option>
HIE-smart-campus-1
</option>
<option>
HIE-smart-campus-2
</option>
<option>
HIE-smart-campus-3
</option>
<option>
HIE-smart-campus-4
</option>
<option>
HIE-smart-campus-5
</option>
<option>
HIE-smart-campus-6
</option>
<option>
HIE-smart-campus-7
</option>
<option>
CENSIS-LoRa-1
</option>
<option>
CENSIS-LoRa-2
</option>
<option>
CENSIS-LoRa-3
</option>
<option>
CENSIS-LoRa-4
</option>
<option>
HIE-mDot-1
</option>
</select> <label>Device</label>
</div>
</div> </div>
</script> </div>
<script type="text/template" id="list-template"> <div class="mui-row">
<ul></ul> <div class="mui-col-md-12">
</script> <button id='refresh'
<script type="text/template" id="item-template"> class="mui-btn mui-btn--small mui-btn--primary">Refresh
</button>
</div>
</div>
</script>
<script type="text/template" id="list-template">
<ul></ul>
</script>
<script type="text/template" id="item-template">
<div class="mui-row">
<div class="mui-col-md-2"><%= item.timestamp %></div>
<div class="mui-col-md-2"><%= item.lux %></div>
<div class="mui-col-md-2"><%= item.co2 %></div>
<div class="mui-col-md-2"><%= item.temp %></div>
<div class="mui-col-md-2"><%= item.humidity %></div>
<div class="mui-col-md-2"><%= item.sound %></div>
</div>
</script>
<script type="text/template" id="AMChart-template">
<div class="mui-container">
<div class="mui-row"> <div class="mui-row">
<div class="mui-col-md-2"><%= item.timestamp %></div> <div class="mui-select mui-col-md-12">
<div class="mui-col-md-2"><%= item.lux %></div> <select id="displaymode" name="displaymode">
<div class="mui-col-md-2"><%= item.co2 %></div> <option value="0"></option>
<div class="mui-col-md-2"><%= item.temp %></div> <option value="1">
<div class="mui-col-md-2"><%= item.humidity %></div> Light
<div class="mui-col-md-2"><%= item.sound %></div> </option>
</div> <option value="2">
</script> Temp
<script type="text/template" id="AMChart-template"> </option>
<div class="mui-container"> <option value="3">
<div class="mui-row"> Co2
<div class="mui-select mui-col-md-12"> </option>
<select id="displaymode" name="displaymode"> <option value="4">
<option value="0"></option> Humidity
<option value="1"> </option>
Light <option value="5">
</option> Noise
<option value="2"> </option>
Temp <option value="6">
</option> Light & Co2
<option value="3"> </option>
Co2 <option value="7">
</option> Temperature & Humidity
<option value="4"> </option>
Humidity
</option>
<option value="5">
Noise
</option>
<option value="6">
Light & Co2
</option>
<option value="7">
Temperature & Humidity
</option>
</select> <label>Graph</label> </select> <label>Graph</label>
</div>
</div> </div>
</div> </div>
</script> </div>
<script type="text/template" id="graph-template"> </script>
<div class="mui-container"> <script type="text/template" id="graph-template">
<div class="mui-row"> <div class="mui-container">
<div class="mui-select mui-col-md-6"> <div class="mui-row">
<select id="displaymode" name="displaymode"> <div class="mui-select mui-col-md-6">
<option value="0"></option> <select id="displaymode" name="displaymode">
<option value="1"> <option value="0"></option>
Light <option value="1">
</option> Light
<option value="2"> </option>
Temp <option value="2">
</option> Temp
<option value="3"> </option>
Co2 <option value="3">
</option> Co2
<option value="4"> </option>
Humidity <option value="4">
</option> Humidity
<option value="5"> </option>
Noise <option value="5">
</option> Noise
</select> <label>Graph</label> </option>
</div> </select> <label>Graph</label>
<div class="mui-col-md-6"> </div>
<svg id="graphSVG" width="300" height="150" fill="blue"> <div class="mui-col-md-6">
<line x1="46" y1="12" x2="280" y2="12" <svg id="graphSVG" width="300" height="150" fill="blue">
style="stroke:#004c6d;stroke-width:2;"></line> <line x1="46" y1="12" x2="280" y2="12"
<text id="maxY" x="36" y="15" text-anchor="end">--</text> style="stroke:#004c6d;stroke-width:2;"></line>
<line x1="46" y1="136" x2="280" y2="136" <text id="maxY" x="36" y="15" text-anchor="end">--</text>
style="stroke:#004c6d;stroke-width:2;"></line> <line x1="46" y1="136" x2="280" y2="136"
<text id="MinY" x="36" y="139" text-anchor="end">0</text> style="stroke:#004c6d;stroke-width:2;"></line>
<polyline id="line" fill="none" stroke="#2196F3" text-anchor="end" <text id="MinY" x="36" y="139" text-anchor="end">0</text>
stroke-width="1" points=""></polyline> <polyline id="line" fill="none" stroke="#2196F3" text-anchor="end"
<g id="datapoints"></g> stroke-width="1" points=""></polyline>
<g id="baseline"></g> <g id="datapoints"></g>
</svg> <g id="baseline"></g>
</div> </svg>
</div> </div>
</div> </div>
</script> </div>
</script>
<script type="text/template" id="widget-template"> <script type="text/template" id="widget-template">
<div> <div class="mui-col-md-3 panel">
<div class="mui-col-md-2"><%= name %></div> <div class="mui-col-md-2"><%= name %></div>
<div class="mui-col-md-2"><%= value %></div> <div class="mui-col-md-2"><%= value %></div>
</div> </div>
</script> </script>
<!-- build:vendor --> <!-- build:vendor -->
<script src="lib/mui.js"></script> <script src="lib/mui.js"></script>