import React from 'react'; import { FastField, ErrorMessage, useFormikContext } from 'formik'; import { add, sumBy, subtract } from 'lodash'; import { FormGroup, InputGroup, Intent } from '@blueprintjs/core'; import { Row, Col, FieldRequiredHint } from 'components'; import { inputIntent } from 'utils'; import { FormattedMessage as T } from 'react-intl'; import { calculate } from './utils'; function IncrementAdjustmentFields() { return ( {/*------------ Quantity on hand -----------*/} {({ field, meta: { error, touched } }) => ( } intent={inputIntent({ error, touched })} helperText={} > )} {/*------------ Increment -----------*/} {({ form: { values, setFieldValue }, field, meta: { error, touched }, }) => ( } intent={inputIntent({ error, touched })} helperText={} fill={true} > { setFieldValue( 'new_quantity', calculate(values, event.currentTarget.value), ); }} /> )} {/*------------ Cost -----------*/} {({ field, meta: { error, touched } }) => ( } intent={inputIntent({ error, touched })} helperText={} > )} {/*------------ New quantity -----------*/} {({ form: { values, setFieldValue }, field, meta: { error, touched }, }) => ( } intent={inputIntent({ error, touched })} helperText={} > { setFieldValue( 'quantity', subtract(field.value, values.quantity_on_hand), ); }} /> )} ); } export default IncrementAdjustmentFields;