summaryrefslogtreecommitdiff
path: root/themes/blowfish/assets/lib/mermaid/classDiagram-v2-f2df5561.js
diff options
context:
space:
mode:
authorChristoph Cullmann <christoph@cullmann.io>2024-07-15 22:27:55 +0200
committerChristoph Cullmann <christoph@cullmann.io>2024-07-15 22:27:55 +0200
commit3be5285488090ab70254b3080e33e64e6c702d2c (patch)
tree1e54462f560fd759b5be13d5ecfe1fa5c2c832ed /themes/blowfish/assets/lib/mermaid/classDiagram-v2-f2df5561.js
parent69075c6fb15ae660fc3d78eb2a4dfcde1c5fba1c (diff)
sync theme
Diffstat (limited to 'themes/blowfish/assets/lib/mermaid/classDiagram-v2-f2df5561.js')
-rw-r--r--themes/blowfish/assets/lib/mermaid/classDiagram-v2-f2df5561.js298
1 files changed, 0 insertions, 298 deletions
diff --git a/themes/blowfish/assets/lib/mermaid/classDiagram-v2-f2df5561.js b/themes/blowfish/assets/lib/mermaid/classDiagram-v2-f2df5561.js
deleted file mode 100644
index 0e94d59..0000000
--- a/themes/blowfish/assets/lib/mermaid/classDiagram-v2-f2df5561.js
+++ /dev/null
@@ -1,298 +0,0 @@
-import { p as parser, d as db, s as styles } from "./styles-991ebdfc.js";
-import { select, curveLinear } from "d3";
-import * as graphlib from "dagre-d3-es/src/graphlib/index.js";
-import { l as log, c as getConfig, u as utils, o as setupGraphViewbox, k as getStylesFromArray, n as interpolateToCurve, e as common } from "./mermaid-f47111a7.js";
-import { r as render } from "./index-fc10efb0.js";
-import "ts-dedent";
-import "dayjs";
-import "@braintree/sanitize-url";
-import "dompurify";
-import "khroma";
-import "lodash-es/memoize.js";
-import "lodash-es/merge.js";
-import "stylis";
-import "lodash-es/isEmpty.js";
-import "dagre-d3-es/src/dagre/index.js";
-import "dagre-d3-es/src/graphlib/json.js";
-import "./edges-d32062c0.js";
-import "./createText-6b48ae7d.js";
-import "mdast-util-from-markdown";
-const sanitizeText = (txt) => common.sanitizeText(txt, getConfig());
-let conf = {
- dividerMargin: 10,
- padding: 5,
- textHeight: 10,
- curve: void 0
-};
-const addNamespaces = function(namespaces, g, _id, diagObj) {
- const keys = Object.keys(namespaces);
- log.info("keys:", keys);
- log.info(namespaces);
- keys.forEach(function(id) {
- var _a, _b;
- const vertex = namespaces[id];
- const shape = "rect";
- const node = {
- shape,
- id: vertex.id,
- domId: vertex.domId,
- labelText: sanitizeText(vertex.id),
- labelStyle: "",
- style: "fill: none; stroke: black",
- // TODO V10: Flowchart ? Keeping flowchart for backwards compatibility. Remove in next major release
- padding: ((_a = getConfig().flowchart) == null ? void 0 : _a.padding) ?? ((_b = getConfig().class) == null ? void 0 : _b.padding)
- };
- g.setNode(vertex.id, node);
- addClasses(vertex.classes, g, _id, diagObj, vertex.id);
- log.info("setNode", node);
- });
-};
-const addClasses = function(classes, g, _id, diagObj, parent) {
- const keys = Object.keys(classes);
- log.info("keys:", keys);
- log.info(classes);
- keys.filter((id) => classes[id].parent == parent).forEach(function(id) {
- var _a, _b;
- const vertex = classes[id];
- const cssClassStr = vertex.cssClasses.join(" ");
- const styles2 = getStylesFromArray(vertex.styles);
- const vertexText = vertex.label ?? vertex.id;
- const radius = 0;
- const shape = "class_box";
- const node = {
- labelStyle: styles2.labelStyle,
- shape,
- labelText: sanitizeText(vertexText),
- classData: vertex,
- rx: radius,
- ry: radius,
- class: cssClassStr,
- style: styles2.style,
- id: vertex.id,
- domId: vertex.domId,
- tooltip: diagObj.db.getTooltip(vertex.id, parent) || "",
- haveCallback: vertex.haveCallback,
- link: vertex.link,
- width: vertex.type === "group" ? 500 : void 0,
- type: vertex.type,
- // TODO V10: Flowchart ? Keeping flowchart for backwards compatibility. Remove in next major release
- padding: ((_a = getConfig().flowchart) == null ? void 0 : _a.padding) ?? ((_b = getConfig().class) == null ? void 0 : _b.padding)
- };
- g.setNode(vertex.id, node);
- if (parent) {
- g.setParent(vertex.id, parent);
- }
- log.info("setNode", node);
- });
-};
-const addNotes = function(notes, g, startEdgeId, classes) {
- log.info(notes);
- notes.forEach(function(note, i) {
- var _a, _b;
- const vertex = note;
- const cssNoteStr = "";
- const styles2 = { labelStyle: "", style: "" };
- const vertexText = vertex.text;
- const radius = 0;
- const shape = "note";
- const node = {
- labelStyle: styles2.labelStyle,
- shape,
- labelText: sanitizeText(vertexText),
- noteData: vertex,
- rx: radius,
- ry: radius,
- class: cssNoteStr,
- style: styles2.style,
- id: vertex.id,
- domId: vertex.id,
- tooltip: "",
- type: "note",
- // TODO V10: Flowchart ? Keeping flowchart for backwards compatibility. Remove in next major release
- padding: ((_a = getConfig().flowchart) == null ? void 0 : _a.padding) ?? ((_b = getConfig().class) == null ? void 0 : _b.padding)
- };
- g.setNode(vertex.id, node);
- log.info("setNode", node);
- if (!vertex.class || !(vertex.class in classes)) {
- return;
- }
- const edgeId = startEdgeId + i;
- const edgeData = {
- id: `edgeNote${edgeId}`,
- //Set relationship style and line type
- classes: "relation",
- pattern: "dotted",
- // Set link type for rendering
- arrowhead: "none",
- //Set edge extra labels
- startLabelRight: "",
- endLabelLeft: "",
- //Set relation arrow types
- arrowTypeStart: "none",
- arrowTypeEnd: "none",
- style: "fill:none",
- labelStyle: "",
- curve: interpolateToCurve(conf.curve, curveLinear)
- };
- g.setEdge(vertex.id, vertex.class, edgeData, edgeId);
- });
-};
-const addRelations = function(relations, g) {
- const conf2 = getConfig().flowchart;
- let cnt = 0;
- relations.forEach(function(edge) {
- var _a;
- cnt++;
- const edgeData = {
- //Set relationship style and line type
- classes: "relation",
- pattern: edge.relation.lineType == 1 ? "dashed" : "solid",
- id: `id_${edge.id1}_${edge.id2}_${cnt}`,
- // Set link type for rendering
- arrowhead: edge.type === "arrow_open" ? "none" : "normal",
- //Set edge extra labels
- startLabelRight: edge.relationTitle1 === "none" ? "" : edge.relationTitle1,
- endLabelLeft: edge.relationTitle2 === "none" ? "" : edge.relationTitle2,
- //Set relation arrow types
- arrowTypeStart: getArrowMarker(edge.relation.type1),
- arrowTypeEnd: getArrowMarker(edge.relation.type2),
- style: "fill:none",
- labelStyle: "",
- curve: interpolateToCurve(conf2 == null ? void 0 : conf2.curve, curveLinear)
- };
- log.info(edgeData, edge);
- if (edge.style !== void 0) {
- const styles2 = getStylesFromArray(edge.style);
- edgeData.style = styles2.style;
- edgeData.labelStyle = styles2.labelStyle;
- }
- edge.text = edge.title;
- if (edge.text === void 0) {
- if (edge.style !== void 0) {
- edgeData.arrowheadStyle = "fill: #333";
- }
- } else {
- edgeData.arrowheadStyle = "fill: #333";
- edgeData.labelpos = "c";
- if (((_a = getConfig().flowchart) == null ? void 0 : _a.htmlLabels) ?? getConfig().htmlLabels) {
- edgeData.labelType = "html";
- edgeData.label = '<span class="edgeLabel">' + edge.text + "</span>";
- } else {
- edgeData.labelType = "text";
- edgeData.label = edge.text.replace(common.lineBreakRegex, "\n");
- if (edge.style === void 0) {
- edgeData.style = edgeData.style || "stroke: #333; stroke-width: 1.5px;fill:none";
- }
- edgeData.labelStyle = edgeData.labelStyle.replace("color:", "fill:");
- }
- }
- g.setEdge(edge.id1, edge.id2, edgeData, cnt);
- });
-};
-const setConf = function(cnf) {
- conf = {
- ...conf,
- ...cnf
- };
-};
-const draw = async function(text, id, _version, diagObj) {
- log.info("Drawing class - ", id);
- const conf2 = getConfig().flowchart ?? getConfig().class;
- const securityLevel = getConfig().securityLevel;
- log.info("config:", conf2);
- const nodeSpacing = (conf2 == null ? void 0 : conf2.nodeSpacing) ?? 50;
- const rankSpacing = (conf2 == null ? void 0 : conf2.rankSpacing) ?? 50;
- const g = new graphlib.Graph({
- multigraph: true,
- compound: true
- }).setGraph({
- rankdir: diagObj.db.getDirection(),
- nodesep: nodeSpacing,
- ranksep: rankSpacing,
- marginx: 8,
- marginy: 8
- }).setDefaultEdgeLabel(function() {
- return {};
- });
- const namespaces = diagObj.db.getNamespaces();
- const classes = diagObj.db.getClasses();
- const relations = diagObj.db.getRelations();
- const notes = diagObj.db.getNotes();
- log.info(relations);
- addNamespaces(namespaces, g, id, diagObj);
- addClasses(classes, g, id, diagObj);
- addRelations(relations, g);
- addNotes(notes, g, relations.length + 1, classes);
- let sandboxElement;
- if (securityLevel === "sandbox") {
- sandboxElement = select("#i" + id);
- }
- const root = securityLevel === "sandbox" ? select(sandboxElement.nodes()[0].contentDocument.body) : select("body");
- const svg = root.select(`[id="${id}"]`);
- const element = root.select("#" + id + " g");
- await render(
- element,
- g,
- ["aggregation", "extension", "composition", "dependency", "lollipop"],
- "classDiagram",
- id
- );
- utils.insertTitle(svg, "classTitleText", (conf2 == null ? void 0 : conf2.titleTopMargin) ?? 5, diagObj.db.getDiagramTitle());
- setupGraphViewbox(g, svg, conf2 == null ? void 0 : conf2.diagramPadding, conf2 == null ? void 0 : conf2.useMaxWidth);
- if (!(conf2 == null ? void 0 : conf2.htmlLabels)) {
- const doc = securityLevel === "sandbox" ? sandboxElement.nodes()[0].contentDocument : document;
- const labels = doc.querySelectorAll('[id="' + id + '"] .edgeLabel .label');
- for (const label of labels) {
- const dim = label.getBBox();
- const rect = doc.createElementNS("http://www.w3.org/2000/svg", "rect");
- rect.setAttribute("rx", 0);
- rect.setAttribute("ry", 0);
- rect.setAttribute("width", dim.width);
- rect.setAttribute("height", dim.height);
- label.insertBefore(rect, label.firstChild);
- }
- }
-};
-function getArrowMarker(type) {
- let marker;
- switch (type) {
- case 0:
- marker = "aggregation";
- break;
- case 1:
- marker = "extension";
- break;
- case 2:
- marker = "composition";
- break;
- case 3:
- marker = "dependency";
- break;
- case 4:
- marker = "lollipop";
- break;
- default:
- marker = "none";
- }
- return marker;
-}
-const renderer = {
- setConf,
- draw
-};
-const diagram = {
- parser,
- db,
- renderer,
- styles,
- init: (cnf) => {
- if (!cnf.class) {
- cnf.class = {};
- }
- cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;
- db.clear();
- }
-};
-export {
- diagram
-};