{"version":3,"sources":["components/Products/SupplierDetails/FormView.jsx","containers/Products/SupplierDetails/FormView.js"],"names":["FormView","React","constructor","props","_this","super","this","state","getItemId","_this$state$item","_this$props$linkTarge","item","id","linkTargetRecord","find","Boolean","fetchItem","async","itemId","arguments","length","undefined","_suppliers$value$data","_suppliers$value","responses","Promise","all","getItem","catch","error","_this$props$onCancel","_this$props","onCancel","call","resourceNotFound","newItem","price","database","getSettings","type","settingsType","cloneDeep","value","data","suppliers","getSuppliers","supplierIds","supplierId","setState","fieldSettings","showError","setItemValue","name","produce","draft","set","items","one","displayName","form","setFieldsValue","searchSuppliers","response","search","handleSubmit","createHandleSubmit","debounce","DEBOUNCE","componentDidMount","render","_suppliers$items","_jsx","_Spin","createLabel","createLabelFactory","createFieldDecorator","createFieldFactory","readOnly","isReadOnly","_jsxs","_Form","layout","colon","onSubmit","stopEvent","children","className","ValidationError","errors","validationErrors","Item","label","Select","onChange","dropdownRender","createDropdownRender","onSearch","allowClear","showSearch","filter","createFilterUserSuppliers","map","each","Option","getOptionProps","_Input","allowPricing","InputNumber","min","currency","TextArea","rows","_Button","onClick","t","_Tooltip","title","placement","htmlType","loading","saveAndCloseButtonLoading","create","createChildFormViewContainer","actions","extraDispatchToProps","dispatch","params","supplierActions","getOptions","pageIndex","pageSize","active","Component"],"mappings":"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","file":"static/js/52.978fdc33.chunk.js","sourcesContent":["import * as React from 'react'\r\nimport { Form, Input, Spin, Button, Tooltip } from 'antd'\r\nimport { debounce, set, cloneDeep } from 'lodash'\r\nimport produce from 'immer'\r\nimport { showError, resourceNotFound, ValidationError } from 'helpers/errors'\r\nimport InputNumber from 'elements/InputNumber'\r\nimport Select, { Option, getOptionProps } from 'elements/Select'\r\nimport {\r\n createLabelFactory,\r\n createFieldFactory,\r\n createHandleSubmit,\r\n createDropdownRender,\r\n isReadOnly,\r\n} from 'helpers/formViews'\r\nimport { allowPricing, createFilterUserSuppliers } from 'helpers/auth'\r\nimport { t } from 'helpers/i18n'\r\nimport { stopEvent } from 'helpers/events'\r\nimport { DEBOUNCE } from 'helpers/utils'\r\n\r\nclass FormView extends React.Component {\r\n state = {}\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.handleSubmit = createHandleSubmit(this)\r\n this.searchSuppliers = debounce(this.searchSuppliers, DEBOUNCE)\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchItem()\r\n }\r\n\r\n getItemId = () => [this.state.item?.id, this.props.linkTargetRecord?.id].find(Boolean)\r\n\r\n fetchItem = async ({ itemId = this.getItemId() } = {}) => {\r\n try {\r\n const responses = await Promise.all([\r\n itemId\r\n ? this.props.getItem(itemId).catch((error) => {\r\n this.props.onCancel?.()\r\n throw error\r\n })\r\n : !this.props.linkTargetRecord\r\n ? this.props.newItem({\r\n price: 0,\r\n database: 'Distributor',\r\n })\r\n : resourceNotFound(this),\r\n this.props.getSettings({ type: this.props.settingsType }),\r\n ])\r\n\r\n const item = cloneDeep(responses[0].value.data)\r\n\r\n const suppliers = await this.props.getSuppliers({\r\n supplierIds: item.supplierId ? [item.supplierId] : undefined,\r\n })\r\n\r\n this.setState({\r\n item,\r\n fieldSettings: responses[1].value.data.fieldSettings,\r\n suppliers: suppliers?.value?.data ?? {},\r\n })\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n\r\n setItemValue = (name, value) =>\r\n this.setState(\r\n produce((draft) => {\r\n set(draft.item, name, value)\r\n\r\n if (name === 'supplierId') {\r\n set(draft.item, 'supplierName', draft.suppliers.items.find((one) => one.id === value).displayName)\r\n }\r\n\r\n this.props.form.setFieldsValue({ [name]: value })\r\n })\r\n )\r\n\r\n searchSuppliers = async (search) => {\r\n try {\r\n const { item } = this.state\r\n const response = await this.props.getSuppliers({\r\n search,\r\n supplierIds: item.supplierId ? [item.supplierId] : undefined,\r\n })\r\n\r\n this.setState({ suppliers: response.value.data })\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n\r\n render() {\r\n const { item, fieldSettings, suppliers } = this.state\r\n\r\n if (!item || !fieldSettings) {\r\n return