@layers-app/editor 0.1.12 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.js +2 -2
- package/dist/{layers.kn67NfTr.js → layers.-8ozJFby.js} +1 -1
- package/dist/layers.0a8C9Zft.js +122 -0
- package/dist/{layers.Du654JPO.js → layers.19mmJqf_.js} +1 -1
- package/dist/{layers.JQi2e0Sn.js → layers.1JGGzMhf.js} +4 -4
- package/dist/{layers.EZ7vo-Fr.js → layers.2EYvILXt.js} +1 -1
- package/dist/{layers.B4CnR_QW.js → layers.3-u8XGDF.js} +1 -1
- package/dist/{layers.CvesdHOP.js → layers.6aHDNB7c.js} +3 -3
- package/dist/{layers.D3Pz_A_F.js → layers.7dxWyzAI.js} +1 -1
- package/dist/{layers.vl392NTk.js → layers.9qzXGVGI.js} +1 -1
- package/dist/{layers.CYO9fhOp.js → layers.A6CwFqax.js} +1 -1
- package/dist/{layers._OiP7IIU.js → layers.AiZCmV1t.js} +17 -19
- package/dist/{layers.LeuVgTD-.js → layers.B3-SuxGb.js} +1 -1
- package/dist/{layers.Dz3J5hzF.js → layers.B4-oO3lA.js} +1 -1
- package/dist/{layers.aNnytiDp.js → layers.B4Zi6bAp.js} +1 -1
- package/dist/{layers.pRnEgMyY.js → layers.B652NYpW.js} +1 -1
- package/dist/{layers.C7NWP0wD.js → layers.B8HLz9Gw.js} +1 -1
- package/dist/{layers.DqM2yzg7.js → layers.BAnqoHSH.js} +3 -3
- package/dist/{layers.hzw8K75g.js → layers.BBJgBv_q.js} +1 -1
- package/dist/{layers.KwUaUMcI.js → layers.BBPtcI0m.js} +1 -1
- package/dist/{layers.DUXwwMq0.js → layers.BCQ7o7Ii.js} +1 -1
- package/dist/{layers.sLeVri9t.js → layers.BCYP5AmP.js} +2 -2
- package/dist/{layers.DD04d8I3.js → layers.BDgZBQ-4.js} +1 -1
- package/dist/{layers.eU7STAP5.js → layers.BGY9VSLU.js} +1 -1
- package/dist/{layers.Bf4saA_r.js → layers.BHvavGY0.js} +1 -1
- package/dist/{layers.DJG_ZlHx.js → layers.BIiThTlS.js} +1 -1
- package/dist/{layers.Dz3LeR0p.js → layers.BJtdxspq.js} +1 -1
- package/dist/{layers.cPmNsT8F.js → layers.BM0tE40L.js} +1 -1
- package/dist/{layers.Iae6Qz-B.js → layers.BMeMRR_7.js} +1 -1
- package/dist/{layers.7bCZ86wN.js → layers.BNkn5eTg.js} +3 -3
- package/dist/{layers.BYzN4Zxz.js → layers.BODaZCcU.js} +1 -1
- package/dist/{layers.BNaOwJsO.js → layers.BPlAQzIG.js} +1 -1
- package/dist/{layers.DAnJoJqF.js → layers.BTBcJpds.js} +1 -1
- package/dist/{layers.DdlWqFWF.js → layers.BTCkEPVx.js} +3 -3
- package/dist/{layers.C9-kVrih.js → layers.BTZQp9oo.js} +1 -1
- package/dist/{layers.C5c_91gJ.js → layers.BU6JCK-A.js} +1 -1
- package/dist/{layers.DoBG7rdV.js → layers.BWGAXC9K.js} +2 -2
- package/dist/{layers.Da9w6_yz.js → layers.BXhHLv0m.js} +1 -1
- package/dist/{layers.Db6HDv4n.js → layers.BXxAZ6eZ.js} +5 -5
- package/dist/{layers.TT-kIfaa.js → layers.BY9STrtF.js} +43 -75
- package/dist/{layers.BzRwdPvh.js → layers.BYQv4PoF.js} +1 -1
- package/dist/{layers.DUbZmysc.js → layers.B_YjqyZM.js} +1 -1
- package/dist/{layers.CAZ7UyvV.js → layers.BbvUwQN-.js} +1 -1
- package/dist/{layers.Dgqz1o4e.js → layers.BcXRskzs.js} +1 -1
- package/dist/{layers.WrPlqard.js → layers.Bckxq5G5.js} +1 -1
- package/dist/{layers.IcgJ0zx2.js → layers.BdN3kctN.js} +2 -2
- package/dist/{layers.B1XGjt8P.js → layers.Bda5e9AQ.js} +1 -1
- package/dist/{layers.Cp7O-u4F.js → layers.Be2Ck524.js} +1 -1
- package/dist/{layers.9wTErTeV.js → layers.Bee-635c.js} +1 -1
- package/dist/{layers.DOPvMlyj.js → layers.Bg6r8fzJ.js} +7771 -7675
- package/dist/{layers.B7awqf1H.js → layers.Bg7nx_wm.js} +1 -1
- package/dist/{layers.CDfW27iI.js → layers.BgDUUozo.js} +1 -1
- package/dist/{layers.BKB3rTgB.js → layers.BgjIbjvn.js} +1 -1
- package/dist/{layers.DGzJNKo0.js → layers.BhnKRl71.js} +1 -1
- package/dist/{layers.NGecVmKn.js → layers.Birn4U_E.js} +2 -2
- package/dist/{layers.bdWGFjU0.js → layers.BnkLNnRS.js} +1 -1
- package/dist/{layers.Br5m0AIW.js → layers.BohLNJyh.js} +1 -1
- package/dist/{layers.tk4U7Wl-.js → layers.Boz0_eCV.js} +4 -4
- package/dist/{layers.DJ_jaz9t.js → layers.BqRC9FDT.js} +1 -1
- package/dist/{layers.CaDRKpkb.js → layers.BtJNMgdw.js} +1 -1
- package/dist/{layers.C4cjD21n.js → layers.BtzjCPBp.js} +1 -1
- package/dist/{layers.Dic9pGPA.js → layers.Bwnuq7nQ.js} +1 -1
- package/dist/{layers.DFDP3mZl.js → layers.BxaaoprN.js} +6 -6
- package/dist/{layers.Cp3XM5-U.js → layers.C-zpSFVR.js} +2681 -2668
- package/dist/{layers.C21uwaco.js → layers.C0ZNvKnw.js} +3 -3
- package/dist/{layers.FNpY0F1T.js → layers.C0z5XTe3.js} +2 -2
- package/dist/{layers.DyeRF_42.js → layers.C3Rw22vq.js} +1 -1
- package/dist/{layers.B2iryXmh.js → layers.C8aU0fuX.js} +5 -5
- package/dist/{layers.f8EALD8R.js → layers.C96P7ByS.js} +1 -1
- package/dist/{layers.Du3ZioZb.js → layers.CAlaIK4g.js} +5159 -4864
- package/dist/{layers.BbjW_pSS.js → layers.CBMxeBAj.js} +1 -1
- package/dist/{layers.Zh8r_asA.js → layers.CBsMBmYD.js} +1 -1
- package/dist/{layers.Dqt-xiXH.js → layers.CDMIJNp0.js} +4 -4
- package/dist/{layers.dxnA0WtS.js → layers.CDMuBa-_.js} +1 -1
- package/dist/{layers.C-S4ZGYk.js → layers.CE7BbMqo.js} +1 -1
- package/dist/{layers.CMQhgKMd.js → layers.CF8NS6oi.js} +1 -1
- package/dist/{layers.DwtJ4y_y.js → layers.CGJ5782E.js} +1 -1
- package/dist/{layers.DvJUcJIt.js → layers.CGt6y9i1.js} +1 -1
- package/dist/{layers.BgZMu6hT.js → layers.CIW-XUuZ.js} +1 -1
- package/dist/{layers.U2Iq8bQF.js → layers.CIa29KT0.js} +3 -3
- package/dist/{layers.DKYaXFCL.js → layers.CIjHEYBA.js} +1 -1
- package/dist/{layers.eInYScnA.js → layers.CJzMrG8C.js} +1 -1
- package/dist/{layers.BnhdX_Gr.js → layers.CN7IbcHS.js} +1 -1
- package/dist/{layers.CEXMiim9.js → layers.CND5HRfD.js} +1 -1
- package/dist/layers.CPCPMf-n.js +425 -0
- package/dist/{layers.BKFCt7JF.js → layers.CPPldYyg.js} +1 -1
- package/dist/{layers.B7ojLq6X.js → layers.CPpPlhrv.js} +1 -1
- package/dist/{layers.CK9jvvfs.js → layers.CR9P_Wab.js} +1 -1
- package/dist/{layers.BIoW2iNY.js → layers.C_esePfU.js} +1 -1
- package/dist/{layers.ih094nJV.js → layers.CbRH8a1j.js} +1 -1
- package/dist/{layers.CKXKiM4J.js → layers.Cc9_uswB.js} +1 -1
- package/dist/{layers.BNESMj3W.js → layers.CcbXL-g0.js} +1 -1
- package/dist/{layers.oN-8PMDY.js → layers.CeLePfgw.js} +1 -1
- package/dist/{layers.BTN9bj5-.js → layers.CeTac4CM.js} +1 -1
- package/dist/{layers.BPsBf3N1.js → layers.CfftxiYQ.js} +1 -1
- package/dist/{layers.RG5YAHea.js → layers.CghqCGMj.js} +3 -3
- package/dist/{layers._sCiRod3.js → layers.CnxecNk3.js} +1 -1
- package/dist/{layers.CApH31I7.js → layers.CoLyX3cX.js} +1 -1
- package/dist/{layers.i5MIbxTw.js → layers.CosyX26h.js} +4 -4
- package/dist/{layers.xbDJKMJa.js → layers.CqBNKg1S.js} +1 -1
- package/dist/{layers.BXj3OW-q.js → layers.CtL-9vEe.js} +2 -2
- package/dist/{layers.Cs7P01Uj.js → layers.CuRCmFlG.js} +1 -1
- package/dist/{layers.Dh80T4O1.js → layers.Cutc8HGZ.js} +1 -1
- package/dist/{layers.CYKhk0AF.js → layers.CvYZ3Ml3.js} +1 -1
- package/dist/{layers.BPVpukLj.js → layers.CwiZjTm-.js} +1 -1
- package/dist/{layers.BCZ_N83J.js → layers.CxEwXVOv.js} +2 -2
- package/dist/{layers.DA7paZC8.js → layers.CxnZi5RE.js} +1 -1
- package/dist/{layers.CgenFPuB.js → layers.CxtZWeuV.js} +1 -1
- package/dist/{layers.QeSB1vA6.js → layers.D0Rf3aJ-.js} +1 -1
- package/dist/{layers.BMRrvrE1.js → layers.D2Uo-C7N.js} +1 -1
- package/dist/{layers.BKlYBG9o.js → layers.D2zV6Hs3.js} +4 -4
- package/dist/{layers.C1aDn32T.js → layers.D3DLBgXE.js} +1 -1
- package/dist/{layers.CK3zI5wN.js → layers.D4-DXCNF.js} +1 -1
- package/dist/{layers.D3Ye17O-.js → layers.D4V3f7yA.js} +1 -1
- package/dist/{layers.BCnB6Y3Z.js → layers.DC6HU378.js} +1 -1
- package/dist/{layers.BgH4LCNP.js → layers.DCPUlpdn.js} +1 -1
- package/dist/{layers.CpFmgr19.js → layers.DD2krz5y.js} +1 -1
- package/dist/{layers.DWqEU9Pw.js → layers.DEKPybEs.js} +1 -1
- package/dist/{layers.DRLbLTQa.js → layers.DEj29MTi.js} +1 -1
- package/dist/{layers.C264v0LV.js → layers.DGdBr7uj.js} +1 -1
- package/dist/layers.DGuY7xbb.js +1 -0
- package/dist/{layers.DtlgBoJC.js → layers.DI1lAVVv.js} +1 -1
- package/dist/{layers.197alAI6.js → layers.DIe4Alc_.js} +1 -1
- package/dist/{layers.DE6MeapO.js → layers.DIo0xwQy.js} +1 -1
- package/dist/{layers.xJRhEJ9l.js → layers.DK6yd1-9.js} +1 -1
- package/dist/{layers.DWsBJ8ZT.js → layers.DKdWbzyN.js} +1 -1
- package/dist/{layers.e4fN_CoR.js → layers.DN5Stdkb.js} +1 -1
- package/dist/{layers.C6XwSpkg.js → layers.DNMLA5Sx.js} +1 -1
- package/dist/{layers.COoXvS-3.js → layers.DOjjOYR5.js} +1 -1
- package/dist/{layers.DrxiMlj-.js → layers.DOzqMf1G.js} +1 -1
- package/dist/{layers.DlanFkrr.js → layers.DPMYxiqL.js} +1 -1
- package/dist/{layers.B6IQvTW_.js → layers.DPuJvUib.js} +1 -1
- package/dist/layers.DQVuWa5Q.js +6 -0
- package/dist/{layers.C2MtkXTH.js → layers.DQnqyzR9.js} +1 -1
- package/dist/{layers.DkXgdSMl.js → layers.DTllXvuC.js} +1 -1
- package/dist/{layers.bfOfAYS4.js → layers.DTmYwjyy.js} +1 -1
- package/dist/{layers.CN_kKE5z.js → layers.DY_wJQVR.js} +1 -1
- package/dist/{layers.C2P8nxlh.js → layers.DZ4WCe8O.js} +3 -3
- package/dist/{layers.CLmgC3Un.js → layers.DZfI1rN4.js} +1 -1
- package/dist/layers.Da3yMH0i.js +8 -0
- package/dist/{layers.VA3vMgv8.js → layers.DaVXXzoo.js} +4 -4
- package/dist/{layers.BhRwOaKW.js → layers.DbaavSRn.js} +1 -1
- package/dist/{layers.ZRbLAD0j.js → layers.DgU9MEqO.js} +1 -1
- package/dist/layers.DgzTNF3O.js +1 -0
- package/dist/{layers.CCE6Ftvg.js → layers.Dhvfy7v8.js} +1 -1
- package/dist/{layers.CsIirSC8.js → layers.DiROAWaO.js} +1 -1
- package/dist/{layers.BNEQdrCL.js → layers.DlBMaMjv.js} +1 -1
- package/dist/{layers.ysBdu4Ft.js → layers.DlChl8Ap.js} +1 -1
- package/dist/{layers.BkigPg6q.js → layers.DmT8LYxt.js} +1 -1
- package/dist/{layers.C_koAla7.js → layers.DmWyJHQy.js} +1 -1
- package/dist/{layers.CZeXtbW9.js → layers.Dn0fqOqc.js} +10783 -10883
- package/dist/{layers.CRBfcMKc.js → layers.Dn8vNFNI.js} +1 -1
- package/dist/{layers.BZXVPEaN.js → layers.DqRbwQzq.js} +2 -2
- package/dist/{layers.3zVZltRF.js → layers.DqyNPRwZ.js} +1 -1
- package/dist/{layers.DtJQ9d7w.js → layers.DsFiy5Mq.js} +1 -1
- package/dist/{layers.BqPmDFz9.js → layers.Dskk8uhq.js} +1 -1
- package/dist/{layers.BiOkAykf.js → layers.DtSu_PeO.js} +1 -1
- package/dist/{layers.el0isiBs.js → layers.DuYmhH5M.js} +1 -1
- package/dist/{layers.CVt5xL4L.js → layers.Dv2kCAsV.js} +1 -1
- package/dist/{layers.X555Jd8l.js → layers.DvJhatBC.js} +1 -1
- package/dist/{layers.C_j9xfJx.js → layers.Dwyl9amn.js} +1 -1
- package/dist/{layers.BVNH9djK.js → layers.DxemEukt.js} +1 -1
- package/dist/{layers.OoBTPry5.js → layers.Dy8J3Ujf.js} +21 -23
- package/dist/{layers.x6Ic89sI.js → layers.Dz-m64Mp.js} +1 -1
- package/dist/{layers.DB2TqdoC.js → layers.DzE7WF3u.js} +1 -1
- package/dist/{layers.DOJ-bBTv.js → layers.GEGEzqF_.js} +1 -1
- package/dist/{layers.CGibuOu1.js → layers.Hfqhe0bh.js} +1 -1
- package/dist/{layers.D4HJ2im1.js → layers.In6Zis7V.js} +1 -1
- package/dist/{layers.cx9rUeHi.js → layers.InXGwJxF.js} +1 -1
- package/dist/{layers.BhZFBNiX.js → layers.LhUrSJE-.js} +1 -1
- package/dist/{layers.CXXeyS7B.js → layers.Lpr7GhOx.js} +1 -1
- package/dist/{layers.wf4VU0f0.js → layers.M1sws39F.js} +1 -1
- package/dist/{layers.De88sXC7.js → layers.OkwrDQA6.js} +2 -2
- package/dist/{layers.BIDnkNut.js → layers.OwyTRmnO.js} +1 -1
- package/dist/{layers.ClTg0VrU.js → layers.SIchF2O9.js} +1 -1
- package/dist/layers.V0hm-Byb.js +96 -0
- package/dist/{layers.4nvYTrtC.js → layers.V4CP7lwj.js} +1 -1
- package/dist/{layers.JrJLU8St.js → layers.VHlimcDq.js} +1 -1
- package/dist/{layers.BcfuznMe.js → layers.WQyoC9Vd.js} +1 -1
- package/dist/{layers.DGwJBWTE.js → layers.WvG1ZdSk.js} +1 -1
- package/dist/{layers.CZlsuoCH.js → layers.XTFl94zy.js} +1 -1
- package/dist/{layers.D3rTSZfp.js → layers.ZDUujT6N.js} +1 -1
- package/dist/{layers.DphdL73z.js → layers._f7UqGgM.js} +1 -1
- package/dist/{layers.DkxZkeYT.js → layers.a-bPoAhB.js} +4 -4
- package/dist/{layers.CLmN3_ZX.js → layers.aJXStXGb.js} +4 -4
- package/dist/{layers.DjliO2u2.js → layers.aScqxyRN.js} +1 -1
- package/dist/{layers.BWf8rUtM.js → layers.biHTnLuV.js} +1 -1
- package/dist/{layers.Sayl3Apc.js → layers.bpk5iC3D.js} +1 -1
- package/dist/{layers.3p_um1MY.js → layers.dhoRXoOW.js} +1 -1
- package/dist/{layers.6VVx8sHs.js → layers.dsTwBrI5.js} +4 -4
- package/dist/{layers.BTN9QAq_.js → layers.fO-Q1dHY.js} +1 -1
- package/dist/{layers.DGtA69cS.js → layers.gdQbR2q3.js} +1 -1
- package/dist/{layers.kRZbLakW.js → layers.hFNRNmpd.js} +1 -1
- package/dist/{layers.BXE4wxph.js → layers.i_Y8A9zA.js} +1 -1
- package/dist/{layers.D6lgbf5a.js → layers.jar3pxQU.js} +1 -1
- package/dist/{layers.DmJCPHmT.js → layers.lpLb-e0Q.js} +1 -1
- package/dist/{layers.BjIsWtty.js → layers.nPPBewJZ.js} +1 -1
- package/dist/{layers.B_V4JEWo.js → layers.o0uSpL2s.js} +1 -1
- package/dist/{layers.CIqC8aLN.js → layers.qz45Ugdq.js} +2 -2
- package/dist/{layers.oLTdz10g.js → layers.sav0hmWq.js} +1 -1
- package/dist/{layers.-qshpEz8.js → layers.shpZsYlJ.js} +3 -3
- package/dist/{layers.CtK_Moz1.js → layers.uYOSpoyV.js} +1 -1
- package/dist/{layers.C7G535jo.js → layers.v50r3PAk.js} +1 -1
- package/dist/{layers.cyX61Kdw.js → layers.x4J9FdT3.js} +72 -40
- package/dist/{layers.BVjUhCBI.js → layers.zZvuba7q.js} +1 -1
- package/package.json +18 -4
- package/dist/layers.BtwxaUEu.js +0 -1
- package/dist/layers.CuwyL41b.js +0 -1
- package/dist/layers.D-SZikYp.js +0 -8
- package/dist/layers.D6uy25MB.js +0 -122
- package/dist/layers.DPURQN4q.js +0 -96
- package/dist/layers.DxAe7GMj.js +0 -425
- package/dist/layers.s5pjTDTQ.js +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const P=require("lodash-es"),J=require("./layers.COAF7f8g.js"),k=require("./layers.9QK1wiQj.js"),u=require("./layers.Br5m0AIW.js"),i=require("./layers.DPURQN4q.js"),j=require("./layers.eInYScnA.js");function G(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const m=G(P);function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:F(e)};return m.isUndefined(e.graph())||(t.value=m.clone(e.graph())),t}function M(e){return m.map(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m.isUndefined(n)||(s.value=n),m.isUndefined(r)||(s.parent=r),s})}function F(e){return m.map(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m.isUndefined(t.name)||(r.name=t.name),m.isUndefined(n)||(r.value=n),r})}let a={},w={},p={};const q=()=>{w={},p={},a={}},X=(e,t)=>(i.log$1.trace("In isDescendant",t," ",e," = ",w[t].includes(e)),!!w[t].includes(e)),_=(e,t)=>(i.log$1.info("Descendants of ",t," is ",w[t]),i.log$1.info("Edge is ",e),e.v===t||e.w===t?!1:w[t]?w[t].includes(e.v)||X(e.v,t)||X(e.w,t)||w[t].includes(e.w):(i.log$1.debug("Tilt, ",t,",not in descendants"),!1)),B=(e,t,n,r)=>{i.log$1.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.log$1.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)B(o,t,n,r);else{const f=t.node(o);i.log$1.info("cp ",o," to ",r," with parent ",e),n.setNode(o,f),r!==t.parent(o)&&(i.log$1.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==r&&o!==e?(i.log$1.debug("Setting parent",o,e),n.setParent(o,e)):(i.log$1.info("In copy ",e,"root",r,"data",t.node(e),r),i.log$1.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==r,"node!==clusterId",o!==e));const g=t.edges(o);i.log$1.debug("Copying Edges",g),g.forEach(d=>{i.log$1.info("Edge",d);const h=t.edge(d.v,d.w,d.name);i.log$1.info("Edge data",h,r);try{_(d,r)?(i.log$1.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),i.log$1.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.log$1.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch($){i.log$1.error($)}})}i.log$1.debug("Removing node",o),t.removeNode(o)})},D=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...D(s,t)];return r},C=(e,t)=>{i.log$1.trace("Searching",e);const n=t.children(e);if(i.log$1.trace("Searching children of id ",e,n),n.length<1)return i.log$1.trace("This is a valid node",e),e;for(const r of n){const s=C(r,t);if(s)return i.log$1.trace("Found replacement for",e," => ",s),s}},S=e=>!a[e]||!a[e].externalConnections?e:a[e]?a[e].id:e,U=(e,t)=>{if(!e||t>10){i.log$1.debug("Opting out, no graph ");return}else i.log$1.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.log$1.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),w[n]=D(n,e),a[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.log$1.debug("Cluster identified",n,w),s.forEach(o=>{if(o.v!==n&&o.w!==n){const f=X(o.v,n),g=X(o.w,n);f^g&&(i.log$1.warn("Edge: ",o," leaves cluster ",n),i.log$1.warn("Descendants of XXX ",n,": ",w[n]),a[n].externalConnections=!0)}})):i.log$1.debug("Not a cluster ",n,w)});for(let n of Object.keys(a)){const r=a[n].id,s=e.parent(r);s!==n&&a[s]&&!a[s].externalConnections&&(a[n].id=s)}e.edges().forEach(function(n){const r=e.edge(n);i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.log$1.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a[n.v]," --- ",a[n.w]),a[n.v]&&a[n.w]&&a[n.v]===a[n.w]){i.log$1.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name);const f=n.w+"---"+n.v;e.setNode(f,{domId:f,id:f,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const g=structuredClone(r),d=structuredClone(r);g.label="",g.arrowTypeEnd="none",d.label="",g.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,f,g,n.name+"-cyclic-special"),e.setEdge(f,o,d,n.name+"-cyclic-special")}else if(a[n.v]||a[n.w]){if(i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const f=e.parent(s);a[f].externalConnections=!0,r.fromCluster=n.v}if(o!==n.w){const f=e.parent(o);a[f].externalConnections=!0,r.toCluster=n.w}i.log$1.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,r,n.name)}}),i.log$1.warn("Adjusted Graph",x(e)),T(e,0),i.log$1.trace(a)},T=(e,t)=>{if(i.log$1.warn("extractor - ",t,x(e),e.children("D")),t>10){i.log$1.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const o=e.children(s);r=r||o.length>0}if(!r){i.log$1.debug("Done, no node has children",e.nodes());return}i.log$1.debug("Nodes = ",n,t);for(const s of n)if(i.log$1.debug("Extracting node",s,a,a[s]&&!a[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!a[s])i.log$1.debug("Not a cluster",s,t);else if(!a[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.log$1.warn("Cluster without external connections, without a parent and with children",s,t);let f=e.graph().rankdir==="TB"?"LR":"TB";a[s]&&a[s].clusterData&&a[s].clusterData.dir&&(f=a[s].clusterData.dir,i.log$1.warn("Fixing dir",a[s].clusterData.dir,f));const g=new k.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.log$1.warn("Old graph before copy",x(e)),B(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:E}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+E})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+E})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:E}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+E})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),N=v.elem;u.updateNodeBounds(c,N),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(N,c),i.log$1.warn("Recursive render complete ",N,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let E=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(N=>N.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(E=c.diff)}),{elem:g,diff:E}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;
|
|
1
|
+
"use strict";const P=require("lodash-es"),J=require("./layers.COAF7f8g.js"),k=require("./layers.9QK1wiQj.js"),u=require("./layers.BohLNJyh.js"),i=require("./layers.V0hm-Byb.js"),j=require("./layers.CJzMrG8C.js");function G(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const m=G(P);function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:F(e)};return m.isUndefined(e.graph())||(t.value=m.clone(e.graph())),t}function M(e){return m.map(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m.isUndefined(n)||(s.value=n),m.isUndefined(r)||(s.parent=r),s})}function F(e){return m.map(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m.isUndefined(t.name)||(r.name=t.name),m.isUndefined(n)||(r.value=n),r})}let a={},w={},p={};const q=()=>{w={},p={},a={}},X=(e,t)=>(i.log$1.trace("In isDescendant",t," ",e," = ",w[t].includes(e)),!!w[t].includes(e)),_=(e,t)=>(i.log$1.info("Descendants of ",t," is ",w[t]),i.log$1.info("Edge is ",e),e.v===t||e.w===t?!1:w[t]?w[t].includes(e.v)||X(e.v,t)||X(e.w,t)||w[t].includes(e.w):(i.log$1.debug("Tilt, ",t,",not in descendants"),!1)),B=(e,t,n,r)=>{i.log$1.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.log$1.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)B(o,t,n,r);else{const f=t.node(o);i.log$1.info("cp ",o," to ",r," with parent ",e),n.setNode(o,f),r!==t.parent(o)&&(i.log$1.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==r&&o!==e?(i.log$1.debug("Setting parent",o,e),n.setParent(o,e)):(i.log$1.info("In copy ",e,"root",r,"data",t.node(e),r),i.log$1.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==r,"node!==clusterId",o!==e));const g=t.edges(o);i.log$1.debug("Copying Edges",g),g.forEach(d=>{i.log$1.info("Edge",d);const h=t.edge(d.v,d.w,d.name);i.log$1.info("Edge data",h,r);try{_(d,r)?(i.log$1.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),i.log$1.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.log$1.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch($){i.log$1.error($)}})}i.log$1.debug("Removing node",o),t.removeNode(o)})},D=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...D(s,t)];return r},C=(e,t)=>{i.log$1.trace("Searching",e);const n=t.children(e);if(i.log$1.trace("Searching children of id ",e,n),n.length<1)return i.log$1.trace("This is a valid node",e),e;for(const r of n){const s=C(r,t);if(s)return i.log$1.trace("Found replacement for",e," => ",s),s}},S=e=>!a[e]||!a[e].externalConnections?e:a[e]?a[e].id:e,U=(e,t)=>{if(!e||t>10){i.log$1.debug("Opting out, no graph ");return}else i.log$1.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.log$1.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),w[n]=D(n,e),a[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.log$1.debug("Cluster identified",n,w),s.forEach(o=>{if(o.v!==n&&o.w!==n){const f=X(o.v,n),g=X(o.w,n);f^g&&(i.log$1.warn("Edge: ",o," leaves cluster ",n),i.log$1.warn("Descendants of XXX ",n,": ",w[n]),a[n].externalConnections=!0)}})):i.log$1.debug("Not a cluster ",n,w)});for(let n of Object.keys(a)){const r=a[n].id,s=e.parent(r);s!==n&&a[s]&&!a[s].externalConnections&&(a[n].id=s)}e.edges().forEach(function(n){const r=e.edge(n);i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.log$1.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a[n.v]," --- ",a[n.w]),a[n.v]&&a[n.w]&&a[n.v]===a[n.w]){i.log$1.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name);const f=n.w+"---"+n.v;e.setNode(f,{domId:f,id:f,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const g=structuredClone(r),d=structuredClone(r);g.label="",g.arrowTypeEnd="none",d.label="",g.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,f,g,n.name+"-cyclic-special"),e.setEdge(f,o,d,n.name+"-cyclic-special")}else if(a[n.v]||a[n.w]){if(i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const f=e.parent(s);a[f].externalConnections=!0,r.fromCluster=n.v}if(o!==n.w){const f=e.parent(o);a[f].externalConnections=!0,r.toCluster=n.w}i.log$1.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,r,n.name)}}),i.log$1.warn("Adjusted Graph",x(e)),T(e,0),i.log$1.trace(a)},T=(e,t)=>{if(i.log$1.warn("extractor - ",t,x(e),e.children("D")),t>10){i.log$1.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const o=e.children(s);r=r||o.length>0}if(!r){i.log$1.debug("Done, no node has children",e.nodes());return}i.log$1.debug("Nodes = ",n,t);for(const s of n)if(i.log$1.debug("Extracting node",s,a,a[s]&&!a[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!a[s])i.log$1.debug("Not a cluster",s,t);else if(!a[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.log$1.warn("Cluster without external connections, without a parent and with children",s,t);let f=e.graph().rankdir==="TB"?"LR":"TB";a[s]&&a[s].clusterData&&a[s].clusterData.dir&&(f=a[s].clusterData.dir,i.log$1.warn("Fixing dir",a[s].clusterData.dir,f));const g=new k.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.log$1.warn("Old graph before copy",x(e)),B(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:E}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+E})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+E})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:E}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+E})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),N=v.elem;u.updateNodeBounds(c,N),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(N,c),i.log$1.warn("Recursive render complete ",N,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let E=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(N=>N.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(E=c.diff)}),{elem:g,diff:E}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;
|