Skip to content

Commit

Permalink
Add qrfProps for questionnaireAction
Browse files Browse the repository at this point in the history
  • Loading branch information
ruscoder committed Dec 6, 2024
1 parent e2f9537 commit 5a4f3c3
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
6 changes: 3 additions & 3 deletions src/components/QuestionnaireResponseForm/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import { saveFHIRResource, updateFHIRResource } from 'src/services/fhir';
import { FormFooterComponentProps } from '../BaseQuestionnaireResponseForm/FormFooter';
import { Spinner } from '../Spinner';

interface Props extends QuestionnaireResponseFormProps {
export interface QRFProps extends QuestionnaireResponseFormProps {
onSuccess?: (response: QuestionnaireResponseFormSaveResponse) => void;
onFailure?: (error: any) => void;
readOnly?: boolean;
Expand Down Expand Up @@ -126,7 +126,7 @@ export function onFormResponse(props: {
}
}

export function useQuestionnaireResponseForm(props: Props) {
export function useQuestionnaireResponseForm(props: QRFProps) {
// TODO find what cause rerender and fix it
// remove this temporary hack
const memoizedProps = useMemo(() => props, [JSON.stringify(props)]);
Expand All @@ -152,7 +152,7 @@ export function useQuestionnaireResponseForm(props: Props) {
return { response, onSubmit, readOnly, onCancel };
}

export function QuestionnaireResponseForm(props: Props) {
export function QuestionnaireResponseForm(props: QRFProps) {
const { response, onSubmit, readOnly, onCancel } = useQuestionnaireResponseForm(props);

return (
Expand Down
9 changes: 7 additions & 2 deletions src/uberComponents/ResourceListPage/actions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { Bundle, ParametersParameter, Resource } from 'fhir/r4b';
import { useNavigate } from 'react-router-dom';

import { ModalTrigger } from 'src/components/ModalTrigger';
import { QuestionnaireResponseForm } from 'src/components/QuestionnaireResponseForm';
import { QuestionnaireResponseForm, QRFProps } from 'src/components/QuestionnaireResponseForm';
import { questionnaireIdLoader } from 'src/hooks/questionnaire-response-form-data';

export interface NavigationActionType {
Expand All @@ -24,6 +24,7 @@ export interface QuestionnaireActionType {
title: React.ReactNode;
questionnaireId: string;
icon?: React.ReactNode;
qrfProps?: Partial<QRFProps>;
}

export function navigationAction(
Expand All @@ -42,12 +43,13 @@ export function customAction(control: React.ReactNode): CustomActionType {
export function questionnaireAction(
title: React.ReactNode,
questionnaireId: string,
options?: { icon?: React.ReactNode },
options?: { icon?: React.ReactNode; qrfProps?: Partial<QRFProps> },
): QuestionnaireActionType {
return {
type: 'questionnaire',
title,
icon: options?.icon,
qrfProps: options?.qrfProps,
questionnaireId,
};
}
Expand Down Expand Up @@ -92,6 +94,7 @@ export function RecordQuestionnaireAction<R extends Resource>({
}}
onCancel={closeModal}
saveButtonTitle={t`Submit`}
{...(action.qrfProps ?? {})}
/>
)}
</ModalTrigger>
Expand Down Expand Up @@ -125,6 +128,7 @@ export function HeaderQuestionnaireAction({ action, reload, defaultLaunchContext
launchContextParameters={defaultLaunchContext}
onCancel={closeModal}
saveButtonTitle={t`Submit`}
{...(action.qrfProps ?? {})}
/>
)}
</ModalTrigger>
Expand Down Expand Up @@ -170,6 +174,7 @@ export function BatchQuestionnaireAction<R extends Resource>({
}}
onCancel={closeModal}
saveButtonTitle={t`Submit`}
{...(action.qrfProps ?? {})}
/>
)}
</ModalTrigger>
Expand Down

0 comments on commit 5a4f3c3

Please sign in to comment.