8 lines
41 KiB
Plaintext
8 lines
41 KiB
Plaintext
{
|
|
"version": 3,
|
|
"sources": ["../../node_modules/dagre-d3-es/src/graphlib/json.js", "../../node_modules/mermaid/dist/chunks/mermaid.core/dagre-6UL2VRFP.mjs"],
|
|
"sourcesContent": ["import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\nexport { write, read };\n\nfunction write(g) {\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n", "import {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-QXUST7PY.mjs\";\nimport \"./chunk-HN2XXSSU.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-JZLCHNYA.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-CVBHYZKI.mjs\";\nimport \"./chunk-ATLVNIR6.mjs\";\nimport \"./chunk-JA3XYJ7Z.mjs\";\nimport \"./chunk-S3R3BYOJ.mjs\";\nimport {\n getConfig2 as getConfig\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson2 from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib2 from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nvar clusterDb = /* @__PURE__ */ new Map();\nvar descendants = /* @__PURE__ */ new Map();\nvar parents = /* @__PURE__ */ new Map();\nvar clear4 = /* @__PURE__ */ __name(() => {\n descendants.clear();\n parents.clear();\n clusterDb.clear();\n}, \"clear\");\nvar isDescendant = /* @__PURE__ */ __name((id, ancestorId) => {\n const ancestorDescendants = descendants.get(ancestorId) || [];\n log.trace(\"In isDescendant\", ancestorId, \" \", id, \" = \", ancestorDescendants.includes(id));\n return ancestorDescendants.includes(id);\n}, \"isDescendant\");\nvar edgeInCluster = /* @__PURE__ */ __name((edge, clusterId) => {\n const clusterDescendants = descendants.get(clusterId) || [];\n log.info(\"Descendants of \", clusterId, \" is \", clusterDescendants);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId || edge.w === clusterId) {\n return false;\n }\n if (!clusterDescendants) {\n log.debug(\"Tilt, \", clusterId, \",not in descendants\");\n return false;\n }\n return clusterDescendants.includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || clusterDescendants.includes(edge.w);\n}, \"edgeInCluster\");\nvar copy = /* @__PURE__ */ __name((clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n}, \"copy\");\nvar extractDescendants = /* @__PURE__ */ __name((id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents.set(child, id);\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n}, \"extractDescendants\");\nvar findCommonEdges = /* @__PURE__ */ __name((graph, id1, id2) => {\n const edges1 = graph.edges().filter((edge) => edge.v === id1 || edge.w === id1);\n const edges2 = graph.edges().filter((edge) => edge.v === id2 || edge.w === id2);\n const edges1Prim = edges1.map((edge) => {\n return { v: edge.v === id1 ? id2 : edge.v, w: edge.w === id1 ? id1 : edge.w };\n });\n const edges2Prim = edges2.map((edge) => {\n return { v: edge.v, w: edge.w };\n });\n const result = edges1Prim.filter((edgeIn1) => {\n return edges2Prim.some((edge) => edgeIn1.v === edge.v && edgeIn1.w === edge.w);\n });\n return result;\n}, \"findCommonEdges\");\nvar findNonClusterChild = /* @__PURE__ */ __name((id, graph, clusterId) => {\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n return id;\n }\n let reserve;\n for (const child of children) {\n const _id = findNonClusterChild(child, graph, clusterId);\n const commonEdges = findCommonEdges(graph, clusterId, _id);\n if (_id) {\n if (commonEdges.length > 0) {\n reserve = _id;\n } else {\n return _id;\n }\n }\n }\n return reserve;\n}, \"findNonClusterChild\");\nvar getAnchorId = /* @__PURE__ */ __name((id) => {\n if (!clusterDb.has(id)) {\n return id;\n }\n if (!clusterDb.get(id).externalConnections) {\n return id;\n }\n if (clusterDb.has(id)) {\n return clusterDb.get(id).id;\n }\n return id;\n}, \"getAnchorId\");\nvar adjustClustersAndEdges = /* @__PURE__ */ __name((graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph, id)\n );\n descendants.set(id, extractDescendants(id, graph));\n clusterDb.set(id, { id: findNonClusterChild(id, graph, id), clusterData: graph.node(id) });\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Descendants of XXX \", id, \": \", descendants.get(id));\n clusterDb.get(id).externalConnections = true;\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n for (let id of clusterDb.keys()) {\n const nonClusterChild = clusterDb.get(id).id;\n const parent = graph.parent(nonClusterChild);\n if (parent !== id && clusterDb.has(parent) && !clusterDb.get(parent).externalConnections) {\n clusterDb.get(id).id = parent;\n }\n }\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n \" --- \",\n clusterDb.get(e.w)\n );\n if (clusterDb.get(e.v) || clusterDb.get(e.w)) {\n log.warn(\"Fixing and trying - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n const parent = graph.parent(v);\n clusterDb.get(parent).externalConnections = true;\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n const parent = graph.parent(w);\n clusterDb.get(parent).externalConnections = true;\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n}, \"adjustClustersAndEdges\");\nvar extractor = /* @__PURE__ */ __name((graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb.has(node) && !clusterDb.get(node).externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb.has(node)) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (!clusterDb.get(node).externalConnections && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb.get(node)?.clusterData?.dir) {\n dir = clusterDb.get(node).clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb.get(node).clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n log.warn(\"Old graph before copy\", graphlibJson.write(graph));\n copy(node, graph, clusterGraph, node);\n graph.setNode(node, {\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.warn(\"New graph after copy node: (\", node, \")\", graphlibJson.write(clusterGraph));\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb.get(node).externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data?.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n}, \"extractor\");\nvar sorter = /* @__PURE__ */ __name((graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign([], nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n}, \"sorter\");\nvar sortNodesByHierarchy = /* @__PURE__ */ __name((graph) => sorter(graph, graph.children()), \"sortNodesByHierarchy\");\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson2.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson2.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson2.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += subGraphTitleTotalMargin / 2);\n const startNode = graph.node(e.v);\n var endNode = graph.node(e.w);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib2.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyc<lic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson2.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson2.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n render\n};\n"],
|
|
"mappings": "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",
|
|
"names": ["write", "g", "json", "writeNodes", "writeEdges", "isUndefined_default", "clone_default", "map_default", "v", "nodeValue", "parent", "node", "e", "edgeValue", "edge", "clusterDb", "descendants", "parents", "clear4", "__name", "isDescendant", "id", "ancestorId", "ancestorDescendants", "log", "edgeInCluster", "edge", "clusterId", "clusterDescendants", "copy", "graph", "newGraph", "rootId", "nodes", "node", "data", "edges", "data2", "e", "extractDescendants", "children", "res", "child", "findCommonEdges", "id1", "id2", "edges1", "edges2", "edges1Prim", "edges2Prim", "edgeIn1", "findNonClusterChild", "reserve", "_id", "commonEdges", "getAnchorId", "adjustClustersAndEdges", "depth", "d1", "d2", "nonClusterChild", "parent", "v", "w", "write", "extractor", "hasChildren", "dir", "clusterGraph", "Graph", "sorter", "result", "sorted", "sortNodesByHierarchy", "recursiveRender", "_elem", "diagramType", "parentCluster", "siteConfig", "elem", "clusters", "edgePaths", "edgeLabels", "ranksep", "nodesep", "o", "newEl", "updateNodeBounds", "setNodeElem", "insertNode", "edgePromises", "insertEdgeLabel", "layout", "diff", "subGraphTitleTotalMargin", "getSubGraphTitleMargins", "positionNode", "halfPadding", "labelHeight", "offsetY", "insertCluster", "point", "startNode", "endNode", "paths", "insertEdge", "positionEdgeLabel", "n", "render", "data4Layout", "svg", "element", "markers_default", "clear2", "clear", "nodeId", "specialId1", "specialId2", "edge1", "edgeMid", "edge2", "getConfig2"]
|
|
}
|