1- import PageLoader from " components/common/PageLoader/PageLoader" ;
2- import { Table } from " components/common/table/Table/Table.styled" ;
3- import TableHeaderCell from " components/common/table/TableHeaderCell/TableHeaderCell" ;
4- import { TopicMessage } from " generated-sources" ;
5- import React , { useState , useMemo } from " react" ;
6- import { format } from " date-fns" ;
7- import { Button } from " components/common/Button/Button" ;
8- import * as S from " components/common/NewTable/Table.styled" ;
9- import { usePaginateTopics , useIsLiveMode } from " lib/hooks/useMessagesFilters" ;
10- import { useMessageFiltersStore } from " lib/hooks/useMessageFiltersStore" ;
11- import useDataSaver from " lib/hooks/useDataSaver" ;
12- import Select , { SelectOption } from " components/common/Select/Select" ;
13-
14- import PreviewModal from " ./PreviewModal" ;
15- import Message , { PreviewFilter } from " ./Message" ;
1+ import PageLoader from ' components/common/PageLoader/PageLoader' ;
2+ import { Table } from ' components/common/table/Table/Table.styled' ;
3+ import TableHeaderCell from ' components/common/table/TableHeaderCell/TableHeaderCell' ;
4+ import { TopicMessage } from ' generated-sources' ;
5+ import React , { useState , useMemo } from ' react' ;
6+ import { format } from ' date-fns' ;
7+ import { Button } from ' components/common/Button/Button' ;
8+ import * as S from ' components/common/NewTable/Table.styled' ;
9+ import { usePaginateTopics , useIsLiveMode } from ' lib/hooks/useMessagesFilters' ;
10+ import { useMessageFiltersStore } from ' lib/hooks/useMessageFiltersStore' ;
11+ import useDataSaver from ' lib/hooks/useDataSaver' ;
12+ import Select , { SelectOption } from ' components/common/Select/Select' ;
13+
14+ import PreviewModal from ' ./PreviewModal' ;
15+ import Message , { PreviewFilter } from ' ./Message' ;
1616
1717export interface MessagesTableProps {
1818 messages : TopicMessage [ ] ;
@@ -28,11 +28,11 @@ interface MessageData {
2828 Timestamp : Date ;
2929}
3030
31- type DownloadFormat = " json" | " csv" ;
31+ type DownloadFormat = ' json' | ' csv' ;
3232
3333function padCurrentDateTimeString ( ) : string {
3434 const now : Date = new Date ( ) ;
35- const dateTimeString : string = format ( now , " yyyy-MM-dd HH:mm:ss" ) ;
35+ const dateTimeString : string = format ( now , ' yyyy-MM-dd HH:mm:ss' ) ;
3636
3737 return `_${ dateTimeString } ` ;
3838}
@@ -49,11 +49,11 @@ const MessagesTable: React.FC<MessagesTableProps> = ({
4949 const nextCursor = useMessageFiltersStore ( ( state ) => state . nextCursor ) ;
5050 const isLive = useIsLiveMode ( ) ;
5151
52- const [ selectedFormat , setSelectedFormat ] = useState < DownloadFormat > ( " json" ) ;
52+ const [ selectedFormat , setSelectedFormat ] = useState < DownloadFormat > ( ' json' ) ;
5353
5454 const formatOptions : SelectOption < DownloadFormat > [ ] = [
55- { label : " JSON" , value : " json" } ,
56- { label : " CSV" , value : " csv" } ,
55+ { label : ' JSON' , value : ' json' } ,
56+ { label : ' CSV' , value : ' csv' } ,
5757 ] ;
5858
5959 const baseFileName = `topic-messages${ padCurrentDateTimeString ( ) } ` ;
@@ -70,31 +70,31 @@ const MessagesTable: React.FC<MessagesTableProps> = ({
7070 const convertToCSV = useMemo ( ( ) => {
7171 return ( messagesData : MessageData [ ] ) => {
7272 const headers = [
73- " Value" ,
74- " Offset" ,
75- " Key" ,
76- " Partition" ,
77- " Headers" ,
78- " Timestamp" ,
73+ ' Value' ,
74+ ' Offset' ,
75+ ' Key' ,
76+ ' Partition' ,
77+ ' Headers' ,
78+ ' Timestamp' ,
7979 ] as const ;
8080 const rows = messagesData . map ( ( msg ) =>
8181 headers
8282 . map ( ( header ) => {
8383 const value = msg [ header ] ;
84- if ( header === " Headers" ) {
84+ if ( header === ' Headers' ) {
8585 return JSON . stringify ( value || { } ) ;
8686 }
87- return String ( value ?? "" ) ;
87+ return String ( value ?? '' ) ;
8888 } )
89- . join ( "," ) ,
89+ . join ( ',' ) ,
9090 ) ;
91- return [ headers . join ( "," ) , ...rows ] . join ( "\n" ) ;
91+ return [ headers . join ( ',' ) , ...rows ] . join ( '\n' ) ;
9292 } ;
9393 } , [ ] ) ;
9494
9595 const jsonSaver = useDataSaver (
9696 `${ baseFileName } .json` ,
97- JSON . stringify ( savedMessagesJson , null , "\t" ) ,
97+ JSON . stringify ( savedMessagesJson , null , '\t' ) ,
9898 ) ;
9999 const csvSaver = useDataSaver (
100100 `${ baseFileName } .csv` ,
@@ -106,21 +106,21 @@ const MessagesTable: React.FC<MessagesTableProps> = ({
106106 } ;
107107
108108 const handleDownload = ( ) => {
109- if ( selectedFormat === " json" ) {
109+ if ( selectedFormat === ' json' ) {
110110 jsonSaver . saveFile ( ) ;
111111 } else {
112112 csvSaver . saveFile ( ) ;
113113 }
114114 } ;
115115
116116 return (
117- < div style = { { position : " relative" } } >
117+ < div style = { { position : ' relative' } } >
118118 < div
119119 style = { {
120- display : " flex" ,
121- gap : " 8px" ,
122- marginLeft : " 1rem" ,
123- marginBottom : " 1rem" ,
120+ display : ' flex' ,
121+ gap : ' 8px' ,
122+ marginLeft : ' 1rem' ,
123+ marginBottom : ' 1rem' ,
124124 } }
125125 >
126126 < Select < DownloadFormat >
@@ -146,10 +146,10 @@ const MessagesTable: React.FC<MessagesTableProps> = ({
146146
147147 { previewFor !== null && (
148148 < PreviewModal
149- values = { previewFor === " key" ? keyFilters : contentFilters }
149+ values = { previewFor === ' key' ? keyFilters : contentFilters }
150150 toggleIsOpen = { ( ) => setPreviewFor ( null ) }
151151 setFilters = { ( payload : PreviewFilter [ ] ) =>
152- previewFor === " key"
152+ previewFor === ' key'
153153 ? setKeyFilters ( payload )
154154 : setContentFilters ( payload )
155155 }
@@ -165,18 +165,18 @@ const MessagesTable: React.FC<MessagesTableProps> = ({
165165 < TableHeaderCell
166166 title = "Key"
167167 previewText = { `Preview ${
168- keyFilters . length ? `(${ keyFilters . length } selected)` : ""
168+ keyFilters . length ? `(${ keyFilters . length } selected)` : ''
169169 } `}
170- onPreview = { ( ) => setPreviewFor ( " key" ) }
170+ onPreview = { ( ) => setPreviewFor ( ' key' ) }
171171 />
172172 < TableHeaderCell
173173 title = "Value"
174174 previewText = { `Preview ${
175175 contentFilters . length
176176 ? `(${ contentFilters . length } selected)`
177- : ""
177+ : ''
178178 } `}
179- onPreview = { ( ) => setPreviewFor ( " content" ) }
179+ onPreview = { ( ) => setPreviewFor ( ' content' ) }
180180 />
181181 < TableHeaderCell > </ TableHeaderCell >
182182 </ tr >
@@ -189,7 +189,7 @@ const MessagesTable: React.FC<MessagesTableProps> = ({
189189 message . timestamp ,
190190 message . key ,
191191 message . partition ,
192- ] . join ( "-" ) }
192+ ] . join ( '-' ) }
193193 message = { message }
194194 keyFilters = { keyFilters }
195195 contentFilters = { contentFilters }
0 commit comments