n8n-editor-ui
Version:
Workflow Editor UI for n8n
2 lines • 4.49 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.16.1`}}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]=`7155344b-8c01-476e-a178-ef1723c372c2`,e._sentryDebugIdIdentifier=`sentry-dbid-7155344b-8c01-476e-a178-ef1723c372c2`)})()}catch{}import{$ as e,E as t,Ft as n,N as r,O as i,S as a,T as o,Wt as s,_n as c,gt as l,it as u,j as d,q as f,w as p,yt as m}from"./vue.runtime.esm-bundler-C3C09Zii.js";import{at as h}from"./core-Bz5WjPxS.js";import{At as g,v as _}from"./src-XqE2yCpG.js";import{t as v}from"./_plugin-vue_export-helper-CIL7EULb.js";import{ai as y,gi as b}from"./users.store-xP93bV7X.js";import{t as x}from"./folders.store-CNB9Lo_F.js";import{t as S}from"./ProjectBreadcrumb-D3-D7Dn1.js";var C={key:2},w=v(r({__name:`FolderBreadcrumbs`,props:{currentFolder:{default:null},actions:{default:()=>[]},hiddenItemsTrigger:{default:`click`},currentFolderAsLink:{type:Boolean,default:!1},visibleLevels:{default:1}},emits:[`itemSelected`,`action`,`itemDrop`,`projectDrop`],setup(r,{emit:v}){let w=r,T=v,E=h(),D=y(),O=x(),k=n(new Promise(()=>{})),A=n(new Set),j=a(()=>D.projectNavActiveId===`shared`),M=a(()=>{if(!j.value)return D.currentProject??D.personalProject??void 0}),N=a(()=>M.value?M.value.type===b.Personal?E.baseText(`projects.menu.personal`):M.value.name:j.value?E.baseText(`projects.menu.shared`):``),P=a(()=>O.draggedElement!==null),F=a(()=>I.value[0]?.parentFolder!==void 0),I=a(()=>{if(A.value.clear(),!w.currentFolder||j.value)return[];let e=[],t=w.visibleLevels===2?O.getCachedFolder(w.currentFolder.parentFolder??``):null;return t&&(e.push({id:t.id,label:t.name,href:`/projects/${M.value?.id}/folders/${t.id}/workflows`,parentFolder:t.parentFolder}),A.value.add(t.id)),e.push({id:w.currentFolder.id,label:w.currentFolder.name,parentFolder:w.currentFolder.parentFolder,href:w.currentFolderAsLink?`/projects/${M.value?.id}/folders/${w.currentFolder.id}/workflows`:void 0}),M.value&&A.value.add(M.value.id),A.value.add(w.currentFolder.id),e}),L=async()=>{if(!N.value||!w.currentFolder?.parentFolder||j.value||!M.value)k.value=Promise.resolve([]);else try{let e=(await O.getHiddenBreadcrumbsItems({id:M.value.id,name:N.value},w.currentFolder.parentFolder,{addLinks:!0})).filter(e=>!A.value.has(e.id));k.value=Promise.resolve(e)}catch{k.value=Promise.resolve([])}},R=e=>{T(`itemSelected`,e)},z=e=>{T(`action`,e)},B=()=>{M.value?.name&&T(`projectDrop`,M.value.id,M.value.name)},V=()=>{!P.value||!M.value?.name||(O.activeDropTarget={type:`project`,id:M.value?.id,name:M.value?.name})},H=e=>{P.value&&(O.activeDropTarget={type:`folder`,id:e.id,name:e.label})};return l(()=>w.currentFolder?.parentFolder,()=>{k.value=new Promise(()=>{})},{immediate:!0}),f(()=>{k.value=Promise.resolve([])}),(n,a)=>(e(),t(`div`,{class:c({[n.$style.container]:!0,[n.$style.dragging]:P.value}),"data-test-id":`folder-breadcrumbs`},[I.value.length?(e(),p(s(_),{key:0,"drag-active":P.value,"onUpdate:dragActive":a[0]||=e=>P.value=e,items:I.value,"highlight-last-item":!1,"path-truncated":F.value,"hidden-items":F.value?k.value:void 0,"hidden-items-trigger":w.hiddenItemsTrigger,onTooltipOpened:L,onItemSelected:R,onItemHover:H,onItemDrop:a[1]||=e=>T(`itemDrop`,e)},i({append:m(()=>[u(n.$slots,`append`)]),_:2},[M.value?{name:`prepend`,fn:m(()=>[d(S,{"current-project":M.value,"is-dragging":P.value,onProjectDrop:B,onProjectHover:V},null,8,[`current-project`,`is-dragging`])]),key:`0`}:void 0]),1032,[`drag-active`,`items`,`path-truncated`,`hidden-items`,`hidden-items-trigger`])):M.value||j.value?(e(),t(`div`,{key:1,class:c(n.$style[`home-project`])},[d(S,{"current-project":M.value,"is-shared":j.value,"is-dragging":P.value,onProjectDrop:B,onProjectHover:V},null,8,[`current-project`,`is-shared`,`is-dragging`]),u(n.$slots,`append`)],2)):(e(),t(`div`,C,[u(n.$slots,`append`)])),I.value&&r.actions?.length?(e(),p(s(g),{key:3,actions:r.actions,class:c(n.$style[`action-toggle`]),theme:`dark`,"data-test-id":`folder-breadcrumbs-actions`,onAction:z},null,8,[`actions`,`class`])):o(``,!0)],2))}}),[[`__cssModules`,{$style:{container:`_container_133pr_125`,"home-project":`_home-project_133pr_130`,"action-toggle":`_action-toggle_133pr_135`}}]]);export{w as t};
//# sourceMappingURL=FolderBreadcrumbs-CKScDJwE.js.map