office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
51 lines • 2.32 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var React = require("react");
var index_1 = require("../../utilities/contextualMenu/index");
var Utilities_1 = require("../../Utilities");
var Icon_1 = require("../../Icon");
var renderItemIcon = function (_a) {
var hasIcons = _a.hasIcons, item = _a.item, classNames = _a.classNames;
// Only present to allow continued use of item.icon which is deprecated.
var iconProps = item.iconProps, icon = item.icon;
if (!hasIcons) {
return null;
}
if (iconProps) {
return React.createElement(Icon_1.Icon, tslib_1.__assign({}, iconProps, { className: classNames.icon }));
}
return React.createElement(Icon_1.Icon, { iconName: icon, className: classNames.icon });
};
var renderCheckMarkIcon = function (_a) {
var onCheckmarkClick = _a.onCheckmarkClick, item = _a.item, classNames = _a.classNames;
var isItemChecked = index_1.getIsChecked(item);
if (onCheckmarkClick) {
var onClick = function (e) { return onCheckmarkClick(item, e); };
return (React.createElement(Icon_1.Icon, { iconName: isItemChecked ? 'CheckMark' : '', className: classNames.checkmarkIcon, onClick: onClick }));
}
return null;
};
var renderItemName = function (_a) {
var item = _a.item, classNames = _a.classNames;
if (item.name) {
return React.createElement("span", { className: classNames.label }, item.name);
}
return null;
};
var renderSubMenuIcon = function (_a) {
var item = _a.item, classNames = _a.classNames;
if (index_1.hasSubmenu(item)) {
return (React.createElement(Icon_1.Icon, tslib_1.__assign({ iconName: Utilities_1.getRTL() ? 'ChevronLeft' : 'ChevronRight' }, item.submenuIconProps, { className: classNames.subMenuIcon })));
}
return null;
};
exports.ContextualMenuItem = function (props) {
var item = props.item, classNames = props.classNames;
return (React.createElement("div", { className: item.split ? classNames.linkContentMenu : classNames.linkContent },
renderCheckMarkIcon(props),
renderItemIcon(props),
renderItemName(props),
renderSubMenuIcon(props)));
};
//# sourceMappingURL=ContextualMenuItem.js.map
;