Opened 9 years ago

Closed 7 years ago

#11867 closed defect (patchwelcome)

FocusManager tries to focus a node that is not visible

Reported by: tanneman Owned by: Bryan Forbes
Priority: high Milestone: tbd
Component: DojoX Grid Version: 1.5
Keywords: FocusManager DataGrid Cc:
Blocked By: Blocking:

Description

The call this.grid.domNode.focus() in _FocusManager._delayedHeaderFocus can result in an error in IE (Can't move focus to the control because it is invisible).

I have attached an html file that exposes the bug. The steps to reproduce are in the attached html file. Just click on the buttons :).

Steps to reproduce

  • Create a DataGrid? with selectable set tot true.
  • Fill the table with rows and make sure you get a vertical scrollbar.
  • Move the focus on one of the column header nodes (click on it)
  • Hide the table (set style display to none)
  • fill the table (or update the rowCount)

Expected

  • No problems

Actual

  • A script error occurs (on IE 6-8)

Attachments (2)

expose-bug.html (2.6 KB) - added by tanneman 9 years ago.
FocusManagerPatch.js (286 bytes) - added by tanneman 9 years ago.

Download all attachments as: .zip

Change History (6)

Changed 9 years ago by tanneman

Attachment: expose-bug.html added

Changed 9 years ago by tanneman

Attachment: FocusManagerPatch.js added

comment:1 Changed 9 years ago by bill

Owner: changed from bryanforbes to Bryan Forbes

comment:2 Changed 9 years ago by evan

(In [25473]) Refs #11867 add a safe check as - if(!cell){return} to avoid exceptions when cell is undefined, backport to 1.6/1.5 branches

comment:3 Changed 7 years ago by bill

DojoX Grid and EnhancedGrid are deprecated in favor of dgrid and gridx.

You should upgrade your code to use one of those two grids.

We will consider patches to the old DojoX Grid code though.

comment:4 Changed 7 years ago by bill

Resolution: patchwelcome
Status: newclosed
Note: See TracTickets for help on using tickets.