From e8eb9174e2041ace19c5ec5705203de798c2a820 Mon Sep 17 00:00:00 2001 From: Joyce Quach Date: Fri, 19 Jan 2024 16:18:03 -0500 Subject: [PATCH] Move required fields text into expandable accordion --- src/views/Questionnaire/QuestionnaireForm.tsx | 51 ++++++++++++++++--- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/src/views/Questionnaire/QuestionnaireForm.tsx b/src/views/Questionnaire/QuestionnaireForm.tsx index 8990b30..bbaeef1 100644 --- a/src/views/Questionnaire/QuestionnaireForm.tsx +++ b/src/views/Questionnaire/QuestionnaireForm.tsx @@ -28,7 +28,16 @@ import { getDrugCodeableConceptFromMedicationRequest } from './questionnaireUtil'; import './QuestionnaireForm.css'; -import { Button, Typography } from '@mui/material'; +import { + Accordion, + AccordionDetails, + AccordionSummary, + Button, + Chip, + Stack, + Typography +} from '@mui/material'; +import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; import Tooltip from '@mui/material/Tooltip'; import Client from 'fhirclient/lib/Client'; @@ -1038,7 +1047,7 @@ export function QuestionnaireForm(props: QuestionnaireProps) { }; // Get missing fields to display - const getMissingFields = () => { + const getMissingFields = (): JSX.Element => { const fields: string[] = []; const requiredFieldErrors = formValidationErrors ? formValidationErrors.filter(error => { @@ -1051,7 +1060,37 @@ export function QuestionnaireForm(props: QuestionnaireProps) { fields.push(name); }); } - return fields.join(', '); + return ( + + + }> + + You must include a value for the following missing fields (click to expand): + + + + {fields.map((field, index) => ( + + ))} + + + + ); }; const getDisplayButtons = () => { @@ -1084,11 +1123,7 @@ export function QuestionnaireForm(props: QuestionnaireProps) { - {!isFilledOut() ? ( -

You must include a value for {getMissingFields()}

- ) : ( - <> - )} + {!isFilledOut() && getMissingFields()} ); } else {