diff --git a/src/js/client.js b/src/js/client.js index 1610645e2..a7ce06d97 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -1311,12 +1311,33 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout }; Client.prototype.getBackups = function (callback) { - get('/api/v1/backups', null, function (error, data, status) { - if (error) return callback(error); - if (status !== 200) return callback(new ClientError(status, data)); + var page = 1; + var perPage = 100; + var backups = []; - callback(null, data.backups); - }); + function fetchMore() { + var config = { + params: { + page: page, + per_page: perPage + } + }; + + get('/api/v1/backups', config, function (error, data, status) { + if (error) return callback(error); + if (status !== 200) return callback(new ClientError(status, data)); + + backups = backups.concat(data.backups); + + if (data.backups.length < perPage) return callback(null, backups); + + page++; + + fetchMore(); + }); + } + + fetchMore(); }; Client.prototype.getLatestTaskByType = function (type, callback) { diff --git a/src/views/backups.js b/src/views/backups.js index af63c89ef..fafd6d7c0 100644 --- a/src/views/backups.js +++ b/src/views/backups.js @@ -699,7 +699,6 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat if (error) return console.error(error); $scope.backups = backups; - $scope.backups = $scope.backups.slice(0, 20); // only show 20 since we don't have pagination // add contents property var appsById = {}, appsByFqdn = {};