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 @@

Mailing Lists - - + +
+ + +
+ +

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(); } };