// @ts-nocheck import React, { useEffect, useRef } from 'react'; import { FormGroup, InputGroup, RadioGroup, Classes, Radio, Position, } from '@blueprintjs/core'; import { ErrorMessage, FastField } from 'formik'; import { CLASSES } from '@/constants/classes'; import { CategoriesSelectList, Hint, Col, Row, FieldRequiredHint, FormattedMessage as T, FormattedHTMLMessage, } from '@/components'; import classNames from 'classnames'; 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); }} /> )} {/* */}
); }