From 98d41f0bf8fb7e3cf6aecbce288aa87cb4e55de5 Mon Sep 17 00:00:00 2001 From: Dominik Prokop Date: Wed, 20 Jul 2022 14:26:04 +0200 Subject: [PATCH] Table: Fix type safety (#52525) --- .../src/components/Table/CellActions.tsx | 14 ++++++++++---- packages/grafana-ui/src/components/Table/types.ts | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/grafana-ui/src/components/Table/CellActions.tsx b/packages/grafana-ui/src/components/Table/CellActions.tsx index d0b368bdf55..568d2f1ca5a 100644 --- a/packages/grafana-ui/src/components/Table/CellActions.tsx +++ b/packages/grafana-ui/src/components/Table/CellActions.tsx @@ -25,13 +25,19 @@ export function CellActions({ field, cell, previewMode, onCellFilterAdded }: Cel }; const onFilterFor = useCallback( - (event: React.MouseEvent) => - onCellFilterAdded({ key: field.name, operator: FILTER_FOR_OPERATOR, value: cell.value }), + (event: React.MouseEvent) => { + if (onCellFilterAdded) { + onCellFilterAdded({ key: field.name, operator: FILTER_FOR_OPERATOR, value: cell.value }); + } + }, [cell, field, onCellFilterAdded] ); const onFilterOut = useCallback( - (event: React.MouseEvent) => - onCellFilterAdded({ key: field.name, operator: FILTER_OUT_OPERATOR, value: cell.value }), + (event: React.MouseEvent) => { + if (onCellFilterAdded) { + onCellFilterAdded({ key: field.name, operator: FILTER_OUT_OPERATOR, value: cell.value }); + } + }, [cell, field, onCellFilterAdded] ); diff --git a/packages/grafana-ui/src/components/Table/types.ts b/packages/grafana-ui/src/components/Table/types.ts index 82441536f51..871f746c1be 100644 --- a/packages/grafana-ui/src/components/Table/types.ts +++ b/packages/grafana-ui/src/components/Table/types.ts @@ -29,7 +29,7 @@ export interface TableCellProps extends CellProps { tableStyles: TableStyles; cellProps: React.DetailedHTMLProps, HTMLDivElement>; field: Field; - onCellFilterAdded: TableFilterActionCallback; + onCellFilterAdded?: TableFilterActionCallback; innerWidth: number; }