import React, {useState, useCallback, useMemo} from 'react'; import {Row, Col} from 'react-grid-system'; import {momentFormatter} from 'utils'; import {DateInput} from '@blueprintjs/datetime'; import { useIntl } from 'react-intl'; import { HTMLSelect, FormGroup, Intent, Position, } from '@blueprintjs/core'; import Icon from 'components/Icon'; import { parseDateRangeQuery } from 'utils'; export default function FinancialStatementDateRange({ formik, }) { const intl = useIntl(); const [reportDateRange, setReportDateRange] = useState('this_year'); const dateRangeOptions = useMemo(() => [ {value: 'today', label: 'Today', }, {value: 'this_week', label: 'This Week'}, {value: 'this_month', label: 'This Month'}, {value: 'this_quarter', label: 'This Quarter'}, {value: 'this_year', label: 'This Year'}, {value: 'custom', label: 'Custom Range'}, ], []); const handleDateChange = useCallback((name) => (date) => { setReportDateRange('custom'); formik.setFieldValue(name, date); }, [setReportDateRange, formik]); // Handles date range field change. const handleDateRangeChange = useCallback((e) => { const value = e.target.value; if (value !== 'custom') { const dateRange = parseDateRangeQuery(value); if (dateRange) { formik.setFieldValue('from_date', dateRange.from_date); formik.setFieldValue('to_date', dateRange.to_date); } } setReportDateRange(value); }, [formik]); const infoIcon = useMemo(() => (), []); return ( ); }