-
Notifications
You must be signed in to change notification settings - Fork 0
/
dashboard.js
54 lines (46 loc) · 1.99 KB
/
dashboard.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
var analytics = new Firebase('https://olgabdb-f2ace.firebaseio.com/');
$(document).on('ready', function () {
var $totalVisitors = $('#total-visitors');
analytics.child('totalVisitors').on('value', function (snapshot) {
$totalVisitors.text(snapshot.val());
});
});
var $activeVisitors = $('#active-visitors');
var activeVisitors = analytics.child('activeVisitors');
activeVisitors.on('child_added', function (snapshot) {
var n = snapshot.name();
var v = snapshot.val();
var arriveDate = new Date(v.arrivedAt);
$activeVisitors.prepend(
'<tr id="active-visitor' + n + '">' +
'<td>' + n + '</td>' +
'<td>' + v.path.split("vue2_11").pop() + '</td>' +
'<td>' + v.userAgent + '</td>' +
'<td>' + arriveDate.getHours() + ':' + arriveDate.getMinutes() + ':' + arriveDate.getSeconds() + '</td> ' +
'</tr>'
);
});
var $pastVisitors = $('#past-visitors');
var pastVisitors = analytics.child('pastVisitors');
pastVisitors.on('child_added', function (snapshot) {
var n = snapshot.name();
var v = snapshot.val();
var arriveDate = new Date(v.arrivedAt);
var leftDate = new Date(v.leftAt);
$pastVisitors.prepend(
'<tr id="past-visitor' + n + '">' +
'<td>' + n + '</td>' +
'<td>' + v.path + '</td>' +
'<td>' + v.userAgent + '</td>' +
'<td>' + arriveDate.getHours() + ':' + arriveDate.getMinutes() + ':' + arriveDate.getSeconds() + '</td> ' +
'<td>' + leftDate.getHours() + ':' + leftDate.getMinutes() + ':' + leftDate.getSeconds() + '</td> ' +
'<td>' + ((v.leftAt - v.arrivedAt) / 1000) + '</td> ' +
'</tr>'
);
});
activeVisitors.on('child_removed', function (snapshot) {
$('#active-visitor' + snapshot.name()).remove();
});
pastVisitors.on('child_removed', function (snapshot) {
$('#past-visitor' + snapshot.name()).remove();
});