rougail/doc/family
2023-11-16 21:50:37 +01:00
..
README.md feat: new format 1.0 2023-11-16 21:50:37 +01:00

Table of Contents

Une famille

Synopsis

Une famille est un conteneur de variables et de sous-famille.

⚠️ Une famille sans sous-famille ni sous-variable sera automatiquement supprimée.

Paramètres

Paramètre Commentaires
name
string
mandatory
Nom de la famille.
C'est avec ce nom qu'on va pouvoir interagir avec la famille.
Il est préférable de suivre la convention sur les noms de variable.
type, _type
string
Type de la famille.
Le type n'est pas obligatoire même si parfois c'est nécessaire de le faire pour aider le moteur.
Valeurs possible :
- family ← par defaut
- leadership
- dynamic
📝 Si une sous-famille ou une sous-variable a déjà le nom "type" il est possible d'utiliser l'attribut "_type".
description, _description
string
La description de la famille.
Information utilisateur permettant de comprendre l'utilité de la famille.
📝 Si une sous-famille ou une sous-variable a déjà le nom "description" il est possible d'utiliser l'attribut "_description".
help, _help
string
Aide complémentaire associée à la famille.
📝 Si une sous-famille ou une sous-variable a déjà le nom "help" il est possible d'utiliser l'attribut "_help".
mode, _mode
string
Mode de la famille
Le mode par défaut d'une famille est le mode le plus petit des familles parentes, les variables enfants ou des familles enfants qui sont contenus dans cette famille.
Ce mode permet aussi de définir le mode par défaut des variables ou des familes inclusent dans cette famille.
📝 Si une sous-famille ou une sous-variable a déjà le nom "mode" il est possible l'attribut "_mode".
hidden, _hidden
boolean ou calcul
Famille invisible.
Permet de cacher une famille ainsi que les variables ou les familles inclusent dans cette famille.
Cela signifie que la famille ne sera plus visible pour l'utilisateur mais sera visible pour un calcul.
📝 Si une sous-famille ou une sous-variable a déjà le nom "hidden" il est possible l'attribut "_hidden".
disabled, _disabled
boolean ou calcul
Famille désactivée.
Permet de désactiver une famille ainsi que les variables ou les familles inclusent dans cette famille.
Cela signifie que la famille ne sera plus visible pour l'utilisateur mais également pour un calcul.
📝 Si une sous-famille ou une sous-variable a déjà le nom "disabled" il est possible l'attribut "_disabled".

Famille crée dynamiquement

Pour créer une famille dynamiquement, il faut créer une famille fictive lié à une variable. Le nom et la description de la famille et des variables qu'elle contient sera en réalité le prefix du nouveau nom/description. Le suffix viendra de la valeur de la variable liée.

Bien évidement si le contenu de variable liée venait a évoluer, de nouvelles familles dynamiques apparaitront ou disparaîtront.

A noter que :

  • la variable liée à la famille doit être obligatoirement une variable multiple
  • il n'est pas possible de mettre une simple famille dans une famille dynamique
  • il est possible de mettre une famille meneuse dans une famille dynamique

Variable meneuse ou suiveuse

Une famille meneuse a un attribut type à "leadership". Le type est obligatoire.

Un famille meneuse

Les variables meneuses et suiveuses sont placées dans un famille meneuse.

Une famille meneuse ne peut pas contenir d'autre famille.

Le mode par défaut de la famille meneuse est le mode de la variable meneuse.

Variable meneuse

Une variable meneuse est une variable qui va guider la longueur d'autres variables (appelé variables suiveuses).

Une variable meneuse est une variable qui est obligatoirement de type multiple.

Une variable meneuse peut être obligatoire.

Le mode par défaut correspond au plus petit mode définit pour les variables suiveuses.

Variable suiveuse

Une variable suiveuse est une variable donc la longueur n'est pas déterminé par elle-même, mais est identique à celle de la variable meneuse dont elle dépend.

Une variable suiveuse est une variable placer juste derrière une variable meneuse ou une autre variable suiveuse.

L'ordre de définition des variables suiveuses est important.

Cette variable peut être de type multiple. Dans ce cas, pour un index de la variable meneuse determiné, il est possible de mettre plusieurs valeurs à une même variable.

Une variable suiveuse peut être obligatoire. Cela signifie que lorsqu'une variable meneuse est renseigné, il faut obligatoirement que la variable suiveuse est également une valeur à l'index considéré. Si aucune valeur n'est définit pour la variable meneuse, aucune valeur n'est a spécifié pour la variable suiveuse.

Le mode par défaut d'une variable suiveuse correspond au mode de la variable meneuse.

Si une variable meneuse est caché ou désactivé, les variables suiveuses le seront également.

Exemple

Famille simple

---
version: '1.0'
my_family:
  type: family
  description: This is a great family
  help: This is the help of a great family
  mode: expert

Famille crée dynamiquement

---
version: '1.0'
varname:
  multi: true
  default:
    - val1
    - val2
my_dyn_family_:
  type: dynamic
  variable: rougail.varname
  description: 'Describe '
  my_dyn_var_:
    type: string

Créera dynamiquement deux familles :

  • "rougail.my_dyn_family_val1" avec la description "Describe val1"
  • "rougail.my_dyn_family_val2" avec la description "Describe val2"

Dans la famille dynamique "rougail.my_dyn_family_val1" on retrouvera une variable "my_dyn_var_val1".

Variable meneuse ou suiveuse

Définition des variables meneuse et suiveuse

Voici un exemple de définition d'une variable meneuse et de deux variables meneuses :

---
version: '1.0'
family:
  type: leadership
  leader:
    multi: true
  follower1:
  follower2:
    multi: true

Ajout d'une nouvelle variable suiveuse

Pour ajouter une nouvelle variable suiveuse, dans un nouveau dictionnaire, il suffit de définir une ou des nouvelles variables dans la famille meneuse :

---
version: '1.0'
family:
  follower3: