mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Chore: Resolved circular dependency warnings in grafana/ui (#74908)
* Resolved circual dependency warnings. * Fixed circular dependencies only 21 more to go. * Fixed the align issue. * fix betterer merge error * Update betterer results * Fix failing test * reverted changes for Table * removed utils updates. * fixed some more 'easy' circular dependencies issues. * Fixed incorrect imports. --------- Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
This commit is contained in:
parent
549acf09b1
commit
cfd3e552df
@ -4,9 +4,10 @@ import React, { ReactNode, useRef, useState } from 'react';
|
|||||||
|
|
||||||
import { GrafanaTheme2 } from '@grafana/data';
|
import { GrafanaTheme2 } from '@grafana/data';
|
||||||
|
|
||||||
import { Icon, Spinner } from '..';
|
|
||||||
import { useStyles2 } from '../../themes';
|
import { useStyles2 } from '../../themes';
|
||||||
import { getFocusStyles } from '../../themes/mixins';
|
import { getFocusStyles } from '../../themes/mixins';
|
||||||
|
import { Icon } from '../Icon/Icon';
|
||||||
|
import { Spinner } from '../Spinner/Spinner';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
label: ReactNode;
|
label: ReactNode;
|
||||||
|
@ -4,10 +4,11 @@ import React, { useEffect, useRef, useState } from 'react';
|
|||||||
import { GrafanaTheme2 } from '@grafana/data';
|
import { GrafanaTheme2 } from '@grafana/data';
|
||||||
import { selectors } from '@grafana/e2e-selectors';
|
import { selectors } from '@grafana/e2e-selectors';
|
||||||
|
|
||||||
import { HorizontalGroup, Input } from '..';
|
|
||||||
import { useStyles2 } from '../../themes';
|
import { useStyles2 } from '../../themes';
|
||||||
import { IconName } from '../../types/icon';
|
import { IconName } from '../../types/icon';
|
||||||
import { Button, ButtonVariant } from '../Button';
|
import { Button, ButtonVariant } from '../Button';
|
||||||
|
import { Input } from '../Input/Input';
|
||||||
|
import { HorizontalGroup } from '../Layout/Layout';
|
||||||
import { Modal } from '../Modal/Modal';
|
import { Modal } from '../Modal/Modal';
|
||||||
|
|
||||||
export interface ConfirmModalProps {
|
export interface ConfirmModalProps {
|
||||||
|
@ -9,13 +9,12 @@ import { Editor } from 'slate-react';
|
|||||||
|
|
||||||
import { DataLinkBuiltInVars, GrafanaTheme2, VariableOrigin, VariableSuggestion } from '@grafana/data';
|
import { DataLinkBuiltInVars, GrafanaTheme2, VariableOrigin, VariableSuggestion } from '@grafana/data';
|
||||||
|
|
||||||
import { makeValue } from '../../index';
|
|
||||||
import { SlatePrism } from '../../slate-plugins';
|
import { SlatePrism } from '../../slate-plugins';
|
||||||
import { useStyles2 } from '../../themes';
|
import { useStyles2 } from '../../themes';
|
||||||
import { SCHEMA } from '../../utils/slate';
|
import { SCHEMA, makeValue } from '../../utils/slate';
|
||||||
import CustomScrollbar from '../CustomScrollbar/CustomScrollbar';
|
import CustomScrollbar from '../CustomScrollbar/CustomScrollbar';
|
||||||
import { getInputStyles } from '../Input/Input';
|
import { getInputStyles } from '../Input/Input';
|
||||||
import { Portal } from '../index';
|
import { Portal } from '../Portal/Portal';
|
||||||
|
|
||||||
import { DataLinkSuggestions } from './DataLinkSuggestions';
|
import { DataLinkSuggestions } from './DataLinkSuggestions';
|
||||||
import { SelectionReference } from './SelectionReference';
|
import { SelectionReference } from './SelectionReference';
|
||||||
|
@ -6,7 +6,7 @@ import useClickAway from 'react-use/lib/useClickAway';
|
|||||||
import { VariableSuggestion, GrafanaTheme2 } from '@grafana/data';
|
import { VariableSuggestion, GrafanaTheme2 } from '@grafana/data';
|
||||||
|
|
||||||
import { useStyles2 } from '../../themes';
|
import { useStyles2 } from '../../themes';
|
||||||
import { List } from '../index';
|
import { List } from '../List/List';
|
||||||
|
|
||||||
interface DataLinkSuggestionsProps {
|
interface DataLinkSuggestionsProps {
|
||||||
activeRef?: React.RefObject<HTMLDivElement>;
|
activeRef?: React.RefObject<HTMLDivElement>;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
import { InlineField } from '../..';
|
import { InlineField } from '../../components/Forms/InlineField';
|
||||||
import { FormField } from '../FormField/FormField';
|
import { FormField } from '../FormField/FormField';
|
||||||
import { SecretFormField } from '../SecretFormField/SecretFormField';
|
import { SecretFormField } from '../SecretFormField/SecretFormField';
|
||||||
|
|
||||||
|
@ -9,9 +9,14 @@ import { useMedia } from 'react-use';
|
|||||||
|
|
||||||
import { dateTimeFormat, DateTime, dateTime, GrafanaTheme2, isDateTime } from '@grafana/data';
|
import { dateTimeFormat, DateTime, dateTime, GrafanaTheme2, isDateTime } from '@grafana/data';
|
||||||
|
|
||||||
import { Button, HorizontalGroup, Icon, InlineField, Input, Portal } from '../..';
|
|
||||||
import { useStyles2, useTheme2 } from '../../../themes';
|
import { useStyles2, useTheme2 } from '../../../themes';
|
||||||
|
import { Button } from '../../Button/Button';
|
||||||
|
import { InlineField } from '../../Forms/InlineField';
|
||||||
|
import { Icon } from '../../Icon/Icon';
|
||||||
|
import { Input } from '../../Input/Input';
|
||||||
|
import { HorizontalGroup } from '../../Layout/Layout';
|
||||||
import { getModalStyles } from '../../Modal/getModalStyles';
|
import { getModalStyles } from '../../Modal/getModalStyles';
|
||||||
|
import { Portal } from '../../Portal/Portal';
|
||||||
import { TimeOfDayPicker, POPUP_CLASS_NAME } from '../TimeOfDayPicker';
|
import { TimeOfDayPicker, POPUP_CLASS_NAME } from '../TimeOfDayPicker';
|
||||||
import { getBodyStyles } from '../TimeRangePicker/CalendarBody';
|
import { getBodyStyles } from '../TimeRangePicker/CalendarBody';
|
||||||
import { isValid } from '../utils';
|
import { isValid } from '../utils';
|
||||||
|
@ -4,10 +4,11 @@ import React from 'react';
|
|||||||
|
|
||||||
import { dateTime, DateTime, dateTimeAsMoment, GrafanaTheme2, isDateTimeInput } from '@grafana/data';
|
import { dateTime, DateTime, dateTimeAsMoment, GrafanaTheme2, isDateTimeInput } from '@grafana/data';
|
||||||
|
|
||||||
import { Icon, useStyles2 } from '../../index';
|
import { useStyles2 } from '../../themes/ThemeContext';
|
||||||
import { getFocusStyles } from '../../themes/mixins';
|
import { getFocusStyles } from '../../themes/mixins';
|
||||||
import { inputSizes } from '../Forms/commonStyles';
|
import { inputSizes } from '../Forms/commonStyles';
|
||||||
import { FormInputSize } from '../Forms/types';
|
import { FormInputSize } from '../Forms/types';
|
||||||
|
import { Icon } from '../Icon/Icon';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
onChange: (value: DateTime) => void;
|
onChange: (value: DateTime) => void;
|
||||||
|
@ -4,11 +4,11 @@ import React, { memo, useMemo, useState } from 'react';
|
|||||||
import { GrafanaTheme2, isDateTime, rangeUtil, RawTimeRange, TimeOption, TimeRange, TimeZone } from '@grafana/data';
|
import { GrafanaTheme2, isDateTime, rangeUtil, RawTimeRange, TimeOption, TimeRange, TimeZone } from '@grafana/data';
|
||||||
import { selectors } from '@grafana/e2e-selectors';
|
import { selectors } from '@grafana/e2e-selectors';
|
||||||
|
|
||||||
import { FilterInput } from '../..';
|
|
||||||
import { stylesFactory, useTheme2 } from '../../../themes';
|
import { stylesFactory, useTheme2 } from '../../../themes';
|
||||||
import { getFocusStyles } from '../../../themes/mixins';
|
import { getFocusStyles } from '../../../themes/mixins';
|
||||||
import { t, Trans } from '../../../utils/i18n';
|
import { t, Trans } from '../../../utils/i18n';
|
||||||
import { CustomScrollbar } from '../../CustomScrollbar/CustomScrollbar';
|
import { CustomScrollbar } from '../../CustomScrollbar/CustomScrollbar';
|
||||||
|
import { FilterInput } from '../../FilterInput/FilterInput';
|
||||||
import { Icon } from '../../Icon/Icon';
|
import { Icon } from '../../Icon/Icon';
|
||||||
|
|
||||||
import { TimePickerFooter } from './TimePickerFooter';
|
import { TimePickerFooter } from './TimePickerFooter';
|
||||||
|
@ -5,10 +5,12 @@ import React, { useCallback, useState } from 'react';
|
|||||||
import { getTimeZoneInfo, GrafanaTheme2, TimeZone } from '@grafana/data';
|
import { getTimeZoneInfo, GrafanaTheme2, TimeZone } from '@grafana/data';
|
||||||
import { selectors } from '@grafana/e2e-selectors';
|
import { selectors } from '@grafana/e2e-selectors';
|
||||||
|
|
||||||
import { Field, RadioButtonGroup, Select } from '../..';
|
|
||||||
import { stylesFactory, useTheme2 } from '../../../themes';
|
import { stylesFactory, useTheme2 } from '../../../themes';
|
||||||
import { t, Trans } from '../../../utils/i18n';
|
import { t, Trans } from '../../../utils/i18n';
|
||||||
import { Button } from '../../Button';
|
import { Button } from '../../Button';
|
||||||
|
import { Field } from '../../Forms/Field';
|
||||||
|
import { RadioButtonGroup } from '../../Forms/RadioButtonGroup/RadioButtonGroup';
|
||||||
|
import { Select } from '../../Select/Select';
|
||||||
import { TimeZonePicker } from '../TimeZonePicker';
|
import { TimeZonePicker } from '../TimeZonePicker';
|
||||||
import { TimeZoneDescription } from '../TimeZonePicker/TimeZoneDescription';
|
import { TimeZoneDescription } from '../TimeZonePicker/TimeZoneDescription';
|
||||||
import { TimeZoneOffset } from '../TimeZonePicker/TimeZoneOffset';
|
import { TimeZoneOffset } from '../TimeZonePicker/TimeZoneOffset';
|
||||||
|
@ -14,12 +14,13 @@ import {
|
|||||||
} from '@grafana/data';
|
} from '@grafana/data';
|
||||||
import { selectors } from '@grafana/e2e-selectors';
|
import { selectors } from '@grafana/e2e-selectors';
|
||||||
|
|
||||||
import { Icon, Tooltip } from '../..';
|
import { useStyles2 } from '../../../themes/ThemeContext';
|
||||||
import { useStyles2 } from '../../..';
|
|
||||||
import { t, Trans } from '../../../utils/i18n';
|
import { t, Trans } from '../../../utils/i18n';
|
||||||
import { Button } from '../../Button';
|
import { Button } from '../../Button';
|
||||||
import { Field } from '../../Forms/Field';
|
import { Field } from '../../Forms/Field';
|
||||||
|
import { Icon } from '../../Icon/Icon';
|
||||||
import { Input } from '../../Input/Input';
|
import { Input } from '../../Input/Input';
|
||||||
|
import { Tooltip } from '../../Tooltip/Tooltip';
|
||||||
import { isValid } from '../utils';
|
import { isValid } from '../utils';
|
||||||
|
|
||||||
import TimePickerCalendar from './TimePickerCalendar';
|
import TimePickerCalendar from './TimePickerCalendar';
|
||||||
|
@ -10,7 +10,7 @@ import { getFocusStyles } from '../../themes/mixins';
|
|||||||
import { ComponentSize } from '../../types/size';
|
import { ComponentSize } from '../../types/size';
|
||||||
import { trimFileName } from '../../utils/file';
|
import { trimFileName } from '../../utils/file';
|
||||||
import { getButtonStyles } from '../Button';
|
import { getButtonStyles } from '../Button';
|
||||||
import { Icon } from '../index';
|
import { Icon } from '../Icon/Icon';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
/** Callback function to handle uploaded file */
|
/** Callback function to handle uploaded file */
|
||||||
|
@ -2,7 +2,7 @@ import { Placement } from '@popperjs/core';
|
|||||||
import { uniqueId } from 'lodash';
|
import { uniqueId } from 'lodash';
|
||||||
import React, { PureComponent } from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
|
|
||||||
import { Icon } from '../../..';
|
import { Icon } from '../../../Icon/Icon';
|
||||||
import { Tooltip } from '../../../Tooltip/Tooltip';
|
import { Tooltip } from '../../../Tooltip/Tooltip';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
|
@ -5,7 +5,7 @@ import { GrafanaTheme2, LinkTarget } from '@grafana/data';
|
|||||||
|
|
||||||
import { useStyles2 } from '../../themes';
|
import { useStyles2 } from '../../themes';
|
||||||
import { getFocusStyles } from '../../themes/mixins';
|
import { getFocusStyles } from '../../themes/mixins';
|
||||||
import { IconName } from '../../types';
|
import { IconName } from '../../types/icon';
|
||||||
import { Icon } from '../Icon/Icon';
|
import { Icon } from '../Icon/Icon';
|
||||||
|
|
||||||
import { SubMenu } from './SubMenu';
|
import { SubMenu } from './SubMenu';
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
import { ErrorWithStack, LoadingPlaceholder } from '..';
|
|
||||||
import { useAsyncDependency } from '../../utils/useAsyncDependency';
|
import { useAsyncDependency } from '../../utils/useAsyncDependency';
|
||||||
|
import { ErrorWithStack } from '../ErrorBoundary/ErrorWithStack';
|
||||||
|
import { LoadingPlaceholder } from '../LoadingPlaceholder/LoadingPlaceholder';
|
||||||
|
|
||||||
// we only use import type so it will not be included in the bundle
|
// we only use import type so it will not be included in the bundle
|
||||||
import type { ReactMonacoEditorProps } from './types';
|
import type { ReactMonacoEditorProps } from './types';
|
||||||
|
@ -4,12 +4,13 @@ import React, { ReactNode } from 'react';
|
|||||||
import { GrafanaTheme2 } from '@grafana/data';
|
import { GrafanaTheme2 } from '@grafana/data';
|
||||||
import { selectors } from '@grafana/e2e-selectors';
|
import { selectors } from '@grafana/e2e-selectors';
|
||||||
|
|
||||||
import { Link, ToolbarButtonRow } from '..';
|
|
||||||
import { useStyles2 } from '../../themes/ThemeContext';
|
import { useStyles2 } from '../../themes/ThemeContext';
|
||||||
import { getFocusStyles } from '../../themes/mixins';
|
import { getFocusStyles } from '../../themes/mixins';
|
||||||
import { IconName } from '../../types';
|
import { IconName } from '../../types';
|
||||||
import { Icon } from '../Icon/Icon';
|
import { Icon } from '../Icon/Icon';
|
||||||
import { IconButton } from '../IconButton/IconButton';
|
import { IconButton } from '../IconButton/IconButton';
|
||||||
|
import { Link } from '../Link/Link';
|
||||||
|
import { ToolbarButtonRow } from '../ToolbarButton/ToolbarButtonRow';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
pageIcon?: IconName;
|
pageIcon?: IconName;
|
||||||
|
@ -14,7 +14,7 @@ import {
|
|||||||
|
|
||||||
import { AdHocFilterItem } from '../Table/types';
|
import { AdHocFilterItem } from '../Table/types';
|
||||||
|
|
||||||
import { SeriesVisibilityChangeMode } from '.';
|
import { SeriesVisibilityChangeMode } from './types';
|
||||||
|
|
||||||
/** @alpha */
|
/** @alpha */
|
||||||
export interface PanelContext {
|
export interface PanelContext {
|
||||||
|
@ -9,15 +9,6 @@ import { Editor, EventHook, Plugin } from 'slate-react';
|
|||||||
import { GrafanaTheme2 } from '@grafana/data';
|
import { GrafanaTheme2 } from '@grafana/data';
|
||||||
import { selectors } from '@grafana/e2e-selectors';
|
import { selectors } from '@grafana/e2e-selectors';
|
||||||
|
|
||||||
import {
|
|
||||||
makeValue,
|
|
||||||
SCHEMA,
|
|
||||||
CompletionItemGroup,
|
|
||||||
TypeaheadOutput,
|
|
||||||
TypeaheadInput,
|
|
||||||
SuggestionsState,
|
|
||||||
Themeable2,
|
|
||||||
} from '../..';
|
|
||||||
import {
|
import {
|
||||||
ClearPlugin,
|
ClearPlugin,
|
||||||
NewlinePlugin,
|
NewlinePlugin,
|
||||||
@ -29,6 +20,9 @@ import {
|
|||||||
} from '../../slate-plugins';
|
} from '../../slate-plugins';
|
||||||
import { withTheme2 } from '../../themes';
|
import { withTheme2 } from '../../themes';
|
||||||
import { getFocusStyles } from '../../themes/mixins';
|
import { getFocusStyles } from '../../themes/mixins';
|
||||||
|
import { CompletionItemGroup, SuggestionsState, TypeaheadInput, TypeaheadOutput } from '../../types/completion';
|
||||||
|
import { Themeable2 } from '../../types/theme';
|
||||||
|
import { makeValue, SCHEMA } from '../../utils/slate';
|
||||||
|
|
||||||
export interface QueryFieldProps extends Themeable2 {
|
export interface QueryFieldProps extends Themeable2 {
|
||||||
additionalPlugins?: Plugin[];
|
additionalPlugins?: Plugin[];
|
||||||
|
@ -7,9 +7,10 @@ import { SelectableValue } from '@grafana/data';
|
|||||||
import { useStyles2 } from '../../themes';
|
import { useStyles2 } from '../../themes';
|
||||||
import { InlineLabel } from '../Forms/InlineLabel';
|
import { InlineLabel } from '../Forms/InlineLabel';
|
||||||
|
|
||||||
|
import { SegmentSelect } from './SegmentSelect';
|
||||||
import { getSegmentStyles } from './styles';
|
import { getSegmentStyles } from './styles';
|
||||||
|
import { SegmentProps } from './types';
|
||||||
import { SegmentSelect, useExpandableLabel, SegmentProps } from './';
|
import { useExpandableLabel } from './useExpandableLabel';
|
||||||
|
|
||||||
export interface SegmentSyncProps<T> extends SegmentProps, Omit<HTMLProps<HTMLDivElement>, 'value' | 'onChange'> {
|
export interface SegmentSyncProps<T> extends SegmentProps, Omit<HTMLProps<HTMLDivElement>, 'value' | 'onChange'> {
|
||||||
value?: T | SelectableValue<T>;
|
value?: T | SelectableValue<T>;
|
||||||
|
@ -12,8 +12,8 @@ import { InlineLabel } from '../Forms/InlineLabel';
|
|||||||
|
|
||||||
import { SegmentSelect } from './SegmentSelect';
|
import { SegmentSelect } from './SegmentSelect';
|
||||||
import { getSegmentStyles } from './styles';
|
import { getSegmentStyles } from './styles';
|
||||||
|
import { SegmentProps } from './types';
|
||||||
import { useExpandableLabel, SegmentProps } from '.';
|
import { useExpandableLabel } from './useExpandableLabel';
|
||||||
|
|
||||||
export interface SegmentAsyncProps<T> extends SegmentProps, Omit<HTMLProps<HTMLDivElement>, 'value' | 'onChange'> {
|
export interface SegmentAsyncProps<T> extends SegmentProps, Omit<HTMLProps<HTMLDivElement>, 'value' | 'onChange'> {
|
||||||
value?: T | SelectableValue<T>;
|
value?: T | SelectableValue<T>;
|
||||||
|
@ -7,8 +7,8 @@ import { measureText } from '../../utils/measureText';
|
|||||||
import { InlineLabel } from '../Forms/InlineLabel';
|
import { InlineLabel } from '../Forms/InlineLabel';
|
||||||
|
|
||||||
import { getSegmentStyles } from './styles';
|
import { getSegmentStyles } from './styles';
|
||||||
|
import { SegmentProps } from './types';
|
||||||
import { useExpandableLabel, SegmentProps } from '.';
|
import { useExpandableLabel } from './useExpandableLabel';
|
||||||
|
|
||||||
export interface SegmentInputProps
|
export interface SegmentInputProps
|
||||||
extends Omit<SegmentProps, 'allowCustomValue' | 'allowEmptyValue'>,
|
extends Omit<SegmentProps, 'allowCustomValue' | 'allowEmptyValue'>,
|
||||||
|
@ -3,8 +3,11 @@ import React, { useState } from 'react';
|
|||||||
|
|
||||||
import { SelectableValue, GrafanaTheme2 } from '@grafana/data';
|
import { SelectableValue, GrafanaTheme2 } from '@grafana/data';
|
||||||
|
|
||||||
import { IconName, TabsBar, Tab, IconButton, CustomScrollbar, TabContent } from '../..';
|
import { IconButton } from '../../components/IconButton/IconButton';
|
||||||
|
import { TabsBar, Tab, TabContent } from '../../components/Tabs';
|
||||||
import { stylesFactory, useTheme2 } from '../../themes';
|
import { stylesFactory, useTheme2 } from '../../themes';
|
||||||
|
import { IconName } from '../../types/icon';
|
||||||
|
import { CustomScrollbar } from '../CustomScrollbar/CustomScrollbar';
|
||||||
|
|
||||||
export interface TabConfig {
|
export interface TabConfig {
|
||||||
label: string;
|
label: string;
|
||||||
|
3
packages/grafana-ui/src/components/Tabs/index.ts
Normal file
3
packages/grafana-ui/src/components/Tabs/index.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export { Tab } from './Tab';
|
||||||
|
export { TabsBar } from './TabsBar';
|
||||||
|
export { TabContent } from './TabContent';
|
@ -1,4 +1,4 @@
|
|||||||
import { SeriesVisibilityChangeMode } from '..';
|
import { SeriesVisibilityChangeMode } from '../PanelChrome/types';
|
||||||
|
|
||||||
export function mapMouseEventToMode(event: React.MouseEvent): SeriesVisibilityChangeMode {
|
export function mapMouseEventToMode(event: React.MouseEvent): SeriesVisibilityChangeMode {
|
||||||
if (event.ctrlKey || event.metaKey || event.shiftKey) {
|
if (event.ctrlKey || event.metaKey || event.shiftKey) {
|
||||||
|
@ -9,7 +9,11 @@ import {
|
|||||||
} from '@grafana/data';
|
} from '@grafana/data';
|
||||||
import { AxisColorMode, AxisConfig, AxisPlacement, ScaleDistribution, ScaleDistributionConfig } from '@grafana/schema';
|
import { AxisColorMode, AxisConfig, AxisPlacement, ScaleDistribution, ScaleDistributionConfig } from '@grafana/schema';
|
||||||
|
|
||||||
import { graphFieldOptions, Select, RadioButtonGroup, Input, Field } from '../../index';
|
import { Field } from '../../components/Forms/Field';
|
||||||
|
import { RadioButtonGroup } from '../../components/Forms/RadioButtonGroup/RadioButtonGroup';
|
||||||
|
import { Input } from '../../components/Input/Input';
|
||||||
|
import { Select } from '../../components/Select/Select';
|
||||||
|
import { graphFieldOptions } from '../../components/uPlot/config';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @alpha
|
* @alpha
|
||||||
|
@ -4,7 +4,8 @@ import React, { useCallback } from 'react';
|
|||||||
import { FieldConfigEditorBuilder, FieldConfigEditorProps } from '@grafana/data';
|
import { FieldConfigEditorBuilder, FieldConfigEditorProps } from '@grafana/data';
|
||||||
import { HideableFieldConfig, HideSeriesConfig } from '@grafana/schema';
|
import { HideableFieldConfig, HideSeriesConfig } from '@grafana/schema';
|
||||||
|
|
||||||
import { FilterPill, HorizontalGroup } from '../../index';
|
import { FilterPill } from '../../components/FilterPill/FilterPill';
|
||||||
|
import { HorizontalGroup } from '../../components/Layout/Layout';
|
||||||
|
|
||||||
const SeriesConfigEditor = ({ value, onChange }: FieldConfigEditorProps<HideSeriesConfig, {}>) => {
|
const SeriesConfigEditor = ({ value, onChange }: FieldConfigEditorProps<HideSeriesConfig, {}>) => {
|
||||||
const onChangeToggle = useCallback(
|
const onChangeToggle = useCallback(
|
||||||
|
@ -6,9 +6,13 @@ import {
|
|||||||
FieldType,
|
FieldType,
|
||||||
identityOverrideProcessor,
|
identityOverrideProcessor,
|
||||||
} from '@grafana/data';
|
} from '@grafana/data';
|
||||||
import { StackingConfig, StackingMode } from '@grafana/schema';
|
import { GraphFieldConfig, StackingConfig, StackingMode } from '@grafana/schema';
|
||||||
|
|
||||||
import { GraphFieldConfig, graphFieldOptions, HorizontalGroup, IconButton, Input, RadioButtonGroup } from '../..';
|
import { RadioButtonGroup } from '../../components/Forms/RadioButtonGroup/RadioButtonGroup';
|
||||||
|
import { IconButton } from '../../components/IconButton/IconButton';
|
||||||
|
import { Input } from '../../components/Input/Input';
|
||||||
|
import { HorizontalGroup } from '../../components/Layout/Layout';
|
||||||
|
import { graphFieldOptions } from '../../components/uPlot/config';
|
||||||
|
|
||||||
export const StackingEditor = ({ value, context, onChange, item }: FieldOverrideEditorProps<StackingConfig, any>) => {
|
export const StackingEditor = ({ value, context, onChange, item }: FieldOverrideEditorProps<StackingConfig, any>) => {
|
||||||
return (
|
return (
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Global } from '@emotion/react';
|
import { Global } from '@emotion/react';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
import { useTheme2 } from '..';
|
import { useTheme2 } from '../ThemeContext';
|
||||||
|
|
||||||
import { getAgularPanelStyles } from './angularPanelStyles';
|
import { getAgularPanelStyles } from './angularPanelStyles';
|
||||||
import { getCardStyles } from './card';
|
import { getCardStyles } from './card';
|
||||||
|
Loading…
Reference in New Issue
Block a user