Studio 1.5.0

Runtime 2.8.0

REDY 16.4.0

Cellule de tableau de données

💎 Acteur Avancé

Le tableau de données est un acteur qui nécessite une bonne compréhension de son fonctionnement et de ses propriétés ainsi que des notions de JSON et parfois du JavaScript.

Ce type d’acteur est particulier car il ne peut pas être utilisé directement dans une scène ou un composite. Il est utilisé uniquement comme style d’acteur pour les colonnes d’un acteur Tableau de données.

Chaque colonne d’un tableau de données utilise un style d’acteur cellule de tableau de données. Des styles par défaut sont fournis pour chaque type de colonne (voir la page Tableau de données pour plus de détails).

Il est possible de créer d’autres styles d’acteur Cellule de donnée pour les personnaliser. Ils seront basés sur les styles par défaut pour les utiliser dans les colonnes de type correspondant.
Voir la page Tableau de données pour plus de détails.

Sommaire

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

Propriétés

Afficher le texte ?

this.properties.displayText · boolean · défaut false · modifie : Rendu

Composite

this.properties.composite · any · défaut null · modifie : Rendu

Pour personnaliser réellement l’affichage, il faut créer un composite qui va définir comment afficher la donnée et ajouter un style d’acteur cellule de tableau de données basé sur Personnalisé table-cell-custom qui utilise ce composite.

Passage par le contexte de données

Le composite à créer reçoit les mêmes éléments de la cellule que dans l’évènement onDidCellRender de l’acteur Tableau de données. Ils sont disponibles dans le contexte de données du composite. Ainsi, elle sont accessibles par script ou via des liaisons vers le contexte de données.

Passage par les propriétés du composite

Il est également possible de commander des propriétés du composite en passant un objet dans l’évènement onCellContentTransform de l’acteur Tableau de données.

// onCellContentTransform

if (!context.isHeader && context.columnKey === "custom1") {
  // la clé de la colonne est "custom1"
  // Personnalisation de la cellule
  return {
      // Passage d'une propriété "color" au composite
      color: context.dataRow.status === "active" ? "green" : "red",
      // Passage d'une propriété "label" au composite
      label: context.dataRow.name,
  };
}

Dans cet exemple, on passe deux propriétés color et label au composite de la cellule. La couleur du composite sera changée en fonction de la valeur du champ status de la ligne de données, et la propriété scpécifique qui a comme clé label sera définie avec la valeur du champ name de la ligne de données.

Dépassement de texte

this.properties.textOverflow · 'nowrap' | 'break' | 'wrap' | 'truncate' · défaut 'nowrap' · modifie : Rendu

Par défaut, le texte est tronqué si la largeur de la cellule est insuffisante pour l’afficher en entier. Il est possible de configurer le comportement en cas de dépassement de texte.

  • Tronquer truncate: le texte est coupé et des points de suspension sont ajoutés à la fin.
  • Retour à la ligne wrap: le texte est affiché sur plusieurs lignes si nécessaire.
  • Retour à la ligne (Cassure) break: le texte est affiché sur plusieurs lignes si nécessaire, en cassant les mots si besoin.
  • Sans retour à la ligne nowrap: le texte est affiché en une seule ligne, même s’il dépasse la largeur de la cellule.

Format date/heure

this.properties.datetimeFormat · string · défaut 'DD/MM/YYYY HH:mm:ss' · modifie : Rendu

Il est possible de configurer le format d’affichage de la date/heure en utilisant la propriété Format. Vous pouvez utiliser les formats de Moment.js pour personnaliser l’affichage selon vos besoins.

Image faux

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

Image vrai

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

Position verticale

this.properties.verticalPosition · 'start' | 'center' | 'end' · défaut 'center' · modifie : Style CSS

Il est possible de configurer l’alignement vertical du texte dans la cellule. Par défaut, le texte est centré verticalement.

  • Haut start: le texte est aligné en haut de la cellule.
  • Milieu center: le texte est centré verticalement dans la cellule.
  • Bas end: le texte est aligné en bas de la cellule.

Texte faux

this.properties.falseText · string · défaut '_table_cell_false_text'

Texte vrai

this.properties.trueText · string · défaut '_table_cell_true_text'

Deux propriétés permettent de configurer le texte affiché pour les états vrai et faux.

Par défaut, les textes sont “Oui” et “Non”, mais ils peuvent être personnalisés en utilisant les propriétés suivantes :

Type

this.properties.type · 'string' | 'number' | 'boolean' | 'boolean-image' | 'datetime' · défaut 'string'

Valeur

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

La propriété principale à configurer est la valeur à afficher dans la cellule. Par défaut, la valeur de la donnée est utilisée.

Informations

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

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.

column

this.column · 🔒 lecture seule

Colonne de la cellule (key, name, fieldPath, style, columnWidth…).

columnKey

this.columnKey · 🔒 lecture seule

Clé de la colonne de la cellule.

composite

this.composite

Composite affiché dans la cellule, null sans composite.

content

this.content · 🔒 lecture seule

Contenu affiché dans la cellule : l’image pour le type boolean-image, sinon le texte.

dataRow

this.dataRow · 🔒 lecture seule

Ligne de données de la cellule (objet vide si absente).

isHeader

this.isHeader · 🔒 lecture seule

Indique si la cellule appartient à la ligne d’en-tête.

rowKey

this.rowKey · 🔒 lecture seule

Index de la ligne de la cellule (HEADER pour l’en-tête).

text

this.text · 🔒 lecture seule

Texte affiché dans la cellule : la valeur transformée, mise en forme selon le type de la cellule (booléen, date).

transformedValue

this.transformedValue

Valeur de la cellule après transformation par l’évènement onCellContentTransform du tableau.

value

this.value · 🔒 lecture seule

Valeur brute de la cellule (propriété value).

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.

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.

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.

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.

Événements

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

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.

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 :

  • LayoutBase : Base pour les acteurs de disposition.
  • Parenthood (comportement) : Étend la classe pour permettre d’avoir des acteurs enfants.

Types de colonnes

Chaque type de colonne utilise un jeu de propriétés spécifiques pour configurer l’affichage des données dans les cellules. Les types de colonnes disponibles sont décrits dans la page Tableau de données.

Lorsqu’on crée un style d’acteur cellule de tableau de données, il est important de se baser sur le style correspondant au type de colonne souhaité. Ainsi, les propriétés spécifiques au type de colonne seront disponibles pour la configuration.

Par exemple, pour créer un style d’acteur cellule de tableau de données pour une colonne de type Nombre, il faut créer un nouveau style et le baser sur le style par défaut Nombre table-cell-number. Cela permettra d’accéder aux propriétés spécifiques pour configurer l’affichage des nombres dans les cellules de cette colonne.

Autre exemple, pour créer un style d’acteur cellule de tableau de données pour l’utiliser comme en-tête de colonne, il faut créer un nouveau style et le baser sur le style par défaut Texte entête table-cell-string-header ou Texte table-cell-string. Cela permettra d’accéder aux propriétés spécifiques pour configurer l’affichage des en-têtes de colonnes.

Basé sur Texte table-cell-string

Ce style est utilisé pour les colonnes de type Texte. Il permet de configurer l’affichage des données textuelles dans les cellules.

Basé sur Nombre table-cell-number

Ce style est utilisé pour les colonnes de type Nombre. Il permet de configurer l’affichage des données numériques dans les cellules.

La propriété Valeur est un nombre.

Par défaut l’alignement horizontal est à droite, mais il est possible de le modifier en utilisant la propriété commune Alignement du texte textAlign (gauche, centre, droite, justifié).

Basé sur Booléen table-cell-boolean

Ce style est utilisé pour les colonnes de type Booléen. Il permet de configurer l’affichage des données booléennes (vrai/faux) dans les cellules. Un texte est affiché selon la valeur (par défaut “Oui” pour vrai et “Non” pour faux).

La propriété Valeur est un booléen.

Basé sur Booléen image table-cell-boolean-image

Ce style est utilisé pour les colonnes de type Booléen (image). Il permet de configurer l’affichage des données booléennes (vrai/faux) dans les cellules en utilisant des images et un texte au survol pour représenter les états vrai et faux. Le texte est affiché selon la valeur (par défaut “Oui” pour vrai et “Non” pour faux). Si aucune image n’est configurée, une bulle de couleur verte (vrai) ou rouge (faux) est affichée.

La propriété Valeur est un booléen.

Basé sur Date/Heure table-cell-datetime

Ce style est utilisé pour les colonnes de type Date/Heure. Il permet de configurer l’affichage des données de type date et heure dans les cellules.

La propriété Valeur est une date/heure au format ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) ou un timestamp (nombre de millisecondes depuis le 1er janvier 1970).

Basé sur Personalisé table-cell-custom

Ce style est utilisé pour les colonnes de type Personnalisé. Il permet de créer des cellules avec un affichage entièrement personnalisé en utilisant un composite. Par défaut, un composite basique est fourni, mais il est possible de créer un composite personnalisé.