1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4333],{3132:(e,r,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/ui/logins-and-permissions/edit-user",function(){return s(92619)}])},92619:(e,r,s)=>{"use strict";s.r(r),s.d(r,{default:()=>er});var t=s(37876),o=s(90281),i=s(46045),a=s(16690),n=s(47797),d=s(54280),l=s(47979),u=s(93911),c=s(35121),m=s(14e3),p=s(89099),f=s(14232),y=s(88992),h=s(39899),g=s(85461),b=s(15526),E=s(67691),v=s(55932);let{useData:P,ensureData:S,setData:_,getFromCache:w,query:x}=(0,v.V)("shopUser",(e,r)=>e.url((e=>{let{pin:r,repositoryId:s}=e;return"/ecomm/b2b/v1/shops/".concat(r,"/users/").concat(s)})(r)).get().json()),C=e=>{var r;return null!=(r=e.permissionGroups)?r:[]},M=async(e,r)=>e.url((e=>{let{pin:r,eoUserId:s}=e;return"/ecomm/b2b/v1/shops/".concat(r,"/users/").concat(s,"/permissions")})(r)).get().json().then(C),{useData:I,ensureData:D,setData:K,getFromCache:k,query:j}=(0,v.V)("shopUsers",M),U={"Content-Type":"application/json"},L=async e=>{e.removeQueries({queryKey:[E.BF.getPrimaryKey()],type:"all"}),e.removeQueries({queryKey:[x.getPrimaryKey()],type:"all"}),e.removeQueries({queryKey:[j.getPrimaryKey()],type:"all"})},T=["putEditUser"];var N=s(74319),O=s(38267),A=s(68946),B=s(90745),Q=s(32464),R=s(63241),F=s(47024);let V=e=>({errorCode:e.errorCode||"",errorCodeDescription:e.errorCodeDescription||"",errorMessageKey:e.errorMessageKey||""});var q=s(24412),Y=s(48656),H=s(20150),W=s(55169);let X=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],s=arguments.length>2?arguments[2]:void 0,{watch:t,formState:{dirtyFields:o}}=s,[i,a]=(0,f.useState)(new Set),[n,d]=(0,f.useState)(!1),l=t("title"),u=(0,f.useMemo)(()=>r.find(e=>e.value===l),[l,r]),c=(0,f.useMemo)(()=>(0,O.P6)(e),[e]);return(0,f.useEffect)(()=>{u&&o.title&&(d(!0),a(new Set(u.permissionIds)))},[o.title,u]),{selectedPermissions:n?i:c,selectPermissions:a,isPermissionsChanged:n,setPermissionsChanged:d}};var G=s(24662),z=s(78591),J=s(81348),Z=s(77432),$=s(37227);let ee=()=>{var e;let{trackView:r,trackEvent:s}=(0,n.s)(),o=(0,c.h)(),E=(0,p.useRouter)(),v=(0,m.useSearchParams)(),S=(0,m.usePathname)(),_=null==v?void 0:v.get("pg"),w=(()=>{let e=(0,g.jE)();return(0,b.n)({useErrorBoundary:!1,mutationKey:T,mutationFn:e=>((e,r)=>e.url((e=>{let{pin:r,repositoryId:s}=e;return"/ecomm/b2b/v1/shops/".concat(r,"/users/").concat(s)})(r)).headers(U).options({resolve401With:"res"}).put(r.payload).res())((0,h.x4)(),e),onSuccess:r=>L(e)})})(),[x,C]=(0,f.useState)(!1),[M,D]=(0,f.useState)(0),K=(e=>{let{useErrorBoundary:r,enabled:s}=e,t=(0,q.po)({useErrorBoundary:r,enabled:s}),o=(0,f.useMemo)(()=>{var e;return(0,Y.wP)(null==(e=t.data)?void 0:e.shopInfos)||0},[t.data]),i=(0,m.useSearchParams)(),a=(null==i?void 0:i.get("repositoryId"))||"",n=(null==i?void 0:i.get("eoUserId"))||"";return{data:[o,a,n],isLoading:t.isLoading,isError:t.isError,isSuccess:!!(o&&a&&n)&&t.isSuccess,refetch:t.refetch}})({useErrorBoundary:!1,enabled:w.isIdle}),[k,j,ee]=(0,f.useMemo)(()=>K.data||[],[K.data]),er=(e=>{var r;let{useErrorBoundary:s,enabled:t,formatForSelect:o}=e,i=(0,H.Zo)({useErrorBoundary:s,enabled:t});return{data:(0,f.useMemo)(()=>{var e;return(0,O.T$)(null==(e=i.data)?void 0:e.roleTypes,o)},[null==(r=i.data)?void 0:r.roleTypes,o])||[],isLoading:i.isLoading,isError:i.isError,isSuccess:!!i.data&&i.isSuccess,refetch:i.refetch}})({useErrorBoundary:!1,enabled:w.isIdle&&K.isSuccess}),es=P({options:{pin:k,repositoryId:j},useErrorBoundary:!1,enabled:w.isIdle&&K.isSuccess}),et=I({options:{pin:k,eoUserId:ee},useErrorBoundary:!1,enabled:w.isIdle&&K.isSuccess});(0,f.useEffect)(()=>{_&&(D(Number(_)),E.replace("".concat(S,"?repositoryId=").concat(j,"&eoUserId=").concat(ee)))},[ee,j,v,E,S,_]),(0,f.useEffect)(()=>{(0,d.n)(K)&&(0,d.n)(er)&&(0,d.n)(es)&&(0,d.n)(et)&&r("LoginsAndPermissions:EditUser")},[K,er,es,r,et]);let eo=(0,f.useMemo)(()=>N.yf.reduce((0,O.XP)(es.data),{}),[es]),ei=(0,f.useMemo)(()=>es.isError||et.isError||er.isError||K.isError,[es,et,er,K]),ea=(0,f.useMemo)(()=>es.isLoading||et.isLoading||er.isLoading||x||K.isLoading,[es,et,er,x,K]),en=(0,f.useCallback)(()=>Promise.all([es.refetch(),et.refetch(),er.refetch(),K.refetch()]),[es,et,er,K]),ed=(0,y.mN)({defaultValues:N.V2,values:(0,O.uk)(es.data,er.data,N.V2),mode:"onChange"}),{selectedPermissions:el,selectPermissions:eu,isPermissionsChanged:ec,setPermissionsChanged:em}=X(et.data,er.data,ed),{onFormSubmitError:ep,isSubmitError:ef,submitErrorTextKey:ey,resetSubmitError:eh}=(e=>{let r=(0,c.h)(),[s,t]=(0,f.useState)(!1),[o,i,a]=(0,F.K)(),{clearErrors:n,setError:d}=e,{t:l}=(0,B.c3)(),u=(0,f.useMemo)(()=>
1({[N.OQ.userAlreadyExist]:e=>d("username",{type:"custom",message:l(e.errorMessageKey,{fallback:e.errorCodeDescription})}),[N.OQ.emailAlreadyExist]:e=>d("email",{type:"custom",message:l(e.errorMessageKey,{fallback:e.errorCodeDescription})}),[N.OQ.missingManageUserPermission]:e=>i(e.errorMessageKey),[N.OQ.missingChangeUserPermission]:e=>i(e.errorMessageKey),[R.Ru]:e=>d("password",{type:N.f5.nonRepeatablePassword,message:l(e.errorMessageKey,{fallback:R.pV})})}),[d,i,l]);return{onFormSubmitError:(0,f.useCallback)((e,s)=>{let[o]=function(e){let r=(0,Q.J)(e);if(!r)return[];let{errorDetails:s=[]}=r;return[...s,(0,A._)(r,["errorDetails"])].map(V)}(s);if(o){let s=u[o.errorCode];s?(s(o),(0,O.p6)(e,r)):t(!0)}},[t,u,r]),isSubmitError:s,submitErrorTextKey:o,resetSubmitError:()=>{t(!1),a(),n()}}})(ed),eg=(0,f.useCallback)(async e=>{C(!0),eh();let{username:r,firstName:t,lastName:n,title:d,customTitle:l,phoneNumber:c,mobileNumber:m,email:p,confirmEmail:f,password:y,confirmPassword:h,primaryAdminFlag:g}=e;try{var b,v;let e=(0,O.Y7)(c),P={};if(eo.hintEditable&&(P=(0,a._)((0,i._)({},P),{passwordHint:(null==(v=es.data)?void 0:v.passwordHint)||"no hint"})),eo.userNameEditable&&(P=(0,a._)((0,i._)({},P),{login:r.trim()})),eo.infoEditable&&(P=(0,a._)((0,i._)({},P),{firstName:t,lastName:n,email:p,confirmEmail:f,areaCode:e.code,phonePrefix:e.prefix,phoneSuffix:e.suffix}),m)){let e=(0,O.Y7)(m);P=(0,a._)((0,i._)({},P),{mobileAreaCode:e.code,mobilePhonePrefix:e.prefix,mobilePhoneSuffix:e.suffix})}eo.passEditable&&f&&y&&(P.password=y,P.confirmPassword=h);let S=null==(b=er.data)?void 0:b.find(e=>{let{value:r}=e;return r===d});eo.roleEditable&&S&&(P.roleId=d,d===N.kS&&(P.roleTitle=l)),eo.permEditable&&(P.permissionIds=[...el].filter(Number)),eo.showPrimaryAdminOption&&(P.primaryAdminFlag=g),await w.mutateAsync({pin:k,repositoryId:j,payload:P,eoUserId:ee}),await E.push("".concat(u.Yr).concat(M?"?pg=".concat(M):"")),s("LoginsAndPermissions:EditUser:editUser"),(0,O.z7)(r,o)}catch(e){ep(r,e)}finally{C(!1)}},[eh,eo.hintEditable,eo.userNameEditable,eo.infoEditable,eo.passEditable,eo.roleEditable,eo.permEditable,eo.showPrimaryAdminOption,er.data,w,k,j,ee,E,s,o,null==(e=es.data)?void 0:e.passwordHint,el,ep,M]),[eb,eE]=((e,r)=>{let[s,t]=(0,f.useState)(!1),o=(0,f.useCallback)(()=>t(!1),[]);return(0,f.useEffect)(()=>{(e||r)&&t(!0)},[t,e,r]),[s,o]})(ei,ef);(0,f.useEffect)(()=>{if((0,W.Y)()){let e=document.getElementById("editUserWrapperDiv");window.scrollTo({top:e.offsetTop,behavior:"smooth"})}},[x]);let ev=ed.formState.isDirty||ec;return(0,t.jsxs)(y.Op,(0,a._)((0,i._)({},ed),{children:[(0,t.jsx)(z.T,{id:"editUserWrapperDiv",mode:"edit"}),(0,t.jsxs)(J.a,{mode:"edit",isLoading:ea,isSubmitDisabled:ei||!ev,errorTextKey:ey,onDismissErrorText:eh,onSave:ed.handleSubmit(eg),loginsPermissionsPgNo:M,children:[(0,t.jsx)(Z.l,{control:ed.control,errors:ed.formState.errors,titleOptionList:er.data||[],editRestrictions:eo,mode:"edit"}),(0,t.jsx)($.S,{control:ed.control,errors:ed.formState.errors,mode:"edit",editRestrictions:eo}),(0,t.jsx)(G.y,{permissionGroups:et.data||[],updatedPermissionIds:el,setUpdatedPermissionIds:eu,isPermissionsModified:ec,setIsPermissionsModified:em,editRestrictions:eo})]}),(0,t.jsx)(l.A,{isOpen:eb&&(ei||ef),onClose:eE,onRetry:ei?en:ed.handleSubmit(eg)})]}))};function er(){return(0,t.jsx)(o.n,{background:"grey",children:(0,t.jsx)(ee,{})})}er.getInitialProps=async e=>({})}},e=>{e.O(0,[5177,293,7914,8992,9756,1513,3382,2447,7797,8145,1648,557,636,6593,8792],()=>e(e.s=3132)),_N_E=e.O()}]);
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.