Studio 1.7.0
Runtime 2.8.0
REDY Pilot 1.0.0
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.
