ReactPanels: Adds Explore menu item (#20236)

* Fix: Adds Explore menuitem to React Panels
Fixes #19865

* Refactor: Adds CMD|CTRL+click to Explore menu item
This commit is contained in:
Hugo Häggmark
2019-11-07 13:49:45 +01:00
committed by GitHub
parent a499586f15
commit e66fc3d47a
8 changed files with 311 additions and 99 deletions

View File

@@ -1,11 +1,11 @@
import { Observable } from 'rxjs';
import { ComponentType } from 'react';
import { PluginMeta, GrafanaPlugin } from './plugin';
import { GrafanaPlugin, PluginMeta } from './plugin';
import { PanelData } from './panel';
import { LogRowModel } from './logs';
import { AnnotationEvent, TimeSeries, TableData, LoadingState, KeyValue } from './data';
import { AnnotationEvent, KeyValue, LoadingState, TableData, TimeSeries } from './data';
import { DataFrame, DataFrameDTO } from './dataFrame';
import { TimeRange, RawTimeRange } from './time';
import { RawTimeRange, TimeRange } from './time';
import { ScopedVars } from './ScopedVars';
export interface DataSourcePluginOptionsEditorProps<JSONData = DataSourceJsonData, SecureJSONData = {}> {
@@ -253,6 +253,8 @@ export abstract class DataSourceApi<
* in the annotation editor `annotations` capability also needs to be enabled in plugin.json.
*/
annotationQuery?(options: AnnotationQueryRequest<TQuery>): Promise<AnnotationEvent[]>;
interpolateVariablesInQueries?(queries: TQuery[]): TQuery[];
}
export interface QueryEditorProps<

View File

@@ -1,10 +1,10 @@
import { ComponentClass, ComponentType } from 'react';
import { DataQueryRequest, DataQueryError } from './datasource';
import { PluginMeta, GrafanaPlugin } from './plugin';
import { DataQueryError, DataQueryRequest } from './datasource';
import { GrafanaPlugin, PluginMeta } from './plugin';
import { ScopedVars } from './ScopedVars';
import { LoadingState } from './data';
import { DataFrame } from './dataFrame';
import { TimeRange, TimeZone, AbsoluteTimeRange } from './time';
import { AbsoluteTimeRange, TimeRange, TimeZone } from './time';
export type InterpolateFunction = (value: string, scopedVars?: ScopedVars, format?: string | Function) => string;
@@ -125,7 +125,7 @@ export interface PanelMenuItem {
type?: 'submenu' | 'divider';
text?: string;
iconClassName?: string;
onClick?: () => void;
onClick?: (event: React.MouseEvent<any>) => void;
shortcut?: string;
subMenu?: PanelMenuItem[];
}