Téléchargement des produits


Version anglaise


 

Inséré dans une balise d'une page HTML, un traitant d'événements Adélia permet de déclencher un traitement particulier dont le code est déclaré dans le programme Adélia propriétaire de la page.

Il existe quatre types de traitants d'événements Adélia qui peuvent être associés à un déclencheur d'événement JavaScript :


Important : dans le code HTML les chaînes ci-dessus doivent impérativement être encadrées par des guillemets (") et non par des quotes simples (').


Traitant d'événements Adélia réversible / irréversible / muet

Lorsque le programme WADELIA a été créé avec le support des boutons Précédent / Suivant du navigateur activé, un événement peut être soit réversible, soit irréversible, soit muet. Si le support des boutons Précédent / Suivant est désactivé alors tous les événements Adélia sont irréversibles.


Un événement réversible peut être annulé par l'utilisateur lors d'un clic sur le bouton Précédent du navigateur.


Un événement irréversible ne peut pas être annulé par l'utilisateur : un clic sur le bouton Précédent du navigateur est sans effet. Un événement irréversible se distingue par l'ajout du paramètre : BACK=0.

Exemples :

::ADELIA_EVT( :BACK=0)

::ADELIA_ROLLUP(TBL_1, :BACK=0)


Un événement muet n'active pas le bouton Précédent du navigateur. Si ce bouton était déjà actif avant l'exécution d'un événement muet, alors un clic sur celui-ci annule le dernier événement déclenché avant l'événement muet (si celui-ci était réversible). Un événement muet est obligatoirement un événement Ajax. Il se distingue par l'ajout du paramètre : BACK=2.

Exemples :

::ADELIA_EVT( :BACK=2,:AJAX,:ASYNC,:COMP=1)

::ADELIA_EVT(MY_EVENT,:BACK=2,:AJAX,:ASYNC,:COMP=2,:TIMER=10S)


Traitant d'événements Adélia AJAX

Chaque type de traitant d'événements Adélia a son pendant en mode AJAX. Un événement AJAX se distingue par l'ajout du paramètre :AJAX.

Exemples :

::ADELIA_EVT(:AJAX,:COMP=1)

::ADELIA_EVT_NOVALID(Ident, :AJAX,:COMP=1)


De plus, un événement AJAX peut se particulariser en utilisant plusieurs paramètres :


:COMP

Définit la stratégie à suivre lors de demandes concurrentes d'exécution de cet événement. Cette stratégie doit permettre de résoudre les cas d'exécution, comme par exemple :

  • le double clic sur un bouton (lorsqu'on a un événement sur Onclick),
  • la sélection d'une valeur dans une liste déroulante en utilisant la roue de la souris (lorsqu'on a un événement sur Onchange),
  • la saisie de caractères dans un champ de saisie (lorsqu'on a un événement sur Keypressed),
  • etc.


Plusieurs comportements sont possibles :


Comportement n° 1 (:COMP=1) :

Faire comme s'il s'agissait de deux événements différents et s'appuyer sur la règle définie pour les requêtes différentes (voir paramètre SIMULTANEOUS_DIFFERENT_REQUESTS_RULE dans Paramètres du fichier AWSAjax.properties).


Comportement n° 2 (:COMP=2) :

Annuler l'événement précédent (annuler physiquement la connexion HTTP si l'événement précédent est en cours d'exécution ou le supprimer de la file d'attente s'il est en attente d'exécution). Annuler un événement en cours de traitement n'interrompt pas son traitement sur le serveur d'applications Web mais annule seulement la réception de la réponse par le navigateur.

Ce comportement peut être utilisé dans le cas de deux événements onchange sur une liste déroulante ou deux événements cycliques.


Comportement n° 3 ( :COMP=3) :

On ne prend pas en compte le second événement quel que soit l'état du premier événement (en cours ou en attente).

Ce comportement peut être utilisé dans le cas d'un double clic sur un bouton.


Le paramètre :COMP est obligatoire dans la définition d'un événement AJAX.


:ASYNC

Définit une exécution asynchrone de l'événement. Un événement asynchrone ne fige pas l'interface utilisateur. Celle-ci reste réactive pendant le traitement de l'événement sur le serveur d'application Web.

Le paramètre :ASYNC est optionnel dans la définition d'un événement AJAX. S'il n'est pas présent cela signifie que l'événement est synchrone.


:TIMER

Définit le temps d'attente entre deux exécutions de cet événement. La présence de ce paramètre signifie que l'événement est cyclique : il est automatiquement répété indéfiniment dès sa première exécution.

Les valeurs possibles sont :

- XXMS : définit un nombre (XX) en milli-secondes,

- XXS : définit un nombre (XX) en secondes,

- XXM : définit un nombre (XX) en minutes,

- XXH : définit un nombre (XX) en heures.

Cette valeur ne doit pas être supérieure à la durée de vie d'une session HTTP (définie dans le fichier web.xml).

Le paramètre :TIMER est optionnel dans la définition d'un événement AJAX.


:PRIORITY

Définit la priorité de l'événement lorsqu'il est placé dans la file d'attente. Cette priorité définit l'ordre d'exécution de chaque événement dans la file d'attente.

Cette valeur doit être comprise entre REQUEST_MIN_PRIORITY et REQUEST_MAX_PRIORITY.

Le paramètre :PRIORITY est optionnel dans la définition d'un événement AJAX. S'il n'est pas présent, il vaut REQUEST_DEFAULT_PRIORITY.


Exemples d'événements AJAX :

::ADELIA_EVT( :AJAX, :ASYNC, :COMP=1)

Événement asynchrone de comportement 1

::ADELIA_EVT_NOVALID(:AJAX, :COMP=2,:PRIORITY=6)

Événement synchrone de comportement 2 et de priorité 6

::ADELIA_EVT_NOVALID(OBJ, :AJAX, :ASYNC, :COMP=1, :TIMER=10S)

Événement cyclique asynchrone de comportement 1 répété toutes les 10 secondes


Dans les paragraphes ci-dessous, on peut remplacer un événement classique par son pendant AJAX.


:INVIS

Rend invisible l'indicateur de progression lorsque cet événement est exécuté.

Ce paramètre n'est pris en compte que si PROGRESS_INDICATOR_SHOW_ALL_STARTED_REQUEST vaut "N".



1.  ::ADELIA_EVT, ::ADELIA_EVT(Ident)

Remarque importante : l'explication de ces deux traitants d'événements est également valable pour les traitants ::ADELIA_EVT_NOVALID et ::ADELIA_EVT_NOVALID(Ident) qui s'appliquent aux objets Adélia utilisés sans test de validité des zones de la page HTML (bouton radio Evénement sans validation de la boîte d'insertion d'un objet).


::ADELIA_EVT

L'utilisation de la chaîne "::ADELIA_EVT" permet d'associer de façon implicite un traitant d'événement Adélia à un objet Adélia ou à une balise HTML quelconque identifiable à l'aide d'un attribut name.


Premier cas : association à un objet Adélia


Association d'un traitant d'événement Adélia pour l'événement EventName de l'objet Adélia nommé ObjName :


<adelia:object><baliseHTML name="ObjName" OnEventName="::ADELIA_EVT" /></adelia:object>


Lors de la sauvegarde de la page HTML, le paragraphe GESTION EVENEMENT du source Adélia de la page concernée est enrichi d'un bloc OBJNAME:ONEVENTNAME dans le bloc OBJNAME.


Cliquez ici pour voir un exemple


Second cas : association à une balise HTML quelconque identifiée par un attribut name


Association d'un traitant d'événement Adélia pour l'événement EventName de la balise (objet) nommée ObjName :


<baliseHTML name="ObjName" OnEventName="::ADELIA_EVT" />


Lors de la sauvegarde de la page HTML, le paragraphe GESTION EVENEMENT du source Adélia de la page concernée est enrichi d'un bloc OBJNAME:ONEVENTNAME dans le bloc OBJNAME.


Dans le cas d'une balise HTML ne supportant pas l'attribut name et, par extension, dans tout contexte où un objet ne peut pas être référencé de façon implicite, il faut utiliser la directive ::ADELIA_EVT(Ident).


Cliquez ici pour voir un exemple


::ADELIA_EVT(Ident)

L'utilisation de la chaîne "::ADELIA_EVT(Ident)" permet d'associer de façon explicite un traitant d'événement Adélia à un pseudo-objet identifié par Ident.


Association d'un traitant d'événement Adélia pour l'événement EventName du pseudo-objet nommé Ident :


<… OnEventName="::ADELIA_EVT(Ident)" …>


Lors de la sauvegarde de la page HTML, le paragraphe GESTION EVENEMENT du source Adélia de la page concernée est enrichi d'un bloc IDENT:ONEVENTNAME dans le bloc IDENT.


La chaîne "::ADELIA_EVT(Ident)" peut également être utilisée dans du code JavaScript.

Ainsi, il est possible de définir dynamiquement du code HTML nécessitant l'appel d'un traitant d'événement Adélia. Il est même possible de définir dynamiquement le déclencheur d'événement JavaScript qui fera appel au traitant d'événement Adélia.


Cliquez ici pour voir un exemple


2.  ::ADELIA_ROLLUP

<adelia :object …>

<… name="ObjName" OnEventName= "::ADELIA_ROLLUP(ListName)"…>

</adelia:object>


Cette directive permet de déclarer un traitant de pagination avant sur la liste ListName. L'appel à la pagination est effectué en réponse à l'événement EventName de l'objet ObjName.

Lors de la sauvegarde de la page HTML, le paragraphe GESTION EVENEMENT du source Adélia de la page concernée est enrichi d'un bloc LISTNAME:ONROLLUP dans le bloc LISTNAME.


Cliquez ici pour voir un exemple


3.  ::ADELIA_ROLLDOWN

<adelia :object …>

<… name="ObjName" OnEventName= "::ADELIA_ROLLDOWN(ListName)"…>

</adelia:object>


Cette directive permet de déclarer un traitant de pagination arrière sur la liste ListName. L'appel à la pagination est effectué en réponse à l'événement EventName de l'objet ObjName.

Lors de la sauvegarde de la page HTML, le paragraphe GESTION EVENEMENT du source Adélia de la page concernée est enrichi d'un bloc LISTNAME:ONROLLDOWN dans le bloc LISTNAME.


Cliquez ici pour voir un exemple


4.  ::ADELIA_EVT_UPL, ::ADELIA_EVT_UPL(Ident)


::ADELIA_EVT_UPL

L'utilisation de la chaîne "::ADELIA_EVT_UPL" permet d'associer de façon implicite un traitant d'événement Adélia à un objet Adélia ou à une balise HTML quelconque identifiable à l'aide d'un attribut name. Cet événement a pour conséquence, s'il existe des objets Adélia Téléchargement dans le formulaire, de déclencher le téléchargement du ou des fichiers sélectionnés.


Premier cas : association à un objet Adélia


Association d'un traitant d'événement Adélia pour l'événement EventName de l'objet Adélia nommé ObjName :


<adelia:object><baliseHTML name="ObjName" OnEventName="::ADELIA_EVT_UPL" /></adelia:object>


Lors de la sauvegarde de la page HTML, le paragraphe GESTION EVENEMENT du source Adélia de la page concernée est enrichi d'un bloc OBJNAME:ONEVENTNAME dans le bloc OBJNAME.


Cliquez ici pour voir un exemple


Second cas : association à une balise HTML quelconque identifiée par un attribut name


Association d'un traitant d'événement Adélia pour l'événement EventName de la balise (objet) nommée ObjName :


<baliseHTML name="ObjName" OnEventName="::ADELIA_EVT_UPL" />


Lors de la sauvegarde de la page HTML, le paragraphe GESTION EVENEMENT du source Adélia de la page concernée est enrichi d'un bloc OBJNAME:ONEVENTNAME dans le bloc OBJNAME.


Dans le cas d'une balise HTML ne supportant pas l'attribut name et, par extension, dans tout contexte où un objet ne peut pas être référencé de façon implicite, il faut utiliser la directive ::ADELIA_EVT_UPL(Ident).


Cliquez ici pour voir un exemple


::ADELIA_EVT_UPL(Ident)

L'utilisation de la chaîne "::ADELIA_EVT_UPL(Ident)" permet d'associer de façon explicite un traitant d'événement Adélia à un pseudo-objet identifié par Ident. Cet événement a pour conséquence, s'il existe des objets Adélia Téléchargement dans le formulaire, de déclencher le téléchargement du ou des fichiers sélectionnés.


Association d'un traitant d'événement Adélia pour l'événement EventName du pseudo-objet nommé Ident :


<… OnEventName="::ADELIA_EVT_UPL(Ident)" …>


Lors de la sauvegarde de la page HTML, le paragraphe GESTION EVENEMENT du source Adélia de la page concernée est enrichi d'un bloc IDENT:ONEVENTNAME dans le bloc IDENT.


La chaîne "::ADELIA_EVT_UPL(Ident)" peut également être utilisée dans du code JavaScript.

Ainsi, il est possible de définir dynamiquement du code HTML nécessitant l'appel d'un traitant d'événement Adélia. Il est même possible de définir dynamiquement le déclencheur d'événement JavaScript qui fera appel au traitant d'événement Adélia.


Cliquez ici pour voir un exemple


↑ Haut de page

  • Aucune étiquette