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 SalesByItemsHeaderGeneralPanel from './SalesByItemsHeaderGeneralPanel'; import withSalesByItems from './withSalesByItems'; import withSalesByItemsActions from './withSalesByItemsActions'; import { compose } from 'utils'; /** * Sales by items header. */ function SalesByItemsHeader({ // #ownProps pageFilter, onSubmitFilter, // #withSalesByItems salesByItemsDrawerFilter, // #withSalesByItemsActions toggleSalesByItemsFilterDrawer, }) { 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(), }; const handleSubmit = (values, { setSubmitting }) => { onSubmitFilter(values); setSubmitting(false); toggleSalesByItemsFilterDrawer(false); }; // Handle drawer close action. const handleDrawerClose = () => { toggleSalesByItemsFilterDrawer(false); }; // Handle cancel button click. const handleCancelClick = () => { toggleSalesByItemsFilterDrawer(false); }; return (
} panel={} />
); } export default compose( withSalesByItems(({ salesByItemsDrawerFilter }) => ({ salesByItemsDrawerFilter, })), withSalesByItemsActions, )(SalesByItemsHeader);