@@ -2,7 +2,7 @@ import PageLoader from 'components/common/PageLoader/PageLoader';
22import { Table } from 'components/common/table/Table/Table.styled' ;
33import TableHeaderCell from 'components/common/table/TableHeaderCell/TableHeaderCell' ;
44import { TopicMessage } from 'generated-sources' ;
5- import React , { useEffect , useState } from 'react' ;
5+ import React , { useCallback , useEffect , useState } from 'react' ;
66import { Button } from 'components/common/Button/Button' ;
77import * as S from 'components/common/NewTable/Table.styled' ;
88import { usePaginateTopics , useIsLiveMode } from 'lib/hooks/useMessagesFilters' ;
@@ -50,33 +50,38 @@ const MessagesTable: React.FC<MessagesTableProps> = ({
5050 setContentFilters ( messagesPreview [ topicName ] ?. contentFilters || [ ] ) ;
5151 } , [ ] ) ;
5252
53+ const setFilters = useCallback (
54+ ( payload : PreviewFilter [ ] ) => {
55+ if ( previewFor === 'key' ) {
56+ setKeyFilters ( payload ) ;
57+ setMessagesPreview ( {
58+ ...messagesPreview ,
59+ [ topicName ] : {
60+ ...messagesPreview [ topicName ] ,
61+ keyFilters : payload ,
62+ } ,
63+ } ) ;
64+ } else {
65+ setContentFilters ( payload ) ;
66+ setMessagesPreview ( {
67+ ...messagesPreview ,
68+ [ topicName ] : {
69+ ...messagesPreview [ topicName ] ,
70+ contentFilters : payload ,
71+ } ,
72+ } ) ;
73+ }
74+ } ,
75+ [ previewFor , messagesPreview , topicName ]
76+ ) ;
77+
5378 return (
5479 < div style = { { position : 'relative' } } >
5580 { previewFor !== null && (
5681 < PreviewModal
5782 values = { previewFor === 'key' ? keyFilters : contentFilters }
5883 toggleIsOpen = { ( ) => setPreviewFor ( null ) }
59- setFilters = { ( payload : PreviewFilter [ ] ) => {
60- if ( previewFor === 'key' ) {
61- setKeyFilters ( payload ) ;
62- setMessagesPreview ( {
63- ...messagesPreview ,
64- [ topicName ] : {
65- ...messagesPreview [ topicName ] ,
66- keyFilters : payload ,
67- } ,
68- } ) ;
69- } else {
70- setContentFilters ( payload ) ;
71- setMessagesPreview ( {
72- ...messagesPreview ,
73- [ topicName ] : {
74- ...messagesPreview [ topicName ] ,
75- contentFilters : payload ,
76- } ,
77- } ) ;
78- }
79- } }
84+ setFilters = { setFilters }
8085 />
8186 ) }
8287 < Table isFullwidth >
0 commit comments