Browse Source

Merge pull request 'Repeatable option link issue #1' (#2) from fix-the-link-issue into main

Reviewed-on: #2
pull/4/head
rozetko 9 months ago
parent
commit
e6744979f2
  1. 11
      src/components/Panel.tsx

11
src/components/Panel.tsx

@ -14,13 +14,13 @@ import { PanelData, TimeRange, PanelProps } from '@grafana/data';
import { VizLegend } from '@grafana/ui'; import { VizLegend } from '@grafana/ui';
import { LegendDisplayMode } from '@grafana/schema'; import { LegendDisplayMode } from '@grafana/schema';
import React, { useRef } from 'react'; import React, { useCallback, useRef } from 'react';
import { css } from 'emotion'; import { css } from 'emotion';
import * as _ from 'lodash'; import * as _ from 'lodash';
interface Props extends PanelProps<PanelOptions> {} interface Props extends PanelProps<PanelOptions> {}
export function Panel({ options, data, width, height, timeRange, onChangeTimeRange }: Props) { export function Panel({ options, data, width, height, timeRange, onChangeTimeRange, replaceVariables }: Props) {
const grafanaSeriesList = getGrafanaSeriesList(data, timeRange); const grafanaSeriesList = getGrafanaSeriesList(data, timeRange);
let chartContainer = useRef(null); let chartContainer = useRef(null);
@ -45,13 +45,14 @@ export function Panel({ options, data, width, height, timeRange, onChangeTimeRan
}); });
const isLinkActive = !_.isEmpty(options.gauge.link); const isLinkActive = !_.isEmpty(options.gauge.link);
const chartClickHandler = (event: React.MouseEvent<HTMLDivElement>) => { const chartClickHandler = useCallback((event: React.MouseEvent<HTMLDivElement>) => {
event.preventDefault(); event.preventDefault();
if (!isLinkActive) { if (!isLinkActive) {
return; return;
} }
window.open(options.gauge.link, '_self'); const link = replaceVariables(options.gauge.link as string);
}; window.open(link, '_self');
}, [options.gauge.link]);
const legendItems = _.map(grafanaSeriesList, (serie) => { const legendItems = _.map(grafanaSeriesList, (serie) => {
return { return {
label: serie.alias, label: serie.alias,

Loading…
Cancel
Save