All Downloads are FREE. Search and download functionalities are using the official Maven repository.

webapp.classDiagram-fb54d2a0.0713da07.js.map Maven / Gradle / Ivy

There is a newer version: 1.0-20241113
Show newest version
{"mappings":"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","sources":["","node_modules/mermaid/dist/classDiagram-fb54d2a0.js"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n  Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n      var $parcel$global = globalThis;\n    var parcelRequire = $parcel$global[\"parcelRequire0031\"];\nvar parcelRegister = parcelRequire.register;\nparcelRegister(\"1Y8pp\", function(module, exports) {\n\n$parcel$export(module.exports, \"diagram\", () => $16f1eae01c6d910b$export$6118d022d940d562);\n\nvar $g9b1o = parcelRequire(\"g9b1o\");\n\nvar $2YFJl = parcelRequire(\"2YFJl\");\n\nvar $hV1gR = parcelRequire(\"hV1gR\");\n\nvar $4LkSm = parcelRequire(\"4LkSm\");\n\nvar $4jcZX = parcelRequire(\"4jcZX\");\nparcelRequire(\"eJNXH\");\nparcelRequire(\"gngdn\");\nparcelRequire(\"2ujND\");\nparcelRequire(\"i8Fxz\");\n\n\n\n\n\nlet $16f1eae01c6d910b$var$edgeCount = 0;\nconst $16f1eae01c6d910b$var$drawEdge = function(elem, path, relation, conf, diagObj) {\n    const getRelationType = function(type) {\n        switch(type){\n            case diagObj.db.relationType.AGGREGATION:\n                return \"aggregation\";\n            case diagObj.db.relationType.EXTENSION:\n                return \"extension\";\n            case diagObj.db.relationType.COMPOSITION:\n                return \"composition\";\n            case diagObj.db.relationType.DEPENDENCY:\n                return \"dependency\";\n            case diagObj.db.relationType.LOLLIPOP:\n                return \"lollipop\";\n        }\n    };\n    path.points = path.points.filter((p)=>!Number.isNaN(p.y));\n    const lineData = path.points;\n    const lineFunction = (0, $2YFJl.line)().x(function(d) {\n        return d.x;\n    }).y(function(d) {\n        return d.y;\n    }).curve((0, $2YFJl.curveBasis));\n    const svgPath = elem.append(\"path\").attr(\"d\", lineFunction(lineData)).attr(\"id\", \"edge\" + $16f1eae01c6d910b$var$edgeCount).attr(\"class\", \"relation\");\n    let url = \"\";\n    if (conf.arrowMarkerAbsolute) {\n        url = window.location.protocol + \"//\" + window.location.host + window.location.pathname + window.location.search;\n        url = url.replace(/\\(/g, \"\\\\(\");\n        url = url.replace(/\\)/g, \"\\\\)\");\n    }\n    if (relation.relation.lineType == 1) svgPath.attr(\"class\", \"relation dashed-line\");\n    if (relation.relation.lineType == 10) svgPath.attr(\"class\", \"relation dotted-line\");\n    if (relation.relation.type1 !== \"none\") svgPath.attr(\"marker-start\", \"url(\" + url + \"#\" + getRelationType(relation.relation.type1) + \"Start)\");\n    if (relation.relation.type2 !== \"none\") svgPath.attr(\"marker-end\", \"url(\" + url + \"#\" + getRelationType(relation.relation.type2) + \"End)\");\n    let x, y;\n    const l = path.points.length;\n    let labelPosition = (0, $4jcZX.u).calcLabelPosition(path.points);\n    x = labelPosition.x;\n    y = labelPosition.y;\n    let p1_card_x, p1_card_y;\n    let p2_card_x, p2_card_y;\n    if (l % 2 !== 0 && l > 1) {\n        let cardinality_1_point = (0, $4jcZX.u).calcCardinalityPosition(relation.relation.type1 !== \"none\", path.points, path.points[0]);\n        let cardinality_2_point = (0, $4jcZX.u).calcCardinalityPosition(relation.relation.type2 !== \"none\", path.points, path.points[l - 1]);\n        (0, $4jcZX.l).debug(\"cardinality_1_point \" + JSON.stringify(cardinality_1_point));\n        (0, $4jcZX.l).debug(\"cardinality_2_point \" + JSON.stringify(cardinality_2_point));\n        p1_card_x = cardinality_1_point.x;\n        p1_card_y = cardinality_1_point.y;\n        p2_card_x = cardinality_2_point.x;\n        p2_card_y = cardinality_2_point.y;\n    }\n    if (relation.title !== void 0) {\n        const g = elem.append(\"g\").attr(\"class\", \"classLabel\");\n        const label = g.append(\"text\").attr(\"class\", \"label\").attr(\"x\", x).attr(\"y\", y).attr(\"fill\", \"red\").attr(\"text-anchor\", \"middle\").text(relation.title);\n        window.label = label;\n        const bounds = label.node().getBBox();\n        g.insert(\"rect\", \":first-child\").attr(\"class\", \"box\").attr(\"x\", bounds.x - conf.padding / 2).attr(\"y\", bounds.y - conf.padding / 2).attr(\"width\", bounds.width + conf.padding).attr(\"height\", bounds.height + conf.padding);\n    }\n    (0, $4jcZX.l).info(\"Rendering relation \" + JSON.stringify(relation));\n    if (relation.relationTitle1 !== void 0 && relation.relationTitle1 !== \"none\") {\n        const g = elem.append(\"g\").attr(\"class\", \"cardinality\");\n        g.append(\"text\").attr(\"class\", \"type1\").attr(\"x\", p1_card_x).attr(\"y\", p1_card_y).attr(\"fill\", \"black\").attr(\"font-size\", \"6\").text(relation.relationTitle1);\n    }\n    if (relation.relationTitle2 !== void 0 && relation.relationTitle2 !== \"none\") {\n        const g = elem.append(\"g\").attr(\"class\", \"cardinality\");\n        g.append(\"text\").attr(\"class\", \"type2\").attr(\"x\", p2_card_x).attr(\"y\", p2_card_y).attr(\"fill\", \"black\").attr(\"font-size\", \"6\").text(relation.relationTitle2);\n    }\n    $16f1eae01c6d910b$var$edgeCount++;\n};\nconst $16f1eae01c6d910b$var$drawClass = function(elem, classDef, conf, diagObj) {\n    (0, $4jcZX.l).debug(\"Rendering class \", classDef, conf);\n    const id = classDef.id;\n    const classInfo = {\n        id: id,\n        label: classDef.id,\n        width: 0,\n        height: 0\n    };\n    const g = elem.append(\"g\").attr(\"id\", diagObj.db.lookUpDomId(id)).attr(\"class\", \"classGroup\");\n    let title;\n    if (classDef.link) title = g.append(\"svg:a\").attr(\"xlink:href\", classDef.link).attr(\"target\", classDef.linkTarget).append(\"text\").attr(\"y\", conf.textHeight + conf.padding).attr(\"x\", 0);\n    else title = g.append(\"text\").attr(\"y\", conf.textHeight + conf.padding).attr(\"x\", 0);\n    let isFirst = true;\n    classDef.annotations.forEach(function(member) {\n        const titleText2 = title.append(\"tspan\").text(\"\\xab\" + member + \"\\xbb\");\n        if (!isFirst) titleText2.attr(\"dy\", conf.textHeight);\n        isFirst = false;\n    });\n    let classTitleString = $16f1eae01c6d910b$var$getClassTitleString(classDef);\n    const classTitle = title.append(\"tspan\").text(classTitleString).attr(\"class\", \"title\");\n    if (!isFirst) classTitle.attr(\"dy\", conf.textHeight);\n    const titleHeight = title.node().getBBox().height;\n    let membersLine;\n    let membersBox;\n    let methodsLine;\n    if (classDef.members.length > 0) {\n        membersLine = g.append(\"line\").attr(\"x1\", 0).attr(\"y1\", conf.padding + titleHeight + conf.dividerMargin / 2).attr(\"y2\", conf.padding + titleHeight + conf.dividerMargin / 2);\n        const members = g.append(\"text\").attr(\"x\", conf.padding).attr(\"y\", titleHeight + conf.dividerMargin + conf.textHeight).attr(\"fill\", \"white\").attr(\"class\", \"classText\");\n        isFirst = true;\n        classDef.members.forEach(function(member) {\n            $16f1eae01c6d910b$var$addTspan(members, member, isFirst, conf);\n            isFirst = false;\n        });\n        membersBox = members.node().getBBox();\n    }\n    if (classDef.methods.length > 0) {\n        methodsLine = g.append(\"line\").attr(\"x1\", 0).attr(\"y1\", conf.padding + titleHeight + conf.dividerMargin + membersBox.height).attr(\"y2\", conf.padding + titleHeight + conf.dividerMargin + membersBox.height);\n        const methods = g.append(\"text\").attr(\"x\", conf.padding).attr(\"y\", titleHeight + 2 * conf.dividerMargin + membersBox.height + conf.textHeight).attr(\"fill\", \"white\").attr(\"class\", \"classText\");\n        isFirst = true;\n        classDef.methods.forEach(function(method) {\n            $16f1eae01c6d910b$var$addTspan(methods, method, isFirst, conf);\n            isFirst = false;\n        });\n    }\n    const classBox = g.node().getBBox();\n    var cssClassStr = \" \";\n    if (classDef.cssClasses.length > 0) cssClassStr = cssClassStr + classDef.cssClasses.join(\" \");\n    const rect = g.insert(\"rect\", \":first-child\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", classBox.width + 2 * conf.padding).attr(\"height\", classBox.height + conf.padding + 0.5 * conf.dividerMargin).attr(\"class\", cssClassStr);\n    const rectWidth = rect.node().getBBox().width;\n    title.node().childNodes.forEach(function(x) {\n        x.setAttribute(\"x\", (rectWidth - x.getBBox().width) / 2);\n    });\n    if (classDef.tooltip) title.insert(\"title\").text(classDef.tooltip);\n    if (membersLine) membersLine.attr(\"x2\", rectWidth);\n    if (methodsLine) methodsLine.attr(\"x2\", rectWidth);\n    classInfo.width = rectWidth;\n    classInfo.height = classBox.height + conf.padding + 0.5 * conf.dividerMargin;\n    return classInfo;\n};\nconst $16f1eae01c6d910b$var$getClassTitleString = function(classDef) {\n    let classTitleString = classDef.id;\n    if (classDef.type) classTitleString += \"<\" + (0, $4jcZX.x)(classDef.type) + \">\";\n    return classTitleString;\n};\nconst $16f1eae01c6d910b$var$drawNote = function(elem, note, conf, diagObj) {\n    (0, $4jcZX.l).debug(\"Rendering note \", note, conf);\n    const id = note.id;\n    const noteInfo = {\n        id: id,\n        text: note.text,\n        width: 0,\n        height: 0\n    };\n    const g = elem.append(\"g\").attr(\"id\", id).attr(\"class\", \"classGroup\");\n    let text = g.append(\"text\").attr(\"y\", conf.textHeight + conf.padding).attr(\"x\", 0);\n    const lines = JSON.parse(`\"${note.text}\"`).split(\"\\n\");\n    lines.forEach(function(line2) {\n        (0, $4jcZX.l).debug(`Adding line: ${line2}`);\n        text.append(\"tspan\").text(line2).attr(\"class\", \"title\").attr(\"dy\", conf.textHeight);\n    });\n    const noteBox = g.node().getBBox();\n    const rect = g.insert(\"rect\", \":first-child\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", noteBox.width + 2 * conf.padding).attr(\"height\", noteBox.height + lines.length * conf.textHeight + conf.padding + 0.5 * conf.dividerMargin);\n    const rectWidth = rect.node().getBBox().width;\n    text.node().childNodes.forEach(function(x) {\n        x.setAttribute(\"x\", (rectWidth - x.getBBox().width) / 2);\n    });\n    noteInfo.width = rectWidth;\n    noteInfo.height = noteBox.height + lines.length * conf.textHeight + conf.padding + 0.5 * conf.dividerMargin;\n    return noteInfo;\n};\nconst $16f1eae01c6d910b$var$addTspan = function(textEl, member, isFirst, conf) {\n    const { displayText: displayText, cssStyle: cssStyle } = member.getDisplayDetails();\n    const tSpan = textEl.append(\"tspan\").attr(\"x\", conf.padding).text(displayText);\n    if (cssStyle !== \"\") tSpan.attr(\"style\", member.cssStyle);\n    if (!isFirst) tSpan.attr(\"dy\", conf.textHeight);\n};\nconst $16f1eae01c6d910b$var$svgDraw = {\n    getClassTitleString: $16f1eae01c6d910b$var$getClassTitleString,\n    drawClass: $16f1eae01c6d910b$var$drawClass,\n    drawEdge: $16f1eae01c6d910b$var$drawEdge,\n    drawNote: $16f1eae01c6d910b$var$drawNote\n};\nlet $16f1eae01c6d910b$var$idCache = {};\nconst $16f1eae01c6d910b$var$padding = 20;\nconst $16f1eae01c6d910b$var$getGraphId = function(label) {\n    const foundEntry = Object.entries($16f1eae01c6d910b$var$idCache).find((entry)=>entry[1].label === label);\n    if (foundEntry) return foundEntry[0];\n};\nconst $16f1eae01c6d910b$var$insertMarkers = function(elem) {\n    elem.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\");\n    elem.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\");\n    elem.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\");\n    elem.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\");\n    elem.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\");\n    elem.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\");\n    elem.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\");\n    elem.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\");\n};\nconst $16f1eae01c6d910b$var$draw = function(text, id, _version, diagObj) {\n    const conf = (0, $4jcZX.c)().class;\n    $16f1eae01c6d910b$var$idCache = {};\n    (0, $4jcZX.l).info(\"Rendering diagram \" + text);\n    const securityLevel = (0, $4jcZX.c)().securityLevel;\n    let sandboxElement;\n    if (securityLevel === \"sandbox\") sandboxElement = (0, $2YFJl.select)(\"#i\" + id);\n    const root = securityLevel === \"sandbox\" ? (0, $2YFJl.select)(sandboxElement.nodes()[0].contentDocument.body) : (0, $2YFJl.select)(\"body\");\n    const diagram2 = root.select(`[id='${id}']`);\n    $16f1eae01c6d910b$var$insertMarkers(diagram2);\n    const g = new $4LkSm.Graph({\n        multigraph: true\n    });\n    g.setGraph({\n        isMultiGraph: true\n    });\n    g.setDefaultEdgeLabel(function() {\n        return {};\n    });\n    const classes = diagObj.db.getClasses();\n    const keys = Object.keys(classes);\n    for (const key of keys){\n        const classDef = classes[key];\n        const node = $16f1eae01c6d910b$var$svgDraw.drawClass(diagram2, classDef, conf, diagObj);\n        $16f1eae01c6d910b$var$idCache[node.id] = node;\n        g.setNode(node.id, node);\n        (0, $4jcZX.l).info(\"Org height: \" + node.height);\n    }\n    const relations = diagObj.db.getRelations();\n    relations.forEach(function(relation) {\n        (0, $4jcZX.l).info(// cspell:ignore tjoho\n        \"tjoho\" + $16f1eae01c6d910b$var$getGraphId(relation.id1) + $16f1eae01c6d910b$var$getGraphId(relation.id2) + JSON.stringify(relation));\n        g.setEdge($16f1eae01c6d910b$var$getGraphId(relation.id1), $16f1eae01c6d910b$var$getGraphId(relation.id2), {\n            relation: relation\n        }, relation.title || \"DEFAULT\");\n    });\n    const notes = diagObj.db.getNotes();\n    notes.forEach(function(note) {\n        (0, $4jcZX.l).debug(`Adding note: ${JSON.stringify(note)}`);\n        const node = $16f1eae01c6d910b$var$svgDraw.drawNote(diagram2, note, conf, diagObj);\n        $16f1eae01c6d910b$var$idCache[node.id] = node;\n        g.setNode(node.id, node);\n        if (note.class && note.class in classes) g.setEdge(note.id, $16f1eae01c6d910b$var$getGraphId(note.class), {\n            relation: {\n                id1: note.id,\n                id2: note.class,\n                relation: {\n                    type1: \"none\",\n                    type2: \"none\",\n                    lineType: 10\n                }\n            }\n        }, \"DEFAULT\");\n    });\n    (0, $hV1gR.layout)(g);\n    g.nodes().forEach(function(v) {\n        if (v !== void 0 && g.node(v) !== void 0) {\n            (0, $4jcZX.l).debug(\"Node \" + v + \": \" + JSON.stringify(g.node(v)));\n            root.select(\"#\" + (diagObj.db.lookUpDomId(v) || v)).attr(\"transform\", \"translate(\" + (g.node(v).x - g.node(v).width / 2) + \",\" + (g.node(v).y - g.node(v).height / 2) + \" )\");\n        }\n    });\n    g.edges().forEach(function(e) {\n        if (e !== void 0 && g.edge(e) !== void 0) {\n            (0, $4jcZX.l).debug(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(g.edge(e)));\n            $16f1eae01c6d910b$var$svgDraw.drawEdge(diagram2, g.edge(e), g.edge(e).relation, conf, diagObj);\n        }\n    });\n    const svgBounds = diagram2.node().getBBox();\n    const width = svgBounds.width + $16f1eae01c6d910b$var$padding * 2;\n    const height = svgBounds.height + $16f1eae01c6d910b$var$padding * 2;\n    (0, $4jcZX.i)(diagram2, height, width, conf.useMaxWidth);\n    const vBox = `${svgBounds.x - $16f1eae01c6d910b$var$padding} ${svgBounds.y - $16f1eae01c6d910b$var$padding} ${width} ${height}`;\n    (0, $4jcZX.l).debug(`viewBox ${vBox}`);\n    diagram2.attr(\"viewBox\", vBox);\n};\nconst $16f1eae01c6d910b$var$renderer = {\n    draw: $16f1eae01c6d910b$var$draw\n};\nconst $16f1eae01c6d910b$export$6118d022d940d562 = {\n    parser: $g9b1o.p,\n    db: $g9b1o.d,\n    renderer: $16f1eae01c6d910b$var$renderer,\n    styles: $g9b1o.s,\n    init: (cnf)=>{\n        if (!cnf.class) cnf.class = {};\n        cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n        (0, $g9b1o.d).clear();\n    }\n};\n\n});\n\n\n//# sourceMappingURL=classDiagram-fb54d2a0.0713da07.js.map\n","import { p as parser, d as db, s as styles } from \"./styles-b83b31c9.js\";\nimport { line, curveBasis, select } from \"d3\";\nimport { layout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport { u as utils, l as log, x as parseGenericTypes, c as getConfig, i as configureSvgSize } from \"./mermaid-6dc72991.js\";\nimport \"ts-dedent\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nlet edgeCount = 0;\nconst drawEdge = function(elem, path, relation, conf, diagObj) {\n  const getRelationType = function(type) {\n    switch (type) {\n      case diagObj.db.relationType.AGGREGATION:\n        return \"aggregation\";\n      case diagObj.db.relationType.EXTENSION:\n        return \"extension\";\n      case diagObj.db.relationType.COMPOSITION:\n        return \"composition\";\n      case diagObj.db.relationType.DEPENDENCY:\n        return \"dependency\";\n      case diagObj.db.relationType.LOLLIPOP:\n        return \"lollipop\";\n    }\n  };\n  path.points = path.points.filter((p) => !Number.isNaN(p.y));\n  const lineData = path.points;\n  const lineFunction = line().x(function(d) {\n    return d.x;\n  }).y(function(d) {\n    return d.y;\n  }).curve(curveBasis);\n  const svgPath = elem.append(\"path\").attr(\"d\", lineFunction(lineData)).attr(\"id\", \"edge\" + edgeCount).attr(\"class\", \"relation\");\n  let url = \"\";\n  if (conf.arrowMarkerAbsolute) {\n    url = window.location.protocol + \"//\" + window.location.host + window.location.pathname + window.location.search;\n    url = url.replace(/\\(/g, \"\\\\(\");\n    url = url.replace(/\\)/g, \"\\\\)\");\n  }\n  if (relation.relation.lineType == 1) {\n    svgPath.attr(\"class\", \"relation dashed-line\");\n  }\n  if (relation.relation.lineType == 10) {\n    svgPath.attr(\"class\", \"relation dotted-line\");\n  }\n  if (relation.relation.type1 !== \"none\") {\n    svgPath.attr(\n      \"marker-start\",\n      \"url(\" + url + \"#\" + getRelationType(relation.relation.type1) + \"Start)\"\n    );\n  }\n  if (relation.relation.type2 !== \"none\") {\n    svgPath.attr(\n      \"marker-end\",\n      \"url(\" + url + \"#\" + getRelationType(relation.relation.type2) + \"End)\"\n    );\n  }\n  let x, y;\n  const l = path.points.length;\n  let labelPosition = utils.calcLabelPosition(path.points);\n  x = labelPosition.x;\n  y = labelPosition.y;\n  let p1_card_x, p1_card_y;\n  let p2_card_x, p2_card_y;\n  if (l % 2 !== 0 && l > 1) {\n    let cardinality_1_point = utils.calcCardinalityPosition(\n      relation.relation.type1 !== \"none\",\n      path.points,\n      path.points[0]\n    );\n    let cardinality_2_point = utils.calcCardinalityPosition(\n      relation.relation.type2 !== \"none\",\n      path.points,\n      path.points[l - 1]\n    );\n    log.debug(\"cardinality_1_point \" + JSON.stringify(cardinality_1_point));\n    log.debug(\"cardinality_2_point \" + JSON.stringify(cardinality_2_point));\n    p1_card_x = cardinality_1_point.x;\n    p1_card_y = cardinality_1_point.y;\n    p2_card_x = cardinality_2_point.x;\n    p2_card_y = cardinality_2_point.y;\n  }\n  if (relation.title !== void 0) {\n    const g = elem.append(\"g\").attr(\"class\", \"classLabel\");\n    const label = g.append(\"text\").attr(\"class\", \"label\").attr(\"x\", x).attr(\"y\", y).attr(\"fill\", \"red\").attr(\"text-anchor\", \"middle\").text(relation.title);\n    window.label = label;\n    const bounds = label.node().getBBox();\n    g.insert(\"rect\", \":first-child\").attr(\"class\", \"box\").attr(\"x\", bounds.x - conf.padding / 2).attr(\"y\", bounds.y - conf.padding / 2).attr(\"width\", bounds.width + conf.padding).attr(\"height\", bounds.height + conf.padding);\n  }\n  log.info(\"Rendering relation \" + JSON.stringify(relation));\n  if (relation.relationTitle1 !== void 0 && relation.relationTitle1 !== \"none\") {\n    const g = elem.append(\"g\").attr(\"class\", \"cardinality\");\n    g.append(\"text\").attr(\"class\", \"type1\").attr(\"x\", p1_card_x).attr(\"y\", p1_card_y).attr(\"fill\", \"black\").attr(\"font-size\", \"6\").text(relation.relationTitle1);\n  }\n  if (relation.relationTitle2 !== void 0 && relation.relationTitle2 !== \"none\") {\n    const g = elem.append(\"g\").attr(\"class\", \"cardinality\");\n    g.append(\"text\").attr(\"class\", \"type2\").attr(\"x\", p2_card_x).attr(\"y\", p2_card_y).attr(\"fill\", \"black\").attr(\"font-size\", \"6\").text(relation.relationTitle2);\n  }\n  edgeCount++;\n};\nconst drawClass = function(elem, classDef, conf, diagObj) {\n  log.debug(\"Rendering class \", classDef, conf);\n  const id = classDef.id;\n  const classInfo = {\n    id,\n    label: classDef.id,\n    width: 0,\n    height: 0\n  };\n  const g = elem.append(\"g\").attr(\"id\", diagObj.db.lookUpDomId(id)).attr(\"class\", \"classGroup\");\n  let title;\n  if (classDef.link) {\n    title = g.append(\"svg:a\").attr(\"xlink:href\", classDef.link).attr(\"target\", classDef.linkTarget).append(\"text\").attr(\"y\", conf.textHeight + conf.padding).attr(\"x\", 0);\n  } else {\n    title = g.append(\"text\").attr(\"y\", conf.textHeight + conf.padding).attr(\"x\", 0);\n  }\n  let isFirst = true;\n  classDef.annotations.forEach(function(member) {\n    const titleText2 = title.append(\"tspan\").text(\"«\" + member + \"»\");\n    if (!isFirst) {\n      titleText2.attr(\"dy\", conf.textHeight);\n    }\n    isFirst = false;\n  });\n  let classTitleString = getClassTitleString(classDef);\n  const classTitle = title.append(\"tspan\").text(classTitleString).attr(\"class\", \"title\");\n  if (!isFirst) {\n    classTitle.attr(\"dy\", conf.textHeight);\n  }\n  const titleHeight = title.node().getBBox().height;\n  let membersLine;\n  let membersBox;\n  let methodsLine;\n  if (classDef.members.length > 0) {\n    membersLine = g.append(\"line\").attr(\"x1\", 0).attr(\"y1\", conf.padding + titleHeight + conf.dividerMargin / 2).attr(\"y2\", conf.padding + titleHeight + conf.dividerMargin / 2);\n    const members = g.append(\"text\").attr(\"x\", conf.padding).attr(\"y\", titleHeight + conf.dividerMargin + conf.textHeight).attr(\"fill\", \"white\").attr(\"class\", \"classText\");\n    isFirst = true;\n    classDef.members.forEach(function(member) {\n      addTspan(members, member, isFirst, conf);\n      isFirst = false;\n    });\n    membersBox = members.node().getBBox();\n  }\n  if (classDef.methods.length > 0) {\n    methodsLine = g.append(\"line\").attr(\"x1\", 0).attr(\"y1\", conf.padding + titleHeight + conf.dividerMargin + membersBox.height).attr(\"y2\", conf.padding + titleHeight + conf.dividerMargin + membersBox.height);\n    const methods = g.append(\"text\").attr(\"x\", conf.padding).attr(\"y\", titleHeight + 2 * conf.dividerMargin + membersBox.height + conf.textHeight).attr(\"fill\", \"white\").attr(\"class\", \"classText\");\n    isFirst = true;\n    classDef.methods.forEach(function(method) {\n      addTspan(methods, method, isFirst, conf);\n      isFirst = false;\n    });\n  }\n  const classBox = g.node().getBBox();\n  var cssClassStr = \" \";\n  if (classDef.cssClasses.length > 0) {\n    cssClassStr = cssClassStr + classDef.cssClasses.join(\" \");\n  }\n  const rect = g.insert(\"rect\", \":first-child\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", classBox.width + 2 * conf.padding).attr(\"height\", classBox.height + conf.padding + 0.5 * conf.dividerMargin).attr(\"class\", cssClassStr);\n  const rectWidth = rect.node().getBBox().width;\n  title.node().childNodes.forEach(function(x) {\n    x.setAttribute(\"x\", (rectWidth - x.getBBox().width) / 2);\n  });\n  if (classDef.tooltip) {\n    title.insert(\"title\").text(classDef.tooltip);\n  }\n  if (membersLine) {\n    membersLine.attr(\"x2\", rectWidth);\n  }\n  if (methodsLine) {\n    methodsLine.attr(\"x2\", rectWidth);\n  }\n  classInfo.width = rectWidth;\n  classInfo.height = classBox.height + conf.padding + 0.5 * conf.dividerMargin;\n  return classInfo;\n};\nconst getClassTitleString = function(classDef) {\n  let classTitleString = classDef.id;\n  if (classDef.type) {\n    classTitleString += \"<\" + parseGenericTypes(classDef.type) + \">\";\n  }\n  return classTitleString;\n};\nconst drawNote = function(elem, note, conf, diagObj) {\n  log.debug(\"Rendering note \", note, conf);\n  const id = note.id;\n  const noteInfo = {\n    id,\n    text: note.text,\n    width: 0,\n    height: 0\n  };\n  const g = elem.append(\"g\").attr(\"id\", id).attr(\"class\", \"classGroup\");\n  let text = g.append(\"text\").attr(\"y\", conf.textHeight + conf.padding).attr(\"x\", 0);\n  const lines = JSON.parse(`\"${note.text}\"`).split(\"\\n\");\n  lines.forEach(function(line2) {\n    log.debug(`Adding line: ${line2}`);\n    text.append(\"tspan\").text(line2).attr(\"class\", \"title\").attr(\"dy\", conf.textHeight);\n  });\n  const noteBox = g.node().getBBox();\n  const rect = g.insert(\"rect\", \":first-child\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", noteBox.width + 2 * conf.padding).attr(\n    \"height\",\n    noteBox.height + lines.length * conf.textHeight + conf.padding + 0.5 * conf.dividerMargin\n  );\n  const rectWidth = rect.node().getBBox().width;\n  text.node().childNodes.forEach(function(x) {\n    x.setAttribute(\"x\", (rectWidth - x.getBBox().width) / 2);\n  });\n  noteInfo.width = rectWidth;\n  noteInfo.height = noteBox.height + lines.length * conf.textHeight + conf.padding + 0.5 * conf.dividerMargin;\n  return noteInfo;\n};\nconst addTspan = function(textEl, member, isFirst, conf) {\n  const { displayText, cssStyle } = member.getDisplayDetails();\n  const tSpan = textEl.append(\"tspan\").attr(\"x\", conf.padding).text(displayText);\n  if (cssStyle !== \"\") {\n    tSpan.attr(\"style\", member.cssStyle);\n  }\n  if (!isFirst) {\n    tSpan.attr(\"dy\", conf.textHeight);\n  }\n};\nconst svgDraw = {\n  getClassTitleString,\n  drawClass,\n  drawEdge,\n  drawNote\n};\nlet idCache = {};\nconst padding = 20;\nconst getGraphId = function(label) {\n  const foundEntry = Object.entries(idCache).find((entry) => entry[1].label === label);\n  if (foundEntry) {\n    return foundEntry[0];\n  }\n};\nconst insertMarkers = function(elem) {\n  elem.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\");\n  elem.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\");\n  elem.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\");\n  elem.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\");\n  elem.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\");\n  elem.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\");\n  elem.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\");\n  elem.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\");\n};\nconst draw = function(text, id, _version, diagObj) {\n  const conf = getConfig().class;\n  idCache = {};\n  log.info(\"Rendering diagram \" + text);\n  const securityLevel = getConfig().securityLevel;\n  let sandboxElement;\n  if (securityLevel === \"sandbox\") {\n    sandboxElement = select(\"#i\" + id);\n  }\n  const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n  const diagram2 = root.select(`[id='${id}']`);\n  insertMarkers(diagram2);\n  const g = new graphlib.Graph({\n    multigraph: true\n  });\n  g.setGraph({\n    isMultiGraph: true\n  });\n  g.setDefaultEdgeLabel(function() {\n    return {};\n  });\n  const classes = diagObj.db.getClasses();\n  const keys = Object.keys(classes);\n  for (const key of keys) {\n    const classDef = classes[key];\n    const node = svgDraw.drawClass(diagram2, classDef, conf, diagObj);\n    idCache[node.id] = node;\n    g.setNode(node.id, node);\n    log.info(\"Org height: \" + node.height);\n  }\n  const relations = diagObj.db.getRelations();\n  relations.forEach(function(relation) {\n    log.info(\n      // cspell:ignore tjoho\n      \"tjoho\" + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation)\n    );\n    g.setEdge(\n      getGraphId(relation.id1),\n      getGraphId(relation.id2),\n      {\n        relation\n      },\n      relation.title || \"DEFAULT\"\n    );\n  });\n  const notes = diagObj.db.getNotes();\n  notes.forEach(function(note) {\n    log.debug(`Adding note: ${JSON.stringify(note)}`);\n    const node = svgDraw.drawNote(diagram2, note, conf, diagObj);\n    idCache[node.id] = node;\n    g.setNode(node.id, node);\n    if (note.class && note.class in classes) {\n      g.setEdge(\n        note.id,\n        getGraphId(note.class),\n        {\n          relation: {\n            id1: note.id,\n            id2: note.class,\n            relation: {\n              type1: \"none\",\n              type2: \"none\",\n              lineType: 10\n            }\n          }\n        },\n        \"DEFAULT\"\n      );\n    }\n  });\n  layout(g);\n  g.nodes().forEach(function(v) {\n    if (v !== void 0 && g.node(v) !== void 0) {\n      log.debug(\"Node \" + v + \": \" + JSON.stringify(g.node(v)));\n      root.select(\"#\" + (diagObj.db.lookUpDomId(v) || v)).attr(\n        \"transform\",\n        \"translate(\" + (g.node(v).x - g.node(v).width / 2) + \",\" + (g.node(v).y - g.node(v).height / 2) + \" )\"\n      );\n    }\n  });\n  g.edges().forEach(function(e) {\n    if (e !== void 0 && g.edge(e) !== void 0) {\n      log.debug(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(g.edge(e)));\n      svgDraw.drawEdge(diagram2, g.edge(e), g.edge(e).relation, conf, diagObj);\n    }\n  });\n  const svgBounds = diagram2.node().getBBox();\n  const width = svgBounds.width + padding * 2;\n  const height = svgBounds.height + padding * 2;\n  configureSvgSize(diagram2, height, width, conf.useMaxWidth);\n  const vBox = `${svgBounds.x - padding} ${svgBounds.y - padding} ${width} ${height}`;\n  log.debug(`viewBox ${vBox}`);\n  diagram2.attr(\"viewBox\", vBox);\n};\nconst renderer = {\n  draw\n};\nconst diagram = {\n  parser,\n  db,\n  renderer,\n  styles,\n  init: (cnf) => {\n    if (!cnf.class) {\n      cnf.class = {};\n    }\n    cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n    db.clear();\n  }\n};\nexport {\n  diagram\n};\n"],"names":["parcelRequire","$parcel$global","globalThis","parcelRegister","register","module","exports","Object","defineProperty","get","$16f1eae01c6d910b$export$6118d022d940d562","set","s","enumerable","configurable","$g9b1o","$2YFJl","$hV1gR","$4LkSm","$4jcZX","$16f1eae01c6d910b$var$edgeCount","$16f1eae01c6d910b$var$getClassTitleString","classDef","classTitleString","id","type","x","$16f1eae01c6d910b$var$addTspan","textEl","member","isFirst","conf","displayText","cssStyle","getDisplayDetails","tSpan","append","attr","padding","text","textHeight","$16f1eae01c6d910b$var$svgDraw","drawClass","elem","diagObj","title","membersLine","membersBox","methodsLine","l","debug","classInfo","label","width","height","g","db","lookUpDomId","link","linkTarget","annotations","forEach","titleText2","classTitle","titleHeight","node","getBBox","members","length","dividerMargin","methods","method","classBox","cssClassStr","cssClasses","join","rectWidth","rect","insert","childNodes","setAttribute","tooltip","drawEdge","path","relation","y","p1_card_x","p1_card_y","p2_card_x","p2_card_y","getRelationType","relationType","AGGREGATION","EXTENSION","COMPOSITION","DEPENDENCY","LOLLIPOP","points","filter","p","Number","isNaN","lineData","lineFunction","line","d","curve","curveBasis","svgPath","url","arrowMarkerAbsolute","window","location","protocol","host","pathname","search","replace","lineType","type1","type2","labelPosition","u","calcLabelPosition","cardinality_1_point","calcCardinalityPosition","cardinality_2_point","JSON","stringify","bounds","info","relationTitle1","relationTitle2","drawNote","note","noteInfo","lines","parse","split","line2","noteBox","$16f1eae01c6d910b$var$idCache","$16f1eae01c6d910b$var$getGraphId","foundEntry","entries","find","entry","$16f1eae01c6d910b$var$insertMarkers","parser","renderer","draw","_version","sandboxElement","c","class","securityLevel","select","root","nodes","contentDocument","body","diagram2","Graph","multigraph","setGraph","isMultiGraph","setDefaultEdgeLabel","classes","getClasses","key","keys","setNode","relations","getRelations","id1","id2","setEdge","notes","getNotes","layout","v","edges","e","edge","w","svgBounds","$16f1eae01c6d910b$var$padding","i","useMaxWidth","vBox","styles","init","cnf","clear"],"version":3,"file":"classDiagram-fb54d2a0.0713da07.js.map"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy