Opened 11 years ago
Closed 11 years ago
#12549 closed defect (fixed)
Enhanced grid drag and drop, doesn't drop in another empty grid
Reported by: | ilona_oud | Owned by: | evan |
---|---|---|---|
Priority: | high | Milestone: | 1.7 |
Component: | DojoX Grid | Version: | 1.6.0 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
Hello,
I would like to make a two list selector. The list on the left (Enhanced grid with one column) has data which you can choose from. This data can be dragged to the list on the right wich has no data yet. If I drag an item to the right, the following error occurs:
In Chrome:
DnD._markTargetAnchor() error: TypeError?: Cannot call method 'getBoundingClientRect' of null
In Firefox:
DnD._markTargetAnchor() error: TypeError?: node is null
This occurs because the _markTargetAnchor function in DnD.js determines the position of the item (where you want to drop it) depending on cells in the destination grid. Which aren't there... I wanted to move a row so the function _calcRowTargetAnchorPos fails on dojo.position(cell.getNode(rowIndex)); (row number 512 in DnD.js)
Attachments (1)
Change History (4)
Changed 11 years ago by
Attachment: | droptoemptylist.patch added |
---|
comment:1 Changed 11 years ago by
Hello i've created a simple patch it solves 2 issues. The first one is a catched crash when trying to determine the position of the insertion bar and setting the _target value of the drop.
The second is the way the rearange inserts items into the grid. This function trys to determine the cells of an other item in the destination grid to find out which properties should be copied from the dropped item. However is the grid is empty, there is no item to determine the attributes, so it retrieves them from the grid.layout. Also the mapping is empty initialized when the target is grid is empty.
comment:2 Changed 11 years ago by
Milestone: | tbd → 1.7 |
---|
comment:3 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Simple patch to fix this bug