2 lines
7.6 KiB
JavaScript
2 lines
7.6 KiB
JavaScript
import{r as m,o as ee,K as te,c as k,l as n,e as s,f as l,Y as g,g as u,j as v,t as c,a4 as oe,a5 as ae,F as h,C as S,L as A,a1 as $,p as j,y as w,h as le,w as ne,T as se}from"./index-b37e64ca.js";import{u as ie,p as re,b as ue,N as q}from"./nodeMetadata-868a0a07.js";import{_ as ce}from"./_plugin-vue_export-helper-c27b6911.js";import"./vue-flow-core-e20a6f7d.js";import"./NodePropertyModal-c7168bd0.js";import"./SchemaFormRenderer-0384437a.js";import"./nodes-db5c425b.js";const de={class:"palette-header"},ve={class:"palette-tabs"},pe=["placeholder"],fe={class:"palette-content"},ge={class:"group-label"},me={class:"node-types-grid"},he=["onDragstart","onDblclick","onContextmenu","onMouseenter"],we={class:"node-type-label"},ye={key:0,class:"node-count"},_e={key:1,class:"fa fa-star favorite-icon",style:{color:"#f59e0b","margin-left":"2px","font-size":"13px"}},be={key:0,class:"empty-tip"},xe={class:"group-label"},Ne={class:"node-types-grid"},ke=["onDragstart","onDblclick","onContextmenu","onMouseenter"],Se={class:"node-type-label"},Ce={key:0,class:"node-count"},De={key:1,class:"fa fa-star favorite-icon",style:{color:"#f59e0b","margin-left":"2px","font-size":"13px"}},Le={key:0,class:"empty-tip"},Ee={class:"palette-tips"},Fe={class:"tip-item"},Me={class:"tip-item"},Oe={class:"tip-item"},$e={__name:"NodePalette",props:{class:{type:String,default:""}},setup(H){const W=H,C=m([]),D=ie(),x=m(null),y=m(""),f=m("all"),p=m(JSON.parse(localStorage.getItem("ai-agent-node-favorites")||"[]")),_=m(JSON.parse(localStorage.getItem("ai-agent-node-recent")||"[]")),d=m({show:!1,text:"",x:0,y:0,width:200,direction:"left"}),G=m(!1);let L=null;async function E(){await re(),C.value=ue()}ee(async()=>{await E(),typeof window<"u"&&window.addEventListener("nodeMetadataUpdated",E)}),te(()=>{typeof window<"u"&&window.removeEventListener("nodeMetadataUpdated",E)}),typeof window<"u"&&(window.addEventListener("recent-node-updated",()=>{_.value=JSON.parse(localStorage.getItem("ai-agent-node-recent")||"[]")}),window.addEventListener("fullscreenchange",()=>{G.value=!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}));const I=(t,e)=>{x.value=e,t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("application/vueflow",e.type),t.dataTransfer.setData("text/plain",e.type)},R=()=>{x.value=null};function K(){const t=document.querySelector(".vue-flow-container");if(!t)return{x:200,y:200};const e=t.getBoundingClientRect(),o=e.width/2+t.scrollLeft,a=e.height/2+t.scrollTop;if(window.vueFlowInstance&&typeof window.vueFlowInstance.project=="function"){const r=window.vueFlowInstance.project({x:o,y:a});return r.x+=Math.random()*20-10,r.y+=Math.random()*20-10,r}return{x:o,y:a}}const B=t=>{const e=K(),o={id:`${t.type}-${Date.now()}`,type:t.type,position:e,data:{}};D.addNode(o),D.selectNode(o.id),Z(t.type)};function X(t){p.value.includes(t)||(p.value.push(t),localStorage.setItem("ai-agent-node-favorites",JSON.stringify(p.value)))}function Q(t){p.value=p.value.filter(e=>e!==t),localStorage.setItem("ai-agent-node-favorites",JSON.stringify(p.value))}function J(t){p.value.includes(t)?Q(t):X(t)}function Z(t){_.value=[t,..._.value.filter(e=>e!==t)].slice(0,12),localStorage.setItem("ai-agent-node-recent",JSON.stringify(_.value))}const N=k(()=>{const t={};return D.nodes.forEach(e=>{t[e.type]=(t[e.type]||0)+1}),t});k(()=>{let t=C.value;if(y.value.trim()){const e=y.value.trim().toLowerCase();t=t.filter(o=>o.label.toLowerCase().includes(e)||o.type.toLowerCase().includes(e))}return t});const F=k(()=>{let t=C.value;if(y.value.trim()){const e=y.value.trim().toLowerCase();t=t.filter(o=>o.label.toLowerCase().includes(e)||o.type.toLowerCase().includes(e))}return f.value==="favorite"?t=t.filter(e=>p.value.includes(e.type)):f.value==="recent"&&(t=_.value.map(e=>t.find(o=>o.type===e)).filter(Boolean)),t}),M=k(()=>{const t=[];q.forEach(o=>{const a=F.value.filter(r=>r.group===o.group||!r.group&&o.group==="Other");a.length&&t.push({...o,nodes:a})});const e=F.value.filter(o=>!o.group||!q.some(a=>a.group===o.group));return e.length&&!t.some(o=>o.group==="Other")&&t.push({group:"Other",label:c("Other"),nodes:e}),t});function T(t,e){d.value.show=!0,d.value.text=e;const o=t.target.getBoundingClientRect(),a=200,r=38,i=8;let O=o.left-a-i,b=o.top+o.height/2-r/2,U="left";O<8&&(O=o.right+i,U="right");const V=8,Y=window.innerHeight-r-8;b<V&&(b=V),b>Y&&(b=Y),d.value.x=O,d.value.y=b,d.value.width=a,d.value.direction=U}function z(t,e){clearTimeout(L),L=setTimeout(()=>T(t,e),200)}function P(){clearTimeout(L),d.value.show=!1}return(t,e)=>(n(),s(h,null,[l("div",{class:g(["node-palette",W.class])},[l("div",de,[l("div",ve,[l("button",{class:g(["tab-btn",{active:f.value==="all"}]),onClick:e[0]||(e[0]=o=>f.value="all")},u(v(c)("All")),3),l("button",{class:g(["tab-btn",{active:f.value==="recent"}]),onClick:e[1]||(e[1]=o=>f.value="recent")},u(v(c)("Recent")),3),l("button",{class:g(["tab-btn",{active:f.value==="favorite"}]),onClick:e[2]||(e[2]=o=>f.value="favorite")},u(v(c)("Favorites")),3)]),oe(l("input",{"onUpdate:modelValue":e[3]||(e[3]=o=>y.value=o),class:"palette-search",placeholder:v(c)("Search node type/name...")},null,8,pe),[[ae,y.value]])]),l("div",fe,[f.value==="all"?(n(),s(h,{key:0},[(n(!0),s(h,null,S(M.value,o=>(n(),s("div",{key:o.group,class:"node-group"},[l("div",ge,u(v(c)(o.label)),1),l("div",me,[(n(!0),s(h,null,S(o.nodes,a=>{var r;return n(),s("div",{key:a.type,class:g(["node-type-item",{dragging:((r=x.value)==null?void 0:r.type)===a.type,"is-favorite":p.value.includes(a.type)}]),draggable:"true",onDragstart:i=>I(i,a),onDragend:R,onDblclick:i=>B(a),onContextmenu:A(i=>J(a.type),["right","prevent"]),onMouseenter:i=>z(i,a.description),onMouseleave:e[4]||(e[4]=i=>P())},[l("div",{class:"node-type-icon",style:$({color:a.color})},[l("i",{class:g(`fa ${a.icon}`)},null,2)],4),l("div",we,[j(u(v(c)(a.label))+" ",1),N.value[a.type]?(n(),s("span",ye,"("+u(N.value[a.type])+")",1)):w("",!0),p.value.includes(a.type)?(n(),s("i",_e)):w("",!0)])],42,he)}),128))])]))),128)),M.value.length===0?(n(),s("div",be,u(v(c)("No matching nodes")),1)):w("",!0)],64)):(n(),s(h,{key:1},[(n(!0),s(h,null,S(M.value,o=>(n(),s("div",{key:o.group,class:"node-group"},[l("div",xe,u(v(c)(o.label)),1),l("div",Ne,[(n(!0),s(h,null,S(o.nodes,a=>{var r;return n(),s("div",{key:a.type,class:g(["node-type-item",{dragging:((r=x.value)==null?void 0:r.type)===a.type,"is-favorite":p.value.includes(a.type)}]),draggable:"true",onDragstart:i=>I(i,a),onDragend:R,onDblclick:i=>B(a),onContextmenu:A(i=>J(a.type),["right","prevent"]),onMouseenter:i=>z(i,a.description),onMouseleave:e[5]||(e[5]=i=>P())},[l("div",{class:"node-type-icon",style:$({color:a.color})},[l("i",{class:g(`fa ${a.icon}`)},null,2)],4),l("div",Se,[j(u(v(c)(a.label))+" ",1),N.value[a.type]?(n(),s("span",Ce,"("+u(N.value[a.type])+")",1)):w("",!0),p.value.includes(a.type)?(n(),s("i",De)):w("",!0)])],42,ke)}),128))])]))),128)),F.value.length===0?(n(),s("div",Le,u(v(c)("No matching nodes")),1)):w("",!0)],64)),l("div",Ee,[l("div",Fe,[e[6]||(e[6]=l("i",{class:"fa fa-info-circle"},null,-1)),l("span",null,u(v(c)("Drag nodes to canvas to add")),1)]),l("div",Me,[e[7]||(e[7]=l("i",{class:"fa fa-mouse-pointer"},null,-1)),l("span",null,u(v(c)("Double click node to add quickly")),1)]),l("div",Oe,[e[8]||(e[8]=l("i",{class:"fa fa-star"},null,-1)),l("span",null,u(v(c)("Right click node to favorite/unfavorite")),1)])])])],2),le(se,{name:"fade"},{default:ne(()=>[d.value.show?(n(),s("div",{key:0,class:g(["custom-tooltip",d.value.direction]),style:$({left:d.value.x+"px",top:d.value.y+"px",width:d.value.width+"px"})},u(d.value.text),7)):w("",!0)]),_:1})],64))}},Ve=ce($e,[["__scopeId","data-v-0b159d3d"]]);export{Ve as default};
|