Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 56b898e

Browse files
author
AbdelrahmanSE
committed
Patch Delete
1 parent caaa498 commit 56b898e

File tree

3 files changed

+45
-1
lines changed

3 files changed

+45
-1
lines changed

‎src/modules/user/users.data.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,11 @@
5252
this.deleteUser = function(user_id) {
5353
this.users = this.users.filter(user => user.id !== user_id);
5454
};
55+
56+
// Delete Multiple users once
57+
this.patchDelete = function(users) {
58+
let user_ids = users.map(user => user.id);
59+
this.users = this.users.filter(user => !user_ids.includes(user.id));
60+
}
5561
}
5662
})();

‎src/modules/user/users/users.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ function Controller($scope, UsersData) {
1717
$scope.previousPage = previousPage;
1818
$scope.nextPage = nextPage;
1919
$scope.isLastPage = isLastPage;
20+
$scope.isUserSelected = isUserSelected;
21+
$scope.deleteSelected = deleteSelected;
22+
$scope.downloadSelected = downloadSelected;
2023

2124
const RowPerPage = 10;
2225

@@ -29,6 +32,7 @@ function Controller($scope, UsersData) {
2932
function getUsers() {
3033
UsersData.getUsers();
3134
}
35+
3236
// Get the records for the current page
3337
function getUsersPage() {
3438
return UsersData.users.slice($scope.currentPage * RowPerPage, $scope.currentPage * RowPerPage + RowPerPage);
@@ -46,10 +50,32 @@ function Controller($scope, UsersData) {
4650
$scope.currentPage = isLastPage() ? $scope.currentPage : $scope.currentPage + 1;
4751
}
4852

53+
// Chech if this is the last page
4954
function isLastPage() {
5055
let lastPageNumber = Math.ceil(UsersData.users.length / RowPerPage);
5156
return $scope.currentPage === lastPageNumber - 1;
5257
}
58+
59+
// Check if any user are selected
60+
function isUserSelected() {
61+
return !!UsersData.users.find(user => user.selected);
62+
}
63+
64+
// Get Selected Users
65+
function getSelectedUsers() {
66+
return UsersData.users.filter(user => user.selected);
67+
}
68+
69+
//Delete Selected Rows
70+
function deleteSelected() {
71+
UsersData.patchDelete(getSelectedUsers());
72+
}
73+
74+
// Download Selected Rows
75+
function downloadSelected() {
76+
77+
}
78+
5379
}
5480

5581
// Exports

‎src/modules/user/users/users.view.html

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
1-
<h2>Users</h2>
1+
<div class="row">
2+
<div class="col-md-8">
3+
<h2>Users</h2>
4+
</div>
5+
<div class="col-md-4 text-right">
6+
<button type="button" class="btn btn-danger" ng-click="deleteSelected()" ng-disabled="!isUserSelected()">
7+
Delete
8+
</button>
9+
<button type="button" class="btn btn-warning" ng-click="downloadSelected()" ng-disabled="!isUserSelected()">
10+
Download
11+
</button>
12+
</div>
13+
</div>
214

315
<table class="table">
416
<thead class="thead-dark">

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /