Add support for custom cssStyle and compiledStyles for custom classDefs

This commit is contained in:
Ashish Jain
2024-06-17 15:09:45 +02:00
parent 5bd3a28667
commit 6ca6403878

View File

@@ -806,7 +806,8 @@ const addNodeFromVertex = (
labelStyle: '', labelStyle: '',
parentId, parentId,
padding: config.flowchart?.padding || 8, padding: config.flowchart?.padding || 8,
cssStyles: vertex.styles.join(' '), cssStyles: vertex.styles,
cssCompiledStyles: getCompiledStyles(vertex.classes),
cssClasses: vertex.classes.join(' '), cssClasses: vertex.classes.join(' '),
shape: getTypeFromVertex(vertex), shape: getTypeFromVertex(vertex),
dir: vertex.dir, dir: vertex.dir,
@@ -820,6 +821,16 @@ const addNodeFromVertex = (
} }
}; };
function getCompiledStyles(classDefs: string[]) {
let compiledStyles: string[] = [];
for (const customClass of classDefs) {
if (classes.get(customClass)) {
compiledStyles = [...compiledStyles, ...(classes.get(customClass)?.styles ?? [])];
}
}
return compiledStyles;
}
export const getData = () => { export const getData = () => {
const config = getConfig(); const config = getConfig();
const nodes: Node[] = []; const nodes: Node[] = [];
@@ -844,7 +855,7 @@ export const getData = () => {
labelStyle: '', labelStyle: '',
parentId: parentDB.get(subGraph.id), parentId: parentDB.get(subGraph.id),
padding: config.flowchart?.padding || 8, padding: config.flowchart?.padding || 8,
cssStyles: '', cssStyles: [],
cssClasses: '', cssClasses: '',
shape: 'rect', shape: 'rect',
dir: subGraph.dir, dir: subGraph.dir,