import React from 'react'; import { Intent, Button, ButtonGroup, Popover, PopoverInteractionKind, Position, Menu, MenuItem, } from '@blueprintjs/core'; import classNames from 'classnames'; import { useFormikContext } from 'formik'; import styled from 'styled-components'; import { FormattedMessage as T } from 'components'; import { CLASSES } from 'common/classes'; import { Icon } from 'components'; import { useCustomerFormContext } from './CustomerFormProvider'; import { safeInvoke } from 'utils'; /** * Customer floating actions bar. */ export default function CustomerFloatingActions({ onCancel }) { // Customer form context. const { isNewMode, setSubmitPayload } = useCustomerFormContext(); // Formik context. const { resetForm, submitForm, isSubmitting } = useFormikContext(); // Handle submit button click. const handleSubmitBtnClick = (event) => { setSubmitPayload({ noRedirect: false }); }; // Handle cancel button click. const handleCancelBtnClick = (event) => { safeInvoke(onCancel, event); }; // handle clear button clicl. const handleClearBtnClick = (event) => { resetForm(); }; // Handle submit & new button click. const handleSubmitAndNewClick = (event) => { submitForm(); setSubmitPayload({ noRedirect: true }); }; return (