树拖放与副本或移动图标

时间:2013-05-06 12:00:04

标签: javascript extjs tree extjs3

我有一棵树,有拖拽。

enableDD: true,
ddAppendOnly: true,

我可以通过按键盘上的spec键来复制或移动节点。

this.on('beforenodedrop', function (e) {
    e.tree.dragZone.proxy.animRepair = false;
    // copy mode icon TODO
    this.moveNodes(e.target, e.dropNode, null, null, e.rawEvent.ctrlKey || e.rawEvent.altKey || e.rawEvent.shiftKey);
    return false;
});

但我正在寻找一个可变的解决方案,可以x-dd-drop-ok-add和/或drop-add.gif移动到另一个(减去而不是加号)。

你有什么想法吗?你能救我吗?

1 个答案:

答案 0 :(得分:2)

我没有检查过这是否有效,但是你可以检查每当一个节点被拖到另一个节点上时会触发nodedragover事件,所以当时不是显示默认图标,你可以指定自定义图标,沿着这条线,您可以调试并在需要时进行一些额外的更改

treePanel.on('nodedragover', function(dragOverEvent){
     e.source.proxy.el.replaceClass('x-tree-drop-ok-append', 'x-tree-drop-ok-append-minus');
});