@harbor/ui
Version:
Harbor shared UI components based on Clarity and Angular6
87 lines (86 loc) • 3.87 kB
TypeScript
import { OnInit, ChangeDetectorRef, EventEmitter, OnChanges, SimpleChanges } from "@angular/core";
import { Router } from "@angular/router";
import { TranslateService } from "@ngx-translate/core";
import { Comparator, State } from "@clr/angular";
import { SystemInfo, SystemInfoService, RepositoryService, RepositoryItem, TagService } from '../service/index';
import { ErrorHandler } from '../error-handler/error-handler';
import { ConfirmationButtons } from '../shared/shared.const';
import { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';
import { ConfirmationAcknowledgement } from '../confirmation-dialog/confirmation-state-message';
import { GridViewComponent } from '../gridview/grid-view.component';
import { OperationService } from "../operation/operation.service";
import { IServiceConfig } from '../service.config';
export declare class RepositoryGridviewComponent implements OnChanges, OnInit {
private configInfo;
private errorHandler;
private translateService;
private repositoryService;
private systemInfoService;
private tagService;
private operationService;
private ref;
private router;
signedCon: {
[key: string]: any | string[];
};
downloadLink: string;
projectId: number;
projectName: string;
urlPrefix: string;
hasSignedIn: boolean;
hasProjectAdminRole: boolean;
mode: string;
repoClickEvent: EventEmitter<RepositoryItem>;
repoProvisionEvent: EventEmitter<RepositoryItem>;
addInfoEvent: EventEmitter<RepositoryItem>;
lastFilteredRepoName: string;
repositories: RepositoryItem[];
repositoriesCopy: RepositoryItem[];
systemInfo: SystemInfo;
selectedRow: RepositoryItem[];
loading: boolean;
isCardView: boolean;
cardHover: boolean;
listHover: boolean;
pullCountComparator: Comparator<RepositoryItem>;
tagsCountComparator: Comparator<RepositoryItem>;
pageSize: number;
currentPage: number;
totalCount: number;
currentState: State;
confirmationDialog: ConfirmationDialogComponent;
gridView: GridViewComponent;
constructor(configInfo: IServiceConfig, errorHandler: ErrorHandler, translateService: TranslateService, repositoryService: RepositoryService, systemInfoService: SystemInfoService, tagService: TagService, operationService: OperationService, ref: ChangeDetectorRef, router: Router);
readonly registryUrl: string;
readonly withClair: boolean;
readonly isClairDBReady: boolean;
readonly withAdmiral: boolean;
readonly showDBStatusWarning: boolean;
readonly canDownloadCert: boolean;
ngOnChanges(changes: SimpleChanges): void;
ngOnInit(): void;
confirmDeletion(message: ConfirmationAcknowledgement): void;
delOperate(repo: RepositoryItem): Promise<void>;
doSearchRepoNames(repoName: string): void;
saveSignatures(event: {
[key: string]: string[];
}): void;
deleteRepos(repoLists: RepositoryItem[]): void;
getTagInfo(repoName: string): Promise<void>;
confirmationDialogSet(summaryTitle: string, signature: string, repoName: string, repoLists: RepositoryItem[], summaryKey: string, button: ConfirmationButtons): void;
containsLatestTag(repo: RepositoryItem): Promise<boolean>;
provisionItemEvent(evt: any, repo: RepositoryItem): void;
itemAddInfoEvent(evt: any, repo: RepositoryItem): void;
deleteItemEvent(evt: any, item: RepositoryItem): void;
selectedChange(): void;
refresh(): void;
loadNextPage(): void;
clrLoad(state: State): void;
getStateAfterDeletion(): State;
watchRepoClickEvt(repo: RepositoryItem): void;
getImgLink(repo: RepositoryItem): string;
showCard(cardView: boolean): void;
mouseEnter(itemName: string): void;
mouseLeave(itemName: string): void;
isHovering(itemName: string): boolean;
}