Extended data table - keyboard navigation of rows of a selectable grid breaks after
rerendering another datatable with selectionMode=none
-----------------------------------------------------------------------------------------------------------------------------------------
Key: RF-8212
URL:
https://jira.jboss.org/jira/browse/RF-8212
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: component-tables
Affects Versions: 3.3.1
Environment: tomcat 6, facelets, RichFaces 3.3.1
Reporter: Ryan Yoder
Priority: Minor
The keyboard navigation of rows of a selectable grid breaks after rerendering another
datatable with selectionMode=none.
A selectable grid on the top of the pagehas an a4j:support
event="onselectionchange" to reRender another grid below it that is showing
details about the currently selected row in the upper grid. The lower grid should have
selectionmode="none" to produce this bug.
The up/down arrows no longer work on the upper grid after the selection is changed and the
lower grid reRenders.
The problem lies in the following code:
ExtendedDataTableSelection.js
removeListeners: function() {
Event.stopObserving(document, "keydown", this.eventKeyPress);
The problem is that for the bottom grid, the this.eventKeyPress is null which has the
effect of removing all keydown event listeners on the page, including the top grid's
listener.
Add an if statement before this line to fix the bug. I have tested it and it works for
me.
removeListeners: function(){
if(this.eventKeyPress) { // added if to ensure that all keydown event listeners are not
removed
Event.stopObserving(document, "keydown", this.eventKeyPress);
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira