FunctionsEdgeColumnRender.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. import { Column } from 'react-data-grid'
  2. import { TimestampInfo } from 'ui-patterns/TimestampInfo'
  3. import type { LogData } from '../Logs.types'
  4. import { extractEdgeFunctionName } from '../Logs.utils'
  5. import { ResponseCodeFormatter, RowLayout, TextFormatter } from '../LogsFormatters'
  6. import { defaultRenderCell } from './DefaultPreviewColumnRenderer'
  7. const columns: Column<LogData>[] = [
  8. {
  9. name: 'functions-edge-first-column',
  10. key: 'functions-edge-first-column',
  11. renderHeaderCell: () => null,
  12. renderCell: (props) => {
  13. if (!props.row.status_code && !props.row.method) {
  14. return defaultRenderCell(props)
  15. }
  16. const functionName = extractEdgeFunctionName(props.row.pathname)
  17. return (
  18. <RowLayout>
  19. <TimestampInfo utcTimestamp={props.row.timestamp!} />
  20. <ResponseCodeFormatter value={String(props.row.status_code)} />
  21. <TextFormatter value={String(props.row.method)} />
  22. {functionName && <TextFormatter value={functionName} />}
  23. <TextFormatter value={String(props.row.id)} />
  24. </RowLayout>
  25. )
  26. },
  27. },
  28. ]
  29. export default columns