mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-26 04:05:40 +01:00
Merge pull request #4577 from ninjadq/reduce_properties_in_hbr_repository
Reduce properties in hbr repository
This commit is contained in:
commit
1296a09034
@ -181,10 +181,6 @@ watchAddInfoEvent(repo: RepositoryItem): void {
|
|||||||
|
|
||||||
**hasProjectAdminRole** is a user session related property to determined whether the current user has project administrator role. Some action menus might be disabled based on this property.
|
**hasProjectAdminRole** is a user session related property to determined whether the current user has project administrator role. Some action menus might be disabled based on this property.
|
||||||
|
|
||||||
**withClair** is Clair installed
|
|
||||||
|
|
||||||
**withNotary** is Notary installed
|
|
||||||
|
|
||||||
**tagClickEvent** is an @output event emitter for you to catch the tag click events.
|
**tagClickEvent** is an @output event emitter for you to catch the tag click events.
|
||||||
|
|
||||||
**goBackClickEvent** is an @output event emitter for you to catch the go back events.
|
**goBackClickEvent** is an @output event emitter for you to catch the go back events.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "harbor-ui",
|
"name": "harbor-ui",
|
||||||
"version": "0.6.61",
|
"version": "0.6.67",
|
||||||
"description": "Harbor shared UI components based on Clarity and Angular4",
|
"description": "Harbor shared UI components based on Clarity and Angular4",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "ng serve --host 0.0.0.0 --port 4500 --proxy-config proxy.config.json",
|
"start": "ng serve --host 0.0.0.0 --port 4500 --proxy-config proxy.config.json",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "harbor-ui",
|
"name": "harbor-ui",
|
||||||
"version": "0.6.61",
|
"version": "0.6.67",
|
||||||
"description": "Harbor shared UI components based on Clarity and Angular4",
|
"description": "Harbor shared UI components based on Clarity and Angular4",
|
||||||
"author": "VMware",
|
"author": "VMware",
|
||||||
"module": "index.js",
|
"module": "index.js",
|
||||||
|
@ -33,6 +33,10 @@ export const REPOSITORY_GRIDVIEW_TEMPLATE = `
|
|||||||
<clr-dg-cell>{{r.pull_count}}</clr-dg-cell>
|
<clr-dg-cell>{{r.pull_count}}</clr-dg-cell>
|
||||||
</clr-dg-row>
|
</clr-dg-row>
|
||||||
<clr-dg-footer>
|
<clr-dg-footer>
|
||||||
|
<span *ngIf="showDBStatusWarning" class="db-status-warning">
|
||||||
|
<clr-icon shape="warning" class="is-warning" size="24"></clr-icon>
|
||||||
|
{{'CONFIG.SCANNING.DB_NOT_READY' | translate }}
|
||||||
|
</span>
|
||||||
<span *ngIf="pagination.totalItems">{{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} {{'REPOSITORY.OF' | translate}}</span>
|
<span *ngIf="pagination.totalItems">{{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} {{'REPOSITORY.OF' | translate}}</span>
|
||||||
{{pagination.totalItems}} {{'REPOSITORY.ITEMS' | translate}}
|
{{pagination.totalItems}} {{'REPOSITORY.ITEMS' | translate}}
|
||||||
<clr-dg-pagination #pagination [(clrDgPage)]="currentPage" [clrDgPageSize]="pageSize" [clrDgTotalItems]="totalCount"></clr-dg-pagination>
|
<clr-dg-pagination #pagination [(clrDgPage)]="currentPage" [clrDgPageSize]="pageSize" [clrDgTotalItems]="totalCount"></clr-dg-pagination>
|
||||||
|
@ -76,10 +76,24 @@ export class RepositoryGridviewComponent implements OnChanges, OnInit {
|
|||||||
return this.systemInfo ? this.systemInfo.registry_url : '';
|
return this.systemInfo ? this.systemInfo.registry_url : '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get withClair(): boolean {
|
||||||
|
return this.systemInfo ? this.systemInfo.with_clair : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get isClairDBReady(): boolean {
|
||||||
|
return this.systemInfo &&
|
||||||
|
this.systemInfo.clair_vulnerability_status &&
|
||||||
|
this.systemInfo.clair_vulnerability_status.overall_last_update > 0;
|
||||||
|
}
|
||||||
|
|
||||||
public get withAdmiral(): boolean {
|
public get withAdmiral(): boolean {
|
||||||
return this.systemInfo ? this.systemInfo.with_admiral : false;
|
return this.systemInfo ? this.systemInfo.with_admiral : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get showDBStatusWarning(): boolean {
|
||||||
|
return this.withClair && !this.isClairDBReady;
|
||||||
|
}
|
||||||
|
|
||||||
ngOnChanges(changes: SimpleChanges): void {
|
ngOnChanges(changes: SimpleChanges): void {
|
||||||
if (changes['projectId'] && changes['projectId'].currentValue) {
|
if (changes['projectId'] && changes['projectId'].currentValue) {
|
||||||
this.refresh();
|
this.refresh();
|
||||||
|
@ -47,14 +47,10 @@ const TabLinkContentMap: {[index: string]: string} = {
|
|||||||
export class RepositoryComponent implements OnInit {
|
export class RepositoryComponent implements OnInit {
|
||||||
signedCon: {[key: string]: any | string[]} = {};
|
signedCon: {[key: string]: any | string[]} = {};
|
||||||
@Input() projectId: number;
|
@Input() projectId: number;
|
||||||
@Input() projectName: string;
|
|
||||||
@Input() repoName: string;
|
@Input() repoName: string;
|
||||||
@Input() hasSignedIn: boolean;
|
@Input() hasSignedIn: boolean;
|
||||||
@Input() hasProjectAdminRole: boolean;
|
@Input() hasProjectAdminRole: boolean;
|
||||||
@Input() isGuest: boolean;
|
@Input() isGuest: boolean;
|
||||||
@Input() withNotary: boolean;
|
|
||||||
@Input() withClair: boolean;
|
|
||||||
@Input() withAdmiral: boolean;
|
|
||||||
@Output() tagClickEvent = new EventEmitter<TagClickEvent>();
|
@Output() tagClickEvent = new EventEmitter<TagClickEvent>();
|
||||||
@Output() backEvt: EventEmitter<any> = new EventEmitter<any>();
|
@Output() backEvt: EventEmitter<any> = new EventEmitter<any>();
|
||||||
|
|
||||||
@ -85,6 +81,18 @@ export class RepositoryComponent implements OnInit {
|
|||||||
return this.systemInfo ? this.systemInfo.registry_url : '';
|
return this.systemInfo ? this.systemInfo.registry_url : '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get withNotary(): boolean {
|
||||||
|
return this.systemInfo ? this.systemInfo.with_notary : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get withClair(): boolean {
|
||||||
|
return this.systemInfo ? this.systemInfo.with_clair : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get withAdmiral(): boolean {
|
||||||
|
return this.systemInfo ? this.systemInfo.with_admiral : false;
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
if (!this.projectId) {
|
if (!this.projectId) {
|
||||||
this.errorHandler.error('Project ID cannot be unset.');
|
this.errorHandler.error('Project ID cannot be unset.');
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
"clarity-icons": "^0.10.17",
|
"clarity-icons": "^0.10.17",
|
||||||
"clarity-ui": "^0.10.27",
|
"clarity-ui": "^0.10.27",
|
||||||
"core-js": "^2.4.1",
|
"core-js": "^2.4.1",
|
||||||
"harbor-ui": "0.6.63",
|
"harbor-ui": "0.6.67",
|
||||||
"intl": "^1.2.5",
|
"intl": "^1.2.5",
|
||||||
"mutationobserver-shim": "^0.3.2",
|
"mutationobserver-shim": "^0.3.2",
|
||||||
"ngx-cookie": "^1.0.0",
|
"ngx-cookie": "^1.0.0",
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
<div>
|
<div>
|
||||||
<hbr-repository [repoName]="repoName"
|
<hbr-repository [repoName]="repoName" [hasSignedIn]="hasSignedIn" [hasProjectAdminRole]="hasProjectAdminRole" [projectId]="projectId" [isGuest]="isGuest"
|
||||||
[withClair]="withClair" [withNotary]="withNotary" [withAdmiral]="withAdmiral"
|
|
||||||
[hasSignedIn]="hasSignedIn" [hasProjectAdminRole]="hasProjectAdminRole" [projectId]="projectId" [isGuest]="isGuest"
|
|
||||||
(tagClickEvent)="watchTagClickEvt($event)" (backEvt)="watchGoBackEvt($event)" ></hbr-repository>
|
(tagClickEvent)="watchTagClickEvt($event)" (backEvt)="watchGoBackEvt($event)" ></hbr-repository>
|
||||||
</div>
|
</div>
|
Loading…
Reference in New Issue
Block a user