@alauda-fe/common
Version:
Alauda frontend team common codes.
67 lines (66 loc) • 3.89 kB
TypeScript
import { SelectFilterOption } from '@alauda/ui';
import { HttpClient } from '@angular/common/http';
import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { ReplaySubject } from 'rxjs';
import { Cluster, K8sUtilService, Project, ServiceMeshGroup, KubernetesResource } from '../../../../core/public-api';
import { CommonLayoutContextService } from '../../../../page-scaffold/public-api';
import { ResourceListBase } from '../../base-list';
import { ResourceSelectContextService } from '../../context.service';
import { K8sApiService } from './../../../../api/public-api';
import { DisableFn, NamespaceDataItem, SelectedNamespaceValue } from './../../types';
import * as i0 from "@angular/core";
export declare class NamespaceListComponent extends ResourceListBase implements OnInit, OnDestroy {
private readonly commonLayoutService;
private readonly k8sService;
private readonly http;
actionTemplateRef: TemplateRef<any>;
disableFn: DisableFn;
value: SelectedNamespaceValue;
displayServiceMesh: boolean;
clusterChange: EventEmitter<string>;
projectChange: EventEmitter<string>;
projects: Project[];
selectedProject: Project;
selectedCluster: string;
clusters: string[];
projectsLoading: boolean;
serviceMeshes: ServiceMeshGroup[];
projectServiceMeshes: ServiceMeshGroup[];
selectedServiceMesh: ServiceMeshGroup;
type: string;
displayedData: NamespaceDataItem[];
namespaceClusterMap: Record<string, string>;
gridStateMap: Record<string, ReturnType<DisableFn>>;
selectedUid: string;
load$$: ReplaySubject<{
project: Project;
cluster: string;
}>;
serviceMeshes$: import("rxjs").Observable<ServiceMeshGroup[]>;
clusters$: import("rxjs").Observable<Cluster[]>;
getClusterDisplayName$: ((cluster: string) => import("rxjs").Observable<string>) & import("lodash").MemoizedFunction;
checkClusterError$: ((cluster: string) => import("rxjs").Observable<boolean>) & import("lodash").MemoizedFunction;
namespaces$: import("rxjs").Observable<KubernetesResource[]>;
constructor(commonLayoutService: CommonLayoutContextService, k8sService: K8sApiService, http: HttpClient, contextService: ResourceSelectContextService, cdr: ChangeDetectorRef, k8sUtil: K8sUtilService);
ngOnInit(): void;
getSortedNamespace(rawData: NamespaceDataItem[], namespace?: string): NamespaceDataItem[];
storeNamespaces(): void;
projectFilterFn: (keyword: string, option: SelectFilterOption<Project>) => boolean;
clusterFilterFn: (keyword: string, option: SelectFilterOption<string>) => boolean;
serviceMeshFilterFn: (keyword: string, option: SelectFilterOption<ServiceMeshGroup>) => boolean;
projectTrackFn: (project: Project) => string;
serviceMeshTrackFn: (mesh: ServiceMeshGroup) => string;
private initProject;
selectServiceMesh(serviceMesh: ServiceMeshGroup): void;
selectProject(project: Project, initial?: boolean): void;
selectCluster(clusterName: string, initial?: boolean): void;
private setSelectedNamespace;
mapResource: (list: KubernetesResource[], { isMultiArch, clusters, }: {
isMultiArch: boolean;
clusters: Cluster[];
}) => NamespaceDataItem[];
private getClusterArch;
private checkClusterError;
static ɵfac: i0.ɵɵFactoryDeclaration<NamespaceListComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<NamespaceListComponent, "acl-namespace-list", never, { "actionTemplateRef": { "alias": "actionTemplateRef"; "required": false; }; "disableFn": { "alias": "disableFn"; "required": false; }; "value": { "alias": "value"; "required": false; }; "displayServiceMesh": { "alias": "displayServiceMesh"; "required": false; }; }, { "clusterChange": "clusterChange"; "projectChange": "projectChange"; }, never, ["*"], false, never>;
}