[英]dynamic copy in ExtJS drag and drop
I have a tree panel with treeviewdragdrop plugin. 我有一个带有treeviewdragdrop插件的树面板。 in my controller I need to ask user to select if he wants to just drop the node or to copy it.
在我的控制器中,我需要询问用户是否要删除该节点或将其复制。
Ext.define('App.view.admin.LevelTree', {
extend: 'Ext.tree.Panel',
xtype: 'leveltree',
requires: ['Ext.tree.plugin.TreeViewDragDrop'],
viewConfig: {
preserveScrollOnRefresh: true,
plugins: {
ptype: 'treeviewdragdrop'
}
}
And here is my controller code: 这是我的控制器代码:
me.getLevelTree().getView().on('drop', me.doChangeParent, me);
-- -
doChangeParent: function(node, data, overModel, dropPosition, eOpts) {...}
How can I set copy: true attribute in my tree panel (in controller) based on user selection? 如何根据用户选择在树形面板(在控制器中)中设置copy:true属性?
You can use plugin and view configuration like this: 您可以使用插件并查看配置,如下所示:
viewConfig: {
plugins: {
ptype: 'treeviewdragdrop'
},
listeners: {
beforedrop: function(node, data, overModel, dropPosition, dropHandlers) {
dropHandlers.wait = true;
Ext.MessageBox.confirm('Copy or move', 'If you want to copy node, press Yes', function(btn) {
data.copy = (btn === 'yes');
dropHandlers.processDrop();
});
}
}
},
Live example: https://fiddle.sencha.com/#fiddle/fea 实时示例: https : //fiddle.sencha.com/#fiddle/fea
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.