4 lines
4.8 KiB
JavaScript
4 lines
4.8 KiB
JavaScript
/*! third party licenses: js/vendor.LICENSE.txt */
|
|
import{_ as g,l as p}from"./NcSelect-DXLJbwym.chunk.mjs";import{c as k}from"./cytoscape.esm-3961YR65.chunk.mjs";import{c as B}from"./cytoscape-cose-bilkent-BWab1rkW.chunk.mjs";import{s as O}from"./isEmpty-nTVdZyYD.chunk.mjs";import"./whiteboard-main.mjs";import"./index-Anv74-sp.chunk.mjs";import"./vendor-BeFBwUwf.chunk.mjs";import"./index-C0mkXnFg.chunk.mjs";import"./index-Bn0s6V7w.chunk.mjs";import"./index-vg7q3Iku.chunk.mjs";import"./translation-DoG5ZELJ-DKBzIEvm.chunk.mjs";import"./percentages-BXMCSKIN-Cw9SI0WV.chunk.mjs";import"./useJwtStore-B1DPLYgs.chunk.mjs";import"./_plugin-vue2_normalizer-CBCAj2XU.chunk.mjs";import"./line-2ECJkxIB.chunk.mjs";import"./array-Cg_lHFoG.chunk.mjs";import"./path-i7Zvihw6.chunk.mjs";k.use(B);function I(e,n){e.forEach(t=>{const o={id:t.id,labelText:t.label,height:t.height,width:t.width,padding:t.padding??0};Object.keys(t).forEach(d=>{["id","label","height","width","padding","x","y"].includes(d)||(o[d]=t[d])}),n.add({group:"nodes",data:o,position:{x:t.x??0,y:t.y??0}})})}g(I,"addNodes");function $(e,n){e.forEach(t=>{const o={id:t.id,source:t.start,target:t.end};Object.keys(t).forEach(d=>{["id","start","end"].includes(d)||(o[d]=t[d])}),n.add({group:"edges",data:o})})}g($,"addEdges");function P(e){return new Promise(n=>{const t=O("body").append("div").attr("id","cy").attr("style","display:none"),o=k({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});t.remove(),I(e.nodes,o),$(e.edges,o),o.nodes().forEach(function(a){a.layoutDimensions=()=>{const h=a.data();return{w:h.width,h:h.height}}});const d={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};o.layout(d).run(),o.ready(a=>{p.info("Cytoscape ready",a),n(o)})})}g(P,"createCytoscapeInstance");function X(e){return e.nodes().map(n=>{const t=n.data(),o=n.position(),d={id:t.id,x:o.x,y:o.y};return Object.keys(t).forEach(a=>{a!=="id"&&(d[a]=t[a])}),d})}g(X,"extractPositionedNodes");function Y(e){return e.edges().map(n=>{const t=n.data(),o=n._private.rscratch,d={id:t.id,source:t.source,target:t.target,startX:o.startX,startY:o.startY,midX:o.midX,midY:o.midY,endX:o.endX,endY:o.endY};return Object.keys(t).forEach(a=>{["id","source","target"].includes(a)||(d[a]=t[a])}),d})}g(Y,"extractPositionedEdges");async function v(e,n){p.debug("Starting cose-bilkent layout algorithm");try{A(e);const t=await P(e),o=X(t),d=Y(t);return p.debug(`Layout completed: ${o.length} nodes, ${d.length} edges`),{nodes:o,edges:d}}catch(t){throw p.error("Error in cose-bilkent layout algorithm:",t),t}}g(v,"executeCoseBilkentLayout");function A(e){if(!e)throw new Error("Layout data is required");if(!e.config)throw new Error("Configuration is required in layout data");if(!e.rootNode)throw new Error("Root node is required");if(!e.nodes||!Array.isArray(e.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(e.edges))throw new Error("Edges array is required in layout data");return!0}g(A,"validateLayoutData");var j=g(async(e,n,{insertCluster:t,insertEdge:o,insertEdgeLabel:d,insertMarkers:a,insertNode:h,log:c,positionEdgeLabel:E},{algorithm:D})=>{const y={},f={},m=n.select("g");a(m,e.markers,e.type,e.diagramId);const C=m.insert("g").attr("class","subgraphs"),x=m.insert("g").attr("class","edgePaths"),L=m.insert("g").attr("class","edgeLabels"),N=m.insert("g").attr("class","nodes");c.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(e.nodes.map(async i=>{if(i.isGroup){const r={...i};f[i.id]=r,y[i.id]=r,await t(C,i)}else{const r={...i};y[i.id]=r;const s=await h(N,i,{config:e.config,dir:e.direction||"TB"}),u=s.node().getBBox();r.width=u.width,r.height=u.height,r.domId=s,c.debug(`Node ${i.id} dimensions: ${u.width}x${u.height}`)}})),c.debug("Running cose-bilkent layout algorithm");const q={...e,nodes:e.nodes.map(i=>{const r=y[i.id];return{...i,width:r.width,height:r.height}})},b=await v(q,e.config);c.debug("Positioning nodes based on layout results"),b.nodes.forEach(i=>{const r=y[i.id];r?.domId&&(r.domId.attr("transform",`translate(${i.x}, ${i.y})`),r.x=i.x,r.y=i.y,c.debug(`Positioned node ${r.id} at center (${i.x}, ${i.y})`))}),b.edges.forEach(i=>{const r=e.edges.find(s=>s.id===i.id);r&&(r.points=[{x:i.startX,y:i.startY},{x:i.midX,y:i.midY},{x:i.endX,y:i.endY}])}),c.debug("Inserting and positioning edges"),await Promise.all(e.edges.map(async i=>{await d(L,i);const r=y[i.start??""],s=y[i.end??""];if(r&&s){const u=b.edges.find(l=>l.id===i.id);if(u){c.debug("APA01 positionedEdge",u);const l={...i},w=o(x,l,f,e.type,r,s,e.diagramId);E(l,w)}else{const l={...i,points:[{x:r.x||0,y:r.y||0},{x:s.x||0,y:s.y||0}]},w=o(x,l,f,e.type,r,s,e.diagramId);E(l,w)}}})),c.debug("Cose-bilkent rendering completed")},"render"),te=j;export{te as render};
|
|
//# sourceMappingURL=cose-bilkent-S5V4N54A-DrWbYtEv.chunk.mjs.map
|