diff --git a/src/portal/lib/src/config/gc/gc-history/gc-history.component.html b/src/portal/lib/src/config/gc/gc-history/gc-history.component.html
new file mode 100644
index 000000000..d71057e4d
--- /dev/null
+++ b/src/portal/lib/src/config/gc/gc-history/gc-history.component.html
@@ -0,0 +1,20 @@
+
+
+ {{'GC.JOB_ID' | translate}}
+ {{'GC.TRIGGER_TYPE' | translate}}
+ {{'STATUS' | translate}}
+ {{'START_TIME' | translate}}
+ {{'UPDATE_TIME' | translate}}
+ {{'LOGS' | translate}}
+
+ {{job.id }}
+ {{(job.type ? 'SCHEDULE.'+ job.type.toUpperCase() : '') | translate }}
+ {{job.status.toUpperCase() | translate}}
+ {{job.createTime | date:'medium'}}
+ {{job.updateTime | date:'medium'}}
+
+
+
+
+ {{'GC.LATEST_JOBS' | translate :{param: jobs.length} }}
+
\ No newline at end of file
diff --git a/src/portal/lib/src/config/gc/gc-history/gc-history.component.scss b/src/portal/lib/src/config/gc/gc-history/gc-history.component.scss
new file mode 100644
index 000000000..1499c64dd
--- /dev/null
+++ b/src/portal/lib/src/config/gc/gc-history/gc-history.component.scss
@@ -0,0 +1,4 @@
+.history-header {
+ color: #000;
+ margin:20px 0 6px 0;
+}
\ No newline at end of file
diff --git a/src/portal/lib/src/config/gc/gc-history/gc-history.component.ts b/src/portal/lib/src/config/gc/gc-history/gc-history.component.ts
new file mode 100644
index 000000000..29df7c888
--- /dev/null
+++ b/src/portal/lib/src/config/gc/gc-history/gc-history.component.ts
@@ -0,0 +1,28 @@
+import { Component, OnInit } from '@angular/core';
+import { GcRepoService } from "../gc.service";
+import { GcJobViewModel } from "../gcLog";
+import { GcViewModelFactory } from "../gc.viewmodel.factory";
+
+@Component({
+ selector: 'gc-history',
+ templateUrl: './gc-history.component.html',
+ styleUrls: ['./gc-history.component.scss']
+})
+export class GcHistoryComponent implements OnInit {
+ jobs: Array = [];
+ constructor(
+ private gcRepoService: GcRepoService,
+ private gcViewModelFactory: GcViewModelFactory,
+ ) { }
+
+ ngOnInit() {
+ this.getJobs();
+ }
+
+ getJobs() {
+ this.gcRepoService.getJobs().subscribe(jobs => {
+ this.jobs = this.gcViewModelFactory.createJobViewModel(jobs);
+ });
+ }
+
+}
diff --git a/src/portal/lib/src/config/gc/gc.component.html b/src/portal/lib/src/config/gc/gc.component.html
index 1b2d5803c..5947b7551 100644
--- a/src/portal/lib/src/config/gc/gc.component.html
+++ b/src/portal/lib/src/config/gc/gc.component.html
@@ -1,24 +1,4 @@
-
-
-
-
- {{'GC.JOB_ID' | translate}}
- {{'GC.TRIGGER_TYPE' | translate}}
- {{'STATUS' | translate}}
- {{'START_TIME' | translate}}
- {{'UPDATE_TIME' | translate}}
- {{'LOGS' | translate}}
-
- {{job.id }}
- {{(job.type ? 'SCHEDULE.'+ job.type.toUpperCase() : '') | translate }}
- {{job.status.toUpperCase() | translate}}
- {{job.createTime | date:'medium'}}
- {{job.updateTime | date:'medium'}}
-
-
-
-
- {{'GC.LATEST_JOBS' | translate :{param: jobs.length} }}
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/src/portal/lib/src/config/gc/gc.component.scss b/src/portal/lib/src/config/gc/gc.component.scss
index 217f9d3ea..55c10060d 100644
--- a/src/portal/lib/src/config/gc/gc.component.scss
+++ b/src/portal/lib/src/config/gc/gc.component.scss
@@ -1,45 +1,10 @@
-.flex-layout {
- display: flex;
- align-items: center;
- margin:20px 0;
- font-size: .541667rem;
-}
-
-.font-style {
- color: #000;
- font-size: .541667rem;
-}
-
.cron-selection {
margin-top: 20px;
-}
-
-.setting-wrapper {
- label {
- width: 228px;
- }
- *:not(:first-child), span {
- margin-right: 18px;
- }
-}
-
-.normal-wrapper {
- > span:first-child {
- width: 228px;
- }
- > span:not(:first-child){
- margin-right: 18px;
- }
+ display: flex;
+ align-items: center;
}
.gc-start-btn {
width:150px;
-}
-
-.job-header {
- margin:20px 0 -10px 0;
-}
-
-.day-selector-wrapper {
- display: flex;
+ margin-top: 47px;
}
\ No newline at end of file
diff --git a/src/portal/lib/src/config/gc/index.ts b/src/portal/lib/src/config/gc/index.ts
index b80853d74..8f2b987c0 100644
--- a/src/portal/lib/src/config/gc/index.ts
+++ b/src/portal/lib/src/config/gc/index.ts
@@ -4,3 +4,5 @@ export * from "./gc.api.repository";
export * from "./gc.service";
export * from "./gc.viewmodel.factory";
export * from "./gcLog";
+export * from "./gc-history/gc-history.component";
+
diff --git a/src/portal/lib/src/config/index.ts b/src/portal/lib/src/config/index.ts
index af469edc3..5ecae2c6e 100644
--- a/src/portal/lib/src/config/index.ts
+++ b/src/portal/lib/src/config/index.ts
@@ -5,7 +5,7 @@ import { SystemSettingsComponent } from './system/system-settings.component';
import { VulnerabilityConfigComponent } from './vulnerability/vulnerability-config.component';
import { RegistryConfigComponent } from './registry-config.component';
import { GcComponent } from './gc/gc.component';
-
+import { GcHistoryComponent } from './gc/gc-history/gc-history.component';
export * from './config';
export * from './replication/replication-config.component';
@@ -16,6 +16,7 @@ export * from './gc/index';
export const CONFIGURATION_DIRECTIVES: Type[] = [
ReplicationConfigComponent,
+ GcHistoryComponent,
GcComponent,
SystemSettingsComponent,
VulnerabilityConfigComponent,
diff --git a/src/portal/lib/src/config/registry-config.component.html b/src/portal/lib/src/config/registry-config.component.html
index 0cd7784ce..ad31cc66c 100644
--- a/src/portal/lib/src/config/registry-config.component.html
+++ b/src/portal/lib/src/config/registry-config.component.html
@@ -17,6 +17,7 @@
+
diff --git a/src/portal/lib/src/config/registry-config.component.spec.ts b/src/portal/lib/src/config/registry-config.component.spec.ts
index 79b8eaba0..f08055e2e 100644
--- a/src/portal/lib/src/config/registry-config.component.spec.ts
+++ b/src/portal/lib/src/config/registry-config.component.spec.ts
@@ -9,6 +9,7 @@ import { VulnerabilityConfigComponent } from './vulnerability/vulnerability-conf
import { RegistryConfigComponent } from './registry-config.component';
import { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';
import { GcComponent } from './gc/gc.component';
+import { GcHistoryComponent } from './gc/gc-history/gc-history.component';
import { CronScheduleComponent } from '../cron-schedule/cron-schedule.component';
import {
@@ -67,6 +68,7 @@ describe('RegistryConfigComponent (inline template)', () => {
RegistryConfigComponent,
ConfirmationDialogComponent,
GcComponent,
+ GcHistoryComponent,
CronScheduleComponent
],
providers: [
diff --git a/src/portal/lib/src/config/vulnerability/vulnerability-config.component.html b/src/portal/lib/src/config/vulnerability/vulnerability-config.component.html
index f6279a82f..a50cec049 100644
--- a/src/portal/lib/src/config/vulnerability/vulnerability-config.component.html
+++ b/src/portal/lib/src/config/vulnerability/vulnerability-config.component.html
@@ -1,8 +1,8 @@