Comprendre le dossier app
Le dossier app contient le point d'entrée index.js de l'application React, ainsi que la logique client liée au routing et au context.
context et processHandler
Dans app/Process.jsx, le context est défini par rapport au process en cours résolu depuis l'OIP Core. L'objet context qui transite dans l'app contient par défaut :
{
// id de la current view
viewId: string;
// id du current project lié au current process
projectId: string | undefined;
// la liste des actions disponibles liées à la current view
actions: [string];
}Process.jsx expose également processHandler qui permet de gérer les logiques liées au process et aux transitions d'une vue à l'autre. Par défaut, les méthodes suivantes sont exposées par processHandler :
// pour transiter d'une view à l'autre
const onAction = (viewId, action, object) => {}
// pour transiter sur la view suivante
const onNext = (viewId) => {}
// pour transiter sur la view précédente
const onBack = (viewId) => {}
// pour déclencher l'exécution d'une task et retrouver les infos liées au status d'une task
const onRunTask = ({ projectId, taskName }) => {}
const getTaskStatus = ({ taskName }) => {}
const getTaskStatusCode = ({ taskName }) => {}Ces méthodes appellent les queries et mutations graphql déclarées dans le dossier app/_graphql/.
Le context et les méthodes exposées par processHandler ont vocation à être consommées par les composants déclarés dans le dossier views du projet grâce au HOC app/withProcess.jsx.
Wordings
app contient également le dossier textes/ qui contient les différents fichiers des textes affichés par l'app.
L'app utilise par défaut le package @fasstech/textit (doc) pour injecter les textes dans l'app grâce au provider TextitProvider.
Lancer le front en mode dev
$> yarn front:dev