@aappddeevv/dynamics-client-ui
Version:
## What is it? A library to help you create great dynamics applications.
38 lines • 1.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const Button_1 = require("office-ui-fabric-react/lib/Button");
const ContextualMenu_1 = require("office-ui-fabric-react/lib/ContextualMenu");
/**
* A hidable context menu with a trigger element, typically a button.
* Uses a horiz triple dot for the trigger button by default.
*/
class MenuTrigger extends React.Component {
constructor(props) {
super(props);
this.onClick = () => {
this.setState({ isContextMenuVisible: true });
};
this.onDismiss = () => {
this.setState({ isContextMenuVisible: false });
};
this.state = {
isContextMenuVisible: false
};
}
render() {
return (React.createElement("div", null,
React.createElement(Button_1.IconButton, { onClick: this.onClick, className: "contextualMenuTrigger", title: this.props.title, "aria-label": this.props.title, "aria-hidden": true, iconProps: { iconName: this.props.iconName } }),
this.state.isContextMenuVisible &&
React.createElement(ContextualMenu_1.ContextualMenu, { target: ".contextualMenuTrigger" // could use id or set directly via ref
, shouldFocusOnMount: false, onDismiss: this.onDismiss, directionalHint: this.props.directionalHint, items: this.props.menuItems || [] })));
}
}
MenuTrigger.defaultProps = {
title: "Selections",
iconName: "More",
directionalHint: 4 /* bottomLeftEdge */
};
exports.MenuTrigger = MenuTrigger;
exports.default = MenuTrigger;
//# sourceMappingURL=MenuTrigger.js.map