@syncfusion/ej2-navigations
Version:
A package of Essential JS 2 navigation components such as Tree-view, Tab, Toolbar, Context-menu, and Accordion which is used to navigate from one page to another
128 lines (127 loc) • 3.74 kB
TypeScript
/// <reference path="../common/menu-base-model.d.ts" />
import { INotifyPropertyChanged } from '@syncfusion/ej2-base';
import { MenuBase } from '../common/menu-base';
import { FieldSettingsModel } from '../common/menu-base-model';
import { MenuModel } from './menu-model';
/**
* Defines the different types of orientation option available in the Menu.
* ```props
* Horizontal - It renders the menu in a horizontal orientation mode.
* Vertical - It renders the menu in a vertical orientation mode.
* ```
*/
export declare type Orientation = 'Horizontal' | 'Vertical';
/**
* The Menu is a graphical user interface that serve as navigation headers for your application or site.
* ```html
* <ul id = 'menu'></ul>
* ```
* ```typescript
* <script>
* var menuObj = new Menu({ items: [{ text: 'Home' }, { text: 'Contact Us' },{ text: 'Login' }]});
* menuObj.appendTo("#menu");
* </script>
* ```
*/
export declare class Menu extends MenuBase implements INotifyPropertyChanged {
private tempItems;
/**
* Specified the orientation of Menu whether it can be horizontal or vertical.
*
* @default 'Horizontal'
*/
orientation: Orientation;
/**
* Specifies target element to open/close Menu while click in Hamburger mode.
*
* @default ''
*/
target: string;
/**
* Specifies the template for Menu item.
*
* @default null
* @aspType string
*/
template: string | Function;
/**
* Specifies whether to enable / disable the scrollable option in Menu.
*
* @default false
*/
enableScrolling: boolean;
/**
* Specifies whether to enable / disable the hamburger mode in Menu.
*
* @default false
*/
hamburgerMode: boolean;
/**
* Specifies the title text for hamburger mode in Menu.
*
* @default 'Menu'
*/
title: string;
/**
* Specifies whether to enable the rendering of untrusted HTML values in the Menu component.
* If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
*
* @default true
*/
enableHtmlSanitizer: boolean;
/**
* Specifies mapping fields from the dataSource.
*
* @default { itemId: "id", text: "text", parentId: "parentId", iconCss: "iconCss", url: "url", separator: "separator",
* children: "items" }
*/
fields: FieldSettingsModel;
/**
* Constructor for creating the component.
*
* @private
* @param {MenuModel} options - Specifies the menu model
* @param {string} element - Specifies the element
*/
constructor(options?: MenuModel, element?: string | HTMLUListElement);
/**
* Get module name.
*
* @private
* @returns {string} - Module Name
*/
protected getModuleName(): string;
/**
* For internal use only - prerender processing.
*
* @private
* @returns {void}
*/
protected preRender(): void;
protected initialize(): void;
private updateMenuItems;
/**
* Called internally if any of the property value changed.
*
* @private
* @param {MenuModel} newProp - Specifies the new properties.
* @param {MenuModel} oldProp - Specifies the old properties.
* @returns {void}
*/
onPropertyChanged(newProp: MenuModel, oldProp: MenuModel): void;
private createMenuItems;
/**
* This method is used to open the Menu in hamburger mode.
*
* @function open
* @returns {void}
*/
open(): void;
/**
* Closes the Menu if it is opened in hamburger mode.
*
* @function close
* @returns {void}
*/
close(): void;
}