infinite-menu
Version:
Infinite Menu helps you to create a menu with infinite number of sub menus
124 lines (118 loc) • 6.42 kB
TypeScript
import * as _angular_platform_browser from '@angular/platform-browser';
import { DomSanitizer } from '@angular/platform-browser';
import * as i0 from '@angular/core';
import { TemplateRef, EventEmitter, SimpleChanges } from '@angular/core';
import * as i3 from '@angular/common';
import * as i4 from '@angular/cdk/menu';
declare class InfiniteMenuService {
private sanitizer;
constructor(sanitizer: DomSanitizer);
static LoadedIcons: any;
GetFluentUiIconsSvgName(iconName: string): any;
static ɵfac: i0.ɵɵFactoryDeclaration<InfiniteMenuService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<InfiniteMenuService>;
}
interface MenuData {
Title: string;
Children: Array<MenuData>;
MenuLoc?: number;
IsOpen?: boolean;
CustomData?: any;
Id?: string;
Icon?: string;
IconType?: IconType;
OpenSubOnAnyClick?: boolean;
}
interface RGBModel {
r: number;
g: number;
b: number;
}
declare enum IconType {
SVG = 0,
FluentIcons = 1,
Image = 2
}
interface MenuStyles {
Location: number;
BackgroundColor?: string;
TextColor?: string;
PaddingLeft?: string;
OnHoverBackgroundColor?: string;
OnHoverTextColor?: string;
}
declare class InfiniteMenuComponent {
MenuModel: Array<MenuData>;
RGB: RGBModel;
ShadeMultiplier: number;
ShowOpenForAll: boolean;
IconHeight: string;
IconWidth: string;
MenuStyles: Array<MenuStyles>;
Loading: boolean;
ShowOnlyIcon: boolean;
SingleMenuHeight: number;
ContextMenuTemplate: TemplateRef<any> | null;
MenuModelChange: EventEmitter<MenuData[]>;
MenuSelected: EventEmitter<MenuData>;
MenuOpenCloseChanged: EventEmitter<MenuData>;
MenuItemOnContextMenu: EventEmitter<any>;
constructor();
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
SetUpMenuModel(): void;
UpdateIDandLocForMenu(MenuData: MenuData, Loc: number): void;
_MenuSelected(MenuData: MenuData): void;
_MenuOpenCloseChanged(MenuData: MenuData): void;
UnselectAll(): void;
private _UnselectAll;
_MenuItemOnContextMenu(EventData: any): void;
static ɵfac: i0.ɵɵFactoryDeclaration<InfiniteMenuComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<InfiniteMenuComponent, "InfiniteMenu", never, { "MenuModel": { "alias": "MenuModel"; "required": false; }; "RGB": { "alias": "RGB"; "required": false; }; "ShadeMultiplier": { "alias": "ShadeMultiplier"; "required": false; }; "ShowOpenForAll": { "alias": "ShowOpenForAll"; "required": false; }; "IconHeight": { "alias": "IconHeight"; "required": false; }; "IconWidth": { "alias": "IconWidth"; "required": false; }; "MenuStyles": { "alias": "MenuStyles"; "required": false; }; "Loading": { "alias": "Loading"; "required": false; }; "ShowOnlyIcon": { "alias": "ShowOnlyIcon"; "required": false; }; "SingleMenuHeight": { "alias": "SingleMenuHeight"; "required": false; }; "ContextMenuTemplate": { "alias": "ContextMenuTemplate"; "required": false; }; }, { "MenuModelChange": "MenuModelChange"; "MenuSelected": "MenuSelected"; "MenuOpenCloseChanged": "MenuOpenCloseChanged"; "MenuItemOnContextMenu": "MenuItemOnContextMenu"; }, never, never, false, never>;
}
declare class MenuItemComponent {
private sanitizer;
_InfiniteMenu: InfiniteMenuService;
MenuModel: Array<MenuData>;
RGB: RGBModel;
ShadeMultiplier: number;
ShowOpenForAll: boolean;
IconHeight: string;
IconWidth: string;
MenuStyles: Array<MenuStyles>;
ShowOnlyIcon: boolean;
SingleMenuHeight: number;
ContextMenuTemplate: TemplateRef<any> | null;
MenuSelected: EventEmitter<MenuData>;
MenuOpenCloseChanged: EventEmitter<MenuData>;
MenuItemOnContextMenu: EventEmitter<any>;
constructor(sanitizer: DomSanitizer, _InfiniteMenu: InfiniteMenuService);
get IconType(): typeof IconType;
GetDomSanitizeredImage(image: string): _angular_platform_browser.SafeResourceUrl;
ToggleOption(Id: string | undefined): void;
GetBackgoundColor(MenuData: MenuData): string;
GetTextColor(MenuData: MenuData): string;
GetPadding(Loc: number | undefined): string;
GetOnHoverBackgroundColor(Loc: number | undefined): string;
GetOnHoverTextColor(Loc: number | undefined): string;
GetMenuTitleWidth(MenuData: MenuData): string;
GetMenuHeadWithWithOUtArrow(MenuData: MenuData): string;
GetOptionBodyHeight(MenuData: MenuData): string;
GetChildBodyHeight(MenuData: MenuData): number;
_MenuSelected(MenuData: MenuData): void;
_MenuOpenCloseChanged(MenuData: MenuData): void;
ByPassSecurityTrustHtml(Data: any): _angular_platform_browser.SafeHtml;
HoverOnMenu_MouseEnter(MenuData: MenuData, Element: HTMLElement): void;
HoverOnMenu_MouseLeave(MenuData: MenuData, Element: HTMLElement): void;
_MenuItemOnContextMenu(EventData: any, MenuModel: MenuData): void;
_MenuItemOnContextMenu2(EventData: any): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemComponent, "menu-item", never, { "MenuModel": { "alias": "MenuModel"; "required": false; }; "RGB": { "alias": "RGB"; "required": false; }; "ShadeMultiplier": { "alias": "ShadeMultiplier"; "required": false; }; "ShowOpenForAll": { "alias": "ShowOpenForAll"; "required": false; }; "IconHeight": { "alias": "IconHeight"; "required": false; }; "IconWidth": { "alias": "IconWidth"; "required": false; }; "MenuStyles": { "alias": "MenuStyles"; "required": false; }; "ShowOnlyIcon": { "alias": "ShowOnlyIcon"; "required": false; }; "SingleMenuHeight": { "alias": "SingleMenuHeight"; "required": false; }; "ContextMenuTemplate": { "alias": "ContextMenuTemplate"; "required": false; }; }, { "MenuSelected": "MenuSelected"; "MenuOpenCloseChanged": "MenuOpenCloseChanged"; "MenuItemOnContextMenu": "MenuItemOnContextMenu"; }, never, never, false, never>;
}
declare class InfiniteMenuModule {
static ɵfac: i0.ɵɵFactoryDeclaration<InfiniteMenuModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<InfiniteMenuModule, [typeof InfiniteMenuComponent, typeof MenuItemComponent], [typeof i3.CommonModule, typeof i4.CdkMenuModule], [typeof InfiniteMenuComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<InfiniteMenuModule>;
}
export { IconType, InfiniteMenuComponent, InfiniteMenuModule, InfiniteMenuService };
export type { MenuData, MenuStyles, RGBModel };