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

Bibliothèques & Frameworks Discussion :

Drag'n'drop - accéder à l'élément qui bouge [Dojo]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 58
    Points
    58
    Par défaut Drag'n'drop - accéder à l'élément qui bouge
    J'ai une source maSource dans laquelle j'ai inséré plusieurs noeuds.
    Je voudrais savoir si un noeud bouge ou pas. Par exemple, je voudrais faire une boucle sur tous les noeuds, et lorsqu'un d'entre eux commence à subir un drag, changer son opacité.
    Mais autant j'arrive à tester des les événements que subit une source, autant je me casse les dents quand il s'agit des événements subis pas un noeud.
    Voici ce à quoi j'ai pensé, mais qui ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dojo.subscribe("/dnd/start", function(source, nodes, copy, target){
         dojo.forEach(nodes,function(item){
            item.OnDndStart = function(){
                                        dojo.style(item,{opacity: '0.3'});
                                       }
         });
    });
    Le problème vient sans doute du Si quelqu'un pouvait me dire comment faire, parce que je suis dessus depuis plusieurs jours

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Points : 535
    Points
    535
    Par défaut
    l'objet "nodes" de la fonction te permet d'accéder aux méthodes du noeud que tu est en train de déplacer. Si tu fais une copie il me semble que le style du noeud source est modifié mais si c'est un déplacé (sans copie) c'est le noeud de la cible qui est modifié.
    par exemple :
    - cas d'un déplacé (sans copie):
    [0] correspond au premier noeud déplacé. Etant donné que l'on peut faire un déplacement de masse, il suffit de faire une boucle sur nodes[i] pour modifier l'ensemble.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nodes[0].style.backgroundColor = "red";
    - cas d'une copie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //modifie le style du conteneur d'arrivée (target)
    target.anchor.style.backgroundColor = "red";
     
    //modifie le style du conteneur de départ (source)
    nodes[0].style.backgroundColor = "red";
    Pas besoin de "item.onDndStart". Met plutôt "dnd/drop" dans ton subscribe.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 58
    Points
    58
    Par défaut
    Merci pour ta réponse.
    En effet, pas besoin de "item.onDndStart".
    J'ai trouvé une solution, qui correspond peut-être à ton explication(je n'ai pas vérifié en détail):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    dojo.subscribe("/dnd/start", function(source, nodes, copy, target){
          dojo.forEach(nodes,function(item){
    	dojo.style(item,{opacity: '0.3'});
           });
    }

  4. #4
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Daniel et tapoutapou, n'hésitez pas à proposer des points de FAQ lorsque vous rencontrer fréquemment un même cas et que vous avez trouvé une solution "idéale" qui n'est pas nécessairement référencée dans la documentation.
    Merci d'avance.


  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Points : 535
    Points
    535
    Par défaut
    tapoutapou ta solution correspond à ce que je voulais dire notamment lorsque tu rencontres le cas d'un "multi" drag n drop etant donné que le foreach va boucler sur tous les éléments "item" de "nodes".

    Bien joué

    PS : C'est une bonne idée Vermine

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 58
    Points
    58
    Par défaut
    Ok, pour la FAQ, j'y penserai.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/01/2011, 15h04
  2. [Dojo] Lors d'un drag'n'drop, tous les éléments de la source bougent
    Par tapoutapou dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 12/08/2010, 09h44
  3. élément qui bouge selon les résolutions dans un mail
    Par petitobi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/10/2009, 23h18
  4. drag and drop avec plusieurs éléments
    Par yohan0262 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 17/09/2008, 12h57
  5. [Drag and Drop] qu'est ce qui ne va pas ?
    Par Lady dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 10/05/2007, 11h36

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