Dashboards: Fix broken internal data links (#66567)

* In dashboards splitOpenFn is not passed, instead "href" link is used. When we added tracking we changed the behaviour so onClickFn is always passed when generating the model. To bring back the previous behaviour we skip the onClickFn if the split function is not provided.

* Fix test and add a task to re-check the logic
This commit is contained in:
Piotr Jamróz
2023-04-14 14:25:07 +02:00
committed by GitHub
parent 060728b3d5
commit 4f5b80095e
2 changed files with 4 additions and 6 deletions
@@ -315,11 +315,7 @@ describe('explore links utils', () => {
links[0][0].onClick({});
}
expect(reportInteraction).toBeCalledWith('grafana_data_link_clicked', {
app: CoreApp.Explore,
internal: true,
origin: DataLinkConfigOrigin.Correlations,
});
expect(reportInteraction).not.toBeCalled();
expect(links[1]).toHaveLength(1);
expect(links[1][0].href).toBe(
+3 -1
View File
@@ -195,7 +195,9 @@ export const getFieldLinksForExplore = (options: {
scopedVars: allVars,
range,
field,
onClickFn: (options) => splitFnWithTracking(options),
// Don't track internal links without split view as they are used only in Dashboards
// TODO: It should be revisited in #66570
onClickFn: options.splitOpenFn ? (options) => splitFnWithTracking(options) : undefined,
replaceVariables: getTemplateSrv().replace.bind(getTemplateSrv()),
});
return { ...internalLink, variables: variables };