Files

8 lines
44 KiB
Plaintext
Raw Permalink Normal View History

2025-11-23 14:59:17 -08:00
{
"version": 3,
"sources": ["../../../src/diagrams/treemap/db.ts", "../../../src/diagrams/treemap/utils.ts", "../../../src/diagrams/treemap/parser.ts", "../../../src/diagrams/treemap/renderer.ts", "../../../src/diagrams/treemap/styles.ts", "../../../src/diagrams/treemap/diagram.ts"],
"sourcesContent": ["import type { DiagramDB } from '../../diagram-api/types.js';\nimport type { DiagramStyleClassDef } from '../../diagram-api/types.js';\nimport type { TreemapDiagramConfig, TreemapNode } from './types.js';\nimport DEFAULT_CONFIG from '../../defaultConfig.js';\nimport { getConfig as commonGetConfig } from '../../config.js';\nimport { cleanAndMerge } from '../../utils.js';\nimport { isLabelStyle } from '../../rendering-util/rendering-elements/shapes/handDrawnShapeStyles.js';\nimport {\n clear as commonClear,\n getAccDescription,\n getAccTitle,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n} from '../common/commonDb.js';\nexport class TreeMapDB implements DiagramDB {\n private nodes: TreemapNode[] = [];\n private levels: Map<TreemapNode, number> = new Map<TreemapNode, number>();\n private outerNodes: TreemapNode[] = [];\n private classes: Map<string, DiagramStyleClassDef> = new Map<string, DiagramStyleClassDef>();\n private root?: TreemapNode;\n\n public getNodes() {\n return this.nodes;\n }\n\n public getConfig() {\n const defaultConfig = DEFAULT_CONFIG as unknown as { treemap: Required<TreemapDiagramConfig> };\n const userConfig = commonGetConfig() as unknown as { treemap?: Partial<TreemapDiagramConfig> };\n return cleanAndMerge({\n ...defaultConfig.treemap,\n ...(userConfig.treemap ?? {}),\n }) as Required<TreemapDiagramConfig>;\n }\n\n public addNode(node: TreemapNode, level: number) {\n this.nodes.push(node);\n this.levels.set(node, level);\n if (level === 0) {\n this.outerNodes.push(node);\n this.root ??= node;\n }\n }\n\n public getRoot() {\n return { name: '', children: this.outerNodes };\n }\n\n public addClass(id: string, _style: string) {\n const styleClass = this.classes.get(id) ?? { id, styles: [], textStyles: [] };\n const styles = _style.replace(/\\\\,/g, '\u00A7\u00A7\u00A7').replace(/,/g, ';').replace(/\u00A7\u00A7\u00A7/g, ',').split(';');\n if (styles) {\n styles.forEach((s) => {\n if (isLabelStyle(s)) {\n if (styleClass?.textStyles) {\n styleClass.textStyles.push(s);\n } else {\n styleClass.textStyles = [s];\n }\n }\n if (styleClass?.styles) {\n styleClass.styles.push(s);\n } else {\n styleClass.styles = [s];\n }\n });\n }\n this.classes.set(id, styleClass);\n }\n\n public getClasses() {\n return this.classes;\n }\n\n public getStylesForClass(classSelector: string): string[] {\n return this.classes.get(classSelector)?.styles ?? [];\n }\n\n public clear() {\n commonClear();\n this.nodes = [];\n this.levels = new Map();\n this.outerNodes = [];\n this.classes = new Map();\n this.root = undefined;\n }\n\n public setAccTitle = setAccTitle;\n public getAccTitle = getAccTitle;\n public setDiagramTitle = setDiagramTitle;\n public getDiagramTitle = getDiagramTitle;\n public getAccDescription = getAccDescription;\n public setAccDescription = setAccDescription;\n}\n", "import type { TreemapNode } from './types.js';\n\n/**\n * Converts a flat array of treemap items into a hierarchical structure\n * @param items - Array of flat treemap items with level, name, type, and optional value\n * @returns A hierarchical tree structure\n */\nexport function buildHierarchy(\n items: {\n level: number;\n name: string;\n type: string;\n value?: number;\n classSelector?: string;\n cssCompiledStyles?: string;\n }[]\n): TreemapNode[] {\n if (!items.length) {\n return [];\n }\n\n const root: TreemapNode[] = [];\n const stack: { node: TreemapNode; level: number }[] = [];\n\n items.forEach((item) => {\n const node: TreemapNode = {\n name: item.name,\n children: item.type === 'Leaf' ? undefined : [],\n };\n node.classSelector = item?.classSelector;\n if (item?.cssCompiledStyles) {\n node.cssCompiledStyles = [item.cssCompiledStyles];\n }\n\n if (item.type === 'Leaf' && item.value !== undefined) {\n
"mappings": "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
"names": ["TreeMapDB", "setAccTitle", "getAccTitle", "setDiagramTitle", "getDiagramTitle", "getAccDescription", "setAccDescription", "__name", "defaultConfig", "defaultConfig_default", "userConfig", "getConfig", "cleanAndMerge", "node", "level", "id", "_style", "styleClass", "styles", "s", "isLabelStyle", "classSelector", "clear", "buildHierarchy", "items", "root", "stack", "item", "node", "parent", "__name", "populate", "__name", "ast", "db", "populateCommonDb", "items", "row", "item", "level", "name", "getItemName", "styles", "cssCompiledStyles", "itemData", "hierarchyNodes", "buildHierarchy", "addNodesRecursively", "nodes", "node", "parser", "text", "parse", "log", "TreeMapDB", "error", "DEFAULT_INNER_PADDING", "SECTION_INNER_PADDING", "SECTION_HEADER_HEIGHT", "draw", "__name", "_text", "id", "_version", "diagram", "treemapDb", "config", "treemapInnerPadding", "title", "root", "themeVariables", "getConfig", "titleHeight", "svg", "selectSvgElement", "width", "height", "svgWidth", "svgHeight", "configureSvgSize", "valueFormat", "formatStr", "value", "format", "precision", "precisionStr", "restOfFormat", "error", "log", "colorScale", "ordinal", "colorScalePeer", "colorScaleLabel", "g", "hierarchyRoot", "hierarchy", "d", "a", "b", "treemapData", "treemap_default", "branchNodes", "sections", "_d", "i", "styles", "styles2String", "labelStyles", "self", "select_default", "originalText", "totalHeaderWidth", "labelXPosition", "spaceForTextContent", "actualAvailableWidth", "textNode", "currentTruncatedText", "leafNodes", "cell", "nodeWidth", "nodeHeight", "padding", "availableWidth", "availableHeight", "currentLabelFontSize", "minLabelFontSize", "originalValueRelFontSize", "valueScaleFactor", "minValueFontSize", "spacingBetweenLabelAndValue", "prospectiveValueFontSize", "combinedHeight", "valueTextElement", "parentCellNode", "labelElement", "finalLabelFontSize", "originalValueFontSize", "actualValueFontSize", "valueTopActualY", "maxValueBottomY", "availableWidthForValue", "diagramPadding", "setupViewPortForSVG", "getClasses", "diagramObj", "renderer", "defaultTreemapStyleOptions", "getStyles", "__name", "treemap", "options", "cleanAndMerge", "styles_default", "diagram", "parser", "TreeMapDB", "renderer", "styles_default"]
}