UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

64 lines (63 loc) 2.66 kB
import { IContextualMenuProps, IContextualMenuItem } from './ContextualMenu.Props'; import { DirectionalHint } from '../../common/DirectionalHint'; import { FocusZoneDirection } from '../../FocusZone'; import { BaseComponent } from '../../Utilities'; export interface IContextualMenuState { expandedMenuItemKey?: string; dismissedMenuItemKey?: string; contextualMenuItems?: IContextualMenuItem[]; contextualMenuTarget?: HTMLElement; submenuTarget?: HTMLElement; positions?: any; slideDirectionalClassName?: string; subMenuId?: string; submenuDirection?: DirectionalHint; } export declare function hasSubmenuItems(item: IContextualMenuItem): boolean; export declare function getSubmenuItems(item: IContextualMenuItem): IContextualMenuItem[]; export declare class ContextualMenu extends BaseComponent<IContextualMenuProps, IContextualMenuState> { static defaultProps: { items: any[]; shouldFocusOnMount: boolean; gapSpace: number; directionalHint: DirectionalHint; beakWidth: number; arrowDirection: FocusZoneDirection; }; private _host; private _previousActiveElement; private _isFocusingPreviousElement; private _enterTimerId; private _focusZone; private _targetWindow; private _target; constructor(props: IContextualMenuProps); dismiss(ev?: any, dismissAll?: boolean): void; componentWillUpdate(newProps: IContextualMenuProps): void; componentWillMount(): void; componentDidMount(): void; componentWillUnmount(): void; render(): any; private _renderMenuItem(item, index, hasCheckmarks, hasIcons); private _renderListItem(content, key, className?, title?); private _renderSeparator(index, className?); private _renderNormalItem(item, index, hasCheckmarks, hasIcons); private _renderHeaderMenuItem(item, index, hasCheckmarks, hasIcons); private _renderAnchorMenuItem(item, index, hasCheckmarks, hasIcons); private _renderButtonItem(item, index, hasCheckmarks?, hasIcons?); private _renderMenuItemChildren(item, index, hasCheckmarks, hasIcons); private _renderIcon(item); private _onKeyDown(ev); private _onItemMouseEnter(item, ev); private _onMouseLeave(ev); private _onItemMouseDown(item, ev); private _onItemClick(item, ev); private _onAnchorClick(item, ev); private _executeItemClick(item, ev); private _onItemKeyDown(item, ev); private _onItemSubMenuExpand(item, target); private _getSubmenuProps(); private _findItemByKey(key); private _onSubMenuDismiss(ev?, dismissAll?); private _setTargetWindowAndElement(target); }