mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-15 20:30:33 +00:00
121 lines
3.2 KiB
TypeScript
121 lines
3.2 KiB
TypeScript
// @ts-nocheck
|
|
import React from 'react';
|
|
import { Form, useFormikContext } from 'formik';
|
|
import { FormGroup, Button, Intent } from '@blueprintjs/core';
|
|
import { useHistory } from 'react-router-dom';
|
|
import {
|
|
AccountsSelect,
|
|
FieldRequiredHint,
|
|
FormattedMessage as T,
|
|
FFormGroup,
|
|
CardFooterActions,
|
|
} from '@/components';
|
|
import { ACCOUNT_PARENT_TYPE, ACCOUNT_TYPE } from '@/constants/accountTypes';
|
|
|
|
import { useItemPreferencesFormContext } from './ItemPreferencesFormProvider';
|
|
|
|
/**
|
|
* Item preferences form.
|
|
*/
|
|
export default function ItemForm() {
|
|
const history = useHistory();
|
|
const { accounts } = useItemPreferencesFormContext();
|
|
|
|
const { isSubmitting } = useFormikContext();
|
|
|
|
const handleCloseClick = () => {
|
|
history.go(-1);
|
|
};
|
|
|
|
return (
|
|
<Form>
|
|
{/* ----------- Preferred Sell Account ----------- */}
|
|
<FormGroup
|
|
name={'preferred_sell_account'}
|
|
label={
|
|
<strong>
|
|
<T id={'preferred_sell_account'} />
|
|
</strong>
|
|
}
|
|
helperText={
|
|
<T
|
|
id={
|
|
'select_a_preferred_account_to_deposit_into_it_after_customer_make_payment'
|
|
}
|
|
/>
|
|
}
|
|
labelInfo={<FieldRequiredHint />}
|
|
fastField={true}
|
|
>
|
|
<AccountsSelect
|
|
name={'preferred_sell_account'}
|
|
items={accounts}
|
|
placeholder={<T id={'select_payment_account'} />}
|
|
filterByParentTypes={[ACCOUNT_PARENT_TYPE.INCOME]}
|
|
/>
|
|
</FormGroup>
|
|
|
|
{/* ----------- Preferred Cost Account ----------- */}
|
|
<FFormGroup
|
|
name={'preferred_cost_account'}
|
|
label={
|
|
<strong>
|
|
<T id={'preferred_cost_account'} />
|
|
</strong>
|
|
}
|
|
helperText={
|
|
<T
|
|
id={
|
|
'select_a_preferred_account_to_deposit_into_it_after_customer_make_payment'
|
|
}
|
|
/>
|
|
}
|
|
labelInfo={<FieldRequiredHint />}
|
|
fastField={true}
|
|
>
|
|
<AccountsSelect
|
|
name={'preferred_cost_account'}
|
|
items={accounts}
|
|
placeholder={<T id={'select_payment_account'} />}
|
|
filterByParentTypes={[ACCOUNT_PARENT_TYPE.EXPENSE]}
|
|
/>
|
|
</FFormGroup>
|
|
|
|
{/* ----------- Preferred Inventory Account ----------- */}
|
|
<FFormGroup
|
|
name={'preferred_inventory_account'}
|
|
label={
|
|
<strong>
|
|
<T id={'preferred_inventory_account'} />
|
|
</strong>
|
|
}
|
|
helperText={
|
|
<T
|
|
id={
|
|
'select_a_preferred_account_to_deposit_into_it_vendor_advanced_deposits'
|
|
}
|
|
/>
|
|
}
|
|
labelInfo={<FieldRequiredHint />}
|
|
fastField={true}
|
|
>
|
|
<AccountsSelect
|
|
name={'preferred_inventory_account'}
|
|
items={accounts}
|
|
placeholder={<T id={'select_payment_account'} />}
|
|
filterByTypes={[ACCOUNT_TYPE.INVENTORY]}
|
|
/>
|
|
</FFormGroup>
|
|
|
|
<CardFooterActions>
|
|
<Button intent={Intent.PRIMARY} loading={isSubmitting} type="submit">
|
|
<T id={'save'} />
|
|
</Button>
|
|
<Button onClick={handleCloseClick} disabled={isSubmitting}>
|
|
<T id={'close'} />
|
|
</Button>
|
|
</CardFooterActions>
|
|
</Form>
|
|
);
|
|
}
|