{"version":3,"sources":["components/Products/CustomerDetails/FormView.jsx","containers/Products/CustomerDetails/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","responses","Promise","all","getItem","catch","error","_this$props$onCancel","_this$props","onCancel","call","resourceNotFound","newItem","price","getSettings","type","settingsType","userIsDcribDistributor","getCustomers","resolve","cloneDeep","value","data","setState","fieldSettings","customers","get","showError","setItemValue","name","produce","draft","set","one","displayName","form","setFieldsValue","handleSubmit","createHandleSubmit","componentDidMount","render","_this$state$customers","_jsx","_Spin","createLabel","createLabelFactory","createFieldDecorator","createFieldFactory","readOnly","isReadOnly","_jsxs","_Form","layout","colon","onSubmit","stopEvent","children","className","ValidationError","errors","validationErrors","Item","label","Select","onChange","allowClear","showSearch","map","each","Option","getOptionProps","allowPricing","InputNumber","min","currency","_Input","TextArea","rows","_Button","onClick","t","_Tooltip","title","placement","htmlType","loading","saveAndCloseButtonLoading","create","createChildFormViewContainer","actions","extraDispatchToProps","dispatch","params","customerActions","getOptions","Component"],"mappings":"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","file":"static/js/51.1caff7f3.chunk.js","sourcesContent":["import * as React from 'react'\r\nimport { Form, Input, Spin, Button, Tooltip } from 'antd'\r\nimport { set, cloneDeep, get } from 'lodash'\r\nimport produce from 'immer'\r\nimport { showError, resourceNotFound, ValidationError } from 'helpers/errors'\r\nimport { createLabelFactory, createFieldFactory, createHandleSubmit, isReadOnly } from 'helpers/formViews'\r\nimport { allowPricing } from 'helpers/auth'\r\nimport { t } from 'helpers/i18n'\r\nimport { stopEvent } from 'helpers/events'\r\nimport Select, { Option, getOptionProps } from 'elements/Select'\r\nimport InputNumber from 'elements/InputNumber'\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 }\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({ price: 0 })\r\n : resourceNotFound(this),\r\n this.props.getSettings({ type: this.props.settingsType }),\r\n this.props.userIsDcribDistributor ? this.props.getCustomers() : Promise.resolve(null),\r\n ])\r\n\r\n const item = cloneDeep(responses[0].value.data)\r\n\r\n this.setState({\r\n item,\r\n fieldSettings: responses[1].value.data.fieldSettings,\r\n customers: get(responses[2], 'value.data.items', []),\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 === 'customerId') {\r\n set(draft.item, 'customerName', draft.customers.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\r\n render() {\r\n const { item, fieldSettings } = this.state\r\n\r\n if (!item || !fieldSettings) {\r\n return