// @ts-nocheck import React from 'react'; import { Intent, Button, ButtonGroup, Popover, PopoverInteractionKind, Position, Menu, MenuItem, } from '@blueprintjs/core'; import { useHistory } from 'react-router-dom'; import { useFormikContext } from 'formik'; import { If, Icon, FormattedMessage as T, Group, FSelect } from '@/components'; import { useInvoiceFormContext } from './InvoiceFormProvider'; import { useInvoiceFormBrandingTemplatesOptions } from './utils'; import { useDrawerActions } from '@/hooks/state'; import { BrandingThemeFormGroup, BrandingThemeSelectButton, } from '@/containers/BrandingTemplates/BrandingTemplatesSelectFields'; import { PageForm } from '@/components/PageForm'; import { MoreIcon } from '@/icons/More'; import { DRAWERS } from '@/constants/drawers'; /** * Invoice floating actions bar. */ export default function InvoiceFloatingActions() { const history = useHistory(); const { openDrawer } = useDrawerActions(); // Formik context. const { resetForm, submitForm, isSubmitting } = useFormikContext(); // Invoice form context. const { setSubmitPayload, invoice } = useInvoiceFormContext(); // Handle submit & deliver button click. const handleSubmitDeliverBtnClick = (event) => { setSubmitPayload({ redirect: true, deliver: true }); submitForm(); }; // Handle submit, deliver & new button click. const handleSubmitDeliverAndNewBtnClick = (event) => { setSubmitPayload({ redirect: false, deliver: true, resetForm: true }); submitForm(); }; // Handle submit, deliver & continue editing button click. const handleSubmitDeliverContinueEditingBtnClick = (event) => { setSubmitPayload({ redirect: false, deliver: true }); submitForm(); }; // Handle submit as draft button click. const handleSubmitDraftBtnClick = (event) => { setSubmitPayload({ redirect: true, deliver: false }); submitForm(); }; // Handle submit as draft & new button click. const handleSubmitDraftAndNewBtnClick = (event) => { setSubmitPayload({ redirect: false, deliver: false, resetForm: true }); submitForm(); }; // Handle submit as draft & continue editing button click. const handleSubmitDraftContinueEditingBtnClick = (event) => { setSubmitPayload({ redirect: false, deliver: false }); submitForm(); }; // Handle cancel button click. const handleCancelBtnClick = (event) => { history.goBack(); }; // Handle clear button click. const handleClearBtnClick = (event) => { resetForm(); }; // Handles the invoice customize button click. const handleCustomizeBtnClick = () => { openDrawer(DRAWERS.BRANDING_TEMPLATES, { resource: 'SaleInvoice' }); }; const brandingTemplatesOptions = useInvoiceFormBrandingTemplatesOptions(); return ( {/* ----------- Save And Deliver ----------- */}