From 8be0d16ea8fed7bc29e10eca9b751915e356cf33 Mon Sep 17 00:00:00 2001 From: gtarpenning Date: Mon, 6 Jan 2025 15:23:34 -0800 Subject: [PATCH 1/3] chore(weave): add annotation spec name to feedback grid --- .../Home/Browse3/feedback/FeedbackGrid.tsx | 4 +++ .../Browse3/feedback/FeedbackGridInner.tsx | 32 +++++++++++++++++-- .../humanAnnotationTypes.ts | 3 ++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGrid.tsx b/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGrid.tsx index 72e436c62bc7..5194af00fe31 100644 --- a/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGrid.tsx +++ b/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGrid.tsx @@ -43,6 +43,9 @@ export const FeedbackGrid = ({ return getTsClient().registerOnFeedbackListener(weaveRef, query.refetch); // eslint-disable-next-line react-hooks/exhaustive-deps }, []); + const hasAnnotationFeedback = query.result?.some(f => + f.feedback_type.startsWith(ANNOTATION_PREFIX) + ); // Group by feedback on this object vs. descendent objects const grouped = useMemo(() => { @@ -127,6 +130,7 @@ export const FeedbackGrid = ({ ); diff --git a/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGridInner.tsx b/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGridInner.tsx index b8b2f4154c28..f484d7f0c144 100644 --- a/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGridInner.tsx +++ b/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGridInner.tsx @@ -1,4 +1,8 @@ -import {GridColDef, GridRowHeightParams} from '@mui/x-data-grid-pro'; +import { + GridColDef, + GridRenderCellParams, + GridRowHeightParams, +} from '@mui/x-data-grid-pro'; import React from 'react'; import {Timestamp} from '../../../../Timestamp'; @@ -9,16 +13,21 @@ import {Feedback} from '../pages/wfReactInterface/traceServerClientTypes'; import {StyledDataGrid} from '../StyledDataGrid'; import {FeedbackGridActions} from './FeedbackGridActions'; import {FeedbackTypeChip} from './FeedbackTypeChip'; -import {isHumanAnnotationType} from './StructuredFeedback/humanAnnotationTypes'; +import { + getHumanAnnotationNameFromFeedbackType, + isHumanAnnotationType, +} from './StructuredFeedback/humanAnnotationTypes'; type FeedbackGridInnerProps = { feedback: Feedback[]; currentViewerId: string | null; + showAnnotationName: boolean | undefined; }; export const FeedbackGridInner = ({ feedback, currentViewerId, + showAnnotationName, }: FeedbackGridInnerProps) => { const columns: GridColDef[] = [ { @@ -31,6 +40,25 @@ export const FeedbackGridInner = ({ ), }, + ...(showAnnotationName + ? [ + { + field: 'annotation_name', + headerName: 'Name', + flex: 1, + renderCell: (params: GridRenderCellParams) => { + const feedbackType = params.row.feedback_type; + const annotationName = isHumanAnnotationType(feedbackType) + ? getHumanAnnotationNameFromFeedbackType(feedbackType) + : null; + if (!annotationName) { + return null; + } + return ; + }, + }, + ] + : []), { field: 'payload', headerName: 'Feedback', diff --git a/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/StructuredFeedback/humanAnnotationTypes.ts b/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/StructuredFeedback/humanAnnotationTypes.ts index ce28f3113fec..83bb501d9f0c 100644 --- a/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/StructuredFeedback/humanAnnotationTypes.ts +++ b/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/StructuredFeedback/humanAnnotationTypes.ts @@ -26,3 +26,6 @@ export type HumanAnnotation = Feedback & {}; export const isHumanAnnotationType = (feedbackType: string) => feedbackType.startsWith(HUMAN_ANNOTATION_BASE_TYPE); + +export const getHumanAnnotationNameFromFeedbackType = (feedbackType: string) => + feedbackType.split('.').pop(); From 4fbdc4234a597a8a63cb3af5dfe793db29bd45cc Mon Sep 17 00:00:00 2001 From: gtarpenning Date: Mon, 6 Jan 2025 15:38:27 -0800 Subject: [PATCH 2/3] smaller padding --- .../Home/Browse3/feedback/FeedbackGridInner.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGridInner.tsx b/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGridInner.tsx index f484d7f0c144..ca48a91013c8 100644 --- a/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGridInner.tsx +++ b/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGridInner.tsx @@ -89,8 +89,8 @@ export const FeedbackGridInner = ({ { field: 'created_at', headerName: 'Timestamp', - minWidth: 120, - width: 120, + minWidth: 105, + width: 105, renderCell: params => ( ), @@ -98,7 +98,8 @@ export const FeedbackGridInner = ({ { field: 'id', headerName: 'ID', - width: 50, + width: 48, + minWidth: 48, display: 'flex', renderCell: params => , }, @@ -126,7 +127,8 @@ export const FeedbackGridInner = ({ { field: 'actions', headerName: '', - width: 50, + width: 36, + minWidth: 36, filterable: false, sortable: false, resizable: false, From d8e3964e9762485998f361d844431ace14f25cc5 Mon Sep 17 00:00:00 2001 From: gtarpenning Date: Tue, 7 Jan 2025 09:25:02 -0800 Subject: [PATCH 3/3] reviewcomments --- .../Home/Browse3/feedback/FeedbackGridInner.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGridInner.tsx b/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGridInner.tsx index ca48a91013c8..92b59d06e4d6 100644 --- a/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGridInner.tsx +++ b/weave-js/src/components/PagePanelComponents/Home/Browse3/feedback/FeedbackGridInner.tsx @@ -21,7 +21,7 @@ import { type FeedbackGridInnerProps = { feedback: Feedback[]; currentViewerId: string | null; - showAnnotationName: boolean | undefined; + showAnnotationName?: boolean; }; export const FeedbackGridInner = ({