Studio 1.7.0

Runtime 2.8.0

REDY Pilot 1.0.0

Sommaire

Tableau de curseur

C’est un acteur tableau de données alimenté directement par le résultat d’un curseur requête.

Il permet d’afficher des données paginées issues d’une base de données SQL via le curseur requête choisi. Les colonnes peuvent être automatiquement créées en fonction des données reçues ou définies manuellement.

Comme pour le tableau de données classique, de nombreux évènements sont disponibles pour interagir avec le tableau ou chaque cellule et le personnaliser.

Voir la page Tableau de données pour plus de détails sur les fonctionnalités du tableau de données.

En revanche, certaines fonctionnalités spécifiques au tabldeau de donndées classique ne sont pas disponibles dans le tableau de curseur, comme la modification directe des données, la pagination manuelle. Les propriétés Lignes de données et Nombre de pages sont remplies par l’acteur à chaque réponse du curseur : une valeur saisie est remplacée.

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

Propriétés

Auto rafraîchissement

this.properties.autoRefresh · boolean · défaut true

C’est la même définition que la propriété Auto rafraîchissement pour le fournisseur de requête.

Colonnes

this.properties.columns · any[] · défaut '[]' · modifie : Rendu

Liste des colonnes du tableau.

C’est la même définition que la propriété Colonnes pour le tableau de données classique.

Délai rafraîchissement

this.properties.autoRefreshDelay · number · défaut 30

C’est la même définition que la propriété Délai de rafraîchissement pour le fournisseur de requête.

En-tête ?

this.properties.displayHeader · boolean · défaut true

Indique si l’entête du tableau est visible.

C’est la même définition que la propriété En-tête pour le tableau de données classique.

Lignes de données

this.properties.dataRows · string · défaut '' · modifie : Rendu

Lignes de données du tableau.

Remplie par l’acteur à chaque réponse du curseur, avec les lignes reçues en JSON : une valeur saisie dans l’inspecteur est remplacée.

Nombre de pages

this.properties.pageMax · number · défaut 1

Nombre de pages, calculé par l’acteur à partir de la taille de page.

Calculé à chaque réponse du curseur : nombre total de lignes divisé par la Taille page, arrondi au supérieur (1 si la taille de page vaut 0 ou -1).

Pagination ?

this.properties.displayPaging · boolean · défaut true

Indique si la pagination est activée.

C’est la même définition que la propriété Pagination pour le tableau de données classique.

Requête SQL

this.properties.label · any · défaut null

Obtient les propriétés de l’acteur.

C’est la même définition que la propriété Requête SQL pour le fournisseur de requête.

Style d’en-tête

this.properties.headerStyle · string · défaut 'table-cell-string-header' · modifie : Rendu

C’est la même définition que la propriété Style d’acteur cellule d’en-tête pour le tableau de données classique.

Taille page

this.properties.pageSize · number · défaut 10

Pagination de la requête

Contrairement au fournisseur de requête, le tableau de curseur n’a pas de propriétés Mode, Limite de résultats ni Décalage des résultats : la limite et le décalage de la requête sont calculés à partir de la Taille page et de la page affichée.

Paramètres de requête

Comme pour le fournisseur de requête, si le curseur SQL utilise des paramètres, Studio propose de créer des additionnels pour les fournir.

Generation automatique des colonnes

Dans Studio, il est possible d’ajouter une ou toutes les colonnes automatiquement en fonction des données reçues du curseur requête.

Informations

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

autoRefreshing

this.autoRefreshing · 🔒 lecture seule · Boolean

Indique si le rafraîchissement automatique est actif.

canAddActor

this.canAddActor · 🔒 lecture seule · boolean

Pour savoir s’il est possible d’ajouter un acteur.

canClearActors

this.canClearActors · 🔒 lecture seule · boolean

Pour savoir s’il est possible de retirer tous les acteurs.

canRemoveActor

this.canRemoveActor · 🔒 lecture seule · boolean

Pour savoir s’il est possible de retirer un acteur.

childActors

this.childActors · 🔒 lecture seule · Array<BaseActor

Obtiens la liste de tous les acteurs enfants.

Colonnes

this.columns · 🔒 lecture seule

Colonnes visibles du tableau, lues depuis la propriété columns (JSON) et complétées des valeurs par défaut.

Le champ columns permet d’obtenir les définitions des colonnes directement sous forme d’un tableau d’objets à la différence de la propriété qui contient le JSON sous forme de texte.

cursor

this.cursor · 🔒 lecture seule · Object ou null

Curseur défini dans le REDY (null avant la première requête).

data

this.data

Résultat de la dernière requête du curseur (lecture seule).

dataColumns

this.dataColumns · 🔒 lecture seule · Array<{key: string, type: string}> ou undefined

Colonnes du résultat (data.columns) : nom (key) et type (type) de chacune.

Ligne de données

this.dataRows · 🔒 lecture seule · Array<Object>

Lignes du résultat sous forme d’objets, une propriété par colonne ({ id: 1, name: 'Alice' }).

Le champ dataRows permet d’obtenir les ligne de données directement sous forme d’un tableau d’objets à la différence de la propriété qui contient le JSON sous forme de texte.

error

this.error · 🔒 lecture seule · String ou null

Erreur de requête.

hasError

this.hasError · 🔒 lecture seule · Boolean

Indique s’il y a eu une erreur de requête.

headerRow

this.headerRow

Ligne d’en-tête affichée : associe à chaque clé de colonne l’acteur cellule d’en-tête, null sans en-tête.

isLoading

this.isLoading

Indique si le voile de chargement du tableau est affiché.

isRequesting

this.isRequesting · 🔒 lecture seule · Boolean

Indique si la requête est en cours.

lastRequestDate

this.lastRequestDate · 🔒 lecture seule · String ou null

Date de la dernière requête (ISO 8601), null avant la première.

Numéro de page

this.page

Page courante du tableau (à partir de 1).

Le champ page permet d’obtenir le numéro de la page actuellement affichée dans le tableau de données.

rows

this.rows

Lignes affichées : un objet par ligne, qui associe à chaque clé de colonne l’acteur cellule correspondant.

Nombre de lignes

this.rowsCount · 🔒 lecture seule

Nombre de lignes de données du tableau.

Le champ rowsCount permet d’obtenir le nombre de lignes de données actuellement présentes dans le tableau.

totalRows

this.totalRows · 🔒 lecture seule · number

Nombre total de lignes du résultat (data.totalRows), 0 sans donnée.

Méthodes

addActor(actorSetup, atIndex)

this.addActor(actorSetup, atIndex) · renvoie Promise<Actor.BaseActor>

Ajoute un acteur enfant. L’acteur est ajouté à la fin de la liste si atIndex n’est pas renseigné. Note: C’est le seul moyen de créer un acteur.

  • actorSetup : Setup JSON de l’acteur à ajouter.
  • atIndex : Position à laquelle l’acteur doit être ajouté.

addActors(actorSetups, atIndexes?)

this.addActors(actorSetups, atIndexes?) · renvoie Promise<Array.<Actor.BaseActor>>

Ajoute une collection d’acteurs enfants. Les acteurs sont ajoutés à la fin de la liste si le tableau d’indexes n’est pas spécifié.

  • actorSetups : Tableau des Setups JSON des acteurs à ajouter.
  • atIndexes : Tableau des indexes où ajouter les acteurs.

changePage(newPage)

this.changePage(newPage)

Affiche la page demandée (entre 1 et pageMax) et déclenche onChangeDataPage.

clearActors()

this.clearActors()

Retire tous les acteurs enfants.

getActor(key)

this.getActor(key) · renvoie Actor.BaseActor

Obtient un acteur enfant par sa clé.

  • key : Clé de l’acteur à trouver.

getParameters()

this.getParameters() · renvoie Object

Paramètres envoyés au curseur : les additionnelles de l’acteur qui portent le nom d’un paramètre du curseur, converties en texte ('1' ou '0' pour un booléen).

moveDownActor(key)

this.moveDownActor(key)

Déplace vers le bas un acteur enfant obtenu par sa clé.

  • key : Clé de l’acteur enfant à déplacer.

moveUpActor(key)

this.moveUpActor(key)

Déplace vers le haut un acteur enfant obtenu par sa clé.

  • key : Clé de l’acteur enfant à déplacer.

refresh()

this.refresh()

Effectue un rafraîchissement de la donnée.

refreshTable()

this.refreshTable()

Reconstruit les cellules du tableau à partir des colonnes et des lignes de données, puis déclenche onDidTableRender.

removeActor(actorKey)

this.removeActor(actorKey)

Retire un acteur enfant.

  • actorKey : Clé de l’acteur enfant à retirer.

removeActors(…actorKeys)

this.removeActors(...actorKeys)

Retire les acteurs enfants.

  • actorKeys : Clés de l’acteur enfant à retirer.

request()

this.request() · renvoie Promise<Any>

Effectue une requête.

requestDebounce()

this.requestDebounce() · renvoie Promise<any>

Effectue une requête retardée. Si une requête est déjà en cours, elle part à sa fin.

Événements

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

onCellContentTransform

Cet évènement est déclenché lors de la transformation du contenu d’une cellule du tableau de données.

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

Membre de context Type Description
isHeader Boolean Vrai si c’est une cellule d’en-tête
isCell Boolean Vrai si c’est une cellule
column Object La définition de la colonne
rowKey String La clé de la ligne
columnKey String La clé de la colonne
dataRow Object La ligne de données complète
dataRows Array Toutes les lignes de données
value any La valeur brute de la cellule
cell Object La cellule en cours de rendu
transformedValue any La valeur transformée de la cellule
text String Le texte affiché dans la cellule
content any Le contenu affiché dans la cellule
row Object La ligne en cours de rendu
rows Array Toutes les lignes en cours de rendu

Valeur renvoyée (any) : La valeur transformée de la cellule

C’est la même définition que l’évènement ⚡onCellContentTransform pour le tableau de données classique.

onChangeDataPage

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

Membre de context Type Description
page    

C’est la même définition que l’évènement ⚡onChangeDataPage pour le tableau de données classique. Mais elle n’est pas faite pour alimenter le tableau de curseur car la pagination est gérée automatiquement.

onDidActorAdd

Se produit lorsque un acteur est ajouté.

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

Membre de context Type Description
addedActor Actor.BaseActor Acteur ajouté.

onDidActorRemove

Se produit lorsque un acteur est retiré.

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

Membre de context Type Description
removedActor Actor.BaseActor Acteur retiré.

onDidActorsAdd

Se produit lorsque une collection d’acteurs est ajoutée.

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

Membre de context Type Description
addedActors Array.<Actor.BaseActor> Acteurs ajoutés.

onDidActorsClear

Se produit lorsque la collection d’acteurs est vidée.

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

Membre de context Type Description
removedActors Array.<Actor.BaseActor> Acteurs retirés.

onDidActorsRemove

Se produit lorsque des acteurs sont retirés.

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

Membre de context Type Description
removedActors Array.<Actor.BaseActor> Acteurs retirés.

onDidCellRender

Cet évènement est déclenché après le rendu d’une cellule du tableau de données.

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

Membre de context Type Description
isHeader Boolean Vrai si c’est une cellule d’en-tête
isCell Boolean Vrai si c’est une cellule
column Object La définition de la colonne
rowKey String La clé de la ligne
columnKey String La clé de la colonne
dataRow Object La ligne de données complète
dataRows Array Toutes les lignes de données
value any La valeur brute de la cellule
cell Object La cellule en cours de rendu
transformedValue any La valeur transformée de la cellule
text String Le texte affiché dans la cellule
content any Le contenu affiché dans la cellule
row Object La ligne en cours de rendu
rows Array Toutes les lignes en cours de rendu

C’est la même définition que l’évènement ⚡onDidCellRender pour le tableau de données classique.

onDidGetCursor

Se produit lorsque le curseur a été récupéré du REDY, avant son exécution.

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

Membre de context Type Description
cursor Object ou null Le curseur
parameters Object Les paramètres envoyés au curseur

onDidTableRender

Cet évènement est déclenché après le rendu complet du tableau de données.

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

Membre de context Type Description
headerRow Object La ligne d’en-tête
rows Array Toutes les lignes en cours de rendu

C’est la même définition que l’évènement ⚡onDidTableRender pour le tableau de données classique.

onRequestDone

Se produit lorsque la requête 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

Événement déclenché lorsque la requête du curseur est terminée et que les résultats sont disponibles. C’est la même définition que l’évènement ⚡onRequestDone pour le fournisseur de requête.

onWillCellRender

Cet évènement est déclenché avant le rendu d’une cellule du tableau de données.

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

Membre de context Type Description
isHeader Boolean Vrai si c’est une cellule d’en-tête
isCell Boolean Vrai si c’est une cellule
column Object La définition de la colonne
rowKey String La clé de la ligne
columnKey String La clé de la colonne
dataRow Object La ligne de données complète
dataRows Array Toutes les lignes de données
value any La valeur brute de la cellule
cell Object La cellule en cours de rendu
transformedValue any La valeur transformée de la cellule
text String Le texte affiché dans la cellule
content any Le contenu affiché dans la cellule
row Object La ligne en cours de rendu
rows Array Toutes les lignes en cours de rendu

C’est la même définition que l’évènement ⚡onWillCellRender pour le tableau de données classique.

⚡Evènements souris et tactile

C’est la même définition que les ⚡Evènements souris et tactile pour le tableau de données classique.

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 :

  • Requesterable (comportement) : Attribut la possibilité à un acteur de réaliser des requêtes.
  • LayoutBase : Base pour les acteurs de disposition.
  • Parenthood (comportement) : Étend la classe pour permettre d’avoir des acteurs enfants.