You found a bug! We've classified it as
EXTJS-24550
.
We encourage you to continue the discussion and to find an acceptable workaround while we work on a permanent fix.
-
Sencha Premium Member
DragZone duplicates DOM ids which leads to error if one Ext.get()s duplicated element
Ext version tested:
Browser versions tested against:
All browsers affected
DOCTYPE tested against:
Description:
Default implementation of Ext.dd.DragZone() uses this.dragData.ddel.cloneNode(true) to fill in the drag status proxy, this leads to the case when DOM might have elements with the same ids (if element to be dragged has id attribute defined). If source element has been cached in Ext.cache via accessing it with Ext.get() call and later one tries to access cloned proxy contents via Ext.fly(this.getProxy().getGhost()).first(), then duplicate ids error from Ext.get() will be raised.
The Ext.dd.DragSource::onInitDrag() method actually solves the issue by changing cloned node id, but it's overridden by Ext.dd.DragZone::onInitDrag() which introduce the error.
Steps to reproduce the problem:
The result that was expected:
No error risen
The result that occurs instead:
Error risen
Use the force - read the source.
-
Thanks for the report! I have opened a bug in our bug tracker.