diff --git a/public/app/features/admin/state/apis.tsx b/public/app/features/admin/state/apis.tsx
index ae3a5731212..79c2061e4f5 100644
--- a/public/app/features/admin/state/apis.tsx
+++ b/public/app/features/admin/state/apis.tsx
@@ -1,58 +1,30 @@
-import React from 'react';
import { getBackendSrv } from '@grafana/runtime';
-import { PopoverContent } from '@grafana/ui';
-import { config } from 'app/core/config';
export interface ServerStat {
- name: string;
- value: number;
- tooltip?: PopoverContent;
+ activeAdmins: number;
+ activeEditors: number;
+ activeSessions: number;
+ activeUsers: number;
+ activeViewers: number;
+ admins: number;
+ alerts: number;
+ dashboards: number;
+ datasources: number;
+ editors: number;
+ orgs: number;
+ playlists: number;
+ snapshots: number;
+ stars: number;
+ tags: number;
+ users: number;
+ viewers: number;
}
-const { hasLicense } = config.licenseInfo;
-
-export const getServerStats = async (): Promise
=> {
- try {
- const res = await getBackendSrv().get('api/admin/stats');
- return [
- { name: 'Total users', value: res.users },
- ...(!hasLicense
- ? [
- { name: 'Total admins', value: res.admins },
- { name: 'Total editors', value: res.editors },
- { name: 'Total viewers', value: res.viewers },
- ]
- : []),
- {
- name: 'Active users (seen last 30 days)',
- value: res.activeUsers,
- tooltip: hasLicense
- ? () => (
- <>
- For active user count by role, see the Licensing page.
- >
- )
- : '',
- },
- ...(!hasLicense
- ? [
- { name: 'Active admins (seen last 30 days)', value: res.activeAdmins },
- { name: 'Active editors (seen last 30 days)', value: res.activeEditors },
- { name: 'Active viewers (seen last 30 days)', value: res.activeViewers },
- ]
- : []),
- { name: 'Active sessions', value: res.activeSessions },
- { name: 'Total dashboards', value: res.dashboards },
- { name: 'Total orgs', value: res.orgs },
- { name: 'Total playlists', value: res.playlists },
- { name: 'Total snapshots', value: res.snapshots },
- { name: 'Total dashboard tags', value: res.tags },
- { name: 'Total starred dashboards', value: res.stars },
- { name: 'Total alerts', value: res.alerts },
- { name: 'Total data sources', value: res.datasources },
- ];
- } catch (error) {
- console.error(error);
- throw error;
- }
+export const getServerStats = async (): Promise => {
+ return getBackendSrv()
+ .get('api/admin/stats')
+ .catch((err) => {
+ console.error(err);
+ return null;
+ });
};
diff --git a/public/app/features/explore/ExploreGraphNGPanel.tsx b/public/app/features/explore/ExploreGraphNGPanel.tsx
index 412f29d8e2c..b5117c9e357 100644
--- a/public/app/features/explore/ExploreGraphNGPanel.tsx
+++ b/public/app/features/explore/ExploreGraphNGPanel.tsx
@@ -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';
diff --git a/public/app/features/explore/utils/decorators.test.ts b/public/app/features/explore/utils/decorators.test.ts
index 550431de25b..21a2c1926f1 100644
--- a/public/app/features/explore/utils/decorators.test.ts
+++ b/public/app/features/explore/utils/decorators.test.ts
@@ -1,4 +1,4 @@
-import { DrawStyle, StackingMode } from '@grafana/ui';
+import { DrawStyle, StackingMode } from '@grafana/schema';
import { lastValueFrom } from 'rxjs';
import {
ArrayVector,
diff --git a/public/app/features/plugins/admin/components/Loader.tsx b/public/app/features/plugins/admin/components/Loader.tsx
index 8cfa0d05dff..1113f8e7215 100644
--- a/public/app/features/plugins/admin/components/Loader.tsx
+++ b/public/app/features/plugins/admin/components/Loader.tsx
@@ -2,11 +2,15 @@ import React from 'react';
import { LoadingPlaceholder } from '@grafana/ui';
import { Page } from './Page';
-export const Loader = () => {
+export interface Props {
+ text?: string;
+}
+
+export const Loader = ({ text = 'Loading...' }: Props) => {
return (
-
+
);
diff --git a/public/app/plugins/panel/barchart/BarChartPanel.tsx b/public/app/plugins/panel/barchart/BarChartPanel.tsx
index 41541603810..f766626c92d 100755
--- a/public/app/plugins/panel/barchart/BarChartPanel.tsx
+++ b/public/app/plugins/panel/barchart/BarChartPanel.tsx
@@ -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';
diff --git a/public/app/plugins/panel/barchart/bars.ts b/public/app/plugins/panel/barchart/bars.ts
index 11e0732ea42..509e455db0d 100644
--- a/public/app/plugins/panel/barchart/bars.ts
+++ b/public/app/plugins/panel/barchart/bars.ts
@@ -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;
diff --git a/public/app/plugins/panel/barchart/module.tsx b/public/app/plugins/panel/barchart/module.tsx
index 69e876842ff..583878c5dbf 100755
--- a/public/app/plugins/panel/barchart/module.tsx
+++ b/public/app/plugins/panel/barchart/module.tsx
@@ -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';
diff --git a/public/app/plugins/panel/barchart/types.ts b/public/app/plugins/panel/barchart/types.ts
index 66aa1b26c54..b80cab51265 100644
--- a/public/app/plugins/panel/barchart/types.ts
+++ b/public/app/plugins/panel/barchart/types.ts
@@ -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
diff --git a/public/app/plugins/panel/barchart/utils.test.ts b/public/app/plugins/panel/barchart/utils.test.ts
index 6c3330dee45..7d233d8cd64 100644
--- a/public/app/plugins/panel/barchart/utils.test.ts
+++ b/public/app/plugins/panel/barchart/utils.test.ts
@@ -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({
diff --git a/public/app/plugins/panel/barchart/utils.ts b/public/app/plugins/panel/barchart/utils.ts
index b35c3b2b5d0..261ef27ecf9 100644
--- a/public/app/plugins/panel/barchart/utils.ts
+++ b/public/app/plugins/panel/barchart/utils.ts
@@ -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 */
diff --git a/public/app/plugins/panel/histogram/Histogram.tsx b/public/app/plugins/panel/histogram/Histogram.tsx
index dbe08ac5216..d74ce4d7878 100644
--- a/public/app/plugins/panel/histogram/Histogram.tsx
+++ b/public/app/plugins/panel/histogram/Histogram.tsx
@@ -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;
diff --git a/public/app/plugins/panel/histogram/models.gen.ts b/public/app/plugins/panel/histogram/models.gen.ts
index 4cc57e51978..8b1c0cfb095 100644
--- a/public/app/plugins/panel/histogram/models.gen.ts
+++ b/public/app/plugins/panel/histogram/models.gen.ts
@@ -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]);
diff --git a/public/app/plugins/panel/state-timeline/TimelineChart.tsx b/public/app/plugins/panel/state-timeline/TimelineChart.tsx
index 4d2ccfbba06..22444eb9d73 100755
--- a/public/app/plugins/panel/state-timeline/TimelineChart.tsx
+++ b/public/app/plugins/panel/state-timeline/TimelineChart.tsx
@@ -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,
diff --git a/public/app/plugins/panel/state-timeline/module.tsx b/public/app/plugins/panel/state-timeline/module.tsx
index 18ea3c45b6b..793d0c2f9e9 100755
--- a/public/app/plugins/panel/state-timeline/module.tsx
+++ b/public/app/plugins/panel/state-timeline/module.tsx
@@ -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(StateTimelinePanel)
diff --git a/public/app/plugins/panel/state-timeline/timeline.ts b/public/app/plugins/panel/state-timeline/timeline.ts
index 975d485f084..a9d3f525bd4 100644
--- a/public/app/plugins/panel/state-timeline/timeline.ts
+++ b/public/app/plugins/panel/state-timeline/timeline.ts
@@ -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;
diff --git a/public/app/plugins/panel/state-timeline/types.ts b/public/app/plugins/panel/state-timeline/types.ts
index 9cda1c5d30a..909cb58a55a 100644
--- a/public/app/plugins/panel/state-timeline/types.ts
+++ b/public/app/plugins/panel/state-timeline/types.ts
@@ -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
diff --git a/public/app/plugins/panel/state-timeline/utils.ts b/public/app/plugins/panel/state-timeline/utils.ts
index 0ab875dcc5e..fd1d9d77e03 100644
--- a/public/app/plugins/panel/state-timeline/utils.ts
+++ b/public/app/plugins/panel/state-timeline/utils.ts
@@ -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';
diff --git a/public/app/plugins/panel/status-history/module.tsx b/public/app/plugins/panel/status-history/module.tsx
index e83d1239372..505a241e846 100755
--- a/public/app/plugins/panel/status-history/module.tsx
+++ b/public/app/plugins/panel/status-history/module.tsx
@@ -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(StatusHistoryPanel)
.useFieldConfig({
diff --git a/public/app/plugins/panel/status-history/types.ts b/public/app/plugins/panel/status-history/types.ts
index bab48dc0a39..ed96f94e634 100644
--- a/public/app/plugins/panel/status-history/types.ts
+++ b/public/app/plugins/panel/status-history/types.ts
@@ -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
diff --git a/public/app/plugins/panel/timeseries/LineStyleEditor.tsx b/public/app/plugins/panel/timeseries/LineStyleEditor.tsx
index bc5448fef07..75a089ce70e 100644
--- a/public/app/plugins/panel/timeseries/LineStyleEditor.tsx
+++ b/public/app/plugins/panel/timeseries/LineStyleEditor.tsx
@@ -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';
diff --git a/public/app/plugins/panel/timeseries/ThresholdsStyleEditor.tsx b/public/app/plugins/panel/timeseries/ThresholdsStyleEditor.tsx
index 560b053268f..03669ad9187 100644
--- a/public/app/plugins/panel/timeseries/ThresholdsStyleEditor.tsx
+++ b/public/app/plugins/panel/timeseries/ThresholdsStyleEditor.tsx
@@ -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, any>
diff --git a/public/app/plugins/panel/timeseries/config.ts b/public/app/plugins/panel/timeseries/config.ts
index be629fa2e06..576b65b87ae 100644
--- a/public/app/plugins/panel/timeseries/config.ts
+++ b/public/app/plugins/panel/timeseries/config.ts
@@ -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';
diff --git a/public/app/plugins/panel/timeseries/migrations.ts b/public/app/plugins/panel/timeseries/migrations.ts
index badcdee201a..46cbb9e0b78 100644
--- a/public/app/plugins/panel/timeseries/migrations.ts
+++ b/public/app/plugins/panel/timeseries/migrations.ts
@@ -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';
diff --git a/public/app/plugins/panel/timeseries/module.tsx b/public/app/plugins/panel/timeseries/module.tsx
index fa08e647799..a6dc76b8940 100644
--- a/public/app/plugins/panel/timeseries/module.tsx
+++ b/public/app/plugins/panel/timeseries/module.tsx
@@ -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';
diff --git a/public/app/plugins/panel/timeseries/utils.ts b/public/app/plugins/panel/timeseries/utils.ts
index 6bcc2db2dec..da4cdee11a1 100644
--- a/public/app/plugins/panel/timeseries/utils.ts
+++ b/public/app/plugins/panel/timeseries/utils.ts
@@ -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(
diff --git a/public/app/plugins/panel/xychart/module.tsx b/public/app/plugins/panel/xychart/module.tsx
index 9003dde7d92..6c8ebf9c4d0 100644
--- a/public/app/plugins/panel/xychart/module.tsx
+++ b/public/app/plugins/panel/xychart/module.tsx
@@ -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';
diff --git a/public/app/types/accessControl.ts b/public/app/types/accessControl.ts
index d5e795ed969..445ec2f34e8 100644
--- a/public/app/types/accessControl.ts
+++ b/public/app/types/accessControl.ts
@@ -34,4 +34,6 @@ export enum AccessControlAction {
LDAPUsersSync = 'ldap.user:sync',
LDAPStatusRead = 'ldap.status:read',
DataSourcesExplore = 'datasources:explore',
+
+ ActionServerStatsRead = 'server.stats:read',
}