2016-11-02 21:29:10 +00:00
|
|
|
<div class="submissions-table container">
|
2016-06-17 21:33:33 +00:00
|
|
|
<div class="row text-center analytics">
|
2016-11-02 21:29:10 +00:00
|
|
|
<div class="col-xs-12 header-title">
|
2016-06-17 21:33:33 +00:00
|
|
|
<div class="col-xs-3">
|
|
|
|
{{ 'TOTAL_VIEWS' | translate }}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
{{ 'RESPONSES' | translate }}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
{{ 'COMPLETION_RATE' | translate }}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
|
|
|
|
</div>
|
2016-06-07 00:37:09 +00:00
|
|
|
</div>
|
2016-11-02 21:29:10 +00:00
|
|
|
<div class="col-xs-12 header-numbers">
|
2016-06-17 21:33:33 +00:00
|
|
|
<div class="col-xs-3">
|
2017-04-22 23:31:44 +00:00
|
|
|
{{myform.analytics.visitors.length}}
|
2016-06-17 21:33:33 +00:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
2016-11-09 19:20:50 +00:00
|
|
|
{{myform.analytics.submissions}}
|
2016-06-17 21:33:33 +00:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
{{myform.analytics.conversionRate | number:0}}%
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
2016-11-09 19:04:47 +00:00
|
|
|
{{ AverageTimeElapsed | secondsToDateTime | date:'mm:ss'}}
|
2016-06-17 21:33:33 +00:00
|
|
|
</div>
|
2016-06-07 00:37:09 +00:00
|
|
|
</div>
|
2016-11-02 21:29:10 +00:00
|
|
|
<div class="col-xs-12 detailed-title">
|
2016-06-17 21:33:33 +00:00
|
|
|
<div class="col-xs-3">
|
|
|
|
{{ 'DESKTOP_AND_LAPTOP' | translate }}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
{{ 'TABLETS' | translate }}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
{{ 'PHONES' | translate }}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
{{ 'OTHER' | translate }}
|
|
|
|
</div>
|
2016-06-07 00:37:09 +00:00
|
|
|
</div>
|
|
|
|
|
2016-11-02 21:29:10 +00:00
|
|
|
<div class="col-xs-12 detailed-row">
|
2016-06-17 21:33:33 +00:00
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'UNIQUE_VISITS' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
{{DeviceStatistics.desktop.visits}}
|
|
|
|
</div>
|
2016-06-07 00:37:09 +00:00
|
|
|
</div>
|
2016-06-17 21:33:33 +00:00
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'UNIQUE_VISITS' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
{{DeviceStatistics.tablet.visits}}
|
|
|
|
</div>
|
2016-06-07 00:37:09 +00:00
|
|
|
</div>
|
|
|
|
|
2016-06-17 21:33:33 +00:00
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'UNIQUE_VISITS' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
{{DeviceStatistics.tablet.visits}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'UNIQUE_VISITS' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
{{DeviceStatistics.other.visits}}
|
|
|
|
</div>
|
2016-06-07 00:37:09 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2015-08-18 21:44:36 +00:00
|
|
|
|
2016-11-02 21:29:10 +00:00
|
|
|
<div class="col-xs-12 detailed-row">
|
2016-06-17 21:33:33 +00:00
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'RESPONSES' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
{{DeviceStatistics.desktop.responses}}
|
|
|
|
</div>
|
2016-06-07 00:37:09 +00:00
|
|
|
</div>
|
2016-06-17 21:33:33 +00:00
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'RESPONSES' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
{{DeviceStatistics.tablet.responses}}
|
|
|
|
</div>
|
2016-06-07 00:37:09 +00:00
|
|
|
</div>
|
|
|
|
|
2016-06-17 21:33:33 +00:00
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'RESPONSES' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
{{DeviceStatistics.phone.responses}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'RESPONSES' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
{{DeviceStatistics.other.responses}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2016-11-02 21:29:10 +00:00
|
|
|
<div class="col-xs-12 detailed-row">
|
2016-06-17 21:33:33 +00:00
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'COMPLETION_RATE' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
2017-03-06 21:45:11 +00:00
|
|
|
{{DeviceStatistics.desktop.completion}}%
|
2016-06-17 21:33:33 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'COMPLETION_RATE' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
2017-03-06 21:45:11 +00:00
|
|
|
{{DeviceStatistics.tablet.completion}}%
|
2016-06-17 21:33:33 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'COMPLETION_RATE' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
2017-03-06 21:45:11 +00:00
|
|
|
{{DeviceStatistics.phone.completion}}%
|
2016-06-17 21:33:33 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'COMPLETION_RATE' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
2017-03-06 21:45:11 +00:00
|
|
|
{{DeviceStatistics.other.completion}}%
|
2016-06-17 21:33:33 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2016-11-02 21:29:10 +00:00
|
|
|
<div class="col-xs-12 detailed-row">
|
2016-06-17 21:33:33 +00:00
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
{{DeviceStatistics.desktop.average_time | secondsToDateTime | date:'mm:ss'}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
{{DeviceStatistics.tablet.average_time | secondsToDateTime | date:'mm:ss'}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
{{DeviceStatistics.phone.average_time | secondsToDateTime | date:'mm:ss'}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-xs-3">
|
|
|
|
<div class="row header">
|
|
|
|
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
{{DeviceStatistics.other.average_time | secondsToDateTime | date:'mm:ss'}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2016-11-02 21:29:10 +00:00
|
|
|
<div class="col-xs-12 field-title-row">
|
2016-06-18 21:07:09 +00:00
|
|
|
|
2016-06-17 22:11:02 +00:00
|
|
|
<div class="col-xs-3">
|
2016-06-17 22:05:54 +00:00
|
|
|
<strong>{{ 'FIELD_TITLE' | translate }}</strong>
|
|
|
|
</div>
|
2016-06-17 22:11:02 +00:00
|
|
|
<div class="col-xs-3">
|
2016-06-17 22:05:54 +00:00
|
|
|
<strong>{{ 'FIELD_VIEWS' | translate }}</strong>
|
|
|
|
</div>
|
2016-06-17 22:11:02 +00:00
|
|
|
<div class="col-xs-3">
|
|
|
|
<strong>{{ 'FIELD_RESPONSES' | translate }}</strong>
|
|
|
|
</div>
|
2016-06-17 21:33:33 +00:00
|
|
|
|
2016-06-17 22:11:02 +00:00
|
|
|
<div class="col-xs-3">
|
2016-06-17 22:05:54 +00:00
|
|
|
<strong>{{ 'FIELD_DROPOFF' | translate }}</strong>
|
2016-06-17 21:33:33 +00:00
|
|
|
</div>
|
2016-06-17 22:05:54 +00:00
|
|
|
</div>
|
2016-06-18 21:03:29 +00:00
|
|
|
|
2016-11-02 21:29:10 +00:00
|
|
|
<div class="col-xs-12 field-detailed-row" ng-repeat="fieldStats in myform.analytics.fields">
|
2016-06-17 21:33:33 +00:00
|
|
|
|
2016-06-17 22:11:02 +00:00
|
|
|
<div class="col-xs-3">
|
2016-06-17 22:05:54 +00:00
|
|
|
{{fieldStats.field.title}}
|
|
|
|
</div>
|
2016-06-17 22:11:02 +00:00
|
|
|
<div class="col-xs-3">
|
2016-06-17 22:05:54 +00:00
|
|
|
{{fieldStats.totalViews}}
|
|
|
|
</div>
|
2016-06-17 22:11:02 +00:00
|
|
|
<div class="col-xs-3">
|
|
|
|
{{fieldStats.responses}}
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-3">
|
|
|
|
{{fieldStats.continueRate}}%
|
2016-06-07 00:37:09 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<br>
|
2016-06-17 22:05:54 +00:00
|
|
|
<div class="row table-tools">
|
2015-08-18 21:44:36 +00:00
|
|
|
<div class="col-xs-2">
|
|
|
|
<button class="btn btn-danger" ng-click="deleteSelectedSubmissions()" ng-disabled="!isAtLeastOneChecked();">
|
2016-06-16 00:38:22 +00:00
|
|
|
<i class="fa fa-trash-o"></i> {{ 'DELETE_SELECTED' | translate }}
|
2015-08-18 21:44:36 +00:00
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-2 col-xs-offset-4 text-right">
|
2017-03-06 21:45:11 +00:00
|
|
|
<button class="btn btn-gray" ng-click="exportSubmissions('xml')">
|
2016-06-16 00:38:22 +00:00
|
|
|
<small>{{ 'EXPORT_TO_EXCEL' | translate }}</small>
|
2015-08-18 21:44:36 +00:00
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
<div class="col-md-2 text-right">
|
2017-03-06 21:45:11 +00:00
|
|
|
<button class="btn btn-gray" ng-click="exportSubmissions('csv')">
|
2016-06-16 00:38:22 +00:00
|
|
|
<small>{{ 'EXPORT_TO_CSV' | translate }}</small>
|
2015-08-18 21:44:36 +00:00
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
<div class="col-md-2 text-right">
|
2017-03-06 21:45:11 +00:00
|
|
|
<button class="btn btn-gray" ng-click="exportSubmissions('json')">
|
2016-06-16 00:38:22 +00:00
|
|
|
<small>{{ 'EXPORT_TO_JSON' | translate }}</small>
|
2015-08-18 21:44:36 +00:00
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row table-outer">
|
|
|
|
<div class="col-xs-12">
|
|
|
|
<table id="table-submission-data" class="table table-striped table-hover table-condensed">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th>
|
|
|
|
<input ng-model="table.masterChecker" ng-change="toggleAllCheckers()" type="checkbox"/>
|
|
|
|
</th>
|
|
|
|
<th>#</th>
|
|
|
|
<th data-ng-repeat="(key, value) in myform.form_fields">
|
|
|
|
{{value.title}}
|
|
|
|
</th>
|
|
|
|
<th>
|
2016-06-16 00:38:22 +00:00
|
|
|
{{ 'PERCENTAGE_COMPLETE' | translate }}
|
2015-08-18 21:44:36 +00:00
|
|
|
</th>
|
|
|
|
<th>
|
2016-06-16 00:38:22 +00:00
|
|
|
{{ 'TIME_ELAPSED' | translate }}
|
2015-08-18 21:44:36 +00:00
|
|
|
</th>
|
2015-11-12 21:37:36 +00:00
|
|
|
<th>
|
2016-06-16 00:38:22 +00:00
|
|
|
{{ 'DEVICE' | translate }}
|
2015-11-13 01:40:23 +00:00
|
|
|
</th>
|
|
|
|
<th>
|
2016-06-16 00:38:22 +00:00
|
|
|
{{ 'LOCATION' | translate }}
|
2015-11-12 21:37:36 +00:00
|
|
|
</th>
|
|
|
|
<th>
|
2016-06-16 00:38:22 +00:00
|
|
|
{{ 'IP_ADDRESS' | translate }}
|
2015-11-12 21:37:36 +00:00
|
|
|
</th>
|
2015-08-18 21:44:36 +00:00
|
|
|
<th>
|
2016-06-16 00:38:22 +00:00
|
|
|
{{ 'DATE_SUBMITTED' | translate }} (UTC)
|
2015-08-18 21:44:36 +00:00
|
|
|
</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
|
|
|
|
<tbody>
|
|
|
|
<tr data-ng-repeat="row in table.rows" ng-click="rowClicked($index)" ng-class="{selected: row.selected === true}">
|
|
|
|
<td>
|
|
|
|
<input ng-model="row.selected" type="checkbox"/>
|
|
|
|
</td>
|
|
|
|
<th class="scope">
|
|
|
|
{{$index+1}}
|
|
|
|
</th>
|
2016-06-07 20:01:00 +00:00
|
|
|
|
2015-11-12 21:37:36 +00:00
|
|
|
<td data-ng-repeat="field in row.form_fields">
|
2016-06-07 20:19:19 +00:00
|
|
|
{{field.fieldValue}}
|
2015-08-18 21:44:36 +00:00
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
{{row.percentageComplete}}%
|
|
|
|
</td>
|
|
|
|
<td>
|
2016-06-17 21:33:33 +00:00
|
|
|
{{row.timeElapsed | secondsToDateTime | date:'mm:ss'}}
|
2015-08-18 21:44:36 +00:00
|
|
|
</td>
|
2015-11-12 21:37:36 +00:00
|
|
|
<td>
|
2015-11-13 01:40:23 +00:00
|
|
|
{{row.device.name}}, {{row.device.type}}
|
|
|
|
</td>
|
|
|
|
<td>
|
2017-03-06 21:45:11 +00:00
|
|
|
{{row.geoLocation.City}}, {{row.geoLocation.Country}}
|
2015-11-12 21:37:36 +00:00
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
{{row.ipAddr}}
|
|
|
|
</td>
|
2015-08-18 21:44:36 +00:00
|
|
|
<td>
|
|
|
|
{{row.created | date:'yyyy-MM-dd HH:mm:ss'}}
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
2016-05-17 00:47:34 +00:00
|
|
|
</div>
|