fixed ui bugs in analytics view in admin panel
This commit is contained in:
parent
20a2c1b574
commit
66d41f5a80
|
@ -45,7 +45,6 @@ module.exports = function (io, socket) {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.disconnect(0);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
io.on('connection', function(current_socket) {
|
io.on('connection', function(current_socket) {
|
||||||
|
@ -55,18 +54,15 @@ module.exports = function (io, socket) {
|
||||||
current_socket.id = data.formId;
|
current_socket.id = data.formId;
|
||||||
visitorsData[current_socket.id] = data;
|
visitorsData[current_socket.id] = data;
|
||||||
visitorsData[current_socket.id].isSaved = false;
|
visitorsData[current_socket.id].isSaved = false;
|
||||||
|
|
||||||
if (data.isSubmitted) {
|
if (data.isSubmitted) {
|
||||||
saveVisitorData(data, function () {
|
saveVisitorData(data, function () {
|
||||||
visitorsData[current_socket.id].isSaved = true;
|
visitorsData[current_socket.id].isSaved = true;
|
||||||
current_socket.disconnect(0);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
current_socket.on('disconnect', function() {
|
current_socket.on('disconnect', function() {
|
||||||
var data = visitorsData[current_socket.id];
|
var data = visitorsData[current_socket.id];
|
||||||
|
|
||||||
if(data && !data.isSubmitted && !data.isSaved) {
|
if(data && !data.isSubmitted && !data.isSaved) {
|
||||||
data.isSaved = true;
|
data.isSaved = true;
|
||||||
saveVisitorData(data);
|
saveVisitorData(data);
|
||||||
|
|
|
@ -9,7 +9,7 @@ var config = require('./config'),
|
||||||
// Define the Socket.io configuration method
|
// Define the Socket.io configuration method
|
||||||
module.exports = function (app, db) {
|
module.exports = function (app, db) {
|
||||||
var server = http.createServer(app);
|
var server = http.createServer(app);
|
||||||
var io = socketio({ transports: ['websocket', 'polling'] });
|
var io = socketio(20523, { transports: ['websocket', 'polling'] });
|
||||||
|
|
||||||
if(config.socketPort){
|
if(config.socketPort){
|
||||||
io = socketio(config.socketPort, { transports: ['websocket', 'polling'] });
|
io = socketio(config.socketPort, { transports: ['websocket', 'polling'] });
|
||||||
|
|
30
public/dist/application.js
vendored
30
public/dist/application.js
vendored
|
@ -3156,10 +3156,13 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
|
||||||
|
|
||||||
//Iterate through form's submissions
|
//Iterate through form's submissions
|
||||||
for(var i = 0; i < submissions.length; i++){
|
for(var i = 0; i < submissions.length; i++){
|
||||||
for(var x = 0; x < submissions[i].form_fields; x++){
|
for(var x = 0; x < submissions[i].form_fields.length; x++){
|
||||||
var oldValue = submissions[i].form_fields[x].fieldValue || '';
|
if(submissions[i].form_fields[x].fieldType === 'dropdown'){
|
||||||
submissions[i].form_fields[x] = _.merge(defaultFormFields, submissions[i].form_fields);
|
submissions[i].form_fields[x].fieldValue = submissions[i].form_fields[x].fieldValue.option_value;
|
||||||
submissions[i].form_fields[x].fieldValue = oldValue;
|
}
|
||||||
|
//var oldValue = submissions[i].form_fields[x].fieldValue || '';
|
||||||
|
//submissions[i].form_fields[x] = _.merge(defaultFormFields, submissions[i].form_fields);
|
||||||
|
//submissions[i].form_fields[x].fieldValue = oldValue;
|
||||||
}
|
}
|
||||||
submissions[i].selected = false;
|
submissions[i].selected = false;
|
||||||
}
|
}
|
||||||
|
@ -3211,24 +3214,25 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
|
||||||
|
|
||||||
stats[deviceType].visits++;
|
stats[deviceType].visits++;
|
||||||
|
|
||||||
stats[deviceType].total_time = stats[deviceType].total_time + visitor.timeElapsed;
|
|
||||||
|
|
||||||
stats[deviceType].average_time = (stats[deviceType].total_time / stats[deviceType].visits).toFixed(0);
|
|
||||||
if(!stats[deviceType].average_time) {
|
if(!stats[deviceType].average_time) {
|
||||||
stats[deviceType].average_time = 0;
|
stats[deviceType].average_time = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (visitor.isSubmitted) {
|
if (visitor.isSubmitted) {
|
||||||
|
stats[deviceType].total_time = stats[deviceType].total_time + visitor.timeElapsed;
|
||||||
stats[deviceType].responses++;
|
stats[deviceType].responses++;
|
||||||
}
|
}
|
||||||
|
|
||||||
stats[deviceType].completion = (stats[deviceType].responses / stats[deviceType].visits).toFixed(0);
|
if(stats[deviceType].visits) {
|
||||||
if(!stats[deviceType].completion) {
|
stats[deviceType].completion = 100*(stats[deviceType].responses / stats[deviceType].visits).toFixed(2);
|
||||||
stats[deviceType].completion = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(stats[deviceType].responses){
|
||||||
|
stats[deviceType].average_time = (stats[deviceType].total_time / stats[deviceType].responses).toFixed(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(stats);
|
||||||
return stats;
|
return stats;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
@ -3237,7 +3241,7 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
|
||||||
};
|
};
|
||||||
initController();
|
initController();
|
||||||
|
|
||||||
var updateFields = $interval(initController, 2000);
|
var updateFields = $interval(initController, 1000000);
|
||||||
|
|
||||||
$scope.$on('$destroy', function() {
|
$scope.$on('$destroy', function() {
|
||||||
if (updateFields) {
|
if (updateFields) {
|
||||||
|
|
4
public/dist/application.min.js
vendored
4
public/dist/application.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -30,10 +30,13 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
|
||||||
|
|
||||||
//Iterate through form's submissions
|
//Iterate through form's submissions
|
||||||
for(var i = 0; i < submissions.length; i++){
|
for(var i = 0; i < submissions.length; i++){
|
||||||
for(var x = 0; x < submissions[i].form_fields; x++){
|
for(var x = 0; x < submissions[i].form_fields.length; x++){
|
||||||
var oldValue = submissions[i].form_fields[x].fieldValue || '';
|
if(submissions[i].form_fields[x].fieldType === 'dropdown'){
|
||||||
submissions[i].form_fields[x] = _.merge(defaultFormFields, submissions[i].form_fields);
|
submissions[i].form_fields[x].fieldValue = submissions[i].form_fields[x].fieldValue.option_value;
|
||||||
submissions[i].form_fields[x].fieldValue = oldValue;
|
}
|
||||||
|
//var oldValue = submissions[i].form_fields[x].fieldValue || '';
|
||||||
|
//submissions[i].form_fields[x] = _.merge(defaultFormFields, submissions[i].form_fields);
|
||||||
|
//submissions[i].form_fields[x].fieldValue = oldValue;
|
||||||
}
|
}
|
||||||
submissions[i].selected = false;
|
submissions[i].selected = false;
|
||||||
}
|
}
|
||||||
|
@ -85,24 +88,20 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
|
||||||
|
|
||||||
stats[deviceType].visits++;
|
stats[deviceType].visits++;
|
||||||
|
|
||||||
stats[deviceType].total_time = stats[deviceType].total_time + visitor.timeElapsed;
|
|
||||||
|
|
||||||
stats[deviceType].average_time = (stats[deviceType].total_time / stats[deviceType].visits).toFixed(0);
|
|
||||||
if(!stats[deviceType].average_time) {
|
|
||||||
stats[deviceType].average_time = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (visitor.isSubmitted) {
|
if (visitor.isSubmitted) {
|
||||||
|
stats[deviceType].total_time = stats[deviceType].total_time + visitor.timeElapsed;
|
||||||
stats[deviceType].responses++;
|
stats[deviceType].responses++;
|
||||||
}
|
}
|
||||||
|
|
||||||
stats[deviceType].completion = (stats[deviceType].responses / stats[deviceType].visits).toFixed(0);
|
if(stats[deviceType].visits) {
|
||||||
if(!stats[deviceType].completion) {
|
stats[deviceType].completion = 100*(stats[deviceType].responses / stats[deviceType].visits).toFixed(2);
|
||||||
stats[deviceType].completion = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(stats[deviceType].responses){
|
||||||
|
stats[deviceType].average_time = (stats[deviceType].total_time / stats[deviceType].responses).toFixed(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return stats;
|
return stats;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
@ -111,7 +110,7 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
|
||||||
};
|
};
|
||||||
initController();
|
initController();
|
||||||
|
|
||||||
var updateFields = $interval(initController, 2000);
|
var updateFields = $interval(initController, 1000000);
|
||||||
|
|
||||||
$scope.$on('$destroy', function() {
|
$scope.$on('$destroy', function() {
|
||||||
if (updateFields) {
|
if (updateFields) {
|
||||||
|
|
Loading…
Reference in a new issue