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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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![]()
Partager