import React from 'react'; import { useHistory } from 'react-router-dom'; import { Intent, Button, ButtonGroup, Popover, PopoverInteractionKind, Position, Menu, MenuItem, } from '@blueprintjs/core'; import { If, FormattedMessage as T } from 'components'; import classNames from 'classnames'; import { useFormikContext } from 'formik'; import { CLASSES } from 'common/classes'; import { Icon } from 'components'; import { useWarehouseTransferFormContext } from './WarehouseTransferFormProvider'; /** * Warehouse transfer floating actions bar. */ export default function WarehouseTransferFloatingActions() { // History context. const history = useHistory(); // Formik form context. const { isSubmitting, submitForm, resetForm } = useFormikContext(); // Warehouse tansfer form context. const { warehouseTransfer, setSubmitPayload } = useWarehouseTransferFormContext(); // Handle submit initiate button click. const handleSubmitInitiateBtnClick = (event) => { setSubmitPayload({ redirect: true, initiate: true, deliver: false }); submitForm(); }; // Handle submit transferred button click. const handleSubmitTransferredBtnClick = (event) => { setSubmitPayload({ redirect: true, initiate: true, deliver: true }); submitForm(); }; // Handle submit as draft button click. const handleSubmitDraftBtnClick = (event) => { setSubmitPayload({ redirect: true, initiate: false, deliver: false }); submitForm(); }; // Handle submit as draft & new button click. const handleSubmitDraftAndNewBtnClick = (event) => { setSubmitPayload({ redirect: false, initiate: false, deliver: false, resetForm: true, }); submitForm(); }; // Handle submit as draft & continue editing button click. const handleSubmitDraftContinueEditingBtnClick = (event) => { setSubmitPayload({ redirect: false, deliver: false, initiate: false }); submitForm(); }; // Handle clear button click. const handleClearBtnClick = (event) => { resetForm(); }; // Handle cancel button click. const handleCancelBtnClick = (event) => { history.goBack(); }; return (