n8n-editor-ui
Version:
Workflow Editor UI for n8n
2 lines • 19.2 kB
JavaScript
!function(){try{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"n8n@2.13.4"}}catch(e){}}(),System.register(["./chunk-legacy-TXBRODOR.js","./vue.runtime.esm-bundler-legacy-IafOlCW8.js","./_MapCache-legacy-DwgdC8YO.js","./src-legacy-Dwzr7bD0.js","./_plugin-vue_export-helper-legacy-DEZAmQqp.js","./sanitize-html-legacy-ChR3ikxn.js","./users.store-legacy-OKuN0qAC.js","./radio-legacy-BF5M5zI6.js","./Alert-legacy-DmiRILhq.js","./constants-legacy-DNCca_FT.js","./merge-legacy-uu1aGqHK.js","./_baseOrderBy-legacy-PsQY_Pvh.js","./dateformat-legacy-BxdD_OP7.js","./useDebounce-legacy-CT3oYGrC.js","./versions.store-legacy-BoVYiMEK.js","./usePageRedirectionHelper-legacy-dYzA8Va8.js","./useClipboard-legacy-D5bRgqfO.js","./dateFormatter-legacy-CmupnmDm.js","./sso.store-legacy-VUs4UkgQ.js","./userRoleProvisioning.store-legacy-DEF5tvAn.js"],(function(e,t){var s,a,i,n,l,r,o,u,d,c,g,p,b,m,v,y,f,_,x,w,h,T,L,k,U,S,j,R,C,I,P,A,$,M,O,E,N,B,D,F,z,H,K,V,W,X,Y,Z,G,J,Q,q,ee,te,se,ae,ie,ne,le,re,oe,ue,de,ce,ge,pe,be,me,ve,ye,fe,_e,xe;return{setters:[function(e){e.o},function(e){s=e.$,a=e.A,i=e.C,n=e.E,l=e.F,r=e.Ft,o=e.H,u=e.N,d=e.S,c=e.Sn,g=e.T,p=e.Wt,b=e.X,m=e._,v=e._n,y=e.dt,f=e.j,_=e.rt,x=e.vn,w=e.w,h=e.yt},function(e){T=e.bt,L=e.st,k=e.xt},function(e){U=e.$i,S=e.Bt,j=e.Fi,R=e.K,C=e.M,I=e.Mi,P=e.Qi,A=e.Ri,$=e.Rt,M=e.Yi,O=e.Zi,E=e._,N=e.lt},function(e){B=e.t},function(e){},function(e){D=e.As,F=e.Hr,z=e.Po,H=e.Tr,K=e._o,V=e.gr,W=e.jr,X=e.r,Y=e.t,Z=e.vn},function(e){G=e.t},function(e){J=e.t},function(e){e.Ps,Q=e.gl,q=e.ii,ee=e.ll,te=e.pl,se=e.wl,ae=e.yi},function(e){},function(e){},function(e){},function(e){},function(e){},function(e){ie=e.t},function(e){ne=e.t},function(e){le=e.r},function(e){re=e.n},function(e){oe=e.t}],execute:function(){(ue=document.createElement("style")).textContent="._roleLabel_13imy_125{align-items:center;gap:var(--spacing--3xs);cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}._roleLabel_13imy_125:disabled{cursor:default;opacity:.7}._radioLabel_13imy_139{max-width:268px;padding:var(--spacing--2xs)0;flex-direction:column;display:inline-flex}._radioLabel_13imy_139 span{white-space:normal}._removeUser_13imy_149{padding:var(--spacing--2xs)var(--spacing--lg);display:block}._projects_1ynwg_125{align-items:center;height:100%;display:flex}._project_1ynwg_125{white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;max-width:max-content;overflow:hidden}._comma_1ynwg_140{padding:0 var(--spacing--5xs);flex-shrink:0}._projectList_1ynwg_145{padding:0 var(--spacing--sm)}._projectList_1ynwg_145 li{list-style:outside}._userCount_17a4t_125{padding:var(--spacing--3xs)0 0;display:block}._buttonContainer_17a4t_130{justify-content:space-between;gap:var(--spacing--sm);margin:0 0 var(--spacing--sm);display:flex}._search_17a4t_137{max-width:300px}._setupInfoContainer_17a4t_141{max-width:728px}._container_17a4t_145{padding-bottom:20px}\n/*$vite$:1*/",document.head.appendChild(ue);try{t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},(we=(new t.Error).stack)&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[we]="1cc54233-d4d9-4291-92b1-9ae9aaa496e4",t._sentryDebugIdIdentifier="sentry-dbid-1cc54233-d4d9-4291-92b1-9ae9aaa496e4")}catch(t){}var t,we;de=["disabled"],ce={key:1},ge=u({__name:"SettingsUsersRoleCell",props:{data:{},roles:{},actions:{},loading:{type:Boolean,default:!1}},emits:["update:role"],setup(e,{emit:t}){const l=e,r=t,o=d((()=>l.data.role??q.Default)),u=d((()=>l.data.role!==q.Owner)),g=d((()=>l.roles[o.value]?.label)),b=e=>{r("update:role",{role:e,userId:l.data.id})};return(e,t)=>(s(),n("div",null,[u.value?(s(),w(p(S),{key:0,placement:"bottom-start",items:l.actions,disabled:l.loading,"data-test-id":"user-role-dropdown",onSelect:b},{activator:h((()=>[i("button",{class:v(e.$style.roleLabel),type:"button",disabled:l.loading},[f(p(O),{color:"text-dark"},{default:h((()=>[a(c(g.value),1)])),_:1}),l.loading?(s(),w(p(U),{key:0,color:"text-dark",icon:"spinner",spin:"",size:"large"})):(s(),w(p(U),{key:1,color:"text-dark",icon:"chevron-down",size:"large"}))],10,de)])),menuItem:h((t=>[f(p(G),{"model-value":o.value,label:t.id},{default:h((()=>[i("span",{class:v(e.$style.radioLabel)},[f(p(O),{color:"text-dark",class:"pb-3xs"},{default:h((()=>[a(c(t.label),1)])),_:2},1024),f(p(O),{color:"text-dark",size:"small"},{default:h((()=>[a(c(l.roles[t.id]?.desc),1)])),_:2},1024)],2)])),_:2},1032,["model-value","label"])])),_:1},8,["items","disabled"])):(s(),n("span",ce,c(g.value),1))]))}}),pe=B(ge,[["__cssModules",{$style:{roleLabel:"_roleLabel_13imy_125",radioLabel:"_radioLabel_13imy_139",removeUser:"_removeUser_13imy_149"}}]]),be=B(u({__name:"SettingsUsersProjectsCell",props:{data:{}},setup(e){const t=e,a=T(),l=r([q.Owner,q.Admin]),o=r(2),u=d((()=>t.data.role&&l.value.includes(t.data.role)?[a.baseText("settings.users.table.row.allProjects")]:t.data.projectRelations?.length?t.data.projectRelations.map((({name:e})=>e)):[a.baseText("settings.users.table.row.personalProject")])),b=d((()=>({visible:u.value.slice(0,o.value),additional:u.value.slice(o.value)})));return(e,t)=>(s(),n("div",{class:v(e.$style.projects)},[(s(!0),n(m,null,_(b.value.visible,((t,a)=>(s(),n(m,{key:a},[i("span",{class:v(e.$style.project)},c(t),3),a<b.value.visible.length-1?(s(),n("span",{key:0,class:v(e.$style.comma)},",",2)):g("",!0)],64)))),128)),b.value.additional.length>0?(s(),n("span",{key:0,class:v(e.$style.comma)},",",2)):g("",!0),b.value.additional.length>0?(s(),w(p(I),{key:1},{content:h((()=>[i("ul",{class:v(e.$style.projectList)},[(s(!0),n(m,null,_(b.value.additional,((e,t)=>(s(),n("li",{key:t},c(e),1)))),128))],2)])),default:h((()=>[i("span",{class:v(e.$style.project)},"+ "+c(b.value.additional.length),3)])),_:1})):g("",!0)],2))}}),[["__cssModules",{$style:{projects:"_projects_1ynwg_125",project:"_project_1ynwg_125",comma:"_comma_1ynwg_140",projectList:"_projectList_1ynwg_145"}}]]),me=u({__name:"SettingsUsersActionsCell",props:{data:{},actions:{}},emits:["action"],setup(e,{emit:t}){const a=e,i=t,l=e=>{i("action",{action:e,userId:a.data.id})};return(e,t)=>(s(),n("div",null,["ldap"!==a.data.signInType&&a.actions.length>0?(s(),w(p($),{key:0,placement:"bottom",actions:a.actions,theme:"dark",onAction:l},null,8,["actions"])):g("",!0)]))}}),ve=u({__name:"SettingsUsersLastActiveCell",props:{data:{}},setup(e){const t=T(),a=e,i=d((()=>a.data.lastActiveAt?le(a.data.lastActiveAt):t.baseText("generic.never")));return(e,t)=>(s(),n("span",null,c(i.value),1))}}),ye={class:"pt-xs pb-xs"},fe=u({__name:"SettingsUsersTable",props:o({data:{},actions:{},loading:{type:Boolean},canEditRole:{type:Boolean},updatingRoleUserId:{}},{tableOptions:{default:()=>({})},tableOptionsModifiers:{}}),emits:o(["update:options","update:role","action"],["update:tableOptions"]),setup(e,{emit:t}){const o=T(),u=D(),g=e,b=t,m=y(e,"tableOptions"),v=d((()=>g.data.items)),_=r([{title:o.baseText("settings.users.table.header.user"),key:"name",width:400,value:e=>({...e,isPendingUser:e.isPending})},{title:o.baseText("settings.users.table.header.accountType"),key:"role"},{title:o.baseText("settings.users.table.header.lastActive"),key:"lastActiveAt",value:e=>({...e,lastActiveAt:e.lastActiveAt??""})},{title:o.baseText("settings.users.table.header.2fa"),key:"mfaEnabled",value:e=>e.mfaEnabled?o.baseText("settings.users.table.row.2fa.enabled"):o.baseText("settings.users.table.row.2fa.disabled")},{title:o.baseText("projects.menu.title"),key:"projects",disableSort:!0,value(){}},{title:"",key:"actions",align:"end",width:46,disableSort:!0,value(){}}]),L=d((()=>({[q.Owner]:{label:o.baseText("auth.roles.owner"),desc:""},[q.Admin]:{label:o.baseText("auth.roles.admin"),desc:o.baseText("settings.users.table.row.role.description.admin")},[q.Member]:{label:o.baseText("auth.roles.member"),desc:o.baseText("settings.users.table.row.role.description.member")},...u.isChatFeatureEnabled&&{[q.ChatUser]:{label:o.baseText("auth.roles.chatUser"),desc:o.baseText("settings.users.table.row.role.description.chatUser")}},[q.Default]:{label:o.baseText("auth.roles.default"),desc:""}}))),k=d((()=>[{id:q.Member,label:o.baseText("auth.roles.member")},...u.isChatFeatureEnabled?[{id:q.ChatUser,label:o.baseText("auth.roles.chatUser")}]:[],{id:q.Admin,label:o.baseText("auth.roles.admin")}])),U=d((()=>!!V(["rbac"],{rbac:{scope:["user:update","user:changeRole"]}})&&!!g.canEditRole)),S=({role:e,userId:t})=>{b("update:role",{role:e,userId:t})};return(t,r)=>(s(),n("div",null,[f(p(E),{"sort-by":m.value.sortBy,"onUpdate:sortBy":r[1]||(r[1]=e=>m.value.sortBy=e),page:m.value.page,"onUpdate:page":r[2]||(r[2]=e=>m.value.page=e),"items-per-page":m.value.itemsPerPage,"onUpdate:itemsPerPage":r[3]||(r[3]=e=>m.value.itemsPerPage=e),headers:_.value,items:v.value,"items-length":e.data.count,"page-sizes":[10,25,50],"onUpdate:options":r[4]||(r[4]=e=>b("update:options",e))},{"item.name":h((({value:e})=>[i("div",ye,[f(p(C),x(l(e)),null,16)])])),"item.role":h((({item:e})=>[U.value?(s(),w(pe,{key:0,data:e,roles:L.value,actions:k.value,loading:g.updatingRoleUserId===e.id,"onUpdate:role":S},null,8,["data","roles","actions","loading"])):(s(),w(p(O),{key:1,color:"text-dark"},{default:h((()=>[a(c(L.value[e.role??p(q).Default]?.label),1)])),_:2},1024))])),"item.lastActiveAt":h((({item:e})=>[f(ve,{data:e},null,8,["data"])])),"item.projects":h((({item:e})=>[f(be,{data:e},null,8,["data"])])),"item.actions":h((({item:e})=>{return[f(me,{data:e,actions:(s=e,s.isOwner?[]:g.actions.filter((e=>e.guard?.({...s,isPendingUser:s.isPending})??!0))),onAction:r[0]||(r[0]=e=>t.$emit("action",e))},null,8,["data","actions"])];var s})),_:2},1032,["sort-by","page","items-per-page","headers","items","items-length"])]))}}),_e=fe,xe=u({__name:"SettingsUsersView",setup(e){const l=ne(),{showToast:o,showError:u}=H(),m=W(),y=D(),_=X(),x=Y(),S=re(),C=Z(),$=ie(),E=oe(),B=F(),G=T(),le=r(""),ue=r({page:0,itemsPerPage:10,sortBy:[{id:"firstName",desc:!1},{id:"lastName",desc:!1},{id:"email",desc:!1}]}),de=d((()=>V(["defaultUser"]))),ce=d((()=>E.provisioningConfig?.scopesProvisionInstanceRole||!1)),ge=d((()=>B.isVariantEnabled(ee.name,ee.variant))),pe=d((()=>!!S.isSamlLoginEnabled||!!S.isOidcLoginEnabled));b((async()=>{C.set(G.baseText("settings.users")),de.value||await Le(ue.value),await E.getProvisioningConfig()}));const be=d((()=>[{label:G.baseText("settings.users.actions.generateInviteLink"),value:"generateInviteLink",guard:e=>ge.value&&V(["rbac"],{rbac:{scope:"user:generateInviteLink"}})&&x.usersLimitNotReached&&e.id!==x.currentUserId&&!e.firstName},{label:G.baseText("settings.users.actions.copyInviteLink"),value:"copyInviteLink",guard:e=>!ge.value&&x.usersLimitNotReached&&!e.firstName&&!!e.inviteAcceptUrl},{label:G.baseText("settings.users.actions.reinvite"),value:"reinvite",guard:e=>x.usersLimitNotReached&&!e.firstName&&y.isSmtpSetup},{label:G.baseText("settings.users.actions.delete"),value:"delete",guard:e=>V(["rbac"],{rbac:{scope:"user:delete"}})&&e.id!==x.currentUserId},{label:G.baseText("settings.users.actions.copyPasswordResetLink"),value:"copyPasswordResetLink",guard:e=>V(["rbac"],{rbac:{scope:"user:resetPassword"}})&&x.usersLimitNotReached&&!e.isPendingUser&&e.id!==x.currentUserId},{label:G.baseText("settings.users.actions.allowSSOManualLogin"),value:"allowSSOManualLogin",guard:e=>pe.value&&!e.settings?.allowSSOManualLogin},{label:G.baseText("settings.users.actions.disallowSSOManualLogin"),value:"disallowSSOManualLogin",guard:e=>pe.value&&!0===e.settings?.allowSSOManualLogin}])),me=d((()=>y.isEnterpriseFeatureEnabled[te.AdvancedPermissions])),ve=d((()=>[{value:q.Member,label:G.baseText("auth.roles.member")},{value:q.ChatUser,label:G.baseText("auth.roles.chatUser"),disabled:!me.value},{value:q.Admin,label:G.baseText("auth.roles.admin"),disabled:!me.value}]));async function ye({action:e,userId:s}){switch(e){case"delete":await async function(e){_.openModalWithData({name:K,data:{userId:e,afterDelete:async()=>{await Le(ue.value)}}})}(s);break;case"reinvite":await async function(e){try{const t=x.usersList.state.items.find((t=>t.id===e));if(t?.email&&t?.role){if(!["global:admin","global:member"].includes(t.role))throw new Error("Invalid role name on reinvite");await x.reinviteUser({email:t.email,role:t.role}),o({type:"success",title:G.baseText("settings.users.inviteResent"),message:G.baseText("settings.users.emailSentTo",{interpolate:{email:t.email??""}})})}}catch(t){u(t,G.baseText("settings.users.userReinviteError"))}}(s);break;case"copyInviteLink":await async function(e){const t=x.usersList.state.items.find((t=>t.id===e));t?.inviteAcceptUrl&&(l.copy(t.inviteAcceptUrl),o({type:"success",title:G.baseText("settings.users.inviteUrlCreated"),message:G.baseText("settings.users.inviteUrlCreated.message")}))}(s);break;case"generateInviteLink":await async function(e){try{if(x.usersList.state.items.find((t=>t.id===e))){const t=await x.generateInviteLink({id:e});l.copy(t.link),o({type:"success",title:G.baseText("settings.users.inviteUrlCreated"),message:G.baseText("settings.users.inviteUrlCreated.message")})}}catch(t){u(t,G.baseText("settings.users.inviteLinkError"))}}(s);break;case"copyPasswordResetLink":await async function(e){try{const t=x.usersList.state.items.find((t=>t.id===e));if(t){const e=await x.getUserPasswordResetLink(t);l.copy(e.link),o({type:"success",title:G.baseText("settings.users.passwordResetUrlCreated"),message:G.baseText("settings.users.passwordResetUrlCreated.message")})}}catch(t){u(t,G.baseText("settings.users.passwordResetLinkError"))}}(s);break;case"allowSSOManualLogin":await async function(e){const t=x.usersList.state.items.find((t=>t.id===e));t&&(t.settings||(t.settings={}),t.settings.allowSSOManualLogin=!0,await x.updateOtherUserSettings(e,t.settings),await Le(ue.value),o({type:"success",title:G.baseText("settings.users.allowSSOManualLogin"),message:G.baseText("settings.users.allowSSOManualLogin.message")}))}(s);break;case"disallowSSOManualLogin":await async function(e){const t=x.usersList.state.items.find((t=>t.id===e));t?.settings&&(t.settings.allowSSOManualLogin=!1,await x.updateOtherUserSettings(e,t.settings),await Le(ue.value),o({type:"success",title:G.baseText("settings.users.disallowSSOManualLogin"),message:G.baseText("settings.users.disallowSSOManualLogin.message")}))}(s)}}function fe(){_.openModalWithData({name:z,data:{afterInvite:async()=>{await Le(ue.value)}}})}function xe(){$.goToUpgrade("settings-users","upgrade-users")}function we(){$.goToUpgrade("settings-users","upgrade-advanced-permissions")}const he=r(null),Te=async e=>{const s=x.usersList.state.items.find((t=>t.id===e.userId));s?await async function(e,s){if(s===e.role)return;const a=e.firstName&&e.lastName?`${e.firstName} ${e.lastName}`:e.email??"",i=ve.value.find((({value:e})=>e===s))?.label??s;if(s!==q.ChatUser||"confirm"===await m.confirm(G.baseText("settings.users.userRoleUpdated.confirm.message",{interpolate:{role:i}}),G.baseText("settings.users.userRoleUpdated.confirm.title",{interpolate:{user:a}}),{confirmButtonText:G.baseText("settings.users.userRoleUpdated.confirm.button"),cancelButtonText:G.baseText("settings.users.userRoleUpdated.cancel.button")})){he.value=e.id;try{await x.updateGlobalRole({id:e.id,newRoleName:s}),await Le(ue.value),o({type:"success",title:G.baseText("settings.users.userRoleUpdated"),message:G.baseText("settings.users.userRoleUpdated.message",{interpolate:{user:a,role:i}})})}catch(t){u(t,G.baseText("settings.users.userRoleUpdatedError"))}finally{he.value=null}}}(s,e.role):u(new Error("User not found"),G.baseText("settings.users.userNotFound"))},Le=async({page:e,itemsPerPage:t,sortBy:s})=>{try{ue.value={page:e,itemsPerPage:t,sortBy:s};const a=e*t,i=t,n=s.flatMap((({id:e,desc:t})=>{const s=t?"desc":"asc";return"name"===e?[`firstName:${s}`,`lastName:${s}`,`email:${s}`]:`${e}:${s}`})).filter(ke);await x.usersList.execute(0,{skip:a,take:i,sortBy:n,expand:["projectRelations"],filter:{fullText:le.value.trim()}})}catch(a){u(a,G.baseText("settings.users.table.update.error"))}},ke=e=>ae.includes(e),Ue=L((()=>{ue.value.page=0,Le(ue.value)}),se(Q.INPUT.SEARCH)),Se=e=>{le.value=e,Ue()};return(e,t)=>(s(),n("div",{class:v(e.$style.container)},[f(p(M),{tag:"h1",size:"2xlarge",class:"mb-xl"},{default:h((()=>[a(c(p(G).baseText("settings.users"))+" ",1),de.value?g("",!0):(s(),w(p(O),{key:0,class:v(e.$style.userCount),color:"text-light"},{default:h((()=>[a(c(p(G).baseText("settings.users.count",{interpolate:{count:p(x).usersList.state.count},adjustToNumber:p(x).usersList.state.count})),1)])),_:1},8,["class"]))])),_:1}),p(x).usersLimitNotReached?g("",!0):(s(),n("div",{key:0,class:v(e.$style.setupInfoContainer)},[f(p(A),{heading:p(G).baseText(p(_).contextBasedTranslationKeys.users.settings.unavailable.title),description:p(G).baseText(p(_).contextBasedTranslationKeys.users.settings.unavailable.description),"button-text":p(G).baseText(p(_).contextBasedTranslationKeys.users.settings.unavailable.button),"onClick:button":xe},null,8,["heading","description","button-text"])],2)),me.value?g("",!0):(s(),w(p(R),{key:1},{default:h((()=>[f(p(k),{keypath:"settings.users.advancedPermissions.warning",scope:"global"},{link:h((()=>[f(p(N),{"data-test-id":"upgrade-permissions-link",size:"small",onClick:we},{default:h((()=>[a(c(p(G).baseText("generic.upgrade")),1)])),_:1})])),_:1})])),_:1})),ce.value?(s(),n("div",{key:2,class:v(e.$style.container)},[f(J,{type:"info",title:p(G).baseText("settings.provisioningInstanceRolesHandledBySsoProvider.description")},null,8,["title"])],2)):g("",!0),de.value?g("",!0):(s(),n("div",{key:3,class:v(e.$style.buttonContainer)},[f(p(j),{class:v(e.$style.search),"model-value":le.value,placeholder:p(G).baseText("settings.users.search.placeholder"),clearable:"","data-test-id":"users-list-search","onUpdate:modelValue":Se},{prefix:h((()=>[f(p(U),{icon:"search"})])),_:1},8,["class","model-value","placeholder"]),f(p(I),{disabled:!pe.value},{content:h((()=>[i("span",null,c(p(G).baseText("settings.users.invite.tooltip")),1)])),default:h((()=>[i("div",null,[f(p(P),{disabled:pe.value||!p(x).usersLimitNotReached||ce.value,label:p(G).baseText("settings.users.invite"),size:"large","data-test-id":"settings-users-invite-button",onClick:fe},null,8,["disabled","label"])])])),_:1},8,["disabled"])],2)),p(x).usersLimitNotReached||p(x).usersList.state.count>1?(s(),n("div",{key:4,class:v(e.$style.usersContainer)},[f(_e,{"table-options":ue.value,"onUpdate:tableOptions":t[0]||(t[0]=e=>ue.value=e),"data-test-id":"settings-users-table","can-edit-role":!ce.value,data:p(x).usersList.state,loading:p(x).usersList.isLoading,"updating-role-user-id":he.value,actions:be.value,"onUpdate:options":Le,"onUpdate:role":Te,onAction:ye},null,8,["table-options","can-edit-role","data","loading","updating-role-user-id","actions"])],2)):g("",!0)],2))}}),e("default",B(xe,[["__cssModules",{$style:{userCount:"_userCount_17a4t_125",buttonContainer:"_buttonContainer_17a4t_130",search:"_search_17a4t_137",setupInfoContainer:"_setupInfoContainer_17a4t_141",container:"_container_17a4t_145"}}]]))}}}));
//# sourceMappingURL=SettingsUsersView-legacy-7xUrftMK.js.map