Si vous souhaitez participer à la vie de dojotookit-fr, nous recherchons : des traducteurs, des personnes pour animer le blog ou écrire des articles, etc...
Prévenez nous par mail (ben_AT_dojotoolkit-fr_DOT_org) ou par chat (#dojo-fr sur irc.freenode.net)

Syntaxe Déclarative, points à retenir

La syntaxe déclarative est la plus simple des deux syntaxes disponible avec dojo (l'autre étant la syntaxe programmatique mais, du même coup, la moins flexible.

Le principe

Dojo va parser le contenu de l'arbre DOM et convertir certains noeud en widget.
Les noeuds sont identifiés grâce à des attributs spéciaux uniquement reconnus par dojo.
Utilisation
Pour faire en sorte que dojo parse le DOM, il faut :

  • soit mettre parseOnLoad=true dans l'attribut djConfig de la balise script principale,
  • soit utiliser le code suivant :
  • 1
    2
    3
    4
    
    dojo.require("dojo.parser");
    dojo.addOnLoad(function() {
        dojo.parser.parse();
    });

Les attributs génériques de dojo

dojoType

1
<div dojoType="dijit.form.Button"></div>

C'est cet attribut qui permet à dojo de savoir par quel widget il va devoir remplacer le noeud DOM.
Attention, à chaque dojoType doit correspondre un dojo.require
1
dojo.require("dijit.form.Button");

dojoAttachPoint

1
<div dojoAttachPoint="_button" dojoType="dijit.form.Button"></div>

Utilisé dans le template d'un widget, l'attachPoint permet de garder une référence vers un noeuds DOM ou un widget.
Ici, on utiliserait this._button pour pointer directement sur le widget Button

jsId

1
<div jsId="_button" dojoType="dijit.form.Button"></div>

Tout comme l'attachPoint, cet attribut va garder une référence vers le noeud DOM ou le widget mais ce coup ci en créant une variable globale.
Ici, _button pointera sur le widget.
Voir dojo .byId(), dijit .byId() et jsId pour plus d'informations

A cette liste d'attributs génériques s'ajoute des attributs spécifiques en fonction du widget à créer.
Ainsi, pour le bouton, on retrouvera (entre autres) l'attribut label qui permet de définir le texte à afficher dans le bouton
La liste des attributs disponible pour un objet se trouve dans la documentation officelle (pour le bouton : dijit.form.Button).