mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import * Fix the lint:ts npm command * Autofix + prettier all the files * Manually fix remaining files * Move jquery code in jest-setup to external file to safely reorder imports * Resolve issue caused by circular dependencies within Prometheus * Update .betterer.results * Fix missing // @ts-ignore * ignore iconBundle.ts * Fix missing // @ts-ignore
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import React, { FC } from 'react';
|
||||
|
||||
import { Button, FilterInput } from '@grafana/ui';
|
||||
|
||||
interface Props {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import React from 'react';
|
||||
import { shallow } from 'enzyme';
|
||||
import { shallow } from 'enzyme';
|
||||
import React from 'react';
|
||||
|
||||
import { ApiKeysAddedModal, Props } from './ApiKeysAddedModal';
|
||||
|
||||
const setup = (propOverrides?: object) => {
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import React, { useCallback } from 'react';
|
||||
import { css } from '@emotion/css';
|
||||
import { Alert, Field, Modal, useStyles2, Input, Icon, ClipboardButton } from '@grafana/ui';
|
||||
import { css } from '@emotion/css';
|
||||
import React, { useCallback } from 'react';
|
||||
|
||||
import { GrafanaTheme2 } from '@grafana/data';
|
||||
import { Alert, Field, Modal, useStyles2, Input, Icon, ClipboardButton } from '@grafana/ui';
|
||||
|
||||
import { notifyApp } from '../../core/actions';
|
||||
import { dispatch } from '../../store/store';
|
||||
import { createSuccessNotification } from '../../core/copy/appNotification';
|
||||
import { dispatch } from '../../store/store';
|
||||
|
||||
export interface Props {
|
||||
onDismiss: () => void;
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import React, { ChangeEvent, FC, FormEvent, useEffect, useState } from 'react';
|
||||
import { EventsWithValidation, LegacyForms, ValidationEvents, Button, Select, InlineField } from '@grafana/ui';
|
||||
import { NewApiKey, OrgRole } from '../../types';
|
||||
|
||||
import { rangeUtil, SelectableValue } from '@grafana/data';
|
||||
import { SlideDown } from '../../core/components/Animations/SlideDown';
|
||||
import { EventsWithValidation, LegacyForms, ValidationEvents, Button, Select, InlineField } from '@grafana/ui';
|
||||
import { CloseButton } from 'app/core/components/CloseButton/CloseButton';
|
||||
|
||||
import { SlideDown } from '../../core/components/Animations/SlideDown';
|
||||
import { NewApiKey, OrgRole } from '../../types';
|
||||
|
||||
const { Input } = LegacyForms;
|
||||
const ROLE_OPTIONS: Array<SelectableValue<OrgRole>> = Object.keys(OrgRole).map((role) => ({
|
||||
label: role,
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
import React from 'react';
|
||||
import { render, screen, within } from '@testing-library/react';
|
||||
import { ApiKeysPageUnconnected, Props } from './ApiKeysPage';
|
||||
import { ApiKey, OrgRole } from 'app/types';
|
||||
import { NavModel } from '@grafana/data';
|
||||
import { setSearchQuery } from './state/reducers';
|
||||
import { mockToolkitActionCreator } from '../../../test/core/redux/mocks';
|
||||
import { getMultipleMockKeys } from './__mocks__/apiKeysMock';
|
||||
import { selectors } from '@grafana/e2e-selectors';
|
||||
import userEvent, { PointerEventsCheckLevel } from '@testing-library/user-event';
|
||||
import React from 'react';
|
||||
|
||||
import { NavModel } from '@grafana/data';
|
||||
import { selectors } from '@grafana/e2e-selectors';
|
||||
import { ApiKey, OrgRole } from 'app/types';
|
||||
|
||||
import { mockToolkitActionCreator } from '../../../test/core/redux/mocks';
|
||||
import { silenceConsoleOutput } from '../../../test/core/utils/silenceConsoleOutput';
|
||||
|
||||
import { ApiKeysPageUnconnected, Props } from './ApiKeysPage';
|
||||
import { getMultipleMockKeys } from './__mocks__/apiKeysMock';
|
||||
import { setSearchQuery } from './state/reducers';
|
||||
|
||||
const setup = (propOverrides: Partial<Props>) => {
|
||||
const loadApiKeysMock = jest.fn();
|
||||
const deleteApiKeyMock = jest.fn();
|
||||
|
||||
@@ -1,25 +1,27 @@
|
||||
import React, { PureComponent } from 'react';
|
||||
import { connect, ConnectedProps } from 'react-redux';
|
||||
|
||||
// Utils
|
||||
import { AccessControlAction, ApiKey, NewApiKey, StoreState } from 'app/types';
|
||||
import { getNavModel } from 'app/core/selectors/navModel';
|
||||
import { getApiKeys, getApiKeysCount, getIncludeExpired, getIncludeExpiredDisabled } from './state/selectors';
|
||||
import { addApiKey, deleteApiKey, loadApiKeys, toggleIncludeExpired } from './state/actions';
|
||||
import Page from 'app/core/components/Page/Page';
|
||||
import { ApiKeysAddedModal } from './ApiKeysAddedModal';
|
||||
import config from 'app/core/config';
|
||||
import { rangeUtil } from '@grafana/data';
|
||||
import { InlineField, InlineSwitch, VerticalGroup } from '@grafana/ui';
|
||||
import appEvents from 'app/core/app_events';
|
||||
import EmptyListCTA from 'app/core/components/EmptyListCTA/EmptyListCTA';
|
||||
import { InlineField, InlineSwitch, VerticalGroup } from '@grafana/ui';
|
||||
import { rangeUtil } from '@grafana/data';
|
||||
import { getTimeZone } from 'app/features/profile/state/selectors';
|
||||
import { setSearchQuery } from './state/reducers';
|
||||
import { ApiKeysForm } from './ApiKeysForm';
|
||||
import { ApiKeysActionBar } from './ApiKeysActionBar';
|
||||
import { ApiKeysTable } from './ApiKeysTable';
|
||||
import { ApiKeysController } from './ApiKeysController';
|
||||
import { ShowModalReactEvent } from 'app/types/events';
|
||||
import Page from 'app/core/components/Page/Page';
|
||||
import config from 'app/core/config';
|
||||
import { contextSrv } from 'app/core/core';
|
||||
import { getNavModel } from 'app/core/selectors/navModel';
|
||||
import { getTimeZone } from 'app/features/profile/state/selectors';
|
||||
import { AccessControlAction, ApiKey, NewApiKey, StoreState } from 'app/types';
|
||||
import { ShowModalReactEvent } from 'app/types/events';
|
||||
|
||||
import { ApiKeysActionBar } from './ApiKeysActionBar';
|
||||
import { ApiKeysAddedModal } from './ApiKeysAddedModal';
|
||||
import { ApiKeysController } from './ApiKeysController';
|
||||
import { ApiKeysForm } from './ApiKeysForm';
|
||||
import { ApiKeysTable } from './ApiKeysTable';
|
||||
import { addApiKey, deleteApiKey, loadApiKeys, toggleIncludeExpired } from './state/actions';
|
||||
import { setSearchQuery } from './state/reducers';
|
||||
import { getApiKeys, getApiKeysCount, getIncludeExpired, getIncludeExpiredDisabled } from './state/selectors';
|
||||
|
||||
function mapStateToProps(state: StoreState) {
|
||||
const canRead = contextSrv.hasAccess(AccessControlAction.ActionAPIKeysRead, true);
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import { css } from '@emotion/css';
|
||||
import React, { FC } from 'react';
|
||||
import { DeleteButton, Icon, IconName, Tooltip, useTheme2 } from '@grafana/ui';
|
||||
|
||||
import { dateTimeFormat, GrafanaTheme2, TimeZone } from '@grafana/data';
|
||||
import { DeleteButton, Icon, IconName, Tooltip, useTheme2 } from '@grafana/ui';
|
||||
|
||||
import { ApiKey } from '../../types';
|
||||
import { css } from '@emotion/css';
|
||||
|
||||
interface Props {
|
||||
apiKeys: ApiKey[];
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { getBackendSrv } from 'app/core/services/backend_srv';
|
||||
import { ApiKey, ThunkResult } from 'app/types';
|
||||
|
||||
import { apiKeysLoaded, includeExpiredToggled, isFetching, setSearchQuery } from './reducers';
|
||||
|
||||
export function addApiKey(apiKey: ApiKey, openModal: (key: string) => void): ThunkResult<void> {
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
import {
|
||||
import { reducerTester } from '../../../../test/core/redux/reducerTester';
|
||||
import { ApiKeysState } from '../../../types';
|
||||
import { getMultipleMockKeys } from '../__mocks__/apiKeysMock';
|
||||
|
||||
import {
|
||||
apiKeysLoaded,
|
||||
apiKeysReducer,
|
||||
includeExpiredToggled,
|
||||
@@ -6,9 +10,6 @@
|
||||
isFetching,
|
||||
setSearchQuery,
|
||||
} from './reducers';
|
||||
import { getMultipleMockKeys } from '../__mocks__/apiKeysMock';
|
||||
import { reducerTester } from '../../../../test/core/redux/reducerTester';
|
||||
import { ApiKeysState } from '../../../types';
|
||||
|
||||
describe('API Keys reducer', () => {
|
||||
it('should set keys', () => {
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { getApiKeys, getApiKeysCount, getIncludeExpired, getIncludeExpiredDisabled } from './selectors';
|
||||
import { ApiKeysState } from 'app/types';
|
||||
|
||||
import { getMultipleMockKeys } from '../__mocks__/apiKeysMock';
|
||||
import { ApiKeysState } from 'app/types';
|
||||
|
||||
import { getApiKeys, getApiKeysCount, getIncludeExpired, getIncludeExpiredDisabled } from './selectors';
|
||||
|
||||
describe('API Keys selectors', () => {
|
||||
const mockKeys = getMultipleMockKeys(5);
|
||||
|
||||
Reference in New Issue
Block a user