Timeline: move grafana/ui elements to the panel folder (#33803)

This commit is contained in:
Ryan McKinley
2021-05-10 09:34:42 -07:00
committed by GitHub
parent 4238c6078a
commit a5fda37d02
8 changed files with 29 additions and 29 deletions
@@ -37,6 +37,6 @@ export {
ErrorIndicatorProps as PanelChromeErrorIndicatorProps, ErrorIndicatorProps as PanelChromeErrorIndicatorProps,
} from './ErrorIndicator'; } from './ErrorIndicator';
export { usePanelContext, PanelContextProvider, PanelContext } from './PanelContext'; export { usePanelContext, PanelContextProvider, PanelContext, PanelContextRoot } from './PanelContext';
export * from './types'; export * from './types';
+2 -3
View File
@@ -94,6 +94,7 @@ export {
PanelChromeErrorIndicatorProps, PanelChromeErrorIndicatorProps,
PanelContextProvider, PanelContextProvider,
PanelContext, PanelContext,
PanelContextRoot,
usePanelContext, usePanelContext,
} from './PanelChrome'; } from './PanelChrome';
export { VizLayout, VizLayoutComponentType, VizLayoutLegendProps, VizLayoutProps } from './VizLayout/VizLayout'; export { VizLayout, VizLayoutComponentType, VizLayoutLegendProps, VizLayoutProps } from './VizLayout/VizLayout';
@@ -231,14 +232,12 @@ export { UPlotChart } from './uPlot/Plot';
export * from './uPlot/geometries'; export * from './uPlot/geometries';
export * from './uPlot/plugins'; export * from './uPlot/plugins';
export { usePlotContext } from './uPlot/context'; export { usePlotContext } from './uPlot/context';
export { GraphNG, FIXED_UNIT } from './GraphNG/GraphNG'; export { GraphNG, GraphNGProps, FIXED_UNIT } from './GraphNG/GraphNG';
export { TimeSeries } from './TimeSeries/TimeSeries'; export { TimeSeries } from './TimeSeries/TimeSeries';
export { useGraphNGContext } from './GraphNG/hooks'; export { useGraphNGContext } from './GraphNG/hooks';
export { preparePlotFrame } from './GraphNG/utils'; export { preparePlotFrame } from './GraphNG/utils';
export { BarChart } from './BarChart/BarChart'; export { BarChart } from './BarChart/BarChart';
export { TimelineChart } from './Timeline/TimelineChart';
export { BarChartOptions, BarValueVisibility, BarChartFieldConfig } from './BarChart/types'; export { BarChartOptions, BarValueVisibility, BarChartFieldConfig } from './BarChart/types';
export { TimelineOptions, TimelineFieldConfig } from './Timeline/types';
export { GraphNGLegendEvent } from './GraphNG/types'; export { GraphNGLegendEvent } from './GraphNG/types';
export * from './PanelChrome/types'; export * from './PanelChrome/types';
export * from './NodeGraph'; export * from './NodeGraph';
@@ -1,11 +1,8 @@
import React from 'react'; import React from 'react';
import { withTheme2 } from '../../themes/ThemeContext'; import { PanelContext, PanelContextRoot, UPlotConfigBuilder, GraphNG, GraphNGProps } from '@grafana/ui';
import { DataFrame, TimeRange } from '@grafana/data'; import { DataFrame, TimeRange } from '@grafana/data';
import { GraphNG, GraphNGProps } from '../GraphNG/GraphNG';
import { UPlotConfigBuilder } from '../uPlot/config/UPlotConfigBuilder';
import { preparePlotConfigBuilder } from './utils'; import { preparePlotConfigBuilder } from './utils';
import { BarValueVisibility, TimelineMode } from './types'; import { BarValueVisibility, TimelineMode } from './types';
import { PanelContext, PanelContextRoot } from '../PanelChrome/PanelContext';
/** /**
* @alpha * @alpha
@@ -19,7 +16,7 @@ export interface TimelineProps extends Omit<GraphNGProps, 'prepConfig' | 'propsT
const propsToDiff = ['mode', 'rowHeight', 'colWidth', 'showValue']; const propsToDiff = ['mode', 'rowHeight', 'colWidth', 'showValue'];
export class UnthemedTimelineChart extends React.Component<TimelineProps> { export class TimelineChart extends React.Component<TimelineProps> {
static contextType = PanelContextRoot; static contextType = PanelContextRoot;
panelContext: PanelContext = {} as PanelContext; panelContext: PanelContext = {} as PanelContext;
@@ -50,6 +47,3 @@ export class UnthemedTimelineChart extends React.Component<TimelineProps> {
); );
} }
} }
export const TimelineChart = withTheme2(UnthemedTimelineChart);
TimelineChart.displayName = 'TimelineChart';
@@ -1,7 +1,9 @@
import React, { useCallback } from 'react'; import React, { useCallback } from 'react';
import { PanelProps } from '@grafana/data'; import { PanelProps } from '@grafana/data';
import { GraphNGLegendEvent, TimelineChart, TimelineOptions } from '@grafana/ui'; import { GraphNGLegendEvent, useTheme2 } from '@grafana/ui';
import { hideSeriesConfigFactory } from '../timeseries/overrides/hideSeriesConfigFactory'; import { hideSeriesConfigFactory } from '../timeseries/overrides/hideSeriesConfigFactory';
import { TimelineOptions } from './types';
import { TimelineChart } from './TimelineChart';
interface TimelinePanelProps extends PanelProps<TimelineOptions> {} interface TimelinePanelProps extends PanelProps<TimelineOptions> {}
@@ -18,6 +20,8 @@ export const TimelinePanel: React.FC<TimelinePanelProps> = ({
fieldConfig, fieldConfig,
onFieldConfigChange, onFieldConfigChange,
}) => { }) => {
const theme = useTheme2();
const onLegendClick = useCallback( const onLegendClick = useCallback(
(event: GraphNGLegendEvent) => { (event: GraphNGLegendEvent) => {
onFieldConfigChange(hideSeriesConfigFactory(event, fieldConfig, data.series)); onFieldConfigChange(hideSeriesConfigFactory(event, fieldConfig, data.series));
@@ -35,6 +39,7 @@ export const TimelinePanel: React.FC<TimelinePanelProps> = ({
return ( return (
<TimelineChart <TimelineChart
theme={theme}
frames={data.series} frames={data.series}
structureRev={data.structureRev} structureRev={data.structureRev}
timeRange={timeRange} timeRange={timeRange}
+2 -2
View File
@@ -1,9 +1,9 @@
import { FieldColorModeId, FieldConfigProperty, PanelPlugin } from '@grafana/data'; import { FieldColorModeId, FieldConfigProperty, PanelPlugin } from '@grafana/data';
import { TimelinePanel } from './TimelinePanel'; import { TimelinePanel } from './TimelinePanel';
import { TimelineOptions, TimelineFieldConfig, BarValueVisibility } from '@grafana/ui'; import { BarValueVisibility } from '@grafana/ui';
//import { addHideFrom, addLegendOptions } from '../timeseries/config'; //import { addHideFrom, addLegendOptions } from '../timeseries/config';
//import { defaultBarChartFieldConfig } from '@grafana/ui/src/components/BarChart/types'; //import { defaultBarChartFieldConfig } from '@grafana/ui/src/components/BarChart/types';
import { TimelineMode } from '@grafana/ui/src/components/Timeline/types'; import { TimelineOptions, TimelineFieldConfig, TimelineMode } from './types';
export const plugin = new PanelPlugin<TimelineOptions, TimelineFieldConfig>(TimelinePanel) export const plugin = new PanelPlugin<TimelineOptions, TimelineFieldConfig>(TimelinePanel)
.useFieldConfig({ .useFieldConfig({
@@ -1,10 +1,10 @@
import uPlot, { Series, Cursor } from 'uplot'; import uPlot, { Series, Cursor } from 'uplot';
import { FIXED_UNIT } from '../GraphNG/GraphNG'; import { FIXED_UNIT } from '@grafana/ui/src/components/GraphNG/GraphNG';
import { Quadtree, Rect, pointWithin } from '../BarChart/quadtree'; import { Quadtree, Rect, pointWithin } from '@grafana/ui/src/components/BarChart/quadtree';
import { distribute, SPACE_BETWEEN } from '../BarChart/distribute'; import { distribute, SPACE_BETWEEN } from '@grafana/ui/src/components/BarChart/distribute';
import { TimelineMode } from './types'; import { TimelineMode } from './types';
import { TimeRange } from '@grafana/data'; import { TimeRange } from '@grafana/data';
import { BarValueVisibility } from '../BarChart/types'; import { BarValueVisibility } from '@grafana/ui/src/components/BarChart/types';
const { round, min, ceil } = Math; const { round, min, ceil } = Math;
@@ -1,5 +1,4 @@
import { GraphGradientMode, HideableFieldConfig } from '../uPlot/config'; import { VizLegendOptions, GraphGradientMode, HideableFieldConfig } from '@grafana/ui';
import { VizLegendOptions } from '../VizLegend/models.gen';
/** /**
* @alpha * @alpha
@@ -1,5 +1,5 @@
import React from 'react'; import React from 'react';
import { XYFieldMatchers } from '../GraphNG/types'; import { XYFieldMatchers } from '@grafana/ui/src/components/GraphNG/types';
import { import {
DataFrame, DataFrame,
FieldColorModeId, FieldColorModeId,
@@ -10,15 +10,18 @@ import {
classicColors, classicColors,
Field, Field,
} from '@grafana/data'; } from '@grafana/data';
import { UPlotConfigBuilder } from '../uPlot/config/UPlotConfigBuilder'; import { UPlotConfigBuilder, FIXED_UNIT, SeriesVisibilityChangeMode } from '@grafana/ui';
import { TimelineCoreOptions, getConfig } from './timeline'; import { TimelineCoreOptions, getConfig } from './timeline';
import { FIXED_UNIT } from '../GraphNG/GraphNG'; import {
import { AxisPlacement, GraphGradientMode, ScaleDirection, ScaleOrientation } from '../uPlot/config'; AxisPlacement,
import { measureText } from '../../utils/measureText'; GraphGradientMode,
import { PrepConfigOpts } from '../GraphNG/utils'; ScaleDirection,
ScaleOrientation,
} from '@grafana/ui/src/components/uPlot/config';
import { measureText } from '@grafana/ui/src/utils/measureText';
import { PrepConfigOpts } from '@grafana/ui/src/components/GraphNG/utils';
import { SeriesVisibilityChangeMode, TimelineFieldConfig } from '../..'; import { BarValueVisibility, TimelineFieldConfig, TimelineMode } from './types';
import { BarValueVisibility, TimelineMode } from './types';
const defaultConfig: TimelineFieldConfig = { const defaultConfig: TimelineFieldConfig = {
lineWidth: 0, lineWidth: 0,