import React, { useEffect, useRef } from 'react';
import {
FormGroup,
InputGroup,
RadioGroup,
Classes,
Radio,
Position,
} from '@blueprintjs/core';
import { FormattedMessage as T, FormattedHTMLMessage } from 'components';
import { ErrorMessage, FastField } from 'formik';
import {
CategoriesSelectList,
Hint,
Col,
Row,
FieldRequiredHint,
} from 'components';
import classNames from 'classnames';
import { CLASSES } from 'common/classes';
import { useItemFormContext } from './ItemFormProvider';
import { handleStringChange, inputIntent } from 'utils';
import { categoriesFieldShouldUpdate } from './utils';
/**
* Item form primary section.
*/
export default function ItemFormPrimarySection() {
// Item form context.
const { isNewMode, item, itemsCategories } = useItemFormContext();
const nameFieldRef = useRef(null);
useEffect(() => {
// Auto focus item name field once component mount.
if (nameFieldRef.current) {
nameFieldRef.current.focus();
}
}, []);
const itemTypeHintContent = (
<>
>
);
return (
{/*----------- Item type ----------*/}
{({ form, field: { value }, meta: { touched, error } }) => (
}
labelInfo={
}
className={'form-group--item-type'}
intent={inputIntent({ error, touched })}
helperText={}
inline={true}
>
{
form.setFieldValue('type', _value);
})}
selectedValue={value}
disabled={!isNewMode && item.type === 'inventory'}
>
} value="service" />
} value="inventory" />
)}
{/*----------- Item name ----------*/}
{({ field, meta: { error, touched } }) => (
}
labelInfo={}
className={'form-group--item-name'}
intent={inputIntent({ error, touched })}
helperText={}
inline={true}
>
(nameFieldRef.current = ref)}
/>
)}
{/*----------- SKU ----------*/}
{({ field, meta: { error, touched } }) => (
}
className={'form-group--item_code'}
intent={inputIntent({ error, touched })}
helperText={}
inline={true}
>
)}
{/*----------- Item category ----------*/}
{({ form, field: { value }, meta: { error, touched } }) => (
}
inline={true}
intent={inputIntent({ error, touched })}
helperText={}
className={classNames('form-group--category', Classes.FILL)}
>
{
form.setFieldValue('category_id', category.id);
}}
/>
)}
{/* */}
);
}