From e9638eb900f55331b5b19d6ce56d723d60401e8b Mon Sep 17 00:00:00 2001 From: Dennis Collaris <d.a.c.collaris@uu.nl> Date: Sat, 16 Nov 2024 14:33:52 +0000 Subject: [PATCH] fix: inserting variables in reports --- .../plugins/InsertVariablesPlugin.tsx | 2 +- .../textEditor/plugins/PreviewPlugin.tsx | 21 ++++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/libs/shared/lib/components/textEditor/plugins/InsertVariablesPlugin.tsx b/libs/shared/lib/components/textEditor/plugins/InsertVariablesPlugin.tsx index afe7016cc..c854fe4a2 100644 --- a/libs/shared/lib/components/textEditor/plugins/InsertVariablesPlugin.tsx +++ b/libs/shared/lib/components/textEditor/plugins/InsertVariablesPlugin.tsx @@ -36,7 +36,7 @@ export const InsertVariablesPlugin = () => { } return Object.entries(typeObj.attributes) - .map(([k, v]) => Object.keys(v).map((x) => `${k} ${x}`)) + .map(([k, v]) => Object.keys(v.statistics).map((x) => `${k} ${x}`)) .flat(); } diff --git a/libs/shared/lib/components/textEditor/plugins/PreviewPlugin.tsx b/libs/shared/lib/components/textEditor/plugins/PreviewPlugin.tsx index d6a2bd2f9..9867fb865 100644 --- a/libs/shared/lib/components/textEditor/plugins/PreviewPlugin.tsx +++ b/libs/shared/lib/components/textEditor/plugins/PreviewPlugin.tsx @@ -25,15 +25,15 @@ export function PreviewPlugin({ contentEditable }: { contentEditable: RefObject< } const result = useGraphQueryResult(); - const attributeValues = useCallback( - (settings: Vis1DProps & VisualizationSettingsType) => { - if (!settings.nodeLabel || !settings.attribute) { + const getAttributeValues = useCallback( + (settings: Vis1DProps & VisualizationSettingsType, attributeKey: string | number) => { + if (!settings.nodeLabel || !attributeKey) { return []; } return result.nodes - .filter((item) => item.label === settings.nodeLabel && item.attributes && settings.attribute! in item.attributes) - .map((item) => item.attributes[settings.attribute!] as string | number); + .filter((item) => item.label === settings.nodeLabel && item.attributes && attributeKey in item.attributes) + .map((item) => item.attributes[attributeKey] as string | number); }, [result], ); @@ -55,22 +55,23 @@ export function PreviewPlugin({ contentEditable }: { contentEditable: RefObject< case VariableType.statistic: const [nodeType, feature, statistic] = name.split(' '); const node = result.metaData?.nodes.types[nodeType]; - const attribute = node?.attributes[feature] as any; + const attribute = node?.attributes[feature].statistics as any; if (attribute == null) return ''; const value = attribute[statistic]; return ` ${value} `; case VariableType.visualization: - const index = 0; - const activeVisualization = vis.openVisualizationArray[index] as Vis1DProps & VisualizationSettingsType; + const activeVisualization = vis.openVisualizationArray.find(x => x.name == name) as Vis1DProps & VisualizationSettingsType; if (!activeVisualization) { throw new Error('Tried to render non-existing visualization'); } - const data = attributeValues(activeVisualization); + const xAxisData = getAttributeValues(activeVisualization, activeVisualization.xAxisLabel!); + const yAxisData = getAttributeValues(activeVisualization, activeVisualization.yAxisLabel!); + debugger; const plotType = activeVisualization.plotType; - const plotData = getPlotData(data, plotType); + const plotData = getPlotData(xAxisData, plotType, yAxisData); const plot = await newPlot(document.createElement('div'), plotData, { width: 600, -- GitLab