From b47461cd7a3a121ff1e0a5026bd15504803b6de2 Mon Sep 17 00:00:00 2001 From: Vadim Laletin Date: Fri, 22 Nov 2024 23:48:40 +0100 Subject: [PATCH] Reformat --- .../widgets/choice/index.tsx | 39 +++++++++++++------ 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/src/components/BaseQuestionnaireResponseForm/widgets/choice/index.tsx b/src/components/BaseQuestionnaireResponseForm/widgets/choice/index.tsx index 6d6b0fe4..93633232 100644 --- a/src/components/BaseQuestionnaireResponseForm/widgets/choice/index.tsx +++ b/src/components/BaseQuestionnaireResponseForm/widgets/choice/index.tsx @@ -4,13 +4,17 @@ import _, { debounce } from 'lodash'; import { useCallback, useContext } from 'react'; import { QuestionItemProps } from 'sdc-qrf'; -import { QuestionnaireItemAnswerOption, QuestionnaireResponseItemAnswer, QuestionnaireResponseItemAnswerValue } from '@beda.software/aidbox-types'; +import { + QuestionnaireItemAnswerOption, + QuestionnaireResponseItemAnswer, + QuestionnaireResponseItemAnswerValue, +} from '@beda.software/aidbox-types'; import { AsyncSelect, Select } from 'src/components/Select'; import { ValueSetExpandProvider } from 'src/contexts'; +import { evaluate } from 'src/utils'; import { getDisplay as getAnswerValueDisplay } from 'src/utils/questionnaire'; -import { evaluate } from 'src/utils'; import s from '../../BaseQuestionnaireResponseForm.module.scss'; import { useFieldController } from '../../hooks'; @@ -24,7 +28,14 @@ interface ChoiceQuestionSelectProps { } export function ChoiceQuestionSelect(props: ChoiceQuestionSelectProps) { - const { value, onChange, options, repeats = false, placeholder = t`Select...`, getDisplay = getAnswerValueDisplay } = props; + const { + value, + onChange, + options, + repeats = false, + placeholder = t`Select...`, + getDisplay = getAnswerValueDisplay, + } = props; return ( <> @@ -53,14 +64,20 @@ export function QuestionChoice({ parentPath, questionItem, context }: QuestionIt const onSelect = useCallback((option: any) => onChange([].concat(option)), [onChange]); - const getDisplay = useCallback((value?: QuestionnaireResponseItemAnswerValue) => { - const specificValueType = value && (Object.keys(value)[0] as keyof QuestionnaireResponseItemAnswerValue) - if (choiceColumn && specificValueType) { - return (evaluate(value[specificValueType], choiceColumn![0]!.path!, context)[0] ?? null) as string | number | null; - } - - return getAnswerValueDisplay(value); - }, [choiceColumn, context]); + const getDisplay = useCallback( + (value?: QuestionnaireResponseItemAnswerValue) => { + const specificValueType = value && (Object.keys(value)[0] as keyof QuestionnaireResponseItemAnswerValue); + if (choiceColumn && specificValueType) { + return (evaluate(value[specificValueType], choiceColumn![0]!.path!, context)[0] ?? null) as + | string + | number + | null; + } + + return getAnswerValueDisplay(value); + }, + [choiceColumn, context], + ); if (answerValueSet) { return (