1"use strict";(self.webpackChunkportal_next=self.webpackChunkportal_next||[]).push([[106],{11087(e,t,a){a.d(t,{A:()=>l});var i=a(44402),c=a(68327),r=a(54786);const s=(e,t,a)=>{(0,r.findIndex)(e,(e,i)=>e.show&&e.product.vendorPartNumber===t&&i===parseInt(a))},o={checkPriceResponse:async function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"api.quickOrder.checkPriceAndAvailability",n=[];return await c.K.call(l,{method:"POST",data:e,successCallback:e=>{n=function(e,t,a){const i=[...t],c=a.priceAndAvailability||[],o=[];if(c.map(t=>{const a=s(i,t.productCFN,t.lineItemID),c=i&&i.length>0?Object.assign({},i[a]):[];let r="",l="",n=!1,d=!1;if("undefined"!==typeof t.displayFacingPrice&&(t.isPriceApplicable?(r=t.displayFacingPrice,t.displayBasePrice&&(l=t.displayBasePrice),d=t.zeroPriceValid&&t.zeroPriceValid,n=!0):r=e("error.priceNotAvailable")),i&&i.length>0)c.product.availability=t.productAvailability||"",c.product.price=r,c.product.displayBasePrice=l,c.product.isoCode=t.currency.isocode,c.product.priceAvai=n,c.product.productAvailability=t.productAvailability||"",c.product.custNoteCode=t.custNoteCode||"",c.product.zeroPriceValid=d,c.product.productNextShipDate=t.productNextShipDate,c.product.productRecoveryDate=t.productRecoveryDate,c.product.displayTotalPrice=t.displayTotalPrice,c.product.displayBasePriceWithZMDO=t.displayBasePriceWithZMDO,o.push(c);else{const e={availability:t.productAvailability||"",price:r,isoCode:t.currency&&t.currency.isocode||"",displayBasePrice:l,priceAvai:n,productAvailability:t.productAvailability||"",custNoteCode:t.custNoteCode||"",zeroPriceValid:d,productNextShipDate:t.productNextShipDate,productRecoveryDate:t.productRecoveryDate,displayTotalPrice:t.displayTotalPrice,displayBasePriceWithZMDO:t.displayBasePriceWithZMDO};o.push(e)}}),"undefined"===typeof a.priceAndAvailability||(0,r.isArray)(a.priceAndAvailability)&&0===a.priceAndAvailability.length){const t={availability:"",price:e("error.priceNotAvailable"),isoCode:"",displayBasePrice:"",priceAvai:!1,productAvailability:"",custNoteCode:""};o.push(t)}return o}(t,a,e)},errorCallBack:e=>{throw e&&e.config&&e.config.error&&e.config.error(e.response,i.D.showNotification),e.response}},"",o),n}},l=o},19156(e,a,i){i.d(a,{A:()=>y});var c=i(64347),r=i(97920),s=i(42032),o=i(35944),l=i.n(o),n=i(91700),d=i(19483),m=i(52596),p=i(81182),u=i(43340),h=i(44943),b=i(54786),N=i(68327),P=i(62195);class v extends s.PureComponent{constructor(e){super(e),this.updatePhoneNumberFromProfile=this.updatePhoneNumberFromProfile.bind(this),this.selectRow=this.selectRow.bind(this),this.copyMail=this.copyMail.bind(this),this.contactNumber=this.contactNumber.bind(this),this.contactNumberOnBlur=this.contactNumberOnBlur.bind(this),this.expectedPrice=this.expectedPrice.bind(this),this.expectedPriceBlur=this.expectedPriceBlur.bind(this),this.contractNumber=this.contractNumber.bind(this),this.contractNumberBlur=this.contractNumberBlur.bind(this),this.userComments=this.userComments.bind(this),this.submitRpv=this.submitRpv.bind(this),this.lineItemValidation=this.lineItemValidation.bind(this),this.sendRpv=this.sendRpv.bind(this),this.rpvSuccessCallback=this.rpvSuccessCallback.bind(this),this.state={copymail:!1,contactNumber:"",contactNumberValidation:!1,itemList:(0,b.cloneDeep)(this.props.itemList),userEmailId:"",userName:"",expectPrice:[],validateExpPrice:!1,validateContactNumber:!1}}componentWillMount(){this.updatePhoneNumberFromProfile(this.props.userDetails)}updatePhoneNumberFromProfile(e){const t=(0,b.get)(e,"addresses[0].phone",""),a=(0,b.get)(e,"email",""),i="".concat((0,b.get)(e,"firstName","")," ").concat((0,b.get)(e,"lastName",""));t&&this.setState({validateContactNumber:!!t.match(/^(\+\d{1,3})?[\s]?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/)}),this.setState({contactNumber:t,userEmailId:a,userName:i})}userComments(e,t){const a=(0,b.cloneDeep)(this.state.itemList);a[t].comments=e,this.setState({itemList:a})}expectedPrice(e,t,a){const i=(0,b.cloneDeep)(this.state.itemList),
1c=[];i[a].expectedPrice=e,this.setState({validateExpPrice:!!e.match(/^[1-9]\d{0,7}(?:\.\d{1,4})?$/)}),i.map(e=>{if(e.checked){const t={expectedPrice:e.expectedPrice||""};c.push(Object.assign({},t))}}),this.setState({expectPrice:c})}expectedPriceBlur(e,t,a){const i=(0,b.cloneDeep)(this.state.itemList);i[a].expectedPrice=e.target.value,i[a].expectedPriceValidation=!t,this.setState({itemList:i})}contractNumber(){}contractNumberBlur(e,t,a){const i=(0,b.cloneDeep)(this.state.itemList);i[a].contractNumber=e.target.value,this.setState({itemList:i})}copyMail(e){this.setState({copymail:e})}contactNumberOnBlur(e,t){this.setState({contactNumber:e.target.value,contactNumberValidation:!t})}contactNumber(e){this.setState({validateContactNumber:!!e.match(/^(\+\d{1,3})?[\s]?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/)}),this.setState({contactNumber:e})}selectRow(e,t){const a=(0,b.cloneDeep)(this.state.itemList);a[t].checked=e,this.setState({itemList:a})}lineItemValidation(){const e=this.state.itemList.map(e=>Object.assign(e,{expectedPriceValidation:"undefined"===typeof e.expectedPriceValidation||e.expectedPriceValidation}));return this.setState({itemList:e}),!!e.find(e=>!!e.expectedPriceValidation&&!!e.checked)}submitRpv(){let e=!0;this.lineItemValidation()&&(e=!1),(""===this.state.contactNumber||this.state.contactNumberValidation)&&(e=!1,this.setState({contactNumberValidation:!0})),e&&this.sendRpv()}getRpvObj(){const e=(0,b.cloneDeep)(this.state.itemList),t=[];return e.map(e=>{if(e.checked){const a=(0,r.A)({},e).product,i={mpgCode:a&&a.mpgCode||"",productDesc:a&&a.name||"",vendorPartNumber:a&&a.vendorPartNumber||"",productName:a&&a.name||"",quantity:e.product.qty,currentPrice:a&&a.price||"",expectedPrice:e.expectedPrice||"",contract:e.contractNumber||"",comments:e.comments,supplier:a&&a.suppliers||[],uom:a&&a.salesUOM?{code:a.salesUOM.code,name:a.salesUOM.name}:{},code:a.code||""};t.push(Object.assign({},i))}}),t}sendRpv(){const e=this.getRpvObj(),t=e.map(e=>({productCFN:e.vendorPartNumber,productDesc:e.productDesc,quantity:e.quantity,unitPrice:e.uom.name,totalPrice:e.currentPrice,availability:e.availability})),a=(0,P.$T)(t);(0,P.zB)(a);const i={isCopyRequested:this.state.copymail,phoneNumber:this.state.contactNumber,products:e,soldToId:(0,b.get)(this.props,"soldTo.id",""),soldToName:(0,b.get)(this.props,"soldTo.name","")},c=(0,P.ef)(e,"code"),r=this.props.eventParamObjProps?this.props.eventParamObjProps:{eventCategory:"browseAndShop",eventAction:"rpv",eventLabel:{label:c,name:"rpvLabelsOnSubmit"}};(0,P.yI)(r),Array.isArray(e)&&e.length>0&&N.K.call("api.reportPriceVariance.rpv",{method:"POST",data:i,successCallback:this.rpvSuccessCallback})}rpvSuccessCallback(){(0,h.Zx)(t("priceVarianceReported")),this.props.rpvSuccess&&this.props.rpvSuccess(),this.props.cancelRpv(!1)}returnPrice(e){if(e&&(0===e.displayBasePrice||e.displayBasePrice))return e.displayBasePrice}returnUOM(e){const t=this.props.t;let a=e.salesUOM&&e.salesUOM.code||"";return a=a?t("unit.".concat(a)):""," ".concat(a)}render(){const e=this.props,t=e.t,a=e.className,i=this.state,r=i.expectPrice,o=i.contactNumber,l=i.contactNumberValidation,n=i.copymail,u=i.itemList,N=!(!(0,b.isEmpty)(r)&&u.some(e=>!0===e.checked)&&r.every(e=>!(0,b.isEmpty)(e.expectedPrice))&&o),P={label:t("expectedPrice"),name:"mdt-input",disabled:!1,errorMessage:t("requiredError"),required:!0,regexValidate:!0,regex:/^[1-9]\d{0,7}(?:\.\d{1,4})?$/,regexErrorMessage:t("error.invalidPrice")},v={label:t("expectedContractNumber"),name:"mdt-input",disabled:!1,errorMessage:t("requiredError"),validate:!1},y={label:t("contactNumber"),name:"mdt-input",disabled:!1,value:o,errorMessage:t("requiredError"),validate:l,required:!0,regexValidate:!0,regex:/^(\+\d{1,3})?[\s]?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/,regexErrorMessage:t("error.invalidPhoneNumber")},x={label:t("copyEmail"),onChange:e=>this.copyMail(e),className:"mdt-checkbox",labelClassName:"body1 rpv-copy-email",checked:n},E={title:t("reportPriceVariance"),icon:"cross",defaultOpen:!0,toggleWindow:e=>this.props.toggleRPVModal(e),customClass:"mdt-modal-window",modalInCenter:!0,isCancelButtonRequired:!0,submitButtonName:t("submit"),isSubmitDisabled:N||!this.state.validateExpPrice||!this.state.validateContactNumber,onClick:()=>this.submitRpv()};return s.createElement(h.tH,null,s.createElement(h.zR,E,s.createElement(d.A,{className:"rpv-container"},s.createElement(m.A,{className:a},s.createElement(p.A,{className:"report-price-variance"},s.createElement(m.A,null,s.createElement(p.A,{xs:12},s.createElement("span",{"data-test":"contractPriceIncorrect",className:"body1"}
1,t("contractPriceIncorrect")))),s.createElement("hr",{className:"rpv-extra-actions"}),s.createElement(m.A,{className:"list-section"},!(0,b.isEmpty)(u)&&u.map((e,a)=>{const i=this.returnPrice(e.product);return s.createElement(p.A,{xs:12,key:"rpv-".concat(a),className:"item-list"},s.createElement(m.A,{className:"item-header"},s.createElement(p.A,{xs:12},s.createElement("div",null,s.createElement("span",{"data-test":"cfnNumber-".concat(a),className:"body1 cfn-number text-transform-none m-emphasis"},t("item"),":"," ",e.product.vendorPartNumber)),s.createElement("div",{"data-test":"productName-".concat(a),className:"item-number-text"},s.createElement("h3",null,e.product.name)))),s.createElement(m.A,{className:"item-body"},s.createElement(p.A,{xs:12,sm:3,md:3,className:"list-col price-before"},s.createElement("div",{className:"body2 heading display-price-label"},t("displayedPrice")),s.createElement("div",{"data-test":"displayPriceValue-".concat(a),className:"body1 text display-price-value",id:"displayPrice"},s.createElement(h.fL,{isoCode:e.priceUnit||"US",value:i,uom:this.returnUOM(e.product),zeroPriceValid:0===i}))),s.createElement(p.A,{xs:12,sm:9,md:9,className:"price-after"},s.createElement(m.A,{className:"mx-0"},s.createElement(p.A,{xs:12,sm:6,md:6,className:"list-col",id:"expectedPrice"},s.createElement(h.U1,(0,c.A)({},P,{dataTest:"expectedPrice-".concat(a),customeRequiredFieldClass:"mdt-label",validate:!!e.expectedPriceValidation,onChange:(e,t)=>
1this.expectedPrice(e,t,a),onBlur:(e,t)=>this.expectedPriceBlur(e,t,a)}))),s.createElement(p.A,{xs:12,sm:6,md:6,className:"list-col",id:"expectedContractNumber"},s.createElement(h.U1,(0,c.A)({},v,{dataTest:"expectedContractNumber-".concat(a),onChange:(e,t)=>this.contractNumber(e,t,a),onBlur:(e,t)=>this.contractNumberBlur(e,t,a)})))),s.createElement(m.A,{className:"mx-0"},s.createElement(p.A,{xs:12,className:"list-col","data-test":"comments-".concat(a),id:"comments"},s.createElement(h.OP,{disabled:!1,errorMessage:t("error.comments"),label:t("comments"),name:"mdt-textarea",onBlur:e=>this.userComments(e,a),rows:"1"}))))),s.createElement("hr",{className:"rpv-extra-actions"}))})),s.createElement(m.A,null,s.createElement(p.A,{xs:12,sm:8,md:8,id:"contactNumber"},s.createElement(h.U1,(0,c.A)({},y,{dataTest:"contactNumber",onChange:(e,t)=>this.contactNumber(e,t),onBlur:(e,t)=>this.contactNumberOnBlur(e,t)})),s.createElement("span",{"data-test":"profileVisit",className:"body3 assistive-text"},t("profileVisit"),s.createElement("span",{className:"text-lowercase"}," ".concat(t("phoneNumberUpdate"),".")))),s.createElement(p.A,{xs:12,sm:4,md:4,className:"align-self-center"},s.createElement("div",{className:"send-email","data-test":"sendEmail",id:"sendEmail"},s.createElement(h.bB,x)))))))))}}v.propTypes={downloadParam:l().object,uploadPathVar:l().object,uploadTitle:l().string},v.defaultProps={downloadParam:{},uploadPathVar:{},uploadTitle:"uploadExcel"};const y=(0,n.connect)(function(e){return{userDetails:e.AccountDetails.user||{},pageName:e.page,soldTo:(0,b.get)(e,"meDetails.defaultCustomer.soldTo",{})}},function(){return{}})((0,u.CI)()(v))}}]); 2//# sourceMappingURL=106.0c870f09.chunk.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.