1
- const selectedTypeFilterValue = new Set ( ) ;
2
- selectedTypeFilterValue . add ( "all" ) ;
1
+ const selectedTypeFilterValue = new Set ( [ "all" ] ) ;
3
2
let selectedLayer = "all" ;
4
3
5
4
function quickFilterByLayer ( DiffID , layerCommand ) {
@@ -10,7 +9,7 @@ function quickFilterByLayer(DiffID, layerCommand) {
10
9
}
11
10
12
11
function showBaseImageLayer ( imageID ) {
13
- const detailElementID = " base-image-details-" + imageID ;
12
+ const detailElementID = ` base-image-details-${ imageID } ` ;
14
13
const detailsElement = document . getElementById ( detailElementID ) ;
15
14
16
15
const icon = document . querySelector (
@@ -23,7 +22,7 @@ function showBaseImageLayer(imageID) {
23
22
24
23
function showPackageDetails ( detailsId ) {
25
24
const detailsElement = document . getElementById (
26
- " table-tr-" + detailsId + " -details"
25
+ ` table-tr-${ detailsId } -details`
27
26
) ;
28
27
const icon = document . querySelector ( `#table-tr-${ detailsId } .material-icons` ) ; // Select the icon within the row
29
28
@@ -53,9 +52,9 @@ function openVulnInNewTab(inputString) {
53
52
54
53
// Create a new tab button
55
54
const newTabButton = document . createElement ( "div" ) ;
56
- newTabButton . id = inputString + " -button" ;
55
+ newTabButton . id = ` ${ inputString } -button` ;
57
56
newTabButton . className = "tab-switch-button" ;
58
- newTabButton . onclick = function ( ) {
57
+ newTabButton . onclick = ( ) => {
59
58
openTab ( inputString ) ;
60
59
} ;
61
60
@@ -76,7 +75,7 @@ function openVulnInNewTab(inputString) {
76
75
closeIcon . className = "material-icons" ;
77
76
closeIcon . textContent = "close" ;
78
77
// Add the onclick function to the close icon
79
- closeIcon . onclick = function ( event ) {
78
+ closeIcon . onclick = event => {
80
79
event . stopPropagation ( ) ; // Prevent the click from opening the tab
81
80
closeVulnTab ( inputString ) ;
82
81
} ;
@@ -94,7 +93,7 @@ function openVulnInNewTab(inputString) {
94
93
95
94
function closeVulnTab ( inputString ) {
96
95
const tabToRemove = document . getElementById ( inputString ) ;
97
- const buttonToRemove = document . getElementById ( inputString + " -button" ) ;
96
+ const buttonToRemove = document . getElementById ( ` ${ inputString } -button` ) ;
98
97
const tabs = document . getElementById ( "tabs" ) ;
99
98
const tabSwitches = document . getElementById ( "tab-switch" ) ;
100
99
@@ -129,19 +128,19 @@ function hideAllFilterOptions() {
129
128
const containers = document . getElementsByClassName ( "filter-option-container" ) ;
130
129
131
130
for ( const container of containers ) {
132
- container . classList . toggle ( "hide-block" , true ) ;
131
+ container . classList . add ( "hide-block" ) ;
133
132
}
134
133
}
135
134
136
135
function toggleFilter ( input ) {
137
- const targetID = input + " -filter-option-container" ;
138
- let optionContainer = document . getElementById ( targetID ) ;
136
+ const targetID = ` ${ input } -filter-option-container` ;
137
+ const optionContainer = document . getElementById ( targetID ) ;
139
138
const containers = document . getElementsByClassName ( "filter-option-container" ) ;
140
139
for ( const loopContainer of containers ) {
141
140
if ( loopContainer . id === targetID ) {
142
141
optionContainer . classList . toggle ( "hide-block" ) ;
143
142
} else {
144
- loopContainer . classList . toggle ( "hide-block" , true ) ;
143
+ loopContainer . classList . add ( "hide-block" ) ;
145
144
}
146
145
}
147
146
}
@@ -159,36 +158,28 @@ function showAndHideParentSections() {
159
158
let sourceHasVisibleRows = false ;
160
159
161
160
packageRows . forEach ( packageRow => {
162
- let packageDetails = document . getElementById (
163
- packageRow . id + " -details"
161
+ const packageDetails = document . getElementById (
162
+ ` ${ packageRow . id } -details`
164
163
) ;
165
164
const vulnRows = packageDetails . querySelectorAll ( ".vuln-tr" ) ;
166
- let packageHasVisibleRows = false ;
167
- vulnRows . forEach ( vulnRow => {
168
- if ( ! vulnRow . classList . contains ( "hide-block" ) ) {
169
- packageHasVisibleRows = true ;
170
- return ;
171
- }
172
- } ) ;
173
- if ( packageHasVisibleRows ) {
165
+ if ( vulnRows . some ( row => ! row . classList . contains ( "hide-block" ) ) ) {
174
166
sourceHasVisibleRows = true ;
175
- packageRow . classList . toggle ( "hide-block" , false ) ;
167
+ packageRow . classList . remove ( "hide-block" ) ;
176
168
return ;
177
- } else {
178
- packageRow . classList . toggle ( "hide-block" , true ) ;
179
- packageDetails . classList . toggle ( "hide-block" , true ) ;
180
- const icon = document . querySelector (
181
- `#${ packageRow . id } .material-icons`
182
- ) ;
183
- icon . classList . remove ( "expanded" ) ; // Rotate back to 0 degrees
184
169
}
170
+
171
+ packageRow . classList . add ( "hide-block" ) ;
172
+ packageDetails . classList . add ( "hide-block" ) ;
173
+ const icon = document . querySelector (
174
+ `#${ packageRow . id } .material-icons`
175
+ ) ;
176
+ icon . classList . remove ( "expanded" ) ; // Rotate back to 0 degrees
185
177
} ) ;
186
178
187
179
sourceContainer . classList . toggle ( "hide-block" , ! sourceHasVisibleRows ) ;
188
180
189
181
if ( sourceHasVisibleRows ) {
190
182
ecosystemHasVisibleSources = true ;
191
- return ;
192
183
}
193
184
} ) ;
194
185
@@ -202,7 +193,7 @@ function showAndHideParentSections() {
202
193
function showAllVulns ( ) {
203
194
const vulnRows = document . getElementsByClassName ( "vuln-tr" ) ;
204
195
for ( const row of vulnRows ) {
205
- let isUncalled = row . classList . contains ( "uncalled-tr" ) ;
196
+ const isUncalled = row . classList . contains ( "uncalled-tr" ) ;
206
197
row . classList . toggle ( "hide-block" , isUncalled ) ;
207
198
}
208
199
@@ -218,15 +209,11 @@ function applyFilters(selectedTypeFilterValue, selectedLayerFilterValue) {
218
209
}
219
210
220
211
function applyTypeFilter ( selectedValue ) {
221
- updateTypeFilterText ( selectedValue ) ;
222
- let selectedAll = selectedValue . has ( "all" ) ;
223
- let selectedProject = selectedValue . has ( "project" ) ;
224
- let selectedOS = selectedValue . has ( "os" ) ;
225
- let selectedUncalled = selectedValue . has ( "uncalled" ) ;
226
- if ( selectedAll ) {
227
- selectedProject = true ;
228
- selectedOS = true ;
229
- }
212
+ updateTypeFilterText ( ) ;
213
+ const selectedAll = selectedValue . has ( "all" ) ;
214
+ const selectedProject = selectedAll || selectedValue . has ( "project" ) ;
215
+ const selectedOS = selectedAll || selectedValue . has ( "os" ) ;
216
+ const selectedUncalled = selectedValue . has ( "uncalled" ) ;
230
217
231
218
const ecosystemElements = document . querySelectorAll ( ".ecosystem-container" ) ;
232
219
@@ -241,7 +228,7 @@ function applyTypeFilter(selectedValue) {
241
228
( ecosystemElement . classList . contains ( "project-type" ) &&
242
229
! selectedProject )
243
230
) {
244
- vuln . classList . toggle ( "hide-block" , true ) ;
231
+ vuln . classList . add ( "hide-block" ) ;
245
232
}
246
233
} ) ;
247
234
} ) ;
@@ -252,16 +239,16 @@ function applyLayerFilter(selectedLayerID) {
252
239
tableRows . forEach ( row => {
253
240
const rowLayerID = row . getAttribute ( "data-layer" ) ;
254
241
if ( selectedLayerID !== "all" && rowLayerID !== selectedLayerID ) {
255
- const packageDetails = document . getElementById ( row . id + " -details" ) ;
242
+ const packageDetails = document . getElementById ( ` ${ row . id } -details` ) ;
256
243
const vulnElements = packageDetails . querySelectorAll ( ".vuln-tr" ) ;
257
244
vulnElements . forEach ( vuln => {
258
- vuln . classList . toggle ( "hide-block" , true ) ;
245
+ vuln . classList . add ( "hide-block" ) ;
259
246
} ) ;
260
247
}
261
248
} ) ;
262
249
}
263
250
264
- function updateTypeFilterText ( _selectedValue ) {
251
+ function updateTypeFilterText ( ) {
265
252
const typeSelected = document . getElementById ( "type-filter-selected" ) ;
266
253
const selectedVulnCount = document . getElementById ( "selected-count" ) ;
267
254
@@ -276,19 +263,19 @@ function updateTypeFilterText(_selectedValue) {
276
263
let selectedCount = 0 ;
277
264
278
265
if ( projectTypeCheckbox && projectTypeCheckbox . checked ) {
279
- selectedText += ( selectedText ? ", " : "" ) + " Project" ;
266
+ selectedText += ` ${ selectedText ? ", " : "" } Project` ;
280
267
const projectTypeVulnCount = projectTypeCheckbox . getAttribute (
281
268
"data-type-project-count"
282
269
) ;
283
270
selectedCount += parseInt ( projectTypeVulnCount , 10 ) ;
284
271
}
285
272
if ( osTypeCheckbox && osTypeCheckbox . checked ) {
286
- selectedText += ( selectedText ? ", " : "" ) + "OS" ;
273
+ selectedText += ` ${ selectedText ? ", " : "" } OS` ;
287
274
const osTypeVulnCount = osTypeCheckbox . getAttribute ( "data-type-os-count" ) ;
288
275
selectedCount += parseInt ( osTypeVulnCount , 10 ) ;
289
276
}
290
277
if ( uncalledTypeCheckbox && uncalledTypeCheckbox . checked ) {
291
- selectedText += ( selectedText ? ", " : "" ) + " Unimportant" ;
278
+ selectedText += ` ${ selectedText ? ", " : "" } Unimportant` ;
292
279
const uncalledTypeVulnCount = uncalledTypeCheckbox . getAttribute (
293
280
"data-type-uncalled-count"
294
281
) ;
@@ -312,10 +299,7 @@ function resetFilterText() {
312
299
const layerSelected = document . getElementById ( "layer-filter-selected" ) ;
313
300
const allLayerCheckedBox = document . getElementById ( "all-layer-checkbox" ) ;
314
301
if ( layerSelected ) {
315
- layerSelected . textContent =
316
- "All layers (" +
317
- allLayerCheckedBox . getAttribute ( "data-layer-all-count" ) +
318
- ")" ;
302
+ layerSelected . textContent = `All layers (${ allLayerCheckedBox . getAttribute ( "data-layer-all-count" ) } )` ;
319
303
}
320
304
321
305
const typeSelected = document . getElementById ( "type-filter-selected" ) ;
@@ -346,7 +330,7 @@ function resetFilterText() {
346
330
347
331
function resetSearchText ( ) {
348
332
const vulnSearchInput = document . getElementById ( "vuln-search" ) ;
349
- if ( vulnSearchInput . value != "" ) {
333
+ if ( vulnSearchInput . value !== "" ) {
350
334
vulnSearchInput . value = "" ;
351
335
showAllVulns ( ) ;
352
336
}
@@ -370,7 +354,7 @@ function resetTypeCheckbox() {
370
354
}
371
355
}
372
356
373
- document . addEventListener ( "DOMContentLoaded" , function ( ) {
357
+ document . addEventListener ( "DOMContentLoaded" , ( ) => {
374
358
resetFilterText ( ) ;
375
359
showAndHideParentSections ( ) ;
376
360
@@ -379,7 +363,7 @@ document.addEventListener("DOMContentLoaded", function () {
379
363
"type-filter-option-container"
380
364
) ;
381
365
382
- typeFilterOptions . addEventListener ( "change" , function ( ) {
366
+ typeFilterOptions . addEventListener ( "change" , event => {
383
367
resetSearchText ( ) ;
384
368
const changedElement = event . target ;
385
369
const allTypesCheckbox = document . getElementById ( "all-type-checkbox" ) ;
@@ -388,8 +372,8 @@ document.addEventListener("DOMContentLoaded", function () {
388
372
const uncalledCheckbox = document . getElementById ( "uncalled-type-checkbox" ) ; // OS vulnerabilities
389
373
selectedTypeFilterValue . clear ( ) ;
390
374
391
- if ( allTypesCheckbox != null ) {
392
- if ( changedElement == allTypesCheckbox ) {
375
+ if ( allTypesCheckbox !== null ) {
376
+ if ( changedElement === allTypesCheckbox ) {
393
377
osCheckbox . checked = allTypesCheckbox . checked ;
394
378
projectCheckbox . checked = allTypesCheckbox . checked ;
395
379
if ( allTypesCheckbox . checked === true ) {
@@ -450,7 +434,7 @@ document.addEventListener("DOMContentLoaded", function () {
450
434
451
435
// Search bar
452
436
const vulnSearchInput = document . getElementById ( "vuln-search" ) ;
453
- vulnSearchInput . addEventListener ( "keyup" , event => {
437
+ vulnSearchInput . addEventListener ( "keyup" , ( ) => {
454
438
resetFilterText ( ) ;
455
439
selectedTypeFilterValue . clear ( ) ;
456
440
selectedTypeFilterValue . add ( "all" ) ;
@@ -475,12 +459,12 @@ document.addEventListener("DOMContentLoaded", function () {
475
459
476
460
// Implement tooltips
477
461
document . querySelectorAll ( ".tooltip" ) . forEach ( elem => {
478
- elem . addEventListener ( "mouseover" , event => {
462
+ elem . addEventListener ( "mouseover" , ( ) => {
479
463
const rect = elem . getBoundingClientRect ( ) ;
480
464
const tooltipElem = elem . querySelector ( ".tooltiptext" ) ;
481
465
482
- tooltipElem . style . left = rect . left + "px" ;
483
- tooltipElem . style . top = rect . top + "px" ;
466
+ tooltipElem . style . left = ` ${ rect . left } px` ;
467
+ tooltipElem . style . top = ` ${ rect . top } px` ;
484
468
} ) ;
485
469
} ) ;
486
470
0 commit comments