Bon alors voila ... C'est mon premier code en javascript j'ai commence vendredi soir (y'a deux jours)
Resultat :
C'est la gelere, le JS c'est moche, c'est inutilement compliqué ...
Bref pour trouver de bon tutos sur le net c'est quand meme la galere et ils sont pas plus simple que des bon vieux template C++.
Mais j'ai réussi à faire quelquechose !!
Voici le code (trop long à paster ici )
[ Lien ]EXPLICATION :
J'explique le probleme pour que vous puissez comprendre le code et mon probleme rapidement.
Typiquement je voulais faire un google gadget.
Je connais rien au technos web et va bien falloir que je m'y mette un jour ...
autant commencer en faisant quelquechose qui peut etre marrant
Je voulais donc faire/refaire un gadget pour gerer mes favoris AVEC des dossiers, ce que les autres ne font pas a ma connaissance (ils utilisent des labels)
J'ai donc definit trois classes :
-- une classe de base abstraite : Item
-- deux classes filles final : Folder et Favori
(ouais je sais c'est bookmark en anglais ... faites pas c**** :p lol )
Ces trois classes forme un design patern : "Composante" bref c'est la modelisation typique pour les systeme de fichier , appliqué au favoris ici :)
Grosso modo je pars d'une de chaine de caractere "$;Root;false;{-;Yahoo;www.yahoo.fr;|}0|"; pour laquelle j'ai definit un format perso .. et je construit le treeview de mes favoris. Donc ici il s'agit d'un Folder "Root" et d'un Favori "Yahoo"
Donc typiquement cela se passe comme ca :
ligne 195 :
On construit le folder Root. Les deux arguments sont ininteressants pour le probleme donc vous fatiguez pas...
ligne 196 :
Une fois construit on rempli l'objet en appelant la fonction Import et lui passant la chaine de caractere en argument pour init des valeurs internes.
La premiere chose que fait la fonction Import de Folder est d'appeller la fonction Import de sa classe de base : Item.Import.
(j'ai l'impression que c'est la que se situe le probleme mais bon ...)
Item.Import initialise ainsi la donné qui me pose probleme : "caption" et utilise uen alerte pour afficher sa valeur : "Root"
ensuite on sort de Item.Import et on effectue Folder.Import
Root se rend compte qu'il y a un favori dans le dossier ..
ligne 134:
Il instancie un Item de type Favori dans la variable "item"et appelle sa methode import.
Meme chose que precedement : Favori.Import appelle Item.Import, le caption de "item" est normalement mis a "Yahoo",
l'alerte le prouve ...
bref on continue on sort .. et on revient au tout debut
ligne 199: on appelle la methode root.to_HTML qui va dumper, sous forme HTML, le contenu du treeview super simple que l'on vient de construire .
Et c'est LA que j'ai un PROBLEME !!!
Les deux methodes to_HTML utilise this.caption et pourtant :
le root qui avait initialisé son caption à "Root" contient ce que devrait contenir le Favori,c'ets a dire Yahoo
et le Favori ne contient plus rien (ligne 89) !!!!!!!!!!?
Qui peut m'expliquer ca ?
Merci d'avance !!!
-={[ Zeroc00l ]}=-