n8n-editor-ui
Version:
Workflow Editor UI for n8n
2 lines • 18.7 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.16.1"}}catch(e){}}(),System.register(["./chunk-legacy-Dz3fjYb5.js","./vue.runtime.esm-bundler-legacy-BW6xDdqj.js","./core-legacy-VD8c7QJ-.js","./src-legacy-B67uuxhB.js","./_plugin-vue_export-helper-legacy-DFdC_I5Z.js","./users.store-legacy-azRUgFdP.js","./radio-legacy-5GBJzlU2.js","./constants-legacy-2_ytuuS3.js","./settings.store-legacy-I6rZOvfF.js","./usePageRedirectionHelper-legacy-DQM99rgh.js","./useClipboard-legacy-DnQV92ly.js","./dateFormatter-legacy-C29N6HGV.js","./sso.store-legacy-fTkDsmnz.js","./userRoleProvisioning.store-legacy-DJUqwx6o.js"],(function(e,t){var s,a,i,n,l,r,o,d,u,c,g,p,b,m,v,y,f,_,x,w,h,T,k,L,U,S,R,j,C,P,I,A,$,O,E,M,N,B,D,z,F,H,J,K,V,W,Q,X,G,Y,Z,q,ee,te,se,ae,ie,ne,le,re,oe,de,ue,ce,ge,pe,be,me,ve,ye,fe,_e;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,d=e.N,u=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.J,k=e.at,L=e.ot},function(e){U=e.At,S=e.C,R=e.Di,j=e.Ji,C=e.Mt,P=e.Pi,I=e.Qi,A=e.R,$=e.Xi,O=e.Zi,E=e._,M=e.ji,N=e.kt,B=e.tt},function(e){D=e.t},function(e){z=e.Ln,F=e.No,H=e.Pn,J=e.Rt,K=e.go,V=e.r,W=e.si,Q=e.t},function(e){X=e.t},function(e){G=e.Qc,Y=e.Vr,Z=e.cl,q=e.el,ee=e.ni,e.ys},function(e){te=e.t},function(e){se=e.t},function(e){ae=e.t},function(e){ie=e.r},function(e){ne=e.n},function(e){le=e.t}],execute:function(){(re=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(re);try{t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},(xe=(new t.Error).stack)&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[xe]="79a012d5-bd67-4340-811c-ac989c0ba938",t._sentryDebugIdIdentifier="sentry-dbid-79a012d5-bd67-4340-811c-ac989c0ba938")}catch(t){}var t,xe;oe=["disabled"],de={key:1},ue=d({__name:"SettingsUsersRoleCell",props:{data:{},roles:{},actions:{},loading:{type:Boolean,default:!1}},emits:["update:role"],setup(e,{emit:t}){const l=e,r=t,o=u((()=>l.data.role??Y.Default)),d=u((()=>l.data.role!==Y.Owner)),g=u((()=>l.roles[o.value]?.label)),b=e=>{r("update:role",{role:e,userId:l.data.id})};return(e,t)=>(s(),n("div",null,[d.value?(s(),w(p(C),{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($),{color:"text-dark"},{default:h((()=>[a(c(g.value),1)])),_:1}),l.loading?(s(),w(p(I),{key:0,color:"text-dark",icon:"spinner",spin:"",size:"large"})):(s(),w(p(I),{key:1,color:"text-dark",icon:"chevron-down",size:"large"}))],10,oe)])),menuItem:h((t=>[f(p(X),{"model-value":o.value,label:t.id},{default:h((()=>[i("span",{class:v(e.$style.radioLabel)},[f(p($),{color:"text-dark",class:"pb-3xs"},{default:h((()=>[a(c(t.label),1)])),_:2},1024),f(p($),{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",de,c(g.value),1))]))}}),ce=D(ue,[["__cssModules",{$style:{roleLabel:"_roleLabel_13imy_125",radioLabel:"_radioLabel_13imy_139",removeUser:"_removeUser_13imy_149"}}]]),ge=d({__name:"SettingsUsersProjectsCell",props:{data:{}},setup(e){const t=e,a=k(),l=r([Y.Owner,Y.Admin]),o=r(2),d=u((()=>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=u((()=>({visible:d.value.slice(0,o.value),additional:d.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(R),{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))}}),pe=D(ge,[["__cssModules",{$style:{projects:"_projects_1ynwg_125",project:"_project_1ynwg_125",comma:"_comma_1ynwg_140",projectList:"_projectList_1ynwg_145"}}]]),be=d({__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(U),{key:0,placement:"bottom",actions:a.actions,theme:"dark",onAction:l},null,8,["actions"])):g("",!0)]))}}),me=d({__name:"SettingsUsersLastActiveCell",props:{data:{}},setup(e){const t=k(),a=e,i=u((()=>a.data.lastActiveAt?ie(a.data.lastActiveAt):t.baseText("generic.never")));return(e,t)=>(s(),n("span",null,c(i.value),1))}}),ve={class:"pt-xs pb-xs"},ye=d({__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=k(),d=te(),g=e,b=t,m=y(e,"tableOptions"),v=u((()=>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(){}}]),T=u((()=>({[Y.Owner]:{label:o.baseText("auth.roles.owner"),desc:""},[Y.Admin]:{label:o.baseText("auth.roles.admin"),desc:o.baseText("settings.users.table.row.role.description.admin")},[Y.Member]:{label:o.baseText("auth.roles.member"),desc:o.baseText("settings.users.table.row.role.description.member")},...d.isChatFeatureEnabled&&{[Y.ChatUser]:{label:o.baseText("auth.roles.chatUser"),desc:o.baseText("settings.users.table.row.role.description.chatUser")}},[Y.Default]:{label:o.baseText("auth.roles.default"),desc:""}}))),L=u((()=>[{id:Y.Member,label:o.baseText("auth.roles.member")},...d.isChatFeatureEnabled?[{id:Y.ChatUser,label:o.baseText("auth.roles.chatUser")}]:[],{id:Y.Admin,label:o.baseText("auth.roles.admin")}])),U=u((()=>!!W(["rbac"],{rbac:{scope:["user:update","user:changeRole"]}})&&!!g.canEditRole)),R=({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",ve,[f(p(S),x(l(e)),null,16)])])),"item.role":h((({item:e})=>[U.value?(s(),w(ce,{key:0,data:e,roles:T.value,actions:L.value,loading:g.updatingRoleUserId===e.id,"onUpdate:role":R},null,8,["data","roles","actions","loading"])):(s(),w(p($),{key:1,color:"text-dark"},{default:h((()=>[a(c(T.value[e.role??p(Y).Default]?.label),1)])),_:2},1024))])),"item.lastActiveAt":h((({item:e})=>[f(me,{data:e},null,8,["data"])])),"item.projects":h((({item:e})=>[f(pe,{data:e},null,8,["data"])])),"item.actions":h((({item:e})=>{return[f(be,{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"])]))}}),fe=ye,_e=d({__name:"SettingsUsersView",setup(e){const l=ae(),{showToast:o,showError:d}=H(),m=z(),y=te(),_=V(),x=Q(),U=ne(),S=J(),C=se(),E=le(),D=k(),X=r(""),ie=r({page:0,itemsPerPage:10,sortBy:[{id:"firstName",desc:!1},{id:"lastName",desc:!1},{id:"email",desc:!1}]}),re=u((()=>W(["defaultUser"]))),oe=u((()=>E.provisioningConfig?.scopesProvisionInstanceRole||!1)),de=u((()=>!!U.isSamlLoginEnabled||!!U.isOidcLoginEnabled));b((async()=>{S.set(D.baseText("settings.users")),re.value||await xe(ie.value),await E.getProvisioningConfig()}));const ue=u((()=>[{label:D.baseText("settings.users.actions.generateInviteLink"),value:"generateInviteLink",guard:e=>W(["rbac"],{rbac:{scope:"user:generateInviteLink"}})&&x.usersLimitNotReached&&e.id!==x.currentUserId&&!e.firstName},{label:D.baseText("settings.users.actions.reinvite"),value:"reinvite",guard:e=>x.usersLimitNotReached&&!e.firstName&&y.isSmtpSetup},{label:D.baseText("settings.users.actions.delete"),value:"delete",guard:e=>W(["rbac"],{rbac:{scope:"user:delete"}})&&e.id!==x.currentUserId},{label:D.baseText("settings.users.actions.copyPasswordResetLink"),value:"copyPasswordResetLink",guard:e=>W(["rbac"],{rbac:{scope:"user:resetPassword"}})&&x.usersLimitNotReached&&!e.isPendingUser&&e.id!==x.currentUserId},{label:D.baseText("settings.users.actions.allowSSOManualLogin"),value:"allowSSOManualLogin",guard:e=>de.value&&!e.settings?.allowSSOManualLogin},{label:D.baseText("settings.users.actions.disallowSSOManualLogin"),value:"disallowSSOManualLogin",guard:e=>de.value&&!0===e.settings?.allowSSOManualLogin}])),ce=u((()=>y.isEnterpriseFeatureEnabled[G.AdvancedPermissions])),ge=u((()=>[{value:Y.Member,label:D.baseText("auth.roles.member")},{value:Y.ChatUser,label:D.baseText("auth.roles.chatUser"),disabled:!ce.value},{value:Y.Admin,label:D.baseText("auth.roles.admin"),disabled:!ce.value}]));async function pe({action:e,userId:s}){switch(e){case"delete":await async function(e){_.openModalWithData({name:K,data:{userId:e,afterDelete:async()=>{await xe(ie.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:D.baseText("settings.users.inviteResent"),message:D.baseText("settings.users.emailSentTo",{interpolate:{email:t.email??""}})})}}catch(t){d(t,D.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:D.baseText("settings.users.inviteUrlCreated"),message:D.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:D.baseText("settings.users.inviteUrlCreated"),message:D.baseText("settings.users.inviteUrlCreated.message")})}}catch(t){d(t,D.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:D.baseText("settings.users.passwordResetUrlCreated"),message:D.baseText("settings.users.passwordResetUrlCreated.message")})}}catch(t){d(t,D.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 xe(ie.value),o({type:"success",title:D.baseText("settings.users.allowSSOManualLogin"),message:D.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 xe(ie.value),o({type:"success",title:D.baseText("settings.users.disallowSSOManualLogin"),message:D.baseText("settings.users.disallowSSOManualLogin.message")}))}(s)}}function be(){_.openModalWithData({name:F,data:{afterInvite:async()=>{await xe(ie.value)}}})}function me(){C.goToUpgrade("settings-users","upgrade-users")}function ve(){C.goToUpgrade("settings-users","upgrade-advanced-permissions")}const ye=r(null),_e=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=ge.value.find((({value:e})=>e===s))?.label??s;if(s!==Y.ChatUser||"confirm"===await m.confirm(D.baseText("settings.users.userRoleUpdated.confirm.message",{interpolate:{role:i}}),D.baseText("settings.users.userRoleUpdated.confirm.title",{interpolate:{user:a}}),{confirmButtonText:D.baseText("settings.users.userRoleUpdated.confirm.button"),cancelButtonText:D.baseText("settings.users.userRoleUpdated.cancel.button")})){ye.value=e.id;try{await x.updateGlobalRole({id:e.id,newRoleName:s}),await xe(ie.value),o({type:"success",title:D.baseText("settings.users.userRoleUpdated"),message:D.baseText("settings.users.userRoleUpdated.message",{interpolate:{user:a,role:i}})})}catch(t){d(t,D.baseText("settings.users.userRoleUpdatedError"))}finally{ye.value=null}}}(s,e.role):d(new Error("User not found"),D.baseText("settings.users.userNotFound"))},xe=async({page:e,itemsPerPage:t,sortBy:s})=>{try{ie.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(we);await x.usersList.execute(0,{skip:a,take:i,sortBy:n,expand:["projectRelations"],filter:{fullText:X.value.trim()}})}catch(a){d(a,D.baseText("settings.users.table.update.error"))}},we=e=>ee.includes(e),he=T((()=>{ie.value.page=0,xe(ie.value)}),Z(q.INPUT.SEARCH)),Te=e=>{X.value=e,he()};return(e,t)=>(s(),n("div",{class:v(e.$style.container)},[f(p(j),{tag:"h1",size:"2xlarge",class:"mb-xl"},{default:h((()=>[a(c(p(D).baseText("settings.users"))+" ",1),re.value?g("",!0):(s(),w(p($),{key:0,class:v(e.$style.userCount),color:"text-light"},{default:h((()=>[a(c(p(D).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(P),{heading:p(D).baseText(p(_).contextBasedTranslationKeys.users.settings.unavailable.title),description:p(D).baseText(p(_).contextBasedTranslationKeys.users.settings.unavailable.description),"button-text":p(D).baseText(p(_).contextBasedTranslationKeys.users.settings.unavailable.button),"onClick:button":me},null,8,["heading","description","button-text"])],2)),ce.value?g("",!0):(s(),w(p(A),{key:1},{default:h((()=>[f(p(L),{keypath:"settings.users.advancedPermissions.warning",scope:"global"},{link:h((()=>[f(p(B),{"data-test-id":"upgrade-permissions-link",size:"small",onClick:ve},{default:h((()=>[a(c(p(D).baseText("generic.upgrade")),1)])),_:1})])),_:1})])),_:1})),oe.value?(s(),n("div",{key:2,class:v(e.$style.container)},[f(N,{type:"info",title:p(D).baseText("settings.provisioningInstanceRolesHandledBySsoProvider.description")},null,8,["title"])],2)):g("",!0),re.value?g("",!0):(s(),n("div",{key:3,class:v(e.$style.buttonContainer)},[f(p(M),{class:v(e.$style.search),"model-value":X.value,placeholder:p(D).baseText("settings.users.search.placeholder"),clearable:"","data-test-id":"users-list-search","onUpdate:modelValue":Te},{prefix:h((()=>[f(p(I),{icon:"search"})])),_:1},8,["class","model-value","placeholder"]),f(p(R),{disabled:!de.value},{content:h((()=>[i("span",null,c(p(D).baseText("settings.users.invite.tooltip")),1)])),default:h((()=>[i("div",null,[f(p(O),{disabled:de.value||!p(x).usersLimitNotReached||oe.value,label:p(D).baseText("settings.users.invite"),size:"large","data-test-id":"settings-users-invite-button",onClick:be},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(fe,{"table-options":ie.value,"onUpdate:tableOptions":t[0]||(t[0]=e=>ie.value=e),"data-test-id":"settings-users-table","can-edit-role":!oe.value,data:p(x).usersList.state,loading:p(x).usersList.isLoading,"updating-role-user-id":ye.value,actions:ue.value,"onUpdate:options":xe,"onUpdate:role":_e,onAction:pe},null,8,["table-options","can-edit-role","data","loading","updating-role-user-id","actions"])],2)):g("",!0)],2))}}),e("default",D(_e,[["__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-T6tfovNO.js.map