Fournisseur relatif de variable

Cet acteur fournisseur de donnnée permet de compléter des acteurs fournisseur de variable ou de ressource pour communiquer avec une variable WOS enfant d’un REDY.

Il permet ainsi de récupérer une variable enfant ou même d’écrire une valeur d’une variable enfant en ne renseignant uniquement que le sous-chemin par rapport à une autre variable (définie dans un autre fournisseur).

La variable ou champ de variable qu’il récupère est stockée dans son information Donnée, comme pour les autres fournisseurs de donnée.

Il faut noter qu’il ne contient pas de paramètre de requête. En effet, c’est le fournisseur parent qui en est responsable. D’ailleurs, ce n’est pas lui non plus qui réalise les requêtes mais bien son fournisseur parent.

La donnée récupérée est disponible pour les liaisons ou par script.

Sommaire

🔧 propriété · ℹ️ information · ⚙️ méthode · ⚡ évènement · 🔒 lecture seule

Propriétés

Champ

this.properties.fieldName · string · défaut ''

Nom du champ de la variable qui sera récupéré et placé dans le champ data.

Il sera pris en priorité même si le relativePath contient un champ.

Par défaut, c’est la variable toute entière qui est récupérée et placée dans le champ Donnée. Si vous voulez récupérer une partie de la variable, vous pouvez indiquer le nom du champ à récupérer parmi les possibilités que vous retrouverez ici.

Choisissez Valeur si vous voulez écrire dans ce champ. Ainsi, en vous liant avec l’écriture activée à la donnée de l’acteur, vous pourrez écrire dans la variable REDY et envoyer cette valeur automatiquement si la propriété Écriture au changement est activée. Sinon par script.

Chemin relatif

this.properties.relativePath · string · défaut ''

Chemin relatif vers la variable WOS. Le chemin sera complété par le fournisseur défini dans la propriété relativeTo ou récupéré dans le contexte.

Il peut contenir le champ en ajoutant : et son nom. C’est l’ancienne écriture qui va être abandonnée au profit du champ properties.fieldName qui est préféré.

Cette propriété va contenir un chemin relatif vers la variable à récupérer. C’est un chemin au sens REDY mais par rapport à un autre chemin par ex : R00001 ou même R00001.Output.

Le chemin de référence est une construction de tous les chemins en remontant dans les parents de l’acteur.

Par exemple :

  • Fournisseur 1 :
    • Chemin : easy.RESS.R00001

Ce fournisseur pointe sur la ressource R00001. Il réalisera les requêtes.

  • Fournisseur relatif 1 :
    • Parent : Fournisseur 1
    • Chemin relatif : Output

Ce fournisseur est relatif au premier. Il indique être intéressé par la variable enfant Output de ce qui est défini dans le fournisseur parent, ici, la ressource R00001. Le chemin en entier donne : easy.RESS.R00001.Output.

  • Fournisseur relatif 2 :
    • Parent : Fournisseur relatif 1
    • champ : Valeur

Finalement, ce fournisseur est relatif au fournisseur relatif 1. Il indique quant à lui être intéressé par le champ Valeur de ce qui résulte du fournisseur parent, ici, la variable easy.RESS.R00001.Output. Le chemin en entier donne encore : easy.RESS.R00001.Output mais c’est ça valeur qui sera inscrite dans la donnée de l’acteur.

Comme pour les fournisseurs normaux, un explorateur de paramétrage de REDY aide à saisir ce sous chemin.

Clé parent

this.properties.relativeTo · string · défaut null

Clé de l’acteur fournisseur de variable WOS ou d’un autre fournisseur relatif qui sert de référence au chemin défini dans la propriété relativePath.

Cette propriété permet de renseigner le fournisseur parent de l’acteur par sa clé. Vous aurez le choix parmi tous les fournisseurs de la même scène ou du même composite ainsi que ceux définis parmi les fournisseurs de donnée globaux.

Bien entendu, il sera tout a fait possible de choisir un autre fournisseur relatif de variable aussi.

Quoi qu’il en soit, on trouvera un fournisseur normal en remontant dans l’ascendance des acteurs relatifs.

Si vous fournissez par liaison ou par script un fournisseur dans le contexte de donnée de l’acteur et que la clé du parent reste vide, ce fournisseur sera utilisé comme parent. C’est très utile pour paramétrer un composite qui contient un fournisseur relatif mais pas de normal.

Écriture au changement

this.properties.writeOnChange · boolean · défaut false

Écriture dès changement de la donnée activée?

Cette propriété active/désactive l’enregistrement de la valeur d’une variable dans le REDY si la donnée est modifiée par liaison ou par script. Il faut bien entendu que ce soit le champ Valeur qui soit inscrit dans la donnée.

Aussi, pour déclencher l’enregistrement de la donnée changée dans le REDY, il faudra appeler la méthode ⚡ write() de l’acteur.

Mode de lecture

this.properties.dataReadMode · 'always' | 'onetime' · défaut 'onetime'

Mode de lecture de la variable.

  • always : Récupération de la donnée à chaque fois que le fournisseur racine effectue une requête,
  • onetime: Récupération de la donnée qu’une fois par le fournisseur racine. Ce sera fait dès que possible.

Cette propriété permet de renseigner comment le fournisseur principal doit aller chercher la cible de l’acteur. En effet, rappelons que c’est le fournisseur parent qui réalise les requêtes. Deux modes de lecture sont possibles :

  • Une seule fois Le fournisseur parent ne fournira la cible que la première fois. Puis, ses autres requêtes n’iront plus la rafraîchir.
  • A chaque rafraîchissement L’acteur rafraichira la cible à chaque fois que le fournisseur parent fera une requête.

Informations

Accessibles par script, via this dans un script de l’acteur ou context.getActor('clé') depuis un autre acteur.

Donnée

this.data · any

Obtient ou définit la donnée exposée.

Vous trouverez dans ce champ la variable ou le champ de variable désigné par l’acteur.

Une liaison avec l’écriture activée permet de modifier la valeur de la variable REDY si l’acteur la désigne.

dataSource

this.dataSource · 🔒 lecture seule · Fournisseur de variable ou null

Obtient le fournisseur de donnée racine.

fieldName

this.fieldName · 🔒 lecture seule · string ou null

Obtient l’attribut à fournir.

fullPath

this.fullPath · 🔒 lecture seule · string

Obtient le chemin complet vers la variable.

fullPathVariable

this.fullPathVariable · 🔒 lecture seule · string ou null

Obtient le chemin complet sans l’attribut de la variable à fournir.

Requête en cours ?

this.isRequesting · 🔒 lecture seule · Boolean

Requête en cours ?

Cette information permet de savoir si l’acteur parent est en train de réaliser une requête.

Liez la visibilité d’une acteur sur cette information pour le visualiser lorsqu’il est en train de réaliser une requête.

isValorized

this.isValorized · 🔒 lecture seule · boolean

Indique si la donnée a été valorisée.

parentSource

this.parentSource · 🔒 lecture seule · Fournisseur de variable ou Fournisseur de ressource ou Fournisseur relatif de variable ou null

Obtient le fournisseur parent.

Méthodes

write()

this.write() · renvoie Promise<any>

Effectue une requête d’écriture.

Événements

Les évènements communs à tous les acteurs sont décrits avec l’acteur de base.

onDidDataStore

Se produit lorsque la donnée est stockée dans data.

context : contexte d’évènement, avec en plus :

Membre de context Type Description
data any La donnée stockée.

L’évènement onDidDataStore est déclenché à chaque fois que le fournisseur parent a réaliser une requête et que la donnée cible est écrite dans l’information Donnée.

onWriteDone

Se produit lorsque la requête d’écriture s’est terminée.

context : contexte d’évènement, avec en plus :

Membre de context Type Description
error String ou Object ou null Une erreur éventuelle
data any La donnée

L’évènement onWriteDone est déclenché à chaque fois que l’acteur a réaliser une écriture vers le REDY.

Hérite de

Outre ce qui est décrit ici, l’acteur a tout ce que décrit l’acteur de base : propriétés communes (taille, disposition, aspect, texte, bordures, effets…), évènements communs (cycle de vie, souris, clavier…) et membres accessibles par script.

Il hérite aussi de :

  • DataSource : Classe de base pour fournisseur de donnée. Permet de paramétrer les requêtes et d’exposer une donnée pour des liaisons ou accessible par script.
  • Requesterable (comportement) : Attribut la possibilité à un acteur de réaliser des requêtes.

Usage

Il est possible de créer des fournisseurs dans vos scènes ou composites. Vous pouvez également les créer de manière globale dans la sous-section Projet / Fournisseurs de variable pour en faire profiter toute votre synapp.

Grouper des requêtes.

Utiliser les fournisseurs relatifs est une bonne manière de mutualiser les fournisseurs de variable dans vos scènes et composites. Si vous attachez plusieurs relatifs à un même fournisseur de variable, il récupérera en même temps toutes les variables désignées.

Par exemple vous pouvez grouper la requête des sous variables d’une ressource :

  • Fournisseur 1 : pour accéder à une ressource
    • chemin : easy.RESS.R00001
  • Fournisseur relatif 1 : pour accéder à son état
    • parent : Fournisseur 1
    • champ : État

    ▶️ Champ État de easy.RESS.R00001

  • Fournisseur relatif 2 : pour accéder à sa valeur brute
    • parent : Fournisseur relatif 1
    • chemin relatif : Output
    • champ : Valeur

    ▶️ Champ Valeur de easy.RESS.R00001.Output

  • Fournisseur relatif 2 : pour accéder à son unité
    • parent : Fournisseur relatif 2
    • chemin relatif : Unit
    • champ : Valeur

    ▶️ Champ Valeur de easy.RESS.R00001.Unit

Le Fournisseur 1 réalise en une seule requête la récupération de toutes les variables désignées.

Chemin dynamique

Avec les fournisseurs relatifs, il est possible de construire un chemin cible dont les segments sont dynamiques :

  • Fournisseur 1 :
    • chemin : easy.RESS
  • Fournisseur relatif 1 :
    • parent : Fournisseur 1
    • chemin relatif : le sous chemin que vous souhaitez, renseigné par liaison par exemple.
  • Fournisseur relatif 2 :
    • parent : Fournisseur relatif 1
    • chemin relatif : Output
    • champ : Valeur