Commit 93e464f4 authored by Luke Bennett's avatar Luke Bennett Committed by Stan Hu

Added logic to handle a revision input that does not exist in the menu

parent d78c667d
...@@ -9,7 +9,10 @@ ...@@ -9,7 +9,10 @@
var $dropdown, selected; var $dropdown, selected;
$dropdown = $(this); $dropdown = $(this);
selected = $dropdown.data('selected'); selected = $dropdown.data('selected');
return $dropdown.glDropdown({ const $dropdownContainer = $dropdown.closest('.dropdown');
const $fieldInput = $(`input[name="${$dropdown.data('field-name')}"]`, $dropdownContainer);
const $filterInput = $('input[type="search"]', $dropdownContainer);
$dropdown.glDropdown({
data: function(term, callback) { data: function(term, callback) {
return $.ajax({ return $.ajax({
url: $dropdown.data('refs-url'), url: $dropdown.data('refs-url'),
...@@ -42,6 +45,14 @@ ...@@ -42,6 +45,14 @@
return $el.text().trim(); return $el.text().trim();
} }
}); });
$filterInput.on('keyup', (e) => {
const keyCode = e.keyCode || e.which;
if (keyCode !== 13) return;
const text = $filterInput.val();
$fieldInput.val(text);
$('.dropdown-toggle-text', $dropdown).text(text);
$dropdownContainer.removeClass('open');
});
}); });
}; };
......
.dropdown-menu.dropdown-menu-selectable .dropdown-menu.dropdown-menu-selectable
= dropdown_title "Select branch/tag" = dropdown_title "Select Git revision"
= dropdown_filter "Filter by branch/tag" = dropdown_filter "Filter by Git revision"
= dropdown_content = dropdown_content
= dropdown_loading = dropdown_loading
...@@ -49,8 +49,8 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps ...@@ -49,8 +49,8 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps
end end
step 'I fill compare fields with refs' do step 'I fill compare fields with refs' do
select_using_dropdown('from', sample_commit.parent_id) select_using_dropdown('from', sample_commit.parent_id, true)
select_using_dropdown('to', sample_commit.id) select_using_dropdown('to', sample_commit.id, true)
click_button "Compare" click_button "Compare"
end end
...@@ -184,10 +184,14 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps ...@@ -184,10 +184,14 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps
expect(page).not_to have_content "Change some files" expect(page).not_to have_content "Change some files"
end end
def select_using_dropdown(dropdown_type, selection) def select_using_dropdown(dropdown_type, selection, is_commit = false)
dropdown = find(".js-compare-#{dropdown_type}-dropdown") dropdown = find(".js-compare-#{dropdown_type}-dropdown")
dropdown.find(".compare-dropdown-toggle").click dropdown.find(".compare-dropdown-toggle").click
dropdown.fill_in("Filter by branch/tag", with: selection) dropdown.fill_in("Filter by Git revision", with: selection)
if is_commit
dropdown.find('input[type="search"]').send_keys(:return)
else
find_link(selection, visible: true).click find_link(selection, visible: true).click
end end
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment