@@ -4,29 +4,38 @@ class VideoFilters extends HTMLElement {
4
4
}
5
5
connectedCallback ( ) {
6
6
this . render ( )
7
- this . registerEvents ( )
8
7
}
9
8
disconnectedCallback ( ) {
10
- this . deregisterEvents ( )
9
+ this . unregisterEvents ( )
11
10
}
12
11
registerEvents ( ) {
13
- this . querySelector ( '#show-downloaded-videos' ) . addEventListener ( 'click' , this . handleDownloadedVideos . bind ( this ) )
14
- this . querySelector ( '#show-summarized-videos' ) . addEventListener ( 'click' , this . handleSummarizedVideos . bind ( this ) )
15
- this . querySelector ( '#show-ignored-videos' ) . addEventListener ( 'click' , this . handleIgnoredVideos . bind ( this ) )
16
- }
17
- deregisterEvents ( ) {
18
- this . querySelector ( '#show-downloaded-videos' ) . removeEventListener ( 'click' , this . handleDownloadedVideos . bind ( this ) )
19
- this . querySelector ( '#show-summarized-videos' ) . removeEventListener ( 'click' , this . handleSummarizedVideos . bind ( this ) )
20
- this . querySelector ( '#show-ignored-videos' ) . removeEventListener ( 'click' , this . handleIgnoredVideos . bind ( this ) )
12
+ if ( this . querySelector ( '#show-downloaded-videos' ) )
13
+ this . querySelector ( '#show-downloaded-videos' ) . addEventListener ( 'click' , this . handleDownloadedVideos . bind ( this ) )
14
+ if ( this . querySelector ( '#show-summarized-videos' ) )
15
+ this . querySelector ( '#show-summarized-videos' ) . addEventListener ( 'click' , this . handleSummarizedVideos . bind ( this ) )
16
+ if ( this . querySelector ( '#show-ignored-videos' ) )
17
+ this . querySelector ( '#show-ignored-videos' ) . addEventListener ( 'click' , this . handleIgnoredVideos . bind ( this ) )
18
+ }
19
+ unregisterEvents ( ) {
20
+ if ( this . querySelector ( '#show-downloaded-videos' ) )
21
+ this . querySelector ( '#show-downloaded-videos' ) . removeEventListener ( 'click' , this . handleDownloadedVideos . bind ( this ) )
22
+ if ( this . querySelector ( '#show-summarized-videos' ) )
23
+ this . querySelector ( '#show-summarized-videos' ) . removeEventListener ( 'click' , this . handleSummarizedVideos . bind ( this ) )
24
+ if ( this . querySelector ( '#show-ignored-videos' ) )
25
+ this . querySelector ( '#show-ignored-videos' ) . removeEventListener ( 'click' , this . handleIgnoredVideos . bind ( this ) )
21
26
}
22
27
render ( ) {
28
+ this . unregisterEvents ( )
29
+
23
30
this . innerHTML = /*html*/ `
24
- <div id="filters-container" class="flex space-around p-1">
25
- <button id="show-downloaded-videos">Downloaded videos</button>
26
- <button id="show-summarized-videos">Summarized videos</button>
27
- <button id="show-ignored-videos">Ignored videos</button>
28
- </div>
31
+ <div id="filters-container" class="flex space-around p-1">
32
+ <button id="show-downloaded-videos">Downloaded videos</button>
33
+ <button id="show-summarized-videos">Summarized videos</button>
34
+ <button id="show-ignored-videos">Ignored videos</button>
35
+ </div>
29
36
`
37
+
38
+ this . registerEvents ( )
30
39
}
31
40
handleDownloadedVideos ( event ) {
32
41
event . target . classList . toggle ( 'active' )
0 commit comments