date range filtering
This commit is contained in:
parent
9834f3d2aa
commit
de3a9b9903
|
@ -6,10 +6,20 @@
|
||||||
$scope.events = [];
|
$scope.events = [];
|
||||||
$scope.orgUsers = [];
|
$scope.orgUsers = [];
|
||||||
$scope.loading = true;
|
$scope.loading = true;
|
||||||
|
|
||||||
|
var d = new Date();
|
||||||
|
$scope.filterEnd = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59);
|
||||||
|
d.setDate(d.getDate() - 30);
|
||||||
|
$scope.filterStart = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0);
|
||||||
|
|
||||||
$scope.$on('$viewContentLoaded', function () {
|
$scope.$on('$viewContentLoaded', function () {
|
||||||
load();
|
load();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$scope.refresh = function () {
|
||||||
|
loadEvents();
|
||||||
|
};
|
||||||
|
|
||||||
var i = 0,
|
var i = 0,
|
||||||
orgUsersUserIdDict = {},
|
orgUsersUserIdDict = {},
|
||||||
orgUsersIdDict = {};
|
orgUsersIdDict = {};
|
||||||
|
@ -33,8 +43,32 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
$scope.orgUsers = users;
|
$scope.orgUsers = users;
|
||||||
return apiService.events.listOrganization({ orgId: $state.params.orgId }).$promise;
|
|
||||||
}).then(function (list) {
|
return loadEvents();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadEvents() {
|
||||||
|
$scope.loading = true;
|
||||||
|
|
||||||
|
var start = null, end = null;
|
||||||
|
try {
|
||||||
|
var format = 'yyyy-MM-ddTHH:mm';
|
||||||
|
start = $filter('date')($scope.filterStart, format + 'Z', 'UTC');
|
||||||
|
end = $filter('date')($scope.filterEnd, format + ':59.999Z', 'UTC');
|
||||||
|
} catch (e) { }
|
||||||
|
|
||||||
|
if (!start || !end || end < start) {
|
||||||
|
$scope.loading = false;
|
||||||
|
alert('Invalid date range.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
return apiService.events.listOrganization({
|
||||||
|
orgId: $state.params.orgId,
|
||||||
|
start: start,
|
||||||
|
end: end
|
||||||
|
}).$promise.then(function (list) {
|
||||||
var events = [];
|
var events = [];
|
||||||
for (i = 0; i < list.Data.length; i++) {
|
for (i = 0; i < list.Data.length; i++) {
|
||||||
var userId = list.Data[i].ActingUserId || list.Data[i].UserId;
|
var userId = list.Data[i].ActingUserId || list.Data[i].UserId;
|
||||||
|
|
|
@ -8,8 +8,17 @@
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="box-header with-border">
|
<div class="box-header with-border">
|
||||||
|
|
||||||
<div class="box-filters hidden-xs">
|
<div class="box-filters hidden-xs hidden-sm">
|
||||||
Filters
|
<input type="datetime-local" ng-model="filterStart" required
|
||||||
|
class="form-control input-sm" style="width:initial;" />
|
||||||
|
-
|
||||||
|
<input type="datetime-local" ng-model="filterEnd" required
|
||||||
|
class="form-control input-sm" style="width:initial;" />
|
||||||
|
</div>
|
||||||
|
<div class="box-tools">
|
||||||
|
<button type="button" class="btn btn-primary btn-sm btn-flat" ng-click="refresh()">
|
||||||
|
<i class="fa fa-fw fa-refresh" ng-class="{'fa-spin': loading}"></i> Refresh
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-body" ng-class="{'no-padding': filteredEvents.length}">
|
<div class="box-body" ng-class="{'no-padding': filteredEvents.length}">
|
||||||
|
@ -17,7 +26,7 @@
|
||||||
Loading...
|
Loading...
|
||||||
</div>
|
</div>
|
||||||
<div ng-show="!loading && !events.length">
|
<div ng-show="!loading && !events.length">
|
||||||
<p>There are no events yet for your organization.</p>
|
<p>There are no events to list.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="table-responsive" ng-show="events.length">
|
<div class="table-responsive" ng-show="events.length">
|
||||||
<table class="table table-striped table-hover">
|
<table class="table table-striped table-hover">
|
||||||
|
@ -25,7 +34,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th>Timestamp</th>
|
<th>Timestamp</th>
|
||||||
<th>User</th>
|
<th>User</th>
|
||||||
<th>App</th>
|
<th><span class="sr-only">App</span></th>
|
||||||
<th>Event</th>
|
<th>Event</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
|
@ -97,7 +97,7 @@
|
||||||
</li>
|
</li>
|
||||||
<li ng-class="{active: $state.is('backend.org.events')}" ng-if="orgProfile.useEvents">
|
<li ng-class="{active: $state.is('backend.org.events')}" ng-if="orgProfile.useEvents">
|
||||||
<a ui-sref="backend.org.events({orgId: params.orgId})">
|
<a ui-sref="backend.org.events({orgId: params.orgId})">
|
||||||
<i class="fa fa-file-text-o fa-fw"></i> <span>Audit Logs</span>
|
<i class="fa fa-file-text-o fa-fw"></i> <span>Event Logs</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li ng-class="{active: $state.is('backend.org.billing')}" ng-if="isOrgOwner(orgProfile)">
|
<li ng-class="{active: $state.is('backend.org.billing')}" ng-if="isOrgOwner(orgProfile)">
|
||||||
|
|
|
@ -524,6 +524,10 @@ form .btn .loading-icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 10px;
|
left: 10px;
|
||||||
top: 5px;
|
top: 5px;
|
||||||
|
|
||||||
|
input {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-body p:last-child {
|
.box-body p:last-child {
|
||||||
|
|
Loading…
Reference in New Issue