FlowDefinition
FlowDefinition définit la structure de base et la configuration d'un flux. C'est l'un des concepts centraux du moteur de flux. Elle décrit les méta-informations du flux, les conditions de déclenchement, les étapes d'exécution, etc.
Définition du type
Le type de on est le suivant :
Méthode d'enregistrement
Description des propriétés
key
Type : string
Requis : Oui
Description : Identifiant unique du flux
Il est recommandé d'adopter une convention de nommage uniforme du style xxxSettings, par exemple :
pageSettingstableSettingscardSettingsformSettingsdetailsSettingsbuttonSettingspopupSettingsdeleteSettingsdatetimeSettingsnumberSettings
Cette convention facilite l'identification et la maintenance, et il est recommandé de l'unifier globalement.
Exemple :
title
Type : string
Requis : Non
Description : Titre lisible par un humain pour le flux
Il est recommandé de garder un style cohérent avec la key, en adoptant la convention Xxx settings, par exemple :
Page settingsTable settingsCard settingsForm settingsDetails settingsButton settingsPopup settingsDelete settingsDatetime settingsNumber settings
Cette convention rend le titre plus clair et compréhensible, ce qui facilite l'affichage dans l'interface et la collaboration en équipe.
Exemple :
manual
Type : boolean
Requis : Non
Valeur par défaut : false
Description : Indique si le flux ne s'exécute que manuellement
true: le flux ne peut être déclenché que manuellement et ne s'exécute pas automatiquementfalse: le flux peut s'exécuter automatiquement (s'exécute automatiquement par défaut lorsqu'il n'a pas de propriétéon)
Exemple :
sort
Type : number
Requis : Non
Valeur par défaut : 0
Description : Ordre d'exécution du flux ; plus la valeur est faible, plus le flux est exécuté tôt
Peut être négatif, pour contrôler l'ordre d'exécution de plusieurs flux.
Exemple :
on
Type : FlowEvent<TModel>
Requis : Non
Description : Configuration de l'événement qui permet de déclencher ce flux via dispatchEvent
Sert à déclarer le nom de l'événement déclencheur (chaîne ou { eventName }), ainsi que le moment d'exécution facultatif (phase). Ne contient pas de fonction de traitement (la logique de traitement se trouve dans steps).
Types d'événements pris en charge :
'beforeRender'- Événement avant rendu, déclenché automatiquement lors du premier rendu du composant'click'- Événement de clic'submit'- Événement de soumission'reset'- Événement de réinitialisation'remove'- Événement de suppression'openView'- Événement d'ouverture de vue'dropdownOpen'- Événement d'ouverture du menu déroulant'popupScroll'- Événement de défilement de fenêtre contextuelle'search'- Événement de recherche'customRequest'- Événement de requête personnalisée'collapseToggle'- Événement de basculement de réduction- Ou n'importe quelle chaîne personnalisée
Exemple :
Moment d'exécution (phase)
Lorsque plusieurs flux d'événements existent pour un même événement (par exemple click), vous pouvez utiliser phase / flowKey / stepKey pour spécifier à quel emplacement de la chaîne de flux statiques intégrés ce flux doit être inséré :
Exemple :
steps
Type : Record<string, StepDefinition<TModel>>
Requis : Oui
Description : Définition des étapes du flux
Définit toutes les étapes contenues dans le flux ; chaque étape possède un nom de clé unique.
Exemple :
defaultParams
Type : Record<string, any> | ((ctx: FlowModelContext) => StepParam | Promise<StepParam>)
Requis : Non
Description : Paramètres par défaut au niveau du flux
Lors de l'instanciation du modèle (createModel), permet de remplir les valeurs initiales des paramètres des étapes du « flux courant ». Ne complète que ce qui est manquant, sans écraser ce qui existe déjà. Renvoie toujours la forme : { [stepKey]: params }
Exemple :

