import React from 'react'; import { Intent, Button, ButtonGroup, Popover, PopoverInteractionKind, Position, Menu, MenuItem, } from '@blueprintjs/core'; import { FormattedMessage as T } from 'components'; import { useFormikContext } from 'formik'; import { useHistory } from 'react-router-dom'; import classNames from 'classnames'; import { CLASSES } from 'common/classes'; import { If, Icon } from 'components'; import { useReceiptFormContext } from './ReceiptFormProvider'; /** * Receipt floating actions bar. */ export default function ReceiptFormFloatingActions() { // History context. const history = useHistory(); // Formik context. const { resetForm, submitForm, isSubmitting } = useFormikContext(); // Receipt form context. const { receipt, setSubmitPayload } = useReceiptFormContext(); // Handle submit & close button click. const handleSubmitCloseBtnClick = (event) => { setSubmitPayload({ redirect: true, status: true }); submitForm(); }; // Handle submit, close & new button click. const handleSubmitCloseAndNewBtnClick = (event) => { setSubmitPayload({ redirect: false, status: true, resetForm: true }); submitForm(); }; // Handle submit, close & continue editing button click. const handleSubmitCloseContinueEditingBtnClick = (event) => { setSubmitPayload({ redirect: false, status: true }); submitForm(); }; // Handle submit & draft button click. const handleSubmitDraftBtnClick = (event) => { setSubmitPayload({ redirect: true, status: false }); submitForm(); }; // Handle submit, draft & new button click. const handleSubmitDraftAndNewBtnClick = (event) => { setSubmitPayload({ redirect: false, status: false, resetForm: true }); submitForm(); }; const handleSubmitDraftContinueEditingBtnClick = (event) => { setSubmitPayload({ redirect: false, status: false }); submitForm(); }; // Handle cancel button click. const handleCancelBtnClick = (event) => { history.goBack(); }; const handleClearBtnClick = (event) => { resetForm(); }; return (
{/* ----------- Save And Close ----------- */}
); }