40
40
<TopRiskyImagesChart v-if="preprocessedDataset.topRiskyImages" :topRiskyImages="preprocessedDataset.topRiskyImages"/>
41
41
<ImageRiskAssessment v-if="preprocessedDataset.chartData" :chartData="preprocessedDataset.chartData" :filterFn="filterBySeverity"/>
42
42
</div> -->
43
+ <div class =" search-filters" >
44
+ <div class =" filter-row" >
45
+ <div class =" filter-item" >
46
+ <label >{{ t('imageScanner.images.listTable.filters.label.image')}}</label >
47
+ <div class =" filter-input-wrapper" >
48
+ <input
49
+ v-model =" filters.imageSearch"
50
+ type =" text"
51
+ :placeholder =" t('imageScanner.images.listTable.filters.placeholder.image')"
52
+ class =" filter-input"
53
+ />
54
+ <i class =" icon icon-search" style =" color : #6C6C76 ; margin-left : 8px ;" ></i >
55
+ </div >
56
+ </div >
57
+ <div class =" filter-item" >
58
+ <label >{{ t('imageScanner.images.listTable.filters.label.severity') }}</label >
59
+ <LabeledSelect
60
+ v-model:value =" filters.severitySearch"
61
+ :options =" severityOptions"
62
+ :close-on-select =" true"
63
+ :multiple =" false"
64
+ />
65
+ </div >
66
+ <div class =" filter-item" >
67
+ <label >{{ t('imageScanner.images.listTable.filters.label.repository') }}</label >
68
+ <LabeledSelect
69
+ v-model:value =" filters.repositorySearch"
70
+ :options =" repositoryOptions"
71
+ :close-on-select =" true"
72
+ :multiple =" false"
73
+ />
74
+ </div >
75
+ <div class =" filter-item" >
76
+ <label >{{ t('imageScanner.images.listTable.filters.label.registry') }}</label >
77
+ <LabeledSelect
78
+ v-model:value =" filters.registrySearch"
79
+ :options =" registryOptions"
80
+ :close-on-select =" true"
81
+ :multiple =" false"
82
+ />
83
+ </div >
84
+ </div >
85
+ </div >
43
86
<SortableTable
44
87
:headers =" isGrouped ? REPO_BASED_TABLE : IMAGE_LIST_TABLE"
45
88
:namespaced =" false"
89
+ :search =" false"
90
+ :paging =" true"
46
91
:row-actions =" !isGrouped"
47
92
:table-actions =" true"
48
93
:sub-expandable =" isGrouped"
158
203
filterImageOptions,
159
204
selectedCveFilter: filterCveOptions[0 ],
160
205
selectedImageFilter: filterImageOptions[0 ],
161
- selectedImage: " " ,
162
- selectedSeverity: " " ,
163
- selectedRepository: " Any" ,
164
- selectedRegistry: " Any" ,
206
+ filters: {
207
+ imageSearch: ' ' ,
208
+ severitySearch: ' any' ,
209
+ repositorySearch: ' any' ,
210
+ registrySearch: ' any' ,
211
+ },
165
212
}
166
213
},
167
214
computed: {
399
446
}
400
447
}
401
448
449
+ .filter - row {
450
+ display: flex;
451
+ gap: 24px ;
452
+ margin- bottom: 20px ;
453
+ }
454
+
455
+ .filter - item {
456
+ display: flex;
457
+ flex- direction: column;
458
+ gap: 8px ;
459
+ flex: 1 ;
460
+ }
461
+
462
+ .filter - item label {
463
+ font- weight: 400 ;
464
+ color: #6C6C76 ;
465
+ font- size: 14px ;
466
+ }
467
+
468
+ .filter - input- wrapper {
469
+ display: flex;
470
+ align- items: center;
471
+ border: 1px solid #DCDEE7 ;
472
+ border- radius: 6px ;
473
+ padding: 0 12px ;
474
+ background: #FFF ;
475
+ }
476
+
477
+ .filter - input {
478
+ flex: 1 ;
479
+ padding: 10px 0 ;
480
+ border: none;
481
+ outline: none;
482
+ font- size: 14px ;
483
+ line- height: 19px ;
484
+ background: transparent;
485
+ }
486
+
487
+ .score - input {
488
+ color: #BEC1D2 ;
489
+ }
490
+
491
+ .score - input:: placeholder {
492
+ color: #BEC1D2 ;
493
+ }
494
+
495
+ .filter - input: focus {
496
+ outline: none;
497
+ }
498
+
499
+ .filter - input- wrapper: focus- within {
500
+ border- color: #007cba ;
501
+ box- shadow: 0 0 0 2px rgba (0 , 124 , 186 , 0.1 );
502
+ }
503
+
504
+ .filter - select {
505
+ padding: 10px 14px ;
506
+ border: 1px solid #DCDEE7 ;
507
+ border- radius: 6px ;
508
+ font- size: 14px ;
509
+ background: #FFF ;
510
+ outline: none;
511
+ }
512
+
513
+ .filter - select: focus {
514
+ border- color: #007cba ;
515
+ box- shadow: 0 0 0 2px rgba (0 , 124 , 186 , 0.1 );
516
+ }
517
+
518
+ .filter - actions {
519
+ display: flex;
520
+ justify- content: flex- start;
521
+ align- items: center;
522
+ gap: 8px ;
523
+ padding- top: 16px ;
524
+ border- top: 1px solid #DCDEE7 ;
525
+ }
526
+
402
527
< / style>
0 commit comments