Skip to main content

Actions

Les actions sont des opérations exécutables qui peuvent être déclenchées par des événements dans l'interface web Softyflow. Elles peuvent être attachées à des éléments d'interface utilisateur et déclenchées par des événements tels que les clics sur des boutons ou les changements de valeur. Cette documentation fournit un guide complet de toutes les actions disponibles, leurs paramètres et comment les utiliser.

Manipulation de l'Interface Utilisateur

show

  • Définition: Afficher un élément
  • Description: Rend un élément DOM visible.
  • Paramètres:
    • Element id (string): La référence de l'élément DOM à afficher.
  • Utilisation: Utilisez cette action pour révéler des éléments qui étaient précédemment masqués.
show

hide

  • Définition: Masquer un élément
  • Description: Rend un élément DOM invisible.
  • Paramètres:
    • Element id (string): La référence de l'élément DOM à masquer.
  • Utilisation: Utilisez cette action pour masquer des éléments de la vue.
hide

toggleVisibilty

  • Définition: Basculer la visibilité d'un élément
  • Description: Bascule l'état de visibilité d'un élément DOM.
  • Paramètres:
    • Element id (string): La référence de l'élément DOM pour basculer la visibilité.
  • Utilisation: Utilisez cette action lorsque vous devez basculer entre afficher et masquer un élément.
otoggleVisibiltyoo

setRequired

  • Définition: Définir l'état requis
  • Description: Définit l'état requis d'un élément DOM.
  • Paramètres:
    • Element id (string): La référence de l'élément DOM.
    • Value (boolean): Valeur booléenne pour définir l'état requis.
  • Utilisation: Utilisez cette action pour rendre des champs de formulaire obligatoires ou facultatifs.
setRequired

setDisable

  • Définition: Définir l'état désactivé
  • Description: Définit l'état désactivé d'un élément DOM.
  • Paramètres:
    • Element id (string): La référence de l'élément DOM.
    • Value (boolean): Valeur booléenne pour définir l'état désactivé.
  • Utilisation: Utilisez cette action pour activer ou désactiver des éléments de formulaire.
setDisable

disableForm

  • Définition: Définir l'état désactivé
  • Description: Définit l'état désactivé pour tous les éléments d'un formulaire.
  • Paramètres:
    • Attach form (object): La référence du formulaire à désactiver.
  • Utilisation: Utilisez cette action pour désactiver un formulaire entier, par exemple pendant le traitement d'une soumission.
disableForm

refreshWidget

  • Définition: Recharger
  • Description: Recharge un widget avec des sources de données dynamiques ou statiques.
  • Paramètres:
    • Element id (string): La référence de l'élément widget à actualiser.
  • Utilisation: Utilisez cette action pour mettre à jour le contenu d'un widget avec de nouvelles données.
refreshWidget

fillForm

  • Définition: Remplir les valeurs d'entrée du formulaire
  • Description: Remplit un formulaire avec des valeurs spécifiées.
  • Paramètres:
    • Attach form (object): La référence du formulaire à remplir.
    • Form model (object): Objet JSON avec les valeurs des champs à remplir.
  • Utilisation: Utilisez cette action pour pré-remplir des formulaires avec des données provenant d'autres sources.
fillForm

clearForm

  • Définition: Effacer un formulaire
  • Description: Efface toutes les valeurs d'entrée d'un formulaire.
  • Paramètres:
    • Attach form (object): La référence du formulaire à effacer.
  • Utilisation: Utilisez cette action pour réinitialiser un formulaire à son état vide initial.
clearForm

confirm

  • Définition: Afficher une boîte de dialogue de confirmation
  • Description: Affiche une boîte de dialogue de confirmation à l'utilisateur.
  • Paramètres:
    • Message (string): Le message de confirmation à afficher.
  • Utilisation: Utilisez cette action pour demander la confirmation de l'utilisateur avant de procéder à une action.
confirm

pushToArray

  • Définition: Ajouter un objet JSON à un tableau
  • Description: Ajoute un objet à une table ou un tableau.
  • Paramètres:
    • Array Name (string): La référence de variable du tableau.
    • Json Object (object): L'objet à ajouter au tableau.
  • Utilisation: Utilisez cette action pour ajouter de nouveaux éléments à une collection de données.
pushToArray

validateForm

  • Définition: Valider les éléments du formulaire
  • Description: Vérifie les règles de validation sur tous les éléments d'un formulaire.
  • Paramètres:
    • Attach form (object): La référence du formulaire à valider.
    • Scroll (boolean): Détermine s'il faut faire défiler jusqu'aux champs invalides.
    • Error List (boolean): Détermine s'il faut afficher une liste d'erreurs.
  • Utilisation: Utilisez cette action pour valider les entrées de formulaire avant la soumission.
validateForm

setModel

  • Définition: Définir et mettre à jour les modèles
  • Description: Définit ou met à jour les variables de processus à utiliser dans les flux de travail.
  • Paramètres:
    • Name (string): La référence de la variable.
    • Update variable value (any): La nouvelle valeur à définir.
  • Utilisation: Utilisez cette action pour mettre à jour les données du modèle dans votre application.
setModel

setVariable

  • Définition: Définir une variable
  • Description: Définit une valeur de variable globale.
  • Paramètres:
    • Name (string): Le nom de la variable.
    • Value (any): La valeur à définir.
  • Utilisation: Utilisez cette action pour stocker des données pour une utilisation ultérieure dans votre application.
setVariable

alertMessage

  • Définition: Boîte d'alerte
  • Description: Affiche un message d'alerte à l'utilisateur.
  • Paramètres:
    • type (string): Le type d'alerte (info, success, warning, error).
    • message (string): Le message à afficher.
  • Utilisation: Utilisez cette action pour notifier les utilisateurs d'événements ou d'erreurs.
alertMessage

validateHistoryComment

  • Définition: Valider le commentaire d'historique
  • Description: Vérifie si le commentaire d'historique est rempli.
  • Paramètres:
    • Attach Widget History (object): La référence du widget d'historique.
    • message (string): Le message d'erreur à afficher si la validation échoue.
  • Utilisation: Utilisez cette action pour vous assurer que les utilisateurs fournissent des commentaires pour le suivi historique.
validateHistoryComment

Actions Conditionnelles et de Boucle

if

  • Définition: Instruction conditionnelle
  • Description: Exécute différentes actions en fonction des conditions.
  • Paramètres:
    • condition (boolean): L'expression booléenne à évaluer.
    • actions (object): Actions à exécuter dans les branches if, else et elseif.
  • Utilisation: Utilisez cette action pour créer une logique conditionnelle dans votre application.
if

repeat (loop)

  • Définition: Instruction de boucle
  • Description: Exécute une série d'instructions pour un nombre spécifié de répétitions.
  • Paramètres:
    • From (number): L'index de début de la boucle.
    • To (number): L'index de fin de la boucle.
    • loopActions (array): Actions à exécuter à chaque itération.
  • Utilisation: Utilisez cette action pour effectuer des actions de manière répétée avec différentes valeurs d'index.
repeat (loop)

loopArray

  • Définition: Boucler sur un tableau de données
  • Description: Boucle automatiquement sur un tableau de données.
  • Paramètres:
    • arraydata (array): Le tableau sur lequel boucler.
    • actions (array): Actions à exécuter pour chaque élément du tableau.
  • Utilisation: Utilisez cette action pour traiter chaque élément d'une collection de données.
loopArray

Processus et Flux de Travail

startProcess

  • Définition: Flux de travail
  • Description: Démarre un nouveau processus/flux de travail par ID.
  • Paramètres:
    • instanceIdVar (string): Variable pour stocker l'ID de l'instance démarrée.
    • process (object): La référence du processus à démarrer.
    • Disable forms (boolean): Détermine s'il faut désactiver les formulaires pendant l'exécution du processus.
  • Utilisation: Utilisez cette action pour initier un processus de flux de travail.
startProcess

OpenNextTask

  • Définition: Flux de travail
  • Description: Passe à l'étape suivante du processus en cours.
  • Paramètres:
    • instanceId (string): L'ID de l'instance du processus.
    • Fallback Redirect url (any): URL de redirection s'il n'y a pas d'étape suivante.
    • Timeout (number): Valeur du délai d'expiration en secondes.
  • Utilisation: Utilisez cette action pour faire progresser les utilisateurs vers la tâche suivante dans un flux de travail.
OpenNextTask

update

  • Définition: Passer à l'étape suivante de votre processus
  • Description: Fait progresser votre processus vers l'étape suivante du flux de travail.
  • Paramètres:
    • Task Id (string): L'ID de la tâche à mettre à jour.
    • Disable forms (boolean): Détermine s'il faut désactiver les formulaires pendant la transition.
    • Measures (object): Les données à transmettre à l'étape suivante.
  • Utilisation: Utilisez cette action pour progresser à travers les étapes du flux de travail avec des données.
update process

save

  • Définition: Enregistrer l'état du processus
  • Description: Enregistre l'état actuel d'un processus.
  • Paramètres:
    • process (object): La référence du processus à enregistrer.
    • Task Id (string): L'ID de la tâche à enregistrer.
  • Utilisation: Utilisez cette action pour persister l'état du processus sans passer à l'étape suivante.
save process

openInstance

  • Définition: Ouvrir un nouvel onglet
  • Description: Ouvre une fenêtre pour afficher une instance de processus.
  • Paramètres:
    • Instance Id (string): L'ID de l'instance à ouvrir.
  • Utilisation: Utilisez cette action pour afficher les détails d'une instance de processus spécifique.
openInstance

redirect

  • Définition: Rediriger vers une nouvelle URL
  • Description: Charge une ressource spécifiée dans le contexte de navigation existant.
  • Paramètres:
    • Redirect url (any): L'URL vers laquelle rediriger.
    • params (object): Paramètres à transmettre dans l'URL.
    • New page (boolean): Détermine s'il faut ouvrir dans une nouvelle page.
  • Utilisation: Utilisez cette action pour naviguer les utilisateurs vers différentes parties de l'application.
redirect

execute

  • Définition: Appeler une fonction à exécuter
  • Description: Définit une fonction et l'attache à un composant pour une exécution onClick.
  • Paramètres:
    • Function (function): La fonction à exécuter.
  • Utilisation: Utilisez cette action pour exécuter des fonctions JavaScript personnalisées.
execute

Opérations de Collection

addToCollection

  • Définition: Insérer de nouvelles données dans la collection
  • Description: Insère un document dans une collection.
  • Paramètres:
    • Collection (object): La référence de la collection.
    • Attach form (object): Formulaire contenant les données à insérer (facultatif).
    • Data model (object): Objet JSON avec les données à insérer.
    • Joi validation schema (object-joi-schema): Schéma pour valider les données.
  • Utilisation: Utilisez cette action pour créer de nouveaux enregistrements dans une collection de base de données.
addToCollection

addManyToCollection

  • Définition: Insérer plusieurs données dans la collection
  • Description: Insère plusieurs documents dans une collection.
  • Paramètres:
    • Collection (object): La référence de la collection.
    • Attach loop (object): Référence de boucle contenant les données (facultatif).
    • Data model (array): Tableau d'objets à insérer.
    • Joi validation schema (object-joi-schema): Schéma pour valider les données.
  • Utilisation: Utilisez cette action pour créer plusieurs enregistrements dans une collection de base de données.
addManyToCollection

AggregateCollection

  • Définition: Requête d'agrégation Mongo
  • Description: Exécute des requêtes d'agrégation complexes pour récupérer et formater les données.
  • Paramètres:
    • Dump var (string): Variable pour stocker le résultat.
    • Collection (object): La référence de la collection.
    • Aggregation (array): Tableau des étapes du pipeline d'agrégation.
  • Utilisation: Utilisez cette action pour la récupération et la transformation complexes de données.
AggregateCollection

updateCollection

  • Définition: Mettre à jour la collection de données
  • Description: Met à jour un document par ID.
  • Paramètres:
    • Collection (object): La référence de la collection.
    • Document id (string): ID du document à mettre à jour.
    • Attach form (object): Formulaire contenant les données de mise à jour (facultatif).
    • Data model (object): Objet JSON avec les données de mise à jour.
    • Joi validation schema (object-joi-schema): Schéma pour valider les données.
  • Utilisation: Utilisez cette action pour modifier des enregistrements existants dans une collection.
updateCollection

getCollection

  • Définition: Récupérer une liste de données de la collection
  • Description: Sélectionne des documents dans une collection en fonction de critères.
  • Paramètres:
    • Dump var (string): Variable pour stocker le résultat.
    • Collection (object): La référence de la collection.
    • Criteria (json): Critères de requête pour la sélection de documents.
  • Utilisation: Utilisez cette action pour récupérer plusieurs enregistrements correspondant à des critères spécifiques.
getCollection

getDocument

  • Définition: Récupérer un document de la collection
  • Description: Sélectionne un seul document par ID et le charge dans un formulaire.
  • Paramètres:
    • Collection (object): La référence de la collection.
    • Document id (string): ID du document à récupérer.
    • Attach form (object): Formulaire dans lequel charger le document (facultatif).
    • Dump var (string): Variable pour stocker le résultat (facultatif).
  • Utilisation: Utilisez cette action pour récupérer un enregistrement spécifique par son identifiant.
getDocument

deleteDocument

  • Définition: Supprimer un document de la collection
  • Description: Supprime un document d'une collection.
  • Paramètres:
    • Collection (object): La référence de la collection.
    • Document id (string): ID du document à supprimer.
  • Utilisation: Utilisez cette action pour supprimer des enregistrements d'une collection.
deleteDocument

Opérations de Source de Données Externe

insertTable (EDS)

  • Définition: Insérer un objet dans la source de données externe
  • Description: Ajoute des données à une table dans une base de données externe.
  • Paramètres:
    • clientDatabase (object): La référence de connexion à la base de données.
    • Table (string): Le nom de la table.
    • Attach form (object): Formulaire contenant les données à insérer (facultatif).
    • Statement (object): Objet JSON avec les données à insérer.
    • Joi validation schema (object-joi-schema): Schéma pour valider les données.
    • Options (any): Options supplémentaires pour l'opération.
  • Utilisation: Utilisez cette action pour créer des enregistrements dans des bases de données externes.
insertTable

insertMany (EDS)

  • Définition: Insérer plusieurs objets dans la source de données externe
  • Description: Ajoute plusieurs objets à une table dans une base de données externe.
  • Paramètres:
    • clientDatabase (object): La référence de connexion à la base de données.
    • Table (string): Le nom de la table.
    • data (array): Tableau d'objets à insérer.
    • Options (any): Options supplémentaires pour l'opération.
  • Utilisation: Utilisez cette action pour créer plusieurs enregistrements dans des bases de données externes.
insertMany

updateTables (EDS)

  • Définition: Mettre à jour un objet dans la source de données externe
  • Description: Modifie des enregistrements existants dans une source de données externe.
  • Paramètres:
    • clientDatabase (object): La référence de connexion à la base de données.
    • Table (string): Le nom de la table.
    • Attach form (object): Formulaire contenant les données de mise à jour (facultatif).
    • Find Table (any): Critères pour trouver les enregistrements à mettre à jour.
    • Updated Table (object): Objet JSON avec les données de mise à jour.
    • Joi validation schema (object-joi-schema): Schéma pour valider les données.
  • Utilisation: Utilisez cette action pour modifier des enregistrements existants dans des bases de données externes.
updateTables

findOne (EDS)

  • Définition: Obtenir un élément de la source de données externe
  • Description: Sélectionne une ligne d'une table dans une base de données externe.
  • Paramètres:
    • Dump var (string): Variable pour stocker le résultat.
    • clientDatabase (object): La référence de connexion à la base de données.
    • Table (string): Le nom de la table.
    • Find (any): Critères pour trouver l'enregistrement.
  • Utilisation: Utilisez cette action pour récupérer un enregistrement spécifique d'une base de données externe.
findOne

findMany (EDS)

  • Définition: Obtenir plusieurs éléments de la source de données externe
  • Description: Sélectionne plusieurs lignes d'une table dans une base de données externe.
  • Paramètres:
    • Dump var (string): Variable pour stocker le résultat.
    • clientDatabase (object): La référence de connexion à la base de données.
    • Table (string): Le nom de la table.
    • Find (any): Critères pour trouver les enregistrements.
  • Utilisation: Utilisez cette action pour récupérer plusieurs enregistrements d'une base de données externe.
findMany

countTables (EDS)

  • Définition: Compter les éléments de vos bases de données
  • Description: Compte le nombre de lignes correspondant aux critères dans une base de données externe.
  • Paramètres:
    • Dump var (string): Variable pour stocker le résultat.
    • clientDatabase (object): La référence de connexion à la base de données.
    • Table (string): Le nom de la table.
    • Find (any): Critères pour compter les enregistrements.
  • Utilisation: Utilisez cette action pour obtenir le nombre d'enregistrements correspondant à des critères spécifiques.
countTables

delete (EDS)

  • Définition: Supprimer un élément de vos bases de données
  • Description: Supprime des enregistrements d'une table dans une base de données externe.
  • Paramètres:
    • clientDatabase (object): La référence de connexion à la base de données.
    • Table (string): Le nom de la table.
    • Find (any): Critères pour trouver les enregistrements à supprimer.
  • Utilisation: Utilisez cette action pour supprimer des enregistrements de bases de données externes.
delete

exectuteStatement (EDS)

  • Définition: Exécuter des instructions SQL sur vos bases de données
  • Description: Exécute des instructions SQL personnalisées sur des bases de données externes.
  • Paramètres:
    • Dump var (string): Variable pour stocker le résultat.
    • clientDatabase (object): La référence de connexion à la base de données.
    • Statement (string): L'instruction SQL à exécuter.
  • Utilisation: Utilisez cette action pour des opérations de base de données personnalisées non couvertes par d'autres actions.
exectuteStatement

Gestion des Utilisateurs

findUserById

  • Définition: Récupérer un utilisateur par ID
  • Description: Trouve un utilisateur avec son ID utilisateur.
  • Paramètres:
    • userId (string): L'ID de l'utilisateur à trouver.
    • Attach form (object): Formulaire dans lequel charger les données utilisateur (facultatif).
    • Dump var (string): Variable pour stocker le résultat (facultatif).
  • Utilisation: Utilisez cette action pour récupérer des informations spécifiques sur un utilisateur.
findUserById

findUsers

  • Définition: Récupérer une liste d'utilisateurs
  • Description: Trouve des utilisateurs correspondant à des critères spécifiques.
  • Paramètres:
    • Dump var (string): Variable pour stocker le résultat.
    • Criteria (json): Critères de requête pour la sélection d'utilisateurs.
  • Utilisation: Utilisez cette action pour rechercher des utilisateurs en fonction de divers attributs.
findUsers

userMetadata

  • Définition: Mettre à jour les métadonnées utilisateur
  • Description: Met à jour les métadonnées pour un utilisateur spécifique.
  • Paramètres:
    • userId (string): L'ID de l'utilisateur.
    • Metadata object (object): Les métadonnées à mettre à jour.
  • Utilisation: Utilisez cette action pour stocker des informations supplémentaires sur les utilisateurs.
userMetadata

getUserPendingTasks

  • Définition: Récupérer les tâches de l'utilisateur
  • Description: Renvoie une liste des tâches en attente/incomplètes de l'utilisateur connecté.
  • Paramètres:
    • Dump var (string): Variable pour stocker le résultat.
  • Utilisation: Utilisez cette action pour afficher les listes de tâches pour l'utilisateur actuel.
getUserPendingTasks

API et Intégration

invokeApi

  • Définition: Invoquer un point de terminaison API
  • Description: Appelle un point de terminaison API.
  • Paramètres:
    • Dump variable (string): Variable pour stocker le résultat.
    • Api endpoint (object): La référence du point de terminaison API.
    • params (object): Paramètres à transmettre à l'API.
  • Utilisation: Utilisez cette action pour intégrer avec d'autres systèmes via des APIs.
invokeApi

sendEmail

  • Définition: Envoyer un email à l'utilisateur
  • Description: Envoie un email en utilisant un modèle.
  • Paramètres:
    • Provider (object): La référence du fournisseur d'email.
    • Template (object): La référence du modèle d'email.
    • variables (object): Variables à utiliser dans le modèle.
    • From (string): Adresse email de l'expéditeur.
    • To (string): Adresse email du destinataire.
    • Cc (string): Destinataires en copie carbone.
    • Reply-To (string): Adresse email de réponse.
    • attachments (array): Fichiers à joindre à l'email.
    • Subject (string): Ligne d'objet de l'email.
  • Utilisation: Utilisez cette action pour envoyer des notifications et des communications aux utilisateurs.
sendEmail

nextValue

  • Définition: Générer la valeur suivante
  • Description: Génère la valeur numérique suivante en utilisant un identifiant unique.
  • Paramètres:
    • Dump variable (string): Variable pour stocker le résultat.
    • Label (string): Identifiant unique pour la séquence.
    • Padding (number): Nombre de chiffres pour compléter la valeur.
  • Utilisation: Utilisez cette action pour générer des identifiants séquentiels.
nextValue

previewPDF

  • Définition: Générer un PDF
  • Description: Génère un PDF à partir d'un modèle avec des données de contexte fournies.
  • Paramètres:
    • Dump var (string): Variable pour stocker le résultat.
    • Template (object): La référence du modèle PDF.
    • Context (object): Données à utiliser dans le rendu du PDF.
  • Utilisation: Utilisez cette action pour créer des documents à partir de modèles.
previewPDF

editPDFTemplate

  • Définition: Éditer un modèle PDF
  • Description: Ouvre un document dans l'éditeur PDF pour modification.
  • Paramètres:
    • Template (object): La référence du modèle PDF à éditer.
  • Utilisation: Utilisez cette action pour personnaliser les modèles PDF directement dans l'interface.
editPDFTemplate

Actions d'Entrée

Les actions peuvent également être attachées à un élément de formulaire (tel qu'une zone de texte, une liste déroulante, un bouton radio, etc.).

Lorsqu'elles sont attachées à un élément de formulaire, une variable appelée SF_input devient disponible. Cette variable peut être accédée pour récupérer les données de l'élément sélectionné lors du déclenchement d'un événement.

La variable SF_input a la structure suivante :

{
"value": "690a00b0a96e4898fde857ef",
"SF_data": {
"_id": "690a00b0a96e4898fde857ef",
"genre": "M.",
"nom_du_client": "Martin",
"prenom_du_client": "Jean",
"n_securite_sociale": "1111111",
"matricule": "58448447",
"metier": "commercant"
},
"SF_currentIndex": 1
}
  • value: La valeur sélectionnée de l'élément. Il peut s'agir d'une chaîne de caractères, d'un nombre ou d'une date, selon le type d'élément de formulaire.
  • SF_data: Disponible uniquement pour les listes déroulantes, boutons radio et cases à cocher. Il contient l'objet de données complet utilisé pour remplir l'élément de liste.
  • SF_currentIndex: Un entier, disponible uniquement si l'élément de formulaire est à l'intérieur d'une boucle. Il renvoie la position de l'élément dans la boucle.

Bonnes Pratiques

  1. Sélection d'événements: Choisissez les événements appropriés pour déclencher les actions (onClick, onChange, onLoad, etc.).
  2. Enchaînement d'actions: Plusieurs actions peuvent être enchaînées ensemble pour créer des flux de travail complexes.
  3. Gestion des erreurs: Utilisez des actions conditionnelles pour gérer les erreurs potentielles dans vos flux.
  4. Performance: Soyez attentif aux implications de performance lors de l'utilisation d'actions qui récupèrent des données ou effectuent des appels API.
  5. Sécurité: Validez les entrées utilisateur avant d'effectuer des opérations de base de données ou des appels API.
  6. Expérience utilisateur: Utilisez des actions de retour visuel (comme alertMessage) pour tenir les utilisateurs informés de l'état du processus.

Travailler avec les Événements

Les actions peuvent être déclenchées par divers événements dans l'interface Softyflow :

  • onClick: Déclenché lorsqu'un utilisateur clique sur un élément.
  • onChange: Déclenché lorsqu'une valeur change (pour les champs de saisie, les listes déroulantes, etc.).
  • onLoad: Déclenché lorsqu'une page ou un composant se charge.
  • onSubmit: Déclenché lorsqu'un formulaire est soumis.
  • onBlur: Déclenché lorsqu'un élément perd le focus.
  • onFocus: Déclenché lorsqu'un élément reçoit le focus.