Add repo autocomplete for searching.
This commit is contained in:
parent
bf926aceee
commit
edaad6eea2
6 changed files with 165 additions and 5 deletions
|
@ -2,6 +2,42 @@ function HeaderCtrl($scope, UserService) {
|
|||
$scope.$watch( function () { return UserService.currentUser(); }, function (currentUser) {
|
||||
$scope.user = currentUser;
|
||||
}, true);
|
||||
|
||||
$('#repoSearch').typeahead({
|
||||
name: 'repositories',
|
||||
remote: {
|
||||
url: '/api/repository/find/%QUERY',
|
||||
filter: function(data) {
|
||||
var datums = [];
|
||||
for (var i = 0; i < data.repositories.length; ++i) {
|
||||
var repo = data.repositories[i];
|
||||
datums.push({
|
||||
'value': repo.name,
|
||||
'tokens': [repo.name, repo.namespace],
|
||||
'repo': repo
|
||||
});
|
||||
}
|
||||
return datums;
|
||||
}
|
||||
},
|
||||
template: function (datum) {
|
||||
template = '<div class="repo-mini-listing">';
|
||||
template += '<i class="icon-hdd icon-large"></i>'
|
||||
template += '<span class="name">' + datum.repo.namespace +'/' + datum.repo.name + '</span>'
|
||||
if (datum.repo.description) {
|
||||
template += '<span class="description">' + datum.repo.description + '</span>'
|
||||
}
|
||||
|
||||
template += '</div>'
|
||||
return template;
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
$('#repoSearch').on('typeahead:selected', function (e, datum) {
|
||||
$('#repoSearch').typeahead('setQuery', '');
|
||||
document.location = '#/repository/' + datum.repo.namespace + '/' + datum.repo.name
|
||||
});
|
||||
}
|
||||
|
||||
function RepoListCtrl($scope, Restangular) {
|
||||
|
|
7
static/js/typeahead.min.js
vendored
Normal file
7
static/js/typeahead.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in a new issue