Schema: move existing grafana/ui models into schema (#38469)

This commit is contained in:
Ryan McKinley
2021-08-24 08:22:34 -07:00
committed by GitHub
parent e8faa2c900
commit fcceb5716d
52 changed files with 377 additions and 503 deletions

View File

@@ -1,5 +1,6 @@
import { size } from 'lodash';
import { ansicolor, BarAlignment, colors, DrawStyle, StackingMode } from '@grafana/ui';
import { BarAlignment, DrawStyle, StackingMode } from '@grafana/schema';
import { ansicolor, colors } from '@grafana/ui';
import {
AbsoluteTimeRange,

View File

@@ -14,7 +14,6 @@ import {
TimeZone,
} from '@grafana/data';
import {
DrawStyle,
Icon,
PanelContext,
PanelContextProvider,
@@ -25,7 +24,7 @@ import {
useTheme2,
ZoomPlugin,
} from '@grafana/ui';
import { LegendDisplayMode, TooltipDisplayMode } from '@grafana/schema';
import { LegendDisplayMode, TooltipDisplayMode, DrawStyle } from '@grafana/schema';
import { defaultGraphConfig, getGraphFieldConfig } from 'app/plugins/panel/timeseries/config';
import { ContextMenuPlugin } from 'app/plugins/panel/timeseries/plugins/ContextMenuPlugin';
import { ExemplarsPlugin } from 'app/plugins/panel/timeseries/plugins/ExemplarsPlugin';

View File

@@ -1,4 +1,4 @@
import { DrawStyle, StackingMode } from '@grafana/ui';
import { DrawStyle, StackingMode } from '@grafana/schema';
import { lastValueFrom } from 'rxjs';
import {
ArrayVector,

View File

@@ -1,7 +1,7 @@
import React, { useMemo } from 'react';
import { TooltipDisplayMode } from '@grafana/schema';
import { TooltipDisplayMode, StackingMode } from '@grafana/schema';
import { PanelProps, TimeRange, VizOrientation } from '@grafana/data';
import { StackingMode, TooltipPlugin, useTheme2 } from '@grafana/ui';
import { TooltipPlugin, useTheme2 } from '@grafana/ui';
import { BarChartOptions } from './types';
import { BarChart } from './BarChart';
import { prepareGraphableFrames } from './utils';

View File

@@ -2,15 +2,14 @@ import uPlot, { Axis, AlignedData } from 'uplot';
import { pointWithin, Quadtree, Rect } from './quadtree';
import { distribute, SPACE_BETWEEN } from './distribute';
import { DataFrame, GrafanaTheme2 } from '@grafana/data';
import { VizTextDisplayOptions } from '@grafana/schema';
import { calculateFontSize, PlotTooltipInterpolator } from '@grafana/ui';
import {
calculateFontSize,
PlotTooltipInterpolator,
StackingMode,
BarValueVisibility,
ScaleDirection,
ScaleOrientation,
} from '@grafana/ui';
VizTextDisplayOptions,
} from '@grafana/schema';
import { preparePlotData } from '../../../../../packages/grafana-ui/src/components/uPlot/utils';
const groupDistr = SPACE_BETWEEN;

View File

@@ -7,7 +7,8 @@ import {
VizOrientation,
} from '@grafana/data';
import { BarChartPanel } from './BarChartPanel';
import { StackingMode, BarValueVisibility, graphFieldOptions, commonOptionsBuilder } from '@grafana/ui';
import { StackingMode, BarValueVisibility } from '@grafana/schema';
import { graphFieldOptions, commonOptionsBuilder } from '@grafana/ui';
import { BarChartFieldConfig, BarChartOptions, defaultBarChartFieldConfig } from 'app/plugins/panel/barchart/types';

View File

@@ -1,6 +1,14 @@
import { OptionsWithLegend, OptionsWithTextFormatting, OptionsWithTooltip } from '@grafana/schema';
import {
OptionsWithLegend,
OptionsWithTextFormatting,
OptionsWithTooltip,
AxisConfig,
BarValueVisibility,
GraphGradientMode,
HideableFieldConfig,
StackingMode,
} from '@grafana/schema';
import { VizOrientation } from '@grafana/data';
import { AxisConfig, BarValueVisibility, GraphGradientMode, HideableFieldConfig, StackingMode } from '@grafana/ui';
/**
* @alpha

View File

@@ -1,5 +1,11 @@
import { prepareGraphableFrames, preparePlotConfigBuilder, preparePlotFrame } from './utils';
import { LegendDisplayMode, TooltipDisplayMode } from '@grafana/schema';
import {
LegendDisplayMode,
TooltipDisplayMode,
BarValueVisibility,
GraphGradientMode,
StackingMode,
} from '@grafana/schema';
import {
createTheme,
DefaultTimeZone,
@@ -11,7 +17,6 @@ import {
VizOrientation,
} from '@grafana/data';
import { BarChartFieldConfig, BarChartOptions } from './types';
import { BarValueVisibility, GraphGradientMode, StackingMode } from '@grafana/ui';
function mockDataFrame() {
const df1 = new MutableDataFrame({

View File

@@ -13,16 +13,8 @@ import {
} from '@grafana/data';
import { BarChartFieldConfig, BarChartOptions, defaultBarChartFieldConfig } from './types';
import { BarsOptions, getConfig } from './bars';
import {
AxisPlacement,
FIXED_UNIT,
ScaleDirection,
ScaleDistribution,
ScaleOrientation,
StackingMode,
UPlotConfigBuilder,
UPlotConfigPrepFn,
} from '@grafana/ui';
import { AxisPlacement, ScaleDirection, ScaleDistribution, ScaleOrientation, StackingMode } from '@grafana/schema';
import { FIXED_UNIT, UPlotConfigBuilder, UPlotConfigPrepFn } from '@grafana/ui';
import { collectStackingGroups } from '../../../../../packages/grafana-ui/src/components/uPlot/utils';
/** @alpha */

View File

@@ -1,6 +1,13 @@
import React from 'react';
import uPlot, { AlignedData } from 'uplot';
import { VizLegendOptions, LegendDisplayMode } from '@grafana/schema';
import {
VizLegendOptions,
LegendDisplayMode,
ScaleDistribution,
AxisPlacement,
ScaleDirection,
ScaleOrientation,
} from '@grafana/schema';
import {
DataFrame,
formattedValueToString,
@@ -8,23 +15,13 @@ import {
getFieldSeriesColor,
GrafanaTheme2,
} from '@grafana/data';
import {
Themeable2,
UPlotConfigBuilder,
UPlotChart,
VizLayout,
AxisPlacement,
ScaleDirection,
ScaleOrientation,
PlotLegend,
} from '@grafana/ui';
import { Themeable2, UPlotConfigBuilder, UPlotChart, VizLayout, PlotLegend } from '@grafana/ui';
import {
histogramBucketSizes,
histogramFrameBucketMaxFieldName,
} from '@grafana/data/src/transformations/transformers/histogram';
import { PanelOptions } from './models.gen';
import { ScaleDistribution } from '@grafana/ui/src/components/uPlot/models.gen';
function incrRoundDn(num: number, incr: number) {
return Math.floor(num / incr) * incr;

View File

@@ -3,8 +3,14 @@
// It is currenty hand written but will serve as the target for cuetsy
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import { LegendDisplayMode, OptionsWithLegend, OptionsWithTooltip, TooltipDisplayMode } from '@grafana/schema';
import { GraphGradientMode, HideableFieldConfig } from '@grafana/ui';
import {
LegendDisplayMode,
OptionsWithLegend,
OptionsWithTooltip,
TooltipDisplayMode,
GraphGradientMode,
HideableFieldConfig,
} from '@grafana/schema';
export const modelVersion = Object.freeze([1, 0]);

View File

@@ -1,11 +1,10 @@
import React from 'react';
import { LegendDisplayMode } from '@grafana/schema';
import { LegendDisplayMode, BarValueVisibility } from '@grafana/schema';
import {
PanelContext,
PanelContextRoot,
GraphNG,
GraphNGProps,
BarValueVisibility,
UPlotConfigBuilder,
VizLayout,
VizLegend,

View File

@@ -1,7 +1,8 @@
import { FieldColorModeId, FieldConfigProperty, PanelPlugin } from '@grafana/data';
import { StateTimelinePanel } from './StateTimelinePanel';
import { TimelineOptions, TimelineFieldConfig, defaultPanelOptions, defaultTimelineFieldConfig } from './types';
import { BarValueVisibility, commonOptionsBuilder } from '@grafana/ui';
import { BarValueVisibility } from '@grafana/schema';
import { commonOptionsBuilder } from '@grafana/ui';
import { timelinePanelChangedHandler } from './migrations';
export const plugin = new PanelPlugin<TimelineOptions, TimelineFieldConfig>(StateTimelinePanel)

View File

@@ -4,7 +4,7 @@ import { pointWithin, Quadtree, Rect } from 'app/plugins/panel/barchart/quadtree
import { distribute, SPACE_BETWEEN } from 'app/plugins/panel/barchart/distribute';
import { TimelineFieldConfig, TimelineMode, TimelineValueAlignment } from './types';
import { GrafanaTheme2, TimeRange } from '@grafana/data';
import { BarValueVisibility } from '@grafana/ui';
import { BarValueVisibility } from '@grafana/schema';
import { alpha } from '@grafana/data/src/themes/colorManipulator';
const { round, min, ceil } = Math;

View File

@@ -1,5 +1,4 @@
import { OptionsWithTooltip, OptionsWithLegend } from '@grafana/schema';
import { HideableFieldConfig, BarValueVisibility } from '@grafana/ui';
import { OptionsWithTooltip, OptionsWithLegend, HideableFieldConfig, BarValueVisibility } from '@grafana/schema';
/**
* @alpha

View File

@@ -1,5 +1,4 @@
import React from 'react';
import { VizLegendOptions } from '@grafana/schema';
import { XYFieldMatchers } from '@grafana/ui/src/components/GraphNG/types';
import {
ArrayVector,
@@ -24,7 +23,7 @@ import {
VizLegendItem,
} from '@grafana/ui';
import { getConfig, TimelineCoreOptions } from './timeline';
import { AxisPlacement, ScaleDirection, ScaleOrientation } from '@grafana/ui/src/components/uPlot/config';
import { VizLegendOptions, AxisPlacement, ScaleDirection, ScaleOrientation } from '@grafana/schema';
import { TimelineFieldConfig, TimelineOptions } from './types';
import { PlotTooltipInterpolator } from '@grafana/ui/src/components/uPlot/types';
import { preparePlotData } from '../../../../../packages/grafana-ui/src/components/uPlot/utils';

View File

@@ -1,7 +1,8 @@
import { FieldColorModeId, FieldConfigProperty, PanelPlugin } from '@grafana/data';
import { StatusHistoryPanel } from './StatusHistoryPanel';
import { StatusPanelOptions, StatusFieldConfig, defaultStatusFieldConfig } from './types';
import { BarValueVisibility, commonOptionsBuilder } from '@grafana/ui';
import { BarValueVisibility } from '@grafana/schema';
import { commonOptionsBuilder } from '@grafana/ui';
export const plugin = new PanelPlugin<StatusPanelOptions, StatusFieldConfig>(StatusHistoryPanel)
.useFieldConfig({

View File

@@ -1,5 +1,4 @@
import { HideableFieldConfig, BarValueVisibility } from '@grafana/ui';
import { OptionsWithTooltip, OptionsWithLegend } from '@grafana/schema';
import { HideableFieldConfig, BarValueVisibility, OptionsWithTooltip, OptionsWithLegend } from '@grafana/schema';
/**
* @alpha

View File

@@ -1,6 +1,7 @@
import React, { useMemo } from 'react';
import { LineStyle } from '@grafana/schema';
import { FieldOverrideEditorProps, SelectableValue } from '@grafana/data';
import { HorizontalGroup, IconButton, LineStyle, RadioButtonGroup, Select } from '@grafana/ui';
import { HorizontalGroup, IconButton, RadioButtonGroup, Select } from '@grafana/ui';
type LineFill = 'solid' | 'dash' | 'dot';

View File

@@ -1,6 +1,7 @@
import React, { useCallback } from 'react';
import { GraphTresholdsStyleMode } from '@grafana/schema';
import { FieldOverrideEditorProps, SelectableValue } from '@grafana/data';
import { GraphTresholdsStyleMode, Select } from '@grafana/ui';
import { Select } from '@grafana/ui';
export const ThresholdsStyleEditor: React.FC<
FieldOverrideEditorProps<SelectableValue<{ mode: GraphTresholdsStyleMode }>, any>

View File

@@ -10,15 +10,16 @@ import {
BarAlignment,
DrawStyle,
GraphFieldConfig,
graphFieldOptions,
GraphGradientMode,
LineInterpolation,
LineStyle,
PointVisibility,
StackingMode,
commonOptionsBuilder,
GraphTresholdsStyleMode,
} from '@grafana/ui';
} from '@grafana/schema';
import { graphFieldOptions, commonOptionsBuilder } from '@grafana/ui';
import { LineStyleEditor } from './LineStyleEditor';
import { FillBellowToEditor } from './FillBelowToEditor';
import { SpanNullsEditor } from './SpanNullsEditor';

View File

@@ -13,6 +13,8 @@ import {
ThresholdsMode,
} from '@grafana/data';
import {
LegendDisplayMode,
TooltipDisplayMode,
AxisPlacement,
DrawStyle,
GraphFieldConfig,
@@ -23,8 +25,7 @@ import {
PointVisibility,
ScaleDistribution,
StackingMode,
} from '@grafana/ui';
import { LegendDisplayMode, TooltipDisplayMode } from '@grafana/schema';
} from '@grafana/schema';
import { TimeSeriesOptions } from './types';
import { omitBy, pickBy, isNil, isNumber, isString } from 'lodash';
import { defaultGraphConfig } from './config';

View File

@@ -1,5 +1,6 @@
import { GraphFieldConfig } from '@grafana/schema';
import { PanelPlugin } from '@grafana/data';
import { GraphFieldConfig, commonOptionsBuilder } from '@grafana/ui';
import { commonOptionsBuilder } from '@grafana/ui';
import { TimeSeriesPanel } from './TimeSeriesPanel';
import { graphPanelChangedHandler } from './migrations';
import { TimeSeriesOptions } from './types';

View File

@@ -7,7 +7,7 @@ import {
GrafanaTheme2,
isBooleanUnit,
} from '@grafana/data';
import { GraphFieldConfig, LineInterpolation, StackingMode } from '@grafana/ui';
import { GraphFieldConfig, LineInterpolation, StackingMode } from '@grafana/schema';
// This will return a set of frames with only graphable values included
export function prepareGraphableFields(

View File

@@ -1,5 +1,6 @@
import { GraphFieldConfig, DrawStyle } from '@grafana/schema';
import { PanelPlugin } from '@grafana/data';
import { DrawStyle, GraphFieldConfig, commonOptionsBuilder } from '@grafana/ui';
import { commonOptionsBuilder } from '@grafana/ui';
import { XYChartPanel } from './XYChartPanel';
import { Options } from './types';
import { XYDimsEditor } from './XYDimsEditor';