mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-02-25 07:16:45 +08:00
1 line
3.8 KiB
JavaScript
1 line
3.8 KiB
JavaScript
import{a as X,b as k,c as Y}from"./chunk-3MCPFTEY.js";import{b as h}from"./chunk-GT6PWSKZ.js";import{a as W,b as H}from"./chunk-N4T7OBQH.js";import"./chunk-I4NDSNS6.js";import{D as B,g as $,ha as a,l as g,ra as L,sa as Z}from"./chunk-CRHZHETQ.js";import{h as N}from"./chunk-2YVZDWG7.js";var _=N($(),1),q=N(B(),1);var u={},m=20,p=function(e){let i=Object.entries(u).find(y=>y[1].label===e);if(i)return i[0]},v=function(e){e.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),e.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},A=function(e,i,y,n){let c=L().class;u={},a.info("Rendering diagram "+e);let x=L().securityLevel,E;x==="sandbox"&&(E=g("#i"+i));let b=x==="sandbox"?g(E.nodes()[0].contentDocument.body):g("body"),o=b.select(`[id='${i}']`);v(o);let r=new W({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});let l=n.db.getClasses(),D=Object.keys(l);for(let t of D){let d=l[t],s=h.drawClass(o,d,c,n);u[s.id]=s,r.setNode(s.id,s),a.info("Org height: "+s.height)}n.db.getRelations().forEach(function(t){a.info("tjoho"+p(t.id1)+p(t.id2)+JSON.stringify(t)),r.setEdge(p(t.id1),p(t.id2),{relation:t},t.title||"DEFAULT")}),n.db.getNotes().forEach(function(t){a.debug(`Adding note: ${JSON.stringify(t)}`);let d=h.drawNote(o,t,c,n);u[d.id]=d,r.setNode(d.id,d),t.class&&t.class in l&&r.setEdge(t.id,p(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),H(r),r.nodes().forEach(function(t){t!==void 0&&r.node(t)!==void 0&&(a.debug("Node "+t+": "+JSON.stringify(r.node(t))),b.select("#"+(n.db.lookUpDomId(t)||t)).attr("transform","translate("+(r.node(t).x-r.node(t).width/2)+","+(r.node(t).y-r.node(t).height/2)+" )"))}),r.edges().forEach(function(t){t!==void 0&&r.edge(t)!==void 0&&(a.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(r.edge(t))),h.drawEdge(o,r.edge(t),r.edge(t).relation,c,n))});let f=o.node().getBBox(),w=f.width+m*2,M=f.height+m*2;Z(o,M,w,c.useMaxWidth);let S=`${f.x-m} ${f.y-m} ${w} ${M}`;a.debug(`viewBox ${S}`),o.attr("viewBox",S)},C={draw:A},K={parser:X,db:k,renderer:C,styles:Y,init:e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,k.clear()}};export{K as diagram};
|