import React from 'react'; import * as Yup from 'yup'; import moment from 'moment'; import { FormattedMessage as T, useIntl } from 'react-intl'; import { Formik, Form } from 'formik'; import { Tabs, Tab, Button, Intent } from '@blueprintjs/core'; import FinancialStatementHeader from 'containers/FinancialStatements/FinancialStatementHeader'; import TrialBalanceSheetHeaderGeneralPanel from './TrialBalanceSheetHeaderGeneralPanel'; import withTrialBalance from './withTrialBalance'; import withTrialBalanceActions from './withTrialBalanceActions'; import { compose } from 'utils'; /** * Trial balance sheet header. */ function TrialBalanceSheetHeader({ // #ownProps pageFilter, onSubmitFilter, // #withTrialBalance trialBalanceDrawerFilter, // #withTrialBalanceActions toggleTrialBalanceFilterDrawer: toggleFilterDrawer, }) { const { formatMessage } = useIntl(); // Form validation schema. const validationSchema = Yup.object().shape({ fromDate: Yup.date() .required() .label(formatMessage({ id: 'from_date' })), toDate: Yup.date() .min(Yup.ref('fromDate')) .required() .label(formatMessage({ id: 'to_date' })), }); // Initial values. const initialValues = { ...pageFilter, fromDate: moment(pageFilter.fromDate).toDate(), toDate: moment(pageFilter.toDate).toDate(), }; // Handle form submit. const handleSubmit = (values, { setSubmitting }) => { onSubmitFilter(values); setSubmitting(false); toggleFilterDrawer(false); }; // Handle drawer close action. const handleDrawerClose = () => { toggleFilterDrawer(false); }; // Handle cancel button click. const handleCancelClick = () => { toggleFilterDrawer(false); }; return (
} panel={} />
); } export default compose( withTrialBalance(({ trialBalanceDrawerFilter }) => ({ trialBalanceDrawerFilter, })), withTrialBalanceActions, )(TrialBalanceSheetHeader);