@@ -15,6 +15,7 @@ import Inspector, {
1515 ObjectRootLabel ,
1616 ObjectName ,
1717} from 'react-inspector' ;
18+ import uriTemplate from 'uri-template' ;
1819import { Code } from '../../components/Icons' ;
1920import {
2021 Table ,
@@ -144,18 +145,24 @@ class StreamMessageJson extends PureComponent {
144145
145146 _handlePotentialStreamIdClick = async (
146147 { currentTarget : anchorElement } ,
147- value ,
148+ p ,
148149 ) => {
149- const { authorization } = this . props ;
150+ const { authorization, links } = this . props ;
150151
151152 this . setState ( {
152153 anchorElement,
153154 } ) ;
154155
156+ const template = uriTemplate . parse (
157+ decodeURI ( links [ rels . browse ] . href ) ,
158+ ) ;
159+
160+ const url = template . expand ( { p, t : 'e' } ) ;
161+
155162 const responses = await Promise . all (
156- [ ...new Set ( [ value , String ( value ) . replace ( '-' , '' ) ] ) ] . map ( p =>
163+ [ ...new Set ( [ p , String ( p ) . replace ( '-' , '' ) ] ) ] . map ( p =>
157164 http . get ( {
158- url : `../../stream/browser?p= ${ p } &t=e` ,
165+ url,
159166 headers : { authorization } ,
160167 } ) ,
161168 ) ,
@@ -235,16 +242,12 @@ class StreamMessageJson extends PureComponent {
235242 }
236243}
237244
238- const StreamMessageData = ( { payload, onNavigate } ) => (
239- < StreamMessageJson title = { 'Data' } json = { payload } onNavigate = { onNavigate } />
245+ const StreamMessageData = ( { payload, ... props } ) => (
246+ < StreamMessageJson title = { 'Data' } json = { payload } { ... props } />
240247) ;
241248
242- const StreamMessageMetadata = ( { payload, onNavigate } ) => (
243- < StreamMessageJson
244- title = { 'Metadata' }
245- json = { payload }
246- onNavigate = { onNavigate }
247- />
249+ const StreamMessageMetadata = ( { payload, ...props } ) => (
250+ < StreamMessageJson title = { 'Metadata' } json = { payload } { ...props } />
248251) ;
249252
250253const StreamMessage = ( { message, links, onNavigate } ) => (
@@ -261,10 +264,15 @@ const StreamMessage = ({ message, links, onNavigate }) => (
261264 />
262265 </ TableBody >
263266 </ Table >
264- < StreamMessageData payload = { message . payload } onNavigate = { onNavigate } />
267+ < StreamMessageData
268+ payload = { message . payload }
269+ onNavigate = { onNavigate }
270+ links = { links }
271+ />
265272 < StreamMessageMetadata
266273 payload = { message . metadata }
267274 onNavigate = { onNavigate }
275+ links = { links }
268276 />
269277 </ section >
270278) ;
0 commit comments