Skip to content
Snippets Groups Projects
Commit 017c6e72 authored by Phil Hughes's avatar Phil Hughes
Browse files

Improved ref switcher dropdown performance

Closes #18202
parent d9cf5c0a
No related branches found
No related tags found
No related merge requests found
This commit is part of merge request !7239. Comments created here will be created in the context of that merge request.
Loading
Loading
@@ -63,7 +63,8 @@
return $.ajax({
url: $dropdown.data('refs-url'),
data: {
ref: $dropdown.data('ref')
ref: $dropdown.data('ref'),
search: term
},
dataType: "json"
}).done(function(refs) {
Loading
Loading
@@ -72,16 +73,26 @@
},
selectable: true,
filterable: true,
filterRemote: true,
filterByText: true,
fieldName: $dropdown.data('field-name'),
renderRow: function(ref) {
var link;
var li = document.createElement('li');
if (ref.header != null) {
return $('<li />').addClass('dropdown-header').text(ref.header);
li.className = 'dropdown-header';
li.textContent = ref.header;
} else {
link = $('<a />').attr('href', '#').addClass(ref === selected ? 'is-active' : '').text(ref).attr('data-ref', ref);
return $('<li />').append(link);
var link = document.createElement('a');
link.href = '#';
link.className = ref.name === selected ? 'is-active' : '';
link.textContent = ref.name;
link.dataset.ref = ref.name;
li.appendChild(link);
}
return li;
},
id: function(obj, $el) {
return $el.attr('data-ref');
Loading
Loading
Loading
Loading
@@ -260,12 +260,15 @@ class ProjectsController < Projects::ApplicationController
end
 
def refs
branches = BranchesFinder.new(@repository, params).execute
options = {
'Branches' => @repository.branch_names,
'Branches' => Kaminari.paginate_array(branches).page(params[:page]).per(100),
}
 
unless @repository.tag_count.zero?
options['Tags'] = VersionSorter.rsort(@repository.tag_names)
tags = TagsFinder.new(@repository, params).execute
options['Tags'] = Kaminari.paginate_array(tags).page(params[:page]).per(100)
end
 
# If reference is commit id - we should add it to branch/tag selectbox
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment