@@ -4,6 +4,7 @@ import { css, KeylineCard } from '@mongodb-js/compass-components';
44
55import JSONEditor , { type JSONEditorProps } from './json-editor' ;
66import { useDocumentItemContextMenu } from './use-document-item-context-menu' ;
7+ import { mergeRefs } from '@react-aria/utils' ;
78
89const keylineCardStyles = css ( {
910 overflow : 'hidden' ,
@@ -41,31 +42,32 @@ const DocumentJsonViewItem: React.FC<DocumentJsonViewItemProps> = ({
4142 updateDocument,
4243 openInsertDocumentDialog,
4344} ) => {
44- const ref = useDocumentItemContextMenu ( {
45+ const contextMenuRef = useDocumentItemContextMenu ( {
4546 doc,
4647 isEditable,
4748 copyToClipboard,
4849 openInsertDocumentDialog,
4950 } ) ;
5051
5152 return (
52- < div ref = { ref } >
53- < KeylineCard className = { keylineCardStyles } ref = { docRef } >
54- { scrollTriggerRef && docIndex === 0 && < div ref = { scrollTriggerRef } /> }
55- < JSONEditor
56- doc = { doc }
57- key = { doc . uuid }
58- namespace = { namespace }
59- editable = { isEditable }
60- isTimeSeries = { isTimeSeries }
61- copyToClipboard = { copyToClipboard }
62- removeDocument = { removeDocument }
63- replaceDocument = { replaceDocument }
64- updateDocument = { updateDocument }
65- openInsertDocumentDialog = { openInsertDocumentDialog }
66- />
67- </ KeylineCard >
68- </ div >
53+ < KeylineCard
54+ className = { keylineCardStyles }
55+ ref = { mergeRefs ( docRef , contextMenuRef ) }
56+ >
57+ { scrollTriggerRef && docIndex === 0 && < div ref = { scrollTriggerRef } /> }
58+ < JSONEditor
59+ doc = { doc }
60+ key = { doc . uuid }
61+ namespace = { namespace }
62+ editable = { isEditable }
63+ isTimeSeries = { isTimeSeries }
64+ copyToClipboard = { copyToClipboard }
65+ removeDocument = { removeDocument }
66+ replaceDocument = { replaceDocument }
67+ updateDocument = { updateDocument }
68+ openInsertDocumentDialog = { openInsertDocumentDialog }
69+ />
70+ </ KeylineCard >
6971 ) ;
7072} ;
7173
0 commit comments