@@ -893,6 +893,34 @@ const DataTab = () => {
893893 const [ isLineageExpanded , setIsLineageExpanded ] = useState ( false ) ;
894894 const [ isReferencesExpanded , setIsReferencesExpanded ] = useState ( false ) ;
895895
896+ const argumentJson = React . useMemo < Record < string , any > > ( ( ) => {
897+ if ( ! isArgumentExpanded ) {
898+ return { } ;
899+ }
900+
901+ try {
902+ return translateCellsAndStreamsToPlainJSON (
903+ charmManager . getArgument ( charm ) ?. get ( ) ,
904+ ) as Record < string , any > ;
905+ } catch ( error ) {
906+ console . warn ( "Error translating argument to JSON:" , error ) ;
907+ return { } ;
908+ }
909+ } , [ isArgumentExpanded , charmManager , charm ] ) ;
910+
911+ const resultJson = React . useMemo < Record < string , any > > ( ( ) => {
912+ if ( ! isResultExpanded ) {
913+ return { } ;
914+ }
915+
916+ try {
917+ return translateCellsAndStreamsToPlainJSON ( charm . get ( ) ) ?? { } ;
918+ } catch ( error ) {
919+ console . warn ( "Error translating result to JSON:" , error ) ;
920+ return { } ;
921+ }
922+ } , [ isResultExpanded , charm ] ) ;
923+
896924 if ( ! charm ) return null ;
897925
898926 const lineage = charmManager . getLineage ( charm ) ;
@@ -914,20 +942,6 @@ const DataTab = () => {
914942 </ div >
915943 ) ;
916944
917- let argumentJson : Record < string , any > ;
918- try {
919- if ( isArgumentExpanded ) {
920- argumentJson = translateCellsAndStreamsToPlainJSON (
921- charmManager . getArgument ( charm ) . get ( ) ,
922- ) as Record < string , any > ;
923- } else {
924- argumentJson = { } ;
925- }
926- } catch ( error ) {
927- console . warn ( "Error translating argument to JSON:" , error ) ;
928- argumentJson = { } ;
929- }
930-
931945 return (
932946 < div className = "h-full overflow-auto p-4" >
933947 { charm . getSourceCell ( ) && (
@@ -970,7 +984,7 @@ const DataTab = () => {
970984 < div className = "border border-gray-300 rounded bg-gray-50 p-2" >
971985 { /* @ts -expect-error JsonView is imported as any */ }
972986 < JsonView
973- value = { translateCellsAndStreamsToPlainJSON ( charm . get ( ) ) ?? { } }
987+ value = { resultJson }
974988 style = { {
975989 background : "transparent" ,
976990 fontSize : "0.875rem" ,
0 commit comments