From 5a41e8b119e3196e0c5c233a1d17a42867935580 Mon Sep 17 00:00:00 2001 From: Ryan McKinley Date: Fri, 16 Aug 2019 02:10:32 -0700 Subject: [PATCH] Refactor: move KeyValue and deprecation warning to @grafana/data (#18582) * move KeyValue and deprecation warning * move KeyValue and deprecation warning * rename displayProcessor file --- packages/grafana-data/src/types/data.ts | 2 ++ .../src/utils/deprecationWarning.test.ts | 0 .../src/utils/deprecationWarning.ts | 2 +- packages/grafana-data/src/utils/index.ts | 1 + packages/grafana-data/src/utils/processDataFrame.ts | 3 ++- .../ColorPicker/warnAboutColorPickerPropsDeprecation.ts | 2 +- packages/grafana-ui/src/types/app.ts | 4 ++-- packages/grafana-ui/src/types/plugin.ts | 3 +-- .../{displayValue.test.ts => displayProcessor.test.ts} | 2 +- .../src/utils/{displayValue.ts => displayProcessor.ts} | 6 +++--- packages/grafana-ui/src/utils/fieldDisplay.ts | 2 +- packages/grafana-ui/src/utils/index.ts | 3 +-- public/app/core/utils/kbn.ts | 4 ++-- public/app/features/panel/panellinks/link_srv.ts | 4 ++-- public/app/features/plugins/wrappers/AppConfigWrapper.tsx | 3 ++- .../datasource/elasticsearch/specs/elastic_response.test.ts | 3 +-- 16 files changed, 23 insertions(+), 21 deletions(-) rename packages/{grafana-ui => grafana-data}/src/utils/deprecationWarning.test.ts (100%) rename packages/{grafana-ui => grafana-data}/src/utils/deprecationWarning.ts (91%) rename packages/grafana-ui/src/utils/{displayValue.test.ts => displayProcessor.test.ts} (99%) rename packages/grafana-ui/src/utils/{displayValue.ts => displayProcessor.ts} (95%) diff --git a/packages/grafana-data/src/types/data.ts b/packages/grafana-data/src/types/data.ts index 49f14055cce..22db6f7436c 100644 --- a/packages/grafana-data/src/types/data.ts +++ b/packages/grafana-data/src/types/data.ts @@ -1,3 +1,5 @@ +export type KeyValue = { [s: string]: T }; + export enum LoadingState { NotStarted = 'NotStarted', Loading = 'Loading', diff --git a/packages/grafana-ui/src/utils/deprecationWarning.test.ts b/packages/grafana-data/src/utils/deprecationWarning.test.ts similarity index 100% rename from packages/grafana-ui/src/utils/deprecationWarning.test.ts rename to packages/grafana-data/src/utils/deprecationWarning.test.ts diff --git a/packages/grafana-ui/src/utils/deprecationWarning.ts b/packages/grafana-data/src/utils/deprecationWarning.ts similarity index 91% rename from packages/grafana-ui/src/utils/deprecationWarning.ts rename to packages/grafana-data/src/utils/deprecationWarning.ts index ef0ff225d5c..8ba62595d0a 100644 --- a/packages/grafana-ui/src/utils/deprecationWarning.ts +++ b/packages/grafana-data/src/utils/deprecationWarning.ts @@ -1,4 +1,4 @@ -import { KeyValue } from '../types/index'; +import { KeyValue } from '../types'; // Avoid writing the warning message more than once every 10s const history: KeyValue = {}; diff --git a/packages/grafana-data/src/utils/index.ts b/packages/grafana-data/src/utils/index.ts index ef3b7f4d511..a4cc7df0971 100644 --- a/packages/grafana-data/src/utils/index.ts +++ b/packages/grafana-data/src/utils/index.ts @@ -2,6 +2,7 @@ export * from './string'; export * from './registry'; export * from './markdown'; export * from './processDataFrame'; +export * from './deprecationWarning'; export * from './csv'; export * from './fieldReducer'; export * from './logs'; diff --git a/packages/grafana-data/src/utils/processDataFrame.ts b/packages/grafana-data/src/utils/processDataFrame.ts index 335c2bd6c7b..2b430a288d7 100644 --- a/packages/grafana-data/src/utils/processDataFrame.ts +++ b/packages/grafana-data/src/utils/processDataFrame.ts @@ -20,6 +20,7 @@ import { import { isDateTime } from './moment_wrapper'; import { ArrayVector, SortedVector } from './vector'; import { DataFrameHelper } from './dataFrameHelper'; +import { deprecationWarning } from './deprecationWarning'; function convertTableToDataFrame(table: TableData): DataFrame { const fields = table.columns.map(c => { @@ -224,7 +225,7 @@ export const toDataFrame = (data: any): DataFrame => { for (let i = 0; i < rows.length; i++) { v.appendRow(rows[i]); } - // TODO: deprection warning + deprecationWarning('DataFrame', '.rows', 'columnar format'); return v; } diff --git a/packages/grafana-ui/src/components/ColorPicker/warnAboutColorPickerPropsDeprecation.ts b/packages/grafana-ui/src/components/ColorPicker/warnAboutColorPickerPropsDeprecation.ts index 5f0424e0510..145cf5d5c67 100644 --- a/packages/grafana-ui/src/components/ColorPicker/warnAboutColorPickerPropsDeprecation.ts +++ b/packages/grafana-ui/src/components/ColorPicker/warnAboutColorPickerPropsDeprecation.ts @@ -1,4 +1,4 @@ -import { deprecationWarning } from '../../utils/deprecationWarning'; +import { deprecationWarning } from '@grafana/data'; import { ColorPickerProps } from './ColorPickerPopover'; export const warnAboutColorPickerPropsDeprecation = (componentName: string, props: ColorPickerProps) => { diff --git a/packages/grafana-ui/src/types/app.ts b/packages/grafana-ui/src/types/app.ts index 73894d4362f..4643671e4f1 100644 --- a/packages/grafana-ui/src/types/app.ts +++ b/packages/grafana-ui/src/types/app.ts @@ -1,6 +1,6 @@ import { ComponentClass } from 'react'; -import { NavModel } from '@grafana/data'; -import { PluginMeta, PluginIncludeType, GrafanaPlugin, KeyValue } from './plugin'; +import { NavModel, KeyValue } from '@grafana/data'; +import { PluginMeta, PluginIncludeType, GrafanaPlugin } from './plugin'; export interface AppRootProps { meta: AppPluginMeta; diff --git a/packages/grafana-ui/src/types/plugin.ts b/packages/grafana-ui/src/types/plugin.ts index aea620e080b..c84c2366617 100644 --- a/packages/grafana-ui/src/types/plugin.ts +++ b/packages/grafana-ui/src/types/plugin.ts @@ -1,4 +1,5 @@ import { ComponentClass } from 'react'; +import { KeyValue } from '@grafana/data'; export enum PluginState { alpha = 'alpha', // Only included it `enable_alpha` is true @@ -11,8 +12,6 @@ export enum PluginType { app = 'app', } -export type KeyValue = { [s: string]: T }; - export interface PluginMeta { id: string; name: string; diff --git a/packages/grafana-ui/src/utils/displayValue.test.ts b/packages/grafana-ui/src/utils/displayProcessor.test.ts similarity index 99% rename from packages/grafana-ui/src/utils/displayValue.test.ts rename to packages/grafana-ui/src/utils/displayProcessor.test.ts index f23f7815caf..81b7bd45444 100644 --- a/packages/grafana-ui/src/utils/displayValue.test.ts +++ b/packages/grafana-ui/src/utils/displayProcessor.test.ts @@ -1,6 +1,6 @@ import { MappingType, ValueMapping, DisplayProcessor, DisplayValue } from '@grafana/data'; -import { getDisplayProcessor, getColorFromThreshold, getDecimalsForValue } from './displayValue'; +import { getDisplayProcessor, getColorFromThreshold, getDecimalsForValue } from './displayProcessor'; function assertSame(input: any, processors: DisplayProcessor[], match: DisplayValue) { processors.forEach(processor => { diff --git a/packages/grafana-ui/src/utils/displayValue.ts b/packages/grafana-ui/src/utils/displayProcessor.ts similarity index 95% rename from packages/grafana-ui/src/utils/displayValue.ts rename to packages/grafana-ui/src/utils/displayProcessor.ts index 05637076cc5..78e7298e30f 100644 --- a/packages/grafana-ui/src/utils/displayValue.ts +++ b/packages/grafana-ui/src/utils/displayProcessor.ts @@ -15,9 +15,9 @@ import { getValueFormat } from './valueFormats/valueFormats'; import { getColorFromHexRgbOrName } from './namedColorsPalette'; // Types -import { GrafanaTheme, GrafanaThemeType } from '../types'; +import { GrafanaTheme, GrafanaThemeType } from '../types/index'; -export interface DisplayValueOptions { +interface DisplayProcessorOptions { field?: FieldConfig; // Context @@ -25,7 +25,7 @@ export interface DisplayValueOptions { theme?: GrafanaTheme; // Will pick 'dark' if not defined } -export function getDisplayProcessor(options?: DisplayValueOptions): DisplayProcessor { +export function getDisplayProcessor(options?: DisplayProcessorOptions): DisplayProcessor { if (options && !_.isEmpty(options)) { const field = options.field ? options.field : {}; const formatFunc = getValueFormat(field.unit || 'none'); diff --git a/packages/grafana-ui/src/utils/fieldDisplay.ts b/packages/grafana-ui/src/utils/fieldDisplay.ts index 7489cd06909..86c149745a4 100644 --- a/packages/grafana-ui/src/utils/fieldDisplay.ts +++ b/packages/grafana-ui/src/utils/fieldDisplay.ts @@ -12,7 +12,7 @@ import toNumber from 'lodash/toNumber'; import toString from 'lodash/toString'; import { GrafanaTheme, InterpolateFunction, ScopedVars } from '../types/index'; -import { getDisplayProcessor } from './displayValue'; +import { getDisplayProcessor } from './displayProcessor'; import { getFlotPairs } from './flotPairs'; export interface FieldDisplayOptions { diff --git a/packages/grafana-ui/src/utils/index.ts b/packages/grafana-ui/src/utils/index.ts index 0c973b08486..077721ec22e 100644 --- a/packages/grafana-ui/src/utils/index.ts +++ b/packages/grafana-ui/src/utils/index.ts @@ -1,9 +1,8 @@ export * from './valueFormats/valueFormats'; export * from './colors'; export * from './namedColorsPalette'; -export * from './displayValue'; +export * from './displayProcessor'; export * from './fieldDisplay'; -export * from './deprecationWarning'; export * from './validate'; export { getFlotPairs } from './flotPairs'; export * from './slate'; diff --git a/public/app/core/utils/kbn.ts b/public/app/core/utils/kbn.ts index 6a0e9e21773..289bffa29fe 100644 --- a/public/app/core/utils/kbn.ts +++ b/public/app/core/utils/kbn.ts @@ -1,6 +1,6 @@ import { has } from 'lodash'; -import { getValueFormat, getValueFormatterIndex, getValueFormats, deprecationWarning } from '@grafana/ui'; -import { stringToJsRegex, TimeRange } from '@grafana/data'; +import { getValueFormat, getValueFormatterIndex, getValueFormats } from '@grafana/ui'; +import { stringToJsRegex, TimeRange, deprecationWarning } from '@grafana/data'; const kbn: any = {}; diff --git a/public/app/features/panel/panellinks/link_srv.ts b/public/app/features/panel/panellinks/link_srv.ts index aa8b0651f8c..38e6a19e422 100644 --- a/public/app/features/panel/panellinks/link_srv.ts +++ b/public/app/features/panel/panellinks/link_srv.ts @@ -3,8 +3,8 @@ import { TimeSrv } from 'app/features/dashboard/services/TimeSrv'; import templateSrv, { TemplateSrv } from 'app/features/templating/template_srv'; import coreModule from 'app/core/core_module'; import { appendQueryToUrl, toUrlParams } from 'app/core/utils/url'; -import { VariableSuggestion, KeyValue, ScopedVars, deprecationWarning, VariableOrigin } from '@grafana/ui'; -import { TimeSeriesValue, DateTime, dateTime, DataLink } from '@grafana/data'; +import { VariableSuggestion, ScopedVars, VariableOrigin } from '@grafana/ui'; +import { TimeSeriesValue, DateTime, dateTime, DataLink, KeyValue, deprecationWarning } from '@grafana/data'; export const DataLinkBuiltInVars = { keepTime: '__url_time_range', diff --git a/public/app/features/plugins/wrappers/AppConfigWrapper.tsx b/public/app/features/plugins/wrappers/AppConfigWrapper.tsx index ba5aa1ef5db..8fec25f5f21 100644 --- a/public/app/features/plugins/wrappers/AppConfigWrapper.tsx +++ b/public/app/features/plugins/wrappers/AppConfigWrapper.tsx @@ -3,7 +3,8 @@ import React, { PureComponent } from 'react'; import cloneDeep from 'lodash/cloneDeep'; import extend from 'lodash/extend'; -import { PluginMeta, AppPlugin, Button, deprecationWarning } from '@grafana/ui'; +import { PluginMeta, AppPlugin, Button } from '@grafana/ui'; +import { deprecationWarning } from '@grafana/data'; import { AngularComponent, getAngularLoader } from '@grafana/runtime'; import { getBackendSrv } from 'app/core/services/backend_srv'; diff --git a/public/app/plugins/datasource/elasticsearch/specs/elastic_response.test.ts b/public/app/plugins/datasource/elasticsearch/specs/elastic_response.test.ts index 271038bbce6..f46dea6a040 100644 --- a/public/app/plugins/datasource/elasticsearch/specs/elastic_response.test.ts +++ b/public/app/plugins/datasource/elasticsearch/specs/elastic_response.test.ts @@ -1,6 +1,5 @@ import { ElasticResponse } from '../elastic_response'; -import { DataFrameHelper, DataFrameView } from '@grafana/data'; -import { KeyValue } from '@grafana/ui'; +import { DataFrameHelper, DataFrameView, KeyValue } from '@grafana/data'; describe('ElasticResponse', () => { let targets;