import React from 'react'; import { Intent, Button, ButtonGroup, Popover, PopoverInteractionKind, Position, Menu, MenuItem, } from '@blueprintjs/core'; import { useFormikContext } from 'formik'; import classNames from 'classnames'; import { FormattedMessage as T } from 'components'; import { CLASSES } from 'common/classes'; import { Icon, If } from 'components'; import { useHistory } from 'react-router-dom'; import { useMakeJournalFormContext } from './MakeJournalProvider'; /** * Make Journal floating actions bar. */ export default function MakeJournalFloatingAction() { const history = useHistory(); // Formik context. const { submitForm, resetForm, isSubmitting } = useFormikContext(); // Make journal form context. const { setSubmitPayload, manualJournal } = useMakeJournalFormContext(); // Handle submit & publish button click. const handleSubmitPublishBtnClick = (event) => { submitForm(); setSubmitPayload({ redirect: true, publish: true }); }; // Handle submit, publish & new button click. const handleSubmitPublishAndNewBtnClick = (event) => { submitForm(); setSubmitPayload({ redirect: false, publish: true, resetForm: true }); }; // Handle submit, publish & edit button click. const handleSubmitPublishContinueEditingBtnClick = (event) => { submitForm(); setSubmitPayload({ redirect: false, publish: true }); }; // Handle submit as draft button click. const handleSubmitDraftBtnClick = (event) => { submitForm(); setSubmitPayload({ redirect: true, publish: false }); }; // Handle submit as draft & new button click. const handleSubmitDraftAndNewBtnClick = (event) => { submitForm(); setSubmitPayload({ redirect: false, publish: false, resetForm: true }); }; // Handle submit as draft & continue editing button click. const handleSubmitDraftContinueEditingBtnClick = (event) => { submitForm(); setSubmitPayload({ redirect: false, publish: false }); }; // Handle cancel button click. const handleCancelBtnClick = (event) => { history.goBack(); }; // Handle clear button click. const handleClearBtnClick = (event) => { resetForm(); }; return (
{/* ----------- Save And Publish ----------- */}
); }