FEAT: Add Vega Char Visualizer Renderer
### FEAT: Add Vega Char Visualizer Renderer Feature required in https://github.com/open-webui/open-webui/discussions/18022 Added npm vega lib to package.json Added function for visualization renderer to src/libs/utils/index.ts Added logic to src/lib/components/chat/Messages/CodeBlock.svelte The treatment is similar as for mermaid diagrams. Reference: https://vega.github.io/vega/
This commit is contained in:
@@ -1596,3 +1596,16 @@ export const renderMermaidDiagram = async (code: string) => {
|
||||
return '';
|
||||
}
|
||||
};
|
||||
|
||||
export const renderVegaVisualization = async (spec: string) => {
|
||||
try {
|
||||
const vega = await import('vega');
|
||||
const parsedSpec = JSON.parse(spec);
|
||||
const view = new vega.View(vega.parse(parsedSpec), { renderer: 'none' });
|
||||
const svg = await view.toSVG();
|
||||
return svg;
|
||||
} catch (error) {
|
||||
console.log('Failed to render Vega visualization:', error);
|
||||
return '';
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user