mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Build: add @grafana/data package (#17436)
first step in moving non-ui components to their own package
This commit is contained in:
@@ -1,4 +0,0 @@
|
|||||||
# Shared build scripts
|
|
||||||
|
|
||||||
Shared build scripts for plugins & internal packages.
|
|
||||||
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@grafana/build",
|
|
||||||
"private": true,
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "",
|
|
||||||
"main": "index.js",
|
|
||||||
"scripts": {
|
|
||||||
"tslint": "echo \"Nothing to do\"",
|
|
||||||
"typecheck": "echo \"Nothing to do\""
|
|
||||||
},
|
|
||||||
"author": "Grafana Labs",
|
|
||||||
"license": "Apache-2.0"
|
|
||||||
}
|
|
||||||
3
packages/grafana-data/README.md
Normal file
3
packages/grafana-data/README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Grafana Data Library
|
||||||
|
|
||||||
|
The core data components
|
||||||
7
packages/grafana-data/index.js
Normal file
7
packages/grafana-data/index.js
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
if (process.env.NODE_ENV === 'production') {
|
||||||
|
module.exports = require('./index.production.js');
|
||||||
|
} else {
|
||||||
|
module.exports = require('./index.development.js');
|
||||||
|
}
|
||||||
41
packages/grafana-data/package.json
Normal file
41
packages/grafana-data/package.json
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"name": "@grafana/data",
|
||||||
|
"version": "6.3.0-alpha.0",
|
||||||
|
"description": "Grafana Data Library",
|
||||||
|
"keywords": [
|
||||||
|
"typescript"
|
||||||
|
],
|
||||||
|
"main": "src/index.ts",
|
||||||
|
"scripts": {
|
||||||
|
"tslint": "tslint -c tslint.json --project tsconfig.json",
|
||||||
|
"typecheck": "tsc --noEmit",
|
||||||
|
"clean": "rimraf ./dist ./compiled",
|
||||||
|
"build": "rollup -c rollup.config.ts"
|
||||||
|
},
|
||||||
|
"author": "Grafana Labs",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"dependencies": {},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/jest": "23.3.14",
|
||||||
|
"@types/jquery": "1.10.35",
|
||||||
|
"@types/lodash": "4.14.123",
|
||||||
|
"@types/node": "10.14.1",
|
||||||
|
"@types/papaparse": "4.5.9",
|
||||||
|
"@types/pretty-format": "20.0.1",
|
||||||
|
"@types/react": "16.8.16",
|
||||||
|
"awesome-typescript-loader": "^5.2.1",
|
||||||
|
"lodash": "^4.17.10",
|
||||||
|
"pretty-format": "^24.5.0",
|
||||||
|
"rollup": "1.6.0",
|
||||||
|
"rollup-plugin-commonjs": "9.2.1",
|
||||||
|
"rollup-plugin-node-resolve": "4.0.1",
|
||||||
|
"rollup-plugin-sourcemaps": "0.4.2",
|
||||||
|
"rollup-plugin-terser": "4.0.4",
|
||||||
|
"rollup-plugin-typescript2": "0.19.3",
|
||||||
|
"rollup-plugin-visualizer": "0.9.2",
|
||||||
|
"typescript": "3.4.1"
|
||||||
|
},
|
||||||
|
"resolutions": {
|
||||||
|
"@types/lodash": "4.14.119"
|
||||||
|
}
|
||||||
|
}
|
||||||
50
packages/grafana-data/rollup.config.ts
Normal file
50
packages/grafana-data/rollup.config.ts
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
import resolve from 'rollup-plugin-node-resolve';
|
||||||
|
import commonjs from 'rollup-plugin-commonjs';
|
||||||
|
import sourceMaps from 'rollup-plugin-sourcemaps';
|
||||||
|
import { terser } from 'rollup-plugin-terser';
|
||||||
|
|
||||||
|
const pkg = require('./package.json');
|
||||||
|
|
||||||
|
const libraryName = pkg.name;
|
||||||
|
|
||||||
|
const buildCjsPackage = ({ env }) => {
|
||||||
|
return {
|
||||||
|
input: `compiled/index.js`,
|
||||||
|
output: [
|
||||||
|
{
|
||||||
|
file: `dist/index.${env}.js`,
|
||||||
|
name: libraryName,
|
||||||
|
format: 'cjs',
|
||||||
|
sourcemap: true,
|
||||||
|
exports: 'named',
|
||||||
|
globals: {},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
external: ['lodash'], // Use Lodash from grafana
|
||||||
|
plugins: [
|
||||||
|
commonjs({
|
||||||
|
include: /node_modules/,
|
||||||
|
namedExports: {
|
||||||
|
'../../node_modules/lodash/lodash.js': [
|
||||||
|
'flatten',
|
||||||
|
'find',
|
||||||
|
'upperFirst',
|
||||||
|
'debounce',
|
||||||
|
'isNil',
|
||||||
|
'isNumber',
|
||||||
|
'flattenDeep',
|
||||||
|
'map',
|
||||||
|
'chunk',
|
||||||
|
'sortBy',
|
||||||
|
'uniqueId',
|
||||||
|
'zip',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
resolve(),
|
||||||
|
sourceMaps(),
|
||||||
|
env === 'production' && terser(),
|
||||||
|
],
|
||||||
|
};
|
||||||
|
};
|
||||||
|
export default [buildCjsPackage({ env: 'development' }), buildCjsPackage({ env: 'production' })];
|
||||||
2
packages/grafana-data/src/index.ts
Normal file
2
packages/grafana-data/src/index.ts
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
export * from './utils/index';
|
||||||
|
export * from './types/index';
|
||||||
1
packages/grafana-data/src/types/index.ts
Normal file
1
packages/grafana-data/src/types/index.ts
Normal file
@@ -0,0 +1 @@
|
|||||||
|
export * from './navModel';
|
||||||
1
packages/grafana-data/src/utils/index.ts
Normal file
1
packages/grafana-data/src/utils/index.ts
Normal file
@@ -0,0 +1 @@
|
|||||||
|
export * from './string';
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
import { SelectOptionItem } from './../components/Select/Select';
|
|
||||||
|
|
||||||
export function stringToJsRegex(str: string): RegExp {
|
export function stringToJsRegex(str: string): RegExp {
|
||||||
if (str[0] !== '/') {
|
if (str[0] !== '/') {
|
||||||
return new RegExp('^' + str + '$');
|
return new RegExp('^' + str + '$');
|
||||||
@@ -43,13 +41,6 @@ export function stringToMs(str: string): number {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getIntervalFromString(strInterval: string): SelectOptionItem<number> {
|
|
||||||
return {
|
|
||||||
label: strInterval,
|
|
||||||
value: stringToMs(strInterval),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function toNumberString(value: number | undefined | null): string {
|
export function toNumberString(value: number | undefined | null): string {
|
||||||
if (value !== null && value !== undefined && Number.isFinite(value as number)) {
|
if (value !== null && value !== undefined && Number.isFinite(value as number)) {
|
||||||
return value.toString();
|
return value.toString();
|
||||||
4
packages/grafana-data/tsconfig.build.json
Normal file
4
packages/grafana-data/tsconfig.build.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"extends": "./tsconfig.json",
|
||||||
|
"exclude": ["dist", "node_modules", "**/*.test.ts", "**/*.test.tsx"]
|
||||||
|
}
|
||||||
19
packages/grafana-data/tsconfig.json
Normal file
19
packages/grafana-data/tsconfig.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../tsconfig.json",
|
||||||
|
"include": ["src/**/*.ts", "src/**/*.tsx", "../../public/app/types/jquery/*.ts"],
|
||||||
|
"exclude": ["dist", "node_modules"],
|
||||||
|
"compilerOptions": {
|
||||||
|
"rootDirs": ["."],
|
||||||
|
"module": "esnext",
|
||||||
|
"outDir": "compiled",
|
||||||
|
"declaration": true,
|
||||||
|
"declarationDir": "dist",
|
||||||
|
"strict": true,
|
||||||
|
"alwaysStrict": true,
|
||||||
|
"noImplicitAny": true,
|
||||||
|
"strictNullChecks": true,
|
||||||
|
"typeRoots": ["./node_modules/@types", "types"],
|
||||||
|
"skipLibCheck": true, // Temp workaround for Duplicate identifier tsc errors,
|
||||||
|
"removeComments": false
|
||||||
|
}
|
||||||
|
}
|
||||||
6
packages/grafana-data/tslint.json
Normal file
6
packages/grafana-data/tslint.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../tslint.json",
|
||||||
|
"rules": {
|
||||||
|
"import-blacklist": [true, ["^@grafana/data.*"], ["^@grafana/ui.*"], ["^@grafana/runtime.*"]]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@grafana/runtime",
|
"name": "@grafana/runtime",
|
||||||
"version": "6.0.1-alpha.0",
|
"version": "6.3.0-alpha.0",
|
||||||
"description": "Grafana Runtime Library",
|
"description": "Grafana Runtime Library",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"typescript",
|
"typescript",
|
||||||
|
|||||||
@@ -3,8 +3,16 @@ import { interval, Subscription, Subject, of, NEVER } from 'rxjs';
|
|||||||
import { tap, switchMap } from 'rxjs/operators';
|
import { tap, switchMap } from 'rxjs/operators';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
|
|
||||||
import { stringToMs } from '../../utils/string';
|
import { stringToMs } from '@grafana/data';
|
||||||
import { isLive } from '../RefreshPicker/RefreshPicker';
|
import { isLive } from '../RefreshPicker/RefreshPicker';
|
||||||
|
import { SelectOptionItem } from '../Select/Select';
|
||||||
|
|
||||||
|
export function getIntervalFromString(strInterval: string): SelectOptionItem<number> {
|
||||||
|
return {
|
||||||
|
label: strInterval,
|
||||||
|
value: stringToMs(strInterval),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
func: () => any; // TODO
|
func: () => any; // TODO
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import { StatsPicker } from '../StatsPicker/StatsPicker';
|
|||||||
import { FieldDisplayOptions, DEFAULT_FIELD_DISPLAY_VALUES_LIMIT } from '../../utils/fieldDisplay';
|
import { FieldDisplayOptions, DEFAULT_FIELD_DISPLAY_VALUES_LIMIT } from '../../utils/fieldDisplay';
|
||||||
import { Field } from '../../types/data';
|
import { Field } from '../../types/data';
|
||||||
import Select, { SelectOptionItem } from '../Select/Select';
|
import Select, { SelectOptionItem } from '../Select/Select';
|
||||||
import { toNumberString, toIntegerOrUndefined } from '../../utils';
|
import { toNumberString, toIntegerOrUndefined } from '@grafana/data';
|
||||||
import { ReducerID } from '../../utils/fieldReducer';
|
import { ReducerID } from '../../utils/fieldReducer';
|
||||||
|
|
||||||
const showOptions: Array<SelectOptionItem<boolean>> = [
|
const showOptions: Array<SelectOptionItem<boolean>> = [
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { UnitPicker } from '../UnitPicker/UnitPicker';
|
|||||||
|
|
||||||
// Types
|
// Types
|
||||||
import { Field } from '../../types/data';
|
import { Field } from '../../types/data';
|
||||||
import { toIntegerOrUndefined } from '../../utils';
|
import { toIntegerOrUndefined } from '@grafana/data';
|
||||||
import { SelectOptionItem } from '../Select/Select';
|
import { SelectOptionItem } from '../Select/Select';
|
||||||
|
|
||||||
import { VAR_SERIES_NAME, VAR_FIELD_NAME, VAR_CALC, VAR_CELL_PREFIX } from '../../utils/fieldDisplay';
|
import { VAR_SERIES_NAME, VAR_FIELD_NAME, VAR_CALC, VAR_CELL_PREFIX } from '../../utils/fieldDisplay';
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import {
|
|||||||
TableCellBuilderOptions,
|
TableCellBuilderOptions,
|
||||||
simpleCellBuilder,
|
simpleCellBuilder,
|
||||||
} from './TableCellBuilder';
|
} from './TableCellBuilder';
|
||||||
import { stringToJsRegex } from '../../utils/index';
|
import { stringToJsRegex } from '@grafana/data';
|
||||||
import { SeriesData } from '../../types/data';
|
import { SeriesData } from '../../types/data';
|
||||||
import { InterpolateFunction } from '../../types/panel';
|
import { InterpolateFunction } from '../../types/panel';
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { ComponentClass } from 'react';
|
import { ComponentClass } from 'react';
|
||||||
import { NavModel } from './navModel';
|
import { NavModel } from '@grafana/data';
|
||||||
import { PluginMeta, PluginIncludeType, GrafanaPlugin, KeyValue } from './plugin';
|
import { PluginMeta, PluginIncludeType, GrafanaPlugin, KeyValue } from './plugin';
|
||||||
|
|
||||||
export interface AppRootProps<T = KeyValue> {
|
export interface AppRootProps<T = KeyValue> {
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ export * from './datasource';
|
|||||||
export * from './theme';
|
export * from './theme';
|
||||||
export * from './graph';
|
export * from './graph';
|
||||||
export * from './threshold';
|
export * from './threshold';
|
||||||
export * from './navModel';
|
|
||||||
export * from './input';
|
export * from './input';
|
||||||
export * from './logs';
|
export * from './logs';
|
||||||
export * from './displayValue';
|
export * from './displayValue';
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ export * from './valueFormats/valueFormats';
|
|||||||
export * from './colors';
|
export * from './colors';
|
||||||
export * from './namedColorsPalette';
|
export * from './namedColorsPalette';
|
||||||
export * from './thresholds';
|
export * from './thresholds';
|
||||||
export * from './string';
|
|
||||||
export * from './csv';
|
export * from './csv';
|
||||||
export * from './fieldReducer';
|
export * from './fieldReducer';
|
||||||
export * from './displayValue';
|
export * from './displayValue';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { NavModelItem } from '@grafana/ui';
|
import { NavModelItem } from '@grafana/data';
|
||||||
|
|
||||||
export enum ActionTypes {
|
export enum ActionTypes {
|
||||||
UpdateNavIndex = 'UPDATE_NAV_INDEX',
|
UpdateNavIndex = 'UPDATE_NAV_INDEX',
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ import { getTitleFromNavModel } from 'app/core/selectors/navModel';
|
|||||||
import PageHeader from '../PageHeader/PageHeader';
|
import PageHeader from '../PageHeader/PageHeader';
|
||||||
import Footer from '../Footer/Footer';
|
import Footer from '../Footer/Footer';
|
||||||
import PageContents from './PageContents';
|
import PageContents from './PageContents';
|
||||||
import { CustomScrollbar, NavModel } from '@grafana/ui';
|
import { CustomScrollbar } from '@grafana/ui';
|
||||||
|
import { NavModel } from '@grafana/data';
|
||||||
import { isEqual } from 'lodash';
|
import { isEqual } from 'lodash';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import React, { FormEvent } from 'react';
|
import React, { FormEvent } from 'react';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import appEvents from 'app/core/app_events';
|
import appEvents from 'app/core/app_events';
|
||||||
import { NavModel, NavModelItem, NavModelBreadcrumb } from '@grafana/ui';
|
import { NavModel, NavModelItem, NavModelBreadcrumb } from '@grafana/data';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
model: NavModel;
|
model: NavModel;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import React, { PureComponent } from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
import appEvents from '../../app_events';
|
import appEvents from '../../app_events';
|
||||||
import { User } from '../../services/context_srv';
|
import { User } from '../../services/context_srv';
|
||||||
import { NavModelItem } from '@grafana/ui';
|
import { NavModelItem } from '@grafana/data';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
link: NavModelItem;
|
link: NavModelItem;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import SignIn from './SignIn';
|
|||||||
import BottomNavLinks from './BottomNavLinks';
|
import BottomNavLinks from './BottomNavLinks';
|
||||||
import { contextSrv } from 'app/core/services/context_srv';
|
import { contextSrv } from 'app/core/services/context_srv';
|
||||||
import config from '../../config';
|
import config from '../../config';
|
||||||
import { NavModelItem } from '@grafana/ui';
|
import { NavModelItem } from '@grafana/data';
|
||||||
|
|
||||||
export default function BottomSection() {
|
export default function BottomSection() {
|
||||||
const navTree: NavModelItem[] = _.cloneDeep(config.bootData.navTree);
|
const navTree: NavModelItem[] = _.cloneDeep(config.bootData.navTree);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import React, { FC } from 'react';
|
import React, { FC } from 'react';
|
||||||
import DropDownChild from './DropDownChild';
|
import DropDownChild from './DropDownChild';
|
||||||
import { NavModelItem } from '@grafana/ui';
|
import { NavModelItem } from '@grafana/data';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
link: NavModelItem;
|
link: NavModelItem;
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ import { updateLegendValues } from './time_series2';
|
|||||||
import TimeSeries from './time_series2';
|
import TimeSeries from './time_series2';
|
||||||
import { searchResultsDirective } from './components/search/search_results';
|
import { searchResultsDirective } from './components/search/search_results';
|
||||||
import { manageDashboardsDirective } from './components/manage_dashboards/manage_dashboards';
|
import { manageDashboardsDirective } from './components/manage_dashboards/manage_dashboards';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
export {
|
export {
|
||||||
profiler,
|
profiler,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import coreModule from 'app/core/core_module';
|
import coreModule from 'app/core/core_module';
|
||||||
import config from 'app/core/config';
|
import config from 'app/core/config';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
export class NavModelSrv {
|
export class NavModelSrv {
|
||||||
navItems: any;
|
navItems: any;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Action, ActionTypes } from 'app/core/actions/navModel';
|
import { Action, ActionTypes } from 'app/core/actions/navModel';
|
||||||
import { NavIndex, NavModelItem } from '@grafana/ui';
|
import { NavIndex, NavModelItem } from '@grafana/data';
|
||||||
import config from 'app/core/config';
|
import config from 'app/core/config';
|
||||||
|
|
||||||
export function buildInitialState(): NavIndex {
|
export function buildInitialState(): NavIndex {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { NavModel, NavModelItem, NavIndex } from '@grafana/ui';
|
import { NavModel, NavModelItem, NavIndex } from '@grafana/data';
|
||||||
|
|
||||||
function getNotFoundModel(): NavModel {
|
function getNotFoundModel(): NavModel {
|
||||||
const node: NavModelItem = {
|
const node: NavModelItem = {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { getFlotTickDecimals } from 'app/core/utils/ticks';
|
import { getFlotTickDecimals } from 'app/core/utils/ticks';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import { getValueFormat, stringToJsRegex, ValueFormatter, DecimalCount } from '@grafana/ui';
|
import { getValueFormat, ValueFormatter, DecimalCount } from '@grafana/ui';
|
||||||
|
import { stringToJsRegex } from '@grafana/data';
|
||||||
|
|
||||||
function matchSeriesOverride(aliasOrRegex: string, seriesAlias: string) {
|
function matchSeriesOverride(aliasOrRegex: string, seriesAlias: string) {
|
||||||
if (!aliasOrRegex) {
|
if (!aliasOrRegex) {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { has } from 'lodash';
|
import { has } from 'lodash';
|
||||||
import { getValueFormat, getValueFormatterIndex, getValueFormats, stringToJsRegex } from '@grafana/ui';
|
import { getValueFormat, getValueFormatterIndex, getValueFormats } from '@grafana/ui';
|
||||||
|
import { stringToJsRegex } from '@grafana/data';
|
||||||
import deprecationWarning from '@grafana/ui/src/utils/deprecationWarning';
|
import deprecationWarning from '@grafana/ui/src/utils/deprecationWarning';
|
||||||
|
|
||||||
const kbn: any = {};
|
const kbn: any = {};
|
||||||
@@ -231,7 +232,7 @@ kbn.slugifyForUrl = str => {
|
|||||||
|
|
||||||
/** deprecated since 6.1, use grafana/ui */
|
/** deprecated since 6.1, use grafana/ui */
|
||||||
kbn.stringToJsRegex = str => {
|
kbn.stringToJsRegex = str => {
|
||||||
deprecationWarning('kbn.ts', 'kbn.stringToJsRegex()', '@grafana/ui');
|
deprecationWarning('kbn.ts', 'kbn.stringToJsRegex()', '@grafana/data');
|
||||||
return stringToJsRegex(str);
|
return stringToJsRegex(str);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { StoreState } from 'app/types';
|
|||||||
import { getNavModel } from 'app/core/selectors/navModel';
|
import { getNavModel } from 'app/core/selectors/navModel';
|
||||||
import { getServerStats, ServerStat } from './state/apis';
|
import { getServerStats, ServerStat } from './state/apis';
|
||||||
import Page from 'app/core/components/Page/Page';
|
import Page from 'app/core/components/Page/Page';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
navModel: NavModel;
|
navModel: NavModel;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { AlertRule } from '../../types';
|
|||||||
import appEvents from '../../core/app_events';
|
import appEvents from '../../core/app_events';
|
||||||
import { mockActionCreator } from 'app/core/redux';
|
import { mockActionCreator } from 'app/core/redux';
|
||||||
import { updateLocation } from 'app/core/actions';
|
import { updateLocation } from 'app/core/actions';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
jest.mock('../../core/app_events', () => ({
|
jest.mock('../../core/app_events', () => ({
|
||||||
emit: jest.fn(),
|
emit: jest.fn(),
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import { StoreState, AlertRule } from 'app/types';
|
|||||||
import { getAlertRulesAsync, setSearchQuery, togglePauseAlertRule } from './state/actions';
|
import { getAlertRulesAsync, setSearchQuery, togglePauseAlertRule } from './state/actions';
|
||||||
import { getAlertRuleItems, getSearchQuery } from './state/selectors';
|
import { getAlertRuleItems, getSearchQuery } from './state/selectors';
|
||||||
import { FilterInput } from 'app/core/components/FilterInput/FilterInput';
|
import { FilterInput } from 'app/core/components/FilterInput/FilterInput';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
navModel: NavModel;
|
navModel: NavModel;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { shallow } from 'enzyme';
|
|||||||
import { Props, ApiKeysPage } from './ApiKeysPage';
|
import { Props, ApiKeysPage } from './ApiKeysPage';
|
||||||
import { ApiKey } from 'app/types';
|
import { ApiKey } from 'app/types';
|
||||||
import { getMultipleMockKeys, getMockKey } from './__mocks__/apiKeysMock';
|
import { getMultipleMockKeys, getMockKey } from './__mocks__/apiKeysMock';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
const setup = (propOverrides?: object) => {
|
const setup = (propOverrides?: object) => {
|
||||||
const props: Props = {
|
const props: Props = {
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ import ApiKeysAddedModal from './ApiKeysAddedModal';
|
|||||||
import config from 'app/core/config';
|
import config from 'app/core/config';
|
||||||
import appEvents from 'app/core/app_events';
|
import appEvents from 'app/core/app_events';
|
||||||
import EmptyListCTA from 'app/core/components/EmptyListCTA/EmptyListCTA';
|
import EmptyListCTA from 'app/core/components/EmptyListCTA/EmptyListCTA';
|
||||||
import { DeleteButton, Input, NavModel } from '@grafana/ui';
|
import { DeleteButton, Input } from '@grafana/ui';
|
||||||
|
import { NavModel } from '@grafana/data';
|
||||||
import { FilterInput } from 'app/core/components/FilterInput/FilterInput';
|
import { FilterInput } from 'app/core/components/FilterInput/FilterInput';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { shallow } from 'enzyme';
|
import { shallow } from 'enzyme';
|
||||||
import { DataSourceDashboards, Props } from './DataSourceDashboards';
|
import { DataSourceDashboards, Props } from './DataSourceDashboards';
|
||||||
import { NavModel, DataSourceSettings } from '@grafana/ui';
|
import { DataSourceSettings } from '@grafana/ui';
|
||||||
|
import { NavModel } from '@grafana/data';
|
||||||
import { PluginDashboard } from 'app/types';
|
import { PluginDashboard } from 'app/types';
|
||||||
|
|
||||||
const setup = (propOverrides?: object) => {
|
const setup = (propOverrides?: object) => {
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ import { getDataSource } from './state/selectors';
|
|||||||
|
|
||||||
// Types
|
// Types
|
||||||
import { PluginDashboard, StoreState } from 'app/types';
|
import { PluginDashboard, StoreState } from 'app/types';
|
||||||
import { NavModel, DataSourceSettings } from '@grafana/ui';
|
import { DataSourceSettings } from '@grafana/ui';
|
||||||
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
navModel: NavModel;
|
navModel: NavModel;
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { shallow } from 'enzyme';
|
import { shallow } from 'enzyme';
|
||||||
import { DataSourcesListPage, Props } from './DataSourcesListPage';
|
import { DataSourcesListPage, Props } from './DataSourcesListPage';
|
||||||
import { NavModel, DataSourceSettings } from '@grafana/ui';
|
import { DataSourceSettings } from '@grafana/ui';
|
||||||
|
import { NavModel } from '@grafana/data';
|
||||||
import { LayoutModes } from '../../core/components/LayoutSelector/LayoutSelector';
|
import { LayoutModes } from '../../core/components/LayoutSelector/LayoutSelector';
|
||||||
import { getMockDataSources } from './__mocks__/dataSourcesMocks';
|
import { getMockDataSources } from './__mocks__/dataSourcesMocks';
|
||||||
import { setDataSourcesSearchQuery, setDataSourcesLayoutMode } from './state/actions';
|
import { setDataSourcesSearchQuery, setDataSourcesLayoutMode } from './state/actions';
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ import EmptyListCTA from 'app/core/components/EmptyListCTA/EmptyListCTA';
|
|||||||
import DataSourcesList from './DataSourcesList';
|
import DataSourcesList from './DataSourcesList';
|
||||||
|
|
||||||
// Types
|
// Types
|
||||||
import { NavModel, DataSourceSettings } from '@grafana/ui';
|
import { DataSourceSettings } from '@grafana/ui';
|
||||||
|
import { NavModel } from '@grafana/data';
|
||||||
import { StoreState } from 'app/types';
|
import { StoreState } from 'app/types';
|
||||||
import { LayoutMode } from 'app/core/components/LayoutSelector/LayoutSelector';
|
import { LayoutMode } from 'app/core/components/LayoutSelector/LayoutSelector';
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ import { StoreState } from 'app/types';
|
|||||||
import { addDataSource, loadDataSourceTypes, setDataSourceTypeSearchQuery } from './state/actions';
|
import { addDataSource, loadDataSourceTypes, setDataSourceTypeSearchQuery } from './state/actions';
|
||||||
import { getDataSourceTypes } from './state/selectors';
|
import { getDataSourceTypes } from './state/selectors';
|
||||||
import { FilterInput } from 'app/core/components/FilterInput/FilterInput';
|
import { FilterInput } from 'app/core/components/FilterInput/FilterInput';
|
||||||
import { NavModel, DataSourcePluginMeta, List, PluginType } from '@grafana/ui';
|
import { DataSourcePluginMeta, List, PluginType } from '@grafana/ui';
|
||||||
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
navModel: NavModel;
|
navModel: NavModel;
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { shallow } from 'enzyme';
|
import { shallow } from 'enzyme';
|
||||||
import { DataSourceSettingsPage, Props } from './DataSourceSettingsPage';
|
import { DataSourceSettingsPage, Props } from './DataSourceSettingsPage';
|
||||||
import { NavModel, DataSourceSettings, DataSourcePlugin, DataSourceConstructor } from '@grafana/ui';
|
import { DataSourceSettings, DataSourcePlugin, DataSourceConstructor } from '@grafana/ui';
|
||||||
|
import { NavModel } from '@grafana/data';
|
||||||
import { getMockDataSource } from '../__mocks__/dataSourcesMocks';
|
import { getMockDataSource } from '../__mocks__/dataSourcesMocks';
|
||||||
import { getMockPlugin } from '../../plugins/__mocks__/pluginMocks';
|
import { getMockPlugin } from '../../plugins/__mocks__/pluginMocks';
|
||||||
import { setDataSourceName, setIsDefault } from '../state/actions';
|
import { setDataSourceName, setIsDefault } from '../state/actions';
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ import { getRouteParamsId } from 'app/core/selectors/location';
|
|||||||
// Types
|
// Types
|
||||||
import { StoreState } from 'app/types/';
|
import { StoreState } from 'app/types/';
|
||||||
import { UrlQueryMap } from '@grafana/runtime';
|
import { UrlQueryMap } from '@grafana/runtime';
|
||||||
import { NavModel, DataSourceSettings, DataSourcePluginMeta } from '@grafana/ui';
|
import { DataSourceSettings, DataSourcePluginMeta } from '@grafana/ui';
|
||||||
|
import { NavModel } from '@grafana/data';
|
||||||
import { getDataSourceLoadingNav } from '../state/navModel';
|
import { getDataSourceLoadingNav } from '../state/navModel';
|
||||||
import PluginStateinfo from 'app/features/plugins/PluginStateInfo';
|
import PluginStateinfo from 'app/features/plugins/PluginStateInfo';
|
||||||
import { importDataSourcePlugin } from 'app/features/plugins/plugin_loader';
|
import { importDataSourcePlugin } from 'app/features/plugins/plugin_loader';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { DataSourceSettings, PluginType, NavModel, NavModelItem, PluginInclude } from '@grafana/ui';
|
import { DataSourceSettings, PluginType, PluginInclude } from '@grafana/ui';
|
||||||
|
import { NavModel, NavModelItem } from '@grafana/data';
|
||||||
import config from 'app/core/config';
|
import config from 'app/core/config';
|
||||||
import { GenericDataSourcePlugin } from '../settings/PluginSettings';
|
import { GenericDataSourcePlugin } from '../settings/PluginSettings';
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ import React, { PureComponent } from 'react';
|
|||||||
import { hot } from 'react-hot-loader';
|
import { hot } from 'react-hot-loader';
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import Page from 'app/core/components/Page/Page';
|
import Page from 'app/core/components/Page/Page';
|
||||||
import { Tooltip, NavModel } from '@grafana/ui';
|
import { Tooltip } from '@grafana/ui';
|
||||||
|
import { NavModel } from '@grafana/data';
|
||||||
import { SlideDown } from 'app/core/components/Animations/SlideDown';
|
import { SlideDown } from 'app/core/components/Animations/SlideDown';
|
||||||
import { getNavModel } from 'app/core/selectors/navModel';
|
import { getNavModel } from 'app/core/selectors/navModel';
|
||||||
import { StoreState, FolderState } from 'app/types';
|
import { StoreState, FolderState } from 'app/types';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { FolderSettingsPage, Props } from './FolderSettingsPage';
|
import { FolderSettingsPage, Props } from './FolderSettingsPage';
|
||||||
import { shallow } from 'enzyme';
|
import { shallow } from 'enzyme';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
const setup = (propOverrides?: object) => {
|
const setup = (propOverrides?: object) => {
|
||||||
const props: Props = {
|
const props: Props = {
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import React, { PureComponent } from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
import { hot } from 'react-hot-loader';
|
import { hot } from 'react-hot-loader';
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import { Input, NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
import { Input } from '@grafana/ui';
|
||||||
import Page from 'app/core/components/Page/Page';
|
import Page from 'app/core/components/Page/Page';
|
||||||
import appEvents from 'app/core/app_events';
|
import appEvents from 'app/core/app_events';
|
||||||
import { getNavModel } from 'app/core/selectors/navModel';
|
import { getNavModel } from 'app/core/selectors/navModel';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { FolderDTO } from 'app/types';
|
import { FolderDTO } from 'app/types';
|
||||||
import { NavModelItem, NavModel } from '@grafana/ui';
|
import { NavModelItem, NavModel } from '@grafana/data';
|
||||||
|
|
||||||
export function buildNavModel(folder: FolderDTO): NavModelItem {
|
export function buildNavModel(folder: FolderDTO): NavModelItem {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React from 'react';
|
|||||||
import { shallow } from 'enzyme';
|
import { shallow } from 'enzyme';
|
||||||
import { OrgDetailsPage, Props } from './OrgDetailsPage';
|
import { OrgDetailsPage, Props } from './OrgDetailsPage';
|
||||||
import { Organization } from '../../types';
|
import { Organization } from '../../types';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
const setup = (propOverrides?: object) => {
|
const setup = (propOverrides?: object) => {
|
||||||
const props: Props = {
|
const props: Props = {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import SharedPreferences from 'app/core/components/SharedPreferences/SharedPrefe
|
|||||||
import { loadOrganization, setOrganizationName, updateOrganization } from './state/actions';
|
import { loadOrganization, setOrganizationName, updateOrganization } from './state/actions';
|
||||||
import { Organization, StoreState } from 'app/types';
|
import { Organization, StoreState } from 'app/types';
|
||||||
import { getNavModel } from 'app/core/selectors/navModel';
|
import { getNavModel } from 'app/core/selectors/navModel';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
navModel: NavModel;
|
navModel: NavModel;
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ import { UrlQueryMap } from '@grafana/runtime';
|
|||||||
import Page from 'app/core/components/Page/Page';
|
import Page from 'app/core/components/Page/Page';
|
||||||
import { getPluginSettings } from './PluginSettingsCache';
|
import { getPluginSettings } from './PluginSettingsCache';
|
||||||
import { importAppPlugin } from './plugin_loader';
|
import { importAppPlugin } from './plugin_loader';
|
||||||
import { AppPlugin, NavModel, AppPluginMeta, PluginType } from '@grafana/ui';
|
import { AppPlugin, AppPluginMeta, PluginType } from '@grafana/ui';
|
||||||
|
import { NavModel } from '@grafana/data';
|
||||||
import { getLoadingNav } from './PluginPage';
|
import { getLoadingNav } from './PluginPage';
|
||||||
import { getNotFoundNav, getWarningNav } from 'app/core/nav_model_srv';
|
import { getNotFoundNav, getWarningNav } from 'app/core/nav_model_srv';
|
||||||
import { appEvents } from 'app/core/core';
|
import { appEvents } from 'app/core/core';
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ import React from 'react';
|
|||||||
import { shallow } from 'enzyme';
|
import { shallow } from 'enzyme';
|
||||||
import { PluginListPage, Props } from './PluginListPage';
|
import { PluginListPage, Props } from './PluginListPage';
|
||||||
import { LayoutModes } from '../../core/components/LayoutSelector/LayoutSelector';
|
import { LayoutModes } from '../../core/components/LayoutSelector/LayoutSelector';
|
||||||
import { PluginMeta, NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
import { PluginMeta } from '@grafana/ui';
|
||||||
|
|
||||||
const setup = (propOverrides?: object) => {
|
const setup = (propOverrides?: object) => {
|
||||||
const props: Props = {
|
const props: Props = {
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ import { loadPlugins, setPluginsLayoutMode, setPluginsSearchQuery } from './stat
|
|||||||
import { getNavModel } from 'app/core/selectors/navModel';
|
import { getNavModel } from 'app/core/selectors/navModel';
|
||||||
import { getLayoutMode, getPlugins, getPluginsSearchQuery } from './state/selectors';
|
import { getLayoutMode, getPlugins, getPluginsSearchQuery } from './state/selectors';
|
||||||
import { LayoutMode } from 'app/core/components/LayoutSelector/LayoutSelector';
|
import { LayoutMode } from 'app/core/components/LayoutSelector/LayoutSelector';
|
||||||
import { PluginMeta, NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
import { PluginMeta } from '@grafana/ui';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
navModel: NavModel;
|
navModel: NavModel;
|
||||||
|
|||||||
@@ -8,8 +8,6 @@ import find from 'lodash/find';
|
|||||||
import { UrlQueryMap } from '@grafana/runtime';
|
import { UrlQueryMap } from '@grafana/runtime';
|
||||||
import { StoreState } from 'app/types';
|
import { StoreState } from 'app/types';
|
||||||
import {
|
import {
|
||||||
NavModel,
|
|
||||||
NavModelItem,
|
|
||||||
PluginType,
|
PluginType,
|
||||||
GrafanaPlugin,
|
GrafanaPlugin,
|
||||||
PluginInclude,
|
PluginInclude,
|
||||||
@@ -20,6 +18,7 @@ import {
|
|||||||
AppPlugin,
|
AppPlugin,
|
||||||
PluginIncludeType,
|
PluginIncludeType,
|
||||||
} from '@grafana/ui';
|
} from '@grafana/ui';
|
||||||
|
import { NavModel, NavModelItem } from '@grafana/data';
|
||||||
|
|
||||||
import Page from 'app/core/components/Page/Page';
|
import Page from 'app/core/components/Page/Page';
|
||||||
import { getPluginSettings } from './PluginSettingsCache';
|
import { getPluginSettings } from './PluginSettingsCache';
|
||||||
|
|||||||
@@ -28,8 +28,9 @@ import { BackendSrv, getBackendSrv } from 'app/core/services/backend_srv';
|
|||||||
import impressionSrv from 'app/core/services/impression_srv';
|
import impressionSrv from 'app/core/services/impression_srv';
|
||||||
import builtInPlugins from './built_in_plugins';
|
import builtInPlugins from './built_in_plugins';
|
||||||
import * as d3 from 'd3';
|
import * as d3 from 'd3';
|
||||||
|
import * as grafanaData from '@grafana/data';
|
||||||
import * as grafanaUI from '@grafana/ui';
|
import * as grafanaUI from '@grafana/ui';
|
||||||
import * as grafanaRT from '@grafana/runtime';
|
import * as grafanaRuntime from '@grafana/runtime';
|
||||||
|
|
||||||
// rxjs
|
// rxjs
|
||||||
import { Observable, Subject } from 'rxjs';
|
import { Observable, Subject } from 'rxjs';
|
||||||
@@ -68,8 +69,9 @@ function exposeToPlugin(name: string, component: any) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exposeToPlugin('@grafana/data', grafanaData);
|
||||||
exposeToPlugin('@grafana/ui', grafanaUI);
|
exposeToPlugin('@grafana/ui', grafanaUI);
|
||||||
exposeToPlugin('@grafana/runtime', grafanaRT);
|
exposeToPlugin('@grafana/runtime', grafanaRuntime);
|
||||||
exposeToPlugin('lodash', _);
|
exposeToPlugin('lodash', _);
|
||||||
exposeToPlugin('moment', moment);
|
exposeToPlugin('moment', moment);
|
||||||
exposeToPlugin('jquery', jquery);
|
exposeToPlugin('jquery', jquery);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { Props, TeamList } from './TeamList';
|
|||||||
import { Team, OrgRole } from '../../types';
|
import { Team, OrgRole } from '../../types';
|
||||||
import { getMockTeam, getMultipleMockTeams } from './__mocks__/teamMocks';
|
import { getMockTeam, getMultipleMockTeams } from './__mocks__/teamMocks';
|
||||||
import { User } from 'app/core/services/context_srv';
|
import { User } from 'app/core/services/context_srv';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
const setup = (propOverrides?: object) => {
|
const setup = (propOverrides?: object) => {
|
||||||
const props: Props = {
|
const props: Props = {
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ import React, { PureComponent } from 'react';
|
|||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import { hot } from 'react-hot-loader';
|
import { hot } from 'react-hot-loader';
|
||||||
import Page from 'app/core/components/Page/Page';
|
import Page from 'app/core/components/Page/Page';
|
||||||
import { DeleteButton, NavModel } from '@grafana/ui';
|
import { DeleteButton } from '@grafana/ui';
|
||||||
|
import { NavModel } from '@grafana/data';
|
||||||
import EmptyListCTA from 'app/core/components/EmptyListCTA/EmptyListCTA';
|
import EmptyListCTA from 'app/core/components/EmptyListCTA/EmptyListCTA';
|
||||||
import { Team, OrgRole } from 'app/types';
|
import { Team, OrgRole } from 'app/types';
|
||||||
import { loadTeams, deleteTeam, setSearchQuery } from './state/actions';
|
import { loadTeams, deleteTeam, setSearchQuery } from './state/actions';
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { TeamPages, Props } from './TeamPages';
|
|||||||
import { Team, TeamMember, OrgRole } from '../../types';
|
import { Team, TeamMember, OrgRole } from '../../types';
|
||||||
import { getMockTeam } from './__mocks__/teamMocks';
|
import { getMockTeam } from './__mocks__/teamMocks';
|
||||||
import { User } from 'app/core/services/context_srv';
|
import { User } from 'app/core/services/context_srv';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
jest.mock('app/core/config', () => ({
|
jest.mock('app/core/config', () => ({
|
||||||
buildInfo: { isEnterprise: true },
|
buildInfo: { isEnterprise: true },
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import { getTeamLoadingNav } from './state/navModel';
|
|||||||
import { getNavModel } from 'app/core/selectors/navModel';
|
import { getNavModel } from 'app/core/selectors/navModel';
|
||||||
import { getRouteParamsId, getRouteParamsPage } from '../../core/selectors/location';
|
import { getRouteParamsId, getRouteParamsPage } from '../../core/selectors/location';
|
||||||
import { contextSrv, User } from 'app/core/services/context_srv';
|
import { contextSrv, User } from 'app/core/services/context_srv';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
team: Team;
|
team: Team;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Team, TeamPermissionLevel } from 'app/types';
|
import { Team, TeamPermissionLevel } from 'app/types';
|
||||||
import config from 'app/core/config';
|
import config from 'app/core/config';
|
||||||
import { NavModelItem, NavModel } from '@grafana/ui';
|
import { NavModelItem, NavModel } from '@grafana/data';
|
||||||
|
|
||||||
export function buildNavModel(team: Team): NavModelItem {
|
export function buildNavModel(team: Team): NavModelItem {
|
||||||
const navModel = {
|
const navModel = {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Variable, containsVariable, assignModelProperties, variableTypes } from './variable';
|
import { Variable, containsVariable, assignModelProperties, variableTypes } from './variable';
|
||||||
import { stringToJsRegex } from '@grafana/ui';
|
import { stringToJsRegex } from '@grafana/data';
|
||||||
|
|
||||||
export class DatasourceVariable implements Variable {
|
export class DatasourceVariable implements Variable {
|
||||||
regex: any;
|
regex: any;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import { Variable, containsVariable, assignModelProperties, variableTypes } from './variable';
|
import { Variable, containsVariable, assignModelProperties, variableTypes } from './variable';
|
||||||
import { stringToJsRegex } from '@grafana/ui';
|
import { stringToJsRegex } from '@grafana/data';
|
||||||
|
|
||||||
function getNoneOption() {
|
function getNoneOption() {
|
||||||
return { text: 'None', value: '', isNone: true };
|
return { text: 'None', value: '', isNone: true };
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { UsersListPage, Props } from './UsersListPage';
|
|||||||
import { Invitee, OrgUser } from 'app/types';
|
import { Invitee, OrgUser } from 'app/types';
|
||||||
import { getMockUser } from './__mocks__/userMocks';
|
import { getMockUser } from './__mocks__/userMocks';
|
||||||
import appEvents from '../../core/app_events';
|
import appEvents from '../../core/app_events';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
jest.mock('../../core/app_events', () => ({
|
jest.mock('../../core/app_events', () => ({
|
||||||
emit: jest.fn(),
|
emit: jest.fn(),
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import appEvents from 'app/core/app_events';
|
|||||||
import { loadUsers, loadInvitees, setUsersSearchQuery, updateUser, removeUser } from './state/actions';
|
import { loadUsers, loadInvitees, setUsersSearchQuery, updateUser, removeUser } from './state/actions';
|
||||||
import { getNavModel } from 'app/core/selectors/navModel';
|
import { getNavModel } from 'app/core/selectors/navModel';
|
||||||
import { getInvitees, getUsers, getUsersSearchQuery } from './state/selectors';
|
import { getInvitees, getUsers, getUsersSearchQuery } from './state/selectors';
|
||||||
import { NavModel } from '@grafana/ui';
|
import { NavModel } from '@grafana/data';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
navModel: NavModel;
|
navModel: NavModel;
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
import React, { PureComponent } from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
|
|
||||||
// Types
|
// Types
|
||||||
import { AppRootProps, NavModelItem } from '@grafana/ui';
|
import { NavModelItem } from '@grafana/data';
|
||||||
|
import { AppRootProps } from '@grafana/ui';
|
||||||
|
|
||||||
interface Props extends AppRootProps {}
|
interface Props extends AppRootProps {}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import { getValueFormat, getColorFromHexRgbOrName, GrafanaThemeType, stringToJsRegex } from '@grafana/ui';
|
import { getValueFormat, getColorFromHexRgbOrName, GrafanaThemeType } from '@grafana/ui';
|
||||||
|
import { stringToJsRegex } from '@grafana/data';
|
||||||
import { ColumnStyle } from '@grafana/ui/src/components/Table/TableCellBuilder';
|
import { ColumnStyle } from '@grafana/ui/src/components/Table/TableCellBuilder';
|
||||||
import { dateTime } from '@grafana/ui/src/utils/moment_wrapper';
|
import { dateTime } from '@grafana/ui/src/utils/moment_wrapper';
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import { UsersState, UserState } from './user';
|
|||||||
import { OrganizationState } from './organization';
|
import { OrganizationState } from './organization';
|
||||||
import { AppNotificationsState } from './appNotifications';
|
import { AppNotificationsState } from './appNotifications';
|
||||||
import { PluginsState } from './plugins';
|
import { PluginsState } from './plugins';
|
||||||
import { NavIndex } from '@grafana/ui';
|
import { NavIndex } from '@grafana/data';
|
||||||
import { ApplicationState } from './application';
|
import { ApplicationState } from './application';
|
||||||
|
|
||||||
export interface StoreState {
|
export interface StoreState {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { NavModel, NavModelItem } from '@grafana/ui';
|
import { NavModel, NavModelItem } from '@grafana/data';
|
||||||
|
|
||||||
export const backendSrv = {
|
export const backendSrv = {
|
||||||
get: jest.fn(),
|
get: jest.fn(),
|
||||||
|
|||||||
@@ -34,8 +34,8 @@ module.exports = function(grunt) {
|
|||||||
grunt.registerTask('no-only-tests', function() {
|
grunt.registerTask('no-only-tests', function() {
|
||||||
var files = grunt.file.expand(
|
var files = grunt.file.expand(
|
||||||
'public/**/*@(_specs|.test).@(ts|js|tsx|jsx)',
|
'public/**/*@(_specs|.test).@(ts|js|tsx|jsx)',
|
||||||
'packages/grafana-ui/**/*@(_specs|.test).@(ts|js|tsx|jsx)',
|
'packages/grafana-data/**/*@(_specs|.test).@(ts|js|tsx|jsx)',
|
||||||
'packages/grafana-runtime/**/*@(_specs|.test).@(ts|js|tsx|jsx)'
|
'packages/**/*@(_specs|.test).@(ts|js|tsx|jsx)'
|
||||||
);
|
);
|
||||||
grepFiles(files, '.only(', 'found only statement in test: ');
|
grepFiles(files, '.only(', 'found only statement in test: ');
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user