@lishangpei/nav-sidebar
Version:
企业级站点导航组件 - 基于 Web Components,真正的跨框架复用
44 lines (40 loc) • 1.07 kB
TypeScript
export interface Site {
id?: string | number;
name: string;
url: string;
env?: string;
count?: number;
lastVisit?: string;
tag?: string;
description?: string;
}
export interface NavSidebarConfig {
apiUrl?: string;
sites?: Site[];
title?: string;
environments?: string[];
defaultEnv?: string;
onSiteClick?: (site: Site, event: Event) => boolean | void;
onEnvChange?: (newEnv: string, oldEnv: string) => void;
floatIcon?: string;
enableFrequentVisits?: boolean;
frequentVisitsLimit?: number;
autoInit?: boolean;
}
export declare class NavSidebar {
constructor(config?: NavSidebarConfig);
init(): Promise<void>;
destroy(): void;
refresh(): Promise<void>;
updateConfig(newConfig: Partial<NavSidebarConfig>): void;
show(): void;
hide(): void;
toggle(): void;
switchEnvironment(env: string): Promise<void>;
getCurrentEnvironment(): string;
getVisitStats(): Record<string, Site>;
recordVisit(site: Site): void;
getFrequentVisits(limit?: number): Site[];
clearVisitStats(): void;
}
export default NavSidebar;