+
) : null;
});
-const getStyles = stylesFactory(() => ({
- wrapper: css`
- height: 21px;
- & > label {
- height: 100%;
-
- & > input {
- position: relative;
- }
- }
- `,
-}));
-
SearchCheckbox.displayName = 'SearchCheckbox';
diff --git a/public/app/features/search/components/SearchItem.test.tsx b/public/app/features/search/components/SearchItem.test.tsx
index e8b4ce93945..b1386c754f2 100644
--- a/public/app/features/search/components/SearchItem.test.tsx
+++ b/public/app/features/search/components/SearchItem.test.tsx
@@ -39,7 +39,7 @@ describe('SearchItem', () => {
expect(screen.getAllByText('Test 1')).toHaveLength(1);
});
- it('should mark item as checked', () => {
+ it('should toggle items when checked', () => {
const mockedOnToggleChecked = jest.fn();
setup({ editable: true, onToggleChecked: mockedOnToggleChecked });
const checkbox = screen.getByRole('checkbox');
@@ -47,6 +47,10 @@ describe('SearchItem', () => {
fireEvent.click(checkbox);
expect(mockedOnToggleChecked).toHaveBeenCalledTimes(1);
expect(mockedOnToggleChecked).toHaveBeenCalledWith(data);
+ });
+
+ it('should mark items as checked', () => {
+ setup({ editable: true, item: { ...data, checked: true } });
expect(screen.getByRole('checkbox')).toBeChecked();
});
diff --git a/public/app/features/search/components/SearchItem.tsx b/public/app/features/search/components/SearchItem.tsx
index e1524c44d05..fc9783a9126 100644
--- a/public/app/features/search/components/SearchItem.tsx
+++ b/public/app/features/search/components/SearchItem.tsx
@@ -34,9 +34,11 @@ export const SearchItem: FC
= ({ item, editable, onToggleChecked, onTagSe
[onTagSelected]
);
- const toggleItem = useCallback(
- (event: React.MouseEvent) => {
- event.preventDefault();
+ const handleCheckboxClick = useCallback(
+ (ev: React.MouseEvent) => {
+ ev.stopPropagation();
+ ev.preventDefault();
+
if (onToggleChecked) {
onToggleChecked(item);
}
@@ -54,7 +56,7 @@ export const SearchItem: FC = ({ item, editable, onToggleChecked, onTagSe
className={styles.container}
>
-
+
diff --git a/public/app/features/search/components/SectionHeader.tsx b/public/app/features/search/components/SectionHeader.tsx
index bb932ff112e..a0704c7fee1 100644
--- a/public/app/features/search/components/SectionHeader.tsx
+++ b/public/app/features/search/components/SectionHeader.tsx
@@ -29,10 +29,12 @@ export const SectionHeader: FC = ({
onSectionClick(section);
};
- const onSectionChecked = useCallback(
- (e: React.MouseEvent) => {
- e.preventDefault();
- e.stopPropagation();
+ const handleCheckboxClick = useCallback(
+ (ev: React.MouseEvent) => {
+ console.log('section header handleCheckboxClick');
+ ev.stopPropagation();
+ ev.preventDefault();
+
if (onToggleChecked) {
onToggleChecked(section);
}
@@ -46,7 +48,12 @@ export const SectionHeader: FC = ({
onClick={onSectionExpand}
aria-label={section.expanded ? `Collapse folder ${section.id}` : `Expand folder ${section.id}`}
>
-
+
@@ -90,6 +97,9 @@ const getSectionHeaderStyles = stylesFactory((theme: GrafanaTheme, selected = fa
'pointer',
{ selected }
),
+ checkbox: css`
+ padding: 0 ${sm} 0 0;
+ `,
icon: css`
padding: 0 ${sm} 0 ${editable ? 0 : sm};
`,