Bonsoir,
Je voudrais pouvoir "interdire" un drop dans des noeuds spécifiques d'un Tree.
Dernièrement, il me semblait avoir trouvé ce qu'il me fallait avec un "cancelDrop", mais rien ne fonctionne :?
Voici la déclaration de mon arbre :
Ensuite, dans mon controller, je comptais avoir un listener (event : beforedrop) et sa fonction, de la façon suivante :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 Ext.define('module_contracts.view.Tree', { id : 'treePanel', extend : 'Ext.tree.Panel', alias : 'widget.treePanel', region : 'west', xtype : 'tree-grid', title : 'Arborescence', width : '35%', store : 'TreeNodes', margin : '5 5 5 5', multiSelect : true, collapsible : true, rootVisible : false, useArrows : true, hideHeaders : true, columns: [{ xtype : 'treecolumn', sortable : true, dataIndex : 'code', flex : 6 }, { dataIndex : 'description', sortable : false, flex : 10 }], viewConfig : { id : 'treeView', stripeRows: true, plugins : [ { dropGroup : 'treeGroup', ptype : 'treeviewdragdrop', } ] } });
Et c'est ce point que je n'arrive pas à réaliser.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Ext.define('module_contracts.controller.General', { extend: 'Ext.app.Controller', init: function() { this.control ({ '#treePanel > treeview' : { beforedrop : this.beforeDropNode }, }); }, beforeDropNode : function( node, data, overModel, dropPosition, dropFunction, eOpts ) { /* En fonction du node survolé, j'autorise ou j'interdis le drop */ /* J'avais vu un eOpts.cancel = false ou eOpts.dropStatus = false, mais ça fonctionne pas */ }, }
Merci d'avance de vos réponses :P