@alauda-fe/common
Version:
Alauda frontend team common codes.
63 lines (62 loc) • 2.5 kB
TypeScript
/**
* @packageDocumentation
* @module navconfig-loader
*/
import { NotificationService } from '@alauda/ui';
import { HttpClient } from '@angular/common/http';
import { InjectionToken } from '@angular/core';
import { Observable } from 'rxjs';
import { K8sApiService } from '../../../api/k8s-api.service';
import { TranslateService } from '../../../translate/public-api';
import { NavGroupConfig, NavItemConfig } from '../nav-menu/public-api';
import * as i0 from "@angular/core";
interface NavigationConfigConfigMapData {
buildIn: {
[name: string]: {
label: string;
hidden: boolean;
};
};
customs: Array<{
label: string;
icon?: string;
iconData?: string;
hidden: boolean;
href: string;
}>;
}
export declare const NAV_CONFIG_LOCAL_STORAGE_KEY: InjectionToken<string>;
export type Nav = NavItemConfig | NavGroupConfig;
export declare class NavConfigLoaderService {
private readonly http;
private readonly translate;
private readonly notification;
private readonly localStorageKey;
private readonly k8sApi;
private readonly cachedConfig;
constructor(http: HttpClient, translate: TranslateService, notification: NotificationService, localStorageKey: string, k8sApi: K8sApiService);
loadNavConfig(address: string): Observable<string>;
loadNavTree(address: string, cmConfigName: string, withGroup?: boolean, enjoyEmpty?: boolean): Observable<Nav[]>;
configTree(treeItemConfig: NavItemConfig[], config: NavigationConfigConfigMapData): import("../../../core/public-api").Tree[];
configTreeWithGroup(treeGroupConfig: NavGroupConfig[], config: NavigationConfigConfigMapData, enjoyEmpty?: boolean): {
items: NavItemConfig[];
name?: string;
title?: string;
}[];
parseYaml(): import("rxjs").OperatorFunction<string, Nav[]>;
mapToAuiNav(withGroup?: boolean): import("rxjs").OperatorFunction<Nav[], Nav[]>;
/**
* @param name
* 加载左导航配置 todo: 添加文档链接
*/
loadCmConfig(name: string): Observable<NavigationConfigConfigMapData>;
private buildLoadStream;
private readonly mapToAuiNavItem;
private toastParseError;
private localKey;
private setLocal;
private getLocal;
static ɵfac: i0.ɵɵFactoryDeclaration<NavConfigLoaderService, [null, null, null, { optional: true; }, null]>;
static ɵprov: i0.ɵɵInjectableDeclaration<NavConfigLoaderService>;
}
export {};