// @ts-nocheck import React from 'react'; import { InputGroup, FormGroup, Position, ControlGroup, } from '@blueprintjs/core'; import { FastField, ErrorMessage, useFormikContext } from 'formik'; import { DateInput } from '@blueprintjs/datetime'; import * as R from 'ramda'; import classNames from 'classnames'; import { CLASSES } from '@/constants/classes'; import { momentFormatter, inputIntent, handleDateChange, tansformDateValue, } from '@/utils'; import { Hint, FieldHint, FieldRequiredHint, Icon, InputPrependButton, CurrencySelectList, FormattedMessage as T, FInputGroup, FFormGroup, } from '@/components'; import { useMakeJournalFormContext } from './MakeJournalProvider'; import { JournalExchangeRateInputField } from './components'; import { currenciesFieldShouldUpdate } from './utils'; import withSettings from '@/containers/Settings/withSettings'; import withDialogActions from '@/containers/Dialog/withDialogActions'; /** * Journal number field of make journal form. */ const MakeJournalTransactionNoField = R.compose( withDialogActions, withSettings(({ manualJournalsSettings }) => ({ journalAutoIncrement: manualJournalsSettings?.autoIncrement, })), )( ({ // #withDialog openDialog, // #withSettings journalAutoIncrement, }) => { const { setFieldValue, values } = useFormikContext(); const handleJournalNumberChange = () => { openDialog('journal-number-form'); }; const handleJournalNoBlur = (event) => { const newValue = event.target.value; if (values.journal_number !== newValue && journalAutoIncrement) { openDialog('journal-number-form', { initialFormValues: { onceManualNumber: newValue, incrementMode: 'manual-transaction', }, }); } if (!journalAutoIncrement) { setFieldValue('journal_number', newValue); setFieldValue('journal_number_manually', newValue); } }; return ( } labelInfo={ <> } fill={true} inline={true} fastField={true} > {}} /> , }} tooltip={true} tooltipProps={{ content: , position: Position.BOTTOM_LEFT, }} /> ); }, ); /** * Make journal entries header. */ export default function MakeJournalEntriesHeader({}) { const { currencies } = useMakeJournalFormContext(); return (
{/*------------ Posting date -----------*/} {({ form, field: { value }, meta: { error, touched } }) => ( } labelInfo={} intent={inputIntent({ error, touched })} helperText={} minimal={true} inline={true} className={classNames(CLASSES.FILL)} > { form.setFieldValue('date', formattedDate); })} value={tansformDateValue(value)} popoverProps={{ position: Position.BOTTOM, minimal: true, }} inputProps={{ leftIcon: , }} /> )} {/*------------ Journal number -----------*/} {/*------------ Reference -----------*/} {({ form, field, meta: { error, touched } }) => ( } labelInfo={ } position={Position.RIGHT} /> } className={'form-group--reference'} intent={inputIntent({ error, touched })} helperText={} fill={true} inline={true} > )} {/*------------ Journal type -----------*/} {({ form, field, meta: { error, touched } }) => ( } className={classNames('form-group--account-type', CLASSES.FILL)} inline={true} > )} {/*------------ Currency -----------*/} {({ form, field: { value }, meta: { error, touched } }) => ( } className={classNames('form-group--currency', CLASSES.FILL)} inline={true} > { form.setFieldValue('currency_code', currencyItem.currency_code); form.setFieldValue('exchange_rate', ''); }} defaultSelectText={value} /> )} {/* ----------- Exchange rate ----------- */}
); }