@js-sugar/angular
Version:
JS-Sugar core package (Angular)
50 lines (49 loc) • 1.51 kB
TypeScript
import { ShowCondition } from '../../security';
export interface MenuItemOptions<DataType> {
id?: any;
parent?: MenuItem;
disabled?: boolean;
active?: any;
show?: boolean;
showCondition?: ShowCondition;
data?: DataType;
}
export declare abstract class MenuItem<DataType = any> {
id?: any;
parent?: MenuItem;
data?: DataType;
showCondition?: ShowCondition;
disabled: boolean;
active: boolean;
show: boolean;
private _depth?;
constructor(options?: MenuItemOptions<DataType>);
get depth(): number;
}
export declare class GroupMenuItem<DataType = any, IconType = string> extends MenuItem<DataType> {
text?: string;
icon?: IconType;
children: MenuItem<any>[];
expanded: boolean;
constructor(options: MenuItemOptions<DataType> & {
text?: string;
icon?: IconType;
children: MenuItem<any>[];
expanded?: boolean;
});
}
export declare class TextMenuItem<DataType = any, IconType = string> extends MenuItem<DataType> {
text: string;
icon?: IconType;
routerLink?: string[];
readonly click?: (e: MouseEvent) => void;
constructor(options: MenuItemOptions<DataType> & {
text: string;
icon?: IconType;
routerLink?: string[];
click?: (e: MouseEvent) => void;
});
}
export declare class DividerMenuItem<DataType = any> extends MenuItem<DataType> {
constructor(options?: MenuItemOptions<DataType>);
}