n8n-editor-ui
Version:
Workflow Editor UI for n8n
2 lines • 12.7 kB
JavaScript
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`n8n@2.13.4`}}catch{}})();try{(function(){var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`29f858b0-2261-4df5-890f-0464a39e3899`,e._sentryDebugIdIdentifier=`sentry-dbid-29f858b0-2261-4df5-890f-0464a39e3899`)})()}catch{}import{$ as e,A as t,C as n,E as r,Ft as i,N as a,S as o,Sn as s,T as c,U as l,Wt as u,_n as d,gt as f,it as p,j as m,pt as h,w as g,yt as _}from"./vue.runtime.esm-bundler-D9KLAxvJ.js";import{D as v,P as y,bt as b}from"./_MapCache-CUJwh2qp.js";import{F as x,Ii as S,Mi as ee,Qi as C,Rt as w,Yi as te,Zi as T,_t as ne,gt as E}from"./src-wni2AGA3.js";import{t as D}from"./_plugin-vue_export-helper-Dm3nT7Ps.js";import{Ar as O,As as re,Ft as k,It as A,Za as ie,en as j,r as ae,t as oe}from"./users.store-BHWXXawf.js";import{is as M,ms as N,ni as se,pl as ce}from"./constants-CIP7tKq1.js";import{n as le,t as ue}from"./ProjectIcon-BBMQDCgu.js";import{t as P}from"./folders.store-DKth0xuB.js";import{r as F,t as I}from"./readyToRun.store-DpPozriV.js";function L(e,t){if(!e.dynamicRoute)return e;let n={name:e.dynamicRoute.name};e.dynamicRoute.includeProjectId&&t&&(n.params={projectId:t});let{dynamicRoute:r,...i}=e;return{...i,to:n}}function R(e,t){return e.map(e=>L(e,t))}var de=a({__name:`ProjectTabs`,props:{showSettings:{type:Boolean,default:!1},showExecutions:{type:Boolean,default:!0},pageType:{default:`project`},additionalTabs:{default:()=>[]}},setup(t){let n=t,r=b(),a=E(),s=k(),c=j(),l=i(``),d=o(()=>l.value?String(l.value):``),p=o(()=>Array.isArray(a?.params?.projectId)?a.params.projectId[0]:a?.params?.projectId),m=o(()=>s.currentProject?.type===A.Team),h=()=>p.value?{workflows:{name:N.PROJECTS_WORKFLOWS,params:{projectId:p.value}},credentials:{name:N.PROJECTS_CREDENTIALS,params:{projectId:p.value}},executions:{name:N.PROJECTS_EXECUTIONS,params:{projectId:p.value}},variables:{name:N.PROJECTS_VARIABLES,params:{projectId:p.value}}}:n.pageType===`shared`?{workflows:{name:N.SHARED_WORKFLOWS},credentials:{name:N.SHARED_CREDENTIALS},executions:{name:N.NOT_FOUND},variables:{name:N.NOT_FOUND}}:{workflows:{name:N.WORKFLOWS},credentials:{name:N.CREDENTIALS},executions:{name:N.EXECUTIONS},variables:{name:N.HOME_VARIABLES}},_=(e,t,n)=>({label:r.baseText(e),value:n[t].name,to:n[t]}),v=o(()=>{let e=h(),t=[_(`mainSidebar.workflows`,`workflows`,e),_(`mainSidebar.credentials`,`credentials`,e)];if(n.showExecutions&&t.push(_(`mainSidebar.executions`,`executions`,e)),(n.pageType===`overview`||m.value)&&t.push(_(`mainSidebar.variables`,`variables`,e)),n.additionalTabs?.length){let e=R(n.additionalTabs,p.value);t.push(...e)}return n.showSettings&&t.push({label:r.baseText(`projects.settings`),value:N.PROJECT_SETTINGS,to:{name:N.PROJECT_SETTINGS,params:{projectId:p.value}}}),t});f(()=>a?.name,()=>{l.value=a.name===N.PROJECTS_FOLDERS?N.PROJECTS_WORKFLOWS:a.name},{immediate:!0});function y(e){l.value===`variables`&&c.track(`User clicked project variables tab`,{project_id:p.value}),l.value=e}return(t,n)=>(e(),g(u(x),{"model-value":d.value,options:v.value,"data-test-id":`project-tabs`,"onUpdate:modelValue":y},null,8,[`model-value`,`options`]))}}),fe=D(a({__name:`ProjectCreateResource`,props:{actions:{},disabled:{type:Boolean},variant:{}},emits:[`action`],setup(t,{expose:n,emit:i}){let a=i,o=h(`actionToggleRef`);return n({openActionToggle:e=>o.value?.openActionToggle(e)}),(n,i)=>(e(),r(`div`,{class:d([n.$style.buttonGroup])},[p(n.$slots,`default`),m(u(w),{ref_key:`actionToggleRef`,ref:o,"data-test-id":`add-resource`,actions:t.actions,placement:`bottom-end`,teleported:!1,onAction:i[0]||=e=>a(`action`,e)},{default:_(()=>[m(u(S),{disabled:t.disabled,class:d([n.$style.buttonGroupDropdown]),icon:`chevron-down`,variant:t.variant??`solid`},null,8,[`disabled`,`class`,`variant`])]),_:1},8,[`actions`])],2))}}),[[`__cssModules`,{$style:{buttonGroup:`_buttonGroup_etoix_125`,buttonGroupDropdown:`_buttonGroupDropdown_etoix_136`}}]]);const pe=(e,t,n)=>{if(!e||t<=0)return``;let r=.55*n,i=Math.floor(t/r);if(e.length<=i)return``;let a=e.slice(0,i),o=a.lastIndexOf(` `);return a.slice(0,o===-1?i:o)+`...`};var z=a({__name:`ReadyToRunButton`,props:{hasActiveCallouts:{type:Boolean}},setup(n){let r=n,i=E(),a=b(),l=F(),d=k(),f=O(),p=P(),m=I(),h=o(()=>M(d.currentProject?.scopes??d.personalProject?.scopes)),v=o(()=>m.getButtonVisibility(p.totalWorkflowCount>0,h.value.workflow.create,f.preferences.branchReadOnly)&&!r.hasActiveCallouts),y=async()=>{let e=l.isOverviewSubPage?d.personalProject?.id:i.params.projectId;try{await m.claimCreditsAndOpenWorkflow(`button`,i.params.folderId,e)}catch{}};return(n,r)=>v.value?(e(),g(u(C),{key:0,variant:`subtle`,"data-test-id":`ready-to-run-button`,icon:`zap`,loading:u(m).claimingCredits,disabled:u(f).preferences.branchReadOnly||u(m).claimingCredits,onClick:y},{default:_(()=>[t(s(u(a).baseText(`workflows.empty.readyToRun`)),1)]),_:1},8,[`loading`,`disabled`])):c(``,!0)}}),me={style:{display:`flex`,gap:`var(--spacing--xs)`,"align-items":`center`}},B=D(a({__name:`ProjectHeader`,props:{hasActiveCallouts:{type:Boolean},mainButton:{}},emits:[`createFolder`],setup(a,{emit:f}){let h=E(),x=ne(),S=b(),w=k(),D=O(),P=re(),I=ae(),L=j(),R=oe(),B=F(),V=a,he=f,ge=o(()=>w.currentProject?.type===A.Personal?{type:`icon`,value:`user`}:w.currentProject?.name?le(w.currentProject.icon)?w.currentProject.icon:{type:`icon`,value:`layers`}:{type:`icon`,value:`house`}),H=o(()=>w.currentProject??w.personalProject),U=o(()=>H.value?.type===A.Personal),W=o(()=>w.currentProject?w.currentProject.type===A.Personal?S.baseText(`projects.menu.personal`):w.currentProject.name:B.isSharedSubPage?S.baseText(`projects.header.shared.title`):B.isOverviewSubPage?S.baseText(`projects.menu.overview`):U.value?S.baseText(`projects.menu.personal`):null),_e=o(()=>M(w.currentProject?.scopes).project),ve=o(()=>M(w.currentProject?.scopes).projectVariable),ye=o(()=>M(R.currentUser?.globalScopes).variable),be=o(()=>M(w.currentProject?.scopes).externalSecretsProvider),xe=o(()=>!!h?.params?.projectId&&(!!_e.value.update||!!be.value.read)&&w.currentProject?.type===A.Team),Se=o(()=>P.isFoldersFeatureEnabled&&[N.PROJECTS_WORKFLOWS,N.PROJECTS_FOLDERS].includes(h.name)),Ce=o(()=>{let e;return e=B.isSharedSubPage?`shared`:B.isOverviewSubPage?`overview`:`project`,Object.keys(I.moduleTabs[e]).filter(P.isModuleActive).flatMap(t=>I.moduleTabs[e][t])}),G={WORKFLOW:`workflow`,CREDENTIAL:`credential`,FOLDER:`folder`,DATA_TABLE:`dataTable`,VARIABLE:`variable`},we=o(()=>({value:G.WORKFLOW,label:S.baseText(`projects.header.create.workflow`),icon:D.preferences.branchReadOnly?`lock`:void 0,size:`mini`,disabled:D.preferences.branchReadOnly||!M(H.value?.scopes).workflow.create})),Te=o(()=>({value:G.CREDENTIAL,label:S.baseText(`projects.header.create.credential`),icon:D.preferences.branchReadOnly?`lock`:void 0,size:`mini`,disabled:D.preferences.branchReadOnly||!M(H.value?.scopes).credential.create})),Ee=o(()=>({value:G.DATA_TABLE,label:S.baseText(`dataTable.add.button.label`),icon:D.preferences.branchReadOnly?`lock`:void 0,size:`mini`,disabled:D.preferences.branchReadOnly||!M(H.value?.scopes)?.dataTable?.create})),De=o(()=>({value:G.VARIABLE,label:S.baseText(`variables.add.button.label`),icon:D.preferences.branchReadOnly?`lock`:void 0,size:`mini`,disabled:D.preferences.branchReadOnly||!ve.value.create&&!ye.value.create})),K=o(()=>V.mainButton??G.WORKFLOW),Oe=o(()=>{switch(K.value){case G.CREDENTIAL:return Te.value;case G.DATA_TABLE:return Ee.value;case G.VARIABLE:return De.value;case G.WORKFLOW:default:return we.value}}),ke=o(()=>{let e=[];return K.value!==G.WORKFLOW&&e.push({value:G.WORKFLOW,label:S.baseText(`projects.header.create.workflow`),disabled:D.preferences.branchReadOnly||!M(H.value?.scopes).workflow.create}),K.value!==G.CREDENTIAL&&e.push({value:G.CREDENTIAL,label:S.baseText(`projects.header.create.credential`),disabled:D.preferences.branchReadOnly||!M(H.value?.scopes).credential.create}),K.value!==G.VARIABLE&&P.isEnterpriseFeatureEnabled[ce.Variables]&&e.push({value:G.VARIABLE,label:S.baseText(`variables.add.button.label`),disabled:D.preferences.branchReadOnly||!M(H.value?.scopes).projectVariable.create}),Se.value&&e.push({value:G.FOLDER,label:S.baseText(`projects.header.create.folder`),disabled:D.preferences.branchReadOnly||!M(H.value?.scopes).folder.create}),P.isDataTableFeatureEnabled&&K.value!==G.DATA_TABLE&&e.push({value:G.DATA_TABLE,label:S.baseText(`dataTable.add.button.label`),disabled:D.preferences.branchReadOnly||!M(H.value?.scopes)?.dataTable?.create}),e}),Ae=o(()=>!B.isOverviewSubPage&&!B.isSharedSubPage&&!U.value);function je(e){return[N.PROJECTS_CREDENTIALS,N.CREDENTIALS,N.SHARED_CREDENTIALS].includes(e)}function Me(e){return[N.PROJECTS_WORKFLOWS,N.WORKFLOWS,N.SHARED_WORKFLOWS,N.PROJECTS_FOLDERS].includes(e)}function q(e){if(je(e))return`credentials_list`;if(Me(e))return`workflow_list`}let Ne={[G.WORKFLOW]:e=>{x.push({name:N.NEW_WORKFLOW,query:{projectId:e,parentFolderId:h.params.folderId,uiContext:q(h.name?.toString()??``)}})},[G.CREDENTIAL]:e=>{x.push({name:N.PROJECTS_CREDENTIALS,params:{projectId:e,credentialId:`create`},query:{uiContext:q(h.name?.toString()??``)}})},[G.FOLDER]:()=>{he(`createFolder`)},[G.DATA_TABLE]:e=>{x.push({name:se,params:{projectId:e,new:`new`}})},[G.VARIABLE]:()=>{I.openModalWithData({name:ie,data:{mode:`new`}}),L.track(`User clicked header add variable button`)}},Pe=o(()=>B.isSharedSubPage?`shared`:B.isOverviewSubPage?`overview`:`project`),J=o(()=>B.isSharedSubPage?S.baseText(`projects.header.shared.subtitle`):B.isOverviewSubPage?S.baseText(P.isDataTableFeatureEnabled?`projects.header.overview.subtitleWithDataTables`:`projects.header.overview.subtitle`):U.value?S.baseText(P.isDataTableFeatureEnabled?`projects.header.personal.subtitleWithDataTables`:`projects.header.personal.subtitle`):null),Y=o(()=>B.isProjectsSubPage?w.currentProject?.description:null),X=i(null),{width:Fe}=v(X),Z=i(null),{width:Ie}=v(Z),Q=i(null);y(X,()=>{if(!X.value)return;let e=X.value.querySelector(`span[data-test-id="project-subtitle"]`);if(e){let t=window.getComputedStyle(e);Q.value=parseFloat(t.fontSize)}});let $=o(()=>{if(!Y.value)return``;let e=Fe.value-Ie.value,t=Q.value??14;return pe(Y.value,e,t)}),Le=e=>{let t=Ne[e];H.value&&t(H.value.id)};return(i,a)=>(e(),r(`div`,null,[n(`div`,{ref_key:`projectHeaderRef`,ref:X,class:d(i.$style.projectHeader)},[n(`div`,{class:d(i.$style.projectDetails)},[Ae.value?(e(),g(ue,{key:0,icon:ge.value,"border-less":!0,size:`medium`},null,8,[`icon`])):c(``,!0),n(`div`,{class:d(i.$style.headerActions)},[W.value?(e(),g(u(te),{key:0,bold:``,tag:`h2`,size:`xlarge`,"data-test-id":`project-name`},{default:_(()=>[t(s(W.value),1)]),_:1})):c(``,!0),J.value?(e(),g(u(T),{key:1,color:`text-light`,"data-test-id":`project-subtitle`},{default:_(()=>[t(s(J.value),1)]),_:1})):Y.value?(e(),r(`div`,{key:2,class:d(i.$style.projectDescriptionWrapper)},[m(u(T),{color:`text-light`,"data-test-id":`project-subtitle`},{default:_(()=>[t(s($.value||Y.value),1)]),_:1}),$.value?(e(),r(`div`,{key:0,class:d(i.$style.tooltip)},[m(u(T),{color:`text-light`},{default:_(()=>[t(s(Y.value),1)]),_:1})],2)):c(``,!0)],2)):c(``,!0)],2)],2),u(h).name===u(N).PROJECT_SETTINGS?c(``,!0):(e(),r(`div`,{key:0,ref_key:`headerActionsRef`,ref:Z,class:d([i.$style.headerActions])},[m(u(ee),{disabled:!u(D).preferences.branchReadOnly,content:u(S).baseText(`readOnlyEnv.cantAdd.any`)},{default:_(()=>[n(`div`,me,[m(z,{"has-active-callouts":V.hasActiveCallouts},null,8,[`has-active-callouts`]),m(fe,{"data-test-id":`add-resource-buttons`,actions:ke.value,disabled:u(D).preferences.branchReadOnly,onAction:Le},{default:_(()=>[m(u(C),l({"data-test-id":`add-resource-${K.value}`},Oe.value,{size:`medium`,onClick:a[0]||=e=>Le(K.value)}),null,16,[`data-test-id`])]),_:1},8,[`actions`,`disabled`])])]),_:1},8,[`disabled`,`content`])],2))],2),p(i.$slots,`default`),n(`div`,{class:d(i.$style.actions)},[m(de,{"page-type":Pe.value,"show-executions":!u(B).isSharedSubPage,"show-settings":xe.value,"additional-tabs":Ce.value},null,8,[`page-type`,`show-executions`,`show-settings`,`additional-tabs`])],2)]))}}),[[`__cssModules`,{$style:{projectHeader:`_projectHeader_ukvp2_125`,projectDetails:`_projectDetails_ukvp2_132`,actions:`_actions_ukvp2_137`,projectDescriptionWrapper:`_projectDescriptionWrapper_ukvp2_141`,tooltip:`_tooltip_ukvp2_145`,headerActions:`_headerActions_ukvp2_168`}}]]);export{z as n,B as t};
//# sourceMappingURL=ProjectHeader-AgSz0mHM.js.map