8 lines
44 KiB
Plaintext
8 lines
44 KiB
Plaintext
|
|
{
|
||
|
|
"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": ["diagram"]
|
||
|
|
}
|