diff --git a/src/js/client.js b/src/js/client.js
index 297cfdcc8..0ffde954e 100644
--- a/src/js/client.js
+++ b/src/js/client.js
@@ -2201,11 +2201,12 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout
});
};
- Client.prototype.listMailingLists = function (domain, callback) {
+ Client.prototype.listMailingLists = function (domain, search, page, perPage, callback) {
var config = {
params: {
- page: 1,
- per_page: 1000
+ search: search,
+ page: page,
+ per_page: perPage
}
};
diff --git a/src/views/email.html b/src/views/email.html
index 081eec6d2..2a2a61876 100644
--- a/src/views/email.html
+++ b/src/views/email.html
@@ -373,8 +373,13 @@
diff --git a/src/views/email.js b/src/views/email.js
index bf4b6c288..429dc2da8 100644
--- a/src/views/email.js
+++ b/src/views/email.js
@@ -63,6 +63,8 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio
busy: false,
mailinglists: [],
search: '',
+ currentPage: 1,
+ perPage: 10,
add: {
busy: false,
@@ -179,13 +181,29 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio
refresh: function (callback) {
callback = typeof callback === 'function' ? callback : function (error) { if (error) return console.error(error); };
- Client.listMailingLists($scope.domain.domain, function (error, result) {
+ Client.listMailingLists($scope.domain.domain, $scope.mailinglists.search, $scope.mailinglists.currentPage, $scope.mailinglists.perPage, function (error, result) {
if (error) return callback(error);
$scope.mailinglists.mailinglists = result;
callback();
});
+ },
+
+ showNextPage: function () {
+ $scope.mailinglists.currentPage++;
+ $scope.mailinglists.refresh();
+ },
+
+ showPrevPage: function () {
+ if ($scope.mailinglists.currentPage > 1) $scope.mailinglists.currentPage--;
+ else $scope.mailinglists.currentPage = 1;
+ $scope.mailinglists.refresh();
+ },
+
+ updateFilter: function (fresh) {
+ if (fresh) $scope.mailinglists.currentPage = 1;
+ $scope.mailinglists.refresh();
}
};