30-01-2013, 12:18 PM
(Modification du message : 30-01-2013, 12:21 PM par Angelblade.)
En effet je cherche à ne pas modifier Tree.
Comment feriez vous pour propager les modifications sur les vues ?
J'ai un système d'event qui me permet d'écrire:
J'écoute l'event rename sur tree et lorsqu'il se produit je veux le propager à la vue correspondante.
Comment implémenter toNodeView qui doit retrouver la vue correspondant à node?
Suis je clair? mes idées sont-elles bonnes? auriez vous d'autres idées?
Comment feriez vous pour propager les modifications sur les vues ?
J'ai un système d'event qui me permet d'écrire:
function ExplorerElement(tree){
tree.on('rename', function(node, name){
this.toNodeView(node).rename(name);
}.bind(this));
}
J'écoute l'event rename sur tree et lorsqu'il se produit je veux le propager à la vue correspondante.
Comment implémenter toNodeView qui doit retrouver la vue correspondant à node?
// idée1: une vue possède une référence vers node, je parcoure tous les noeuds pour retrouver la vue
ExplorerElement.prototype.toNodeView = function(node){
return this.getNode(function(nodeView){
return nodeView.node == node;
});
};
// idée2: chaque vue de node est stocké dans node.views
ExplorerElement.prototype.toNodeView = function(node){
var i = node.views.length;
while(i--){
if( node.views[i].view == this ) return node.views[i];
}
return null;
};
Suis je clair? mes idées sont-elles bonnes? auriez vous d'autres idées?