Sélectionner une page

Fonctions de raffraichissement

Les fonctions qui suivent servent principalement à repeupler différentes parties d’un document affiché à l’écran, sans le recharger dans son intégralité.

Fonction setAttribute(objet, propriété, valeur) #

Cette fonction permet de placer une valeur dans un attribut se trouvant dans l’ilot XML. Par exemple, setAttribute(« study », »shortName », »MI5″), place la valeur « MI5 » dans la propriété shortName de l’élément study :

  <study shortName="MI5" longName="Mission Impossible 5"></study>

Si l’attribut n’existe pas, setAttribute() le crée en même temps que sa valeur.

setAttribute() s’adresse à l’ilot XML uniquement. Cette fonction n’a aucun effet de bord (rien de visible à l’écran). Elle est surtout utilisée préalablement à la fonction refresh().

Fonction reloadObjectsPart(objet) #

Cette fonction Ajax appelle le serveur afin de recharger la partie de l’ilot désignée en argument. contrairement à setAttribute() qui s’exécute uniquement côté client, reloadObectsPart() va puiser les données sur le serveur (en Ajax) et remplace un bloc précis (donné en argument).

Par exemple reloadObjectsPart(« user ») va chercher les informations concernant l’utilisateur sur le serveur, puis il construit un nouvel élément <user> qu’il vient placer dans l’ilot (en remplçant l’ancien).

Fonction refresh(zoneIdentifiée) #

La fonction refresh permet de rafraîchir une zone identifiée se trouvant dans le <body>. Par exemple, refresh(« Profil ») permet de rafraîchir la zone <div id= »Profil »> et tout son contenu. Le processus est relatiemet complexe, car il va chercher le contenu de l’id dans le html original (avec les variables entre accolades, les itérations, etc) et il refait un populate() sur cette partie du document.

En général, il refresh() est toujours précédé d’une changement de l’ilot, donc de l’une des deux fonctions précédentes (ou les deux).

Raccourci #

Dans la plupart des cas, refresh() doit appeler le serveur pour charger les objets du serveur puis raffraichir l’id concerné à l’écran. Le raccourci suivant :

  refresh(zoneIdentifiée, objet)

est équivalent à :

  reloadObjectsPart(objet)
  refresh(zoneIdentifiée)

Toutefois il existe des situations où après le chargement de l’objet côté serveur, on opère à quelques modifications côté client avant de raffraichir. Dans ce cas, le raccourci n’est plus utilisable.

Par exemple :

reloadObjectsPart("user")  
setAttribute("user", "icon", photoTemporaire)
refresh("Profil")

Powered by BetterDocs