1 | 'use strict';
|
2 |
|
3 | exports.__esModule = true;
|
4 |
|
5 | var _extends2 = require('babel-runtime/helpers/extends');
|
6 |
|
7 | var _extends3 = _interopRequireDefault(_extends2);
|
8 |
|
9 | var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
10 |
|
11 | var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
12 |
|
13 | var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
14 |
|
15 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
16 |
|
17 | var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
18 |
|
19 | var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
20 |
|
21 | var _inherits2 = require('babel-runtime/helpers/inherits');
|
22 |
|
23 | var _inherits3 = _interopRequireDefault(_inherits2);
|
24 |
|
25 | var _class, _temp;
|
26 |
|
27 | var _react = require('react');
|
28 |
|
29 | var _react2 = _interopRequireDefault(_react);
|
30 |
|
31 | var _propTypes = require('prop-types');
|
32 |
|
33 | var _propTypes2 = _interopRequireDefault(_propTypes);
|
34 |
|
35 | var _classnames = require('classnames');
|
36 |
|
37 | var _classnames2 = _interopRequireDefault(_classnames);
|
38 |
|
39 | var _menu = require('../menu');
|
40 |
|
41 | var _menu2 = _interopRequireDefault(_menu);
|
42 |
|
43 | var _icon = require('../icon');
|
44 |
|
45 | var _icon2 = _interopRequireDefault(_icon);
|
46 |
|
47 | var _balloon = require('../balloon');
|
48 |
|
49 | var _balloon2 = _interopRequireDefault(_balloon);
|
50 |
|
51 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
52 |
|
53 | var Tooltip = _balloon2.default.Tooltip;
|
54 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
60 | var Item = (_temp = _class = function (_Component) {
|
61 | (0, _inherits3.default)(Item, _Component);
|
62 |
|
63 | function Item() {
|
64 | (0, _classCallCheck3.default)(this, Item);
|
65 | return (0, _possibleConstructorReturn3.default)(this, _Component.apply(this, arguments));
|
66 | }
|
67 |
|
68 | Item.prototype.render = function render() {
|
69 | var _classNames;
|
70 |
|
71 | var _context = this.context,
|
72 | prefix = _context.prefix,
|
73 | iconOnly = _context.iconOnly,
|
74 | iconOnlyWidth = _context.iconOnlyWidth,
|
75 | hasTooltip = _context.hasTooltip,
|
76 | iconTextOnly = _context.iconTextOnly;
|
77 | var _props = this.props,
|
78 | icon = _props.icon,
|
79 | children = _props.children,
|
80 | className = _props.className,
|
81 | others = (0, _objectWithoutProperties3.default)(_props, ['icon', 'children', 'className']);
|
82 |
|
83 | var iconEl = typeof icon === 'string' ? _react2.default.createElement(_icon2.default, { className: prefix + 'nav-icon', type: icon }) : icon;
|
84 |
|
85 | var title = void 0;
|
86 |
|
87 | if (typeof children === 'string') {
|
88 | title = children;
|
89 | }
|
90 |
|
91 | var showChildren = !iconOnly || iconOnly && !iconOnlyWidth || iconTextOnly;
|
92 | var cls = (0, _classnames2.default)((_classNames = {}, _classNames[prefix + 'nav-with-title'] = iconOnly && iconTextOnly, _classNames[className] = !!className, _classNames));
|
93 |
|
94 | var newChildren = showChildren ? iconTextOnly ? _react2.default.createElement(
|
95 | 'span',
|
96 | { className: prefix + 'nav-text' },
|
97 | children
|
98 | ) : children : null;
|
99 |
|
100 | var item = _react2.default.createElement(
|
101 | _menu2.default.Item,
|
102 | (0, _extends3.default)({ title: title, className: cls }, others),
|
103 | iconEl,
|
104 | newChildren
|
105 | );
|
106 |
|
107 | if (iconOnly && hasTooltip && others.parentMode !== 'popup') {
|
108 | return _react2.default.createElement(
|
109 | Tooltip,
|
110 | { align: 'r', trigger: item },
|
111 | children
|
112 | );
|
113 | }
|
114 |
|
115 | return item;
|
116 | };
|
117 |
|
118 | return Item;
|
119 | }(_react.Component), _class.menuChildType = 'item', _class.propTypes = {
|
120 | |
121 |
|
122 |
|
123 | icon: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.node]),
|
124 | |
125 |
|
126 |
|
127 | children: _propTypes2.default.node,
|
128 | parentMode: _propTypes2.default.oneOf(['inline', 'popup'])
|
129 | }, _class.contextTypes = {
|
130 | prefix: _propTypes2.default.string,
|
131 | iconOnly: _propTypes2.default.bool,
|
132 | iconOnlyWidth: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
|
133 | iconTextOnly: _propTypes2.default.bool,
|
134 | hasTooltip: _propTypes2.default.bool
|
135 | }, _temp);
|
136 | Item.displayName = 'Item';
|
137 | exports.default = Item;
|
138 | module.exports = exports['default']; |
\ | No newline at end of file |