diff --git a/libs/shared/lib/components/textEditor/plugins/InsertVariablesPlugin.tsx b/libs/shared/lib/components/textEditor/plugins/InsertVariablesPlugin.tsx index afe7016cce2fd3ca9623751fbdf37ad3d2f352b7..c854fe4a2ebea1024d67c4def3f102c1ce979d42 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 d6a2bd2f97e9a41a9470c5ab8a74fc6a84f73247..9867fb86568968c57a5e44c6d4cd060d906f3a19 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,