diff --git a/src/js/client.js b/src/js/client.js index 5d6a9d08f..bae1d5540 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -845,9 +845,10 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N }); }; - Client.prototype.getUsers = function (page, perPage, callback) { - if (typeof page === 'function') { - callback = page; + Client.prototype.getUsers = function (search, page, perPage, callback) { + if (typeof search === 'function') { + callback = search; + search = ''; page = 1; perPage = 1000; } @@ -859,6 +860,8 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N } }; + if (search) config.params.search = search; + get('/api/v1/users', config, function (error, data, status) { if (error) return callback(error); if (status !== 200) return callback(new ClientError(status, data)); diff --git a/src/js/index.js b/src/js/index.js index 86268ab7a..43f637a8f 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -18,6 +18,32 @@ if (search.accessToken) { } // poor man's async in the global namespace +function asyncForEachParallel(items, handler, callback) { + var alreadyDone = 0; + var errored = false; + + if (items.length === 0) return callback(); + + function done(error) { + // do nothing if already called back due to error + if (errored) return; + + if (error) { + errored = true; + return callback(error); + } + + ++alreadyDone; + + // we are done + if (alreadyDone === items.length) callback(); + } + + for (var i = 0; i < items.length; ++i) { + handler(items[i], done); + } +} + function asyncForEach(items, handler, callback) { var cur = 0; diff --git a/src/views/users.html b/src/views/users.html index 67d846788..6295c0c6f 100644 --- a/src/views/users.html +++ b/src/views/users.html @@ -298,7 +298,7 @@
- +