mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-18 22:35:36 +08:00
4 lines
8.6 KiB
JavaScript
4 lines
8.6 KiB
JavaScript
import{m as e}from"./src.OgxTg4hg.js";import{n as t}from"./chunk-Y2CYZVJY.DsF7k-Jl.js";import{x as n}from"./chunk-WYO6CB5R.Bq018eTN.js";import"./chunk-ICXQ74PX.CHLqHIum.js";import"./chunk-HOUHSVGY.CdijRtwJ.js";import"./chunk-Q4XR5HBZ.4OOalI9b.js";import"./chunk-7BUUIJ7U.CAhmNhj7.js";import{n as r}from"./chunk-OGEWGWER.CAu18ldV.js";import{t as i}from"./graphlib.DS17s2tU.js";import{t as a}from"./dagre.C7mmcaIT.js";import{a as o,i as s,n as c,o as l,r as u,t as d}from"./chunk-RYQCIY6F.ClwB5JGD.js";import"./chunk-C7G6YPKG.E3ngv4Wc.js";import{a as f,c as p,i as m,l as h,n as g,t as _,u as v}from"./chunk-ZGVPDNZ5.Lt-0Vx2a.js";import{a as y,i as b,o as x,r as S,t as C}from"./chunk-52WLFC77.BhMPMxf0.js";var w=t((e,t,n)=>Math.max(t,Math.min(n,e)),`clamp`),T=t((e=`TB`)=>{switch(e){case`BT`:return`bottom`;case`LR`:return`right`;case`RL`:return`left`;default:return`top`}},`getDefaultSelfLoopSide`),E=t(e=>e===`flowchart`||e===`flowchart-v2`||e===`stateDiagram`,`shouldMergeSelfLoopSegments`),D=t((e,t,n,r,i)=>{let a=[],o=new Set;if(n.forEach(({start:e,end:t})=>{e!==r&&o.add(e),t!==r&&o.add(t)}),o.forEach(t=>{let n=e.node(t);typeof n?.x==`number`&&typeof n?.y==`number`&&a.push(n)}),a.length===0&&n.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{typeof e?.x==`number`&&typeof e?.y==`number`&&a.push(e)})}),a.length===0)return T(i);let s=a.reduce((e,t)=>({x:e.x+t.x/a.length,y:e.y+t.y/a.length}),{x:0,y:0}),c=s.x-t.x,l=s.y-t.y;return Math.abs(c)>Math.abs(l)?c>0?`right`:`left`:Math.abs(l)>0?l>0?`bottom`:`top`:T(i)},`getSelfLoopSide`),O=t((e,t=`top`,n=0,r=0)=>{let i=e.x,a=e.y-n,o=e.width/2,s=e.height/2,c=Math.max(36,Math.min(100,e.width*.8)),l=w(Math.max(r,e.width*.35),36,c),u=w(Math.min(e.width,e.height)*.45,24,48);switch(t){case`bottom`:{let e=a+s;return[{x:i-l/2,y:e},{x:i-l/2,y:e+u},{x:i+l/2,y:e+u},{x:i+l/2,y:e}]}case`right`:{let e=i+o;return[{x:e,y:a-l/2},{x:e+u,y:a-l/2},{x:e+u,y:a+l/2},{x:e,y:a+l/2}]}case`left`:{let e=i-o;return[{x:e,y:a-l/2},{x:e-u,y:a-l/2},{x:e-u,y:a+l/2},{x:e,y:a+l/2}]}default:{let e=a-s;return[{x:i-l/2,y:e},{x:i-l/2,y:e-u},{x:i+l/2,y:e-u},{x:i+l/2,y:e}]}}},`getSelfLoopPoints`),k=t((e,t,n=`top`,r=0,i={})=>{let a=e.x,o=e.y-r,s=i.width??0,c=i.height??0;switch(n){case`bottom`:return{x:a,y:Math.max(...t.map(e=>e.y))+c/2+4};case`right`:return{x:Math.max(...t.map(e=>e.x))+s/2+4,y:o};case`left`:return{x:Math.min(...t.map(e=>e.x))-s/2-4,y:o};default:return{x:a,y:Math.min(...t.map(e=>e.y))-c/2-4}}},`getSelfLoopLabelPosition`),A=t((e,t=0,{mergeSelfLoops:n=!0}={})=>{let r=new Map,i=[],a=e.graph()?.rankdir;return e.edges().forEach(t=>{let a=e.edge(t);if(n&&a.selfLoop){let e=a.selfLoop.id;r.has(e)||r.set(e,[]),r.get(e).push({edge:a,start:t.v,end:t.w})}else i.push({edge:a,start:t.v,end:t.w})}),r.forEach(n=>{if(n.length!==3){n.forEach(e=>i.push(e));return}n.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);let[r,o,s]=n,c=r.edge.originalEdge??o.edge.originalEdge??s.edge.originalEdge??o.edge,l=e.node(c.start);if(!l){n.forEach(e=>i.push(e));return}let u={width:o.edge.width,height:o.edge.height},d=D(e,l,n,c.start,a),f=O(l,d,t,u.width??0),p=k(l,f,d,t,u),m={...o.edge,...c,id:c.id,points:f,start:c.start,end:c.end,x:p.x,y:p.y,width:u.width,height:u.height,labelStyle:o.edge.labelStyle,fromCluster:r.edge.fromCluster??o.edge.fromCluster??s.edge.fromCluster,toCluster:r.edge.toCluster??o.edge.toCluster??s.edge.toCluster};delete m.selfLoop,delete m.originalEdge,i.push({edge:m,start:m.start,end:m.end})}),i},`getEdgesToRender`),j=t(async(n,i,c,d,g,_)=>{e.warn(`Graph in recursive render:XAX`,l(i),g);let y=i.graph().rankdir;e.trace(`Dir in recursive render - dir:`,y);let C=n.insert(`g`).attr(`class`,`root`);i.nodes()?e.info(`Recursive render XXX`,i.nodes()):e.info(`No nodes found for`,i),i.edges().length>0&&e.info(`Recursive edges`,i.edge(i.edges()[0]));let w=C.insert(`g`).attr(`class`,`clusters`),T=C.insert(`g`).attr(`class`,`edgePaths`),D=C.insert(`g`).attr(`class`,`edgeLabels`),O=C.insert(`g`).attr(`class`,`nodes`),k=E(c);await Promise.all(i.nodes().map(async function(t){let n=i.node(t);if(g!==void 0){let n=JSON.parse(JSON.stringify(g.clusterData));e.trace(`Setting data for parent cluster XXX
|
|
Node.id = `,t,`
|
|
data=`,n.height,`
|
|
Parent cluster`,g.height),i.setNode(g.id,n),i.parent(t)||(e.trace(`Setting parent`,t,g.id),i.setParent(t,g.id,n))}if(e.info(`(Insert) Node XXX`+t+`: `+JSON.stringify(i.node(t))),n?.clusterNode){e.info(`Cluster identified XBX`,t,n.width,i.node(t));let{ranksep:r,nodesep:a}=i.graph();n.graph.setGraph({...n.graph.graph(),ranksep:r+25,nodesep:a});let o=await j(O,n.graph,c,d,i.node(t),_),s=o.elem;v(n,s),n.diff=o.diff||0,e.info(`New compound node after recursive render XAX`,t,`width`,n.width,`height`,n.height),h(s,n)}else i.children(t).length>0?(e.trace(`Cluster - the non recursive path XBX`,t,n.id,n,n.width,`Graph:`,i),e.trace(s(n.id,i)),u.set(n.id,{id:s(n.id,i),node:n})):(e.trace(`Node - the non recursive path XAX`,t,O,i.node(t),y),await f(O,i.node(t),{config:_,dir:y}))})),await t(async()=>{let t=i.edges().map(async function(t){let n=i.edge(t.v,t.w,t.name);if(e.info(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(t)),e.info(`Edge `+t.v+` -> `+t.w+`: `,t,` `,JSON.stringify(i.edge(t))),e.info(`Fix`,u,`ids:`,t.v,t.w,`Translating: `,u.get(t.v),u.get(t.w)),k&&n.selfLoop){if(n.selfLoop.order!==1)return;let e=n.id;n.id=n.selfLoop.id,await b(D,n),n.id=e;return}await b(D,n)});await Promise.all(t)},`processEdges`)(),e.info(`Graph before layout:`,JSON.stringify(l(i))),e.info(`############################################# XXX`),e.info(`### Layout ### XXX`),e.info(`############################################# XXX`),a(i),e.info(`Graph after layout:`,JSON.stringify(l(i)));let M=0,{subGraphTitleTotalMargin:N}=r(_);await Promise.all(o(i).map(async function(t){let n=i.node(t);if(e.info(`Position XBX => `+t+`: (`+n.x,`,`+n.y,`) width: `,n.width,` height: `,n.height),n?.clusterNode)n.y+=N,e.info(`A tainted cluster node XBX1`,t,n.id,n.width,n.height,n.x,n.y,i.parent(t)),u.get(n.id).node=n,p(n);else if(i.children(t).length>0){e.info(`A pure cluster node XBX1`,t,n.id,n.x,n.y,n.width,n.height,i.parent(t)),n.height+=N,i.node(n.parentId);let r=n?.padding/2||0,a=n?.labelBBox?.height||0,o=a-r||0;e.debug(`OffsetY`,o,`labelHeight`,a,`halfPadding`,r),await m(w,n),u.get(n.id).node=n}else{let t=i.node(n.parentId);n.y+=N/2,e.info(`A regular node XBX1 - using the padding`,n.id,`parent`,n.parentId,n.width,n.height,n.x,n.y,`offsetY`,n.offsetY,`parent`,t,t?.offsetY,n),p(n)}}));let P=N/2;return A(i,P,{mergeSelfLoops:k}).forEach(function({edge:t,start:n,end:r}){e.info(`Edge `+n+` -> `+r+`: `+JSON.stringify(t),t),t.points.forEach(e=>e.y+=P);let a=i.node(n),o=i.node(r);x(t,S(T,t,u,c,a,o,d))}),i.nodes().forEach(function(t){let n=i.node(t);e.info(t,n.type,n.diff),n.isGroup&&(M=n.diff)}),e.warn(`Returning from recursive render XAX`,C,M),{elem:C,diff:M}},`recursiveRender`),M=t(async(t,r)=>{let a=new i({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),o=r.select(`g`);y(o,t.markers,t.type,t.diagramId),g(),C(),_(),c(),t.nodes.forEach(e=>{a.setNode(e.id,{...e}),e.parentId&&a.setParent(e.id,e.parentId)}),e.debug(`Edges:`,t.edges),t.edges.forEach(e=>{if(e.start===e.end){let t=e.start,n=t+`---`+t+`---1`,r=t+`---`+t+`---2`,i=a.node(t);a.setNode(n,{domId:n,id:n,parentId:i.parentId,labelStyle:``,label:``,padding:0,shape:`labelRect`,style:``,width:10,height:10}),a.setParent(n,i.parentId),a.setNode(r,{domId:r,id:r,parentId:i.parentId,labelStyle:``,padding:0,shape:`labelRect`,label:``,style:``,width:10,height:10}),a.setParent(r,i.parentId);let o=structuredClone(e),s=structuredClone(e),c=structuredClone(e),l=structuredClone(e);s.originalEdge=o,s.selfLoop={id:o.id,order:0},c.originalEdge=o,c.selfLoop={id:o.id,order:1},l.originalEdge=o,l.selfLoop={id:o.id,order:2},s.label=``,s.arrowTypeEnd=`none`,s.endLabelLeft=``,s.endLabelRight=``,s.startLabelLeft=``,s.id=t+`-cyclic-special-1`,c.startLabelRight=``,c.startLabelLeft=``,c.endLabelLeft=``,c.endLabelRight=``,c.arrowTypeStart=`none`,c.arrowTypeEnd=`none`,c.id=t+`-cyclic-special-mid`,l.label=``,l.startLabelRight=``,l.startLabelLeft=``,l.arrowTypeStart=`none`,i.isGroup&&(s.fromCluster=t,l.toCluster=t),l.id=t+`-cyclic-special-2`,l.arrowTypeStart=`none`,a.setEdge(t,n,s,t+`-cyclic-special-0`),a.setEdge(n,r,c,t+`-cyclic-special-1`),a.setEdge(r,t,l,t+`-cyclic-special-2`)}else a.setEdge(e.start,e.end,{...e},e.id)}),e.warn(`Graph at first:`,JSON.stringify(l(a))),d(a),e.warn(`Graph after XAX:`,JSON.stringify(l(a)));let s=n();await j(o,a,t.type,t.diagramId,void 0,s)},`render`);export{A as getEdgesToRender,M as render}; |