Reputation: 162
I would like to drop node from tree panel onto a panel. I have configured tree to use treeviewdragdrop plugin, like this:
Ext.define('APP.view.SampleTreeView', {
extend: 'Ext.tree.Panel',
alias: 'widget.sampleTreeView',
store: 'SampleTreeStore',
rootVisible: false,
renderTo: Ext.getBody(),
columns: [
{ xtype: 'treecolumn', dataIndex: 'text', flex: 1 }
],
viewConfig: {
plugins: {
ptype: 'treeviewdragdrop',
dragGroup: 'editorDDGroup'
},
}
});
Then, i created drop zone on the target panel:
Ext.onReady(function () {
var DDTarget = new Ext.dd.DDTarget('tgtPanel', 'editorDDGroup', {})
});
tgtPanel definition:
Ext.define('APP.view.TargetPanel', {
extend: 'Ext.panel.Panel',
alias: 'widget.targetPanel',
id: 'tgtPanel',
renderTo: Ext.getBody(),
width: 400,
height: 200,
title: 'Target Panel'
});
Now, tree nodes can be dragged, and over the target panel there is a green checkmark indicating that drop is allowed, but when i release the mouse, i get ext-all.js uncaught type error: Cannot read property 'focus' of undefined
What am I doing wrong?
Upvotes: 1
Views: 337
Reputation: 162
I accidently stumbled upon solution, instead of using Ext.dd.DDtarget
i used Ext.dd.DropTarget
.
before:
var DDTarget = new Ext.dd.DDTarget('tgtPanel', 'editorDDGroup', {})
after:
var DDTarget = new Ext.dd.DropTarget(me.getEl().dom, {
notifyDrop: function (dragsource, event, data) {
//
},
});
panelDropTarget.addToGroup('editorDDGroup');
Upvotes: 1