// @ts-nocheck import React from 'react'; import moment from 'moment'; import { Formik, Form } from 'formik'; import { Tabs, Tab, Button, Intent } from '@blueprintjs/core'; import styled from 'styled-components'; import { FormattedMessage as T } from '@/components'; import FinancialStatementHeader from '../FinancialStatementHeader'; import InventoryItemDetailsHeaderGeneralPanel from './InventoryItemDetailsHeaderGeneralPanel'; import InventoryItemDetailsHeaderDimensionsPanel from './InventoryItemDetailsHeaderDimensionsPanel'; import { withInventoryItemDetails } from './withInventoryItemDetails'; import { withInventoryItemDetailsActions } from './withInventoryItemDetailsActions'; import { getInventoryItemDetailsDefaultQuery, getInventoryItemDetailsQuerySchema, } from './utils2'; import { compose, transformToForm } from '@/utils'; import { useFeatureCan } from '@/hooks/state'; import { Features } from '@/constants'; /** * Inventory item details header. */ function InventoryItemDetailsHeader({ // #ownProps onSubmitFilter, pageFilter, // #withInventoryItemDetails isFilterDrawerOpen, // #withInventoryItemDetailsActions toggleInventoryItemDetailsFilterDrawer: toggleFilterDrawer, }) { // Default form values. const defaultValues = getInventoryItemDetailsDefaultQuery(); // Filter form initial values. const initialValues = transformToForm( { ...defaultValues, ...pageFilter, fromDate: moment(pageFilter.fromDate).toDate(), toDate: moment(pageFilter.toDate).toDate(), }, defaultValues, ); // Validation schema. const validationSchema = getInventoryItemDetailsQuerySchema(); // Handle form submit. const handleSubmit = (values, { setSubmitting }) => { onSubmitFilter(values); toggleFilterDrawer(false); setSubmitting(false); }; // Handle drawer close action. const handleDrawerClose = () => { toggleFilterDrawer(false); }; // Detarmines the given feature whether is enabled. const { featureCan } = useFeatureCan(); const isBranchesFeatureCan = featureCan(Features.Branches); const isWarehousesFeatureCan = featureCan(Features.Warehouses); return (
} panel={} /> {(isBranchesFeatureCan || isWarehousesFeatureCan) && ( } panel={} /> )}
); } export default compose( withInventoryItemDetails(({ inventoryItemDetailDrawerFilter }) => ({ isFilterDrawerOpen: inventoryItemDetailDrawerFilter, })), withInventoryItemDetailsActions, )(InventoryItemDetailsHeader); const InventoryItemDetailsDrawerHeader = styled(FinancialStatementHeader)` .bp4-drawer { max-height: 400px; } `;