Added logic to handle a revision input that does not exist in the menu
This commit is contained in:
parent
d78c667d58
commit
93e464f454
3 changed files with 23 additions and 8 deletions
|
@ -9,7 +9,10 @@
|
|||
var $dropdown, selected;
|
||||
$dropdown = $(this);
|
||||
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) {
|
||||
return $.ajax({
|
||||
url: $dropdown.data('refs-url'),
|
||||
|
@ -42,6 +45,14 @@
|
|||
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');
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
.dropdown-menu.dropdown-menu-selectable
|
||||
= dropdown_title "Select branch/tag"
|
||||
= dropdown_filter "Filter by branch/tag"
|
||||
= dropdown_title "Select Git revision"
|
||||
= dropdown_filter "Filter by Git revision"
|
||||
= dropdown_content
|
||||
= dropdown_loading
|
||||
|
|
|
@ -49,8 +49,8 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps
|
|||
end
|
||||
|
||||
step 'I fill compare fields with refs' do
|
||||
select_using_dropdown('from', sample_commit.parent_id)
|
||||
select_using_dropdown('to', sample_commit.id)
|
||||
select_using_dropdown('from', sample_commit.parent_id, true)
|
||||
select_using_dropdown('to', sample_commit.id, true)
|
||||
|
||||
click_button "Compare"
|
||||
end
|
||||
|
@ -184,10 +184,14 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps
|
|||
expect(page).not_to have_content "Change some files"
|
||||
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(".compare-dropdown-toggle").click
|
||||
dropdown.fill_in("Filter by branch/tag", with: selection)
|
||||
find_link(selection, visible: true).click
|
||||
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
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue