scenari
 

Le widget sm:WTooltip

Présentation

Dans plusieurs transformers on peut retrouver le widget sm:WTooltip. Celui-ci permet de construire des tooltips riches. Exemple de syntaxe :

<sm:WTooltip commonClass="tip">
	<sm:label>
		Zone qui active le tooltip, l'ancrage
	</sm:label>
	<sm:tooltip trigger="onmouseover" displayOptions="SHADOW:true">
		<sm:ttTitle>
			Les tooltips peuvent avoir un titre
		</sm:ttTitle>
		<sm:ttContent>
			Le contenu du tooltip...
		</sm:ttContent>
	</sm:tooltip>
</sm:WTooltip>

Paramétrage

note: cette partie est à mettre à jour pour SCENARI3.3 (qui simplifie la définition des paramètres)

sm:tooltip possède deux attributs:

  • trigger = "onmouseover|onclick" Par défaut le trigger est onmouseover. Ceci spécifie comment le tooltip doit apparaître.
  • displayOptions="KEY1:valueA,KEY2:valueB, etc..." Les tooltips possèdent divers options d'affichage:
    • SHADOW:true|false Afficher une ombre à la tooltip, false par défaut
    • MAXWIDTH:400 Largeur maxi en px de la tooltip, 400px par défaut
    • MAXHEIGHT:250 Hauteur maxi en px de la tooltip' 250px par défaut
    • ABOVE:true|false Afficher la tooltip au dessus du point d'ancrage, false par défaut
    • DELAY:500 Temporisation en millisecondes avant l'affichage de la tooltip, 500ms par défaut
    • FIX:[x,y] Coordonnés en px où la tooltip sera affichée, pas utilisé par défaut
    • FIXID:'container' ID de l'objet relatif auquel doit être positionné le tooltip. Ce paramètre n'est pas pris en compte si FIX:[x,y] est absent, pas utilisé par défaut
    • LEFT:true|false Faire apparaître la tooltip à gauche du pointeur, false par défaut
    • OFFSETX:12 Offset en px horizontale de la tooltip par rapport au pointeur, 12px par défaut
    • OFFSETY:15 Offset en px verticale de la tooltip par rapport au pointeur, 15px par défaut
    • STATIC:true|false Ne pas faire bouger la tooltip avec le pointeur, false par défaut
    • STICKY:true|false Ne pas faire disparaître la tooltip lorsque le pointeur se déplace en dehors ds la zone d'encrage. Dans ce cas la tooltip disparaît si: une autre tooltip est affichée, l'utilisateur clique en dehors de la tooltip, false par défaut
    • TEMP:0 Tempo en ms de suppression de la tooltip, 0 par défaut: la tooltip est affiché en continue

Attention !

Les displayOptions="KEY1:valueA,KEY2:valueB, etc..." ont une syntaxe strict. La liste des options est en fait le contenu d'une structure de données Javascript, c.a.d. que si dans displayOptions on a écrit:

KEY1:valueA,KEY2:valueB

dans l'html généré on retrouvera

{KEY1:valueA,KEY2:valueB}

Si vous faites une faute de frappe alors le tooltip pourra ne pas marcher sur certains navigateurs. Par exemple, si vous ajoutez une virgule à la fin des options, Internet Explorer remontera une erreur JavaScript et le tooltip ne sera pas affiché.

Remarques

  • Si un contenu d'une tooltip est plus grand que MAXHEIGHT alors la tooltip ajoute une scrollbar verticale et deviens forcément STICKY (pour que l'utilisateur puisse scroller et lire le contenu)
  • Le stylage de ce widget utilise 5 classes (ici le préfix .tip est un exemple à remplacer par l'internalClass ou le commonClass):
    • .tip_a {} Stylage de la zone d'ancrage de la tooltip
    • .tip {} Stylage de la tooltip
    • .tip_ti {} Stylage du titre de la tooltip
    • .tip_co {} Stylage du contenu de la tooltip
    • .tip_sh {} Stylage de l'ombre de la tooltip
  • Le stylage de l'ombre (.tooltipstyle_sh) est conçu pour fournir trois éléments (nous ne répondons pas du résultat si d'autres règles CSS sont spécifiés):
    • la couleur, par ex: background-color: #CCCCCC;
    • l'épaisseur, par ex: width: 3px; (la librairie JS de gestion des tooltips utilise cette valeur pour calculer l'épaisseur de l'ombre)
    • l'opacité, par ex: -moz-opacity:0.8; /*opacity mozilla*/ filter:Alpha(opacity=80); /*opacity ie6*/ opacity:0.7; /*opacity safari*/
  • Il est possible d'ajouter de la transparence aux tooltips dans les styles (cf la remarque précédente) pour ie6, mozilla et safari.