diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 6adf2386d10..3cb63cf9969 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -836,7 +836,6 @@ playwright.storybook.config.ts @grafana/grafana-frontend-platform /public/app/core/constants.ts @grafana/grafana-frontend-platform /public/app/core/context/ @grafana/grafana-frontend-platform /public/app/core/copy/appNotification.ts @grafana/grafana-search-navigate-organise -/public/app/core/core.ts @grafana/grafana-frontend-platform /public/app/core/crash/ @grafana/observability-traces-and-profiling /public/app/core/history/ @grafana/observability-traces-and-profiling /public/app/core/hooks/useBusEvent.ts @grafana/grafana-frontend-platform diff --git a/eslint-suppressions.json b/eslint-suppressions.json index 3164290da20..87e831494aa 100644 --- a/eslint-suppressions.json +++ b/eslint-suppressions.json @@ -1276,11 +1276,6 @@ "count": 2 } }, - "public/app/core/core.ts": { - "no-barrel-files/no-barrel-files": { - "count": 7 - } - }, "public/app/core/navigation/types.ts": { "@typescript-eslint/no-explicit-any": { "count": 1 diff --git a/public/app/api/clients/folder/v1beta1/utils.ts b/public/app/api/clients/folder/v1beta1/utils.ts index 0944bd12e7e..e01cb67e809 100644 --- a/public/app/api/clients/folder/v1beta1/utils.ts +++ b/public/app/api/clients/folder/v1beta1/utils.ts @@ -3,7 +3,7 @@ import { AppEvents } from '@grafana/data'; import { t } from '@grafana/i18n'; import { config } from '@grafana/runtime'; -import appEvents from '../../../../core/app_events'; +import { appEvents } from '../../../../core/app_events'; import { isProvisionedFolder } from '../../../../features/browse-dashboards/api/isProvisioned'; import { useDispatch } from '../../../../types/store'; diff --git a/public/app/app.ts b/public/app/app.ts index b95b60fac40..8c9c5167e42 100644 --- a/public/app/app.ts +++ b/public/app/app.ts @@ -57,7 +57,7 @@ import { getStandardTransformers } from 'app/features/transformers/standardTrans import getDefaultMonacoLanguages from '../lib/monaco-languages'; import { AppWrapper } from './AppWrapper'; -import appEvents from './core/app_events'; +import { appEvents } from './core/app_events'; import { AppChromeService } from './core/components/AppChrome/AppChromeService'; import { useChromeHeaderHeight } from './core/components/AppChrome/TopBar/useChromeHeaderHeight'; import { useHelpNode } from './core/components/AppChrome/TopBar/useHelpNode'; diff --git a/public/app/core/app_events.ts b/public/app/core/app_events.ts index 2c3552ec35b..63c51e78982 100644 --- a/public/app/core/app_events.ts +++ b/public/app/core/app_events.ts @@ -1,5 +1,3 @@ import { EventBusSrv, EventBusExtended } from '@grafana/data'; export const appEvents: EventBusExtended = new EventBusSrv(); - -export default appEvents; diff --git a/public/app/core/components/AppChrome/AppChromeService.tsx b/public/app/core/components/AppChrome/AppChromeService.tsx index cead7f68090..f3ab1b63c1b 100644 --- a/public/app/core/components/AppChrome/AppChromeService.tsx +++ b/public/app/core/components/AppChrome/AppChromeService.tsx @@ -4,7 +4,7 @@ import { BehaviorSubject } from 'rxjs'; import { AppEvents, NavModel, NavModelItem, PageLayoutType, UrlQueryValue } from '@grafana/data'; import { t } from '@grafana/i18n'; import { config, locationService, reportInteraction } from '@grafana/runtime'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import store from 'app/core/store'; import { isShallowEqual } from 'app/core/utils/isShallowEqual'; import { KioskMode } from 'app/types/dashboard'; diff --git a/public/app/core/components/AppChrome/MegaMenu/utils.ts b/public/app/core/components/AppChrome/MegaMenu/utils.ts index 473e76ec834..b34aa2c8a08 100644 --- a/public/app/core/components/AppChrome/MegaMenu/utils.ts +++ b/public/app/core/components/AppChrome/MegaMenu/utils.ts @@ -7,7 +7,7 @@ import { MEGA_MENU_TOGGLE_ID } from 'app/core/constants'; import { HOME_NAV_ID } from 'app/core/reducers/navModel'; import { ShowModalReactEvent } from '../../../../types/events'; -import appEvents from '../../../app_events'; +import { appEvents } from '../../../app_events'; import { getFooterLinks } from '../../Footer/Footer'; import { HelpModal } from '../../help/HelpModal'; diff --git a/public/app/core/components/AppChrome/TopBar/InviteUserButton.test.tsx b/public/app/core/components/AppChrome/TopBar/InviteUserButton.test.tsx index d867c17488b..f5e66653ddb 100644 --- a/public/app/core/components/AppChrome/TopBar/InviteUserButton.test.tsx +++ b/public/app/core/components/AppChrome/TopBar/InviteUserButton.test.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { config, reportInteraction } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { getExternalUserMngLinkUrl } from 'app/features/users/utils'; import { InviteUserButton } from './InviteUserButton'; @@ -16,7 +16,7 @@ jest.mock('@grafana/runtime', () => ({ reportInteraction: jest.fn(), })); -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { hasPermission: jest.fn(), }, diff --git a/public/app/core/components/AppChrome/TopBar/InviteUserButtonUtils.test.tsx b/public/app/core/components/AppChrome/TopBar/InviteUserButtonUtils.test.tsx index cb4e3dddaff..9c7090102f9 100644 --- a/public/app/core/components/AppChrome/TopBar/InviteUserButtonUtils.test.tsx +++ b/public/app/core/components/AppChrome/TopBar/InviteUserButtonUtils.test.tsx @@ -1,6 +1,6 @@ import type { FeatureToggles } from '@grafana/data'; import { reportInteraction, config } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { getExternalUserMngLinkUrl } from 'app/features/users/utils'; import { AccessControlAction } from 'app/types/accessControl'; @@ -16,7 +16,7 @@ jest.mock('@grafana/runtime', () => ({ }, })); -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { hasPermission: jest.fn(), }, diff --git a/public/app/core/components/AppChrome/TopBar/InviteUserButtonUtils.tsx b/public/app/core/components/AppChrome/TopBar/InviteUserButtonUtils.tsx index 55cbb9157de..6e7d90bd879 100644 --- a/public/app/core/components/AppChrome/TopBar/InviteUserButtonUtils.tsx +++ b/public/app/core/components/AppChrome/TopBar/InviteUserButtonUtils.tsx @@ -1,5 +1,5 @@ import { reportInteraction, config } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { getExternalUserMngLinkUrl } from 'app/features/users/utils'; import { AccessControlAction } from 'app/types/accessControl'; diff --git a/public/app/core/components/AppChrome/TopBar/ProfileButton.tsx b/public/app/core/components/AppChrome/TopBar/ProfileButton.tsx index 3bb3f81e561..7d003e8f0b3 100644 --- a/public/app/core/components/AppChrome/TopBar/ProfileButton.tsx +++ b/public/app/core/components/AppChrome/TopBar/ProfileButton.tsx @@ -6,7 +6,7 @@ import { GrafanaTheme2, NavModelItem } from '@grafana/data'; import { t } from '@grafana/i18n'; import { config } from '@grafana/runtime'; import { Dropdown, Menu, MenuItem, ToolbarButton, useStyles2 } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { ThemeSelectorDrawer } from '../../ThemeSelector/ThemeSelectorDrawer'; import { enrichWithInteractionTracking } from '../MegaMenu/utils'; diff --git a/public/app/core/components/AppChrome/TopBar/SingleTopBar.tsx b/public/app/core/components/AppChrome/TopBar/SingleTopBar.tsx index f04222533f9..bf3681d9361 100644 --- a/public/app/core/components/AppChrome/TopBar/SingleTopBar.tsx +++ b/public/app/core/components/AppChrome/TopBar/SingleTopBar.tsx @@ -9,9 +9,9 @@ import { Icon, Stack, ToolbarButton, useStyles2 } from '@grafana/ui'; import { config } from 'app/core/config'; import { MEGA_MENU_TOGGLE_ID } from 'app/core/constants'; import { useGrafana } from 'app/core/context/GrafanaContext'; -import { contextSrv } from 'app/core/core'; import { useMediaQueryMinWidth } from 'app/core/hooks/useMediaQueryMinWidth'; import { HOME_NAV_ID } from 'app/core/reducers/navModel'; +import { contextSrv } from 'app/core/services/context_srv'; import { useSelector } from 'app/types/store'; import { Branding } from '../../Branding/Branding'; diff --git a/public/app/core/components/AppNotifications/AppNotificationList.test.tsx b/public/app/core/components/AppNotifications/AppNotificationList.test.tsx index c310a6c7f8d..61500e0cd4c 100644 --- a/public/app/core/components/AppNotifications/AppNotificationList.test.tsx +++ b/public/app/core/components/AppNotifications/AppNotificationList.test.tsx @@ -1,7 +1,7 @@ import { act, getWrapper, render, screen } from 'test/test-utils'; import { AppEvents } from '@grafana/data'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { KioskMode } from 'app/types/dashboard'; import { AppChromeService } from '../AppChrome/AppChromeService'; diff --git a/public/app/core/components/AppNotifications/AppNotificationList.tsx b/public/app/core/components/AppNotifications/AppNotificationList.tsx index 737e1f7cbf7..29cc9a4b0e3 100644 --- a/public/app/core/components/AppNotifications/AppNotificationList.tsx +++ b/public/app/core/components/AppNotifications/AppNotificationList.tsx @@ -5,7 +5,7 @@ import { useLocation } from 'react-router-dom'; import { AlertErrorPayload, AppEvents, GrafanaTheme2 } from '@grafana/data'; import { useStyles2, Stack } from '@grafana/ui'; import { notifyApp, hideAppNotification } from 'app/core/actions'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { useGrafana } from 'app/core/context/GrafanaContext'; import { selectVisible } from 'app/core/reducers/appNotification'; import { useSelector, useDispatch } from 'app/types/store'; diff --git a/public/app/core/components/RolePicker/BuiltinRoleSelector.tsx b/public/app/core/components/RolePicker/BuiltinRoleSelector.tsx index 70e18b2a9c8..1099ea2a475 100644 --- a/public/app/core/components/RolePicker/BuiltinRoleSelector.tsx +++ b/public/app/core/components/RolePicker/BuiltinRoleSelector.tsx @@ -1,7 +1,7 @@ import { OrgRole, SelectableValue } from '@grafana/data'; import { Trans } from '@grafana/i18n'; import { Icon, RadioButtonList, Tooltip, useStyles2, useTheme2, PopoverContent } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { getStyles } from './styles'; diff --git a/public/app/core/components/RolePicker/TeamRolePicker.tsx b/public/app/core/components/RolePicker/TeamRolePicker.tsx index d7b35e4ee51..726868df237 100644 --- a/public/app/core/components/RolePicker/TeamRolePicker.tsx +++ b/public/app/core/components/RolePicker/TeamRolePicker.tsx @@ -1,7 +1,7 @@ import { useEffect } from 'react'; import { useAsyncFn } from 'react-use'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { Role, AccessControlAction } from 'app/types/accessControl'; import { RolePicker } from './RolePicker'; diff --git a/public/app/core/components/RolePicker/UserRolePicker.tsx b/public/app/core/components/RolePicker/UserRolePicker.tsx index 1855e3e53ba..0c19517d248 100644 --- a/public/app/core/components/RolePicker/UserRolePicker.tsx +++ b/public/app/core/components/RolePicker/UserRolePicker.tsx @@ -2,7 +2,7 @@ import { useEffect } from 'react'; import { useAsyncFn } from 'react-use'; import { OrgRole } from '@grafana/data'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { Role, AccessControlAction } from 'app/types/accessControl'; import { RolePicker } from './RolePicker'; diff --git a/public/app/core/components/RolePicker/hooks.ts b/public/app/core/components/RolePicker/hooks.ts index 0b66a36c94f..a7f8dc37329 100644 --- a/public/app/core/components/RolePicker/hooks.ts +++ b/public/app/core/components/RolePicker/hooks.ts @@ -3,7 +3,7 @@ import { useState } from 'react'; import { useDeepCompareEffect } from 'react-use'; import useAsync from 'react-use/lib/useAsync'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { Role, AccessControlAction } from 'app/types/accessControl'; import { fetchRoleOptions } from './api'; diff --git a/public/app/core/components/TimePicker/TimePickerWithHistory.tsx b/public/app/core/components/TimePicker/TimePickerWithHistory.tsx index 54b9cedf608..1c8ce90cbbf 100644 --- a/public/app/core/components/TimePicker/TimePickerWithHistory.tsx +++ b/public/app/core/components/TimePicker/TimePickerWithHistory.tsx @@ -3,7 +3,7 @@ import { uniqBy } from 'lodash'; import { AppEvents, DateTime, LocalStorageValueProvider, TimeRange, isDateTime, rangeUtil } from '@grafana/data'; import { t } from '@grafana/i18n'; import { TimeRangePickerProps, TimeRangePicker } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; const LOCAL_STORAGE_KEY = 'grafana.dashboard.timepicker.history'; const MAX_HISTORY_ITEMS = 4; diff --git a/public/app/core/context/ModalsContextProvider.tsx b/public/app/core/context/ModalsContextProvider.tsx index 69aea1874be..84d060637f2 100644 --- a/public/app/core/context/ModalsContextProvider.tsx +++ b/public/app/core/context/ModalsContextProvider.tsx @@ -7,7 +7,7 @@ import { ConfirmModal, ConfirmModalProps, ModalsContext } from '@grafana/ui'; import { ModalsContextState } from '@grafana/ui/internal'; import { ShowConfirmModalEvent, ShowModalReactEvent } from 'app/types/events'; -import appEvents from '../app_events'; +import { appEvents } from '../app_events'; export interface Props { children: React.ReactNode; diff --git a/public/app/core/core.ts b/public/app/core/core.ts deleted file mode 100644 index 7adfd4242b7..00000000000 --- a/public/app/core/core.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { colors, JsonExplorer } from '@grafana/ui'; - -import appEvents from './app_events'; -import { profiler } from './profiler'; -import { contextSrv } from './services/context_srv'; -import TimeSeries, { updateLegendValues } from './time_series2'; - -export { profiler, appEvents, colors, contextSrv, JsonExplorer, TimeSeries, updateLegendValues }; diff --git a/public/app/core/history/richHistoryStorageProvider.ts b/public/app/core/history/richHistoryStorageProvider.ts index 84defd0f001..41e598f4248 100644 --- a/public/app/core/history/richHistoryStorageProvider.ts +++ b/public/app/core/history/richHistoryStorageProvider.ts @@ -1,5 +1,5 @@ import { config } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { SortOrder } from '../utils/richHistoryTypes'; diff --git a/public/app/core/services/backend_srv.ts b/public/app/core/services/backend_srv.ts index 2918263b6e4..4bef4433088 100644 --- a/public/app/core/services/backend_srv.ts +++ b/public/app/core/services/backend_srv.ts @@ -28,7 +28,7 @@ import { v4 as uuidv4 } from 'uuid'; import { AppEvents, DataQueryErrorType, deprecationWarning } from '@grafana/data'; import { BackendSrv as BackendService, BackendSrvRequest, config, FetchError, FetchResponse } from '@grafana/runtime'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { getConfig } from 'app/core/config'; import { getSessionExpiry, hasSessionExpiry } from 'app/core/utils/auth'; import { loadUrlToken } from 'app/core/utils/urlToken'; diff --git a/public/app/core/services/keybindingSrv.ts b/public/app/core/services/keybindingSrv.ts index 9b4202b74dc..865f461ce84 100644 --- a/public/app/core/services/keybindingSrv.ts +++ b/public/app/core/services/keybindingSrv.ts @@ -1,7 +1,7 @@ import { toggleAssistant, isAssistantAvailable } from '@grafana/assistant'; import { LegacyGraphHoverClearEvent, SetPanelAttentionEvent, locationUtil } from '@grafana/data'; import { LocationService } from '@grafana/runtime'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { getExploreUrl } from 'app/core/utils/explore'; import { toggleMockApiAndReload, togglePseudoLocale } from 'app/dev-utils'; import { SaveDashboardDrawer } from 'app/features/dashboard/components/SaveDashboard/SaveDashboardDrawer'; @@ -21,8 +21,8 @@ import { } from '../../types/events'; import { AppChromeService } from '../components/AppChrome/AppChromeService'; import { HelpModal } from '../components/help/HelpModal'; -import { contextSrv } from '../core'; import { RouteDescriptor } from '../navigation/types'; +import { contextSrv } from '../services/context_srv'; import { mousetrap } from './mousetrap'; import { toggleTheme } from './theme'; diff --git a/public/app/core/services/theme.ts b/public/app/core/services/theme.ts index 9dcbdb552e8..542aa1ab743 100644 --- a/public/app/core/services/theme.ts +++ b/public/app/core/services/theme.ts @@ -1,9 +1,9 @@ import { getThemeById } from '@grafana/data/internal'; import { ThemeChangedEvent } from '@grafana/runtime'; -import appEvents from '../app_events'; +import { appEvents } from '../app_events'; import { config } from '../config'; -import { contextSrv } from '../core'; +import { contextSrv } from '../services/context_srv'; import { PreferencesService } from './PreferencesService'; diff --git a/public/app/core/utils/ConfigProvider.tsx b/public/app/core/utils/ConfigProvider.tsx index 3f8ffd55050..2da6108d9a0 100644 --- a/public/app/core/utils/ConfigProvider.tsx +++ b/public/app/core/utils/ConfigProvider.tsx @@ -5,7 +5,7 @@ import { SkeletonTheme } from 'react-loading-skeleton'; import { GrafanaTheme2, ThemeContext } from '@grafana/data'; import { ThemeChangedEvent, config } from '@grafana/runtime'; -import { appEvents } from '../core'; +import { appEvents } from '../app_events'; import 'react-loading-skeleton/dist/skeleton.css'; diff --git a/public/app/features/actions/utils.ts b/public/app/features/actions/utils.ts index 011185c0244..aeb761cba39 100644 --- a/public/app/features/actions/utils.ts +++ b/public/app/features/actions/utils.ts @@ -17,7 +17,7 @@ import { ValueLinkConfig, } from '@grafana/data'; import { BackendSrvRequest, config as grafanaConfig, getBackendSrv } from '@grafana/runtime'; -import { appEvents } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { HttpRequestMethod } from '../../plugins/panel/canvas/panelcfg.gen'; import { createAbsoluteUrl, RelativeUrl } from '../alerting/unified/utils/url'; diff --git a/public/app/features/admin/AdminEditOrgPage.tsx b/public/app/features/admin/AdminEditOrgPage.tsx index fb6039792dc..deb4bb7309c 100644 --- a/public/app/features/admin/AdminEditOrgPage.tsx +++ b/public/app/features/admin/AdminEditOrgPage.tsx @@ -7,7 +7,7 @@ import { NavModelItem, OrgRole } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { Field, Input, Button, Legend, Alert } from '@grafana/ui'; import { Page } from 'app/core/components/Page/Page'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { OrgUser } from 'app/types/user'; diff --git a/public/app/features/admin/AdminOrgsTable.tsx b/public/app/features/admin/AdminOrgsTable.tsx index d85dcccfea5..d75ba3c0058 100644 --- a/public/app/features/admin/AdminOrgsTable.tsx +++ b/public/app/features/admin/AdminOrgsTable.tsx @@ -6,7 +6,7 @@ import { GrafanaTheme2 } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { Button, ConfirmModal, useStyles2 } from '@grafana/ui'; import { SkeletonComponent, attachSkeleton } from '@grafana/ui/unstable'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { Organization } from 'app/types/organization'; diff --git a/public/app/features/admin/EnterpriseAuthFeaturesCard.tsx b/public/app/features/admin/EnterpriseAuthFeaturesCard.tsx index d3387d46528..97b896fe9a2 100644 --- a/public/app/features/admin/EnterpriseAuthFeaturesCard.tsx +++ b/public/app/features/admin/EnterpriseAuthFeaturesCard.tsx @@ -7,8 +7,8 @@ import { t, Trans } from '@grafana/i18n'; import { config } from '@grafana/runtime'; import { Text, Stack, useStyles2, Button, LinkButton } from '@grafana/ui'; import { CloudEnterpriseBadge } from 'app/core/components/Branding/CloudEnterpriseBadge'; -import { contextSrv } from 'app/core/core'; import { backendSrv } from 'app/core/services/backend_srv'; +import { contextSrv } from 'app/core/services/context_srv'; export interface Props { page?: 'teams' | 'users'; diff --git a/public/app/features/admin/UserAdminPage.tsx b/public/app/features/admin/UserAdminPage.tsx index 1642c3259e8..3bd52f72f28 100644 --- a/public/app/features/admin/UserAdminPage.tsx +++ b/public/app/features/admin/UserAdminPage.tsx @@ -7,7 +7,7 @@ import { t } from '@grafana/i18n'; import { featureEnabled } from '@grafana/runtime'; import { Stack } from '@grafana/ui'; import { Page } from 'app/core/components/Page/Page'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { SyncInfo } from 'app/types/ldap'; import { StoreState } from 'app/types/store'; diff --git a/public/app/features/admin/UserLdapSyncInfo.tsx b/public/app/features/admin/UserLdapSyncInfo.tsx index 4277fa4c814..9deb148ef43 100644 --- a/public/app/features/admin/UserLdapSyncInfo.tsx +++ b/public/app/features/admin/UserLdapSyncInfo.tsx @@ -3,7 +3,7 @@ import { memo } from 'react'; import { dateTimeFormat } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { Button, LinkButton } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { SyncInfo } from 'app/types/ldap'; import { UserDTO } from 'app/types/user'; diff --git a/public/app/features/admin/UserListAdminPage.tsx b/public/app/features/admin/UserListAdminPage.tsx index 215fd281f3e..cd7695b1db8 100644 --- a/public/app/features/admin/UserListAdminPage.tsx +++ b/public/app/features/admin/UserListAdminPage.tsx @@ -7,7 +7,7 @@ import { selectors as e2eSelectors } from '@grafana/e2e-selectors/src'; import { Trans, t } from '@grafana/i18n'; import { LinkButton, RadioButtonGroup, useStyles2, FilterInput, EmptyState } from '@grafana/ui'; import { Page } from 'app/core/components/Page/Page'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { StoreState } from 'app/types/store'; import { UserFilter } from 'app/types/user'; diff --git a/public/app/features/admin/UserOrgs.tsx b/public/app/features/admin/UserOrgs.tsx index a0169a1022a..221c7138f99 100644 --- a/public/app/features/admin/UserOrgs.tsx +++ b/public/app/features/admin/UserOrgs.tsx @@ -18,7 +18,7 @@ import { import { UserRolePicker } from 'app/core/components/RolePicker/UserRolePicker'; import { fetchRoleOptions, updateUserRoles } from 'app/core/components/RolePicker/api'; import { OrgPicker, OrgSelectItem } from 'app/core/components/Select/OrgPicker'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction, Role } from 'app/types/accessControl'; import { Organization } from 'app/types/organization'; import { UserOrg, UserDTO } from 'app/types/user'; diff --git a/public/app/features/admin/UserPermissions.tsx b/public/app/features/admin/UserPermissions.tsx index 4d36d628768..95c04f871f8 100644 --- a/public/app/features/admin/UserPermissions.tsx +++ b/public/app/features/admin/UserPermissions.tsx @@ -4,7 +4,7 @@ import { useState } from 'react'; import { GrafanaTheme2 } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { ConfirmButton, RadioButtonGroup, Icon, useStyles2 } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { ExternalUserTooltip } from 'app/features/admin/UserOrgs'; import { AccessControlAction } from 'app/types/accessControl'; diff --git a/public/app/features/admin/UserProfile.tsx b/public/app/features/admin/UserProfile.tsx index 1fb9da50d77..c2c4d98b0b9 100644 --- a/public/app/features/admin/UserProfile.tsx +++ b/public/app/features/admin/UserProfile.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import { Trans, t } from '@grafana/i18n'; import { Button, ConfirmButton, ConfirmModal, Input, LegacyInputStatus, Stack } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { UserDTO } from 'app/types/user'; diff --git a/public/app/features/admin/UserSessions.tsx b/public/app/features/admin/UserSessions.tsx index 16fadaa8313..b58722d8c04 100644 --- a/public/app/features/admin/UserSessions.tsx +++ b/public/app/features/admin/UserSessions.tsx @@ -3,8 +3,8 @@ import { memo, useRef, useState } from 'react'; import { Trans, t } from '@grafana/i18n'; import { ConfirmButton, ConfirmModal, Button, Stack } from '@grafana/ui'; import { TagBadge } from 'app/core/components/TagFilter/TagBadge'; -import { contextSrv } from 'app/core/core'; import { formatDate } from 'app/core/internationalization/dates'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { UserSession } from 'app/types/user'; diff --git a/public/app/features/admin/Users/OrgUsersTable.test.tsx b/public/app/features/admin/Users/OrgUsersTable.test.tsx index 8fa183441db..4e7589f613a 100644 --- a/public/app/features/admin/Users/OrgUsersTable.test.tsx +++ b/public/app/features/admin/Users/OrgUsersTable.test.tsx @@ -7,7 +7,7 @@ import { getMockUsers } from '../../users/mocks/userMocks'; import { OrgUsersTable, Props } from './OrgUsersTable'; -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { hasPermission: () => true, hasPermissionInMetadata: () => true, diff --git a/public/app/features/admin/Users/OrgUsersTable.tsx b/public/app/features/admin/Users/OrgUsersTable.tsx index 33d88211766..3debbd886a8 100644 --- a/public/app/features/admin/Users/OrgUsersTable.tsx +++ b/public/app/features/admin/Users/OrgUsersTable.tsx @@ -25,7 +25,7 @@ import { UserRolePicker } from 'app/core/components/RolePicker/UserRolePicker'; import { fetchRoleOptions, updateUserRoles } from 'app/core/components/RolePicker/api'; import { RolePickerBadges } from 'app/core/components/RolePickerDrawer/RolePickerBadges'; import { TagBadge } from 'app/core/components/TagFilter/TagBadge'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction, Role } from 'app/types/accessControl'; import { OrgUser } from 'app/types/user'; diff --git a/public/app/features/admin/api.ts b/public/app/features/admin/api.ts index f1e4f5419d4..995b65e8cc0 100644 --- a/public/app/features/admin/api.ts +++ b/public/app/features/admin/api.ts @@ -1,6 +1,6 @@ import { UrlQueryValue } from '@grafana/data'; import { getBackendSrv } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { accessControlQueryParam } from 'app/core/utils/accessControl'; import { AccessControlAction } from 'app/types/accessControl'; import { OrgUser } from 'app/types/user'; diff --git a/public/app/features/admin/ldap/LdapGroupMapping.tsx b/public/app/features/admin/ldap/LdapGroupMapping.tsx index 1a7b8d9450a..572c4d4e391 100644 --- a/public/app/features/admin/ldap/LdapGroupMapping.tsx +++ b/public/app/features/admin/ldap/LdapGroupMapping.tsx @@ -3,7 +3,7 @@ import { useFormContext } from 'react-hook-form'; import { OrgRole, SelectableValue } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { Box, Button, Field, Input, RadioButtonGroup, Switch } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { LdapPayload } from 'app/types/ldap'; const roleOptions: Array> = Object.keys(OrgRole).map((key) => { diff --git a/public/app/features/admin/ldap/LdapPage.tsx b/public/app/features/admin/ldap/LdapPage.tsx index 86e6c1f48dd..4718ef4c75e 100644 --- a/public/app/features/admin/ldap/LdapPage.tsx +++ b/public/app/features/admin/ldap/LdapPage.tsx @@ -6,8 +6,8 @@ import { Trans, t } from '@grafana/i18n'; import { featureEnabled } from '@grafana/runtime'; import { Alert, Button, Field, Input, Stack } from '@grafana/ui'; import { Page } from 'app/core/components/Page/Page'; -import { contextSrv } from 'app/core/core'; import { GrafanaRouteComponentProps } from 'app/core/navigation/types'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { AppNotificationSeverity } from 'app/types/appNotifications'; import { useDispatch, useSelector } from 'app/types/store'; diff --git a/public/app/features/admin/ldap/LdapTestDrawer.tsx b/public/app/features/admin/ldap/LdapTestDrawer.tsx index 8a791dda530..b1f08c26a14 100644 --- a/public/app/features/admin/ldap/LdapTestDrawer.tsx +++ b/public/app/features/admin/ldap/LdapTestDrawer.tsx @@ -4,7 +4,7 @@ import { useForm } from 'react-hook-form'; import { Trans, t } from '@grafana/i18n'; import { featureEnabled } from '@grafana/runtime'; import { Alert, Button, Drawer, Field, Input, LoadingPlaceholder, Stack, Text } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { AppNotificationSeverity } from 'app/types/appNotifications'; import { useDispatch, useSelector } from 'app/types/store'; diff --git a/public/app/features/admin/state/actions.ts b/public/app/features/admin/state/actions.ts index 7dd57ea1e72..fd69597f059 100644 --- a/public/app/features/admin/state/actions.ts +++ b/public/app/features/admin/state/actions.ts @@ -4,7 +4,7 @@ import { dateTimeFormatTimeAgo } from '@grafana/data'; import { featureEnabled, getBackendSrv, isFetchError, locationService } from '@grafana/runtime'; import { FetchDataArgs } from '@grafana/ui'; import config from 'app/core/config'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { accessControlQueryParam } from 'app/core/utils/accessControl'; import { AccessControlAction } from 'app/types/accessControl'; import { LdapUser } from 'app/types/ldap'; diff --git a/public/app/features/alerting/unified/Analytics.ts b/public/app/features/alerting/unified/Analytics.ts index ad7708167c6..9ffbab35c42 100644 --- a/public/app/features/alerting/unified/Analytics.ts +++ b/public/app/features/alerting/unified/Analytics.ts @@ -1,7 +1,7 @@ import { pickBy } from 'lodash'; import { config, createMonitoringLogger, reportInteraction } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { RuleNamespace } from '../../../types/unified-alerting'; import { RulerRulesConfigDTO } from '../../../types/unified-alerting-dto'; diff --git a/public/app/features/alerting/unified/RuleList.test.tsx b/public/app/features/alerting/unified/RuleList.test.tsx index 905920cbf1d..f58aadb9afd 100644 --- a/public/app/features/alerting/unified/RuleList.test.tsx +++ b/public/app/features/alerting/unified/RuleList.test.tsx @@ -6,7 +6,7 @@ import { byRole, byTestId, byText } from 'testing-library-selector'; import { PluginExtensionTypes } from '@grafana/data'; import { selectors } from '@grafana/e2e-selectors'; import { locationService, setAppEvents, usePluginLinks } from '@grafana/runtime'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { setupMswServer } from 'app/features/alerting/unified/mockApi'; import { setAlertmanagerChoices } from 'app/features/alerting/unified/mocks/server/configure'; import * as actions from 'app/features/alerting/unified/state/actions'; diff --git a/public/app/features/alerting/unified/api/alertSilencesApi.ts b/public/app/features/alerting/unified/api/alertSilencesApi.ts index b46b20a1938..463f142a123 100644 --- a/public/app/features/alerting/unified/api/alertSilencesApi.ts +++ b/public/app/features/alerting/unified/api/alertSilencesApi.ts @@ -1,5 +1,5 @@ import { AppEvents } from '@grafana/data'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { Silence, SilenceCreatePayload } from 'app/plugins/datasource/alertmanager/types'; import { alertingApi } from './alertingApi'; diff --git a/public/app/features/alerting/unified/api/alertingApi.ts b/public/app/features/alerting/unified/api/alertingApi.ts index 8c6852fb07a..321d1ed2525 100644 --- a/public/app/features/alerting/unified/api/alertingApi.ts +++ b/public/app/features/alerting/unified/api/alertingApi.ts @@ -4,7 +4,7 @@ import { lastValueFrom } from 'rxjs'; import { AppEvents } from '@grafana/data'; import { BackendSrvRequest, getBackendSrv } from '@grafana/runtime'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { logMeasurement } from '../Analytics'; diff --git a/public/app/features/alerting/unified/components/contact-points/ContactPoints.tsx b/public/app/features/alerting/unified/components/contact-points/ContactPoints.tsx index 729644b8209..674521c483b 100644 --- a/public/app/features/alerting/unified/components/contact-points/ContactPoints.tsx +++ b/public/app/features/alerting/unified/components/contact-points/ContactPoints.tsx @@ -14,7 +14,7 @@ import { TabsBar, Text, } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { shouldUseK8sApi } from 'app/features/alerting/unified/utils/k8s/utils'; import { makeAMLink, stringifyErrorLike } from 'app/features/alerting/unified/utils/misc'; import { AccessControlAction } from 'app/types/accessControl'; diff --git a/public/app/features/alerting/unified/components/create-folder/CreateNewFolder.tsx b/public/app/features/alerting/unified/components/create-folder/CreateNewFolder.tsx index bd8be9665b2..94a5ecfe849 100644 --- a/public/app/features/alerting/unified/components/create-folder/CreateNewFolder.tsx +++ b/public/app/features/alerting/unified/components/create-folder/CreateNewFolder.tsx @@ -7,7 +7,7 @@ import { Trans, t } from '@grafana/i18n'; import { Button, Field, Input, Label, Modal, Stack, useStyles2 } from '@grafana/ui'; import { useCreateFolder } from 'app/api/clients/folder/v1beta1/hooks'; import { useAppNotification } from 'app/core/copy/appNotification'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { Folder } from '../../types/rule-form'; diff --git a/public/app/features/alerting/unified/components/notification-policies/Policy.test.tsx b/public/app/features/alerting/unified/components/notification-policies/Policy.test.tsx index 4e0c1d4ca4f..f27d5503d12 100644 --- a/public/app/features/alerting/unified/components/notification-policies/Policy.test.tsx +++ b/public/app/features/alerting/unified/components/notification-policies/Policy.test.tsx @@ -4,7 +4,7 @@ import { first, noop } from 'lodash'; import { Route, Routes } from 'react-router-dom-v5-compat'; import { render } from 'test/test-utils'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { ReceiversState } from 'app/features/alerting/unified/types/alerting'; import { AlertmanagerGroup, diff --git a/public/app/features/alerting/unified/components/rule-editor/VizWrapper.tsx b/public/app/features/alerting/unified/components/rule-editor/VizWrapper.tsx index ee611ec51ed..aee6c25fef6 100644 --- a/public/app/features/alerting/unified/components/rule-editor/VizWrapper.tsx +++ b/public/app/features/alerting/unified/components/rule-editor/VizWrapper.tsx @@ -5,7 +5,7 @@ import { GrafanaTheme2, PanelData, ThresholdsConfig, isTimeSeriesFrames } from ' import { Trans } from '@grafana/i18n'; import { GraphThresholdsStyleMode } from '@grafana/schema'; import { useStyles2 } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { GraphContainer } from 'app/features/explore/Graph/GraphContainer'; import { ExpressionResult } from '../expressions/Expression'; diff --git a/public/app/features/alerting/unified/components/rule-editor/alert-rule-form/AlertRuleForm.tsx b/public/app/features/alerting/unified/components/rule-editor/alert-rule-form/AlertRuleForm.tsx index 6178509506b..85e72cca2d8 100644 --- a/public/app/features/alerting/unified/components/rule-editor/alert-rule-form/AlertRuleForm.tsx +++ b/public/app/features/alerting/unified/components/rule-editor/alert-rule-form/AlertRuleForm.tsx @@ -8,7 +8,7 @@ import { Trans, t } from '@grafana/i18n'; import { config, locationService } from '@grafana/runtime'; import { Alert, Button, Stack, useStyles2 } from '@grafana/ui'; import { useAppNotification } from 'app/core/copy/appNotification'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import InfoPausedRule from 'app/features/alerting/unified/components/InfoPausedRule'; import { getRuleGroupLocationFromFormValues, diff --git a/public/app/features/alerting/unified/components/rule-editor/query-and-alert-condition/utils.ts b/public/app/features/alerting/unified/components/rule-editor/query-and-alert-condition/utils.ts index acfe52dfdb1..2c060edfc65 100644 --- a/public/app/features/alerting/unified/components/rule-editor/query-and-alert-condition/utils.ts +++ b/public/app/features/alerting/unified/components/rule-editor/query-and-alert-condition/utils.ts @@ -1,4 +1,4 @@ -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { ExpressionDatasourceUID } from 'app/features/expressions/types'; import { AccessControlAction } from 'app/types/accessControl'; import { AlertQuery } from 'app/types/unified-alerting-dto'; diff --git a/public/app/features/alerting/unified/components/rule-viewer/AlertRuleMenu.tsx b/public/app/features/alerting/unified/components/rule-viewer/AlertRuleMenu.tsx index a2536e2be23..a36a1fada67 100644 --- a/public/app/features/alerting/unified/components/rule-viewer/AlertRuleMenu.tsx +++ b/public/app/features/alerting/unified/components/rule-viewer/AlertRuleMenu.tsx @@ -4,7 +4,7 @@ import { AppEvents } from '@grafana/data'; import { t } from '@grafana/i18n'; import { config } from '@grafana/runtime'; import { Button, ComponentSize, Dropdown, Menu } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import MenuItemPauseRule from 'app/features/alerting/unified/components/MenuItemPauseRule'; import MoreButton from 'app/features/alerting/unified/components/MoreButton'; import { useRulePluginLinkExtension } from 'app/features/alerting/unified/plugins/useRulePluginLinkExtensions'; diff --git a/public/app/features/alerting/unified/components/rules/Filter/RulesFilter.v1.tsx b/public/app/features/alerting/unified/components/rules/Filter/RulesFilter.v1.tsx index b36ff959fad..087a8120ff8 100644 --- a/public/app/features/alerting/unified/components/rules/Filter/RulesFilter.v1.tsx +++ b/public/app/features/alerting/unified/components/rules/Filter/RulesFilter.v1.tsx @@ -7,7 +7,7 @@ import { DataSourceInstanceSettings, GrafanaTheme2, SelectableValue } from '@gra import { Trans, t } from '@grafana/i18n'; import { Button, Field, Icon, Input, Label, RadioButtonGroup, Stack, Tooltip, useStyles2 } from '@grafana/ui'; import { DashboardPicker } from 'app/core/components/Select/DashboardPicker'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { PromAlertingRuleState, PromRuleType } from 'app/types/unified-alerting-dto'; diff --git a/public/app/features/alerting/unified/rule-list/filter/RulesFilter.v2.tsx b/public/app/features/alerting/unified/rule-list/filter/RulesFilter.v2.tsx index 70ed636bb7a..dde3e983ad9 100644 --- a/public/app/features/alerting/unified/rule-list/filter/RulesFilter.v2.tsx +++ b/public/app/features/alerting/unified/rule-list/filter/RulesFilter.v2.tsx @@ -20,7 +20,7 @@ import { useStyles2, useTheme2, } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import type { AdvancedFilters } from 'app/features/alerting/unified/rule-list/filter/types'; import { AccessControlAction } from 'app/types/accessControl'; import { PromAlertingRuleState, PromRuleType } from 'app/types/unified-alerting-dto'; diff --git a/public/app/features/alerting/unified/utils/redux.ts b/public/app/features/alerting/unified/utils/redux.ts index fec26b79e20..9e4153c40c8 100644 --- a/public/app/features/alerting/unified/utils/redux.ts +++ b/public/app/features/alerting/unified/utils/redux.ts @@ -2,7 +2,7 @@ import { AsyncThunk, Draft, PayloadAction, SerializedError, createSlice, isAsync import { AppEvents } from '@grafana/data'; import { FetchError, isFetchError } from '@grafana/runtime'; -import { appEvents } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { LogMessages, logInfo } from '../Analytics'; diff --git a/public/app/features/apiserver/client.test.ts b/public/app/features/apiserver/client.test.ts index 2950f9b2b46..01787b4a18d 100644 --- a/public/app/features/apiserver/client.test.ts +++ b/public/app/features/apiserver/client.test.ts @@ -1,5 +1,5 @@ import { getBackendSrv } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { DatasourceAPIVersions, ScopedResourceClient } from './client'; import { GroupVersionResource } from './types'; diff --git a/public/app/features/apiserver/client.ts b/public/app/features/apiserver/client.ts index 9aeda6c53ea..2907fc9e80b 100644 --- a/public/app/features/apiserver/client.ts +++ b/public/app/features/apiserver/client.ts @@ -2,7 +2,7 @@ import { Observable, from, retry, catchError, filter, map, mergeMap } from 'rxjs import { isLiveChannelMessageEvent, LiveChannelScope } from '@grafana/data'; import { config, getBackendSrv, getGrafanaLiveSrv } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { getAPINamespace } from '../../api/utils'; diff --git a/public/app/features/auth-config/ProviderConfigForm.test.tsx b/public/app/features/auth-config/ProviderConfigForm.test.tsx index c516b89237e..0f8acae795b 100644 --- a/public/app/features/auth-config/ProviderConfigForm.test.tsx +++ b/public/app/features/auth-config/ProviderConfigForm.test.tsx @@ -62,7 +62,7 @@ const testConfig: SSOProvider = { }, }; -jest.mock('app/core/core', () => { +jest.mock('app/core/services/context_srv', () => { return { contextSrv: { isGrafanaAdmin: true, diff --git a/public/app/features/auth-config/fields.tsx b/public/app/features/auth-config/fields.tsx index 96bb2e3ccea..7990c36168f 100644 --- a/public/app/features/auth-config/fields.tsx +++ b/public/app/features/auth-config/fields.tsx @@ -4,7 +4,7 @@ import { SelectableValue } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { config } from '@grafana/runtime'; import { TextLink } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { ServerDiscoveryField } from './components/ServerDiscoveryField'; import { FieldData, SSOProvider, SSOSettingsField } from './types'; diff --git a/public/app/features/auth-config/index.ts b/public/app/features/auth-config/index.ts index 50599a8fb49..03a7146a983 100644 --- a/public/app/features/auth-config/index.ts +++ b/public/app/features/auth-config/index.ts @@ -1,6 +1,6 @@ import config from 'app/core/config'; -import { contextSrv } from 'app/core/core'; import { getBackendSrv } from 'app/core/services/backend_srv'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { Settings, SettingsSection } from 'app/types/settings'; diff --git a/public/app/features/auth-config/state/actions.ts b/public/app/features/auth-config/state/actions.ts index bafd7f3c39d..ce62f0a6226 100644 --- a/public/app/features/auth-config/state/actions.ts +++ b/public/app/features/auth-config/state/actions.ts @@ -1,7 +1,7 @@ import { lastValueFrom } from 'rxjs'; import { getBackendSrv, isFetchError } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { Settings, UpdateSettingsQuery } from 'app/types/settings'; import { ThunkResult } from 'app/types/store'; diff --git a/public/app/features/browse-dashboards/BrowseDashboardsPage.test.tsx b/public/app/features/browse-dashboards/BrowseDashboardsPage.test.tsx index d05b97d6960..6ac3b775d0e 100644 --- a/public/app/features/browse-dashboards/BrowseDashboardsPage.test.tsx +++ b/public/app/features/browse-dashboards/BrowseDashboardsPage.test.tsx @@ -7,8 +7,8 @@ import { selectors } from '@grafana/e2e-selectors'; import { config, setBackendSrv } from '@grafana/runtime'; import { setupMockServer } from '@grafana/test-utils/server'; import { getFolderFixtures } from '@grafana/test-utils/unstable'; -import { contextSrv } from 'app/core/core'; import { backendSrv } from 'app/core/services/backend_srv'; +import { contextSrv } from 'app/core/services/context_srv'; import BrowseDashboardsPage from './BrowseDashboardsPage'; import * as permissions from './permissions'; diff --git a/public/app/features/browse-dashboards/BrowseFolderAlertingPage.test.tsx b/public/app/features/browse-dashboards/BrowseFolderAlertingPage.test.tsx index 69f2e539cab..a13a4af53b7 100644 --- a/public/app/features/browse-dashboards/BrowseFolderAlertingPage.test.tsx +++ b/public/app/features/browse-dashboards/BrowseFolderAlertingPage.test.tsx @@ -1,7 +1,7 @@ import { render, screen } from 'test/test-utils'; import { config } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { setupMswServer } from 'app/features/alerting/unified/mockApi'; import { rulerTestDb } from '../alerting/unified/mocks/grafanaRulerApi'; diff --git a/public/app/features/browse-dashboards/BrowseFolderLibraryPanelsPage.test.tsx b/public/app/features/browse-dashboards/BrowseFolderLibraryPanelsPage.test.tsx index aeb5e352fc6..c09136e6485 100644 --- a/public/app/features/browse-dashboards/BrowseFolderLibraryPanelsPage.test.tsx +++ b/public/app/features/browse-dashboards/BrowseFolderLibraryPanelsPage.test.tsx @@ -5,8 +5,8 @@ import { render, screen } from 'test/test-utils'; import { config, setBackendSrv } from '@grafana/runtime'; import server, { setupMockServer } from '@grafana/test-utils/server'; import { getFolderFixtures } from '@grafana/test-utils/unstable'; -import { contextSrv } from 'app/core/core'; import { backendSrv } from 'app/core/services/backend_srv'; +import { contextSrv } from 'app/core/services/context_srv'; import BrowseFolderLibraryPanelsPage from './BrowseFolderLibraryPanelsPage'; import { getLibraryElementsResponse } from './fixtures/libraryElements.fixture'; diff --git a/public/app/features/browse-dashboards/api/browseDashboardsAPI.ts b/public/app/features/browse-dashboards/api/browseDashboardsAPI.ts index 313c74d6c33..51ff4423bc8 100644 --- a/public/app/features/browse-dashboards/api/browseDashboardsAPI.ts +++ b/public/app/features/browse-dashboards/api/browseDashboardsAPI.ts @@ -9,9 +9,9 @@ import { config, getBackendSrv, isFetchError, locationService } from '@grafana/r import { Dashboard } from '@grafana/schema'; import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2'; import { isProvisionedFolderCheck } from 'app/api/clients/folder/v1beta1/utils'; -import appEvents from 'app/core/app_events'; -import { contextSrv } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { setStarred } from 'app/core/reducers/navBarTree'; +import { contextSrv } from 'app/core/services/context_srv'; import { AnnoKeyFolder, Resource, ResourceList } from 'app/features/apiserver/types'; import { getDashboardAPI } from 'app/features/dashboard/api/dashboard_api'; import { isDashboardV2Resource, isV1DashboardCommand, isV2DashboardCommand } from 'app/features/dashboard/api/utils'; diff --git a/public/app/features/browse-dashboards/api/services.ts b/public/app/features/browse-dashboards/api/services.ts index 9bc948b89f5..98be615583b 100644 --- a/public/app/features/browse-dashboards/api/services.ts +++ b/public/app/features/browse-dashboards/api/services.ts @@ -1,4 +1,5 @@ import { getBackendSrv } from '@grafana/runtime'; +import { contextSrv } from 'app/core/services/context_srv'; import { GENERAL_FOLDER_UID } from 'app/features/search/constants'; import { getGrafanaSearcher } from 'app/features/search/service/searcher'; import { NestedFolderDTO } from 'app/features/search/service/types'; @@ -6,7 +7,6 @@ import { queryResultToViewItem } from 'app/features/search/service/utils'; import { DashboardViewItem } from 'app/features/search/types'; import { AccessControlAction } from 'app/types/accessControl'; -import { contextSrv } from '../../../core/core'; import { getFolderURL, isSharedWithMe } from '../components/utils'; export const PAGE_SIZE = 50; diff --git a/public/app/features/browse-dashboards/components/BrowseActions/BrowseActions.tsx b/public/app/features/browse-dashboards/components/BrowseActions/BrowseActions.tsx index 9ab6c750585..1c89c3c6dd4 100644 --- a/public/app/features/browse-dashboards/components/BrowseActions/BrowseActions.tsx +++ b/public/app/features/browse-dashboards/components/BrowseActions/BrowseActions.tsx @@ -3,7 +3,7 @@ import { useState } from 'react'; import { Trans, t } from '@grafana/i18n'; import { config, reportInteraction } from '@grafana/runtime'; import { Button, Drawer, Stack, Text } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { ManagerKind } from 'app/features/apiserver/types'; import { BulkDeleteProvisionedResource } from 'app/features/provisioning/components/BulkActions/BulkDeleteProvisionedResource'; import { BulkMoveProvisionedResource } from 'app/features/provisioning/components/BulkActions/BulkMoveProvisionedResource'; diff --git a/public/app/features/browse-dashboards/components/BrowseView.tsx b/public/app/features/browse-dashboards/components/BrowseView.tsx index 19b6ee383fc..b28204f4fe2 100644 --- a/public/app/features/browse-dashboards/components/BrowseView.tsx +++ b/public/app/features/browse-dashboards/components/BrowseView.tsx @@ -6,7 +6,7 @@ import { Trans, t } from '@grafana/i18n'; import { config } from '@grafana/runtime'; import { CallToActionCard, EmptyState, LinkButton, TextLink } from '@grafana/ui'; import { useGetFrontendSettingsQuery } from 'app/api/clients/provisioning/v0alpha1'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { useIsProvisionedInstance } from 'app/features/provisioning/hooks/useIsProvisionedInstance'; import { useSearchStateManager } from 'app/features/search/state/SearchStateManager'; import { DashboardViewItem } from 'app/features/search/types'; diff --git a/public/app/features/browse-dashboards/components/FolderActionsButton.test.tsx b/public/app/features/browse-dashboards/components/FolderActionsButton.test.tsx index 15c9470edf0..c253fb0d186 100644 --- a/public/app/features/browse-dashboards/components/FolderActionsButton.test.tsx +++ b/public/app/features/browse-dashboards/components/FolderActionsButton.test.tsx @@ -2,7 +2,7 @@ import { render as rtlRender, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { TestProvider } from 'test/helpers/TestProvider'; -import { appEvents } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { ManagerKind } from 'app/features/apiserver/types'; import { ShowModalReactEvent } from 'app/types/events'; diff --git a/public/app/features/browse-dashboards/components/FolderActionsButton.tsx b/public/app/features/browse-dashboards/components/FolderActionsButton.tsx index 03e54a24122..664bc53c8c0 100644 --- a/public/app/features/browse-dashboards/components/FolderActionsButton.tsx +++ b/public/app/features/browse-dashboards/components/FolderActionsButton.tsx @@ -4,8 +4,8 @@ import { AppEvents } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { locationService, reportInteraction } from '@grafana/runtime'; import { Button, Drawer, Dropdown, Icon, Menu, MenuItem, Text } from '@grafana/ui'; +import { appEvents } from 'app/core/app_events'; import { Permissions } from 'app/core/components/AccessControl/Permissions'; -import { appEvents } from 'app/core/core'; import { RepoType } from 'app/features/provisioning/Wizard/types'; import { BulkMoveProvisionedResource } from 'app/features/provisioning/components/BulkActions/BulkMoveProvisionedResource'; import { DeleteProvisionedFolderForm } from 'app/features/provisioning/components/Folders/DeleteProvisionedFolderForm'; diff --git a/public/app/features/browse-dashboards/components/RecentlyDeletedActions.tsx b/public/app/features/browse-dashboards/components/RecentlyDeletedActions.tsx index 27db580b1b8..4bf40a06140 100644 --- a/public/app/features/browse-dashboards/components/RecentlyDeletedActions.tsx +++ b/public/app/features/browse-dashboards/components/RecentlyDeletedActions.tsx @@ -4,7 +4,7 @@ import { AppEvents } from '@grafana/data'; import { t, Trans } from '@grafana/i18n'; import { reportInteraction } from '@grafana/runtime'; import { Button, Stack } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { AnnoKeyFolder } from 'app/features/apiserver/types'; import { GENERAL_FOLDER_UID } from 'app/features/search/constants'; import { useDispatch } from 'app/types/store'; diff --git a/public/app/features/browse-dashboards/components/utils.ts b/public/app/features/browse-dashboards/components/utils.ts index 818b96ebba7..a6c97e4788f 100644 --- a/public/app/features/browse-dashboards/components/utils.ts +++ b/public/app/features/browse-dashboards/components/utils.ts @@ -1,5 +1,5 @@ import { config } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { ResourceRef } from 'app/features/provisioning/components/BulkActions/useBulkActionJob'; import { DashboardTreeSelection, DashboardViewItemWithUIItems, BrowseDashboardsPermissions } from '../types'; diff --git a/public/app/features/browse-dashboards/permissions.ts b/public/app/features/browse-dashboards/permissions.ts index 209080ed9cb..7580eb09c2f 100644 --- a/public/app/features/browse-dashboards/permissions.ts +++ b/public/app/features/browse-dashboards/permissions.ts @@ -1,4 +1,4 @@ -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { FolderDTO } from 'app/types/folders'; diff --git a/public/app/features/canvas/runtime/scene.tsx b/public/app/features/canvas/runtime/scene.tsx index 0ae5a52a7de..ad217e45337 100644 --- a/public/app/features/canvas/runtime/scene.tsx +++ b/public/app/features/canvas/runtime/scene.tsx @@ -34,7 +34,7 @@ import { Connections2 } from 'app/plugins/panel/canvas/components/connections/Co import { Options } from 'app/plugins/panel/canvas/panelcfg.gen'; import { AnchorPoint, CanvasTooltipPayload } from 'app/plugins/panel/canvas/types'; -import appEvents from '../../../core/app_events'; +import { appEvents } from '../../../core/app_events'; import { CanvasPanel } from '../../../plugins/panel/canvas/CanvasPanel'; import { isInfinityActionWithAuth } from '../../actions/utils'; import { getDashboardSrv } from '../../dashboard/services/DashboardSrv'; diff --git a/public/app/features/connections/components/AdvisorRedirectNotice/AdvisorRedirectNotice.test.tsx b/public/app/features/connections/components/AdvisorRedirectNotice/AdvisorRedirectNotice.test.tsx index a63f5bcb004..5d0a24797f9 100644 --- a/public/app/features/connections/components/AdvisorRedirectNotice/AdvisorRedirectNotice.test.tsx +++ b/public/app/features/connections/components/AdvisorRedirectNotice/AdvisorRedirectNotice.test.tsx @@ -3,7 +3,7 @@ import userEvent from '@testing-library/user-event'; import { PluginLoadingStrategy } from '@grafana/data'; import { config } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AdvisorRedirectNotice } from './AdvisorRedirectNotice'; diff --git a/public/app/features/connections/components/AdvisorRedirectNotice/AdvisorRedirectNotice.tsx b/public/app/features/connections/components/AdvisorRedirectNotice/AdvisorRedirectNotice.tsx index 7a4febad0a2..3257daac941 100644 --- a/public/app/features/connections/components/AdvisorRedirectNotice/AdvisorRedirectNotice.tsx +++ b/public/app/features/connections/components/AdvisorRedirectNotice/AdvisorRedirectNotice.tsx @@ -6,7 +6,7 @@ import { Trans, t } from '@grafana/i18n'; import { config } from '@grafana/runtime'; import { UserStorage } from '@grafana/runtime/internal'; import { Alert, LinkButton, useStyles2 } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; const getStyles = (theme: GrafanaTheme2) => ({ alertContent: css({ diff --git a/public/app/features/connections/components/ConnectionsRedirectNotice/ConnectionsRedirectNotice.tsx b/public/app/features/connections/components/ConnectionsRedirectNotice/ConnectionsRedirectNotice.tsx index 438868f7751..fd5d8791ea6 100644 --- a/public/app/features/connections/components/ConnectionsRedirectNotice/ConnectionsRedirectNotice.tsx +++ b/public/app/features/connections/components/ConnectionsRedirectNotice/ConnectionsRedirectNotice.tsx @@ -4,9 +4,9 @@ import { useState } from 'react'; import { GrafanaTheme2 } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { Alert, LinkButton, useStyles2 } from '@grafana/ui'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; -import { contextSrv } from '../../../../core/core'; import { ROUTES } from '../../constants'; const getStyles = (theme: GrafanaTheme2) => ({ diff --git a/public/app/features/connections/tabs/ConnectData/ConnectData.test.tsx b/public/app/features/connections/tabs/ConnectData/ConnectData.test.tsx index e04f9322794..ace47a44159 100644 --- a/public/app/features/connections/tabs/ConnectData/ConnectData.test.tsx +++ b/public/app/features/connections/tabs/ConnectData/ConnectData.test.tsx @@ -4,7 +4,7 @@ import { TestProvider } from 'test/helpers/TestProvider'; import { PluginType } from '@grafana/data'; import { locationService } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { getCatalogPluginMock, getPluginsStateMock } from 'app/features/plugins/admin/mocks/mockHelpers'; import { CatalogPlugin } from 'app/features/plugins/admin/types'; import { AccessControlAction } from 'app/types/accessControl'; diff --git a/public/app/features/connections/tabs/ConnectData/ConnectData.tsx b/public/app/features/connections/tabs/ConnectData/ConnectData.tsx index 81e7d454f43..2cc9572f051 100644 --- a/public/app/features/connections/tabs/ConnectData/ConnectData.tsx +++ b/public/app/features/connections/tabs/ConnectData/ConnectData.tsx @@ -6,8 +6,8 @@ import { PluginType, GrafanaTheme2, SelectableValue } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { locationSearchToObject, reportInteraction } from '@grafana/runtime'; import { LoadingPlaceholder, EmptyState, Field, RadioButtonGroup, Tooltip, Combobox, useStyles2 } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; import { useQueryParams } from 'app/core/hooks/useQueryParams'; +import { contextSrv } from 'app/core/services/context_srv'; import { HorizontalGroup } from 'app/features/plugins/admin/components/HorizontalGroup'; import { SearchField } from 'app/features/plugins/admin/components/SearchField'; import { Sorters } from 'app/features/plugins/admin/helpers'; diff --git a/public/app/features/correlations/CorrelationsPage.test.tsx b/public/app/features/correlations/CorrelationsPage.test.tsx index a57b901a2e4..f8938a14a94 100644 --- a/public/app/features/correlations/CorrelationsPage.test.tsx +++ b/public/app/features/correlations/CorrelationsPage.test.tsx @@ -17,7 +17,7 @@ import { setAppEvents, setDataSourceSrv, } from '@grafana/runtime'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { contextSrv } from 'app/core/services/context_srv'; import { configureStore } from 'app/store/configureStore'; diff --git a/public/app/features/correlations/CorrelationsPage.tsx b/public/app/features/correlations/CorrelationsPage.tsx index 34859378863..459f3279053 100644 --- a/public/app/features/correlations/CorrelationsPage.tsx +++ b/public/app/features/correlations/CorrelationsPage.tsx @@ -20,8 +20,8 @@ import { TextLink, } from '@grafana/ui'; import { Page } from 'app/core/components/Page/Page'; -import { contextSrv } from 'app/core/core'; import { useNavModel } from 'app/core/hooks/useNavModel'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { AddCorrelationForm } from './Forms/AddCorrelationForm'; diff --git a/public/app/features/dashboard-scene/addToDashboard/AddToDashboardForm.tsx b/public/app/features/dashboard-scene/addToDashboard/AddToDashboardForm.tsx index 85f3e47ae03..6086df476b9 100644 --- a/public/app/features/dashboard-scene/addToDashboard/AddToDashboardForm.tsx +++ b/public/app/features/dashboard-scene/addToDashboard/AddToDashboardForm.tsx @@ -8,7 +8,7 @@ import { reportInteraction } from '@grafana/runtime'; import { Panel } from '@grafana/schema'; import { Alert, Button, Field, Modal, RadioButtonGroup } from '@grafana/ui'; import { DashboardPicker } from 'app/core/components/Select/DashboardPicker'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { addToDashboard, SubmissionError } from './addToDashboard'; diff --git a/public/app/features/dashboard-scene/edit-pane/MultiSelectedObjectsEditableElement.tsx b/public/app/features/dashboard-scene/edit-pane/MultiSelectedObjectsEditableElement.tsx index 42166788955..55ff89add42 100644 --- a/public/app/features/dashboard-scene/edit-pane/MultiSelectedObjectsEditableElement.tsx +++ b/public/app/features/dashboard-scene/edit-pane/MultiSelectedObjectsEditableElement.tsx @@ -1,5 +1,5 @@ import { t } from '@grafana/i18n'; -import { appEvents } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { OptionsPaneCategoryDescriptor } from 'app/features/dashboard/components/PanelEditor/OptionsPaneCategoryDescriptor'; import { ShowConfirmModalEvent } from 'app/types/events'; diff --git a/public/app/features/dashboard-scene/edit-pane/MultiSelectedVizPanelsEditableElement.tsx b/public/app/features/dashboard-scene/edit-pane/MultiSelectedVizPanelsEditableElement.tsx index 6586b2d877b..87651bf9e24 100644 --- a/public/app/features/dashboard-scene/edit-pane/MultiSelectedVizPanelsEditableElement.tsx +++ b/public/app/features/dashboard-scene/edit-pane/MultiSelectedVizPanelsEditableElement.tsx @@ -1,7 +1,7 @@ import { v4 as uuidv4 } from 'uuid'; import { t } from '@grafana/i18n'; -import { appEvents } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { OptionsPaneCategoryDescriptor } from 'app/features/dashboard/components/PanelEditor/OptionsPaneCategoryDescriptor'; import { ShowConfirmModalEvent } from 'app/types/events'; diff --git a/public/app/features/dashboard-scene/edit-pane/VizPanelEditableElement.tsx b/public/app/features/dashboard-scene/edit-pane/VizPanelEditableElement.tsx index 1189d3fa2b7..200357fa881 100644 --- a/public/app/features/dashboard-scene/edit-pane/VizPanelEditableElement.tsx +++ b/public/app/features/dashboard-scene/edit-pane/VizPanelEditableElement.tsx @@ -4,7 +4,7 @@ import { Trans, t } from '@grafana/i18n'; import { locationService } from '@grafana/runtime'; import { sceneGraph, VizPanel } from '@grafana/scenes'; import { Stack, Button } from '@grafana/ui'; -import { appEvents } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { OptionsPaneCategoryDescriptor } from 'app/features/dashboard/components/PanelEditor/OptionsPaneCategoryDescriptor'; import { OptionsPaneItemDescriptor } from 'app/features/dashboard/components/PanelEditor/OptionsPaneItemDescriptor'; import { ShowConfirmModalEvent } from 'app/types/events'; diff --git a/public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataAlertingTab.tsx b/public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataAlertingTab.tsx index 5092547fc5c..345bb8ef811 100644 --- a/public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataAlertingTab.tsx +++ b/public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataAlertingTab.tsx @@ -5,7 +5,7 @@ import { Trans, t } from '@grafana/i18n'; import { config } from '@grafana/runtime'; import { SceneComponentProps, SceneObjectBase, SceneObjectRef, SceneObjectState, VizPanel } from '@grafana/scenes'; import { Alert, LoadingPlaceholder, Tab, useStyles2 } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { RulesTable } from 'app/features/alerting/unified/components/rules/RulesTable'; import { usePanelCombinedRules } from 'app/features/alerting/unified/hooks/usePanelCombinedRules'; import { getRulesPermissions } from 'app/features/alerting/unified/utils/access-control'; diff --git a/public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataPane.tsx b/public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataPane.tsx index 4e7d10fa22f..de5d15aca86 100644 --- a/public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataPane.tsx +++ b/public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataPane.tsx @@ -13,7 +13,7 @@ import { } from '@grafana/scenes'; import { Container, ScrollContainer, TabContent, TabsBar, useStyles2 } from '@grafana/ui'; import { getConfig } from 'app/core/config'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { getRulesPermissions } from 'app/features/alerting/unified/utils/access-control'; import { GRAFANA_RULES_SOURCE_NAME } from 'app/features/alerting/unified/utils/datasource'; diff --git a/public/app/features/dashboard-scene/saving/useSaveDashboard.ts b/public/app/features/dashboard-scene/saving/useSaveDashboard.ts index e9bb81b026d..1cb3527cd5b 100644 --- a/public/app/features/dashboard-scene/saving/useSaveDashboard.ts +++ b/public/app/features/dashboard-scene/saving/useSaveDashboard.ts @@ -5,7 +5,7 @@ import { t } from '@grafana/i18n'; import { locationService } from '@grafana/runtime'; import { Dashboard } from '@grafana/schema'; import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { useAppNotification } from 'app/core/copy/appNotification'; import { updateDashboardName } from 'app/core/reducers/navBarTree'; import { useSaveDashboardMutation } from 'app/features/browse-dashboards/api/browseDashboardsAPI'; diff --git a/public/app/features/dashboard-scene/scene/AlertStatesDataLayer.ts b/public/app/features/dashboard-scene/scene/AlertStatesDataLayer.ts index f939f4a2a24..fc7039bb075 100644 --- a/public/app/features/dashboard-scene/scene/AlertStatesDataLayer.ts +++ b/public/app/features/dashboard-scene/scene/AlertStatesDataLayer.ts @@ -11,7 +11,7 @@ import { } from '@grafana/scenes'; import { notifyApp } from 'app/core/actions'; import { createErrorNotification } from 'app/core/copy/appNotification'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { getMessageFromError } from 'app/core/utils/errors'; import { alertRuleApi } from 'app/features/alerting/unified/api/alertRuleApi'; import { ungroupRulesByFileName } from 'app/features/alerting/unified/api/prometheus'; diff --git a/public/app/features/dashboard-scene/scene/DashboardScene.test.tsx b/public/app/features/dashboard-scene/scene/DashboardScene.test.tsx index 29478ca80a1..ebe63e8e43e 100644 --- a/public/app/features/dashboard-scene/scene/DashboardScene.test.tsx +++ b/public/app/features/dashboard-scene/scene/DashboardScene.test.tsx @@ -23,7 +23,7 @@ import { } from '@grafana/scenes'; import { Dashboard, DashboardCursorSync, LibraryPanel } from '@grafana/schema'; import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { LS_PANEL_COPY_KEY } from 'app/core/constants'; import { AnnoKeyManagerKind, ManagerKind } from 'app/features/apiserver/types'; import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv'; diff --git a/public/app/features/dashboard-scene/scene/DashboardScene.tsx b/public/app/features/dashboard-scene/scene/DashboardScene.tsx index 087cd505fcd..1c75360a7b5 100644 --- a/public/app/features/dashboard-scene/scene/DashboardScene.tsx +++ b/public/app/features/dashboard-scene/scene/DashboardScene.tsx @@ -17,7 +17,7 @@ import { } from '@grafana/scenes'; import { Dashboard, DashboardLink, LibraryPanel } from '@grafana/schema'; import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { ScrollRefElement } from 'app/core/components/NativeScrollbar'; import { LS_PANEL_COPY_KEY } from 'app/core/constants'; import { getNavModel } from 'app/core/selectors/navModel'; diff --git a/public/app/features/dashboard-scene/scene/DashboardSceneUrlSync.ts b/public/app/features/dashboard-scene/scene/DashboardSceneUrlSync.ts index 2f8ab1d97cb..44c51dd4de7 100644 --- a/public/app/features/dashboard-scene/scene/DashboardSceneUrlSync.ts +++ b/public/app/features/dashboard-scene/scene/DashboardSceneUrlSync.ts @@ -1,5 +1,5 @@ import { SceneObjectUrlSyncHandler, SceneObjectUrlValues, VizPanel } from '@grafana/scenes'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { KioskMode } from 'app/types/dashboard'; import { buildPanelEditScene } from '../panel-edit/PanelEditor'; diff --git a/public/app/features/dashboard-scene/scene/GoToSnapshotOriginButton.test.tsx b/public/app/features/dashboard-scene/scene/GoToSnapshotOriginButton.test.tsx index 846e6090fad..86668be9b2e 100644 --- a/public/app/features/dashboard-scene/scene/GoToSnapshotOriginButton.test.tsx +++ b/public/app/features/dashboard-scene/scene/GoToSnapshotOriginButton.test.tsx @@ -3,7 +3,7 @@ import { fireEvent, render, screen } from '@testing-library/react'; import { config, locationService } from '@grafana/runtime'; import { ConfirmModal } from '@grafana/ui'; -import appEvents from '../../../core/app_events'; +import { appEvents } from '../../../core/app_events'; import { ShowModalReactEvent } from '../../../types/events'; import { GoToSnapshotOriginButton } from './GoToSnapshotOriginButton'; diff --git a/public/app/features/dashboard-scene/scene/GoToSnapshotOriginButton.tsx b/public/app/features/dashboard-scene/scene/GoToSnapshotOriginButton.tsx index b384ecacbbf..2efcad5a256 100644 --- a/public/app/features/dashboard-scene/scene/GoToSnapshotOriginButton.tsx +++ b/public/app/features/dashboard-scene/scene/GoToSnapshotOriginButton.tsx @@ -5,7 +5,7 @@ import { t } from '@grafana/i18n'; import { config, locationService } from '@grafana/runtime'; import { ConfirmModal, ToolbarButton } from '@grafana/ui'; -import appEvents from '../../../core/app_events'; +import { appEvents } from '../../../core/app_events'; import { ShowModalReactEvent } from '../../../types/events'; export function GoToSnapshotOriginButton(props: { originalURL: string }) { diff --git a/public/app/features/dashboard-scene/scene/NavToolbarActions.tsx b/public/app/features/dashboard-scene/scene/NavToolbarActions.tsx index 08793bf546f..68ccadaba13 100644 --- a/public/app/features/dashboard-scene/scene/NavToolbarActions.tsx +++ b/public/app/features/dashboard-scene/scene/NavToolbarActions.tsx @@ -19,7 +19,7 @@ import { import { AppChromeUpdate } from 'app/core/components/AppChrome/AppChromeUpdate'; import { NavToolbarSeparator } from 'app/core/components/AppChrome/NavToolbar/NavToolbarSeparator'; import { LS_PANEL_COPY_KEY } from 'app/core/constants'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv'; import { trackDashboardSceneEditButtonClicked } from 'app/features/dashboard-scene/utils/tracking'; import { playlistSrv } from 'app/features/playlist/PlaylistSrv'; diff --git a/public/app/features/dashboard-scene/scene/PanelMenuBehavior.tsx b/public/app/features/dashboard-scene/scene/PanelMenuBehavior.tsx index 8a5502115a8..91977adce00 100644 --- a/public/app/features/dashboard-scene/scene/PanelMenuBehavior.tsx +++ b/public/app/features/dashboard-scene/scene/PanelMenuBehavior.tsx @@ -15,7 +15,7 @@ import { t } from '@grafana/i18n'; import { config, locationService } from '@grafana/runtime'; import { LocalValueVariable, sceneGraph, VizPanel, VizPanelMenu } from '@grafana/scenes'; import { DataQuery, OptionsWithLegend } from '@grafana/schema'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { createErrorNotification } from 'app/core/copy/appNotification'; import { notifyApp } from 'app/core/reducers/appNotification'; import { contextSrv } from 'app/core/services/context_srv'; diff --git a/public/app/features/dashboard-scene/scene/keyboardShortcuts.test.ts b/public/app/features/dashboard-scene/scene/keyboardShortcuts.test.ts index 27573069fa3..856f8df3193 100644 --- a/public/app/features/dashboard-scene/scene/keyboardShortcuts.test.ts +++ b/public/app/features/dashboard-scene/scene/keyboardShortcuts.test.ts @@ -1,7 +1,7 @@ import { LegacyGraphHoverClearEvent } from '@grafana/data'; import { behaviors, sceneGraph, SceneTimeRange } from '@grafana/scenes'; import { DashboardCursorSync } from '@grafana/schema'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { KeybindingSet } from 'app/core/services/KeybindingSet'; import { DashboardScene } from './DashboardScene'; @@ -9,8 +9,10 @@ import { setupKeyboardShortcuts } from './keyboardShortcuts'; // Mock dependencies jest.mock('app/core/app_events', () => ({ - subscribe: jest.fn(() => ({ unsubscribe: jest.fn() })), - publish: jest.fn(), + appEvents: { + subscribe: jest.fn(() => ({ unsubscribe: jest.fn() })), + publish: jest.fn(), + }, })); jest.mock('app/core/services/KeybindingSet'); const mockOnRefresh = jest.fn(); diff --git a/public/app/features/dashboard-scene/scene/keyboardShortcuts.ts b/public/app/features/dashboard-scene/scene/keyboardShortcuts.ts index 0da6f08c2bc..b6ebf75bf44 100644 --- a/public/app/features/dashboard-scene/scene/keyboardShortcuts.ts +++ b/public/app/features/dashboard-scene/scene/keyboardShortcuts.ts @@ -1,7 +1,7 @@ import { locationUtil, SetPanelAttentionEvent, LegacyGraphHoverClearEvent } from '@grafana/data'; import { config, locationService } from '@grafana/runtime'; import { behaviors, sceneGraph, VizPanel } from '@grafana/scenes'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { KeybindingSet } from 'app/core/services/KeybindingSet'; import { contextSrv } from 'app/core/services/context_srv'; import { InspectTab } from 'app/features/inspector/types'; diff --git a/public/app/features/dashboard-scene/scene/layout-default/row-actions/RowActions.tsx b/public/app/features/dashboard-scene/scene/layout-default/row-actions/RowActions.tsx index 5b715086108..da2cf13377b 100644 --- a/public/app/features/dashboard-scene/scene/layout-default/row-actions/RowActions.tsx +++ b/public/app/features/dashboard-scene/scene/layout-default/row-actions/RowActions.tsx @@ -1,6 +1,6 @@ import { t } from '@grafana/i18n'; import { sceneGraph, SceneGridRow, SceneObjectBase, SceneObjectState } from '@grafana/scenes'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { ShowConfirmModalEvent } from 'app/types/events'; import { DefaultGridLayoutManager } from '../DefaultGridLayoutManager'; diff --git a/public/app/features/dashboard-scene/scene/layout-rows/RowItem.tsx b/public/app/features/dashboard-scene/scene/layout-rows/RowItem.tsx index 49a76045502..4568db703d0 100644 --- a/public/app/features/dashboard-scene/scene/layout-rows/RowItem.tsx +++ b/public/app/features/dashboard-scene/scene/layout-rows/RowItem.tsx @@ -12,7 +12,7 @@ import { SceneGridLayout, } from '@grafana/scenes'; import { RowsLayoutRowKind } from '@grafana/schema/dist/esm/schema/dashboard/v2'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { LS_ROW_COPY_KEY } from 'app/core/constants'; import store from 'app/core/store'; import kbn from 'app/core/utils/kbn'; diff --git a/public/app/features/dashboard-scene/scene/layout-tabs/TabItem.tsx b/public/app/features/dashboard-scene/scene/layout-tabs/TabItem.tsx index 5db9caebbf6..8ee0b26633f 100644 --- a/public/app/features/dashboard-scene/scene/layout-tabs/TabItem.tsx +++ b/public/app/features/dashboard-scene/scene/layout-tabs/TabItem.tsx @@ -12,8 +12,8 @@ import { SceneGridLayout, } from '@grafana/scenes'; import { TabsLayoutTabKind } from '@grafana/schema/dist/esm/schema/dashboard/v2'; +import { appEvents } from 'app/core/app_events'; import { LS_TAB_COPY_KEY } from 'app/core/constants'; -import { appEvents } from 'app/core/core'; import store from 'app/core/store'; import kbn from 'app/core/utils/kbn'; import { ShowConfirmModalEvent } from 'app/types/events'; diff --git a/public/app/features/dashboard-scene/scene/layouts-shared/ungroupConfirmation.tsx b/public/app/features/dashboard-scene/scene/layouts-shared/ungroupConfirmation.tsx index 83be1a668f5..9c090997722 100644 --- a/public/app/features/dashboard-scene/scene/layouts-shared/ungroupConfirmation.tsx +++ b/public/app/features/dashboard-scene/scene/layouts-shared/ungroupConfirmation.tsx @@ -1,5 +1,5 @@ import { t } from '@grafana/i18n'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { ShowConfirmModalEvent, ShowModalReactEvent } from 'app/types/events'; import { ConvertMixedGridsModal } from '../layout-rows/ConvertMixedGridsModal'; diff --git a/public/app/features/dashboard-scene/scene/layouts-shared/utils.ts b/public/app/features/dashboard-scene/scene/layouts-shared/utils.ts index 2c1bd487a56..c3ba4dfa0e8 100644 --- a/public/app/features/dashboard-scene/scene/layouts-shared/utils.ts +++ b/public/app/features/dashboard-scene/scene/layouts-shared/utils.ts @@ -1,7 +1,7 @@ import { useEffect, useRef } from 'react'; import { SceneObject } from '@grafana/scenes'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { DashboardLayoutManager, isDashboardLayoutManager } from '../types/DashboardLayoutManager'; import { isLayoutParent } from '../types/LayoutParent'; diff --git a/public/app/features/dashboard-scene/scene/new-toolbar/actions/ShareExportDashboardButton.tsx b/public/app/features/dashboard-scene/scene/new-toolbar/actions/ShareExportDashboardButton.tsx index 0eb3d21f85c..e37f080ef39 100644 --- a/public/app/features/dashboard-scene/scene/new-toolbar/actions/ShareExportDashboardButton.tsx +++ b/public/app/features/dashboard-scene/scene/new-toolbar/actions/ShareExportDashboardButton.tsx @@ -2,7 +2,7 @@ import { ReactElement, useState } from 'react'; import { t } from '@grafana/i18n'; import { Button, ButtonGroup, Dropdown } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { ShowConfirmModalEvent } from 'app/types/events'; import { ToolbarActionProps } from '../types'; diff --git a/public/app/features/dashboard-scene/serialization/transformSaveModelToScene.test.ts b/public/app/features/dashboard-scene/serialization/transformSaveModelToScene.test.ts index a37dcd2fbae..0bcea1e0ecd 100644 --- a/public/app/features/dashboard-scene/serialization/transformSaveModelToScene.test.ts +++ b/public/app/features/dashboard-scene/serialization/transformSaveModelToScene.test.ts @@ -20,7 +20,7 @@ import { RowPanel, VariableType, } from '@grafana/schema'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { DashboardModel } from 'app/features/dashboard/state/DashboardModel'; import { PanelModel } from 'app/features/dashboard/state/PanelModel'; import { createPanelSaveModel } from 'app/features/dashboard/state/__fixtures__/dashboardFixtures'; diff --git a/public/app/features/dashboard-scene/settings/PermissionsEditView.tsx b/public/app/features/dashboard-scene/settings/PermissionsEditView.tsx index 71528deb12d..1f895605824 100644 --- a/public/app/features/dashboard-scene/settings/PermissionsEditView.tsx +++ b/public/app/features/dashboard-scene/settings/PermissionsEditView.tsx @@ -2,7 +2,7 @@ import { PageLayoutType } from '@grafana/data'; import { SceneComponentProps, SceneObjectBase } from '@grafana/scenes'; import { Permissions } from 'app/core/components/AccessControl/Permissions'; import { Page } from 'app/core/components/Page/Page'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { DashboardScene } from '../scene/DashboardScene'; diff --git a/public/app/features/dashboard-scene/settings/utils.ts b/public/app/features/dashboard-scene/settings/utils.ts index 88011f08b00..d9fe0cbbd99 100644 --- a/public/app/features/dashboard-scene/settings/utils.ts +++ b/public/app/features/dashboard-scene/settings/utils.ts @@ -3,8 +3,8 @@ import { useLocation } from 'react-router-dom-v5-compat'; import { locationUtil, NavModelItem } from '@grafana/data'; import { t } from '@grafana/i18n'; import { SceneObject, SceneObjectState } from '@grafana/scenes'; -import { contextSrv } from 'app/core/core'; import { getNavModel } from 'app/core/selectors/navModel'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { useSelector } from 'app/types/store'; diff --git a/public/app/features/dashboard-scene/sharing/ShareButton/ShareMenu.tsx b/public/app/features/dashboard-scene/sharing/ShareButton/ShareMenu.tsx index 0a50fb9530e..9eb48d32b88 100644 --- a/public/app/features/dashboard-scene/sharing/ShareButton/ShareMenu.tsx +++ b/public/app/features/dashboard-scene/sharing/ShareButton/ShareMenu.tsx @@ -6,7 +6,7 @@ import { t } from '@grafana/i18n'; import { config, locationService } from '@grafana/runtime'; import { VizPanel } from '@grafana/scenes'; import { IconName, Menu } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { isPublicDashboardsEnabled } from '../../../dashboard/components/ShareModal/SharePublicDashboard/SharePublicDashboardUtils'; diff --git a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/ConfigEmailSharing/ConfigEmailSharing.tsx b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/ConfigEmailSharing/ConfigEmailSharing.tsx index 4d6ca049b89..2b22a598372 100644 --- a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/ConfigEmailSharing/ConfigEmailSharing.tsx +++ b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/ConfigEmailSharing/ConfigEmailSharing.tsx @@ -3,7 +3,7 @@ import { useForm } from 'react-hook-form'; import { selectors as e2eSelectors } from '@grafana/e2e-selectors'; import { Trans, t } from '@grafana/i18n'; import { Button, Divider, Field, FieldSet, Icon, Input, Stack, Tooltip } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { publicDashboardApi, useAddRecipientMutation } from 'app/features/dashboard/api/publicDashboardApi'; import { validEmailRegex } from 'app/features/dashboard/components/ShareModal/SharePublicDashboard/SharePublicDashboardUtils'; import { DashboardInteractions } from 'app/features/dashboard-scene/utils/interactions'; diff --git a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/CreateEmailSharing.tsx b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/CreateEmailSharing.tsx index 4c482660047..e55d1a7f1bd 100644 --- a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/CreateEmailSharing.tsx +++ b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/CreateEmailSharing.tsx @@ -5,7 +5,7 @@ import { GrafanaTheme2 } from '@grafana/data'; import { selectors as e2eSelectors } from '@grafana/e2e-selectors'; import { Trans, t } from '@grafana/i18n'; import { Button, Checkbox, FieldSet, Spinner, Stack, useStyles2 } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { useCreatePublicDashboardMutation } from 'app/features/dashboard/api/publicDashboardApi'; import { PublicDashboardShareType } from 'app/features/dashboard/components/ShareModal/SharePublicDashboard/SharePublicDashboardUtils'; import { DashboardInteractions } from 'app/features/dashboard-scene/utils/interactions'; diff --git a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/PublicShare/CreatePublicSharing.tsx b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/PublicShare/CreatePublicSharing.tsx index c871537e4c4..91c724c59f2 100644 --- a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/PublicShare/CreatePublicSharing.tsx +++ b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/PublicShare/CreatePublicSharing.tsx @@ -5,7 +5,7 @@ import { GrafanaTheme2 } from '@grafana/data'; import { selectors as e2eSelectors } from '@grafana/e2e-selectors'; import { Trans, t } from '@grafana/i18n'; import { Button, Checkbox, FieldSet, Spinner, Stack, useStyles2 } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { useCreatePublicDashboardMutation } from 'app/features/dashboard/api/publicDashboardApi'; import { PublicDashboardShareType } from 'app/features/dashboard/components/ShareModal/SharePublicDashboard/SharePublicDashboardUtils'; import { DashboardInteractions } from 'app/features/dashboard-scene/utils/interactions'; diff --git a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareAlerts.test.tsx b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareAlerts.test.tsx index 2dab2d48804..d33f76b2dbf 100644 --- a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareAlerts.test.tsx +++ b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareAlerts.test.tsx @@ -10,7 +10,7 @@ import { VizPanel, VizPanelState, } from '@grafana/scenes'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { DashboardScene, DashboardSceneState } from 'app/features/dashboard-scene/scene/DashboardScene'; import { DefaultGridLayoutManager } from 'app/features/dashboard-scene/scene/layout-default/DefaultGridLayoutManager'; diff --git a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareAlerts.tsx b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareAlerts.tsx index 6c7b0d55ec7..98788952bff 100644 --- a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareAlerts.tsx +++ b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareAlerts.tsx @@ -1,4 +1,4 @@ -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { EmailSharingPricingAlert } from 'app/features/dashboard/components/ShareModal/SharePublicDashboard/ModalAlerts/EmailSharingPricingAlert'; import { UnsupportedDataSourcesAlert } from 'app/features/dashboard/components/ShareModal/SharePublicDashboard/ModalAlerts/UnsupportedDataSourcesAlert'; import { UnsupportedTemplateVariablesAlert } from 'app/features/dashboard/components/ShareModal/SharePublicDashboard/ModalAlerts/UnsupportedTemplateVariablesAlert'; diff --git a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareConfiguration.tsx b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareConfiguration.tsx index 62d22223663..5cde7883b05 100644 --- a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareConfiguration.tsx +++ b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareConfiguration.tsx @@ -6,7 +6,7 @@ import { selectors as e2eSelectors } from '@grafana/e2e-selectors'; import { Trans, t } from '@grafana/i18n'; import { sceneGraph } from '@grafana/scenes'; import { FieldSet, Icon, Label, Spinner, Stack, Switch, Text, TimeRangeLabel, Tooltip, useStyles2 } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { publicDashboardApi, useUpdatePublicDashboardMutation } from 'app/features/dashboard/api/publicDashboardApi'; import { ConfigPublicDashboardForm } from 'app/features/dashboard/components/ShareModal/SharePublicDashboard/ConfigPublicDashboard/ConfigPublicDashboard'; import { DashboardInteractions } from 'app/features/dashboard-scene/utils/interactions'; diff --git a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareExternally.tsx b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareExternally.tsx index 41637090ad0..85830964f93 100644 --- a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareExternally.tsx +++ b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareExternally.tsx @@ -6,7 +6,7 @@ import { selectors as e2eSelectors } from '@grafana/e2e-selectors'; import { Trans, t } from '@grafana/i18n'; import { SceneComponentProps, SceneObjectBase } from '@grafana/scenes'; import { Button, ClipboardButton, Divider, Spinner, Stack, useStyles2 } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { useDeletePublicDashboardMutation, useGetPublicDashboardQuery, diff --git a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareTypeSelect.tsx b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareTypeSelect.tsx index 89e14df3c5f..2f1a64b74c2 100644 --- a/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareTypeSelect.tsx +++ b/public/app/features/dashboard-scene/sharing/ShareButton/share-externally/ShareTypeSelect.tsx @@ -4,7 +4,7 @@ import { SelectableValue, toIconName } from '@grafana/data'; import { selectors as e2eSelectors } from '@grafana/e2e-selectors'; import { Trans } from '@grafana/i18n'; import { Icon, Label, Select, Spinner, Stack, Text, useStyles2 } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { publicDashboardApi, useUpdatePublicDashboardAccessMutation, diff --git a/public/app/features/dashboard-scene/utils/urlBuilders.ts b/public/app/features/dashboard-scene/utils/urlBuilders.ts index 0658b0ff178..942d378a38f 100644 --- a/public/app/features/dashboard-scene/utils/urlBuilders.ts +++ b/public/app/features/dashboard-scene/utils/urlBuilders.ts @@ -1,7 +1,7 @@ import { locationUtil } from '@grafana/data'; import { locationService } from '@grafana/runtime'; import { sceneGraph, VizPanel } from '@grafana/scenes'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { getExploreUrl } from 'app/core/utils/explore'; import { getQueryRunnerFor } from './utils'; diff --git a/public/app/features/dashboard/api/legacy.ts b/public/app/features/dashboard/api/legacy.ts index 5a9e0b9707c..34a40225e32 100644 --- a/public/app/features/dashboard/api/legacy.ts +++ b/public/app/features/dashboard/api/legacy.ts @@ -2,7 +2,7 @@ import { AppEvents, UrlQueryMap } from '@grafana/data'; import { t } from '@grafana/i18n'; import { FetchError, getBackendSrv } from '@grafana/runtime'; import { Dashboard } from '@grafana/schema'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { Resource, ResourceList } from 'app/features/apiserver/types'; import { dashboardWatcher } from 'app/features/live/dashboard/dashboardWatcher'; import { DeleteDashboardResponse } from 'app/features/manage-dashboards/types'; diff --git a/public/app/features/dashboard/components/DashNav/DashNav.tsx b/public/app/features/dashboard/components/DashNav/DashNav.tsx index 78dd8c02a40..be0d9cfcaea 100644 --- a/public/app/features/dashboard/components/DashNav/DashNav.tsx +++ b/public/app/features/dashboard/components/DashNav/DashNav.tsx @@ -15,11 +15,11 @@ import { ConfirmModal, } from '@grafana/ui'; import { updateNavIndex } from 'app/core/actions'; +import { appEvents } from 'app/core/app_events'; import { AppChromeUpdate } from 'app/core/components/AppChrome/AppChromeUpdate'; import { NavToolbarSeparator } from 'app/core/components/AppChrome/NavToolbar/NavToolbarSeparator'; import config from 'app/core/config'; import { useAppNotification } from 'app/core/copy/appNotification'; -import { appEvents } from 'app/core/core'; import { useBusEvent } from 'app/core/hooks/useBusEvent'; import { ID_PREFIX, setStarred } from 'app/core/reducers/navBarTree'; import { removeNavIndex } from 'app/core/reducers/navModel'; diff --git a/public/app/features/dashboard/components/DashNav/DashNavTimeControls.tsx b/public/app/features/dashboard/components/DashNav/DashNavTimeControls.tsx index ae1bbb56f11..acd2d17df8d 100644 --- a/public/app/features/dashboard/components/DashNav/DashNavTimeControls.tsx +++ b/public/app/features/dashboard/components/DashNav/DashNavTimeControls.tsx @@ -5,8 +5,8 @@ import { dateMath, TimeRange, TimeZone } from '@grafana/data'; import { t } from '@grafana/i18n'; import { TimeRangeUpdatedEvent } from '@grafana/runtime'; import { defaultIntervals, isWeekStart, RefreshPicker } from '@grafana/ui'; +import { appEvents } from 'app/core/app_events'; import { TimePickerWithHistory } from 'app/core/components/TimePicker/TimePickerWithHistory'; -import { appEvents } from 'app/core/core'; import { AutoRefreshInterval } from 'app/core/services/context_srv'; import { getTimeSrv } from 'app/features/dashboard/services/TimeSrv'; diff --git a/public/app/features/dashboard/components/DashboardPermissions/AccessControlDashboardPermissions.tsx b/public/app/features/dashboard/components/DashboardPermissions/AccessControlDashboardPermissions.tsx index dbc028be848..dfd21327f06 100644 --- a/public/app/features/dashboard/components/DashboardPermissions/AccessControlDashboardPermissions.tsx +++ b/public/app/features/dashboard/components/DashboardPermissions/AccessControlDashboardPermissions.tsx @@ -1,6 +1,6 @@ import { Permissions } from 'app/core/components/AccessControl/Permissions'; import { Page } from 'app/core/components/Page/Page'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { SettingsPageProps } from '../DashboardSettings/types'; diff --git a/public/app/features/dashboard/components/DashboardRow/DashboardRow.tsx b/public/app/features/dashboard/components/DashboardRow/DashboardRow.tsx index a6376634610..debb2a1db8a 100644 --- a/public/app/features/dashboard/components/DashboardRow/DashboardRow.tsx +++ b/public/app/features/dashboard/components/DashboardRow/DashboardRow.tsx @@ -8,7 +8,7 @@ import { selectors } from '@grafana/e2e-selectors'; import { Trans, t } from '@grafana/i18n'; import { getTemplateSrv, RefreshEvent } from '@grafana/runtime'; import { Icon, TextLink, Themeable2, withTheme2 } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { DashboardInteractions } from 'app/features/dashboard-scene/utils/interactions'; import { SHARED_DASHBOARD_QUERY } from 'app/plugins/datasource/dashboard/constants'; import grabDarkSvg from 'img/grab_dark.svg'; diff --git a/public/app/features/dashboard/components/PanelEditor/PanelEditor.tsx b/public/app/features/dashboard/components/PanelEditor/PanelEditor.tsx index 927246b0228..7363aff85f8 100644 --- a/public/app/features/dashboard/components/PanelEditor/PanelEditor.tsx +++ b/public/app/features/dashboard/components/PanelEditor/PanelEditor.tsx @@ -20,10 +20,10 @@ import { withTheme2, Stack, } from '@grafana/ui'; +import { appEvents } from 'app/core/app_events'; import { AppChromeUpdate } from 'app/core/components/AppChrome/AppChromeUpdate'; import { Page } from 'app/core/components/Page/Page'; import { SplitPaneWrapper } from 'app/core/components/SplitPaneWrapper/SplitPaneWrapper'; -import { appEvents } from 'app/core/core'; import { SubMenuItems } from 'app/features/dashboard/components/SubMenu/SubMenuItems'; import { SaveLibraryPanelModal } from 'app/features/library-panels/components/SaveLibraryPanelModal/SaveLibraryPanelModal'; import { PanelModelWithLibraryPanel } from 'app/features/library-panels/types'; diff --git a/public/app/features/dashboard/components/SaveDashboard/useDashboardSave.tsx b/public/app/features/dashboard/components/SaveDashboard/useDashboardSave.tsx index 360510b6138..64c66ee3ce2 100644 --- a/public/app/features/dashboard/components/SaveDashboard/useDashboardSave.tsx +++ b/public/app/features/dashboard/components/SaveDashboard/useDashboardSave.tsx @@ -5,7 +5,7 @@ import { locationUtil } from '@grafana/data'; import { t } from '@grafana/i18n'; import { locationService } from '@grafana/runtime'; import { Dashboard } from '@grafana/schema'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { useAppNotification } from 'app/core/copy/appNotification'; import { updateDashboardName } from 'app/core/reducers/navBarTree'; import { useSaveDashboardMutation } from 'app/features/browse-dashboards/api/browseDashboardsAPI'; diff --git a/public/app/features/dashboard/components/ShareModal/ShareExport.tsx b/public/app/features/dashboard/components/ShareModal/ShareExport.tsx index a9ee77c8929..1f9489a9612 100644 --- a/public/app/features/dashboard/components/ShareModal/ShareExport.tsx +++ b/public/app/features/dashboard/components/ShareModal/ShareExport.tsx @@ -3,7 +3,7 @@ import { PureComponent } from 'react'; import { Trans, t } from '@grafana/i18n'; import { Button, Field, Modal, Switch } from '@grafana/ui'; -import { appEvents } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { DashboardExporter } from 'app/features/dashboard/components/DashExportModal/DashboardExporter'; import { makeExportableV1 } from 'app/features/dashboard-scene/scene/export/exporters'; import { DashboardInteractions } from 'app/features/dashboard-scene/utils/interactions'; diff --git a/public/app/features/dashboard/components/ShareModal/ShareModal.tsx b/public/app/features/dashboard/components/ShareModal/ShareModal.tsx index df096a63473..4c701cbda15 100644 --- a/public/app/features/dashboard/components/ShareModal/ShareModal.tsx +++ b/public/app/features/dashboard/components/ShareModal/ShareModal.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import { t } from '@grafana/i18n'; import { Modal, ModalTabsHeader, TabContent, Themeable2, withTheme2 } from '@grafana/ui'; import { config } from 'app/core/config'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { SharePublicDashboard } from 'app/features/dashboard/components/ShareModal/SharePublicDashboard/SharePublicDashboard'; import { isPublicDashboardsEnabled } from 'app/features/dashboard/components/ShareModal/SharePublicDashboard/SharePublicDashboardUtils'; import { DashboardModel } from 'app/features/dashboard/state/DashboardModel'; diff --git a/public/app/features/dashboard/containers/DashboardPage.test.tsx b/public/app/features/dashboard/containers/DashboardPage.test.tsx index aee5d4417d6..9a51d8c4cd9 100644 --- a/public/app/features/dashboard/containers/DashboardPage.test.tsx +++ b/public/app/features/dashboard/containers/DashboardPage.test.tsx @@ -46,15 +46,12 @@ jest.mock('app/features/query/components/QueryGroup', () => { }; }); -jest.mock('app/core/core', () => ({ +jest.mock('app/core/app_events', () => ({ appEvents: { subscribe: () => { return { unsubscribe: () => {} }; }, }, - contextSrv: { - user: { orgId: 1 }, - }, })); jest.mock('@grafana/runtime', () => ({ diff --git a/public/app/features/dashboard/dashgrid/DashboardGrid.test.tsx b/public/app/features/dashboard/dashgrid/DashboardGrid.test.tsx index 330b4df5a43..ff66a114811 100644 --- a/public/app/features/dashboard/dashgrid/DashboardGrid.test.tsx +++ b/public/app/features/dashboard/dashgrid/DashboardGrid.test.tsx @@ -4,7 +4,7 @@ import { render } from 'test/test-utils'; import { TextBoxVariableModel } from '@grafana/data'; import { Dashboard } from '@grafana/schema'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { GetVariables } from 'app/features/variables/state/selectors'; import { VariablesChanged } from 'app/features/variables/types'; import { DashboardMeta } from 'app/types/dashboard'; diff --git a/public/app/features/dashboard/dashgrid/DashboardGrid.tsx b/public/app/features/dashboard/dashgrid/DashboardGrid.tsx index 879ba64939a..713d8f528b4 100644 --- a/public/app/features/dashboard/dashgrid/DashboardGrid.tsx +++ b/public/app/features/dashboard/dashgrid/DashboardGrid.tsx @@ -5,7 +5,7 @@ import ReactGridLayout, { ItemCallback } from 'react-grid-layout'; import { Subscription } from 'rxjs'; import { config } from '@grafana/runtime'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { GRID_CELL_HEIGHT, GRID_CELL_VMARGIN, GRID_COLUMN_COUNT } from 'app/core/constants'; import { contextSrv } from 'app/core/services/context_srv'; import { VariablesChanged } from 'app/features/variables/types'; diff --git a/public/app/features/dashboard/dashgrid/PanelStateWrapper.tsx b/public/app/features/dashboard/dashgrid/PanelStateWrapper.tsx index 645cc75f811..20c702edd8b 100644 --- a/public/app/features/dashboard/dashgrid/PanelStateWrapper.tsx +++ b/public/app/features/dashboard/dashgrid/PanelStateWrapper.tsx @@ -32,7 +32,7 @@ import { SeriesVisibilityChangeMode, AdHocFilterItem, } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { profiler } from 'app/core/profiler'; import { annotationServer } from 'app/features/annotations/api'; import { applyPanelTimeOverrides } from 'app/features/dashboard/utils/panel'; diff --git a/public/app/features/dashboard/services/DashboardLoaderSrv.ts b/public/app/features/dashboard/services/DashboardLoaderSrv.ts index ef3ec5fb279..ce333424e0a 100644 --- a/public/app/features/dashboard/services/DashboardLoaderSrv.ts +++ b/public/app/features/dashboard/services/DashboardLoaderSrv.ts @@ -12,7 +12,7 @@ import { getDashboardScenePageStateManager } from 'app/features/dashboard-scene/ import { getDatasourceSrv } from 'app/features/plugins/datasource_srv'; import { DashboardDTO } from 'app/types/dashboard'; -import { appEvents } from '../../../core/core'; +import { appEvents } from '../../../core/app_events'; import { ResponseTransformers } from '../api/ResponseTransformers'; import { getDashboardAPI } from '../api/dashboard_api'; import { DashboardVersionError, DashboardWithAccessInfo } from '../api/types'; diff --git a/public/app/features/dashboard/services/SnapshotSrv.ts b/public/app/features/dashboard/services/SnapshotSrv.ts index c9d240ee3b4..d751737f92d 100644 --- a/public/app/features/dashboard/services/SnapshotSrv.ts +++ b/public/app/features/dashboard/services/SnapshotSrv.ts @@ -1,7 +1,7 @@ import { lastValueFrom, map } from 'rxjs'; import { config, getBackendSrv, FetchResponse } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { DashboardDataDTO, DashboardDTO } from 'app/types/dashboard'; import { getAPINamespace } from '../../../api/utils'; diff --git a/public/app/features/dashboard/services/TimeSrv.test.ts b/public/app/features/dashboard/services/TimeSrv.test.ts index 981911116ea..a17bec0499a 100644 --- a/public/app/features/dashboard/services/TimeSrv.test.ts +++ b/public/app/features/dashboard/services/TimeSrv.test.ts @@ -9,7 +9,7 @@ import { TimeModel } from '../state/TimeModel'; import { TimeSrv } from './TimeSrv'; -jest.mock('app/core/core', () => ({ +jest.mock('app/core/app_events', () => ({ appEvents: { subscribe: () => {}, }, diff --git a/public/app/features/dashboard/services/TimeSrv.ts b/public/app/features/dashboard/services/TimeSrv.ts index 224be7762b7..fb8f346a267 100644 --- a/public/app/features/dashboard/services/TimeSrv.ts +++ b/public/app/features/dashboard/services/TimeSrv.ts @@ -15,7 +15,7 @@ import { import { t } from '@grafana/i18n'; import { locationService } from '@grafana/runtime'; import { sceneGraph } from '@grafana/scenes'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { config } from 'app/core/config'; import { AutoRefreshInterval, contextSrv, ContextSrv } from 'app/core/services/context_srv'; import { diff --git a/public/app/features/dashboard/state/DashboardModel.refresh.test.ts b/public/app/features/dashboard/state/DashboardModel.refresh.test.ts index f09d4a9d336..308e4762416 100644 --- a/public/app/features/dashboard/state/DashboardModel.refresh.test.ts +++ b/public/app/features/dashboard/state/DashboardModel.refresh.test.ts @@ -1,4 +1,4 @@ -import { appEvents } from '../../../core/core'; +import { appEvents } from '../../../core/app_events'; import { VariablesChanged } from '../../variables/types'; import { getTimeSrv, setTimeSrv, TimeSrv } from '../services/TimeSrv'; diff --git a/public/app/features/dashboard/state/DashboardModel.ts b/public/app/features/dashboard/state/DashboardModel.ts index f4b912c6358..47d2e028657 100644 --- a/public/app/features/dashboard/state/DashboardModel.ts +++ b/public/app/features/dashboard/state/DashboardModel.ts @@ -35,7 +35,7 @@ import { templateVariableValueUpdated, } from 'app/types/events'; -import { appEvents } from '../../../core/core'; +import { appEvents } from '../../../core/app_events'; import { dispatch } from '../../../store/store'; import { VariablesChanged, diff --git a/public/app/features/dashboard/state/initDashboard.test.ts b/public/app/features/dashboard/state/initDashboard.test.ts index 123552c6984..b62a89d4096 100644 --- a/public/app/features/dashboard/state/initDashboard.test.ts +++ b/public/app/features/dashboard/state/initDashboard.test.ts @@ -3,7 +3,7 @@ import { thunk } from 'redux-thunk'; import { Subject } from 'rxjs'; import { BackendSrv, FetchError, locationService, setEchoSrv } from '@grafana/runtime'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { getBackendSrv } from 'app/core/services/backend_srv'; import { KeybindingSrv } from 'app/core/services/keybindingSrv'; import { variableAdapters } from 'app/features/variables/adapters'; @@ -62,6 +62,13 @@ jest.mock('@grafana/data', () => { })), }; }); +jest.mock('app/core/app_events', () => ({ + ...jest.requireActual('app/core/app_events'), + appEvents: { + publish: jest.fn(), + subscribe: jest.fn(), + }, +})); variableAdapters.register(createConstantVariableAdapter()); const mockStore = configureMockStore([thunk]); diff --git a/public/app/features/dashboard/state/initDashboard.ts b/public/app/features/dashboard/state/initDashboard.ts index 81e2f878bde..86d64138dee 100644 --- a/public/app/features/dashboard/state/initDashboard.ts +++ b/public/app/features/dashboard/state/initDashboard.ts @@ -2,7 +2,7 @@ import { DataQuery, locationUtil, setWeekStart, DashboardLoadedEvent } from '@gr import { t } from '@grafana/i18n'; import { config, isFetchError, locationService } from '@grafana/runtime'; import { notifyApp } from 'app/core/actions'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { createErrorNotification } from 'app/core/copy/appNotification'; import { backendSrv } from 'app/core/services/backend_srv'; import { KeybindingSrv } from 'app/core/services/keybindingSrv'; diff --git a/public/app/features/dashboard/utils/panel.ts b/public/app/features/dashboard/utils/panel.ts index dd4037107f2..4f60c012a0f 100644 --- a/public/app/features/dashboard/utils/panel.ts +++ b/public/app/features/dashboard/utils/panel.ts @@ -3,7 +3,7 @@ import { isString as _isString } from 'lodash'; import { TimeRange, AppEvents, rangeUtil, dateMath, PanelModel as IPanelModel, dateTimeAsMoment } from '@grafana/data'; import { t } from '@grafana/i18n'; import { getTemplateSrv } from '@grafana/runtime'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import config from 'app/core/config'; import { LS_PANEL_COPY_KEY, PANEL_BORDER } from 'app/core/constants'; import store from 'app/core/store'; diff --git a/public/app/features/datasources/components/DataSourceAddButton.tsx b/public/app/features/datasources/components/DataSourceAddButton.tsx index 627c3695da0..fa1da6b9953 100644 --- a/public/app/features/datasources/components/DataSourceAddButton.tsx +++ b/public/app/features/datasources/components/DataSourceAddButton.tsx @@ -3,7 +3,7 @@ import { useCallback } from 'react'; import { Trans } from '@grafana/i18n'; import { config } from '@grafana/runtime'; import { LinkButton } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { ROUTES } from 'app/features/connections/constants'; import { AccessControlAction } from 'app/types/accessControl'; diff --git a/public/app/features/datasources/components/DataSourceTestingStatus.test.tsx b/public/app/features/datasources/components/DataSourceTestingStatus.test.tsx index cb2e0b54ac8..9d71b183a3a 100644 --- a/public/app/features/datasources/components/DataSourceTestingStatus.test.tsx +++ b/public/app/features/datasources/components/DataSourceTestingStatus.test.tsx @@ -13,7 +13,7 @@ import { getMockDataSource } from '../mocks/dataSourcesMocks'; import { DataSourceTestingStatus, Props } from './DataSourceTestingStatus'; // Mock contextSrv -jest.mock('../../../core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { hasAccessToExplore: jest.fn(() => true), }, diff --git a/public/app/features/datasources/components/DataSourceTestingStatus.tsx b/public/app/features/datasources/components/DataSourceTestingStatus.tsx index 3c8d512067d..ab1cabf171a 100644 --- a/public/app/features/datasources/components/DataSourceTestingStatus.tsx +++ b/public/app/features/datasources/components/DataSourceTestingStatus.tsx @@ -13,8 +13,8 @@ import { selectors as e2eSelectors } from '@grafana/e2e-selectors'; import { Trans, t } from '@grafana/i18n'; import { TestingStatus, config, usePluginLinks, usePluginComponents, renderLimitedComponents } from '@grafana/runtime'; import { AlertVariant, Alert, useTheme2, Link, useStyles2 } from '@grafana/ui'; +import { contextSrv } from 'app/core/services/context_srv'; -import { contextSrv } from '../../../core/core'; import { ALLOWED_DATASOURCE_EXTENSION_PLUGINS } from '../constants'; import { trackCreateDashboardClicked } from '../tracking'; diff --git a/public/app/features/datasources/components/DataSourcesList.tsx b/public/app/features/datasources/components/DataSourcesList.tsx index 8113bba85e0..42d737f7aaf 100644 --- a/public/app/features/datasources/components/DataSourcesList.tsx +++ b/public/app/features/datasources/components/DataSourcesList.tsx @@ -6,8 +6,8 @@ import { DataSourceSettings, GrafanaTheme2 } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { config, useFavoriteDatasources, FavoriteDatasources } from '@grafana/runtime'; import { EmptyState, LinkButton, TextLink, useStyles2 } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; import { useQueryParams } from 'app/core/hooks/useQueryParams'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { StoreState, useSelector } from 'app/types/store'; diff --git a/public/app/features/datasources/components/EditDataSource.tsx b/public/app/features/datasources/components/EditDataSource.tsx index 329af79f7ba..845c86c2ff9 100644 --- a/public/app/features/datasources/components/EditDataSource.tsx +++ b/public/app/features/datasources/components/EditDataSource.tsx @@ -11,7 +11,7 @@ import { DataSourceUpdatedSuccessfully, } from '@grafana/data'; import { getDataSourceSrv, usePluginComponents, UsePluginComponentsResult } from '@grafana/runtime'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import PageLoader from 'app/core/components/PageLoader/PageLoader'; import { DataSourceSettingsState } from 'app/types/datasources'; import { useDispatch } from 'app/types/store'; diff --git a/public/app/features/datasources/components/EditDataSourceActions.tsx b/public/app/features/datasources/components/EditDataSourceActions.tsx index 0f0568dbc67..a4360e600d3 100644 --- a/public/app/features/datasources/components/EditDataSourceActions.tsx +++ b/public/app/features/datasources/components/EditDataSourceActions.tsx @@ -2,7 +2,7 @@ import { PluginExtensionPoints } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { config, usePluginLinks, useFavoriteDatasources, getDataSourceSrv, reportInteraction } from '@grafana/runtime'; import { Button, Dropdown, LinkButton, Menu, Icon, IconButton } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { ALLOWED_DATASOURCE_EXTENSION_PLUGINS } from '../constants'; import { useDataSource } from '../state/hooks'; diff --git a/public/app/features/datasources/components/picker/AddNewDataSourceButton.tsx b/public/app/features/datasources/components/picker/AddNewDataSourceButton.tsx index 7e03ccf2c8b..1b9f289616e 100644 --- a/public/app/features/datasources/components/picker/AddNewDataSourceButton.tsx +++ b/public/app/features/datasources/components/picker/AddNewDataSourceButton.tsx @@ -1,7 +1,7 @@ import { locationUtil } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { LinkButton, ButtonVariant } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { ROUTES as CONNECTIONS_ROUTES } from 'app/features/connections/constants'; import { AccessControlAction } from 'app/types/accessControl'; diff --git a/public/app/features/datasources/state/actions.test.ts b/public/app/features/datasources/state/actions.test.ts index 79aaf70a62c..b5eca2f3adf 100644 --- a/public/app/features/datasources/state/actions.test.ts +++ b/public/app/features/datasources/state/actions.test.ts @@ -2,7 +2,7 @@ import { thunkTester } from 'test/core/thunk/thunkTester'; import { AppPluginMeta, DataSourceSettings, PluginMetaInfo, PluginType } from '@grafana/data'; import { DataSourceSrv, FetchError } from '@grafana/runtime'; -import { appEvents } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { getBackendSrv } from 'app/core/services/backend_srv'; import { ThunkResult, ThunkDispatch } from 'app/types/store'; @@ -31,8 +31,8 @@ import { jest.mock('../api'); jest.mock('app/core/services/backend_srv'); -jest.mock('app/core/core', () => ({ - ...jest.requireActual('app/core/core'), +jest.mock('app/core/app_events', () => ({ + ...jest.requireActual('app/core/app_events'), appEvents: { publish: jest.fn(), }, diff --git a/public/app/features/datasources/state/actions.ts b/public/app/features/datasources/state/actions.ts index 500aac05ef9..961c78c8208 100644 --- a/public/app/features/datasources/state/actions.ts +++ b/public/app/features/datasources/state/actions.ts @@ -18,8 +18,9 @@ import { locationService, } from '@grafana/runtime'; import { updateNavIndex } from 'app/core/actions'; -import { appEvents, contextSrv } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { getBackendSrv } from 'app/core/services/backend_srv'; +import { contextSrv } from 'app/core/services/context_srv'; import { DatasourceAPIVersions } from 'app/features/apiserver/client'; import { ROUTES as CONNECTIONS_ROUTES } from 'app/features/connections/constants'; import { getDatasourceSrv } from 'app/features/plugins/datasource_srv'; diff --git a/public/app/features/datasources/state/hooks.ts b/public/app/features/datasources/state/hooks.ts index 61e7be7ae09..9a819401399 100644 --- a/public/app/features/datasources/state/hooks.ts +++ b/public/app/features/datasources/state/hooks.ts @@ -3,8 +3,8 @@ import { useEffect } from 'react'; import { DataSourcePluginMeta, DataSourceSettings } from '@grafana/data'; import { t } from '@grafana/i18n'; import { cleanUpAction } from 'app/core/actions/cleanUp'; -import appEvents from 'app/core/app_events'; -import { contextSrv } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { ShowConfirmModalEvent } from 'app/types/events'; import { useDispatch, useSelector } from 'app/types/store'; diff --git a/public/app/features/datasources/state/navModel.ts b/public/app/features/datasources/state/navModel.ts index b11c13c6c4f..6fadb515023 100644 --- a/public/app/features/datasources/state/navModel.ts +++ b/public/app/features/datasources/state/navModel.ts @@ -3,7 +3,7 @@ import { t } from '@grafana/i18n'; import { featureEnabled } from '@grafana/runtime'; import { ProBadge } from 'app/core/components/Upgrade/ProBadge'; import config from 'app/core/config'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { isOpenSourceBuildOrUnlicenced } from 'app/features/admin/EnterpriseAuthFeaturesCard'; import { highlightTrial } from 'app/features/admin/utils'; import { AccessControlAction } from 'app/types/accessControl'; diff --git a/public/app/features/explore/Explore.test.tsx b/public/app/features/explore/Explore.test.tsx index e1d4e71ad21..599adfdbb02 100644 --- a/public/app/features/explore/Explore.test.tsx +++ b/public/app/features/explore/Explore.test.tsx @@ -123,9 +123,9 @@ jest.mock('@grafana/runtime', () => ({ usePluginLinks: jest.fn(() => ({ links: [] })), })); -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { - ...jest.requireActual('app/core/core').contextSrv, + ...jest.requireActual('app/core/services/context_srv').contextSrv, hasPermission: () => true, getValidIntervals: (defaultIntervals: string[]) => defaultIntervals, }, diff --git a/public/app/features/explore/ExploreToolbar.tsx b/public/app/features/explore/ExploreToolbar.tsx index 766f46431e5..0099b3b86ae 100644 --- a/public/app/features/explore/ExploreToolbar.tsx +++ b/public/app/features/explore/ExploreToolbar.tsx @@ -18,11 +18,11 @@ import { Button, } from '@grafana/ui'; import { AppChromeUpdate } from 'app/core/components/AppChrome/AppChromeUpdate'; +import { contextSrv } from 'app/core/services/context_srv'; import { DataSourcePicker } from 'app/features/datasources/components/picker/DataSourcePicker'; import { CORRELATION_EDITOR_POST_CONFIRM_ACTION } from 'app/types/explore'; import { StoreState, useDispatch, useSelector } from 'app/types/store'; -import { contextSrv } from '../../core/core'; import { updateFiscalYearStartMonthForSession, updateTimeZoneForSession } from '../profile/state/reducers'; import { getFiscalYearStartMonth, getTimeZone } from '../profile/state/selectors'; diff --git a/public/app/features/explore/NoDataSourceCallToAction.tsx b/public/app/features/explore/NoDataSourceCallToAction.tsx index 5d67b2d1475..1e322f95d2b 100644 --- a/public/app/features/explore/NoDataSourceCallToAction.tsx +++ b/public/app/features/explore/NoDataSourceCallToAction.tsx @@ -3,7 +3,7 @@ import { css } from '@emotion/css'; import { GrafanaTheme2 } from '@grafana/data'; import { Trans } from '@grafana/i18n'; import { LinkButton, CallToActionCard, Icon, useStyles2 } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; function getCardStyles(theme: GrafanaTheme2) { diff --git a/public/app/features/explore/RichHistory/RichHistoryAddToLibrary.test.tsx b/public/app/features/explore/RichHistory/RichHistoryAddToLibrary.test.tsx index b23434fd2a6..540e56e2236 100644 --- a/public/app/features/explore/RichHistory/RichHistoryAddToLibrary.test.tsx +++ b/public/app/features/explore/RichHistory/RichHistoryAddToLibrary.test.tsx @@ -1,7 +1,7 @@ import { screen } from '@testing-library/react'; import { render } from 'test/test-utils'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { QueryLibraryContextProviderMock } from '../QueryLibrary/mocks'; diff --git a/public/app/features/explore/RichHistory/RichHistoryCard.test.tsx b/public/app/features/explore/RichHistory/RichHistoryCard.test.tsx index 669f7d0dd4a..106d96cefac 100644 --- a/public/app/features/explore/RichHistory/RichHistoryCard.test.tsx +++ b/public/app/features/explore/RichHistory/RichHistoryCard.test.tsx @@ -91,11 +91,6 @@ jest.mock('app/core/utils/explore', () => ({ copyStringToClipboard: (str: string) => copyStringToClipboard(str), })); -jest.mock('app/core/app_events', () => ({ - publish: jest.fn(), - subscribe: jest.fn(), -})); - interface MockQuery extends DataQuery { query: string; queryText?: string; diff --git a/public/app/features/explore/extensions/getExploreExtensionConfigs.tsx b/public/app/features/explore/extensions/getExploreExtensionConfigs.tsx index 7bbade45ad9..ee96d07ac7a 100644 --- a/public/app/features/explore/extensions/getExploreExtensionConfigs.tsx +++ b/public/app/features/explore/extensions/getExploreExtensionConfigs.tsx @@ -1,5 +1,5 @@ import { PluginExtensionAddedLinkConfig, PluginExtensionPoints } from '@grafana/data'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { dispatch } from 'app/store/store'; import { AccessControlAction } from 'app/types/accessControl'; diff --git a/public/app/features/explore/spec/datasourceState.test.tsx b/public/app/features/explore/spec/datasourceState.test.tsx index c8fffa5d499..4132e7f106e 100644 --- a/public/app/features/explore/spec/datasourceState.test.tsx +++ b/public/app/features/explore/spec/datasourceState.test.tsx @@ -24,9 +24,9 @@ jest.mock('react-virtualized-auto-sizer', () => { }); }); -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { - ...jest.requireActual('app/core/core').contextSrv, + ...jest.requireActual('app/core/services/context_srv').contextSrv, hasPermission: () => true, getValidIntervals: (defaultIntervals: string[]) => defaultIntervals, }, diff --git a/public/app/features/explore/spec/interpolation.test.tsx b/public/app/features/explore/spec/interpolation.test.tsx index 7e7c5b1effe..f8520afe280 100644 --- a/public/app/features/explore/spec/interpolation.test.tsx +++ b/public/app/features/explore/spec/interpolation.test.tsx @@ -15,9 +15,9 @@ jest.mock('@grafana/runtime', () => ({ getAppEvents: () => testEventBus, })); -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { - ...jest.requireActual('app/core/core').contextSrv, + ...jest.requireActual('app/core/services/context_srv').contextSrv, hasPermission: () => true, getValidIntervals: (defaultIntervals: string[]) => defaultIntervals, }, diff --git a/public/app/features/explore/spec/queryHistory.test.tsx b/public/app/features/explore/spec/queryHistory.test.tsx index 1e3d7b3a75d..ca67720d66f 100644 --- a/public/app/features/explore/spec/queryHistory.test.tsx +++ b/public/app/features/explore/spec/queryHistory.test.tsx @@ -50,7 +50,7 @@ jest.mock('@grafana/runtime', () => ({ usePluginLinks: jest.fn().mockReturnValue({ links: [] }), })); -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { hasPermission: () => true, isSignedIn: true, diff --git a/public/app/features/explore/spec/split.test.tsx b/public/app/features/explore/spec/split.test.tsx index a595195c4db..e114201108a 100644 --- a/public/app/features/explore/spec/split.test.tsx +++ b/public/app/features/explore/spec/split.test.tsx @@ -12,10 +12,10 @@ import { setupExplore, tearDown, waitForExplore } from './helper/setup'; const testEventBus = new EventBusSrv(); -jest.mock('app/core/core', () => { +jest.mock('app/core/services/context_srv', () => { return { contextSrv: { - ...jest.requireActual('app/core/core').contextSrv, + ...jest.requireActual('app/core/services/context_srv').contextSrv, hasPermission: () => true, getValidIntervals: (defaultIntervals: string[]) => defaultIntervals, }, diff --git a/public/app/features/explore/state/time.ts b/public/app/features/explore/state/time.ts index a63ce86c44d..aca449c50be 100644 --- a/public/app/features/explore/state/time.ts +++ b/public/app/features/explore/state/time.ts @@ -12,7 +12,7 @@ import { import { t } from '@grafana/i18n'; import { getTemplateSrv } from '@grafana/runtime'; import { RefreshPicker } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { getTimeRange, refreshIntervalToSortOrder, stopQueryState } from 'app/core/utils/explore'; import { getCopiedTimeRange, diff --git a/public/app/features/inspector/InspectJSONTab.tsx b/public/app/features/inspector/InspectJSONTab.tsx index 52ff402a702..176f13a436a 100644 --- a/public/app/features/inspector/InspectJSONTab.tsx +++ b/public/app/features/inspector/InspectJSONTab.tsx @@ -9,7 +9,7 @@ import { selectors } from '@grafana/e2e-selectors'; import { Trans, t } from '@grafana/i18n'; import { locationService } from '@grafana/runtime'; import { Button, CodeEditor, Field, Select, useStyles2 } from '@grafana/ui'; -import { appEvents } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { DashboardModel } from 'app/features/dashboard/state/DashboardModel'; import { PanelModel } from 'app/features/dashboard/state/PanelModel'; diff --git a/public/app/features/inspector/utils/utils.ts b/public/app/features/inspector/utils/utils.ts index 779f539d17f..cdb1c0bd0b3 100644 --- a/public/app/features/inspector/utils/utils.ts +++ b/public/app/features/inspector/utils/utils.ts @@ -1,5 +1,5 @@ import { AppEvents } from '@grafana/data'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; export function getPrettyJSON(obj: unknown): string { let r = ''; diff --git a/public/app/features/invites/SignupInvited.test.tsx b/public/app/features/invites/SignupInvited.test.tsx index b5aa3ee4315..74ab1c420be 100644 --- a/public/app/features/invites/SignupInvited.test.tsx +++ b/public/app/features/invites/SignupInvited.test.tsx @@ -6,7 +6,7 @@ import { backendSrv } from '../../core/services/backend_srv'; import { SignupInvitedPage } from './SignupInvited'; -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { user: { orgName: 'Invited to Org Name' }, }, diff --git a/public/app/features/invites/state/actions.ts b/public/app/features/invites/state/actions.ts index 72a40840bd6..8fc4df90f80 100644 --- a/public/app/features/invites/state/actions.ts +++ b/public/app/features/invites/state/actions.ts @@ -1,5 +1,5 @@ import { getBackendSrv } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { FormModel } from 'app/features/org/UserInviteForm'; import { AccessControlAction } from 'app/types/accessControl'; import { createAsyncThunk } from 'app/types/store'; diff --git a/public/app/features/live/dashboard/dashboardWatcher.ts b/public/app/features/live/dashboard/dashboardWatcher.ts index 5c831085af5..086147e67e7 100644 --- a/public/app/features/live/dashboard/dashboardWatcher.ts +++ b/public/app/features/live/dashboard/dashboardWatcher.ts @@ -11,7 +11,8 @@ import { LiveChannelScope, } from '@grafana/data'; import { getGrafanaLiveSrv, locationService } from '@grafana/runtime'; -import { appEvents, contextSrv } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; +import { contextSrv } from 'app/core/services/context_srv'; import { ShowModalReactEvent } from '../../../types/events'; import { getDashboardSrv } from '../../dashboard/services/DashboardSrv'; diff --git a/public/app/features/manage-dashboards/DashboardImportPage.tsx b/public/app/features/manage-dashboards/DashboardImportPage.tsx index 4652a4811bd..fd286a33f2f 100644 --- a/public/app/features/manage-dashboards/DashboardImportPage.tsx +++ b/public/app/features/manage-dashboards/DashboardImportPage.tsx @@ -23,7 +23,7 @@ import { Label, Stack, } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { Form } from 'app/core/components/Form/Form'; import { Page } from 'app/core/components/Page/Page'; import { GrafanaRouteComponentProps } from 'app/core/navigation/types'; diff --git a/public/app/features/org/OrgDetailsPage.test.tsx b/public/app/features/org/OrgDetailsPage.test.tsx index e34b245cd49..6967de1ec9b 100644 --- a/public/app/features/org/OrgDetailsPage.test.tsx +++ b/public/app/features/org/OrgDetailsPage.test.tsx @@ -10,11 +10,10 @@ import { backendSrv } from '../../core/services/backend_srv'; import { OrgDetailsPage, Props } from './OrgDetailsPage'; import { setOrganizationName } from './state/reducers'; -jest.mock('app/core/core', () => { +jest.mock('app/core/services/context_srv', () => { return { - ...jest.requireActual('app/core/core'), contextSrv: { - ...jest.requireActual('app/core/core').contextSrv, + ...jest.requireActual('app/core/services/context_srv').contextSrv, hasPermission: () => true, }, }; diff --git a/public/app/features/org/OrgDetailsPage.tsx b/public/app/features/org/OrgDetailsPage.tsx index bffc18ef3c7..c78a88779ff 100644 --- a/public/app/features/org/OrgDetailsPage.tsx +++ b/public/app/features/org/OrgDetailsPage.tsx @@ -3,10 +3,11 @@ import { ConnectedProps, connect } from 'react-redux'; import { t } from '@grafana/i18n'; import { Stack } from '@grafana/ui'; +import { appEvents } from 'app/core/app_events'; import { Page } from 'app/core/components/Page/Page'; import SharedPreferences from 'app/core/components/SharedPreferences/SharedPreferences'; -import { appEvents, contextSrv } from 'app/core/core'; import { getNavModel } from 'app/core/selectors/navModel'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { ShowConfirmModalEvent } from 'app/types/events'; import { StoreState } from 'app/types/store'; diff --git a/public/app/features/org/OrgProfile.test.tsx b/public/app/features/org/OrgProfile.test.tsx index 5dd2fa78f2c..0cf3a31aee2 100644 --- a/public/app/features/org/OrgProfile.test.tsx +++ b/public/app/features/org/OrgProfile.test.tsx @@ -3,7 +3,7 @@ import userEvent from '@testing-library/user-event'; import OrgProfile, { Props } from './OrgProfile'; -jest.mock('app/core/core', () => { +jest.mock('app/core/services/context_srv', () => { return { contextSrv: { hasPermission: () => true, diff --git a/public/app/features/org/OrgProfile.tsx b/public/app/features/org/OrgProfile.tsx index 46b5cfa0c9b..93d914894b5 100644 --- a/public/app/features/org/OrgProfile.tsx +++ b/public/app/features/org/OrgProfile.tsx @@ -1,7 +1,7 @@ import { Trans, t } from '@grafana/i18n'; import { Input, Field, FieldSet, Button } from '@grafana/ui'; import { Form } from 'app/core/components/Form/Form'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; export interface Props { diff --git a/public/app/features/org/UserInvitePage.tsx b/public/app/features/org/UserInvitePage.tsx index d43a8cf20d2..1ea34bd9a50 100644 --- a/public/app/features/org/UserInvitePage.tsx +++ b/public/app/features/org/UserInvitePage.tsx @@ -1,6 +1,6 @@ import { Trans, t } from '@grafana/i18n'; import { Page } from 'app/core/components/Page/Page'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import UserInviteForm from './UserInviteForm'; diff --git a/public/app/features/panel/components/PanelRenderer.tsx b/public/app/features/panel/components/PanelRenderer.tsx index 028b6533880..ae87c20749f 100644 --- a/public/app/features/panel/components/PanelRenderer.tsx +++ b/public/app/features/panel/components/PanelRenderer.tsx @@ -12,7 +12,7 @@ import { import { Trans } from '@grafana/i18n'; import { getTemplateSrv, PanelRendererProps } from '@grafana/runtime'; import { ErrorBoundaryAlert, useTheme2 } from '@grafana/ui'; -import { appEvents } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { importPanelPlugin, syncGetPanelPlugin } from '../../plugins/importPanelPlugin'; diff --git a/public/app/features/panel/panellinks/specs/link_srv.test.ts b/public/app/features/panel/panellinks/specs/link_srv.test.ts index d9795d45cb4..7fdb800ddc4 100644 --- a/public/app/features/panel/panellinks/specs/link_srv.test.ts +++ b/public/app/features/panel/panellinks/specs/link_srv.test.ts @@ -12,7 +12,7 @@ import { initTemplateSrv } from '../../../../../test/helpers/initTemplateSrv'; import { updateConfig } from '../../../../core/config'; import { getDataFrameVars, LinkSrv } from '../link_srv'; -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ appEvents: { subscribe: () => {}, }, diff --git a/public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithApp.test.tsx b/public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithApp.test.tsx index d544568c61c..ec3ba88c025 100644 --- a/public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithApp.test.tsx +++ b/public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithApp.test.tsx @@ -1,14 +1,14 @@ import { render, screen } from '@testing-library/react'; import { PluginSignatureStatus } from '@grafana/data'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { usePluginConfig } from '../../hooks/usePluginConfig'; import { CatalogPlugin } from '../../types'; import { GetStartedWithApp } from './GetStartedWithApp'; -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { hasPermission: jest.fn(), }, diff --git a/public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithApp.tsx b/public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithApp.tsx index f15eefad873..2e8798a09ce 100644 --- a/public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithApp.tsx +++ b/public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithApp.tsx @@ -4,7 +4,7 @@ import { PluginMeta } from '@grafana/data'; import { Trans } from '@grafana/i18n'; import { reportInteraction } from '@grafana/runtime'; import { Button } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { updatePluginSettings } from '../../api'; diff --git a/public/app/features/plugins/admin/components/InstallControls/InstallControlsButton.tsx b/public/app/features/plugins/admin/components/InstallControls/InstallControlsButton.tsx index 791cdc21227..ed18477228a 100644 --- a/public/app/features/plugins/admin/components/InstallControls/InstallControlsButton.tsx +++ b/public/app/features/plugins/admin/components/InstallControls/InstallControlsButton.tsx @@ -5,7 +5,7 @@ import { AppEvents } from '@grafana/data'; import { t, Trans } from '@grafana/i18n'; import { config, locationService, reportInteraction } from '@grafana/runtime'; import { Button, ConfirmModal, LinkButton, Stack } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { useQueryParams } from 'app/core/hooks/useQueryParams'; import { removePluginFromNavTree } from 'app/core/reducers/navBarTree'; import { isOpenSourceBuildOrUnlicenced } from 'app/features/admin/EnterpriseAuthFeaturesCard'; diff --git a/public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx b/public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx index 9a6f2a17177..93e21587f47 100644 --- a/public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx +++ b/public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx @@ -4,7 +4,7 @@ import { GrafanaTheme2, PluginType } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { config, featureEnabled } from '@grafana/runtime'; import { LinkButton, useStyles2, Alert, TextLink, Stack } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { isOpenSourceBuildOrUnlicenced } from 'app/features/admin/EnterpriseAuthFeaturesCard'; import { AccessControlAction } from 'app/types/accessControl'; diff --git a/public/app/features/plugins/admin/components/PluginDashboards.tsx b/public/app/features/plugins/admin/components/PluginDashboards.tsx index 8d5caba5861..8a051b7554d 100644 --- a/public/app/features/plugins/admin/components/PluginDashboards.tsx +++ b/public/app/features/plugins/admin/components/PluginDashboards.tsx @@ -4,7 +4,7 @@ import { PureComponent } from 'react'; import { AppEvents, PluginMeta, DataSourceApi } from '@grafana/data'; import { Trans } from '@grafana/i18n'; import { getBackendSrv } from '@grafana/runtime'; -import { appEvents } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import DashboardsTable from 'app/features/datasources/components/DashboardsTable'; import { PluginDashboard } from 'app/types/plugins'; diff --git a/public/app/features/plugins/admin/components/PluginSubtitle.test.tsx b/public/app/features/plugins/admin/components/PluginSubtitle.test.tsx index 113ec3fe54e..ce0c9f3bf7b 100644 --- a/public/app/features/plugins/admin/components/PluginSubtitle.test.tsx +++ b/public/app/features/plugins/admin/components/PluginSubtitle.test.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react'; import { PluginSignatureStatus } from '@grafana/data'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import * as runtime from '../state/hooks'; import { CatalogPlugin } from '../types'; diff --git a/public/app/features/plugins/admin/helpers.ts b/public/app/features/plugins/admin/helpers.ts index 10398e4430b..01552eb0399 100644 --- a/public/app/features/plugins/admin/helpers.ts +++ b/public/app/features/plugins/admin/helpers.ts @@ -2,7 +2,7 @@ import uFuzzy from '@leeoniya/ufuzzy'; import { PluginSignatureStatus, dateTimeParse, PluginError, PluginType, PluginErrorCode } from '@grafana/data'; import { config, featureEnabled } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { diff --git a/public/app/features/plugins/admin/hooks/usePluginDetailsTabs.test.tsx b/public/app/features/plugins/admin/hooks/usePluginDetailsTabs.test.tsx index 83a148a2647..67faba9d03f 100644 --- a/public/app/features/plugins/admin/hooks/usePluginDetailsTabs.test.tsx +++ b/public/app/features/plugins/admin/hooks/usePluginDetailsTabs.test.tsx @@ -13,7 +13,7 @@ jest.mock('react-router-dom-v5-compat', () => ({ jest.mock('./usePluginConfig'); -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { hasPermissionInMetadata: jest.fn(() => true), }, diff --git a/public/app/features/plugins/admin/hooks/usePluginDetailsTabs.tsx b/public/app/features/plugins/admin/hooks/usePluginDetailsTabs.tsx index 77ea7115922..ab616988e3f 100644 --- a/public/app/features/plugins/admin/hooks/usePluginDetailsTabs.tsx +++ b/public/app/features/plugins/admin/hooks/usePluginDetailsTabs.tsx @@ -4,7 +4,7 @@ import { useLocation } from 'react-router-dom-v5-compat'; import { GrafanaPlugin, NavModelItem, PluginIncludeType, PluginType } from '@grafana/data'; import { t } from '@grafana/i18n'; import { config } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { usePluginConfig } from '../hooks/usePluginConfig'; diff --git a/public/app/features/plugins/admin/pages/PluginDetails.test.tsx b/public/app/features/plugins/admin/pages/PluginDetails.test.tsx index a14e420cab8..65aa73e4383 100644 --- a/public/app/features/plugins/admin/pages/PluginDetails.test.tsx +++ b/public/app/features/plugins/admin/pages/PluginDetails.test.tsx @@ -38,9 +38,9 @@ jest.mock('@grafana/runtime', () => { jest.mock('../hooks/usePluginConfig.tsx', () => ({ usePluginConfig: jest.fn(() => ({ value: { meta: {} } })) })); -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { - ...jest.requireActual('app/core/core').contextSrv, + ...jest.requireActual('app/core/services/context_srv').contextSrv, hasPermission: (action: string) => true, hasPermissionInMetadata: (action: string, object: WithAccessControlMetadata) => true, }, diff --git a/public/app/features/plugins/admin/routes.tsx b/public/app/features/plugins/admin/routes.tsx index 6b85ddc14e7..1e554624afa 100644 --- a/public/app/features/plugins/admin/routes.tsx +++ b/public/app/features/plugins/admin/routes.tsx @@ -1,6 +1,6 @@ import { SafeDynamicImport } from 'app/core/components/DynamicImports/SafeDynamicImport'; -import { contextSrv } from 'app/core/core'; import { RouteDescriptor } from 'app/core/navigation/types'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { PluginAdminRoutes } from './types'; diff --git a/public/app/features/plugins/components/AppRootPage.tsx b/public/app/features/plugins/components/AppRootPage.tsx index 0a8d9efd9c0..1b46f33b091 100644 --- a/public/app/features/plugins/components/AppRootPage.tsx +++ b/public/app/features/plugins/components/AppRootPage.tsx @@ -17,12 +17,13 @@ import { import { Trans, t } from '@grafana/i18n'; import { config, locationSearchToObject } from '@grafana/runtime'; import { Alert, ErrorWithStack } from '@grafana/ui'; +import { appEvents } from 'app/core/app_events'; import { Page } from 'app/core/components/Page/Page'; import PageLoader from 'app/core/components/PageLoader/PageLoader'; import { EntityNotFound } from 'app/core/components/PageNotFound/EntityNotFound'; import { useGrafana } from 'app/core/context/GrafanaContext'; -import { appEvents, contextSrv } from 'app/core/core'; import { getNotFoundNav, getWarningNav, getExceptionNav } from 'app/core/navigation/errorModels'; +import { contextSrv } from 'app/core/services/context_srv'; import { getMessageFromError } from 'app/core/utils/errors'; import { diff --git a/public/app/features/plugins/datasource_srv.ts b/public/app/features/plugins/datasource_srv.ts index f330bb7f76e..693e904a7de 100644 --- a/public/app/features/plugins/datasource_srv.ts +++ b/public/app/features/plugins/datasource_srv.ts @@ -21,7 +21,7 @@ import { } from '@grafana/runtime'; import { ExpressionDatasourceRef, UserStorage } from '@grafana/runtime/internal'; import { DataQuery, DataSourceJsonData } from '@grafana/schema'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import config from 'app/core/config'; import { dataSource as expressionDatasource, diff --git a/public/app/features/plugins/extensions/utils.test.tsx b/public/app/features/plugins/extensions/utils.test.tsx index 6f8837f206d..2c1563f8f6c 100644 --- a/public/app/features/plugins/extensions/utils.test.tsx +++ b/public/app/features/plugins/extensions/utils.test.tsx @@ -3,7 +3,7 @@ import { type Unsubscribable } from 'rxjs'; import { dateTime, usePluginContext, PluginLoadingStrategy } from '@grafana/data'; import { config, AppPluginConfig } from '@grafana/runtime'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { ShowModalReactEvent } from 'app/types/events'; import { log } from './logs/log'; diff --git a/public/app/features/plugins/extensions/utils.tsx b/public/app/features/plugins/extensions/utils.tsx index a10460d786c..35feb659b6a 100644 --- a/public/app/features/plugins/extensions/utils.tsx +++ b/public/app/features/plugins/extensions/utils.tsx @@ -18,7 +18,7 @@ import { } from '@grafana/data'; import { reportInteraction, config, AppPluginConfig } from '@grafana/runtime'; import { Modal } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { getPluginSettings } from 'app/features/plugins/pluginSettings'; import { CloseExtensionSidebarEvent, diff --git a/public/app/features/plugins/loader/sharedDependencies.ts b/public/app/features/plugins/loader/sharedDependencies.ts index 5dcc08a7692..c83ac72f651 100644 --- a/public/app/features/plugins/loader/sharedDependencies.ts +++ b/public/app/features/plugins/loader/sharedDependencies.ts @@ -14,9 +14,10 @@ import * as grafanaRuntime from '@grafana/runtime'; // eslint-disable-next-line no-restricted-imports import * as grafanaUIraw from '@grafana/ui'; import TableModel from 'app/core/TableModel'; +import { appEvents } from 'app/core/app_events'; import config from 'app/core/config'; -import { appEvents, contextSrv } from 'app/core/core'; import { BackendSrv, getBackendSrv } from 'app/core/services/backend_srv'; +import { contextSrv } from 'app/core/services/context_srv'; import impressionSrv from 'app/core/services/impression_srv'; import TimeSeries from 'app/core/time_series2'; import { arrayMove } from 'app/core/utils/arrayMove'; diff --git a/public/app/features/plugins/sandbox/sandboxPluginLoaderRegistry.ts b/public/app/features/plugins/sandbox/sandboxPluginLoaderRegistry.ts index e85a4d08ceb..c3009212ea9 100644 --- a/public/app/features/plugins/sandbox/sandboxPluginLoaderRegistry.ts +++ b/public/app/features/plugins/sandbox/sandboxPluginLoaderRegistry.ts @@ -1,6 +1,6 @@ import { PluginSignatureType } from '@grafana/data'; import { config } from '@grafana/runtime'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { getPluginDetails } from '../admin/api'; import { getPluginSettings } from '../pluginSettings'; diff --git a/public/app/features/profile/state/reducers.ts b/public/app/features/profile/state/reducers.ts index fde01903007..10d7845435f 100644 --- a/public/app/features/profile/state/reducers.ts +++ b/public/app/features/profile/state/reducers.ts @@ -4,7 +4,7 @@ import { isEmpty, isString, set } from 'lodash'; import { dateTimeFormatTimeAgo, setWeekStart, TimeZone } from '@grafana/data'; import { getWeekStart, WeekStart } from '@grafana/ui'; import config from 'app/core/config'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { ThunkResult } from 'app/types/store'; import { Team } from 'app/types/teams'; import { UserDTO, UserOrg, UserSession } from 'app/types/user'; diff --git a/public/app/features/provisioning/hooks/useGetResourceRepositoryView.ts b/public/app/features/provisioning/hooks/useGetResourceRepositoryView.ts index 7f57c5c1231..d612be620dc 100644 --- a/public/app/features/provisioning/hooks/useGetResourceRepositoryView.ts +++ b/public/app/features/provisioning/hooks/useGetResourceRepositoryView.ts @@ -4,7 +4,7 @@ import { OrgRole } from '@grafana/data'; import { config } from '@grafana/runtime'; import { Folder, useGetFolderQuery } from 'app/api/clients/folder/v1beta1'; import { RepositoryView, useGetFrontendSettingsQuery } from 'app/api/clients/provisioning/v0alpha1'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AnnoKeyManagerIdentity } from 'app/features/apiserver/types'; import { RepoType } from '../Wizard/types'; diff --git a/public/app/features/provisioning/hooks/useIsProvisionedInstance.ts b/public/app/features/provisioning/hooks/useIsProvisionedInstance.ts index 7ee0b83a3ec..1c4ba12b8e4 100644 --- a/public/app/features/provisioning/hooks/useIsProvisionedInstance.ts +++ b/public/app/features/provisioning/hooks/useIsProvisionedInstance.ts @@ -3,7 +3,7 @@ import { skipToken } from '@reduxjs/toolkit/query'; import { OrgRole } from '@grafana/data'; import { config } from '@grafana/runtime'; import { RepositoryViewList, useGetFrontendSettingsQuery } from 'app/api/clients/provisioning/v0alpha1'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; export function useIsProvisionedInstance(settings?: RepositoryViewList) { const hasNoRole = contextSrv.user.orgRole === OrgRole.None; diff --git a/public/app/features/search/page/components/columns.tsx b/public/app/features/search/page/components/columns.tsx index 297771ce6eb..01add73d3fe 100644 --- a/public/app/features/search/page/components/columns.tsx +++ b/public/app/features/search/page/components/columns.tsx @@ -13,7 +13,7 @@ import { import { Trans, t } from '@grafana/i18n'; import { config, getDataSourceSrv } from '@grafana/runtime'; import { Checkbox, Icon, IconName, TagList, Text, Tooltip } from '@grafana/ui'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { formatDate, formatDuration } from 'app/core/internationalization/dates'; import { PluginIconName } from 'app/features/plugins/admin/types'; import { ShowModalReactEvent } from 'app/types/events'; diff --git a/public/app/features/search/service/unified.ts b/public/app/features/search/service/unified.ts index 7888730d36b..f7c75b82e6a 100644 --- a/public/app/features/search/service/unified.ts +++ b/public/app/features/search/service/unified.ts @@ -8,7 +8,7 @@ import { config, getBackendSrv } from '@grafana/runtime'; import { generatedAPI, ListStarsApiResponse } from 'app/api/clients/preferences/v1alpha1'; import { getAPIBaseURL } from 'app/api/utils'; import { TermCount } from 'app/core/components/TagFilter/TagFilter'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import kbn from 'app/core/utils/kbn'; import { dispatch } from 'app/store/store'; diff --git a/public/app/features/serviceaccounts/ServiceAccountCreatePage.test.tsx b/public/app/features/serviceaccounts/ServiceAccountCreatePage.test.tsx index 346d79d6e48..03b332d4728 100644 --- a/public/app/features/serviceaccounts/ServiceAccountCreatePage.test.tsx +++ b/public/app/features/serviceaccounts/ServiceAccountCreatePage.test.tsx @@ -33,7 +33,7 @@ jest.mock('@grafana/runtime', () => ({ }, })); -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { licensedAccessControlEnabled: () => false, hasPermission: () => true, diff --git a/public/app/features/serviceaccounts/ServiceAccountCreatePage.tsx b/public/app/features/serviceaccounts/ServiceAccountCreatePage.tsx index b65b380cebf..dff0a9c2a9c 100644 --- a/public/app/features/serviceaccounts/ServiceAccountCreatePage.tsx +++ b/public/app/features/serviceaccounts/ServiceAccountCreatePage.tsx @@ -10,7 +10,7 @@ import { Page } from 'app/core/components/Page/Page'; import { UserRolePicker } from 'app/core/components/RolePicker/UserRolePicker'; import { fetchRoleOptions, updateUserRoles } from 'app/core/components/RolePicker/api'; import { RolePickerSelect } from 'app/core/components/RolePickerDrawer/RolePickerSelect'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { Role, AccessControlAction } from 'app/types/accessControl'; import { ServiceAccountDTO, ServiceAccountCreateApiResponse } from 'app/types/serviceaccount'; diff --git a/public/app/features/serviceaccounts/ServiceAccountPage.test.tsx b/public/app/features/serviceaccounts/ServiceAccountPage.test.tsx index c1f768b525c..68b2d36bffc 100644 --- a/public/app/features/serviceaccounts/ServiceAccountPage.test.tsx +++ b/public/app/features/serviceaccounts/ServiceAccountPage.test.tsx @@ -8,9 +8,9 @@ import { ServiceAccountDTO } from 'app/types/serviceaccount'; import { ServiceAccountPageUnconnected, Props } from './ServiceAccountPage'; -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { - ...jest.requireActual('app/core/core').contextSrv, + ...jest.requireActual('app/core/services/context_srv').contextSrv, licensedAccessControlEnabled: () => false, hasPermission: () => true, hasPermissionInMetadata: () => false, diff --git a/public/app/features/serviceaccounts/ServiceAccountPage.tsx b/public/app/features/serviceaccounts/ServiceAccountPage.tsx index b21f6c9fe6d..12119d1e271 100644 --- a/public/app/features/serviceaccounts/ServiceAccountPage.tsx +++ b/public/app/features/serviceaccounts/ServiceAccountPage.tsx @@ -6,7 +6,7 @@ import { NavModelItem, getTimeZone } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { Button, ConfirmModal, IconButton, Stack } from '@grafana/ui'; import { Page } from 'app/core/components/Page/Page'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { ApiKey } from 'app/types/apiKeys'; import { ServiceAccountDTO } from 'app/types/serviceaccount'; diff --git a/public/app/features/serviceaccounts/ServiceAccountTable.tsx b/public/app/features/serviceaccounts/ServiceAccountTable.tsx index 8d7363fa37f..35f7b2da2b8 100644 --- a/public/app/features/serviceaccounts/ServiceAccountTable.tsx +++ b/public/app/features/serviceaccounts/ServiceAccountTable.tsx @@ -16,7 +16,7 @@ import { Icon, } from '@grafana/ui'; import { UserRolePicker } from 'app/core/components/RolePicker/UserRolePicker'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { Role, AccessControlAction } from 'app/types/accessControl'; import { ServiceAccountDTO } from 'app/types/serviceaccount'; diff --git a/public/app/features/serviceaccounts/ServiceAccountsListPage.test.tsx b/public/app/features/serviceaccounts/ServiceAccountsListPage.test.tsx index 1be6a388016..ebdeefcac1a 100644 --- a/public/app/features/serviceaccounts/ServiceAccountsListPage.test.tsx +++ b/public/app/features/serviceaccounts/ServiceAccountsListPage.test.tsx @@ -7,9 +7,9 @@ import { ServiceAccountStateFilter, ServiceAccountDTO } from 'app/types/servicea import { Props, ServiceAccountsListPageUnconnected } from './ServiceAccountsListPage'; -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { - ...jest.requireActual('app/core/core').contextSrv, + ...jest.requireActual('app/core/services/context_srv').contextSrv, licensedAccessControlEnabled: () => false, hasPermission: () => true, hasPermissionInMetadata: () => true, diff --git a/public/app/features/serviceaccounts/ServiceAccountsListPage.tsx b/public/app/features/serviceaccounts/ServiceAccountsListPage.tsx index 66dfefd41f7..68ee38b7c73 100644 --- a/public/app/features/serviceaccounts/ServiceAccountsListPage.tsx +++ b/public/app/features/serviceaccounts/ServiceAccountsListPage.tsx @@ -18,7 +18,7 @@ import { } from '@grafana/ui'; import { Page } from 'app/core/components/Page/Page'; import config from 'app/core/config'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { ServiceAccountStateFilter, ServiceAccountDTO } from 'app/types/serviceaccount'; import { StoreState } from 'app/types/store'; diff --git a/public/app/features/serviceaccounts/components/ServiceAccountProfile.tsx b/public/app/features/serviceaccounts/components/ServiceAccountProfile.tsx index 563d0d8b89d..0e15cc944b0 100644 --- a/public/app/features/serviceaccounts/components/ServiceAccountProfile.tsx +++ b/public/app/features/serviceaccounts/components/ServiceAccountProfile.tsx @@ -5,7 +5,7 @@ import { GrafanaTheme2, OrgRole, TimeZone, dateTimeFormat } from '@grafana/data' import { Trans, t } from '@grafana/i18n'; import { Label, TextLink, useStyles2 } from '@grafana/ui'; import { fetchRoleOptions } from 'app/core/components/RolePicker/api'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction, Role } from 'app/types/accessControl'; import { ServiceAccountDTO } from 'app/types/serviceaccount'; diff --git a/public/app/features/serviceaccounts/components/ServiceAccountRoleRow.tsx b/public/app/features/serviceaccounts/components/ServiceAccountRoleRow.tsx index 33a33229b87..0e7bbf57f5b 100644 --- a/public/app/features/serviceaccounts/components/ServiceAccountRoleRow.tsx +++ b/public/app/features/serviceaccounts/components/ServiceAccountRoleRow.tsx @@ -2,7 +2,7 @@ import { OrgRole } from '@grafana/data'; import { t } from '@grafana/i18n'; import { Label } from '@grafana/ui'; import { UserRolePicker } from 'app/core/components/RolePicker/UserRolePicker'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { OrgRolePicker } from 'app/features/admin/OrgRolePicker'; import { Role, AccessControlAction } from 'app/types/accessControl'; import { ServiceAccountDTO } from 'app/types/serviceaccount'; diff --git a/public/app/features/serviceaccounts/components/ServiceAccountsListItem.tsx b/public/app/features/serviceaccounts/components/ServiceAccountsListItem.tsx index 9bf659f1500..1643f7c7113 100644 --- a/public/app/features/serviceaccounts/components/ServiceAccountsListItem.tsx +++ b/public/app/features/serviceaccounts/components/ServiceAccountsListItem.tsx @@ -7,7 +7,7 @@ import { Trans, t } from '@grafana/i18n'; import { Button, Icon, IconButton, Stack, useStyles2 } from '@grafana/ui'; import { SkeletonComponent, attachSkeleton } from '@grafana/ui/unstable'; import { UserRolePicker } from 'app/core/components/RolePicker/UserRolePicker'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { OrgRolePicker } from 'app/features/admin/OrgRolePicker'; import { Role, AccessControlAction } from 'app/types/accessControl'; import { ServiceAccountDTO } from 'app/types/serviceaccount'; diff --git a/public/app/features/stars/hooks.ts b/public/app/features/stars/hooks.ts index 6c0aea29425..fa95eecd751 100644 --- a/public/app/features/stars/hooks.ts +++ b/public/app/features/stars/hooks.ts @@ -9,8 +9,8 @@ import { import { locationUtil } from '@grafana/data'; import { config } from '@grafana/runtime'; import { useAddStarMutation, useRemoveStarMutation, useListStarsQuery } from 'app/api/clients/preferences/v1alpha1'; -import { contextSrv } from 'app/core/core'; import { setStarred } from 'app/core/reducers/navBarTree'; +import { contextSrv } from 'app/core/services/context_srv'; import { dispatch } from 'app/store/store'; type StarItemArgs = { diff --git a/public/app/features/support-bundles/SupportBundles.tsx b/public/app/features/support-bundles/SupportBundles.tsx index b21604caae0..2f53b50d605 100644 --- a/public/app/features/support-bundles/SupportBundles.tsx +++ b/public/app/features/support-bundles/SupportBundles.tsx @@ -5,7 +5,7 @@ import { dateTimeFormat } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { LinkButton, Spinner, IconButton } from '@grafana/ui'; import { Page } from 'app/core/components/Page/Page'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { StoreState } from 'app/types/store'; diff --git a/public/app/features/teams/CreateTeam.tsx b/public/app/features/teams/CreateTeam.tsx index 256c557756d..050f7aefa1e 100644 --- a/public/app/features/teams/CreateTeam.tsx +++ b/public/app/features/teams/CreateTeam.tsx @@ -9,7 +9,7 @@ import { Page } from 'app/core/components/Page/Page'; import { TeamRolePicker } from 'app/core/components/RolePicker/TeamRolePicker'; import { updateTeamRoles } from 'app/core/components/RolePicker/api'; import { useRoleOptions } from 'app/core/components/RolePicker/hooks'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { Role, AccessControlAction } from 'app/types/accessControl'; import { TeamDTO } from 'app/types/teams'; diff --git a/public/app/features/teams/TeamSettings.test.tsx b/public/app/features/teams/TeamSettings.test.tsx index 1046cd61154..9d31644657a 100644 --- a/public/app/features/teams/TeamSettings.test.tsx +++ b/public/app/features/teams/TeamSettings.test.tsx @@ -3,8 +3,8 @@ import { render, screen, waitFor } from 'test/test-utils'; import { setBackendSrv } from '@grafana/runtime'; import { setupMockServer } from '@grafana/test-utils/server'; import { MOCK_TEAMS } from '@grafana/test-utils/unstable'; -import { contextSrv } from 'app/core/core'; import { backendSrv } from 'app/core/services/backend_srv'; +import { contextSrv } from 'app/core/services/context_srv'; import { Props, TeamSettings } from './TeamSettings'; diff --git a/public/app/features/teams/state/actions.ts b/public/app/features/teams/state/actions.ts index b6bd50a7c57..49c22c2c449 100644 --- a/public/app/features/teams/state/actions.ts +++ b/public/app/features/teams/state/actions.ts @@ -3,7 +3,7 @@ import { debounce } from 'lodash'; import { getBackendSrv } from '@grafana/runtime'; import { FetchDataArgs } from '@grafana/ui'; import { updateNavIndex } from 'app/core/actions'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { accessControlQueryParam } from 'app/core/utils/accessControl'; import { AccessControlAction } from 'app/types/accessControl'; import { ThunkResult } from 'app/types/store'; diff --git a/public/app/features/users/UsersActionBar.test.tsx b/public/app/features/users/UsersActionBar.test.tsx index 9e5e46f1494..ec58494b21e 100644 --- a/public/app/features/users/UsersActionBar.test.tsx +++ b/public/app/features/users/UsersActionBar.test.tsx @@ -6,7 +6,7 @@ import { config } from 'app/core/config'; import { Props, UsersActionBarUnconnected } from './UsersActionBar'; import { searchQueryChanged } from './state/reducers'; -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { hasPermission: () => true, }, diff --git a/public/app/features/users/UsersActionBar.tsx b/public/app/features/users/UsersActionBar.tsx index 18ab669a9f0..7c2d85339b1 100644 --- a/public/app/features/users/UsersActionBar.tsx +++ b/public/app/features/users/UsersActionBar.tsx @@ -4,7 +4,7 @@ import { Trans, t } from '@grafana/i18n'; import { reportInteraction } from '@grafana/runtime'; import { RadioButtonGroup, LinkButton, FilterInput, InlineField } from '@grafana/ui'; import config from 'app/core/config'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction } from 'app/types/accessControl'; import { StoreState } from 'app/types/store'; diff --git a/public/app/features/users/UsersListPage.test.tsx b/public/app/features/users/UsersListPage.test.tsx index 91dc6767767..eca8e230292 100644 --- a/public/app/features/users/UsersListPage.test.tsx +++ b/public/app/features/users/UsersListPage.test.tsx @@ -12,7 +12,7 @@ jest.mock('../../core/app_events', () => ({ emit: jest.fn(), })); -jest.mock('app/core/core', () => ({ +jest.mock('app/core/services/context_srv', () => ({ contextSrv: { user: { orgId: 1 }, hasPermission: () => false, diff --git a/public/app/features/users/UsersListPage.tsx b/public/app/features/users/UsersListPage.tsx index b362bf81621..427366949f8 100644 --- a/public/app/features/users/UsersListPage.tsx +++ b/public/app/features/users/UsersListPage.tsx @@ -4,7 +4,7 @@ import { connect, ConnectedProps } from 'react-redux'; import { OrgRole, renderMarkdown } from '@grafana/data'; import { Alert } from '@grafana/ui'; import { Page } from 'app/core/components/Page/Page'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { StoreState } from 'app/types/store'; import { OrgUser } from 'app/types/user'; diff --git a/public/app/features/users/state/actions.ts b/public/app/features/users/state/actions.ts index b13bf27e223..3f2fe252425 100644 --- a/public/app/features/users/state/actions.ts +++ b/public/app/features/users/state/actions.ts @@ -2,7 +2,7 @@ import { debounce } from 'lodash'; import { getBackendSrv } from '@grafana/runtime'; import { FetchDataArgs } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; +import { contextSrv } from 'app/core/services/context_srv'; import { accessControlQueryParam } from 'app/core/utils/accessControl'; import { AccessControlAction } from 'app/types/accessControl'; import { ThunkResult } from 'app/types/store'; diff --git a/public/app/features/variables/state/actions.ts b/public/app/features/variables/state/actions.ts index ffc45b6b939..a92193a0867 100644 --- a/public/app/features/variables/state/actions.ts +++ b/public/app/features/variables/state/actions.ts @@ -29,8 +29,8 @@ import { store } from 'app/store/store'; import { AppNotification } from 'app/types/appNotifications'; import { ThunkResult, StoreState } from 'app/types/store'; +import { appEvents } from '../../../core/app_events'; import { createErrorNotification } from '../../../core/copy/appNotification'; -import { appEvents } from '../../../core/core'; import { getBackendSrv } from '../../../core/services/backend_srv'; import { Graph, Node } from '../../../core/utils/dag'; import { getDatasourceSrv } from '../../plugins/datasource_srv'; diff --git a/public/app/features/variables/state/onTimeRangeUpdated.test.ts b/public/app/features/variables/state/onTimeRangeUpdated.test.ts index efed3f1b5ab..8a2fa9d2290 100644 --- a/public/app/features/variables/state/onTimeRangeUpdated.test.ts +++ b/public/app/features/variables/state/onTimeRangeUpdated.test.ts @@ -5,7 +5,7 @@ import { DashboardState } from 'app/types/dashboard'; import { reduxTester } from '../../../../test/core/redux/reduxTester'; import { silenceConsoleOutput } from '../../../../test/core/utils/silenceConsoleOutput'; -import { appEvents } from '../../../core/core'; +import { appEvents } from '../../../core/app_events'; import { notifyApp } from '../../../core/reducers/appNotification'; import { DashboardModel } from '../../dashboard/state/DashboardModel'; import { createDashboardModelFixture } from '../../dashboard/state/__fixtures__/dashboardFixtures'; diff --git a/public/app/plugins/datasource/grafana/utils.ts b/public/app/plugins/datasource/grafana/utils.ts index fad762c10f9..5ddc86075ea 100644 --- a/public/app/plugins/datasource/grafana/utils.ts +++ b/public/app/plugins/datasource/grafana/utils.ts @@ -1,5 +1,5 @@ import { DataFrame, DataFrameJSON, dataFrameToJSON } from '@grafana/data'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { GRAFANA_DATASOURCE_NAME } from 'app/features/alerting/unified/utils/datasource'; import { PanelModel } from 'app/features/dashboard/state/PanelModel'; import { ShowConfirmModalEvent } from 'app/types/events'; diff --git a/public/app/plugins/panel/annolist/AnnoListPanel.tsx b/public/app/plugins/panel/annolist/AnnoListPanel.tsx index 69c21cebdb1..de0baf6f375 100644 --- a/public/app/plugins/panel/annolist/AnnoListPanel.tsx +++ b/public/app/plugins/panel/annolist/AnnoListPanel.tsx @@ -16,7 +16,7 @@ import { Trans, t } from '@grafana/i18n'; import { config, getBackendSrv, locationService } from '@grafana/runtime'; import { Button, ScrollContainer, stylesFactory, TagList } from '@grafana/ui'; import { AbstractList } from '@grafana/ui/internal'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv'; import { AnnotationListItem } from './AnnotationListItem'; diff --git a/public/app/plugins/panel/canvas/editor/element/utils.ts b/public/app/plugins/panel/canvas/editor/element/utils.ts index e1ee7aa7da1..5ec8549a95a 100644 --- a/public/app/plugins/panel/canvas/editor/element/utils.ts +++ b/public/app/plugins/panel/canvas/editor/element/utils.ts @@ -1,6 +1,6 @@ import { AppEvents, textUtil } from '@grafana/data'; import { BackendSrvRequest, getBackendSrv, getTemplateSrv } from '@grafana/runtime'; -import { appEvents } from 'app/core/core'; +import { appEvents } from 'app/core/app_events'; import { createAbsoluteUrl, RelativeUrl } from 'app/features/alerting/unified/utils/url'; import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv'; diff --git a/public/app/plugins/panel/canvas/utils.ts b/public/app/plugins/panel/canvas/utils.ts index 01f7e10ccec..59953e9085a 100644 --- a/public/app/plugins/panel/canvas/utils.ts +++ b/public/app/plugins/panel/canvas/utils.ts @@ -2,7 +2,7 @@ import { isNumber, isString } from 'lodash'; import { DataFrame, Field, AppEvents, getFieldDisplayName, PluginState, SelectableValue } from '@grafana/data'; import { ConnectionDirection } from '@grafana/schema'; -import appEvents from 'app/core/app_events'; +import { appEvents } from 'app/core/app_events'; import { hasAlphaPanels, config } from 'app/core/config'; import { CanvasConnection, CanvasElementItem, CanvasElementOptions } from 'app/features/canvas/element'; import { notFoundItem } from 'app/features/canvas/elements/notFound'; diff --git a/public/app/plugins/panel/dashlist/utils.ts b/public/app/plugins/panel/dashlist/utils.ts index edf299ba675..0dad9ea7374 100644 --- a/public/app/plugins/panel/dashlist/utils.ts +++ b/public/app/plugins/panel/dashlist/utils.ts @@ -1,6 +1,6 @@ import { DataLinkBuiltInVars, PanelProps, urlUtil } from '@grafana/data'; -import { appEvents } from '../../../core/core'; +import { appEvents } from '../../../core/app_events'; import { useBusEvent } from '../../../core/hooks/useBusEvent'; import { VariablesChanged } from '../../../features/variables/types'; diff --git a/public/app/plugins/panel/gettingstarted/GettingStarted.tsx b/public/app/plugins/panel/gettingstarted/GettingStarted.tsx index 4c2af3c5a32..9990b48d615 100644 --- a/public/app/plugins/panel/gettingstarted/GettingStarted.tsx +++ b/public/app/plugins/panel/gettingstarted/GettingStarted.tsx @@ -6,8 +6,8 @@ import { PanelProps } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { config, reportInteraction } from '@grafana/runtime'; import { Button, Spinner, stylesFactory } from '@grafana/ui'; -import { contextSrv } from 'app/core/core'; import { backendSrv } from 'app/core/services/backend_srv'; +import { contextSrv } from 'app/core/services/context_srv'; import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv'; import { Step } from './components/Step'; diff --git a/public/test/jest-setup.ts b/public/test/jest-setup.ts index d0ccb095e24..c29aa333a89 100644 --- a/public/test/jest-setup.ts +++ b/public/test/jest-setup.ts @@ -8,8 +8,8 @@ import { TextEncoder, TextDecoder } from 'util'; jest.isolateModulesAsync(async () => { const { EventBusSrv } = await import('@grafana/data'); const testAppEvents = new EventBusSrv(); - jest.mock('../app/core/core', () => ({ - ...jest.requireActual('../app/core/core'), + jest.mock('../app/core/app_events', () => ({ + ...jest.requireActual('../app/core/app_events'), appEvents: testAppEvents, })); });