fixed ui bugs in analytics view in admin panel

This commit is contained in:
David Baldwynn 2017-07-27 00:53:31 -04:00
parent 20a2c1b574
commit 66d41f5a80
5 changed files with 34 additions and 35 deletions

View file

@ -45,7 +45,6 @@ module.exports = function (io, socket) {
});
});
socket.disconnect(0);
};
io.on('connection', function(current_socket) {
@ -55,18 +54,15 @@ module.exports = function (io, socket) {
current_socket.id = data.formId;
visitorsData[current_socket.id] = data;
visitorsData[current_socket.id].isSaved = false;
if (data.isSubmitted) {
saveVisitorData(data, function () {
visitorsData[current_socket.id].isSaved = true;
current_socket.disconnect(0);
});
}
});
current_socket.on('disconnect', function() {
var data = visitorsData[current_socket.id];
if(data && !data.isSubmitted && !data.isSaved) {
data.isSaved = true;
saveVisitorData(data);

View file

@ -9,7 +9,7 @@ var config = require('./config'),
// Define the Socket.io configuration method
module.exports = function (app, db) {
var server = http.createServer(app);
var io = socketio({ transports: ['websocket', 'polling'] });
var io = socketio(20523, { transports: ['websocket', 'polling'] });
if(config.socketPort){
io = socketio(config.socketPort, { transports: ['websocket', 'polling'] });

View file

@ -3156,10 +3156,13 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
//Iterate through form's submissions
for(var i = 0; i < submissions.length; i++){
for(var x = 0; x < submissions[i].form_fields; x++){
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;
for(var x = 0; x < submissions[i].form_fields.length; x++){
if(submissions[i].form_fields[x].fieldType === 'dropdown'){
submissions[i].form_fields[x].fieldValue = submissions[i].form_fields[x].fieldValue.option_value;
}
//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;
}
@ -3211,24 +3214,25 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
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) {
stats[deviceType].total_time = stats[deviceType].total_time + visitor.timeElapsed;
stats[deviceType].responses++;
}
stats[deviceType].completion = (stats[deviceType].responses / stats[deviceType].visits).toFixed(0);
if(!stats[deviceType].completion) {
stats[deviceType].completion = 0;
if(stats[deviceType].visits) {
stats[deviceType].completion = 100*(stats[deviceType].responses / stats[deviceType].visits).toFixed(2);
}
if(stats[deviceType].responses){
stats[deviceType].average_time = (stats[deviceType].total_time / stats[deviceType].responses).toFixed(0);
}
}
}
console.log(stats);
return stats;
})();
@ -3237,7 +3241,7 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
};
initController();
var updateFields = $interval(initController, 2000);
var updateFields = $interval(initController, 1000000);
$scope.$on('$destroy', function() {
if (updateFields) {

File diff suppressed because one or more lines are too long

View file

@ -30,10 +30,13 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
//Iterate through form's submissions
for(var i = 0; i < submissions.length; i++){
for(var x = 0; x < submissions[i].form_fields; x++){
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;
for(var x = 0; x < submissions[i].form_fields.length; x++){
if(submissions[i].form_fields[x].fieldType === 'dropdown'){
submissions[i].form_fields[x].fieldValue = submissions[i].form_fields[x].fieldValue.option_value;
}
//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;
}
@ -85,24 +88,20 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
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) {
stats[deviceType].total_time = stats[deviceType].total_time + visitor.timeElapsed;
stats[deviceType].responses++;
}
stats[deviceType].completion = (stats[deviceType].responses / stats[deviceType].visits).toFixed(0);
if(!stats[deviceType].completion) {
stats[deviceType].completion = 0;
if(stats[deviceType].visits) {
stats[deviceType].completion = 100*(stats[deviceType].responses / stats[deviceType].visits).toFixed(2);
}
if(stats[deviceType].responses){
stats[deviceType].average_time = (stats[deviceType].total_time / stats[deviceType].responses).toFixed(0);
}
}
}
return stats;
})();
@ -111,7 +110,7 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
};
initController();
var updateFields = $interval(initController, 2000);
var updateFields = $interval(initController, 1000000);
$scope.$on('$destroy', function() {
if (updateFields) {