Opened 8 years ago

Closed 7 years ago

#14705 closed defect (patchwelcome)

e.cellNode is incorrect in onCellClick() / onRowClick() when cell editor is open

Reported by: Roberto Olivares Owned by: Evan
Priority: undecided Milestone: tbd
Component: DojoX Grid Version: 1.7.1
Keywords: Cc:
Blocked By: Blocking:

Description

This occurs on Chrome / Firefox / possibly others.

Create a data grid with 2+ rows and 2+ columns. Make one column editable.

Add this code or see the attached HTML file:

dojo.connect(grid, "onCellClick", grid, function(e) {

var r = e.cellNode.getBoundingClientRect(); console.log(r.top + ", " + r.left);

});

Click on the grid cells. Notice the top, left values printed to the console are correct.

Now, edit one of the editable cells. While the cell editor is still open, click onto a non-editable cell in the same row. Notice the top, left values are incorrect: 0,0. It appears the e.cellNode provided in this case is not the "real" DOM node for the cell.

If we are trying to popup a dijit.tooltipdialog at the given cell node in this case, it appears in the wrong place. Any code that expects the actual cell DOM node will get something else in this case.

Attachments (1)

grid.html (2.5 KB) - added by Roberto Olivares 8 years ago.
e.cellNode fails in this simple HTML example

Download all attachments as: .zip

Change History (4)

Changed 8 years ago by Roberto Olivares

Attachment: grid.html added

e.cellNode fails in this simple HTML example

comment:1 Changed 8 years ago by Roberto Olivares

A workaround in the meantime would be very helpful. I just need the correct DOM node for the cell since e.cellNode can't be trusted.

comment:2 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:3 Changed 7 years ago by bill

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