Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #20821 -- Added tooltips to Admin SelectBox widget

The Admin widget, which can be used to filter multiple selects
can sometimes be too narrow and hide information such as
user permissions. This commit adds tooltips to the select
options so that a user can hover over and see the hidden text.
  • Loading branch information...
commit c438cc2a3653644ea42987f7e65f6f638ca85f6c 1 parent 32838a5
Rudy Mutter authored
5 django/contrib/admin/static/admin/js/SelectBox.js
View
@@ -16,7 +16,10 @@ var SelectBox = {
for (var i = 0, j = SelectBox.cache[id].length; i < j; i++) {
var node = SelectBox.cache[id][i];
if (node.displayed) {
- box.options[box.options.length] = new Option(node.text, node.value, false, false);
+ var new_option = new Option(node.text, node.value, false, false);
+ // Shows a tooltip when hovering over the option
+ new_option.setAttribute("title", node.text);
+ box.options[box.options.length] = new_option;
}
}
},
11 tests/admin_widgets/tests.py
View
@@ -699,7 +699,12 @@ def execute_basic_operations(self, mode, field_name):
self.assertActiveButtons(mode, field_name, False, False, True, False)
# Choose some options ------------------------------------------------
- self.get_select_option(from_box, str(self.lisa.id)).click()
+ from_lisa_select_option = self.get_select_option(from_box, str(self.lisa.id))
+
+ # Check the title attribute is there for tool tips: ticket #20821
+ self.assertEqual(from_lisa_select_option.get_attribute('title'), from_lisa_select_option.get_attribute('text'))
+
+ from_lisa_select_option.click()
self.get_select_option(from_box, str(self.jason.id)).click()
self.get_select_option(from_box, str(self.bob.id)).click()
self.get_select_option(from_box, str(self.john.id)).click()
@@ -714,6 +719,10 @@ def execute_basic_operations(self, mode, field_name):
[str(self.lisa.id), str(self.bob.id),
str(self.jason.id), str(self.john.id)])
+ # Check the tooltip is still there after moving: ticket #20821
+ to_lisa_select_option = self.get_select_option(to_box, str(self.lisa.id))
+ self.assertEqual(to_lisa_select_option.get_attribute('title'), to_lisa_select_option.get_attribute('text'))
+
# Remove some options -------------------------------------------------
self.get_select_option(to_box, str(self.lisa.id)).click()
self.get_select_option(to_box, str(self.bob.id)).click()
Please sign in to comment.
Something went wrong with that request. Please try again.