Fixed #23262 -- Made SelectFilter2.js move items on enter Key press.
This commit is contained in:
parent
2cc8ffe258
commit
85c22dd4c4
|
@ -83,6 +83,7 @@ window.SelectFilter = {
|
||||||
from_box.setAttribute('name', from_box.getAttribute('name') + '_old');
|
from_box.setAttribute('name', from_box.getAttribute('name') + '_old');
|
||||||
|
|
||||||
// Set up the JavaScript event handlers for the select box filter interface
|
// Set up the JavaScript event handlers for the select box filter interface
|
||||||
|
addEvent(filter_input, 'keypress', function(e) { SelectFilter.filter_key_press(e, field_id); });
|
||||||
addEvent(filter_input, 'keyup', function(e) { SelectFilter.filter_key_up(e, field_id); });
|
addEvent(filter_input, 'keyup', function(e) { SelectFilter.filter_key_up(e, field_id); });
|
||||||
addEvent(filter_input, 'keydown', function(e) { SelectFilter.filter_key_down(e, field_id); });
|
addEvent(filter_input, 'keydown', function(e) { SelectFilter.filter_key_down(e, field_id); });
|
||||||
addEvent(from_box, 'change', function(e) { SelectFilter.refresh_icons(field_id) });
|
addEvent(from_box, 'change', function(e) { SelectFilter.refresh_icons(field_id) });
|
||||||
|
@ -123,15 +124,19 @@ window.SelectFilter = {
|
||||||
$('#' + field_id + '_add_all_link').toggleClass('active', from.find('option').length > 0);
|
$('#' + field_id + '_add_all_link').toggleClass('active', from.find('option').length > 0);
|
||||||
$('#' + field_id + '_remove_all_link').toggleClass('active', to.find('option').length > 0);
|
$('#' + field_id + '_remove_all_link').toggleClass('active', to.find('option').length > 0);
|
||||||
},
|
},
|
||||||
filter_key_up: function(event, field_id) {
|
filter_key_press: function(event, field_id) {
|
||||||
var from = document.getElementById(field_id + '_from');
|
var from = document.getElementById(field_id + '_from');
|
||||||
// don't submit form if user pressed Enter
|
// don't submit form if user pressed Enter
|
||||||
if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) {
|
if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) {
|
||||||
from.selectedIndex = 0;
|
from.selectedIndex = 0;
|
||||||
SelectBox.move(field_id + '_from', field_id + '_to');
|
SelectBox.move(field_id + '_from', field_id + '_to');
|
||||||
from.selectedIndex = 0;
|
from.selectedIndex = 0;
|
||||||
|
event.preventDefault()
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
filter_key_up: function(event, field_id) {
|
||||||
|
var from = document.getElementById(field_id + '_from');
|
||||||
var temp = from.selectedIndex;
|
var temp = from.selectedIndex;
|
||||||
SelectBox.filter(field_id + '_from', document.getElementById(field_id + '_input').value);
|
SelectBox.filter(field_id + '_from', document.getElementById(field_id + '_input').value);
|
||||||
from.selectedIndex = temp;
|
from.selectedIndex = temp;
|
||||||
|
|
|
@ -942,6 +942,17 @@ class HorizontalVerticalFilterSeleniumFirefoxTests(AdminSeleniumWebDriverTestCas
|
||||||
self.assertSelectOptions(to_box,
|
self.assertSelectOptions(to_box,
|
||||||
[str(self.peter.id), str(self.jason.id)])
|
[str(self.peter.id), str(self.jason.id)])
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------
|
||||||
|
# Check that pressing enter on a filtered option sends it properly
|
||||||
|
# to the 'to' box.
|
||||||
|
self.get_select_option(to_box, str(self.jason.id)).click()
|
||||||
|
self.selenium.find_element_by_css_selector(remove_link).click()
|
||||||
|
input.send_keys('ja')
|
||||||
|
self.assertSelectOptions(from_box, [str(self.jason.id)])
|
||||||
|
input.send_keys([Keys.ENTER])
|
||||||
|
self.assertSelectOptions(to_box, [str(self.peter.id), str(self.jason.id)])
|
||||||
|
input.send_keys([Keys.BACK_SPACE, Keys.BACK_SPACE])
|
||||||
|
|
||||||
# Save and check that everything is properly stored in the database ---
|
# Save and check that everything is properly stored in the database ---
|
||||||
self.selenium.find_element_by_xpath('//input[@value="Save"]').click()
|
self.selenium.find_element_by_xpath('//input[@value="Save"]').click()
|
||||||
self.wait_page_loaded()
|
self.wait_page_loaded()
|
||||||
|
|
Loading…
Reference in New Issue