theme-lib
Version:
This is a simple example Angular Library published to npm.
70 lines (69 loc) • 2.31 kB
TypeScript
import { Location } from '@angular/common';
import { Params } from '@angular/router';
import { Observable, BehaviorSubject } from 'rxjs';
export interface NbMenuBag {
tag: string;
item: NbMenuItem;
}
export declare class NbMenuItem {
title: string;
link?: string;
url?: string;
icon?: string;
expanded?: boolean;
children?: NbMenuItem[];
target?: string;
hidden?: boolean;
pathMatch?: string;
home?: boolean;
group?: boolean;
queryParams?: Params;
parent?: NbMenuItem;
selected?: boolean;
data?: any;
fragment?: string;
static getParents(item: NbMenuItem): NbMenuItem[];
static isParent(item: NbMenuItem, possibleChild: NbMenuItem): boolean;
}
export declare class NbMenuService {
addItems(items: NbMenuItem[], tag?: string): void;
collapseAll(tag?: string): void;
navigateHome(tag?: string): void;
getSelectedItem(tag?: string): Observable<NbMenuBag>;
onItemClick(): Observable<NbMenuBag>;
onItemSelect(): Observable<NbMenuBag>;
onItemHover(): Observable<NbMenuBag>;
onSubmenuToggle(): Observable<NbMenuBag>;
}
export declare class NbMenuInternalService {
private location;
constructor(location: Location);
prepareItems(items: NbMenuItem[]): void;
selectFromUrl(items: NbMenuItem[], tag: string, collapseOther?: boolean): void;
selectItem(item: NbMenuItem, items: NbMenuItem[], collapseOther: boolean, tag: string): void;
collapseAll(items: NbMenuItem[], tag: string, except?: NbMenuItem): void;
onAddItem(): Observable<{
tag: string;
items: NbMenuItem[];
}>;
onNavigateHome(): Observable<{
tag: string;
}>;
onCollapseAll(): Observable<{
tag: string;
}>;
onGetSelectedItem(): Observable<{
tag: string;
listener: BehaviorSubject<NbMenuBag>;
}>;
itemHover(item: NbMenuItem, tag?: string): void;
submenuToggle(item: NbMenuItem, tag?: string): void;
itemSelect(item: NbMenuItem, tag?: string): void;
itemClick(item: NbMenuItem, tag?: string): void;
private resetSelection;
private collapseItems;
private applyDefaults;
private setParent;
private findItemByUrl;
private isSelectedInUrl;
}