1"use strict";(globalThis.__LOADABLE_LOADED_CHUNKS__||=[]).push([[445],{18269(e,s,t){t.d(s,{A:()=>N});var a=t(76998),o=t(49113),n=t(88743),i=t.n(n),l=t(13978),c=t(99867),r=t(17317),d=t(45705),m=t(23446);class h extends a.Component{constructor(e){super(e);const{forename:s,surname:t,jobTitle:a,companyName:o,country:n,telephone:i=""}=this.props.accountDetails;this.state={forename:s,surname:t,jobTitle:a,companyName:o,country:n,telephone:i,notChanged:!0,loading:!1,success:!1,error:!1},this.onChangeField=this.onChangeField.bind(this)}onSubmit(e){const{forename:s,surname:t,jobTitle:a,companyName:o,country:n,telephone:i}=e.target,{accountDetails:c={}}=this.props;if(!(-1===[s,t,a,o,n,i].map(e=>"true"===e.dataset.valid).indexOf(!1)))return Promise.resolve({error:!0});this.setState({loading:!0});const r={forename:s.value,surname:t.value,jobTitle:a.value,companyName:o.value,country:n.value,telephone:i.value||null};return l.A.updateAccountDetails(Object.assign(c,r))}onSuccess(){document.location.href="/account/profile?updated=true"}onError(){this.setState({loading:!1,success:!1,error:!0})}onChangeField(e,s,t){t?s&&this.state[s]!==e&&this.setState({notChanged:!1}):this.setState({error:!0})}countries(){return Object.keys(d.ZS).map(e=>({value:e,label:d.ZS[e]}))}render(){const{loading:e,success:s,error:t,forename:a,surname:o,jobTitle:n,companyName:i,country:l,telephone:d,notChanged:h}=this.state;return(0,m.jsx)("div",{className:"c-profile-form",children:(0,m.jsx)(r.UV,{children:(0,m.jsxs)(r.lV,{onSubmit:e=>this.onSubmit(e),onSuccess:e=>this.onSuccess(e),onError:e=>this.onError(e),error:t,children:[(0,m.jsx)(r.C5,{type:"success",enabled:s,children:(0,m.jsx)("div",{className:"row",children:(0,m.jsx)("div",{className:"col-xs-12",children:(0,m.jsx)("p",{children:"Profile updated!"})})})}),(0,m.jsx)("div",{className:"row",children:(0,m.jsxs)("div",{className:"col-xs-12",children:[(0,m.jsx)(r.zB,{type:"text",name:"forename",value:a,label:"First Name *",disabled:e,pattern:{required:!0},onChange:this.onChangeField}),(0,m.jsx)(r.zB,{type:"text",name:"surname",value:o,label:"Last Name *",disabled:e,pattern:{required:!0},onChange:this.onChangeField}),(0,m.jsx)(r.zB,{type:"text",name:"jobTitle",value:n,label:"Job Title *",disabled:e,pattern:{required:!0},onChange:this.onChangeField}),(0,m.jsx)(r.zB,{type:"text",name:"companyName",value:i,label:"Company *",disabled:e,pattern:{required:!0},onChange:this.onChangeField}),(0,m.jsx)(r.zB,{type:"select",name:"country",value:l,label:"Country / Region *",disabled:e,pattern:{required:!0},options:this.countries(),onChange:this.onChangeField}),(0,m.jsx)(r.zB,{type:"text",name:"telephone",value:d,label:"Telephone Number",disabled:e,pattern:{required:!1,telephone:!0},onChange:this.onChangeField})]})}),(0,m.jsxs)("div",{className:"row c-profile-form__buttons-row",children:[(0,m.jsx)("div",{className:"col-xs-6",children:(0,m.jsx)(r.zB,{type:"submit",look:"accent",disabled:e||h,loading:e,className:"full-width capitalize",value:"Update"})}),(0,m.jsx)("div",{className:"col-xs-6",children:(0,m.jsx)(c.A,{to:"/account/profile",type:"button",look:"classic",size:"submit",className:"full-width c-button--submit capitalize",children:"Cancel"})})]})]})})})}}var u=t(80369),p=t(44847);class g extends a.Component{constructor(e){super(e),this.state={forename:"",surname:"",jobTitle:"",companyName:"",country:"",telephone:"",loaded:!1}}componentDidUpdate(){const{forename:e,surname:s,jobTitle:t,companyName:a,country:o,telephone:n=""}=this.props.accountDetails;this.props.preloading||this.state.loaded||this.setState({forename:e,surname:s,jobTitle:t,companyName:a,country:o,telephone:n,loaded:!0})}render(){const{forename:e,surname:s,jobTitle:t,companyName:a,country:o,telephone:n}=this.state,{t:i}=this.props;return(0,m.jsxs)("div",{className:"c-profile-data",children:[(0,m.jsx)("div",{className:"row",children:(0,m.jsx)("div",{className:"col-xs-12",children:(0,m.jsxs)("div",{className:"c-profile-data__heading-row",children:[(0,m.jsx)("h3",{className:"c-profile-data__full-name",children:[e,s].filter(Boolean).join(" ")}),(0,m.jsx)(p.Ay,{to:"/account/profile-edit/",type:"link",label:"Edit"})]})})}),(0,m.jsxs)("div",{className:"row",children:[(0,m.jsx)("div",{className:"col-xs-6 col-md-4",children:"Job Title"}),(0,m.jsx)("div",{className:"col-xs-6 col-md-8",children:t})]}),(0,m.jsxs)("div",{className:"row",children:[(0,m.jsx)("div",{className:"col-xs-6 col-md-4",children:"Company"}),(0,m.jsx)("div",{className:"col-xs-6 col-md-8",children:a})]}),(0,m.jsxs)("div",{className:"row",children:[(0,m.jsx)("div",{className:"col-xs-6 col-md-4",children:"Country / Region"}),(0,m.jsx)("div",{className:"col-xs-6 col-md-8",children:o&&i(`event.option.Country.${o}`)})]}),(0,m.jsxs)("div",{className:"row",children:[(0,m.jsx)("div",{className:"col-xs-6 col-md-4",children:"Telephone"}),(0,m.jsx)("div",{className:"col-xs-6 col-md-8",children:n})]})]})}}const x=(0,u.C)()(g);class j extends a.Component{constructor(e){super(e),this.state={loading:!1,loaded:!1,error:!1,selectedImage:null},this.onRemoveImage=this.onRemoveImage.bind(this),this.onImageChange=this.onImageChange.bind(this)}componentDidUpdate(){const e=this.props.accountDetails;this.props.preloading||this.state.loaded||this.setState({selectedImage:e.profilePhotoUrl,loaded:!0})}updateUserProfile(e){const s={profilePhotoUrl:e?`/account/uploads/${e}`:null};return l.A.updateAccountDetails(Object.assign(this.props.accountDetails,s))}async onImageChange(e){if("object"!==typeof e)return!1;e.preventDefault();const s=new FormData,t=e.target.files[0];if(!t)return!1;const a=(t.size/1024).toFixed(0);if(a>500)return alert("The image is too large ("+a+" kB) it must be less than 500 kB"),!1;const o=this.state.selectedImage;this.setState({loading:!0}),s.append("name",t.name),s.append("file",t),s.append("imageType",t.type),s.append("bucketN
1ame","accountBucketName"),await this.uploadImage(s).then(e=>{e.success?this.updateUserProfile(e.fileName).then(e=>e.json()).then(e=>{e.success&&(this.setState({selectedImage:this.props.accountDetails.profilePhotoUrl}),this.props.onSuccess&&this.props.onSuccess(),o&&this.removeImage(o.split("/").pop()))}):this.setState({error:!0})}).catch(()=>{}).finally(()=>{this.setState({loading:!1})})}uploadImage(e){return fetch("/upload",{method:"POST",headers:{Accept:"application/json, text/plain, *!/!*"},credentials:"same-origin",body:e}).then(e=>e.json()).catch(e=>(this.setState({loading:!1}),e))}async onRemoveImage(e){e.preventDefault(),await this.removeImage().then(e=>{e.success?(this.setState({selectedImage:null}),this.props.onSuccess&&this.props.onSuccess(),this.updateUserProfile()):this.setState({error:!0})}).catch(()=>{this.setState({error:!0})})}removeImage(){return fetch("/remove-profile-image",{method:"POST"}).then(e=>e.json()).catch(e=>e)}render(){const{t:e}=this.props,{loading:s,error:t,selectedImage:a}=this.state,o=`url(${a||"/images/default-silhouette.png"})`,n=!!a;return(0,m.jsx)("div",{className:"c-user-photo-form",children:(0,m.jsxs)("div",{className:"c-user-photo-form__block",children:[s&&(0,m.jsx)("div",{className:"photo-form-loading"}),(0,m.jsx)("div",{className:"c-user-photo",style:{backgroundImage:o}}),(0,m.jsx)(r.zB,{type:"file",look:"classic",className:"full-width",disabled:s,onChange:this.onImageChange,pattern:{required:!1},buttonClassName:"capitalize c-button--medium "+(n?"edit-image":"full-width"),selectFileButtonValue:""+(n?"":"Add Image"),fileExtensions:"image/x-png,image/gif,image/jpeg"}),a&&(0,m.jsx)(c.A,{type:"button",look:"classic",size:"submit",className:"capitalize full-width c-button--medium",onClick:this.onRemoveImage,children:"Remove image"}),t&&(0,m.jsx)("p",{className:"edit-photo-error",children:e("component.form.default.error")})]})})}}const f=(0,u.C)()(j);class v extends a.Component{constructor(e){super(e);const s=i().parse(this.props.history.location.search.slice(1)),t=s.updated;this.state={forename:"",surname:"",jobTitle:"",companyName:"",country:"",telephone:"",email:"",preloading:!0,success:t},this.onSuccess=this.onSuccess.bind(this),s.updated&&(this.timeHandler=setTimeout(()=>{this.setState({success:!1})},5e3))}async getAccountDetails(){this.setState({preloading:!0});const e=await l.A.getAccountDetails().then(e=>e.json()).then(e=>{var s;return(null===(s=e.profile)||void 0===s?void 0:s.core)||{}});if(!e)return void this.setState({preloading:!1});const{forename:s,surname:t,jobTitle:a,companyName:o,country:n,profilePhotoUrl:i,telephone:c,email:r}=e;this.setState({forename:s,surname:t,jobTitle:a,companyName:o,country:n,profilePhotoUrl:i,telephone:c,email:r,preloading:!1})}componentDidMount(){this.getAccountDetails()}componentWillUnmount(){this.timeHandler&&(clearTimeout(this.timeHandler),this.timeHandler=0)}onSuccess(){this.setState({success:!0}),this.timeHandler=setTimeout(()=>{this.setState({success:!1})},5e3)}render(){const e=this.props.editMode,{preloading:s,forename:t,surname:a,jobTitle:o,companyName:n,country:i,profilePhotoUrl:l,telephone:c,success:r,email:d}=this.state,u={forename:t,surname:a,jobTitle:o,companyName:n,country:i,profilePhotoUrl:l,telephone:c,email:d};return(0,m.jsx)("div",{className:"container",children:(0,m.jsx)("div",{className:"row",children:(0,m.jsxs)("div",{className:"col-xs-12 col-md-10 col-md-offset-1",children:[(0,m.jsx)("div",{className:"row success-message "+(r?"visible":""),children:(0,m.jsx)("div",{className:"col-xs-12",children:"Thanks for updating your profile!"})}),(0,m.jsx)("div",{className:"row",children:(0,m.jsx)("div",{className:"col-xs-12",children:(0,m.jsxs)("h2",{children:[e?"Edit":"My"," profile"]})})}),e?(0,m.jsx)("div",{className:"row",children:(0,m.jsx)("div",{className:"col-xs-12",children:s?(0,m.jsx)("p",{children:"LOADING..."}):(0,m.jsx)(h,{accountDetails:u,onSuccess:this.onSuccess})})}):(0,m.jsxs)("div",{className:"row",children:[(0,m.jsx)("div",{className:"col-xs-12 col-md-4 col-lg-3",children:(0,m.jsx)(f,{accountDetails:u,preloading:s,onSuccess:this.onSuccess})}),(0,m.jsx)("div",{className:"col-xs-12 col-md-8 col-lg-9",children:(0,m.jsx)(x,{accountDetails:u,preloading:s})})]})]})})})}}const N=(0,o.y)(v)},86720(e,s,t){t.r(s),t.d(s,{ProfileView:()=>l});t(76998);var a=t(13761),o=t(59453),n=t(18269),i=t(23446);
1function l(e){const{pageConfig:{tenantConfig:{outputName:s}={}}={}}=e;return(0,i.jsx)(o.A,{helmet:{title:`${s} - Profile`},fullHeightChild:!0,children:(0,i.jsx)("div",{className:"v-profile-view",children:(0,i.jsx)(n.A,{})})})}const c=(0,a.Ng)(function(e){return{pageConfig:e.pageConfig}})(l);t.d(s,["default",0,c])}}]); 2//# sourceMappingURL=ProfileView.dc9681d1.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.