diff --git a/src/components/BaseQuestionnaireResponseForm/widgets/date.tsx b/src/components/BaseQuestionnaireResponseForm/widgets/date.tsx index 564cb5a5..df8fcde8 100644 --- a/src/components/BaseQuestionnaireResponseForm/widgets/date.tsx +++ b/src/components/BaseQuestionnaireResponseForm/widgets/date.tsx @@ -1,20 +1,15 @@ import { Form } from 'antd'; import moment, { type Moment } from 'moment'; -import { useCallback, useContext, useMemo } from 'react'; +import { useCallback, useMemo } from 'react'; import { QuestionItemProps } from 'sdc-qrf'; -import { - FHIRTimeFormat, - formatFHIRDate, - formatFHIRDateTime, - formatFHIRTime, -} from '@beda.software/fhir-react'; +import { FHIRTimeFormat, formatFHIRDate, formatFHIRDateTime, formatFHIRTime } from '@beda.software/fhir-react'; import { DatePicker } from 'src/components/DatePicker'; import { TimePicker } from 'src/components/TimePicker'; import { useFieldController } from '../hooks'; -import { DateTimeFormatContext } from 'src/contexts/date-time-format'; +import { humanDate, humanDateTime, humanTime } from 'src/utils/date'; export function QuestionDateTime({ parentPath, questionItem }: QuestionItemProps) { const { linkId, type, regex } = questionItem; @@ -45,7 +40,6 @@ interface DateTimePickerWrapperProps { } function DateTimePickerWrapper(props: DateTimePickerWrapperProps) { - const { humanDate, humanTime, humanDateTime } = useContext(DateTimeFormatContext); const { value, onChange, type, disabled, placeholder, format } = props; const newValue = useMemo(() => { diff --git a/src/contexts/date-time-format.ts b/src/contexts/date-time-format.ts deleted file mode 100644 index c5cfcafd..00000000 --- a/src/contexts/date-time-format.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { createContext } from 'react'; - -import { humanDate, humanDateTime, humanDateYearMonth, humanTime } from 'src/utils/date'; - -export const defaultDateTimeFormats = { humanDate, humanDateYearMonth, humanTime, humanDateTime }; - -export const DateTimeFormatContext = createContext(defaultDateTimeFormats); diff --git a/src/main.tsx b/src/main.tsx index 5672a944..1ef4eb2a 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -17,7 +17,6 @@ import { ValueSetExpandProvider } from './contexts'; import { expandEMRValueSet } from './services'; import * as serviceWorker from './serviceWorker'; import { ThemeProvider } from './theme/ThemeProvider'; -import { DateTimeFormatContext, defaultDateTimeFormats } from './contexts/date-time-format'; const AppWithContext = () => { useEffect(() => { @@ -26,15 +25,13 @@ const AppWithContext = () => { return ( - - - - - - - - - + + + + + + + ); }; diff --git a/src/utils/date.ts b/src/utils/date.ts index 469a5915..4b80075b 100644 --- a/src/utils/date.ts +++ b/src/utils/date.ts @@ -3,10 +3,32 @@ import _ from 'lodash'; import { parseFHIRDate, parseFHIRDateTime } from '@beda.software/fhir-react'; -export const humanDate = 'DD MMM YYYY'; -export const humanDateYearMonth = 'MMM YYYY'; -export const humanTime = 'HH:mm'; -export const humanDateTime = 'DD MMM YYYY HH:mm'; +export let humanDate = 'DD MMM YYYY'; +export let humanDateYearMonth = 'MMM YYYY'; +export let humanTime = 'HH:mm'; +export let humanDateTime = 'DD MMM YYYY HH:mm'; + +export type DateTimeFormat = { + humanDate: string; + humanDateYearMonth: string; + humanTime: string; + humanDateTime: string; +}; + +export const setDateTimeFormats = (formats: Partial) => { + if (formats.humanDate) { + humanDate = formats.humanDate; + } + if (formats.humanDateYearMonth) { + humanDateYearMonth = formats.humanDateYearMonth; + } + if (formats.humanTime) { + humanTime = formats.humanTime; + } + if (formats.humanDateTime) { + humanDateTime = formats.humanDateTime; + } +}; export const formatHumanDateTime = (date?: string) => { if (!date) {