Salut tout le monde,
J'ai un dijit.Tree que je lui ai affecté un dnd.Source en fonction du Javascript pour que les éléments de ce Tree soient drag-and-droppables.
Voici mon code:
Code html : 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
<div dojoType="dojo.data.ItemFileWriteStore"
  data='<?php echo htmlentities($this->donneeTree, ENT_QUOTES) ?> '
  jsid="treeStore">
  </div>
  <div dojoType="dijit.tree.ForestStoreModel" jsid="treeModel" store="treeStore"
  query="{IDAttribut:'*'}" rootId="root" rootLabel="root">
  </div>
  <div dojoType="dijit.Tree"
  id="tree"
  model="treeModel"
  jsid="ptTree"
  dragThreshold="10"
  showRoot="false"
  onFocus="affecterDnd"
  >
  </div>

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
function affecterDnd(){
    listTreeDnd = new dijit.tree.dndSource(dijit.byId("tree"),
    {
        id: "listTree",
        copyOnly: "true",
        checkItemAcceptance: function(target, source) {
            return false;
        },
        checkAcceptance: function(target, source) {
            return false;
        }
    });
}
Quand je drag-and-drop les éléments de ce tree vers un div(qui est lui même un dnd.Source), ça marche parfaitement, mais le problème est que je n'arrive pas à faire l'inverse, c'est à dire du div vers le tree.
j'ai essayé de mettre un creator hint mais ça marche pas, voici le code de l'affectation de dnd.Source au tree avec le creator:
Code javascript : 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
 
        listTreeDnd = new dijit.tree.dndSource(dijit.byId("tree"),
        {
            id: "listTree",
            copyOnly: "true",
            checkItemAcceptance: function(target, source) {
                return true;
            },
            checkAcceptance: function(target, source) {
                return true;
            },
            creator: function(item, hint) {
                p = dojo.create("p",{innerHTML:""});
                return {node: p};
            }
        });
Ce code me génère cette erreur quand je commence le drag à partir du tree:
source._normalizedCreator is not a function
[Break on this error] (517 out of range 516)
NB: Version dojo 1.4

Si vous avez une idée, je serai très reconnaissant.
peace.