// @ts-nocheck import React from 'react'; import moment from 'moment'; import styled from 'styled-components'; import { Formik, Form } from 'formik'; import { Tabs, Tab, Button, Intent } from '@blueprintjs/core'; import { FormattedMessage as T } from '@/components'; import { getDefaultGeneralLedgerQuery, getGeneralLedgerQuerySchema, } from './common'; import { compose, transformToForm, saveInvoke } from '@/utils'; import FinancialStatementHeader from '../FinancialStatementHeader'; import GeneralLedgerHeaderGeneralPane from './GeneralLedgerHeaderGeneralPane'; import GeneralLedgerHeaderDimensionsPanel from './GeneralLedgerHeaderDimensionsPanel'; import withGeneralLedger from './withGeneralLedger'; import withGeneralLedgerActions from './withGeneralLedgerActions'; import { useFeatureCan } from '@/hooks/state'; import { Features } from '@/constants'; /** * Geenral Ledger (GL) - Header. */ function GeneralLedgerHeader({ // #ownProps onSubmitFilter, pageFilter, // #withGeneralLedgerActions toggleGeneralLedgerFilterDrawer: toggleDisplayFilterDrawer, // #withGeneralLedger isFilterDrawerOpen, }) { // Default values. const defaultValues = getDefaultGeneralLedgerQuery(); // Initial values. const initialValues = transformToForm( { ...defaultValues, ...pageFilter, fromDate: moment(pageFilter.fromDate).toDate(), toDate: moment(pageFilter.toDate).toDate(), }, defaultValues, ); // Validation schema. const validationSchema = getGeneralLedgerQuerySchema(); // Handle form submit. const handleSubmit = (values, { setSubmitting }) => { saveInvoke(onSubmitFilter, values); toggleDisplayFilterDrawer(false); setSubmitting(false); }; // Handle cancel button click. const handleCancelClick = () => { toggleDisplayFilterDrawer(false); }; // Handle drawer close action. const handleDrawerClose = () => { toggleDisplayFilterDrawer(false); }; // Detarmines the feature whether is enabled. const { featureCan } = useFeatureCan(); // Detarmine if the feature is enabled. const isBranchesFeatureCan = featureCan(Features.Branches); return (
} panel={} /> {isBranchesFeatureCan && ( } panel={} /> )}
); } export default compose( withGeneralLedger(({ generalLedgerFilterDrawer }) => ({ isFilterDrawerOpen: generalLedgerFilterDrawer, })), withGeneralLedgerActions, )(GeneralLedgerHeader); const GeneralLedgerDrawerHeader = styled(FinancialStatementHeader)` .bp3-drawer { max-height: 520px; } `;