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 :

Tree, TreeStoreModel, et JsonRestStore [Dojo]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Points : 110
    Points
    110
    Par défaut Tree, TreeStoreModel, et JsonRestStore
    Bonjour,

    C'est encore moi, et toujours au sujet du JsonRestStore. Mais cette fois-ci avec un Tree...
    Je voudrais afficher dans une "Tree", des objets "System" et "Requirement".
    Seuls les "Systems" peuvent contenir d'autres System et/ou Requirement.

    Chaque objet (System ou Requirement), possède la structure 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
    {
         id: // id de l'item
         name: // nom de l'item
         itemType: // type de l'item (SYSTEM ou REQUIREMENT)
         node: // le noeud, obligatoirement du type SYSTEM (null si relié à la racine)
         plan: // plan de l'item
              {
                   id: // id du plan
                   //...
                   project: // projet concerné
                        {
                             id: // id du projet
                             groups: // groupes participant au projet
                                  [
                                       {
                                            id: // id du groupe
                                            name: // nom du groupe
                                       },
                                       //...
                                  ]
                        }
              }
    }
    Les requête envoyées sont correctes, le retour aussi (vu sur Firebug) :
    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
    45
    46
    47
    48
    [
      {
        "itemType": "SYSTEM",
          "plan": {
            "project": {
              "groups": [
                {
                  "name": "GROUP1",
                  "id": 2
                },
                {
                  "name": "GROUP2",
                  "id": 1
                }
              ],
              "name": "Mon projet",
              "id": 1,
            },
            "id": 1
          }
        "name": "Safety",
        "id": 2,
        "node": null
      },
      {
        "itemType": "SYSTEM",
          "plan": {
            "project": {
              "groups": [
                {
                  "name": "GROUP1",
                  "id": 2
                },
                {
                  "name": "GROUP2",
                  "id": 1
                }
              ],
              "name": "Mon projet",
              "id": 1
            },
            "id": 1
          }
        "name": "Structure",
        "id": 1,
        "node": null
      }
    ]
    Mais le résultat affiché est totalement délirant (cf pièce jointe). L'arbre affiche bien 2 noeuds, mais le premier noeud représente un groupe du projet et l'autre un System...

    Si je mets les propriétés "Plan" à null, alors l'arbre est affiché correctement.
    Comment faire en sorte que le Tree ne prenne en compte QUE les propriétés propres à l'objets et ignore celles des sous-objets ?
    Images attachées Images attachées  

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Points : 110
    Points
    110
    Par défaut
    J'ai continué mes recherches à travers le web.
    Extrait de la doc officielle Dojo:
    Usually, the data ultimately comes from a data store, but the Tree interfaces with a “dijit.tree.Model”, an Object matching a certain API of methods the tree needs. This allows Tree to access data in various formats, such as with a data store where items reference their parents (ie, the relational model):

    {name: 'folder1', type: 'directory'},
    {name: 'file1', type: file, parent: 'folder1'}
    Ça montre bien que c'est possible, mais je n'y arrive pas.
    Je ne trouve que des exemples avec le parent référençant leurs enfants (avec l'attribut 'children').

    J'arrive à afficher l'arbre, mais aucune des modifications que j'effectue sur le model (ou même directement sur le store) n'est répercuté sur l'arbre...
    Quelqu'un peut m'aider

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Points : 110
    Points
    110
    Par défaut
    Bon je crois que j'ai résolu mon problème, par contre j'ai utilisé le store ObjectStore avec dojo.data.Memory à la place du JSonRestStore.

    J'ai suivi ce tuto, et j'ai en plus ajouté les méthodes add(item) et remove(item).
    A la fin de chaque methode, j'ai appelé this.onChildrenChange(parent, newChildrenList) qui est apparemment écoutée par le dijit.Tree.

    Et là miracle, tout se met à jour !

    Je ne sais pas si c'est très conventionnel, mais on va faire avec !

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

Discussions similaires

  1. [MX2004] Tree
    Par freegreg dans le forum Flash
    Réponses: 4
    Dernier message: 09/01/2004, 15h25
  2. Tree View avec XML et XSL
    Par Drooxy dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/04/2003, 10h21
  3. pb formatage document XML généré par un dom tree
    Par lionel69 dans le forum APIs
    Réponses: 11
    Dernier message: 17/10/2002, 09h53
  4. BTREE & B+TREE
    Par TuxP dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 09/08/2002, 17h27
  5. Recherche algo tree
    Par Anonymous dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 24/05/2002, 13h44

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