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 :

Renommer labelNode de via le tree Dojo


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre régulier Avatar de moukit233
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    240
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 240
    Points : 123
    Points
    123
    Par défaut Renommer labelNode de via le tree Dojo
    Bonjour ,

    je suis en train de developper un site web....
    dans une partie de ce site j'ai un dijit.tree.ForestStoreModel qui affiche mes Articles :
    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
    <div dojoType="dijit.tree.ForestStoreModel" jsid="treeModel" store="treeStore">
    </div>
    <div dojoType="dijit.Tree"
         id="tree"
         model="treeModel"
         jsid="Tree"
         showRoot=false  
         >    
    </div>
    <script type="text/javascript">
    dojo.addOnLoad(function() {  
                        dojo.connect(ptTree, "onDblClick", "renommer");
                        }
             );
    </script>
    et pour renommer l'article double cliqué dans le tree j'ai une fonction js :
    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
     function renommer(e)
     { 
     
                 var domElement = e.target;
                 var nodeWidget = dijit.getEnclosingWidget(domElement);          
                 if(!nodeWidget || !nodeWidget.isTreeNode) {
                         return;
                 }
                 this.editing = true; // turn off keys for the tree            
                 // first we put a span in to attach the editor to. This avoids errors
                 var labelNode = nodeWidget.labelNode;
                 var editSpan = document.createElement('div');
                 editSpan.innerHTML = labelNode.innerHTML;
                 labelNode.innerHTML = "";
                 labelNode.appendChild(editSpan);
     
                 var editor = new dijit.InlineEditBox({
                                         node: nodeWidget,
                                         tree: Tree,
                                         model: Tree.model,
                                         autoSave: true,
                                         onChange: Renommer(this.id,arguments[0]),
                                         width: "100px"
                                         }, editSpan);
                 editor.startup();
                 editor._edit();
     
     }
    mais lorsque je fait un double clique sur le tree j'obtien un message d'erreur :
    message : (this domNode is null)
    je ne sais pas c'est quoi l'erreur exacte est ce qu'il y a quelqu'un peut m'aider s'il vous plait

    merci de maider
    «En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
    Albert Einstein.

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut Moukit233,

    On a déjà traité ce cas plusieurs fois sur tes sollicitations: utilise l'événement onDblClick du tree.

    ERE
    Quand une tête pense seule, elle devient folle.

  3. #3
    Membre régulier Avatar de moukit233
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    240
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 240
    Points : 123
    Points
    123
    Par défaut
    salut Emmanuel.remy

    je sais on a traité ça plusieure fois mais j'arrive pas tjr de modifier labelNode et je ne sais pas c'est quoi l'erreur exacte .j'ai comme message d'erreur :
    domNode is null

    merci de m'aider

    «En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
    Albert Einstein.

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Citation Envoyé par moukit233 Voir le message
    salut emmanuel.remy

    je sais on a traité ça plusieure fois mais j'arrive pas tjr de modifier labelNode et je ne sais pas c'est quoi l'erreur exacte .j'ai comme message d'erreur :
    domNode is null

    merci de m'aider

    Utilise l'événement onDblClick du tree. En 1.3 il offre directement en paramètre ton nodeWidget.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... onDblClick: function(/* dojo.data */ item, /*TreeNode*/ node, /*Event*/ evt){ ... }
    ERE
    Quand une tête pense seule, elle devient folle.

  5. #5
    Membre régulier Avatar de moukit233
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    240
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 240
    Points : 123
    Points
    123
    Par défaut
    bonjour Emmanuel.remy,

    toujour avec renommer LabelNode de tree .

    pour le premier partie c'est bon (L'édition zone est bien affiché (après la zone de texte), et je peux supprimer l'ancienne étiquette. )

    Le premier problème est lorsque je tente de frapper une touche du clavier pour entrer un nouveau nom, puis firefox entrer dans une boucle et de demander si je veux arrêter le script ou le débogage.

    et pour resoudre ce problem j'ai creé deux fonction js :
    fonction 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     function createPoste()
      {
          this.inherited("postCreate", arguments);
          this.connect(this.domNode, "ondblclick", this._onDblClick);
      }
    fonction 2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function onkey(e) 
      {
          if (ptTree.editing) 
              return;
          this.inherited(arguments);      
     
      }
    et dons la page html j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script type="text/javascript">
    dojo.addOnLoad(function() {  
            dojo.connect(ptTree, "_onDblClick", "renommer");
            dojo.connect(ptTree, "_onKeyPress", "onkey");
                        }
     
             );
    </script>
    mais j'ai toujour un erreur :
    message d'erreur :: this.inherited(arguments); is not a function (dans la function onkey(e) )

    merci de m'aider
    «En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
    Albert Einstein.

  6. #6
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par moukit233 Voir le message

    bonjour emmanuel.remy,

    un peu de respect

  7. #7
    Membre régulier Avatar de moukit233
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    240
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 240
    Points : 123
    Points
    123
    Par défaut
    Citation Envoyé par slim_java Voir le message
    un peu de respect
    je suis desole j'ai pas fait attention .j'ai fait copier coller

    «En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
    Albert Einstein.

Discussions similaires

  1. [Dojo] Récupèration domNode double cliqué sur le tree dojo
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 29/07/2009, 11h41
  2. [Dojo] Modification le nom labelNode tree dojo
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 23/07/2009, 11h10
  3. [Dojo] Récupèrer le domNode selectionneé dans le tree dojo
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 08/07/2009, 09h49
  4. [Dojo] Mettre tree dojo editable
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 07/07/2009, 09h21
  5. [Dojo] Récupèrer le dom node de l'element selectionné dans le tree dojo
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 06/07/2009, 20h08

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