diff --git a/.betterer.results b/.betterer.results index 60ca53d69cf..a5ae922b47a 100644 --- a/.betterer.results +++ b/.betterer.results @@ -2883,9 +2883,6 @@ exports[`better eslint`] = { [0, 0, 0, "Unexpected any. Specify a different type.", "3"], [0, 0, 0, "Unexpected any. Specify a different type.", "4"] ], - "public/app/features/playlist/PlaylistTableRows.tsx:5381": [ - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"] - ], "public/app/features/plugins/admin/components/AppConfigWrapper.tsx:5381": [ [0, 0, 0, "Unexpected any. Specify a different type.", "0"], [0, 0, 0, "Unexpected any. Specify a different type.", "1"] diff --git a/packages/grafana-ui/src/components/Card/Card.test.tsx b/packages/grafana-ui/src/components/Card/Card.test.tsx index 87e3c5fff6d..ec7c673faa0 100644 --- a/packages/grafana-ui/src/components/Card/Card.test.tsx +++ b/packages/grafana-ui/src/components/Card/Card.test.tsx @@ -27,7 +27,7 @@ describe('Card', () => { - + ); @@ -42,7 +42,7 @@ describe('Card', () => { - + ); @@ -59,7 +59,7 @@ describe('Card', () => { - + ); @@ -74,7 +74,7 @@ describe('Card', () => { - + ); @@ -93,7 +93,7 @@ describe('Card', () => { {shouldNotRender && } - {shouldNotRender && } + {shouldNotRender && } ); diff --git a/packages/grafana-ui/src/components/ContextMenu/ContextMenu.story.tsx b/packages/grafana-ui/src/components/ContextMenu/ContextMenu.story.tsx index 92a70e272c0..a28b51e737b 100644 --- a/packages/grafana-ui/src/components/ContextMenu/ContextMenu.story.tsx +++ b/packages/grafana-ui/src/components/ContextMenu/ContextMenu.story.tsx @@ -41,7 +41,7 @@ export const Basic: StoryFn = (args: ContextMenuProps) => { export const WithState: StoryFn = (args: WithContextMenuProps) => { return ( - {({ openMenu }) => } + {({ openMenu }) => } ); }; diff --git a/packages/grafana-ui/src/components/DataLinks/DataLinksInlineEditor/DataLinksListItem.tsx b/packages/grafana-ui/src/components/DataLinks/DataLinksInlineEditor/DataLinksListItem.tsx index 9ed7b744b03..0765e6b767a 100644 --- a/packages/grafana-ui/src/components/DataLinks/DataLinksInlineEditor/DataLinksListItem.tsx +++ b/packages/grafana-ui/src/components/DataLinks/DataLinksInlineEditor/DataLinksListItem.tsx @@ -35,8 +35,8 @@ export const DataLinksListItem = ({ link, onEdit, onRemove }: DataLinksListItemP {hasTitle ? title : 'Data link title not provided'}
- - + +
{error.message} - {retryUpload && ( - - )} + {retryUpload && } {removeFile && ( removeFile(customFile)} tooltip={REMOVE_FILE} - aria-label={REMOVE_FILE} /> )} @@ -69,8 +58,6 @@ export function FileListItem({ file: customFile, removeFile }: FileListItemProps name="trash-alt" onClick={() => removeFile(customFile)} tooltip={REMOVE_FILE} - aria-label={REMOVE_FILE} - type="button" tooltipPlacement="top" /> ) diff --git a/packages/grafana-ui/src/components/IconButton/IconButton.story.tsx b/packages/grafana-ui/src/components/IconButton/IconButton.story.tsx index 399b1e247e8..011f3bdafc7 100644 --- a/packages/grafana-ui/src/components/IconButton/IconButton.story.tsx +++ b/packages/grafana-ui/src/components/IconButton/IconButton.story.tsx @@ -66,7 +66,7 @@ export const ExamplesSizes = () => {
{sizes.map((size) => ( - + ))}
@@ -81,7 +81,7 @@ export const ExamplesSizes = () => {
{sizes.map((size) => ( - + ))}
@@ -121,9 +121,9 @@ const RenderBackgroundScenario = ({ background }: ScenarioProps) => { `} > {variants.map((variant) => { - return ; + return ; })} - +
diff --git a/packages/grafana-ui/src/components/IconButton/IconButton.tsx b/packages/grafana-ui/src/components/IconButton/IconButton.tsx index 72dbc49d732..5951bf3892b 100644 --- a/packages/grafana-ui/src/components/IconButton/IconButton.tsx +++ b/packages/grafana-ui/src/components/IconButton/IconButton.tsx @@ -28,7 +28,7 @@ export interface Props extends React.ButtonHTMLAttributes { tooltipPlacement?: TooltipPlacement; /** Variant to change the color of the Icon */ variant?: IconButtonVariant; - /** Text avilable ony for screenscreen readers. Will use tooltip text as fallback. */ + /** Text available only for screen readers. Will use tooltip text as fallback. */ ariaLabel?: string; } @@ -68,6 +68,7 @@ export const IconButton = React.forwardRef( aria-label={ariaLabel || tooltipString} {...restProps} className={cx(styles.button, className)} + type="button" > diff --git a/packages/grafana-ui/src/components/Modal/Modal.tsx b/packages/grafana-ui/src/components/Modal/Modal.tsx index 599dedb87a7..f6725631653 100644 --- a/packages/grafana-ui/src/components/Modal/Modal.tsx +++ b/packages/grafana-ui/src/components/Modal/Modal.tsx @@ -84,7 +84,7 @@ export function Modal(props: PropsWithChildren) { typeof title !== 'string' && title }
- +
{children}
diff --git a/packages/grafana-ui/src/components/PageLayout/PageToolbar.story.tsx b/packages/grafana-ui/src/components/PageLayout/PageToolbar.story.tsx index e1831ab37e5..5e767d1ae91 100644 --- a/packages/grafana-ui/src/components/PageLayout/PageToolbar.story.tsx +++ b/packages/grafana-ui/src/components/PageLayout/PageToolbar.story.tsx @@ -34,8 +34,8 @@ export const Examples = () => { titleHref="" parentHref="" leftItems={[ - , - , + , + , ]} > diff --git a/packages/grafana-ui/src/components/PanelChrome/PanelChrome.mdx b/packages/grafana-ui/src/components/PanelChrome/PanelChrome.mdx index b06139a6bd6..72e16326947 100644 --- a/packages/grafana-ui/src/components/PanelChrome/PanelChrome.mdx +++ b/packages/grafana-ui/src/components/PanelChrome/PanelChrome.mdx @@ -358,7 +358,7 @@ Component used for rendering content wrapped in the same style as grafana panels variant="secondary" tooltip="extra content to render" /> - + } actions={ diff --git a/packages/grafana-ui/src/components/Select/MultiValue.tsx b/packages/grafana-ui/src/components/Select/MultiValue.tsx index c06ec704f1e..cc05170f756 100644 --- a/packages/grafana-ui/src/components/Select/MultiValue.tsx +++ b/packages/grafana-ui/src/components/Select/MultiValue.tsx @@ -27,5 +27,5 @@ export type MultiValueRemoveProps = { export const MultiValueRemove = ({ children, innerProps }: React.PropsWithChildren) => { const theme = useTheme2(); const styles = getSelectStyles(theme); - return ; + return ; }; diff --git a/packages/grafana-ui/src/components/TabbedContainer/TabbedContainer.tsx b/packages/grafana-ui/src/components/TabbedContainer/TabbedContainer.tsx index f4a14cfe11e..2f5059f0308 100644 --- a/packages/grafana-ui/src/components/TabbedContainer/TabbedContainer.tsx +++ b/packages/grafana-ui/src/components/TabbedContainer/TabbedContainer.tsx @@ -72,7 +72,7 @@ export function TabbedContainer(props: TabbedContainerProps) { icon={t.icon} /> ))} - + {tabs.find((t) => t.value === activeTab)?.content} diff --git a/packages/grafana-ui/src/components/TagsInput/TagItem.tsx b/packages/grafana-ui/src/components/TagsInput/TagItem.tsx index ed06644eecf..97e0eba129c 100644 --- a/packages/grafana-ui/src/components/TagsInput/TagItem.tsx +++ b/packages/grafana-ui/src/components/TagsInput/TagItem.tsx @@ -29,8 +29,8 @@ export const TagItem = ({ name, disabled, onRemove }: Props) => { size="lg" disabled={disabled} ariaLabel={`Remove "${name}" tag`} + tooltip="Remove tag" onClick={() => onRemove(name)} - type="button" className={styles.buttonStyles} /> diff --git a/packages/grafana-ui/src/components/Toggletip/Toggletip.tsx b/packages/grafana-ui/src/components/Toggletip/Toggletip.tsx index fd5c50de7d6..ce94ce0822a 100644 --- a/packages/grafana-ui/src/components/Toggletip/Toggletip.tsx +++ b/packages/grafana-ui/src/components/Toggletip/Toggletip.tsx @@ -97,9 +97,8 @@ export const Toggletip = React.memo( {closeButton && (
diff --git a/packages/grafana-ui/src/options/builder/stacking.tsx b/packages/grafana-ui/src/options/builder/stacking.tsx index f5f606867ef..e3728c5e8f0 100644 --- a/packages/grafana-ui/src/options/builder/stacking.tsx +++ b/packages/grafana-ui/src/options/builder/stacking.tsx @@ -8,15 +8,7 @@ import { } from '@grafana/data'; import { StackingConfig, StackingMode } from '@grafana/schema'; -import { - GraphFieldConfig, - graphFieldOptions, - HorizontalGroup, - IconButton, - Input, - RadioButtonGroup, - Tooltip, -} from '../..'; +import { GraphFieldConfig, graphFieldOptions, HorizontalGroup, IconButton, Input, RadioButtonGroup } from '../..'; export const StackingEditor = ({ value, context, onChange, item }: FieldOverrideEditorProps) => { return ( @@ -35,11 +27,7 @@ export const StackingEditor = ({ value, context, onChange, item }: FieldOverride - - - } + suffix={} defaultValue={value?.group} onChange={(v) => { onChange({ diff --git a/public/app/core/components/AppChrome/MegaMenu/NavBarMenu.tsx b/public/app/core/components/AppChrome/MegaMenu/NavBarMenu.tsx index e09a76e0302..6879e4f1cda 100644 --- a/public/app/core/components/AppChrome/MegaMenu/NavBarMenu.tsx +++ b/public/app/core/components/AppChrome/MegaMenu/NavBarMenu.tsx @@ -67,6 +67,7 @@ export function NavBarMenu({ activeItem, navItems, searchBarHidden, onClose }: P { const styles = useStyles2(getStyles); return ( - + ); }; diff --git a/public/app/core/components/Layers/LayerDragDropList.tsx b/public/app/core/components/Layers/LayerDragDropList.tsx index 753b8092df6..232eafd040d 100644 --- a/public/app/core/components/Layers/LayerDragDropList.tsx +++ b/public/app/core/components/Layers/LayerDragDropList.tsx @@ -80,8 +80,8 @@ export const LayerDragDropList = ({ {onDuplicate ? ( onDuplicate(element)} /> @@ -89,8 +89,8 @@ export const LayerDragDropList = ({ onDelete(element)} /> diff --git a/public/app/core/components/OptionsUI/color.tsx b/public/app/core/components/OptionsUI/color.tsx index 8494e5f32a7..5611fbae74c 100644 --- a/public/app/core/components/OptionsUI/color.tsx +++ b/public/app/core/components/OptionsUI/color.tsx @@ -53,7 +53,9 @@ export const ColorValueEditor = ({ value, settings, onChange, details }: Props) {settings?.placeholder ?? 'Select color'} )} - {settings?.isClearable && value && onChange(undefined)} />} + {settings?.isClearable && value && ( + onChange(undefined)} tooltip="Clear settings" /> + )} )}
diff --git a/public/app/core/components/OptionsUI/units.tsx b/public/app/core/components/OptionsUI/units.tsx index ebc62e0e47e..fb04e8d1957 100644 --- a/public/app/core/components/OptionsUI/units.tsx +++ b/public/app/core/components/OptionsUI/units.tsx @@ -14,7 +14,7 @@ export function UnitValueEditor({ value, onChange, item }: Props) { - onChange(undefined)} /> + onChange(undefined)} tooltip="Clear unit selection" /> ); } diff --git a/public/app/core/components/PasswordField/PasswordField.tsx b/public/app/core/components/PasswordField/PasswordField.tsx index 03811be74a2..06a54869722 100644 --- a/public/app/core/components/PasswordField/PasswordField.tsx +++ b/public/app/core/components/PasswordField/PasswordField.tsx @@ -27,14 +27,13 @@ export const PasswordField = React.forwardRef( suffix={ { setShowPassword(!showPassword); }} + tooltip={showPassword ? 'Hide password' : 'Show password'} /> } /> diff --git a/public/app/core/components/QueryOperationRow/QueryOperationRowHeader.tsx b/public/app/core/components/QueryOperationRow/QueryOperationRowHeader.tsx index 98d031cc0e6..1ccb4d481af 100644 --- a/public/app/core/components/QueryOperationRow/QueryOperationRowHeader.tsx +++ b/public/app/core/components/QueryOperationRow/QueryOperationRowHeader.tsx @@ -37,11 +37,10 @@ export const QueryOperationRowHeader = ({
diff --git a/public/app/features/alerting/unified/RuleViewer.tsx b/public/app/features/alerting/unified/RuleViewer.tsx index 1a8453475a0..aae84a79973 100644 --- a/public/app/features/alerting/unified/RuleViewer.tsx +++ b/public/app/features/alerting/unified/RuleViewer.tsx @@ -260,7 +260,7 @@ function GrafanaRuleUID({ rule }: { rule: GrafanaRuleDefinition }) { return ( - {rule.uid} + {rule.uid} ); } diff --git a/public/app/features/alerting/unified/components/AlertLabel.tsx b/public/app/features/alerting/unified/components/AlertLabel.tsx index cfc5bcff686..8cfe5104449 100644 --- a/public/app/features/alerting/unified/components/AlertLabel.tsx +++ b/public/app/features/alerting/unified/components/AlertLabel.tsx @@ -19,7 +19,7 @@ export const AlertLabel = ({ labelKey, value, operator = '=', onRemoveLabel }: P {labelKey} {operator} {value} - {!!onRemoveLabel && } + {!!onRemoveLabel && }
); }; diff --git a/public/app/features/alerting/unified/components/DynamicTable.tsx b/public/app/features/alerting/unified/components/DynamicTable.tsx index 3e99d226239..ba3033a73fb 100644 --- a/public/app/features/alerting/unified/components/DynamicTable.tsx +++ b/public/app/features/alerting/unified/components/DynamicTable.tsx @@ -124,12 +124,10 @@ export const DynamicTable = ({ {isExpandable && (
toggleExpanded(item)} - type="button" />
)} diff --git a/public/app/features/alerting/unified/components/expressions/Expression.tsx b/public/app/features/alerting/unified/components/expressions/Expression.tsx index 4057a771ac8..eacf9ea26bf 100644 --- a/public/app/features/alerting/unified/components/expressions/Expression.tsx +++ b/public/app/features/alerting/unified/components/expressions/Expression.tsx @@ -216,7 +216,7 @@ const Header: FC = ({ refId, queryType, onUpdateRefId, onUpdateExpr * There are 3 edit modes: * * 1. "refId": Editing the refId (ie. A -> B) - * 2. "epressionType": Editing the type of the expression (ie. Reduce -> Math) + * 2. "expressionType": Editing the type of the expression (ie. Reduce -> Math) * 3. "false": This means we're not editing either of those */ const [editMode, setEditMode] = useState<'refId' | 'expressionType' | false>(false); @@ -281,11 +281,11 @@ const Header: FC = ({ refId, queryType, onUpdateRefId, onUpdateExpr diff --git a/public/app/features/alerting/unified/components/mute-timings/MuteTimingTimeRange.tsx b/public/app/features/alerting/unified/components/mute-timings/MuteTimingTimeRange.tsx index d80d69f5c78..1e5517b63cc 100644 --- a/public/app/features/alerting/unified/components/mute-timings/MuteTimingTimeRange.tsx +++ b/public/app/features/alerting/unified/components/mute-timings/MuteTimingTimeRange.tsx @@ -121,13 +121,13 @@ export const MuteTimingTimeRange = ({ intervalIndex }: Props) => { { e.preventDefault(); removeTimeRange(index); }} + tooltip="Remove time range" /> @@ -139,7 +139,7 @@ export const MuteTimingTimeRange = ({ intervalIndex }: Props) => { className={styles.addTimeRange} variant="secondary" type="button" - icon={'plus'} + icon="plus" onClick={() => addTimeRange({ start_time: '', end_time: '' })} > Add another time range diff --git a/public/app/features/alerting/unified/components/mute-timings/MuteTimingsTable.tsx b/public/app/features/alerting/unified/components/mute-timings/MuteTimingsTable.tsx index 3ac67558f9b..e558abf2d5c 100644 --- a/public/app/features/alerting/unified/components/mute-timings/MuteTimingsTable.tsx +++ b/public/app/features/alerting/unified/components/mute-timings/MuteTimingsTable.tsx @@ -150,7 +150,7 @@ function useColumns(alertManagerSourceName: string, hideActions = false, setMute muteName: data.name, })} > - + ); @@ -163,13 +163,13 @@ function useColumns(alertManagerSourceName: string, hideActions = false, setMute muteName: data.name, })} > - + setMuteTimingName(data.name)} /> diff --git a/public/app/features/alerting/unified/components/notification-policies/EditNotificationPolicyForm.tsx b/public/app/features/alerting/unified/components/notification-policies/EditNotificationPolicyForm.tsx index 2ec875a0fcf..5e905fea564 100644 --- a/public/app/features/alerting/unified/components/notification-policies/EditNotificationPolicyForm.tsx +++ b/public/app/features/alerting/unified/components/notification-policies/EditNotificationPolicyForm.tsx @@ -137,12 +137,7 @@ export const AmRoutesExpandedForm = ({ placeholder="value" /> - remove(index)} - > + remove(index)}> Remove diff --git a/public/app/features/alerting/unified/components/silences/MatchersField.tsx b/public/app/features/alerting/unified/components/silences/MatchersField.tsx index 6fb4883a048..2400274d5c8 100644 --- a/public/app/features/alerting/unified/components/silences/MatchersField.tsx +++ b/public/app/features/alerting/unified/components/silences/MatchersField.tsx @@ -79,7 +79,7 @@ const MatchersField = ({ className }: Props) => { remove(index)} > Remove diff --git a/public/app/features/correlations/Forms/TransformationsEditor.tsx b/public/app/features/correlations/Forms/TransformationsEditor.tsx index a388bf55505..3f811738137 100644 --- a/public/app/features/correlations/Forms/TransformationsEditor.tsx +++ b/public/app/features/correlations/Forms/TransformationsEditor.tsx @@ -229,9 +229,8 @@ export const TransformationsEditor = (props: Props) => { {!readOnly && (
{ remove(index); const keptValsCopy: Array<{ expression?: string; mapValue?: string } | undefined> = [ @@ -240,7 +239,6 @@ export const TransformationsEditor = (props: Props) => { keptValsCopy[index] = undefined; setKeptVals(compact(keptValsCopy)); }} - ariaLabel="Remove transformation" > Remove diff --git a/public/app/features/dashboard/components/AddLibraryPanelWidget/AddLibraryPanelWidget.tsx b/public/app/features/dashboard/components/AddLibraryPanelWidget/AddLibraryPanelWidget.tsx index 1f93101f57b..cda9bf63d9e 100644 --- a/public/app/features/dashboard/components/AddLibraryPanelWidget/AddLibraryPanelWidget.tsx +++ b/public/app/features/dashboard/components/AddLibraryPanelWidget/AddLibraryPanelWidget.tsx @@ -47,7 +47,12 @@ export const AddLibraryPanelWidget = ({ panel, dashboard }: Props) => { Add panel from panel library
- +
diff --git a/public/app/features/dashboard/components/AddPanelWidget/AddPanelWidget.tsx b/public/app/features/dashboard/components/AddPanelWidget/AddPanelWidget.tsx index 06803d80127..4966670094d 100644 --- a/public/app/features/dashboard/components/AddPanelWidget/AddPanelWidget.tsx +++ b/public/app/features/dashboard/components/AddPanelWidget/AddPanelWidget.tsx @@ -213,7 +213,7 @@ const AddPanelWidgetHandle = ({ children, onBack, onCancel, styles }: AddPanelWi
{onBack && (
- +
)} {!onBack && ( @@ -223,7 +223,7 @@ const AddPanelWidgetHandle = ({ children, onBack, onCancel, styles }: AddPanelWi )} {children && {children}}
- +
); }; diff --git a/public/app/features/dashboard/components/AnnotationSettings/AnnotationSettingsList.tsx b/public/app/features/dashboard/components/AnnotationSettings/AnnotationSettingsList.tsx index 33abef06a5c..2799c59a324 100644 --- a/public/app/features/dashboard/components/AnnotationSettings/AnnotationSettingsList.tsx +++ b/public/app/features/dashboard/components/AnnotationSettings/AnnotationSettingsList.tsx @@ -81,11 +81,11 @@ export const AnnotationSettingsList = ({ dashboard, onNew, onEdit }: Props) => { {dataSourceSrv.getInstanceSettings(annotation.datasource)?.name || annotation.datasource?.uid} - {idx !== 0 && onMove(idx, -1)} />} + {idx !== 0 && onMove(idx, -1)} tooltip="Move up" />} {dashboard.annotations.list.length > 1 && idx !== dashboard.annotations.list.length - 1 ? ( - onMove(idx, 1)} /> + onMove(idx, 1)} tooltip="Move down" /> ) : null} diff --git a/public/app/features/dashboard/components/DashboardSettings/AnnotationsSettings.test.tsx b/public/app/features/dashboard/components/DashboardSettings/AnnotationsSettings.test.tsx index 7a7d1ede798..733f48f9c05 100644 --- a/public/app/features/dashboard/components/DashboardSettings/AnnotationsSettings.test.tsx +++ b/public/app/features/dashboard/components/DashboardSettings/AnnotationsSettings.test.tsx @@ -158,23 +158,23 @@ describe('AnnotationsSettings', () => { setup(dashboard); // Check that we have sorting buttons - expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'arrow-up' })).not.toBeInTheDocument(); - expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'arrow-down' })).toBeInTheDocument(); + expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'Move up' })).not.toBeInTheDocument(); + expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'Move down' })).toBeInTheDocument(); - expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'arrow-up' })).toBeInTheDocument(); - expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'arrow-down' })).toBeInTheDocument(); + expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'Move up' })).toBeInTheDocument(); + expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'Move down' })).toBeInTheDocument(); - expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'arrow-up' })).toBeInTheDocument(); - expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'arrow-down' })).not.toBeInTheDocument(); + expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'Move up' })).toBeInTheDocument(); + expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'Move down' })).not.toBeInTheDocument(); // Check the original order expect(within(getTableBodyRows()[0]).queryByText(/annotations & alerts/i)).toBeInTheDocument(); expect(within(getTableBodyRows()[1]).queryByText(/annotation 2/i)).toBeInTheDocument(); expect(within(getTableBodyRows()[2]).queryByText(/annotation 3/i)).toBeInTheDocument(); - await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'arrow-down' })[0]); - await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'arrow-down' })[1]); - await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'arrow-up' })[0]); + await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'Move down' })[0]); + await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'Move down' })[1]); + await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'Move up' })[0]); // Checking if it has changed the sorting accordingly expect(within(getTableBodyRows()[0]).queryByText(/annotation 3/i)).toBeInTheDocument(); diff --git a/public/app/features/dashboard/components/DashboardSettings/LinksSettings.test.tsx b/public/app/features/dashboard/components/DashboardSettings/LinksSettings.test.tsx index e97c4fb589f..4973e38beb2 100644 --- a/public/app/features/dashboard/components/DashboardSettings/LinksSettings.test.tsx +++ b/public/app/features/dashboard/components/DashboardSettings/LinksSettings.test.tsx @@ -113,23 +113,23 @@ describe('LinksSettings', () => { setup(dashboard); // Check that we have sorting buttons - expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'arrow-up' })).not.toBeInTheDocument(); - expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'arrow-down' })).toBeInTheDocument(); + expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'Move link up' })).not.toBeInTheDocument(); + expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'Move link down' })).toBeInTheDocument(); - expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'arrow-up' })).toBeInTheDocument(); - expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'arrow-down' })).toBeInTheDocument(); + expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'Move link up' })).toBeInTheDocument(); + expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'Move link down' })).toBeInTheDocument(); - expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'arrow-up' })).toBeInTheDocument(); - expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'arrow-down' })).not.toBeInTheDocument(); + expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'Move link up' })).toBeInTheDocument(); + expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'Move link down' })).not.toBeInTheDocument(); // Checking the original order assertRowHasText(0, links[0].title); assertRowHasText(1, links[1].title); assertRowHasText(2, links[2].url); - await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'arrow-down' })[0]); - await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'arrow-down' })[1]); - await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'arrow-up' })[0]); + await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'Move link down' })[0]); + await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'Move link down' })[1]); + await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'Move link up' })[0]); // Checking if it has changed the sorting accordingly assertRowHasText(0, links[2].url); diff --git a/public/app/features/dashboard/components/LinksSettings/LinkSettingsList.tsx b/public/app/features/dashboard/components/LinksSettings/LinkSettingsList.tsx index d89a161b8ea..cd9388e84f4 100644 --- a/public/app/features/dashboard/components/LinksSettings/LinkSettingsList.tsx +++ b/public/app/features/dashboard/components/LinksSettings/LinkSettingsList.tsx @@ -75,15 +75,15 @@ export const LinkSettingsList = ({ dashboard, onNew, onEdit }: LinkSettingsListP - {idx !== 0 && moveLink(idx, -1)} />} + {idx !== 0 && moveLink(idx, -1)} tooltip="Move link up" />} {links.length > 1 && idx !== links.length - 1 ? ( - moveLink(idx, 1)} /> + moveLink(idx, 1)} tooltip="Move link down" /> ) : null} - duplicateLink(link, idx)} /> + duplicateLink(link, idx)} tooltip="Copy link" /> {!isSystemOverride && (
- +
)} diff --git a/public/app/features/dashboard/components/PanelEditor/OverrideCategoryTitle.tsx b/public/app/features/dashboard/components/PanelEditor/OverrideCategoryTitle.tsx index 27ce86185b3..27e5c9768ec 100644 --- a/public/app/features/dashboard/components/PanelEditor/OverrideCategoryTitle.tsx +++ b/public/app/features/dashboard/components/PanelEditor/OverrideCategoryTitle.tsx @@ -30,7 +30,7 @@ export const OverrideCategoryTitle = ({
{overrideName}
- +
{!isExpanded && (
diff --git a/public/app/features/dashboard/components/TransformationsEditor/TransformationsEditor.tsx b/public/app/features/dashboard/components/TransformationsEditor/TransformationsEditor.tsx index e4be969e233..4b9cdcb9bfd 100644 --- a/public/app/features/dashboard/components/TransformationsEditor/TransformationsEditor.tsx +++ b/public/app/features/dashboard/components/TransformationsEditor/TransformationsEditor.tsx @@ -249,6 +249,7 @@ class UnThemedTransformationsEditor extends React.PureComponent { this.setState({ search: '' }); }} + tooltip="Clear search" /> ); @@ -266,6 +267,7 @@ class UnThemedTransformationsEditor extends React.PureComponent { this.setState({ showPicker: false }); }} + tooltip="Close picker" /> ); } diff --git a/public/app/features/dashboard/components/VersionHistory/VersionHistoryHeader.tsx b/public/app/features/dashboard/components/VersionHistory/VersionHistoryHeader.tsx index 46d458d1d25..1205e084f9d 100644 --- a/public/app/features/dashboard/components/VersionHistory/VersionHistoryHeader.tsx +++ b/public/app/features/dashboard/components/VersionHistory/VersionHistoryHeader.tsx @@ -22,7 +22,7 @@ export const VersionHistoryHeader = ({ return (

- + Comparing {baseVersion} {newVersion}{' '} {isNewLatest && (Latest)} diff --git a/public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.tsx b/public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.tsx index e5f8df86343..0d5578265fb 100644 --- a/public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.tsx +++ b/public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.tsx @@ -199,10 +199,10 @@ export class ThresholdsEditor extends PureComponent { } suffix={ this.onRemoveThreshold(threshold)} + tooltip={`Remove ${ariaLabel}`} /> } /> diff --git a/public/app/features/dimensions/editors/ValueMappingsEditor/ValueMappingEditRow.tsx b/public/app/features/dimensions/editors/ValueMappingsEditor/ValueMappingEditRow.tsx index 498454c92c4..27120d7b56e 100644 --- a/public/app/features/dimensions/editors/ValueMappingsEditor/ValueMappingEditRow.tsx +++ b/public/app/features/dimensions/editors/ValueMappingsEditor/ValueMappingEditRow.tsx @@ -220,8 +220,20 @@ export function ValueMappingEditRow({ mapping, index, onChange, onRemove, onDupl )} - onDuplicate(index)} data-testid="duplicate-value-mapping" /> - onRemove(index)} data-testid="remove-value-mapping" /> + onDuplicate(index)} + data-testid="duplicate-value-mapping" + aria-label="Duplicate value mapping" + tooltip="Duplicate" + /> + onRemove(index)} + data-testid="remove-value-mapping" + aria-label="Delete value mapping" + tooltip="Delete" + /> diff --git a/public/app/features/explore/ExploreQueryInspector.test.tsx b/public/app/features/explore/ExploreQueryInspector.test.tsx index 096a797d903..7efbe215981 100644 --- a/public/app/features/explore/ExploreQueryInspector.test.tsx +++ b/public/app/features/explore/ExploreQueryInspector.test.tsx @@ -67,7 +67,7 @@ const setup = (propOverrides = {}) => { describe('ExploreQueryInspector', () => { it('should render closable drawer component', () => { setup(); - expect(screen.getByTitle(/close query inspector/i)).toBeInTheDocument(); + expect(screen.getByLabelText(/close query inspector/i)).toBeInTheDocument(); }); it('should render 4 Tabs if queryResponse has no error', () => { setup(); diff --git a/public/app/features/explore/RichHistory/RichHistoryCard.test.tsx b/public/app/features/explore/RichHistory/RichHistoryCard.test.tsx index 27a5808d8e7..a5502a6134a 100644 --- a/public/app/features/explore/RichHistory/RichHistoryCard.test.tsx +++ b/public/app/features/explore/RichHistory/RichHistoryCard.test.tsx @@ -384,28 +384,28 @@ describe('RichHistoryCard', () => { }); it('should have title "Edit comment" at comment icon, if comment present', async () => { setup({ query: starredQueryWithComment }); - const editComment = await screen.findByTitle('Edit comment'); + const editComment = await screen.findByLabelText('Edit comment'); const addComment = screen.queryByTitle('Add comment'); expect(editComment).toBeInTheDocument(); expect(addComment).not.toBeInTheDocument(); }); it('should have title "Add comment" at comment icon, if no comment present', async () => { setup(); - const addComment = await screen.findByTitle('Add comment'); + const addComment = await screen.findByLabelText('Add comment'); const editComment = await screen.queryByTitle('Edit comment'); expect(addComment).toBeInTheDocument(); expect(editComment).not.toBeInTheDocument(); }); it('should open update comment form when edit comment button clicked', async () => { setup({ query: starredQueryWithComment }); - const editComment = await screen.findByTitle('Edit comment'); + const editComment = await screen.findByLabelText('Edit comment'); await userEvent.click(editComment); const updateCommentForm = await screen.findByLabelText('Update comment form'); expect(updateCommentForm).toBeInTheDocument(); }); it('should close update comment form when escape key pressed', async () => { setup({ query: starredQueryWithComment }); - const editComment = await screen.findByTitle('Edit comment'); + const editComment = await screen.findByLabelText('Edit comment'); await userEvent.click(editComment); const updateCommentForm = await screen.findByLabelText('Update comment form'); await userEvent.click(updateCommentForm); @@ -417,7 +417,7 @@ describe('RichHistoryCard', () => { }); it('should close update comment form when enter and shift keys pressed', async () => { setup({ query: starredQueryWithComment }); - const editComment = await screen.findByTitle('Edit comment'); + const editComment = await screen.findByLabelText('Edit comment'); await userEvent.click(editComment); const updateCommentForm = await screen.findByLabelText('Update comment form'); await userEvent.click(updateCommentForm); @@ -430,7 +430,7 @@ describe('RichHistoryCard', () => { }); it('should close update comment form when enter and ctrl keys pressed', async () => { setup({ query: starredQueryWithComment }); - const editComment = await screen.findByTitle('Edit comment'); + const editComment = await screen.findByLabelText('Edit comment'); await userEvent.click(editComment); const updateCommentForm = await screen.findByLabelText('Update comment form'); await userEvent.click(updateCommentForm); @@ -443,7 +443,7 @@ describe('RichHistoryCard', () => { }); it('should not close update comment form when enter key pressed', async () => { setup({ query: starredQueryWithComment }); - const editComment = await screen.findByTitle('Edit comment'); + const editComment = await screen.findByLabelText('Edit comment'); await userEvent.click(editComment); const updateCommentForm = await screen.findByLabelText('Update comment form'); await userEvent.click(updateCommentForm); @@ -459,14 +459,14 @@ describe('RichHistoryCard', () => { describe('starring', () => { it('should have title "Star query", if not starred', async () => { setup(); - const starButton = await screen.findByTitle('Star query'); + const starButton = await screen.findByLabelText('Star query'); expect(starButton).toBeInTheDocument(); await userEvent.click(starButton); expect(starRichHistoryMock).toBeCalledWith(starredQueryWithComment.id, true); }); it('should have title "Unstar query", if not starred', async () => { setup({ query: starredQueryWithComment }); - const unstarButton = await screen.findByTitle('Unstar query'); + const unstarButton = await screen.findByLabelText('Unstar query'); expect(unstarButton).toBeInTheDocument(); await userEvent.click(unstarButton); expect(starRichHistoryMock).toBeCalledWith(starredQueryWithComment.id, false); @@ -476,14 +476,14 @@ describe('RichHistoryCard', () => { describe('deleting', () => { it('should delete if not starred', async () => { setup(); - const deleteButton = await screen.findByTitle('Delete query'); + const deleteButton = await screen.findByLabelText('Delete query'); expect(deleteButton).toBeInTheDocument(); await userEvent.click(deleteButton); expect(deleteRichHistoryMock).toBeCalledWith(starredQueryWithComment.id); }); it('should display modal before deleting if starred', async () => { setup({ query: starredQueryWithComment }); - const deleteButton = await screen.findByTitle('Delete query'); + const deleteButton = await screen.findByLabelText('Delete query'); await userEvent.click(deleteButton); expect(deleteRichHistoryMock).not.toBeCalled(); expect(appEvents.publish).toHaveBeenCalledWith(new ShowConfirmModalEvent(expect.anything())); diff --git a/public/app/features/explore/RichHistory/RichHistoryCard.tsx b/public/app/features/explore/RichHistory/RichHistoryCard.tsx index 54fc5214f0b..ee34d3ebe58 100644 --- a/public/app/features/explore/RichHistory/RichHistoryCard.tsx +++ b/public/app/features/explore/RichHistory/RichHistoryCard.tsx @@ -304,18 +304,18 @@ export function RichHistoryCard(props: Props) { 0 ? 'Edit comment' : 'Add comment'} + tooltip={query.comment?.length > 0 ? 'Edit comment' : 'Add comment'} /> - + {value?.dsInstance && ( - + )} - +

); diff --git a/public/app/features/explore/TraceView/components/common/SearchBarInput.tsx b/public/app/features/explore/TraceView/components/common/SearchBarInput.tsx index 81bb386cac8..72b1f4fb84d 100644 --- a/public/app/features/explore/TraceView/components/common/SearchBarInput.tsx +++ b/public/app/features/explore/TraceView/components/common/SearchBarInput.tsx @@ -44,7 +44,9 @@ export default class SearchBarInput extends React.PureComponent { const suffix = ( <> {inputProps.suffix} - {allowClear && value && value.length && } + {allowClear && value && value.length && ( + + )} ); diff --git a/public/app/features/logs/components/LogRowMessage.tsx b/public/app/features/logs/components/LogRowMessage.tsx index 97de6c96a9e..e5014e1c365 100644 --- a/public/app/features/logs/components/LogRowMessage.tsx +++ b/public/app/features/logs/components/LogRowMessage.tsx @@ -103,11 +103,11 @@ export class LogRowMessage extends PureComponent { {shouldShowContextToggle && ( )} )}
diff --git a/public/app/features/playlist/PlaylistTableRows.tsx b/public/app/features/playlist/PlaylistTableRows.tsx index 0e2d2c01a84..e314706c476 100644 --- a/public/app/features/playlist/PlaylistTableRows.tsx +++ b/public/app/features/playlist/PlaylistTableRows.tsx @@ -80,8 +80,7 @@ export const PlaylistTableRows = ({ items, onDelete }: Props) => { name="times" size="md" onClick={() => onDelete(index)} - aria-label={selectors.pages.PlaylistForm.itemDelete} - type="button" + tooltip={selectors.pages.PlaylistForm.itemDelete} />
diff --git a/public/app/features/search/page/components/ManageActions.tsx b/public/app/features/search/page/components/ManageActions.tsx index 563343d0d30..2e68ac9b6cb 100644 --- a/public/app/features/search/page/components/ManageActions.tsx +++ b/public/app/features/search/page/components/ManageActions.tsx @@ -44,7 +44,7 @@ export function ManageActions({ items, folder, onChange, clearSelection }: Props return (
- + diff --git a/public/app/features/search/page/components/columns.tsx b/public/app/features/search/page/components/columns.tsx index 67c82fad45a..87153f2af91 100644 --- a/public/app/features/search/page/components/columns.tsx +++ b/public/app/features/search/page/components/columns.tsx @@ -65,7 +65,7 @@ export const generateColumns = ( if (selection('*', '*')) { return (
- +
); } diff --git a/public/app/features/serviceaccounts/components/ServiceAccountsListItem.tsx b/public/app/features/serviceaccounts/components/ServiceAccountsListItem.tsx index b8cc616fe9a..be2be78b47b 100644 --- a/public/app/features/serviceaccounts/components/ServiceAccountsListItem.tsx +++ b/public/app/features/serviceaccounts/components/ServiceAccountsListItem.tsx @@ -133,6 +133,7 @@ const ServiceAccountListItem = memo( size="md" onClick={() => onRemoveButtonClick(serviceAccount)} aria-label={`Delete service account ${serviceAccount.name}`} + tooltip="Delete account" /> )}
diff --git a/public/app/features/support-bundles/SupportBundles.tsx b/public/app/features/support-bundles/SupportBundles.tsx index 303185161b0..a3e2d4a62ab 100644 --- a/public/app/features/support-bundles/SupportBundles.tsx +++ b/public/app/features/support-bundles/SupportBundles.tsx @@ -93,7 +93,12 @@ const SupportBundlesUnconnected = ({ supportBundles, isLoading, loadBundles, rem {hasDeleteAccess && ( - removeBundle(bundle.uid)} name="trash-alt" variant="destructive" /> + removeBundle(bundle.uid)} + name="trash-alt" + variant="destructive" + tooltip="Remove bundle" + /> )} diff --git a/public/app/features/transformers/editors/OrganizeFieldsTransformerEditor.tsx b/public/app/features/transformers/editors/OrganizeFieldsTransformerEditor.tsx index dadcb2b61f5..60831bb1a20 100644 --- a/public/app/features/transformers/editors/OrganizeFieldsTransformerEditor.tsx +++ b/public/app/features/transformers/editors/OrganizeFieldsTransformerEditor.tsx @@ -145,6 +145,7 @@ const DraggableFieldName = ({ size="md" name={visible ? 'eye' : 'eye-slash'} onClick={() => onToggleVisibility(fieldName, visible)} + tooltip={visible ? 'Disable' : 'Enable'} /> {fieldName} diff --git a/public/app/features/transformers/extractFields/components/JSONPathEditor.tsx b/public/app/features/transformers/extractFields/components/JSONPathEditor.tsx index a48e954bea4..40bc775f32e 100644 --- a/public/app/features/transformers/extractFields/components/JSONPathEditor.tsx +++ b/public/app/features/transformers/extractFields/components/JSONPathEditor.tsx @@ -67,7 +67,7 @@ export function JSONPathEditor({ options, onChange }: Props) { /> - removeJSONPath(key)} name={'trash-alt'} /> + removeJSONPath(key)} name={'trash-alt'} tooltip="Remove path" /> diff --git a/public/app/features/variables/editor/VariableEditorListRow.tsx b/public/app/features/variables/editor/VariableEditorListRow.tsx index d1a6d3987c9..5b378bb0afb 100644 --- a/public/app/features/variables/editor/VariableEditorListRow.tsx +++ b/public/app/features/variables/editor/VariableEditorListRow.tsx @@ -94,7 +94,7 @@ export function VariableEditorListRow({ propsOnDuplicate(identifier); }} name="copy" - title="Duplicate variable" + tooltip="Duplicate variable" aria-label={selectors.pages.Dashboard.Settings.Variables.List.tableRowDuplicateButtons(variable.name)} /> @@ -107,7 +107,7 @@ export function VariableEditorListRow({ propsOnDelete(identifier); }} name="trash-alt" - title="Remove variable" + tooltip="Remove variable" aria-label={selectors.pages.Dashboard.Settings.Variables.List.tableRowRemoveButtons(variable.name)} /> diff --git a/public/app/features/variables/inspect/VariableUsagesButton.tsx b/public/app/features/variables/inspect/VariableUsagesButton.tsx index 66e1d945750..5ac6ebcdd6a 100644 --- a/public/app/features/variables/inspect/VariableUsagesButton.tsx +++ b/public/app/features/variables/inspect/VariableUsagesButton.tsx @@ -35,7 +35,7 @@ export const VariableUsagesButton = ({ id, usages, isAdhoc }: Props) => { showModal(); }} name="code-branch" - title="Show usages" + tooltip="Show usages" /> ); }} diff --git a/public/app/features/variables/inspect/VariablesUnknownButton.tsx b/public/app/features/variables/inspect/VariablesUnknownButton.tsx index 47d7cb33cae..6a842225be3 100644 --- a/public/app/features/variables/inspect/VariablesUnknownButton.tsx +++ b/public/app/features/variables/inspect/VariablesUnknownButton.tsx @@ -31,7 +31,7 @@ export const VariablesUnknownButton = ({ id, usages }: Props) => { showModal()} name="code-branch" - title="Show usages" + tooltip="Show usages" data-testid="VariablesUnknownButton" /> ); diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryEditorRow.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryEditorRow.tsx index ce7aeac97e3..1152640cc61 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryEditorRow.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryEditorRow.tsx @@ -33,9 +33,8 @@ export const QueryEditorRow = ({ onClick={onHideClick} size="sm" aria-pressed={hidden} - aria-label="hide metric" className={styles.icon} - type="button" + tooltip="Hide metric" /> )} diff --git a/public/app/plugins/datasource/loki/querybuilder/components/NestedQuery.tsx b/public/app/plugins/datasource/loki/querybuilder/components/NestedQuery.tsx index fa7c54a532c..dd08f32be0b 100644 --- a/public/app/plugins/datasource/loki/querybuilder/components/NestedQuery.tsx +++ b/public/app/plugins/datasource/loki/querybuilder/components/NestedQuery.tsx @@ -72,7 +72,7 @@ export const NestedQuery = React.memo( />
- onRemove(index)} /> + onRemove(index)} tooltip="Remove nested query" />
diff --git a/public/app/plugins/datasource/prometheus/querybuilder/components/NestedQuery.tsx b/public/app/plugins/datasource/prometheus/querybuilder/components/NestedQuery.tsx index f9be626d4ad..039ba43b3f6 100644 --- a/public/app/plugins/datasource/prometheus/querybuilder/components/NestedQuery.tsx +++ b/public/app/plugins/datasource/prometheus/querybuilder/components/NestedQuery.tsx @@ -71,7 +71,7 @@ export const NestedQuery = React.memo((props) => { />
- onRemove(index)} /> + onRemove(index)} tooltip="Remove match" />
diff --git a/public/app/plugins/panel/canvas/editor/element/QuickPositioning.tsx b/public/app/plugins/panel/canvas/editor/element/QuickPositioning.tsx index 67c38976a40..d3bc421a698 100644 --- a/public/app/plugins/panel/canvas/editor/element/QuickPositioning.tsx +++ b/public/app/plugins/panel/canvas/editor/element/QuickPositioning.tsx @@ -65,45 +65,45 @@ export const QuickPositioning = ({ onPositionChange, element, settings }: Props) return (
onQuickPositioningChange(QuickPlacement.Left)} className={styles.button} - size={'lg'} - tooltip={'Align left'} + size="lg" + tooltip="Align left" /> onQuickPositioningChange(QuickPlacement.HorizontalCenter)} className={styles.button} - size={'lg'} - tooltip={'Align horizontal centers'} + size="lg" + tooltip="Align horizontal centers" /> onQuickPositioningChange(QuickPlacement.Right)} className={styles.button} - size={'lg'} - tooltip={'Align right'} + size="lg" + tooltip="Align right" /> onQuickPositioningChange(QuickPlacement.Top)} - size={'lg'} - tooltip={'Align top'} + size="lg" + tooltip="Align top" /> onQuickPositioningChange(QuickPlacement.VerticalCenter)} className={styles.button} - size={'lg'} - tooltip={'Align vertical centers'} + size="lg" + tooltip="Align vertical centers" /> onQuickPositioningChange(QuickPlacement.Bottom)} className={styles.button} - size={'lg'} - tooltip={'Align bottom'} + size="lg" + tooltip="Align bottom" />
); diff --git a/public/app/plugins/panel/canvas/editor/inline/InlineEdit.tsx b/public/app/plugins/panel/canvas/editor/inline/InlineEdit.tsx index 666f555f753..a0b3ecc159a 100644 --- a/public/app/plugins/panel/canvas/editor/inline/InlineEdit.tsx +++ b/public/app/plugins/panel/canvas/editor/inline/InlineEdit.tsx @@ -84,7 +84,13 @@ export function InlineEdit({ onClose, id, scene }: Props) {
Canvas Inline Editor
- +
diff --git a/public/app/plugins/panel/canvas/editor/layer/TreeNodeTitle.tsx b/public/app/plugins/panel/canvas/editor/layer/TreeNodeTitle.tsx index db67023f2cd..26018ec43bf 100644 --- a/public/app/plugins/panel/canvas/editor/layer/TreeNodeTitle.tsx +++ b/public/app/plugins/panel/canvas/editor/layer/TreeNodeTitle.tsx @@ -73,15 +73,17 @@ export const TreeNodeTitle = ({ settings, nodeData, setAllowSelection }: Props)
onDuplicate(element)} + tooltip="Duplicate" /> onDelete(element)} + tooltip="Remove" />
)} diff --git a/public/app/plugins/panel/debug/RenderInfoViewer.tsx b/public/app/plugins/panel/debug/RenderInfoViewer.tsx index d26ecd64408..a18fe4231f8 100644 --- a/public/app/plugins/panel/debug/RenderInfoViewer.tsx +++ b/public/app/plugins/panel/debug/RenderInfoViewer.tsx @@ -74,7 +74,7 @@ export class RenderInfoViewer extends Component { return (
- + {showCounters.render && Render: {this.counters.render} } {showCounters.dataChanged && Data: {this.counters.dataChanged} } diff --git a/public/app/plugins/panel/timeseries/LineStyleEditor.tsx b/public/app/plugins/panel/timeseries/LineStyleEditor.tsx index fba7f15f96c..8ac547d52a3 100644 --- a/public/app/plugins/panel/timeseries/LineStyleEditor.tsx +++ b/public/app/plugins/panel/timeseries/LineStyleEditor.tsx @@ -113,7 +113,7 @@ export const LineStyleEditor = ({ value, onChange }: Props) => { target="_blank" rel="noreferrer" > - +
diff --git a/public/app/plugins/panel/timeseries/TimezonesEditor.tsx b/public/app/plugins/panel/timeseries/TimezonesEditor.tsx index 127a0cbd5fe..4e47a88b30d 100644 --- a/public/app/plugins/panel/timeseries/TimezonesEditor.tsx +++ b/public/app/plugins/panel/timeseries/TimezonesEditor.tsx @@ -46,9 +46,9 @@ export const TimezonesEditor = ({ value, onChange }: Props) => { /> {idx === value.length - 1 ? ( - + ) : ( - removeTimezone(idx)} /> + removeTimezone(idx)} tooltip="Remove timezone" /> )}
))} diff --git a/public/app/plugins/panel/timeseries/plugins/annotations/AnnotationTooltip.tsx b/public/app/plugins/panel/timeseries/plugins/annotations/AnnotationTooltip.tsx index 6820d455b21..4654dabb986 100644 --- a/public/app/plugins/panel/timeseries/plugins/annotations/AnnotationTooltip.tsx +++ b/public/app/plugins/panel/timeseries/plugins/annotations/AnnotationTooltip.tsx @@ -56,8 +56,8 @@ export const AnnotationTooltip = ({ if (canEdit || canDelete) { editControls = (
- {canEdit && } - {canDelete && } + {canEdit && } + {canDelete && }
); } diff --git a/public/app/plugins/panel/xychart/AutoEditor.tsx b/public/app/plugins/panel/xychart/AutoEditor.tsx index 3dbaae8a891..d5f4efe6f5a 100644 --- a/public/app/plugins/panel/xychart/AutoEditor.tsx +++ b/public/app/plugins/panel/xychart/AutoEditor.tsx @@ -132,6 +132,7 @@ export const AutoEditor = ({ exclude, }); }} + tooltip={v.value ? 'Disable' : 'Enable'} /> {v.label}
diff --git a/public/app/plugins/panel/xychart/ManualEditor.tsx b/public/app/plugins/panel/xychart/ManualEditor.tsx index d038f65bd01..93c772b5625 100644 --- a/public/app/plugins/panel/xychart/ManualEditor.tsx +++ b/public/app/plugins/panel/xychart/ManualEditor.tsx @@ -77,6 +77,7 @@ export const ManualEditor = ({ title={'remove'} className={cx(style.actionIcon)} onClick={() => onSeriesDelete(index)} + tooltip="Delete series" />
);