8 lines
14 KiB
Plaintext
8 lines
14 KiB
Plaintext
{
|
|
"version": 3,
|
|
"sources": ["../../node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-ADFJNKIX.mjs"],
|
|
"sourcesContent": ["import {\n selectSvgElement\n} from \"./chunk-EXTU4WIE.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge,\n parseFontSize\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/pie/pieParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/pie/pieDb.ts\nvar DEFAULT_PIE_CONFIG = defaultConfig_default.pie;\nvar DEFAULT_PIE_DB = {\n sections: /* @__PURE__ */ new Map(),\n showData: false,\n config: DEFAULT_PIE_CONFIG\n};\nvar sections = DEFAULT_PIE_DB.sections;\nvar showData = DEFAULT_PIE_DB.showData;\nvar config = structuredClone(DEFAULT_PIE_CONFIG);\nvar getConfig2 = /* @__PURE__ */ __name(() => structuredClone(config), \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n sections = /* @__PURE__ */ new Map();\n showData = DEFAULT_PIE_DB.showData;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(({ label, value }) => {\n if (value < 0) {\n throw new Error(\n `\"${label}\" has invalid value: ${value}. Negative values are not allowed in pie charts. All slice values must be >= 0.`\n );\n }\n if (!sections.has(label)) {\n sections.set(label, value);\n log.debug(`added new section: ${label}, with value: ${value}`);\n }\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(() => sections, \"getSections\");\nvar setShowData = /* @__PURE__ */ __name((toggle) => {\n showData = toggle;\n}, \"setShowData\");\nvar getShowData = /* @__PURE__ */ __name(() => showData, \"getShowData\");\nvar db = {\n getConfig: getConfig2,\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n setShowData,\n getShowData\n};\n\n// src/diagrams/pie/pieParser.ts\nvar populateDb = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n db2.setShowData(ast.showData);\n ast.sections.map(db2.addSection);\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"pie\", input);\n log.debug(ast);\n populateDb(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/pie/pieStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .pieCircle{\n stroke: ${options.pieStrokeColor};\n stroke-width : ${options.pieStrokeWidth};\n opacity : ${options.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${options.pieOuterStrokeColor};\n stroke-width: ${options.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${options.pieTitleTextSize};\n fill: ${options.pieTitleTextColor};\n font-family: ${options.fontFamily};\n }\n .slice {\n font-family: ${options.fontFamily};\n fill: ${options.pieSectionTextColor};\n font-size:${options.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${options.pieLegendTextColor};\n font-family: ${options.fontFamily};\n font-size: ${options.pieLegendTextSize};\n }\n`, \"getStyles\");\nvar pieStyles_default = getStyles;\n\n// src/diagrams/pie/pieRenderer.ts\nimport { arc, pie as d3pie, scaleOrdinal } from \"d3\";\nvar createPieArcs = /* @__PURE__ */ __name((sections2) => {\n const sum = [...sections2.values()].reduce((acc, val) => acc + val, 0);\n const pieData = [...sections2.entries()].map(([label, value]) => ({ label, value })).filter((d) => d.value / sum * 100 >= 1).sort((a, b) => b.value - a.value);\n const pie = d3pie().value((d) => d.value);\n return pie(pieData);\n}, \"createPieArcs\");\nvar draw = /* @__PURE__ */ __name((text, id, _version, diagObj) => {\n log.debug(\"rendering pie chart\\n\" + text);\n const db2 = diagObj.db;\n const globalConfig = getConfig();\n const pieConfig = cleanAndMerge(db2.getConfig(), globalConfig.pie);\n const MARGIN = 40;\n const LEGEND_RECT_SIZE = 18;\n const LEGEND_SPACING = 4;\n const height = 450;\n const pieWidth = height;\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\");\n group.attr(\"transform\", \"translate(\" + pieWidth / 2 + \",\" + height / 2 + \")\");\n const { themeVariables } = globalConfig;\n let [outerStrokeWidth] = parseFontSize(themeVariables.pieOuterStrokeWidth);\n outerStrokeWidth ??= 2;\n const textPosition = pieConfig.textPosition;\n const radius = Math.min(pieWidth, height) / 2 - MARGIN;\n const arcGenerator = arc().innerRadius(0).outerRadius(radius);\n const labelArcGenerator = arc().innerRadius(radius * textPosition).outerRadius(radius * textPosition);\n group.append(\"circle\").attr(\"cx\", 0).attr(\"cy\", 0).attr(\"r\", radius + outerStrokeWidth / 2).attr(\"class\", \"pieOuterCircle\");\n const sections2 = db2.getSections();\n const arcs = createPieArcs(sections2);\n const myGeneratedColors = [\n themeVariables.pie1,\n themeVariables.pie2,\n themeVariables.pie3,\n themeVariables.pie4,\n themeVariables.pie5,\n themeVariables.pie6,\n themeVariables.pie7,\n themeVariables.pie8,\n themeVariables.pie9,\n themeVariables.pie10,\n themeVariables.pie11,\n themeVariables.pie12\n ];\n let sum = 0;\n sections2.forEach((section) => {\n sum += section;\n });\n const filteredArcs = arcs.filter((datum) => (datum.data.value / sum * 100).toFixed(0) !== \"0\");\n const color = scaleOrdinal(myGeneratedColors);\n group.selectAll(\"mySlices\").data(filteredArcs).enter().append(\"path\").attr(\"d\", arcGenerator).attr(\"fill\", (datum) => {\n return color(datum.data.label);\n }).attr(\"class\", \"pieCircle\");\n group.selectAll(\"mySlices\").data(filteredArcs).enter().append(\"text\").text((datum) => {\n return (datum.data.value / sum * 100).toFixed(0) + \"%\";\n }).attr(\"transform\", (datum) => {\n return \"translate(\" + labelArcGenerator.centroid(datum) + \")\";\n }).style(\"text-anchor\", \"middle\").attr(\"class\", \"slice\");\n group.append(\"text\").text(db2.getDiagramTitle()).attr(\"x\", 0).attr(\"y\", -(height - 50) / 2).attr(\"class\", \"pieTitleText\");\n const allSectionData = [...sections2.entries()].map(([label, value]) => ({\n label,\n value\n }));\n const legend = group.selectAll(\".legend\").data(allSectionData).enter().append(\"g\").attr(\"class\", \"legend\").attr(\"transform\", (_datum, index) => {\n const height2 = LEGEND_RECT_SIZE + LEGEND_SPACING;\n const offset = height2 * allSectionData.length / 2;\n const horizontal = 12 * LEGEND_RECT_SIZE;\n const vertical = index * height2 - offset;\n return \"translate(\" + horizontal + \",\" + vertical + \")\";\n });\n legend.append(\"rect\").attr(\"width\", LEGEND_RECT_SIZE).attr(\"height\", LEGEND_RECT_SIZE).style(\"fill\", (d) => color(d.label)).style(\"stroke\", (d) => color(d.label));\n legend.append(\"text\").attr(\"x\", LEGEND_RECT_SIZE + LEGEND_SPACING).attr(\"y\", LEGEND_RECT_SIZE - LEGEND_SPACING).text((d) => {\n if (db2.getShowData()) {\n return `${d.label} [${d.value}]`;\n }\n return d.label;\n });\n const longestTextWidth = Math.max(\n ...legend.selectAll(\"text\").nodes().map((node) => node?.getBoundingClientRect().width ?? 0)\n );\n const totalWidth = pieWidth + MARGIN + LEGEND_RECT_SIZE + LEGEND_SPACING + longestTextWidth;\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${height}`);\n configureSvgSize(svg, height, totalWidth, pieConfig.useMaxWidth);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/pie/pieDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: pieStyles_default\n};\nexport {\n diagram\n};\n"],
|
|
"mappings": "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",
|
|
"names": ["DEFAULT_PIE_CONFIG", "defaultConfig_default", "DEFAULT_PIE_DB", "sections", "showData", "config", "getConfig2", "__name", "clear2", "clear", "addSection", "label", "value", "log", "getSections", "setShowData", "toggle", "getShowData", "db", "setDiagramTitle", "getDiagramTitle", "setAccTitle", "getAccTitle", "setAccDescription", "getAccDescription", "populateDb", "ast", "db2", "populateCommonDb", "parser", "input", "parse", "getStyles", "options", "pieStyles_default", "createPieArcs", "sections2", "sum", "acc", "val", "pieData", "d", "a", "b", "pie_default", "draw", "text", "id", "_version", "diagObj", "globalConfig", "pieConfig", "cleanAndMerge", "MARGIN", "LEGEND_RECT_SIZE", "LEGEND_SPACING", "height", "pieWidth", "svg", "selectSvgElement", "group", "themeVariables", "outerStrokeWidth", "parseFontSize", "textPosition", "radius", "arcGenerator", "arc_default", "labelArcGenerator", "arcs", "myGeneratedColors", "section", "filteredArcs", "datum", "color", "ordinal", "allSectionData", "legend", "_datum", "index", "height2", "offset", "horizontal", "vertical", "longestTextWidth", "node", "totalWidth", "configureSvgSize", "renderer", "diagram"]
|
|
}
|