Skip to content

Commit

Permalink
#1438 Add quick filter menu to tasks list
Browse files Browse the repository at this point in the history
  • Loading branch information
nadouani committed Jul 16, 2020
1 parent f9e02d2 commit c7f8ec1
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 2 deletions.
27 changes: 26 additions & 1 deletion frontend/app/scripts/controllers/case/CaseTasksCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
angular.module('theHiveControllers')
.controller('CaseTasksCtrl', CaseTasksCtrl);

function CaseTasksCtrl($scope, $state, $stateParams, $q, $uibModal, ModalUtilsSrv, FilteringSrv, CaseTabsSrv, PaginatedQuerySrv, CaseTaskSrv, UserSrv, NotificationSrv, CortexSrv, AppLayoutSrv) {
function CaseTasksCtrl($scope, $state, $stateParams, $q, $uibModal, AuthenticationSrv, ModalUtilsSrv, FilteringSrv, CaseTabsSrv, PaginatedQuerySrv, CaseTaskSrv, UserSrv, NotificationSrv, CortexSrv, AppLayoutSrv) {

CaseTabsSrv.activateTab($state.current.data.tab);

Expand Down Expand Up @@ -98,6 +98,31 @@
$scope.search();
};

$scope.filterBy = function(field, value) {
$scope.filtering.clearFilters()
.then(function() {
$scope.addFilterValue(field, value);
});
};

$scope.filterMyTasks = function() {
$scope.filtering.clearFilters()
.then(function() {
var currentUser = AuthenticationSrv.currentUser;
$scope.filtering.addFilter({
field: 'assignee',
type: 'user',
value: {
list: [{
text: currentUser.login,
label: currentUser.name
}]
}
});
$scope.search();
});
};

$scope.toggleGroupedView = function() {
$scope.state.showGrouped = !$scope.state.showGrouped;

Expand Down
30 changes: 29 additions & 1 deletion frontend/app/views/partials/case/tasks/toolbar.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,36 @@
Add Task
</button>
</div>

<div class="btn-group" uib-dropdown>
<button class="btn btn-primary btn-sm dropdown-toggle" uib-dropdown-toggle type="button">
<i class="fa fa-filter"></i>
Quick Filters
<span class="caret"></span>
</button>
<ul class="dropdown-menu" uib-dropdown-menu>
<li>
<a ng-click="filterMyTasks()"><i class="fa fa-user"></i> My tasks</a>
</li>
<li class="divider"></li>
<li>
<a ng-click="filterBy('status', 'InProgress')"><i class="glyphicon glyphicon-play"></i> In progress tasks</a>
</li>
<li>
<a ng-click="filterBy('status', 'Waiting')"><i class="fa fa-hourglass-o"></i> Waiting tasks</a>
</li>
<li>
<a ng-click="filterBy('status', 'Completed')"><i class="fa fa-check"></i> Completed tasks</a>
</li>
<li class="divider"></li>
<li>
<a ng-click="filterBy('flag', true)"><i class="fa fa-folder-open"></i> Flagged tasks</a>
</li>
</ul>
</div>

<div class="btn-group">
<button class="btn btn-sm btn-primary" ng-click="toggleGroupedView()">
<button class="btn btn-sm btn-default" ng-click="toggleGroupedView()">
<i class="glyphicon glyphicon-th-list"></i>
Show {{state.showGrouped ? 'as a List' : 'Groups'}}
</button>
Expand Down

0 comments on commit c7f8ec1

Please sign in to comment.