mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Merge pull request #15752 from grafana/hugoh/bug-repeated-row-gauge
Passing scopedVars down to DataPanel from PanelChrome
This commit is contained in:
commit
28cac0976d
@ -39,6 +39,16 @@ export interface DataQueryError {
|
|||||||
statusText?: string;
|
statusText?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ScopedVar {
|
||||||
|
text: any;
|
||||||
|
value: any;
|
||||||
|
[key: string]: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ScopedVars {
|
||||||
|
[key: string]: ScopedVar;
|
||||||
|
}
|
||||||
|
|
||||||
export interface DataQueryOptions<TQuery extends DataQuery = DataQuery> {
|
export interface DataQueryOptions<TQuery extends DataQuery = DataQuery> {
|
||||||
timezone: string;
|
timezone: string;
|
||||||
range: TimeRange;
|
range: TimeRange;
|
||||||
@ -50,7 +60,7 @@ export interface DataQueryOptions<TQuery extends DataQuery = DataQuery> {
|
|||||||
interval: string;
|
interval: string;
|
||||||
intervalMs: number;
|
intervalMs: number;
|
||||||
maxDataPoints: number;
|
maxDataPoints: number;
|
||||||
scopedVars: object;
|
scopedVars: ScopedVars;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface QueryFix {
|
export interface QueryFix {
|
||||||
|
@ -15,6 +15,7 @@ import {
|
|||||||
TableData,
|
TableData,
|
||||||
TimeRange,
|
TimeRange,
|
||||||
TimeSeries,
|
TimeSeries,
|
||||||
|
ScopedVars,
|
||||||
} from '@grafana/ui';
|
} from '@grafana/ui';
|
||||||
|
|
||||||
interface RenderProps {
|
interface RenderProps {
|
||||||
@ -33,6 +34,7 @@ export interface Props {
|
|||||||
refreshCounter: number;
|
refreshCounter: number;
|
||||||
minInterval?: string;
|
minInterval?: string;
|
||||||
maxDataPoints?: number;
|
maxDataPoints?: number;
|
||||||
|
scopedVars?: ScopedVars;
|
||||||
children: (r: RenderProps) => JSX.Element;
|
children: (r: RenderProps) => JSX.Element;
|
||||||
onDataResponse?: (data: DataQueryResponse) => void;
|
onDataResponse?: (data: DataQueryResponse) => void;
|
||||||
onError: (message: string, error: DataQueryError) => void;
|
onError: (message: string, error: DataQueryError) => void;
|
||||||
@ -95,6 +97,7 @@ export class DataPanel extends Component<Props, State> {
|
|||||||
timeRange,
|
timeRange,
|
||||||
widthPixels,
|
widthPixels,
|
||||||
maxDataPoints,
|
maxDataPoints,
|
||||||
|
scopedVars,
|
||||||
onDataResponse,
|
onDataResponse,
|
||||||
onError,
|
onError,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
@ -127,7 +130,7 @@ export class DataPanel extends Component<Props, State> {
|
|||||||
intervalMs: intervalRes.intervalMs,
|
intervalMs: intervalRes.intervalMs,
|
||||||
targets: queries,
|
targets: queries,
|
||||||
maxDataPoints: maxDataPoints || widthPixels,
|
maxDataPoints: maxDataPoints || widthPixels,
|
||||||
scopedVars: {},
|
scopedVars: scopedVars || {},
|
||||||
cacheTimeout: null,
|
cacheTimeout: null,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -179,6 +179,7 @@ export class PanelChrome extends PureComponent<Props, State> {
|
|||||||
isVisible={this.isVisible}
|
isVisible={this.isVisible}
|
||||||
widthPixels={width}
|
widthPixels={width}
|
||||||
refreshCounter={refreshCounter}
|
refreshCounter={refreshCounter}
|
||||||
|
scopedVars={panel.scopedVars}
|
||||||
onDataResponse={this.onDataResponse}
|
onDataResponse={this.onDataResponse}
|
||||||
onError={this.onDataError}
|
onError={this.onDataError}
|
||||||
>
|
>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { isEqual } from 'lodash';
|
import { isEqual } from 'lodash';
|
||||||
|
import { ScopedVars } from '@grafana/ui';
|
||||||
|
|
||||||
import PanelHeaderCorner from './PanelHeaderCorner';
|
import PanelHeaderCorner from './PanelHeaderCorner';
|
||||||
import { PanelHeaderMenu } from './PanelHeaderMenu';
|
import { PanelHeaderMenu } from './PanelHeaderMenu';
|
||||||
@ -16,7 +17,7 @@ export interface Props {
|
|||||||
timeInfo: string;
|
timeInfo: string;
|
||||||
title?: string;
|
title?: string;
|
||||||
description?: string;
|
description?: string;
|
||||||
scopedVars?: string;
|
scopedVars?: ScopedVars;
|
||||||
links?: [];
|
links?: [];
|
||||||
error?: string;
|
error?: string;
|
||||||
isFullscreen: boolean;
|
isFullscreen: boolean;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import Remarkable from 'remarkable';
|
import Remarkable from 'remarkable';
|
||||||
import { Tooltip } from '@grafana/ui';
|
import { Tooltip, ScopedVars } from '@grafana/ui';
|
||||||
|
|
||||||
import { PanelModel } from 'app/features/dashboard/state/PanelModel';
|
import { PanelModel } from 'app/features/dashboard/state/PanelModel';
|
||||||
import templateSrv from 'app/features/templating/template_srv';
|
import templateSrv from 'app/features/templating/template_srv';
|
||||||
import { LinkSrv } from 'app/features/panel/panellinks/link_srv';
|
import { LinkSrv } from 'app/features/panel/panellinks/link_srv';
|
||||||
@ -16,7 +17,7 @@ interface Props {
|
|||||||
panel: PanelModel;
|
panel: PanelModel;
|
||||||
title?: string;
|
title?: string;
|
||||||
description?: string;
|
description?: string;
|
||||||
scopedVars?: string;
|
scopedVars?: ScopedVars;
|
||||||
links?: [];
|
links?: [];
|
||||||
error?: string;
|
error?: string;
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ import _ from 'lodash';
|
|||||||
|
|
||||||
// Types
|
// Types
|
||||||
import { Emitter } from 'app/core/utils/emitter';
|
import { Emitter } from 'app/core/utils/emitter';
|
||||||
import { DataQuery, TimeSeries, Threshold } from '@grafana/ui';
|
import { DataQuery, TimeSeries, Threshold, ScopedVars } from '@grafana/ui';
|
||||||
import { TableData } from '@grafana/ui/src';
|
import { TableData } from '@grafana/ui/src';
|
||||||
|
|
||||||
export interface GridPos {
|
export interface GridPos {
|
||||||
@ -71,7 +71,7 @@ export class PanelModel {
|
|||||||
type: string;
|
type: string;
|
||||||
title: string;
|
title: string;
|
||||||
alert?: any;
|
alert?: any;
|
||||||
scopedVars?: any;
|
scopedVars?: ScopedVars;
|
||||||
repeat?: string;
|
repeat?: string;
|
||||||
repeatIteration?: number;
|
repeatIteration?: number;
|
||||||
repeatPanelId?: number;
|
repeatPanelId?: number;
|
||||||
|
Loading…
Reference in New Issue
Block a user