Alerting: Consistently order member imports in alerting code (#97688)

* Lint import member orders within alerting

* Consistently order member imports in alerting code
This commit is contained in:
Tom Ratcliffe 2024-12-10 17:42:33 +00:00 committed by GitHub
parent e2365ce1c5
commit 4f7ffafe98
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
207 changed files with 290 additions and 289 deletions

View File

@ -251,6 +251,7 @@ module.exports = [
}, },
files: ['public/app/features/alerting/**/*.{ts,tsx,js,jsx}'], files: ['public/app/features/alerting/**/*.{ts,tsx,js,jsx}'],
rules: { rules: {
'sort-imports': ['error', { ignoreDeclarationSort: true }],
'dot-notation': 'error', 'dot-notation': 'error',
'prefer-const': 'error', 'prefer-const': 'error',
'react/no-unused-prop-types': 'error', 'react/no-unused-prop-types': 'error',

View File

@ -1,6 +1,6 @@
import { PanelModel } from 'app/features/dashboard/state/PanelModel'; import { PanelModel } from 'app/features/dashboard/state/PanelModel';
import { hiddenReducerTypes, ThresholdMapper } from './ThresholdMapper'; import { ThresholdMapper, hiddenReducerTypes } from './ThresholdMapper';
import alertDef from './alertDef'; import alertDef from './alertDef';
const visibleReducerTypes = alertDef.reducerTypes const visibleReducerTypes = alertDef.reducerTypes

View File

@ -1,7 +1,7 @@
import { isArray, reduce } from 'lodash'; import { isArray, reduce } from 'lodash';
import { IconName } from '@grafana/ui'; import { IconName } from '@grafana/ui';
import { QueryPartDef, QueryPart } from 'app/features/alerting/state/query_part'; import { QueryPart, QueryPartDef } from 'app/features/alerting/state/query_part';
const alertQueryDef = new QueryPartDef({ const alertQueryDef = new QueryPartDef({
type: 'query', type: 'query',

View File

@ -9,9 +9,9 @@ import {
initialState, initialState,
loadAlertRules, loadAlertRules,
loadedAlertRules, loadedAlertRules,
notificationChannelLoaded,
notificationChannelReducer, notificationChannelReducer,
setSearchQuery, setSearchQuery,
notificationChannelLoaded,
} from './reducers'; } from './reducers';
describe('Alert rules', () => { describe('Alert rules', () => {

View File

@ -1,4 +1,4 @@
import { createSlice, PayloadAction } from '@reduxjs/toolkit'; import { PayloadAction, createSlice } from '@reduxjs/toolkit';
import { dateTime } from '@grafana/data'; import { dateTime } from '@grafana/data';
import { import {

View File

@ -1,6 +1,6 @@
import { AlertRulesState, StoreState } from 'app/types'; import { AlertRulesState, StoreState } from 'app/types';
import { getSearchQuery, getAlertRuleItems } from './selectors'; import { getAlertRuleItems, getSearchQuery } from './selectors';
describe('Get search query', () => { describe('Get search query', () => {
it('should get search query', () => { it('should get search query', () => {

View File

@ -8,11 +8,11 @@ import { AccessControlAction } from 'app/types';
import AlertGroups from './AlertGroups'; import AlertGroups from './AlertGroups';
import { fetchAlertGroups } from './api/alertmanager'; import { fetchAlertGroups } from './api/alertmanager';
import { import {
MockDataSourceSrv,
grantUserPermissions, grantUserPermissions,
mockAlertGroup, mockAlertGroup,
mockAlertmanagerAlert, mockAlertmanagerAlert,
mockDataSource, mockDataSource,
MockDataSourceSrv,
} from './mocks'; } from './mocks';
import { AlertmanagerProvider } from './state/AlertmanagerContext'; import { AlertmanagerProvider } from './state/AlertmanagerContext';
import { DataSourceType } from './utils/datasource'; import { DataSourceType } from './utils/datasource';

View File

@ -1,6 +1,6 @@
import { Fragment, useEffect } from 'react'; import { Fragment, useEffect } from 'react';
import { Alert, LoadingPlaceholder, Text, Box } from '@grafana/ui'; import { Alert, Box, LoadingPlaceholder, Text } from '@grafana/ui';
import { useQueryParams } from 'app/core/hooks/useQueryParams'; import { useQueryParams } from 'app/core/hooks/useQueryParams';
import { useDispatch } from 'app/types'; import { useDispatch } from 'app/types';

View File

@ -4,7 +4,7 @@ import { useEffect, useState } from 'react';
import { useDebounce } from 'react-use'; import { useDebounce } from 'react-use';
import { GrafanaTheme2, SelectableValue } from '@grafana/data'; import { GrafanaTheme2, SelectableValue } from '@grafana/data';
import { Card, FilterInput, Icon, Pagination, Select, TagList, useStyles2, Stack } from '@grafana/ui'; import { Card, FilterInput, Icon, Pagination, Select, Stack, TagList, useStyles2 } from '@grafana/ui';
import { DEFAULT_PER_PAGE_PAGINATION } from 'app/core/constants'; import { DEFAULT_PER_PAGE_PAGINATION } from 'app/core/constants';
import { getQueryParamValue } from 'app/core/utils/query'; import { getQueryParamValue } from 'app/core/utils/query';
import { FolderState, useDispatch } from 'app/types'; import { FolderState, useDispatch } from 'app/types';

View File

@ -1,7 +1,7 @@
import { dateTime } from '@grafana/data'; import { dateTime } from '@grafana/data';
import { getBackendSrv } from '@grafana/runtime'; import { getBackendSrv } from '@grafana/runtime';
import { isNewUser, USER_CREATION_MIN_DAYS } from './Analytics'; import { USER_CREATION_MIN_DAYS, isNewUser } from './Analytics';
jest.mock('@grafana/runtime', () => ({ jest.mock('@grafana/runtime', () => ({
...jest.requireActual('@grafana/runtime'), ...jest.requireActual('@grafana/runtime'),

View File

@ -9,7 +9,7 @@ import { RuleNamespace } from '../../../types/unified-alerting';
import { RulerRulesConfigDTO } from '../../../types/unified-alerting-dto'; import { RulerRulesConfigDTO } from '../../../types/unified-alerting-dto';
import { FilterType } from './components/rules/central-state-history/EventListSceneObject'; import { FilterType } from './components/rules/central-state-history/EventListSceneObject';
import { getSearchFilterFromQuery, RulesFilter } from './search/rulesSearchParser'; import { RulesFilter, getSearchFilterFromQuery } from './search/rulesSearchParser';
import { RuleFormType } from './types/rule-form'; import { RuleFormType } from './types/rule-form';
export const USER_CREATION_MIN_DAYS = 7; export const USER_CREATION_MIN_DAYS = 7;

View File

@ -14,13 +14,13 @@ import {
RulerRuleDTO, RulerRuleDTO,
} from '../../../types/unified-alerting-dto'; } from '../../../types/unified-alerting-dto';
import { cloneRuleDefinition, CloneRuleEditor } from './CloneRuleEditor'; import { CloneRuleEditor, cloneRuleDefinition } from './CloneRuleEditor';
import { ExpressionEditorProps } from './components/rule-editor/ExpressionEditor'; import { ExpressionEditorProps } from './components/rule-editor/ExpressionEditor';
import { mockFeatureDiscoveryApi, setupMswServer } from './mockApi'; import { mockFeatureDiscoveryApi, setupMswServer } from './mockApi';
import { import {
MockDataSourceSrv,
grantUserPermissions, grantUserPermissions,
mockDataSource, mockDataSource,
MockDataSourceSrv,
mockRulerAlertingRule, mockRulerAlertingRule,
mockRulerGrafanaRule, mockRulerGrafanaRule,
mockRulerRuleGroup, mockRulerRuleGroup,

View File

@ -1,4 +1,4 @@
import { render, waitFor, screen } from 'test/test-utils'; import { render, screen, waitFor } from 'test/test-utils';
import { DataSourceRef } from '@grafana/schema'; import { DataSourceRef } from '@grafana/schema';
import { AlertQuery } from 'app/types/unified-alerting-dto'; import { AlertQuery } from 'app/types/unified-alerting-dto';

View File

@ -12,10 +12,10 @@ import { CombinedRule } from 'app/types/unified-alerting';
import { AlertDataQuery, AlertQuery } from '../../../types/unified-alerting-dto'; import { AlertDataQuery, AlertQuery } from '../../../types/unified-alerting-dto';
import { isExpressionQuery } from '../../expressions/guards'; import { isExpressionQuery } from '../../expressions/guards';
import { import {
downsamplingTypes,
ExpressionQuery, ExpressionQuery,
ExpressionQueryType, ExpressionQueryType,
ReducerMode, ReducerMode,
downsamplingTypes,
reducerModes, reducerModes,
reducerTypes, reducerTypes,
thresholdFunctions, thresholdFunctions,
@ -26,7 +26,7 @@ import alertDef, { EvalFunction } from '../state/alertDef';
import { Spacer } from './components/Spacer'; import { Spacer } from './components/Spacer';
import { WithReturnButton } from './components/WithReturnButton'; import { WithReturnButton } from './components/WithReturnButton';
import { ExpressionResult } from './components/expressions/Expression'; import { ExpressionResult } from './components/expressions/Expression';
import { getThresholdsForQueries, ThresholdDefinition } from './components/rule-editor/util'; import { ThresholdDefinition, getThresholdsForQueries } from './components/rule-editor/util';
import { RuleViewerVisualization } from './components/rule-viewer/RuleViewerVisualization'; import { RuleViewerVisualization } from './components/rule-viewer/RuleViewerVisualization';
import { DatasourceModelPreview } from './components/rule-viewer/tabs/Query/DataSourceModelPreview'; import { DatasourceModelPreview } from './components/rule-viewer/tabs/Query/DataSourceModelPreview';
import { AlertRuleAction, useAlertRuleAbility } from './hooks/useAbilities'; import { AlertRuleAction, useAlertRuleAbility } from './hooks/useAbilities';

View File

@ -1,7 +1,7 @@
import { InitialEntry } from 'history'; import { InitialEntry } from 'history';
import { last } from 'lodash'; import { last } from 'lodash';
import { Route, Routes } from 'react-router-dom-v5-compat'; import { Route, Routes } from 'react-router-dom-v5-compat';
import { render, within, userEvent, screen } from 'test/test-utils'; import { render, screen, userEvent, within } from 'test/test-utils';
import { byTestId } from 'testing-library-selector'; import { byTestId } from 'testing-library-selector';
import { config } from '@grafana/runtime'; import { config } from '@grafana/runtime';

View File

@ -1,6 +1,6 @@
import { Route, Routes } from 'react-router-dom-v5-compat'; import { Route, Routes } from 'react-router-dom-v5-compat';
import { selectOptionInTest } from 'test/helpers/selectOptionInTest'; import { selectOptionInTest } from 'test/helpers/selectOptionInTest';
import { render, screen, waitFor, userEvent } from 'test/test-utils'; import { render, screen, userEvent, waitFor } from 'test/test-utils';
import { import {
PROVISIONED_MIMIR_ALERTMANAGER_UID, PROVISIONED_MIMIR_ALERTMANAGER_UID,

View File

@ -1,4 +1,4 @@
import { lazy, Suspense } from 'react'; import { Suspense, lazy } from 'react';
import { config } from '@grafana/runtime'; import { config } from '@grafana/runtime';

View File

@ -1,4 +1,4 @@
import { Routes, Route } from 'react-router-dom-v5-compat'; import { Route, Routes } from 'react-router-dom-v5-compat';
import { withErrorBoundary } from '@grafana/ui'; import { withErrorBoundary } from '@grafana/ui';

View File

@ -18,11 +18,11 @@ import {
import { ExportFormats } from '../components/export/providers'; import { ExportFormats } from '../components/export/providers';
import { Folder } from '../types/rule-form'; import { Folder } from '../types/rule-form';
import { getDatasourceAPIUid, GRAFANA_RULES_SOURCE_NAME, isGrafanaRulesSource } from '../utils/datasource'; import { GRAFANA_RULES_SOURCE_NAME, getDatasourceAPIUid, isGrafanaRulesSource } from '../utils/datasource';
import { arrayKeyValuesToObject } from '../utils/labels'; import { arrayKeyValuesToObject } from '../utils/labels';
import { isCloudRuleIdentifier, isGrafanaRulerRule, isPrometheusRuleIdentifier } from '../utils/rules'; import { isCloudRuleIdentifier, isGrafanaRulerRule, isPrometheusRuleIdentifier } from '../utils/rules';
import { alertingApi, WithNotificationOptions } from './alertingApi'; import { WithNotificationOptions, alertingApi } from './alertingApi';
import { import {
FetchPromRulesFilter, FetchPromRulesFilter,
getRulesFilterSearchParams, getRulesFilterSearchParams,

View File

@ -12,7 +12,7 @@ import {
TestReceiversResult, TestReceiversResult,
} from 'app/plugins/datasource/alertmanager/types'; } from 'app/plugins/datasource/alertmanager/types';
import { getDatasourceAPIUid, GRAFANA_RULES_SOURCE_NAME } from '../utils/datasource'; import { GRAFANA_RULES_SOURCE_NAME, getDatasourceAPIUid } from '../utils/datasource';
// "grafana" for grafana-managed, otherwise a datasource name // "grafana" for grafana-managed, otherwise a datasource name
export async function fetchAlertManagerConfig(alertManagerSourceName: string): Promise<AlertManagerCortexConfig> { export async function fetchAlertManagerConfig(alertManagerSourceName: string): Promise<AlertManagerCortexConfig> {

View File

@ -9,7 +9,7 @@ import {
} from 'app/types/unified-alerting-dto'; } from 'app/types/unified-alerting-dto';
import { RULER_NOT_SUPPORTED_MSG } from '../utils/constants'; import { RULER_NOT_SUPPORTED_MSG } from '../utils/constants';
import { getDataSourceByName, getRulesDataSourceByUID, GRAFANA_RULES_SOURCE_NAME } from '../utils/datasource'; import { GRAFANA_RULES_SOURCE_NAME, getDataSourceByName, getRulesDataSourceByUID } from '../utils/datasource';
import { fetchRules } from './prometheus'; import { fetchRules } from './prometheus';
import { fetchTestRulerRulesGroup } from './ruler'; import { fetchTestRulerRulesGroup } from './ruler';

View File

@ -6,9 +6,9 @@ import {
RulesSourceApplication, RulesSourceApplication,
} from '../../../../types/unified-alerting-dto'; } from '../../../../types/unified-alerting-dto';
import { import {
GRAFANA_RULES_SOURCE_NAME,
getDataSourceUID, getDataSourceUID,
getRulesDataSourceByUID, getRulesDataSourceByUID,
GRAFANA_RULES_SOURCE_NAME,
isGrafanaRulesSource, isGrafanaRulesSource,
} from '../utils/datasource'; } from '../utils/datasource';

View File

@ -1,7 +1,7 @@
import { lastValueFrom } from 'rxjs'; import { lastValueFrom } from 'rxjs';
import { getBackendSrv } from '@grafana/runtime'; import { getBackendSrv } from '@grafana/runtime';
import { ContactPointsState, ReceiversStateDTO, ReceiverState } from 'app/types'; import { ContactPointsState, ReceiverState, ReceiversStateDTO } from 'app/types';
import { getDatasourceAPIUid } from '../utils/datasource'; import { getDatasourceAPIUid } from '../utils/datasource';

View File

@ -2,20 +2,20 @@ import { Observable, of } from 'rxjs';
import { catchError, map, share } from 'rxjs/operators'; import { catchError, map, share } from 'rxjs/operators';
import { import {
dataFrameFromJSON,
DataFrameJSON, DataFrameJSON,
getDefaultTimeRange,
LoadingState, LoadingState,
PanelData, PanelData,
dataFrameFromJSON,
getDefaultTimeRange,
withLoadingIndicator, withLoadingIndicator,
} from '@grafana/data'; } from '@grafana/data';
import { getBackendSrv, toDataQueryError } from '@grafana/runtime'; import { getBackendSrv, toDataQueryError } from '@grafana/runtime';
import { import {
isCloudPreviewRequest,
isGrafanaPreviewRequest,
PreviewRuleRequest, PreviewRuleRequest,
PreviewRuleResponse, PreviewRuleResponse,
isCloudPreviewRequest,
isGrafanaPreviewRequest,
} from '../types/preview'; } from '../types/preview';
import { RuleFormType } from '../types/rule-form'; import { RuleFormType } from '../types/rule-form';
import { GRAFANA_RULES_SOURCE_NAME } from '../utils/datasource'; import { GRAFANA_RULES_SOURCE_NAME } from '../utils/datasource';

View File

@ -7,11 +7,11 @@ import { RuleGroup, RuleIdentifier, RuleNamespace } from 'app/types/unified-aler
import { import {
PromAlertingRuleState, PromAlertingRuleState,
PromRuleGroupDTO, PromRuleGroupDTO,
PromRulesResponse,
PromRuleType, PromRuleType,
PromRulesResponse,
} from 'app/types/unified-alerting-dto'; } from 'app/types/unified-alerting-dto';
import { getDatasourceAPIUid, GRAFANA_RULES_SOURCE_NAME } from '../utils/datasource'; import { GRAFANA_RULES_SOURCE_NAME, getDatasourceAPIUid } from '../utils/datasource';
import { isCloudRuleIdentifier, isPrometheusRuleIdentifier } from '../utils/rules'; import { isCloudRuleIdentifier, isPrometheusRuleIdentifier } from '../utils/rules';
export interface FetchPromRulesFilter { export interface FetchPromRulesFilter {

View File

@ -7,7 +7,7 @@ import { RulerRuleGroupDTO, RulerRulesConfigDTO } from 'app/types/unified-alerti
import { containsPathSeparator } from '../components/rule-editor/util'; import { containsPathSeparator } from '../components/rule-editor/util';
import { RULER_NOT_SUPPORTED_MSG } from '../utils/constants'; import { RULER_NOT_SUPPORTED_MSG } from '../utils/constants';
import { getDatasourceAPIUid, GRAFANA_RULES_SOURCE_NAME } from '../utils/datasource'; import { GRAFANA_RULES_SOURCE_NAME, getDatasourceAPIUid } from '../utils/datasource';
import { getRulesFilterSearchParams } from './prometheus'; import { getRulesFilterSearchParams } from './prometheus';

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css'; import { css } from '@emotion/css';
import { forwardRef, FC } from 'react'; import { FC, forwardRef } from 'react';
import { createFilter, GroupBase, OptionsOrGroups } from 'react-select'; import { GroupBase, OptionsOrGroups, createFilter } from 'react-select';
import { SelectableValue } from '@grafana/data'; import { SelectableValue } from '@grafana/data';
import { Field, Select, useStyles2 } from '@grafana/ui'; import { Field, Select, useStyles2 } from '@grafana/ui';

View File

@ -1,4 +1,4 @@
import { screen, render, waitFor } from '@testing-library/react'; import { render, screen, waitFor } from '@testing-library/react';
import userEvent from '@testing-library/user-event'; import userEvent from '@testing-library/user-event';
import { AlertLabels } from './AlertLabels'; import { AlertLabels } from './AlertLabels';

View File

@ -1,5 +1,5 @@
import { css } from '@emotion/css'; import { css } from '@emotion/css';
import { useMemo, ComponentProps } from 'react'; import { ComponentProps, useMemo } from 'react';
import { GrafanaTheme2, SelectableValue } from '@grafana/data'; import { GrafanaTheme2, SelectableValue } from '@grafana/data';
import { InlineField, Select, SelectMenuOptions, useStyles2 } from '@grafana/ui'; import { InlineField, Select, SelectMenuOptions, useStyles2 } from '@grafana/ui';

View File

@ -1,6 +1,6 @@
import { HTMLAttributes } from 'react'; import { HTMLAttributes } from 'react';
import { IconSize, Button } from '@grafana/ui'; import { Button, IconSize } from '@grafana/ui';
interface Props extends HTMLAttributes<HTMLButtonElement> { interface Props extends HTMLAttributes<HTMLButtonElement> {
isCollapsed: boolean; isCollapsed: boolean;

View File

@ -1,4 +1,4 @@
import { cloneElement, forwardRef, Ref } from 'react'; import { Ref, cloneElement, forwardRef } from 'react';
interface ConditionalWrapProps { interface ConditionalWrapProps {
shouldWrap: boolean; shouldWrap: boolean;

View File

@ -5,7 +5,7 @@ import { Editor } from 'slate-react';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { promqlGrammar } from '@grafana/prometheus'; import { promqlGrammar } from '@grafana/prometheus';
import { makeValue, SlatePrism, useStyles2 } from '@grafana/ui'; import { SlatePrism, makeValue, useStyles2 } from '@grafana/ui';
import LogqlSyntax from 'app/plugins/datasource/loki/syntax'; import LogqlSyntax from 'app/plugins/datasource/loki/syntax';
import { RulesSource } from 'app/types/unified-alerting'; import { RulesSource } from 'app/types/unified-alerting';

View File

@ -1,10 +1,10 @@
import { css } from '@emotion/css'; import { css } from '@emotion/css';
import { Placement } from '@popperjs/core'; import { Placement } from '@popperjs/core';
import classnames from 'classnames'; import classnames from 'classnames';
import { cloneElement, ReactElement, ReactNode, useRef } from 'react'; import { ReactElement, ReactNode, cloneElement, useRef } from 'react';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { Popover as GrafanaPopover, PopoverController, useStyles2, Stack } from '@grafana/ui'; import { Popover as GrafanaPopover, PopoverController, Stack, useStyles2 } from '@grafana/ui';
export interface PopupCardProps { export interface PopupCardProps {
children: ReactElement; children: ReactElement;

View File

@ -1,7 +1,7 @@
import { css, cx } from '@emotion/css'; import { css, cx } from '@emotion/css';
import { ComponentProps, HTMLAttributes } from 'react'; import { ComponentProps, HTMLAttributes } from 'react';
import { Icon, IconName, useStyles2, Text, Stack } from '@grafana/ui'; import { Icon, IconName, Stack, Text, useStyles2 } from '@grafana/ui';
interface Props extends HTMLAttributes<HTMLDivElement> { interface Props extends HTMLAttributes<HTMLDivElement> {
icon?: IconName; icon?: IconName;

View File

@ -1,4 +1,4 @@
import { forwardRef, Ref } from 'react'; import { Ref, forwardRef } from 'react';
import { Button, ButtonProps, Icon, Stack } from '@grafana/ui'; import { Button, ButtonProps, Icon, Stack } from '@grafana/ui';

View File

@ -1,10 +1,10 @@
import { screen, render } from 'test/test-utils'; import { render, screen } from 'test/test-utils';
import { setupMswServer } from 'app/features/alerting/unified/mockApi'; import { setupMswServer } from 'app/features/alerting/unified/mockApi';
import { SupportedPlugin } from '../types/pluginBridges'; import { SupportedPlugin } from '../types/pluginBridges';
import { createBridgeURL, PluginBridge } from './PluginBridge'; import { PluginBridge, createBridgeURL } from './PluginBridge';
const NON_EXISTING_PLUGIN = '__does_not_exist__'; const NON_EXISTING_PLUGIN = '__does_not_exist__';
setupMswServer(); setupMswServer();

View File

@ -5,7 +5,7 @@ import { GrafanaTheme2 } from '@grafana/data';
import { Badge, useStyles2 } from '@grafana/ui'; import { Badge, useStyles2 } from '@grafana/ui';
import { PopupCard } from './HoverCard'; import { PopupCard } from './HoverCard';
import { keywords as KEYWORDS, builtinFunctions as FUNCTIONS } from './receivers/editor/language'; import { builtinFunctions as FUNCTIONS, keywords as KEYWORDS } from './receivers/editor/language';
const VARIABLES = ['$', '.', '"']; const VARIABLES = ['$', '.', '"'];

View File

@ -1,4 +1,4 @@
import { cx, css } from '@emotion/css'; import { css, cx } from '@emotion/css';
import * as React from 'react'; import * as React from 'react';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';

View File

@ -3,7 +3,7 @@ import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { LinkButton, useStyles2 } from '@grafana/ui'; import { LinkButton, useStyles2 } from '@grafana/ui';
import { contextSrv } from 'app/core/services/context_srv'; import { contextSrv } from 'app/core/services/context_srv';
import { AlertmanagerAlert, AlertState } from 'app/plugins/datasource/alertmanager/types'; import { AlertState, AlertmanagerAlert } from 'app/plugins/datasource/alertmanager/types';
import { AccessControlAction } from 'app/types'; import { AccessControlAction } from 'app/types';
import { AlertmanagerAction } from '../../hooks/useAbilities'; import { AlertmanagerAction } from '../../hooks/useAbilities';

View File

@ -2,7 +2,7 @@ import { css } from '@emotion/css';
import { useState } from 'react'; import { useState } from 'react';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { useStyles2, Stack, TextLink } from '@grafana/ui'; import { Stack, TextLink, useStyles2 } from '@grafana/ui';
import { AlertmanagerGroup } from 'app/plugins/datasource/alertmanager/types'; import { AlertmanagerGroup } from 'app/plugins/datasource/alertmanager/types';
import { createContactPointSearchLink } from '../../utils/misc'; import { createContactPointSearchLink } from '../../utils/misc';

View File

@ -4,7 +4,7 @@ import { useState } from 'react';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { Button, useStyles2 } from '@grafana/ui'; import { Button, useStyles2 } from '@grafana/ui';
import { useQueryParams } from 'app/core/hooks/useQueryParams'; import { useQueryParams } from 'app/core/hooks/useQueryParams';
import { AlertmanagerGroup, AlertState } from 'app/plugins/datasource/alertmanager/types'; import { AlertState, AlertmanagerGroup } from 'app/plugins/datasource/alertmanager/types';
import { getFiltersFromUrlParams } from '../../utils/misc'; import { getFiltersFromUrlParams } from '../../utils/misc';

View File

@ -1,7 +1,7 @@
import pluralize from 'pluralize'; import pluralize from 'pluralize';
import { useStyles2 } from '@grafana/ui'; import { useStyles2 } from '@grafana/ui';
import { AlertmanagerGroup, AlertState } from 'app/plugins/datasource/alertmanager/types'; import { AlertState, AlertmanagerGroup } from 'app/plugins/datasource/alertmanager/types';
import { getNotificationsTextColors } from '../../styles/notifications'; import { getNotificationsTextColors } from '../../styles/notifications';

View File

@ -1,5 +1,5 @@
import { SelectableValue } from '@grafana/data'; import { SelectableValue } from '@grafana/data';
import { RadioButtonGroup, Label, Tooltip, Icon } from '@grafana/ui'; import { Icon, Label, RadioButtonGroup, Tooltip } from '@grafana/ui';
import { AlertState } from 'app/plugins/datasource/alertmanager/types'; import { AlertState } from 'app/plugins/datasource/alertmanager/types';
interface Props { interface Props {

View File

@ -5,7 +5,7 @@ import { useDebounce } from 'react-use';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { Field, Icon, Input, Label, Stack, Tooltip, useStyles2 } from '@grafana/ui'; import { Field, Icon, Input, Label, Stack, Tooltip, useStyles2 } from '@grafana/ui';
import { logInfo, LogMessages } from '../../Analytics'; import { LogMessages, logInfo } from '../../Analytics';
import { parsePromQLStyleMatcherLoose } from '../../utils/matchers'; import { parsePromQLStyleMatcherLoose } from '../../utils/matchers';
interface Props { interface Props {

View File

@ -2,7 +2,7 @@ import { css } from '@emotion/css';
import { groupBy, size, upperFirst } from 'lodash'; import { groupBy, size, upperFirst } from 'lodash';
import { Fragment, ReactNode } from 'react'; import { Fragment, ReactNode } from 'react';
import { dateTime, GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2, dateTime } from '@grafana/data';
import { Icon, Stack, Text, Tooltip, useStyles2 } from '@grafana/ui'; import { Icon, Stack, Text, Tooltip, useStyles2 } from '@grafana/ui';
import { Trans } from 'app/core/internationalization'; import { Trans } from 'app/core/internationalization';
import { PrimaryText } from 'app/features/alerting/unified/components/common/TextVariants'; import { PrimaryText } from 'app/features/alerting/unified/components/common/TextVariants';
@ -19,7 +19,7 @@ import { ReceiverMetadataBadge } from '../receivers/grafanaAppReceivers/Receiver
import { ReceiverPluginMetadata } from '../receivers/grafanaAppReceivers/useReceiversMetadata'; import { ReceiverPluginMetadata } from '../receivers/grafanaAppReceivers/useReceiversMetadata';
import { RECEIVER_META_KEY, RECEIVER_PLUGIN_META_KEY, RECEIVER_STATUS_KEY } from './constants'; import { RECEIVER_META_KEY, RECEIVER_PLUGIN_META_KEY, RECEIVER_STATUS_KEY } from './constants';
import { ContactPointWithMetadata, getReceiverDescription, ReceiverConfigWithMetadata } from './utils'; import { ContactPointWithMetadata, ReceiverConfigWithMetadata, getReceiverDescription } from './utils';
interface ContactPointProps { interface ContactPointProps {
contactPoint: ContactPointWithMetadata; contactPoint: ContactPointWithMetadata;

View File

@ -3,7 +3,7 @@ import { Fragment, useState } from 'react';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { Dropdown, LinkButton, Menu, Stack, Text, TextLink, Tooltip, useStyles2 } from '@grafana/ui'; import { Dropdown, LinkButton, Menu, Stack, Text, TextLink, Tooltip, useStyles2 } from '@grafana/ui';
import { t, Trans } from 'app/core/internationalization'; import { Trans, t } from 'app/core/internationalization';
import ConditionalWrap from 'app/features/alerting/unified/components/ConditionalWrap'; import ConditionalWrap from 'app/features/alerting/unified/components/ConditionalWrap';
import { useExportContactPoint } from 'app/features/alerting/unified/components/contact-points/useExportContactPoint'; import { useExportContactPoint } from 'app/features/alerting/unified/components/contact-points/useExportContactPoint';
import { ManagePermissionsDrawer } from 'app/features/alerting/unified/components/permissions/ManagePermissions'; import { ManagePermissionsDrawer } from 'app/features/alerting/unified/components/permissions/ManagePermissions';

View File

@ -15,7 +15,7 @@ import {
withErrorBoundary, withErrorBoundary,
} from '@grafana/ui'; } from '@grafana/ui';
import { contextSrv } from 'app/core/core'; import { contextSrv } from 'app/core/core';
import { t, Trans } from 'app/core/internationalization'; import { Trans, t } from 'app/core/internationalization';
import { shouldUseK8sApi } from 'app/features/alerting/unified/utils/k8s/utils'; import { shouldUseK8sApi } from 'app/features/alerting/unified/utils/k8s/utils';
import { makeAMLink, stringifyErrorLike } from 'app/features/alerting/unified/utils/misc'; import { makeAMLink, stringifyErrorLike } from 'app/features/alerting/unified/utils/misc';
import { AccessControlAction } from 'app/types'; import { AccessControlAction } from 'app/types';

View File

@ -1,5 +1,5 @@
import 'core-js/stable/structured-clone'; import 'core-js/stable/structured-clone';
import { Routes, Route } from 'react-router-dom-v5-compat'; import { Route, Routes } from 'react-router-dom-v5-compat';
import { clickSelectOption } from 'test/helpers/selectOptionInTest'; import { clickSelectOption } from 'test/helpers/selectOptionInTest';
import { render, screen } from 'test/test-utils'; import { render, screen } from 'test/test-utils';

View File

@ -1,4 +1,4 @@
import { http, HttpResponse } from 'msw'; import { HttpResponse, http } from 'msw';
import { SetupServer } from 'msw/node'; import { SetupServer } from 'msw/node';
import { AlertManagerCortexConfig } from 'app/plugins/datasource/alertmanager/types'; import { AlertManagerCortexConfig } from 'app/plugins/datasource/alertmanager/types';

View File

@ -1,4 +1,4 @@
import { http, HttpResponse } from 'msw'; import { HttpResponse, http } from 'msw';
import { SetupServer } from 'msw/node'; import { SetupServer } from 'msw/node';
import { AlertmanagerStatus } from 'app/plugins/datasource/alertmanager/types'; import { AlertmanagerStatus } from 'app/plugins/datasource/alertmanager/types';

View File

@ -17,7 +17,7 @@ import { OnCallIntegrationDTO } from '../../api/onCallApi';
import { computeInheritedTree } from '../../utils/notification-policies'; import { computeInheritedTree } from '../../utils/notification-policies';
import { extractReceivers } from '../../utils/receivers'; import { extractReceivers } from '../../utils/receivers';
import { ReceiverTypes } from '../receivers/grafanaAppReceivers/onCall/onCall'; import { ReceiverTypes } from '../receivers/grafanaAppReceivers/onCall/onCall';
import { getOnCallMetadata, ReceiverPluginMetadata } from '../receivers/grafanaAppReceivers/useReceiversMetadata'; import { ReceiverPluginMetadata, getOnCallMetadata } from '../receivers/grafanaAppReceivers/useReceiversMetadata';
import { RECEIVER_META_KEY, RECEIVER_PLUGIN_META_KEY, RECEIVER_STATUS_KEY } from './constants'; import { RECEIVER_META_KEY, RECEIVER_PLUGIN_META_KEY, RECEIVER_STATUS_KEY } from './constants';

View File

@ -7,7 +7,7 @@ import AutoSizer from 'react-virtualized-auto-sizer';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { Alert, Button, ClipboardButton, CodeEditor, TextLink, useStyles2 } from '@grafana/ui'; import { Alert, Button, ClipboardButton, CodeEditor, TextLink, useStyles2 } from '@grafana/ui';
import { allGrafanaExportProviders, ExportFormats, ExportProvider, ProvisioningType } from './providers'; import { ExportFormats, ExportProvider, ProvisioningType, allGrafanaExportProviders } from './providers';
interface FileExportPreviewProps { interface FileExportPreviewProps {
format: ExportFormats; format: ExportFormats;

View File

@ -1,7 +1,7 @@
import * as React from 'react'; import * as React from 'react';
import { Routes, Route } from 'react-router-dom-v5-compat'; import { Route, Routes } from 'react-router-dom-v5-compat';
import { Props } from 'react-virtualized-auto-sizer'; import { Props } from 'react-virtualized-auto-sizer';
import { render, waitFor, waitForElementToBeRemoved, userEvent } from 'test/test-utils'; import { render, userEvent, waitFor, waitForElementToBeRemoved } from 'test/test-utils';
import { byRole, byTestId, byText } from 'testing-library-selector'; import { byRole, byTestId, byText } from 'testing-library-selector';
import { mockExportApi, setupMswServer } from '../../mockApi'; import { mockExportApi, setupMswServer } from '../../mockApi';

View File

@ -6,7 +6,7 @@ import { alertRuleApi } from '../../api/alertRuleApi';
import { FileExportPreview } from './FileExportPreview'; import { FileExportPreview } from './FileExportPreview';
import { GrafanaExportDrawer } from './GrafanaExportDrawer'; import { GrafanaExportDrawer } from './GrafanaExportDrawer';
import { allGrafanaExportProviders, ExportFormats } from './providers'; import { ExportFormats, allGrafanaExportProviders } from './providers';
interface MuteTimingsExporterPreviewProps { interface MuteTimingsExporterPreviewProps {
exportFormat: ExportFormats; exportFormat: ExportFormats;
onClose: () => void; onClose: () => void;

View File

@ -6,7 +6,7 @@ import { alertRuleApi } from '../../api/alertRuleApi';
import { FileExportPreview } from './FileExportPreview'; import { FileExportPreview } from './FileExportPreview';
import { GrafanaExportDrawer } from './GrafanaExportDrawer'; import { GrafanaExportDrawer } from './GrafanaExportDrawer';
import { allGrafanaExportProviders, ExportFormats } from './providers'; import { ExportFormats, allGrafanaExportProviders } from './providers';
interface GrafanaPoliciesPreviewProps { interface GrafanaPoliciesPreviewProps {
exportFormat: ExportFormats; exportFormat: ExportFormats;
onClose: () => void; onClose: () => void;

View File

@ -6,7 +6,7 @@ import { alertRuleApi } from '../../api/alertRuleApi';
import { FileExportPreview } from './FileExportPreview'; import { FileExportPreview } from './FileExportPreview';
import { GrafanaExportDrawer } from './GrafanaExportDrawer'; import { GrafanaExportDrawer } from './GrafanaExportDrawer';
import { allGrafanaExportProviders, ExportFormats } from './providers'; import { ExportFormats, allGrafanaExportProviders } from './providers';
interface GrafanaReceiverExportPreviewProps { interface GrafanaReceiverExportPreviewProps {
exportFormat: ExportFormats; exportFormat: ExportFormats;

View File

@ -6,7 +6,7 @@ import { alertRuleApi } from '../../api/alertRuleApi';
import { FileExportPreview } from './FileExportPreview'; import { FileExportPreview } from './FileExportPreview';
import { GrafanaExportDrawer } from './GrafanaExportDrawer'; import { GrafanaExportDrawer } from './GrafanaExportDrawer';
import { allGrafanaExportProviders, ExportFormats } from './providers'; import { ExportFormats, allGrafanaExportProviders } from './providers';
interface GrafanaReceiversExportPreviewProps { interface GrafanaReceiversExportPreviewProps {
exportFormat: ExportFormats; exportFormat: ExportFormats;

View File

@ -6,7 +6,7 @@ import { alertRuleApi } from '../../api/alertRuleApi';
import { FileExportPreview } from './FileExportPreview'; import { FileExportPreview } from './FileExportPreview';
import { GrafanaExportDrawer } from './GrafanaExportDrawer'; import { GrafanaExportDrawer } from './GrafanaExportDrawer';
import { allGrafanaExportProviders, ExportFormats } from './providers'; import { ExportFormats, allGrafanaExportProviders } from './providers';
interface GrafanaRuleExportPreviewProps { interface GrafanaRuleExportPreviewProps {
alertUid: string; alertUid: string;

View File

@ -7,7 +7,7 @@ import { alertRuleApi } from '../../api/alertRuleApi';
import { FileExportPreview } from './FileExportPreview'; import { FileExportPreview } from './FileExportPreview';
import { GrafanaExportDrawer } from './GrafanaExportDrawer'; import { GrafanaExportDrawer } from './GrafanaExportDrawer';
import { allGrafanaExportProviders, ExportFormats } from './providers'; import { ExportFormats, allGrafanaExportProviders } from './providers';
interface GrafanaRuleFolderExporterProps { interface GrafanaRuleFolderExporterProps {
folder: FolderDTO; folder: FolderDTO;

View File

@ -6,7 +6,7 @@ import { alertRuleApi } from '../../api/alertRuleApi';
import { FileExportPreview } from './FileExportPreview'; import { FileExportPreview } from './FileExportPreview';
import { GrafanaExportDrawer } from './GrafanaExportDrawer'; import { GrafanaExportDrawer } from './GrafanaExportDrawer';
import { allGrafanaExportProviders, ExportFormats } from './providers'; import { ExportFormats, allGrafanaExportProviders } from './providers';
interface GrafanaRuleGroupExporterProps { interface GrafanaRuleGroupExporterProps {
folderUid: string; folderUid: string;

View File

@ -6,7 +6,7 @@ import { alertRuleApi } from '../../api/alertRuleApi';
import { FileExportPreview } from './FileExportPreview'; import { FileExportPreview } from './FileExportPreview';
import { GrafanaExportDrawer } from './GrafanaExportDrawer'; import { GrafanaExportDrawer } from './GrafanaExportDrawer';
import { allGrafanaExportProviders, ExportFormats } from './providers'; import { ExportFormats, allGrafanaExportProviders } from './providers';
interface GrafanaRulesExporterProps { interface GrafanaRulesExporterProps {
onClose: () => void; onClose: () => void;

View File

@ -3,8 +3,8 @@ import { uniqueId } from 'lodash';
import { FC, useCallback, useState } from 'react'; import { FC, useCallback, useState } from 'react';
import { useFormContext } from 'react-hook-form'; import { useFormContext } from 'react-hook-form';
import { DataFrame, dateTimeFormat, GrafanaTheme2, isTimeSeriesFrames, LoadingState, PanelData } from '@grafana/data'; import { DataFrame, GrafanaTheme2, LoadingState, PanelData, dateTimeFormat, isTimeSeriesFrames } from '@grafana/data';
import { Alert, AutoSizeInput, Button, clearButtonStyles, IconButton, Stack, Text, useStyles2 } from '@grafana/ui'; import { Alert, AutoSizeInput, Button, IconButton, Stack, Text, clearButtonStyles, useStyles2 } from '@grafana/ui';
import { ClassicConditions } from 'app/features/expressions/components/ClassicConditions'; import { ClassicConditions } from 'app/features/expressions/components/ClassicConditions';
import { Math } from 'app/features/expressions/components/Math'; import { Math } from 'app/features/expressions/components/Math';
import { Reduce } from 'app/features/expressions/components/Reduce'; import { Reduce } from 'app/features/expressions/components/Reduce';

View File

@ -8,7 +8,7 @@ import { Button, Field, FieldSet, Icon, InlineSwitch, Input, Stack, useStyles2 }
import { useAlertmanager } from '../../state/AlertmanagerContext'; import { useAlertmanager } from '../../state/AlertmanagerContext';
import { MuteTimingFields } from '../../types/mute-timing-form'; import { MuteTimingFields } from '../../types/mute-timing-form';
import { DAYS_OF_THE_WEEK, defaultTimeInterval, MONTHS, validateArrayField } from '../../utils/mute-timings'; import { DAYS_OF_THE_WEEK, MONTHS, defaultTimeInterval, validateArrayField } from '../../utils/mute-timings';
import { MuteTimingTimeRange } from './MuteTimingTimeRange'; import { MuteTimingTimeRange } from './MuteTimingTimeRange';
import { TimezoneSelect } from './timezones'; import { TimezoneSelect } from './timezones';

View File

@ -2,7 +2,7 @@ import { css, cx, keyframes } from '@emotion/css';
import { useMemo, useState } from 'react'; import { useMemo, useState } from 'react';
import { GrafanaTheme2, SelectableValue } from '@grafana/data'; import { GrafanaTheme2, SelectableValue } from '@grafana/data';
import { Select, SelectCommonProps, Stack, Alert, IconButton, Text, useStyles2 } from '@grafana/ui'; import { Alert, IconButton, Select, SelectCommonProps, Stack, Text, useStyles2 } from '@grafana/ui';
import { ContactPointReceiverSummary } from 'app/features/alerting/unified/components/contact-points/ContactPoint'; import { ContactPointReceiverSummary } from 'app/features/alerting/unified/components/contact-points/ContactPoint';
import { useAlertmanager } from 'app/features/alerting/unified/state/AlertmanagerContext'; import { useAlertmanager } from 'app/features/alerting/unified/state/AlertmanagerContext';

View File

@ -1,5 +1,5 @@
import { ReactNode, useState } from 'react'; import { ReactNode, useState } from 'react';
import { useForm, Controller } from 'react-hook-form'; import { Controller, useForm } from 'react-hook-form';
import { Collapse, Field, Link, MultiSelect, useStyles2 } from '@grafana/ui'; import { Collapse, Field, Link, MultiSelect, useStyles2 } from '@grafana/ui';
import { ContactPointSelector } from 'app/features/alerting/unified/components/notification-policies/ContactPointSelector'; import { ContactPointSelector } from 'app/features/alerting/unified/components/notification-policies/ContactPointSelector';
@ -13,8 +13,8 @@ import {
mapMultiSelectValueToStrings, mapMultiSelectValueToStrings,
promDurationValidator, promDurationValidator,
repeatIntervalValidator, repeatIntervalValidator,
stringsToSelectableValues,
stringToSelectableValue, stringToSelectableValue,
stringsToSelectableValues,
} from '../../utils/amroutes'; } from '../../utils/amroutes';
import { makeAMLink } from '../../utils/misc'; import { makeAMLink } from '../../utils/misc';

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css'; import { css } from '@emotion/css';
import { ReactNode, useState } from 'react'; import { ReactNode, useState } from 'react';
import { useForm, Controller, useFieldArray } from 'react-hook-form'; import { Controller, useFieldArray, useForm } from 'react-hook-form';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { import {

View File

@ -3,7 +3,7 @@ import { take, takeRight, uniqueId } from 'lodash';
import { FC } from 'react'; import { FC } from 'react';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { getTagColorsFromName, useStyles2, Stack } from '@grafana/ui'; import { Stack, getTagColorsFromName, useStyles2 } from '@grafana/ui';
import { ObjectMatcher } from 'app/plugins/datasource/alertmanager/types'; import { ObjectMatcher } from 'app/plugins/datasource/alertmanager/types';
import { MatcherFormatter, matcherFormatter } from '../../utils/matchers'; import { MatcherFormatter, matcherFormatter } from '../../utils/matchers';

View File

@ -3,7 +3,7 @@ import { FC, useCallback, useMemo, useState } from 'react';
import { Button, Icon, Modal, ModalProps, Spinner, Stack } from '@grafana/ui'; import { Button, Icon, Modal, ModalProps, Spinner, Stack } from '@grafana/ui';
import { Trans } from 'app/core/internationalization'; import { Trans } from 'app/core/internationalization';
import { AlertmanagerGroup, AlertState, ObjectMatcher, RouteWithID } from 'app/plugins/datasource/alertmanager/types'; import { AlertState, AlertmanagerGroup, ObjectMatcher, RouteWithID } from 'app/plugins/datasource/alertmanager/types';
import { FormAmRoute } from '../../types/amroutes'; import { FormAmRoute } from '../../types/amroutes';
import { MatcherFormatter } from '../../utils/matchers'; import { MatcherFormatter } from '../../utils/matchers';

View File

@ -1,7 +1,7 @@
import { renderHook, screen, within } from '@testing-library/react'; import { renderHook, screen, within } from '@testing-library/react';
import userEvent from '@testing-library/user-event'; import userEvent from '@testing-library/user-event';
import { first, noop } from 'lodash'; import { first, noop } from 'lodash';
import { Routes, Route } from 'react-router-dom-v5-compat'; import { Route, Routes } from 'react-router-dom-v5-compat';
import { render } from 'test/test-utils'; import { render } from 'test/test-utils';
import { config } from '@grafana/runtime'; import { config } from '@grafana/runtime';

View File

@ -1,5 +1,5 @@
import { Alert } from '@grafana/ui'; import { Alert } from '@grafana/ui';
import { t, Trans } from 'app/core/internationalization'; import { Trans, t } from 'app/core/internationalization';
import { stringifyErrorLike } from '../../utils/misc'; import { stringifyErrorLike } from '../../utils/misc';

View File

@ -7,7 +7,7 @@ import { DashboardModel } from 'app/features/dashboard/state/DashboardModel';
import { PanelModel } from 'app/features/dashboard/state/PanelModel'; import { PanelModel } from 'app/features/dashboard/state/PanelModel';
import { useSelector } from 'app/types'; import { useSelector } from 'app/types';
import { logInfo, LogMessages } from '../../Analytics'; import { LogMessages, logInfo } from '../../Analytics';
import { panelToRuleFormValues } from '../../utils/rule-form'; import { panelToRuleFormValues } from '../../utils/rule-form';
interface Props { interface Props {

View File

@ -1,8 +1,8 @@
import { useState, ComponentProps } from 'react'; import { ComponentProps, useState } from 'react';
import { Button, Drawer } from '@grafana/ui'; import { Button, Drawer } from '@grafana/ui';
import { Permissions } from 'app/core/components/AccessControl'; import { Permissions } from 'app/core/components/AccessControl';
import { t, Trans } from 'app/core/internationalization'; import { Trans, t } from 'app/core/internationalization';
type ButtonProps = { onClick: () => void }; type ButtonProps = { onClick: () => void };

View File

@ -6,14 +6,14 @@ import { FixedSizeList } from 'react-window';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { import {
Button, Button,
clearButtonStyles,
FilterInput, FilterInput,
Icon,
LoadingPlaceholder, LoadingPlaceholder,
Modal, Modal,
Tooltip,
useStyles2,
Icon,
Tag, Tag,
Tooltip,
clearButtonStyles,
useStyles2,
} from '@grafana/ui'; } from '@grafana/ui';
import { AlertmanagerAlert, TestTemplateAlert } from 'app/plugins/datasource/alertmanager/types'; import { AlertmanagerAlert, TestTemplateAlert } from 'app/plugins/datasource/alertmanager/types';

View File

@ -1,6 +1,6 @@
import { useForm, FormProvider } from 'react-hook-form'; import { FormProvider, useForm } from 'react-hook-form';
import { Alert, Button, Stack, LinkButton } from '@grafana/ui'; import { Alert, Button, LinkButton, Stack } from '@grafana/ui';
import { useCleanup } from 'app/core/hooks/useCleanup'; import { useCleanup } from 'app/core/hooks/useCleanup';
import { AlertManagerCortexConfig } from 'app/plugins/datasource/alertmanager/types'; import { AlertManagerCortexConfig } from 'app/plugins/datasource/alertmanager/types';
import { useDispatch } from 'app/types'; import { useDispatch } from 'app/types';

View File

@ -1,4 +1,4 @@
import { Routes, Route } from 'react-router-dom-v5-compat'; import { Route, Routes } from 'react-router-dom-v5-compat';
import { render, screen } from 'test/test-utils'; import { render, screen } from 'test/test-utils';
import { byLabelText, byPlaceholderText, byRole, byTestId } from 'testing-library-selector'; import { byLabelText, byPlaceholderText, byRole, byTestId } from 'testing-library-selector';

View File

@ -4,7 +4,7 @@ import { Link } from 'react-router-dom-v5-compat';
import { useToggle } from 'react-use'; import { useToggle } from 'react-use';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { Button, Dropdown, Icon, Menu, MenuItem, useStyles2, Stack } from '@grafana/ui'; import { Button, Dropdown, Icon, Menu, MenuItem, Stack, useStyles2 } from '@grafana/ui';
import { GrafanaReceiversExporter } from '../export/GrafanaReceiversExporter'; import { GrafanaReceiversExporter } from '../export/GrafanaReceiversExporter';

View File

@ -2,7 +2,7 @@ import { css } from '@emotion/css';
import * as React from 'react'; import * as React from 'react';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { useStyles2, Stack } from '@grafana/ui'; import { Stack, useStyles2 } from '@grafana/ui';
import { PopupCard } from '../HoverCard'; import { PopupCard } from '../HoverCard';

View File

@ -3,7 +3,7 @@
* *
* It includes auto-complete for template data and syntax highlighting * It includes auto-complete for template data and syntax highlighting
*/ */
import { editor, IDisposable } from 'monaco-editor'; import { IDisposable, editor } from 'monaco-editor';
import { useEffect, useRef } from 'react'; import { useEffect, useRef } from 'react';
import { CodeEditor } from '@grafana/ui'; import { CodeEditor } from '@grafana/ui';

View File

@ -26,7 +26,7 @@ import {
} from '@grafana/ui'; } from '@grafana/ui';
import { useAppNotification } from 'app/core/copy/appNotification'; import { useAppNotification } from 'app/core/copy/appNotification';
import { useCleanup } from 'app/core/hooks/useCleanup'; import { useCleanup } from 'app/core/hooks/useCleanup';
import { t, Trans } from 'app/core/internationalization'; import { Trans, t } from 'app/core/internationalization';
import { ActiveTab as ContactPointsActiveTabs } from 'app/features/alerting/unified/components/contact-points/ContactPoints'; import { ActiveTab as ContactPointsActiveTabs } from 'app/features/alerting/unified/components/contact-points/ContactPoints';
import { TestTemplateAlert } from 'app/plugins/datasource/alertmanager/types'; import { TestTemplateAlert } from 'app/plugins/datasource/alertmanager/types';

View File

@ -1,7 +1,7 @@
import { default as React } from 'react'; import { default as React } from 'react';
import { FormProvider, useForm } from 'react-hook-form'; import { FormProvider, useForm } from 'react-hook-form';
import { Provider } from 'react-redux'; import { Provider } from 'react-redux';
import { screen, render, waitFor } from 'test/test-utils'; import { render, screen, waitFor } from 'test/test-utils';
import { byRole } from 'testing-library-selector'; import { byRole } from 'testing-library-selector';
import { Components } from '@grafana/e2e-selectors'; import { Components } from '@grafana/e2e-selectors';
@ -10,12 +10,12 @@ import { configureStore } from 'app/store/configureStore';
import { TemplatePreviewResponse } from '../../api/templateApi'; import { TemplatePreviewResponse } from '../../api/templateApi';
import { import {
REJECTED_PREVIEW_RESPONSE,
mockPreviewTemplateResponse, mockPreviewTemplateResponse,
mockPreviewTemplateResponseRejected, mockPreviewTemplateResponseRejected,
REJECTED_PREVIEW_RESPONSE,
} from '../../mocks/templatesApi'; } from '../../mocks/templatesApi';
import { defaults, TemplateFormValues } from './TemplateForm'; import { TemplateFormValues, defaults } from './TemplateForm';
import { TemplatePreview } from './TemplatePreview'; import { TemplatePreview } from './TemplatePreview';
jest.mock( jest.mock(

View File

@ -3,7 +3,7 @@ import { Fragment, useState } from 'react';
import { logError } from '@grafana/runtime'; import { logError } from '@grafana/runtime';
import { Badge, ConfirmModal, Tooltip, useStyles2 } from '@grafana/ui'; import { Badge, ConfirmModal, Tooltip, useStyles2 } from '@grafana/ui';
import { useAppNotification } from 'app/core/copy/appNotification'; import { useAppNotification } from 'app/core/copy/appNotification';
import { t, Trans } from 'app/core/internationalization'; import { Trans, t } from 'app/core/internationalization';
import { CodeText } from 'app/features/alerting/unified/components/common/TextVariants'; import { CodeText } from 'app/features/alerting/unified/components/common/TextVariants';
import { GRAFANA_RULES_SOURCE_NAME } from 'app/features/alerting/unified/utils/datasource'; import { GRAFANA_RULES_SOURCE_NAME } from 'app/features/alerting/unified/utils/datasource';

View File

@ -1,13 +1,13 @@
import { concat } from 'lodash'; import { concat } from 'lodash';
import type { languages, editor, Position, IRange, IDisposable } from 'monaco-editor/esm/vs/editor/editor.api'; import type { IDisposable, IRange, Position, editor, languages } from 'monaco-editor/esm/vs/editor/editor.api';
import type { Monaco } from '@grafana/ui'; import type { Monaco } from '@grafana/ui';
import { getAlertManagerSuggestions } from './alertManagerSuggestions'; import { getAlertManagerSuggestions } from './alertManagerSuggestions';
import { SuggestionDefinition } from './suggestionDefinition'; import { SuggestionDefinition } from './suggestionDefinition';
import { import {
getAlertsSuggestions,
getAlertSuggestions, getAlertSuggestions,
getAlertsSuggestions,
getGlobalSuggestions, getGlobalSuggestions,
getKeyValueSuggestions, getKeyValueSuggestions,
getSnippetsSuggestions, getSnippetsSuggestions,

View File

@ -1,4 +1,4 @@
import { FieldError, DeepMap, useFormContext } from 'react-hook-form'; import { DeepMap, FieldError, useFormContext } from 'react-hook-form';
import { Button, useStyles2 } from '@grafana/ui'; import { Button, useStyles2 } from '@grafana/ui';
import { useControlledFieldArray } from 'app/features/alerting/unified/hooks/useControlledFieldArray'; import { useControlledFieldArray } from 'app/features/alerting/unified/hooks/useControlledFieldArray';

View File

@ -1,5 +1,5 @@
import { useState } from 'react'; import { useState } from 'react';
import { FieldError, DeepMap, useFormContext } from 'react-hook-form'; import { DeepMap, FieldError, useFormContext } from 'react-hook-form';
import { Button, useStyles2 } from '@grafana/ui'; import { Button, useStyles2 } from '@grafana/ui';
import { NotificationChannelOption, NotificationChannelSecureFields } from 'app/types'; import { NotificationChannelOption, NotificationChannelSecureFields } from 'app/types';

View File

@ -12,7 +12,7 @@ import { PROVENANCE_NONE } from 'app/features/alerting/unified/utils/k8s/constan
import { DEFAULT_TEMPLATES } from 'app/features/alerting/unified/utils/template-constants'; import { DEFAULT_TEMPLATES } from 'app/features/alerting/unified/utils/template-constants';
import { AccessControlAction, NotificationChannelOption } from 'app/types'; import { AccessControlAction, NotificationChannelOption } from 'app/types';
import { getTemplateOptions, TemplatesPicker } from './TemplateSelector'; import { TemplatesPicker, getTemplateOptions } from './TemplateSelector';
import { parseTemplates } from './utils'; import { parseTemplates } from './utils';
const alertmanagerConfigMock = getAlertmanagerConfig(GRAFANA_RULES_SOURCE_NAME); const alertmanagerConfigMock = getAlertmanagerConfig(GRAFANA_RULES_SOURCE_NAME);

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css'; import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { Icon, LinkButton, Tooltip, useStyles2, Stack } from '@grafana/ui'; import { Icon, LinkButton, Stack, Tooltip, useStyles2 } from '@grafana/ui';
import { ReceiverPluginMetadata } from './useReceiversMetadata'; import { ReceiverPluginMetadata } from './useReceiversMetadata';

View File

@ -1,4 +1,4 @@
import { renderHook, waitFor, getWrapper } from 'test/test-utils'; import { getWrapper, renderHook, waitFor } from 'test/test-utils';
import { setupMswServer } from 'app/features/alerting/unified/mockApi'; import { setupMswServer } from 'app/features/alerting/unified/mockApi';
import { disablePlugin } from 'app/features/alerting/unified/mocks/server/configure'; import { disablePlugin } from 'app/features/alerting/unified/mocks/server/configure';

View File

@ -1,6 +1,6 @@
import { FieldArrayWithId, useFormContext, Controller } from 'react-hook-form'; import { Controller, FieldArrayWithId, useFormContext } from 'react-hook-form';
import { Text, Stack } from '@grafana/ui'; import { Stack, Text } from '@grafana/ui';
import { RuleFormValues } from '../../types/rule-form'; import { RuleFormValues } from '../../types/rule-form';
import { Annotation, annotationDescriptions, annotationLabels } from '../../utils/constants'; import { Annotation, annotationDescriptions, annotationLabels } from '../../utils/constants';

View File

@ -1,6 +1,6 @@
import userEvent from '@testing-library/user-event'; import userEvent from '@testing-library/user-event';
import { FormProvider, useForm } from 'react-hook-form'; import { FormProvider, useForm } from 'react-hook-form';
import { screen, render, within } from 'test/test-utils'; import { render, screen, within } from 'test/test-utils';
import { byRole, byTestId } from 'testing-library-selector'; import { byRole, byTestId } from 'testing-library-selector';
import { DashboardSearchItemType } from '../../../../search/types'; import { DashboardSearchItemType } from '../../../../search/types';

View File

@ -6,7 +6,7 @@ import { useToggle } from 'react-use';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { Button, Field, Input, Stack, Text, TextArea, useStyles2 } from '@grafana/ui'; import { Button, Field, Input, Stack, Text, TextArea, useStyles2 } from '@grafana/ui';
import { t, Trans } from 'app/core/internationalization'; import { Trans, t } from 'app/core/internationalization';
import { DashboardModel } from '../../../../dashboard/state/DashboardModel'; import { DashboardModel } from '../../../../dashboard/state/DashboardModel';
import { RuleFormValues } from '../../types/rule-form'; import { RuleFormValues } from '../../types/rule-form';
@ -15,7 +15,7 @@ import { isGrafanaManagedRuleByType } from '../../utils/rules';
import AnnotationHeaderField from './AnnotationHeaderField'; import AnnotationHeaderField from './AnnotationHeaderField';
import DashboardAnnotationField from './DashboardAnnotationField'; import DashboardAnnotationField from './DashboardAnnotationField';
import { DashboardPicker, getVisualPanels, PanelDTO } from './DashboardPicker'; import { DashboardPicker, PanelDTO, getVisualPanels } from './DashboardPicker';
import { NeedHelpInfo } from './NeedHelpInfo'; import { NeedHelpInfo } from './NeedHelpInfo';
import { RuleEditorSection } from './RuleEditorSection'; import { RuleEditorSection } from './RuleEditorSection';
import { useDashboardQuery } from './useDashboardQuery'; import { useDashboardQuery } from './useDashboardQuery';

View File

@ -9,12 +9,12 @@ import { GrafanaTheme2 } from '@grafana/data/src';
import { import {
Alert, Alert,
Button, Button,
clearButtonStyles,
FilterInput, FilterInput,
Icon, Icon,
LoadingPlaceholder, LoadingPlaceholder,
Modal, Modal,
Tooltip, Tooltip,
clearButtonStyles,
useStyles2, useStyles2,
} from '@grafana/ui'; } from '@grafana/ui';

View File

@ -1,6 +1,6 @@
import { render, screen, userEvent } from 'test/test-utils'; import { render, screen, userEvent } from 'test/test-utils';
import { getEvaluationGroupOptions, EvaluationGroupQuickPick } from './EvaluationGroupQuickPick'; import { EvaluationGroupQuickPick, getEvaluationGroupOptions } from './EvaluationGroupQuickPick';
describe('EvaluationGroupQuickPick', () => { describe('EvaluationGroupQuickPick', () => {
it('should render the correct default preset, set active element and allow selecting another option', async () => { it('should render the correct default preset, set active element and allow selecting another option', async () => {

View File

@ -21,11 +21,11 @@ import {
Tooltip, Tooltip,
useStyles2, useStyles2,
} from '@grafana/ui'; } from '@grafana/ui';
import { t, Trans } from 'app/core/internationalization'; import { Trans, t } from 'app/core/internationalization';
import { CombinedRuleGroup, CombinedRuleNamespace } from 'app/types/unified-alerting'; import { CombinedRuleGroup, CombinedRuleNamespace } from 'app/types/unified-alerting';
import { RulerRuleGroupDTO, RulerRulesConfigDTO } from 'app/types/unified-alerting-dto'; import { RulerRuleGroupDTO, RulerRulesConfigDTO } from 'app/types/unified-alerting-dto';
import { logInfo, LogMessages } from '../../Analytics'; import { LogMessages, logInfo } from '../../Analytics';
import { alertRuleApi } from '../../api/alertRuleApi'; import { alertRuleApi } from '../../api/alertRuleApi';
import { GRAFANA_RULER_CONFIG } from '../../api/featureDiscoveryApi'; import { GRAFANA_RULER_CONFIG } from '../../api/featureDiscoveryApi';
import { useCombinedRuleNamespaces } from '../../hooks/useCombinedRuleNamespaces'; import { useCombinedRuleNamespaces } from '../../hooks/useCombinedRuleNamespaces';

View File

@ -2,7 +2,7 @@ import { useState } from 'react';
import { useFormContext } from 'react-hook-form'; import { useFormContext } from 'react-hook-form';
import { Stack, Text } from '@grafana/ui'; import { Stack, Text } from '@grafana/ui';
import { t, Trans } from 'app/core/internationalization'; import { Trans, t } from 'app/core/internationalization';
import { KBObjectArray, RuleFormValues } from '../../types/rule-form'; import { KBObjectArray, RuleFormValues } from '../../types/rule-form';
import { GRAFANA_RULES_SOURCE_NAME } from '../../utils/datasource'; import { GRAFANA_RULES_SOURCE_NAME } from '../../utils/datasource';

View File

@ -1,9 +1,9 @@
import { css } from '@emotion/css'; import { css } from '@emotion/css';
import { useMemo } from 'react'; import { useMemo } from 'react';
import { useFormContext, Controller } from 'react-hook-form'; import { Controller, useFormContext } from 'react-hook-form';
import { GrafanaTheme2, SelectableValue } from '@grafana/data'; import { GrafanaTheme2, SelectableValue } from '@grafana/data';
import { Field, useStyles2, VirtualizedSelect } from '@grafana/ui'; import { Field, VirtualizedSelect, useStyles2 } from '@grafana/ui';
import { RuleFormValues } from '../../types/rule-form'; import { RuleFormValues } from '../../types/rule-form';

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css'; import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data'; import { GrafanaTheme2 } from '@grafana/data';
import { Icon, Text, Toggletip, useStyles2, Stack } from '@grafana/ui'; import { Icon, Stack, Text, Toggletip, useStyles2 } from '@grafana/ui';
interface NeedHelpInfoProps { interface NeedHelpInfoProps {
contentText: string | JSX.Element; contentText: string | JSX.Element;

View File

@ -5,7 +5,7 @@ import { useFormContext } from 'react-hook-form';
import { useMountedState } from 'react-use'; import { useMountedState } from 'react-use';
import { takeWhile } from 'rxjs/operators'; import { takeWhile } from 'rxjs/operators';
import { dateTimeFormatISO, GrafanaTheme2, LoadingState } from '@grafana/data'; import { GrafanaTheme2, LoadingState, dateTimeFormatISO } from '@grafana/data';
import { getDataSourceSrv } from '@grafana/runtime'; import { getDataSourceSrv } from '@grafana/runtime';
import { Alert, Button, Stack, useStyles2 } from '@grafana/ui'; import { Alert, Button, Stack, useStyles2 } from '@grafana/ui';

View File

@ -1,9 +1,9 @@
import { css } from '@emotion/css'; import { css } from '@emotion/css';
import { useState } from 'react'; import { useState } from 'react';
import { dateTime, getDefaultRelativeTimeRange, GrafanaTheme2, RelativeTimeRange } from '@grafana/data'; import { GrafanaTheme2, RelativeTimeRange, dateTime, getDefaultRelativeTimeRange } from '@grafana/data';
import { relativeToTimeRange } from '@grafana/data/src/datetime/rangeutil'; import { relativeToTimeRange } from '@grafana/data/src/datetime/rangeutil';
import { clearButtonStyles, Icon, InlineField, RelativeTimeRangePicker, Toggletip, useStyles2 } from '@grafana/ui'; import { Icon, InlineField, RelativeTimeRangePicker, Toggletip, clearButtonStyles, useStyles2 } from '@grafana/ui';
import { AlertQuery } from 'app/types/unified-alerting-dto'; import { AlertQuery } from 'app/types/unified-alerting-dto';
import { AlertQueryOptions, MaxDataPointsOption, MinIntervalOption } from './QueryWrapper'; import { AlertQueryOptions, MaxDataPointsOption, MinIntervalOption } from './QueryWrapper';

View File

@ -1,15 +1,15 @@
import { DragDropContext, Droppable, DropResult } from '@hello-pangea/dnd'; import { DragDropContext, DropResult, Droppable } from '@hello-pangea/dnd';
import { omit } from 'lodash'; import { omit } from 'lodash';
import { PureComponent, useState } from 'react'; import { PureComponent, useState } from 'react';
import { import {
DataQuery, DataQuery,
DataSourceInstanceSettings, DataSourceInstanceSettings,
getDataSourceRef,
LoadingState, LoadingState,
PanelData, PanelData,
rangeUtil,
RelativeTimeRange, RelativeTimeRange,
getDataSourceRef,
rangeUtil,
} from '@grafana/data'; } from '@grafana/data';
import { getDataSourceSrv } from '@grafana/runtime'; import { getDataSourceSrv } from '@grafana/runtime';
import { Button, Card, Icon, Stack } from '@grafana/ui'; import { Button, Card, Icon, Stack } from '@grafana/ui';

View File

@ -2,7 +2,7 @@ import { css } from '@emotion/css';
import { FC, useEffect, useState } from 'react'; import { FC, useEffect, useState } from 'react';
import { useAsync } from 'react-use'; import { useAsync } from 'react-use';
import { PanelData, CoreApp, GrafanaTheme2, LoadingState } from '@grafana/data'; import { CoreApp, GrafanaTheme2, LoadingState, PanelData } from '@grafana/data';
import { getDataSourceSrv } from '@grafana/runtime'; import { getDataSourceSrv } from '@grafana/runtime';
import { DataQuery } from '@grafana/schema'; import { DataQuery } from '@grafana/schema';
import { useStyles2 } from '@grafana/ui'; import { useStyles2 } from '@grafana/ui';

Some files were not shown because too many files have changed in this diff Show More