1
1
<template >
2
- <div >
2
+ <div class = " page " >
3
3
<div class =" header-section" >
4
4
<div class =" header-left" >
5
5
<div class =" title-wrap" >
39
39
<SortableTable
40
40
ref =" table"
41
41
:has-advanced-filtering =" false"
42
+ :row-actions =" true"
42
43
:rows =" rows"
43
44
:headers =" headers"
44
45
@selection =" onSelectionChange"
45
46
>
46
47
<template #header-left >
47
- <div class =" bulk-actions " >
48
- <ScanButton :selectedRegistries =" selectedRows?.map(row => {return {name: row.metadata.name, namespace: row.metadata.namespace}})" :reloadFn =" loadData" />
48
+ <div class =" table-top-left " >
49
+ <ScanButton class = " table-btn " :selectedRegistries =" selectedRows?.map(row => {return {name: row.metadata.name, namespace: row.metadata.namespace}})" :reloadFn =" loadData" />
49
50
<button
50
- class =" btn role-primary"
51
+ class =" btn role-primary table-btn "
51
52
:disabled =" !(selectedRows && selectedRows.length)"
52
53
@click =" promptRemoveRegistry()"
53
54
>
@@ -128,6 +129,7 @@ import { template } from "lodash";
128
129
}
129
130
return new Date (b .status .startTime ) - new Date (a .status .startTime );
130
131
});
132
+ console .group (" scanJobCRD" , scanJobCRD)
131
133
132
134
const scanJobMap = this .getScanJobMap (scanJobCRD);
133
135
const registryDataset = this .getRegistryDataset (registriesCRD, scanJobMap);
@@ -186,9 +188,10 @@ import { template } from "lodash";
186
188
scanJobMap[` ${ rec .metadata .namespace } /${ rec .spec .registry } ` ].length > 0 &&
187
189
scanJobMap[` ${ rec .metadata .namespace } /${ rec .spec .registry } ` ].length < 2 ) {
188
190
scanJobMap[` ${ rec .metadata .namespace } /${ rec .spec .registry } ` ].push (rec);
189
- } else {
191
+ } else if ( ! scanJobMap[ ` ${ rec . metadata . namespace } / ${ rec . spec . registry } ` ]) {
190
192
scanJobMap[` ${ rec .metadata .namespace } /${ rec .spec .registry } ` ] = [rec];
191
193
}
194
+ console .log (" scanJobMap" , scanJobMap[' default/test-xz-2' ]);
192
195
});
193
196
return scanJobMap;
194
197
},
@@ -212,11 +215,12 @@ import { template } from "lodash";
212
215
rec .id = ` ${ rec .metadata .namespace } /${ rec .metadata .name } ` ;
213
216
rec .currStatus = status;
214
217
rec .prevScanStatus = prevScanStatus;
215
- rec .progress = scanjobs[0 ] && scanjobs[0 ].status .imageCount && scanjobs[0 ].status .scannedImageCount ?
216
- Math .ceil (scanjobs[0 ].status .scannedImageCount / scanjobs[0 ].status .imageCount * 100 ) : 0 ;
217
- rec .prevProgress = scanjobs[1 ] && scanjobs[1 ].status .imageCount && scanjobs[1 ].status .scannedImageCount ?
218
- Math .ceil (scanjobs[1 ].status .scannedImageCount / scanjobs[1 ].status .imageCount * 100 ) : 0 ;
219
- rec .error = scanjobs[0 ] && scanjobs[0 ].status .statusResult .type === " Failed" ? scanjobs[0 ].status .statusResult .message : " " ;
218
+ rec .progress = scanjobs[0 ] && scanjobs[0 ].status .imagesCount && scanjobs[0 ].status .scannedImagesCount ?
219
+ Math .ceil (scanjobs[0 ].status .scannedImagesCount / scanjobs[0 ].status .imagesCount * 100 ) : 0 ;
220
+ rec .prevProgress = scanjobs[1 ] && scanjobs[1 ].status .imagesCount && scanjobs[1 ].status .scannedImagesCount ?
221
+ Math .ceil (scanjobs[1 ].status .scannedImagesCount / scanjobs[1 ].status .imagesCount * 100 ) : 0 ;
222
+ rec .error = scanjobs[0 ] && scanjobs[0 ].status .statusResult .type .toLowerCase () === " failed" ? scanjobs[0 ].status .statusResult .message : " " ;
223
+ rec .PrevError = scanjobs[1 ] && scanjobs[1 ].status .statusResult .type .toLowerCase () === " failed" ? scanjobs[1 ].status .statusResult .message : " " ;
220
224
221
225
// Summarize the data for Latest status updates panel
222
226
registryStatusList .push ({
@@ -295,7 +299,7 @@ import { template } from "lodash";
295
299
.page {
296
300
display: flex;
297
301
flex- direction: column;
298
- padding: 0 20px 20px 20px ;
302
+ padding: 24px ;
299
303
min- height: 100 % ;
300
304
}
301
305
.header - section {
@@ -304,7 +308,19 @@ import { template } from "lodash";
304
308
gap: 24px ;
305
309
align- self : stretch;
306
310
margin- bottom: 24px ;
307
- .header - left {
311
+
312
+ }
313
+ .table - top- left {
314
+ display: flex;
315
+ align- items: start- end;
316
+ justify- content: start;
317
+ flex: 1 0 0 ;
318
+ gap: 16px ;
319
+ .table - btn {
320
+ height: 40px ;
321
+ }
322
+ }
323
+ .header - left {
308
324
display: flex;
309
325
flex- direction: column;
310
326
justify- content: center;
@@ -360,7 +376,7 @@ import { template } from "lodash";
360
376
align- items: flex- end;
361
377
justify- content: end;
362
378
flex: 1 0 0 ;
363
- gap: 24px ;
379
+ gap: 16px ;
364
380
}
365
381
.header - btn {
366
382
height: 40px ;
@@ -379,7 +395,6 @@ import { template } from "lodash";
379
395
background: url (' ../../../../assets/img/refresh.svg' ) no- repeat center center;
380
396
background- size: contain;
381
397
}
382
- }
383
398
.summary - section {
384
399
display: flex;
385
400
min- width: 912px ;
0 commit comments