comment and cleanup repolistctrl
This commit is contained in:
parent
0aae47fa7c
commit
897cfbefd6
1 changed files with 30 additions and 8 deletions
|
@ -231,12 +231,13 @@ function TutorialCtrl($scope, AngularTour, AngularTourSignals, UserService, Conf
|
|||
};
|
||||
}
|
||||
|
||||
function RepoListCtrl($scope, $location, $sanitize, Restangular, UserService, ApiService) {
|
||||
function RepoListCtrl($scope, $sanitize, Restangular, UserService, ApiService) {
|
||||
$scope.namespace = null;
|
||||
$scope.page = 1;
|
||||
$scope.publicPageCount = null;
|
||||
|
||||
// Grab user namespaces
|
||||
// When loading the UserService, if the user is logged in, create a list of
|
||||
// relevant namespaces for later collecting relevant repositories.
|
||||
UserService.load(function() {
|
||||
var user = UserService.currentUser();
|
||||
if (!user.anonymous) {
|
||||
|
@ -244,13 +245,26 @@ function RepoListCtrl($scope, $location, $sanitize, Restangular, UserService, Ap
|
|||
for (var i = 0; i < user.organizations.length; i++) {
|
||||
$scope.namespaces.push(user.organizations[i]);
|
||||
}
|
||||
loadStarredRepos();
|
||||
loadRepos();
|
||||
} else {
|
||||
$location.path('signin');
|
||||
//loadStarredRepos();
|
||||
//loadRepos();
|
||||
}
|
||||
});
|
||||
|
||||
// If someone signs in on this page, we have to watch the user and re-load
|
||||
// their repositories after they've signed in to actually have any content
|
||||
// on the page.
|
||||
$scope.$watch(function(scope) { return scope.user },
|
||||
function(user) {
|
||||
if (!user.anonymous) {
|
||||
$scope.namespaces = [user];
|
||||
for (var i = 0; i < user.organizations.length; i++) {
|
||||
$scope.namespaces.push(user.organizations[i]);
|
||||
}
|
||||
loadStarredRepos();
|
||||
loadRepos();
|
||||
}
|
||||
});
|
||||
|
||||
$scope.toggleStar = function(repo) {
|
||||
if (repo.is_starred) {
|
||||
unstarRepo(repo);
|
||||
|
@ -282,6 +296,7 @@ function RepoListCtrl($scope, $location, $sanitize, Restangular, UserService, Ap
|
|||
});
|
||||
};
|
||||
|
||||
// Finds a repository within the list of namespaces attached to $scope.
|
||||
var findRepoInList = function(repoNamespace, repoName) {
|
||||
var namespaceIndex = $scope.namespaces.map(function (n) {
|
||||
return n.username || n.name;
|
||||
|
@ -296,6 +311,8 @@ function RepoListCtrl($scope, $location, $sanitize, Restangular, UserService, Ap
|
|||
return repoIndex != -1 ? namespace.repositories.value[repoIndex] : null;
|
||||
}
|
||||
|
||||
// Add a starred repository to the list starred repository list and make
|
||||
// sure it appears starred elsewhere on the page.
|
||||
var updateReposAfterStar = function(repository) {
|
||||
$scope.starred_repositories.value.push(repository);
|
||||
|
||||
|
@ -305,9 +322,11 @@ function RepoListCtrl($scope, $location, $sanitize, Restangular, UserService, Ap
|
|||
}
|
||||
}
|
||||
|
||||
// Remove a repository from the starred repository list and make sure that
|
||||
// it doesn't appear starred elsewhere on the page.
|
||||
var updateReposAfterUnstar = function(repository) {
|
||||
// Remove from the starred listings
|
||||
var index = $scope.starred_repositories.value.map(function (r) {
|
||||
var index = $scope.starred_repositories.value.map(function(r) {
|
||||
return r.namespace + '/' + r.name;
|
||||
}).indexOf(repository.namespace + '/' + repository.name);
|
||||
$scope.starred_repositories.value.splice(index, 1);
|
||||
|
@ -325,17 +344,20 @@ function RepoListCtrl($scope, $location, $sanitize, Restangular, UserService, Ap
|
|||
}
|
||||
|
||||
$scope.starred_repositories = ApiService.listStarredReposAsResource().get(function(resp) {
|
||||
return resp.repositories.map(function (repo) {
|
||||
return resp.repositories.map(function(repo) {
|
||||
repo.is_starred = true;
|
||||
return repo;
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
// Iterate over all of the $scope.namespaces and collect their respective
|
||||
// repositories.
|
||||
var loadRepos = function() {
|
||||
if ($scope.namespaces.length == 0 || $scope.user.anonymous) {
|
||||
return;
|
||||
}
|
||||
console.log('load repos called');
|
||||
|
||||
for (var i = 0; i < $scope.namespaces.length; i++) {
|
||||
var namespace = $scope.namespaces[i];
|
||||
|
|
Reference in a new issue