UNPKG

@uifabric/experiments

Version:

Experimental React components for building experiences for Office 365.

52 lines 2.11 kB
define(["require", "exports", "tslib", "../../../utilities/BaseState"], function (require, exports, tslib_1, BaseState_1) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var MenuButtonState = /** @class */ (function (_super) { tslib_1.__extends(MenuButtonState, _super); function MenuButtonState(props) { var _this = _super.call(this, props, { controlledProps: ['expanded'] }) || this; _this._onMenuDismiss = function () { _this.setState({ expanded: false }); }; _this._onClick = function (ev) { var _a = _this.props, disabled = _a.disabled, onClick = _a.onClick; if (!disabled) { if (onClick) { onClick(ev); if (ev.defaultPrevented) { return; } } _this.setState({ expanded: !_this.state.expanded, menuTarget: ev.currentTarget }); } }; _this._onKeyDown = function (ev) { var disabled = _this.props.disabled; if (!disabled && (ev.altKey || ev.metaKey) && ev.keyCode === 40) { _this.setState({ expanded: !_this.state.expanded, menuTarget: ev.currentTarget }); } }; _this.state = { expanded: !!props.defaultExpanded, onClick: _this._onClick, onKeyDown: _this._onKeyDown, onMenuDismiss: _this._onMenuDismiss, menuTarget: undefined }; return _this; } return MenuButtonState; }(BaseState_1.BaseState)); exports.MenuButtonState = MenuButtonState; }); //# sourceMappingURL=MenuButton.state.js.map