From 793117619597702cf80746f9223f94f12e2b8676 Mon Sep 17 00:00:00 2001 From: Salah-BOUYAHIA Date: Wed, 25 Sep 2024 15:18:09 +0200 Subject: [PATCH] feat: add alert messages for news on `welcom` and `encounterForm` - Ref gestion-de-projet#2741 gestion-de-projet#2740 --- .../EncounterForm/index.tsx | 22 ++++++++++-------- src/data/infoMessage.ts | 23 +++++++++++++++++++ src/views/Welcome/Welcome.tsx | 6 +++++ 3 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 src/data/infoMessage.ts diff --git a/src/components/CreationCohort/DiagramView/components/LogicalOperator/components/CriteriaRightPanel/EncounterForm/index.tsx b/src/components/CreationCohort/DiagramView/components/LogicalOperator/components/CriteriaRightPanel/EncounterForm/index.tsx index 1dd3f967f..90c5e9244 100644 --- a/src/components/CreationCohort/DiagramView/components/LogicalOperator/components/CriteriaRightPanel/EncounterForm/index.tsx +++ b/src/components/CreationCohort/DiagramView/components/LogicalOperator/components/CriteriaRightPanel/EncounterForm/index.tsx @@ -19,9 +19,11 @@ import InfoIcon from '@mui/icons-material/Info' import useStyles from './styles' import { useAppSelector } from 'state' +import { infoMessages } from 'data/infoMessage' + import { CriteriaDrawerComponentProps, ScopeElement } from 'types' import { DurationRangeType, LabelObject } from 'types/searchCriterias' -import { Comparators, CriteriaDataKey, EncounterDataType, CriteriaType } from 'types/requestCriterias' +import { Comparators, CriteriaDataKey, EncounterDataType, CriteriaType, ResourceType } from 'types/requestCriterias' import { BlockWrapper } from 'components/ui/Layout' import OccurenceInput from 'components/ui/Inputs/Occurences' import Collapse from 'components/ui/Collapse' @@ -176,15 +178,15 @@ const EncounterForm = ({ {error === Error.NO_ERROR && !multiFields && ( - { - localStorage.setItem('multiple_fields', 'ok') - setMultiFields('ok') - }} - > - Tous les éléments des champs multiples sont liés par une contrainte OU - + Tous les éléments des champs multiples sont liés par une contrainte OU + )} + {infoMessages.map( + (infoMessage) => + infoMessage.resourceType === ResourceType.ENCOUNTER && ( + + {infoMessage.message} + + ) )} {error === Error.EMPTY_FORM && ( Merci de renseigner au moins un nombre d'occurence supérieur ou égal à 1 diff --git a/src/data/infoMessage.ts b/src/data/infoMessage.ts new file mode 100644 index 000000000..4bc89812c --- /dev/null +++ b/src/data/infoMessage.ts @@ -0,0 +1,23 @@ +import { ResourceType } from 'types/requestCriterias' + +enum level { + INFO = 'info', + ERROR = 'error', + WARNING = 'warning' +} + +export const infoMessages: { id: number; resourceType?: ResourceType; level: level; message: string }[] = [ + { + id: 0, + level: level.INFO, + message: + "Suite à l'incident ayant eu lieu début août 2024, la saisie de certaines données de soin a posteriori dans leur application source peut prendre du délai. Elles seront donc manquantes dans Cohort360, et rattrapées au fil de l'eau." + }, + { + id: 1, + resourceType: ResourceType.ENCOUNTER, + level: level.INFO, + message: + "Le critère de prise en charge se base sur tous les séjours et passages. Les consultations étant des prises en charge non clôturées, elles n'ont pas de date de fin. Indiquer une durée ou une date de fin de prise en charge exclue ainsi les consultations." + } +] diff --git a/src/views/Welcome/Welcome.tsx b/src/views/Welcome/Welcome.tsx index 7416e8caa..6c3920259 100644 --- a/src/views/Welcome/Welcome.tsx +++ b/src/views/Welcome/Welcome.tsx @@ -24,6 +24,7 @@ import useStyles from './styles' import { CohortsType } from 'types/cohorts' import { Direction, Order } from 'types/searchCriterias' import useCohortList from 'hooks/useCohortList' +import { infoMessages } from 'data/infoMessage' const Welcome = () => { const { classes, cx } = useStyles() @@ -133,6 +134,11 @@ const Welcome = () => { + {infoMessages.map((infoMessage) => ( + + {infoMessage.message} + + ))} {maintenanceIsActive && ( Une maintenance est en cours. Seules les consultations de cohortes, requêtes et données patients sont