/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format */ import {ImageData} from './api'; import {ImageEventWithId} from './index'; import React, {Component} from 'react'; import { Layout, theme, styled, DataDescription, Panel, DataInspector, } from 'flipper-plugin'; type ImagesSidebarProps = { image: ImageData; events: Array; }; type ImagesSidebarState = {}; const DataDescriptionKey = styled.span({ color: theme.textColorPrimary, }); const WordBreakFlexColumn = styled(Layout.Container)({ wordBreak: 'break-all', }); export default class ImagesSidebar extends Component< ImagesSidebarProps, ImagesSidebarState > { render() { return (
{this.renderUri()} {this.props.events.map((e) => ( ))}
); } renderUri() { if (!this.props.image) { return null; } if (!this.props.image.uri) { return null; } return ( URI: ); } } class EventDetails extends Component<{ event: ImageEventWithId; }> { render() { const {event} = this.props; return (

Attribution :

Time start :

Time end :

Source :

Requested on cold start :

{this.renderViewportData()}
); } renderViewportData() { const viewport = this.props.event.viewport; if (!viewport) { return null; } return (

Viewport :

); // TODO (t31947746): grey box time, n-th scan time } } function requestHeader(event: ImageEventWithId) { const date = new Date(event.startTime); const dateString = `${date.toTimeString().split(' ')[0]}.${( '000' + date.getMilliseconds() ).substr(-3)}`; return (event.viewport ? 'Request' : 'Prefetch') + ' at ' + dateString; }