@@ -37,10 +37,22 @@ export const CapturedEventsList = () => {
37
37
const [ events , setEvents ] = useState < EventData [ ] > ( [ ] )
38
38
const dragRef = useRef < HTMLDivElement > ( null )
39
39
40
+ const addEvent = ( ) => {
41
+ const event = {
42
+ eventName : 'click' ,
43
+ eventData : {
44
+ target : 'button' ,
45
+ } ,
46
+ timestamp : new Date ( ) . toISOString ( ) ,
47
+ }
48
+ setEvents ( ( prevEvents ) => [ ...prevEvents , event ] )
49
+ }
50
+
40
51
const resetPosition = ( ) => setPosition ( { x : 0 , y : 0 } )
41
52
const toggleWindow = ( ) => {
42
53
setIsOpen ( ( prev ) => ! prev )
43
54
resetPosition ( )
55
+ addEvent ( )
44
56
}
45
57
46
58
const onMouseDown = ( e : React . MouseEvent ) => {
@@ -81,9 +93,19 @@ export const CapturedEventsList = () => {
81
93
const clearAllEvents = useCallback ( async ( ) => {
82
94
if ( navigator . serviceWorker && navigator . serviceWorker . controller ) {
83
95
navigator . serviceWorker . controller . postMessage ( { type : 'CLEAR_EVENTS' } )
84
- setEvents ( [ ] )
96
+ navigator . serviceWorker . controller . postMessage ( { type : 'CLEAR_EVENTS' } )
97
+ // Listen for the response from the service worker
98
+ const handleMessage = ( event : MessageEvent ) => {
99
+ if ( event . data && event . data . type === 'EVENTS_CLEARED' ) {
100
+ setEvents ( [ ] )
101
+
102
+ navigator . serviceWorker . removeEventListener ( 'message' , handleMessage )
103
+ }
104
+ }
105
+
106
+ navigator . serviceWorker . addEventListener ( 'message' , handleMessage )
85
107
}
86
- } , [ events , setEvents ] )
108
+ } , [ setEvents ] )
87
109
88
110
useEffect ( ( ) => {
89
111
document . addEventListener ( 'mousemove' , handleMouseMove )
@@ -163,9 +185,9 @@ export const CapturedEventsList = () => {
163
185
</ thead >
164
186
< tbody >
165
187
{ events . map ( ( item , index ) => (
166
- < tr key = { index } >
188
+ < tr key = { index } data-testid = "count-tr" >
167
189
{ allKeys . map ( ( key ) => (
168
- < td key = { `${ index } -${ key } ` } >
190
+ < td key = { `${ index } -${ key } ` } data-testid = "count-td" >
169
191
{ typeof item [ key as keyof EventData ] === 'object'
170
192
? JSON . stringify ( item [ key as keyof EventData ] )
171
193
: String ( item [ key as keyof EventData ] || '' ) }
@@ -234,6 +256,9 @@ export const CapturedEventsList = () => {
234
256
className = "icon-button"
235
257
onClick = { toggleViewType }
236
258
data-testid = "toggle-view-button"
259
+ data-event = "click"
260
+ data-action = "toggle-view"
261
+ data-component = "button"
237
262
>
238
263
{ viewType === 'individual' ? (
239
264
< TableIcon size = { 16 } />
0 commit comments