office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
56 lines (55 loc) • 2.44 kB
TypeScript
import { IContextualMenuProps, IContextualMenuItem } from './ContextualMenu.Props';
import { DirectionalHint } from '../../common/DirectionalHint';
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: IContextualMenuProps;
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(): JSX.Element | null;
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);
}