f7cloud_client/apps/whiteboard/js/cose-bilkent-S5V4N54A-DrWbYtEv.chunk.mjs.map
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

1 line
16 KiB
Plaintext

{"version":3,"file":"cose-bilkent-S5V4N54A-DrWbYtEv.chunk.mjs","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/cose-bilkent-S5V4N54A.mjs"],"sourcesContent":["import {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/layout-algorithms/cose-bilkent/cytoscape-setup.ts\nimport cytoscape from \"cytoscape\";\nimport coseBilkent from \"cytoscape-cose-bilkent\";\nimport { select } from \"d3\";\ncytoscape.use(coseBilkent);\nfunction addNodes(nodes, cy) {\n nodes.forEach((node) => {\n const nodeData = {\n id: node.id,\n labelText: node.label,\n height: node.height,\n width: node.width,\n padding: node.padding ?? 0\n };\n Object.keys(node).forEach((key) => {\n if (![\"id\", \"label\", \"height\", \"width\", \"padding\", \"x\", \"y\"].includes(key)) {\n nodeData[key] = node[key];\n }\n });\n cy.add({\n group: \"nodes\",\n data: nodeData,\n position: {\n x: node.x ?? 0,\n y: node.y ?? 0\n }\n });\n });\n}\n__name(addNodes, \"addNodes\");\nfunction addEdges(edges, cy) {\n edges.forEach((edge) => {\n const edgeData = {\n id: edge.id,\n source: edge.start,\n target: edge.end\n };\n Object.keys(edge).forEach((key) => {\n if (![\"id\", \"start\", \"end\"].includes(key)) {\n edgeData[key] = edge[key];\n }\n });\n cy.add({\n group: \"edges\",\n data: edgeData\n });\n });\n}\n__name(addEdges, \"addEdges\");\nfunction createCytoscapeInstance(data) {\n return new Promise((resolve) => {\n const renderEl = select(\"body\").append(\"div\").attr(\"id\", \"cy\").attr(\"style\", \"display:none\");\n const cy = cytoscape({\n container: document.getElementById(\"cy\"),\n // container to render in\n style: [\n {\n selector: \"edge\",\n style: {\n \"curve-style\": \"bezier\"\n }\n }\n ]\n });\n renderEl.remove();\n addNodes(data.nodes, cy);\n addEdges(data.edges, cy);\n cy.nodes().forEach(function(n) {\n n.layoutDimensions = () => {\n const nodeData = n.data();\n return { w: nodeData.width, h: nodeData.height };\n };\n });\n const layoutConfig = {\n name: \"cose-bilkent\",\n // @ts-ignore Types for cose-bilkent are not correct?\n quality: \"proof\",\n styleEnabled: false,\n animate: false\n };\n cy.layout(layoutConfig).run();\n cy.ready((e) => {\n log.info(\"Cytoscape ready\", e);\n resolve(cy);\n });\n });\n}\n__name(createCytoscapeInstance, \"createCytoscapeInstance\");\nfunction extractPositionedNodes(cy) {\n return cy.nodes().map((node) => {\n const data = node.data();\n const position = node.position();\n const positionedNode = {\n id: data.id,\n x: position.x,\n y: position.y\n };\n Object.keys(data).forEach((key) => {\n if (key !== \"id\") {\n positionedNode[key] = data[key];\n }\n });\n return positionedNode;\n });\n}\n__name(extractPositionedNodes, \"extractPositionedNodes\");\nfunction extractPositionedEdges(cy) {\n return cy.edges().map((edge) => {\n const data = edge.data();\n const rscratch = edge._private.rscratch;\n const positionedEdge = {\n id: data.id,\n source: data.source,\n target: data.target,\n startX: rscratch.startX,\n startY: rscratch.startY,\n midX: rscratch.midX,\n midY: rscratch.midY,\n endX: rscratch.endX,\n endY: rscratch.endY\n };\n Object.keys(data).forEach((key) => {\n if (![\"id\", \"source\", \"target\"].includes(key)) {\n positionedEdge[key] = data[key];\n }\n });\n return positionedEdge;\n });\n}\n__name(extractPositionedEdges, \"extractPositionedEdges\");\n\n// src/rendering-util/layout-algorithms/cose-bilkent/layout.ts\nasync function executeCoseBilkentLayout(data, _config) {\n log.debug(\"Starting cose-bilkent layout algorithm\");\n try {\n validateLayoutData(data);\n const cy = await createCytoscapeInstance(data);\n const positionedNodes = extractPositionedNodes(cy);\n const positionedEdges = extractPositionedEdges(cy);\n log.debug(`Layout completed: ${positionedNodes.length} nodes, ${positionedEdges.length} edges`);\n return {\n nodes: positionedNodes,\n edges: positionedEdges\n };\n } catch (error) {\n log.error(\"Error in cose-bilkent layout algorithm:\", error);\n throw error;\n }\n}\n__name(executeCoseBilkentLayout, \"executeCoseBilkentLayout\");\nfunction validateLayoutData(data) {\n if (!data) {\n throw new Error(\"Layout data is required\");\n }\n if (!data.config) {\n throw new Error(\"Configuration is required in layout data\");\n }\n if (!data.rootNode) {\n throw new Error(\"Root node is required\");\n }\n if (!data.nodes || !Array.isArray(data.nodes)) {\n throw new Error(\"No nodes found in layout data\");\n }\n if (!Array.isArray(data.edges)) {\n throw new Error(\"Edges array is required in layout data\");\n }\n return true;\n}\n__name(validateLayoutData, \"validateLayoutData\");\n\n// src/rendering-util/layout-algorithms/cose-bilkent/render.ts\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg, {\n insertCluster,\n insertEdge,\n insertEdgeLabel,\n insertMarkers,\n insertNode,\n log: log2,\n positionEdgeLabel\n}, { algorithm: _algorithm }) => {\n const nodeDb = {};\n const clusterDb = {};\n const element = svg.select(\"g\");\n insertMarkers(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n const subGraphsEl = element.insert(\"g\").attr(\"class\", \"subgraphs\");\n const edgePaths = element.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = element.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = element.insert(\"g\").attr(\"class\", \"nodes\");\n log2.debug(\"Inserting nodes into DOM for dimension calculation\");\n await Promise.all(\n data4Layout.nodes.map(async (node) => {\n if (node.isGroup) {\n const clusterNode = { ...node };\n clusterDb[node.id] = clusterNode;\n nodeDb[node.id] = clusterNode;\n await insertCluster(subGraphsEl, node);\n } else {\n const nodeWithPosition = { ...node };\n nodeDb[node.id] = nodeWithPosition;\n const nodeEl = await insertNode(nodes, node, {\n config: data4Layout.config,\n dir: data4Layout.direction || \"TB\"\n });\n const boundingBox = nodeEl.node().getBBox();\n nodeWithPosition.width = boundingBox.width;\n nodeWithPosition.height = boundingBox.height;\n nodeWithPosition.domId = nodeEl;\n log2.debug(`Node ${node.id} dimensions: ${boundingBox.width}x${boundingBox.height}`);\n }\n })\n );\n log2.debug(\"Running cose-bilkent layout algorithm\");\n const updatedLayoutData = {\n ...data4Layout,\n nodes: data4Layout.nodes.map((node) => {\n const nodeWithDimensions = nodeDb[node.id];\n return {\n ...node,\n width: nodeWithDimensions.width,\n height: nodeWithDimensions.height\n };\n })\n };\n const layoutResult = await executeCoseBilkentLayout(updatedLayoutData, data4Layout.config);\n log2.debug(\"Positioning nodes based on layout results\");\n layoutResult.nodes.forEach((positionedNode) => {\n const node = nodeDb[positionedNode.id];\n if (node?.domId) {\n node.domId.attr(\n \"transform\",\n `translate(${positionedNode.x}, ${positionedNode.y})`\n );\n node.x = positionedNode.x;\n node.y = positionedNode.y;\n log2.debug(`Positioned node ${node.id} at center (${positionedNode.x}, ${positionedNode.y})`);\n }\n });\n layoutResult.edges.forEach((positionedEdge) => {\n const edge = data4Layout.edges.find((e) => e.id === positionedEdge.id);\n if (edge) {\n edge.points = [\n { x: positionedEdge.startX, y: positionedEdge.startY },\n { x: positionedEdge.midX, y: positionedEdge.midY },\n { x: positionedEdge.endX, y: positionedEdge.endY }\n ];\n }\n });\n log2.debug(\"Inserting and positioning edges\");\n await Promise.all(\n data4Layout.edges.map(async (edge) => {\n const _edgeLabel = await insertEdgeLabel(edgeLabels, edge);\n const startNode = nodeDb[edge.start ?? \"\"];\n const endNode = nodeDb[edge.end ?? \"\"];\n if (startNode && endNode) {\n const positionedEdge = layoutResult.edges.find((e) => e.id === edge.id);\n if (positionedEdge) {\n log2.debug(\"APA01 positionedEdge\", positionedEdge);\n const edgeWithPath = { ...edge };\n const paths = insertEdge(\n edgePaths,\n edgeWithPath,\n clusterDb,\n data4Layout.type,\n startNode,\n endNode,\n data4Layout.diagramId\n );\n positionEdgeLabel(edgeWithPath, paths);\n } else {\n const edgeWithPath = {\n ...edge,\n points: [\n { x: startNode.x || 0, y: startNode.y || 0 },\n { x: endNode.x || 0, y: endNode.y || 0 }\n ]\n };\n const paths = insertEdge(\n edgePaths,\n edgeWithPath,\n clusterDb,\n data4Layout.type,\n startNode,\n endNode,\n data4Layout.diagramId\n );\n positionEdgeLabel(edgeWithPath, paths);\n }\n }\n })\n );\n log2.debug(\"Cose-bilkent rendering completed\");\n}, \"render\");\n\n// src/rendering-util/layout-algorithms/cose-bilkent/index.ts\nvar render2 = render;\nexport {\n render2 as render\n};\n"],"names":["cytoscape","coseBilkent","addNodes","nodes","cy","node","nodeData","key","__name","addEdges","edges","edge","edgeData","createCytoscapeInstance","data","resolve","renderEl","select","n","layoutConfig","e","log","extractPositionedNodes","position","positionedNode","extractPositionedEdges","rscratch","positionedEdge","executeCoseBilkentLayout","_config","validateLayoutData","positionedNodes","positionedEdges","error","render","data4Layout","svg","insertCluster","insertEdge","insertEdgeLabel","insertMarkers","insertNode","log2","positionEdgeLabel","_algorithm","nodeDb","clusterDb","element","subGraphsEl","edgePaths","edgeLabels","clusterNode","nodeWithPosition","nodeEl","boundingBox","updatedLayoutData","nodeWithDimensions","layoutResult","startNode","endNode","edgeWithPath","paths","render2"],"mappings":"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","x_google_ignoreList":[0]}