Skip to content

Commit

Permalink
Merge pull request #427 from beda-software/feat/support-custom-date-t…
Browse files Browse the repository at this point in the history
…ime-formats

Add date time format customization
  • Loading branch information
pavlushkin authored Jan 17, 2025
2 parents 6356f9c + ec78a81 commit 9ac9250
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 30 deletions.
12 changes: 3 additions & 9 deletions src/components/BaseQuestionnaireResponseForm/widgets/date.tsx
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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(() => {
Expand Down
7 changes: 0 additions & 7 deletions src/contexts/date-time-format.ts

This file was deleted.

17 changes: 7 additions & 10 deletions src/main.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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(() => {
Expand All @@ -26,15 +25,13 @@ const AppWithContext = () => {

return (
<I18nProvider i18n={i18n}>
<DateTimeFormatContext.Provider value={defaultDateTimeFormats}>
<PatientDashboardProvider dashboard={dashboard}>
<ValueSetExpandProvider.Provider value={expandEMRValueSet}>
<ThemeProvider>
<App />
</ThemeProvider>
</ValueSetExpandProvider.Provider>
</PatientDashboardProvider>
</DateTimeFormatContext.Provider>
<PatientDashboardProvider dashboard={dashboard}>
<ValueSetExpandProvider.Provider value={expandEMRValueSet}>
<ThemeProvider>
<App />
</ThemeProvider>
</ValueSetExpandProvider.Provider>
</PatientDashboardProvider>
</I18nProvider>
);
};
Expand Down
30 changes: 26 additions & 4 deletions src/utils/date.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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<DateTimeFormat>) => {
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) {
Expand Down

0 comments on commit 9ac9250

Please sign in to comment.