IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ext JS / Sencha Discussion :

[Tree][Drag & Drop] Autorisation / Interdiction


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Février 2012
    Messages : 69
    Par défaut [Tree][Drag & Drop] Autorisation / Interdiction
    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 :
    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',
        	 }
        	]
        }
    });
    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
     
    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 */
        },
    }
    Et c'est ce point que je n'arrive pas à réaliser.

    Merci d'avance de vos réponses

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    il te faut utiliser beforeDragOver
    si cette méthode retourne true le drop peut avoir lieu sinon il est bloqué

    tu peux aussi voir DropTarget

    A+JYT

Discussions similaires

  1. drag'n drop sur un tree
    Par dreamer28 dans le forum JSF
    Réponses: 0
    Dernier message: 03/06/2009, 12h22
  2. Drag n Drop d'un tree vers une list
    Par greatalain dans le forum Flex
    Réponses: 1
    Dernier message: 25/04/2008, 11h51
  3. autoriser ou interdire drag and drop
    Par mermich dans le forum Flex
    Réponses: 3
    Dernier message: 27/03/2008, 17h13
  4. [Richfaces]Drag'n drop sur un tree
    Par Rizzen dans le forum JSF
    Réponses: 3
    Dernier message: 22/01/2008, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo