Visualisation d'une page Webjax
Builder (class)
La classe Builder permet de construire dynamiquement des éléments DOM dans le document courant.
Clairement les fonctions de manipulation de DOM présentes dans Javascript sont utilisées.
La principale méthode utilisée dans cette classe Builder depuis les fichiers Javascript par les développeurs est Builder.node() qui est la méthode permettant la création rapide d'élements DOM.
Le tableau ci après présente les méthodes de la classe Builder.
Méthode
Type
Arguments
Détails
node ( nomElement , [ attributs ] , [ more_attrs ] )
instance
nomElement : nom de l'élément DOM à créer
[ attributs ] : attributs ou propriétés CSS habituelles
comme 'id', 'onClick', 'style', la fameuse 'className', ...
Cette méthode permet la création d'un élément DOM plus ou moins complexe
selon les attributs qui sont précisés lors de l'appel de la méthode.
Notons qu'il est possible d'imbriquer les éléments avec 'more_attrs' (ndr :
voir la page de dédiée à la méthode pour plus de détails).
_text ( texte )
private
texte : texte qui sera inséré dans la nouvelle node texte.
Cette méthode n'est pas appelée dans le cadre d'une utilisation courante.
Cette méthode permet de créer une nouvelle node texte dans le document
à l'aide de document.createTextNode()
_isStringOrNumber ( variable )
private
variable : variable dont le type doit être testé
Cette méthode n'est pas appelée dans le cadre d'une utilisation courante.
Cette méthode permet à l'aide d'un test de toute beauté de déterminer le type
de variable d'une variable précisée.
Cette méthode retourne le type de variable 'string' ou 'number'.
Le tableau ci après présente les propriétés de Builder.
Propriété
Type
Détails
NODEMAP
Object
valeur : { AREA: 'map', CAPTION: 'table', COL: 'table', COLGROUP: 'table', LEGEND: 'fieldset',
OPTGROUP: 'select', OPTION: 'select', PARAM: 'object', TBODY: 'table', TD: 'table',
TFOOT: 'table', TH: 'table', THEAD: 'table', TR: 'table' }
Cette propriété correspond à la carte des éléments HTML supportés.
ATTR_MAP
Object
valeur : { 'className': 'class' , 'htmlFor': 'for' }
Cette propriété correspond à la carte des attributs HTML supportés.
'for' a été ajouté pour permettre le support des éléments 'label' suite
au passage en 'mot-clé' de 'for' dans le langage Javascript.
Firefox semble avoir un bug au niveau de la précision 'class'.
Le wiki officiel recommande d'utiliser 'className'.
Clairement les fonctions de manipulation de DOM présentes dans Javascript sont utilisées.
La principale méthode utilisée dans cette classe Builder depuis les fichiers Javascript par les développeurs est Builder.node() qui est la méthode permettant la création rapide d'élements DOM.
Le tableau ci après présente les méthodes de la classe Builder.
| Méthode | Type | Arguments | Détails |
| node ( nomElement , [ attributs ] , [ more_attrs ] ) | instance |
nomElement : nom de l'élément DOM à créer
[ attributs ] : attributs ou propriétés CSS habituelles comme 'id', 'onClick', 'style', la fameuse 'className', ... |
Cette méthode permet la création d'un élément DOM plus ou moins complexe
selon les attributs qui sont précisés lors de l'appel de la méthode.
Notons qu'il est possible d'imbriquer les éléments avec 'more_attrs' (ndr : voir la page de dédiée à la méthode pour plus de détails). |
| _text ( texte ) | private | texte : texte qui sera inséré dans la nouvelle node texte. |
Cette méthode n'est pas appelée dans le cadre d'une utilisation courante.
Cette méthode permet de créer une nouvelle node texte dans le document à l'aide de document.createTextNode() |
| _isStringOrNumber ( variable ) | private | variable : variable dont le type doit être testé |
Cette méthode n'est pas appelée dans le cadre d'une utilisation courante.
Cette méthode permet à l'aide d'un test de toute beauté de déterminer le type de variable d'une variable précisée. Cette méthode retourne le type de variable 'string' ou 'number'. |
Le tableau ci après présente les propriétés de Builder.
| Propriété | Type | Détails |
| NODEMAP | Object |
valeur : { AREA: 'map', CAPTION: 'table', COL: 'table', COLGROUP: 'table', LEGEND: 'fieldset',
OPTGROUP: 'select', OPTION: 'select', PARAM: 'object', TBODY: 'table', TD: 'table',
TFOOT: 'table', TH: 'table', THEAD: 'table', TR: 'table' }
Cette propriété correspond à la carte des éléments HTML supportés. |
| ATTR_MAP | Object |
valeur : { 'className': 'class' , 'htmlFor': 'for' }
Cette propriété correspond à la carte des attributs HTML supportés. 'for' a été ajouté pour permettre le support des éléments 'label' suite au passage en 'mot-clé' de 'for' dans le langage Javascript. Firefox semble avoir un bug au niveau de la précision 'class'. Le wiki officiel recommande d'utiliser 'className'. |

:

