Comparing version 2.0.1 to 2.0.2
@@ -32,3 +32,5 @@ # rc-menu@2.x | ||
var titleRight = <span>sub menu <i className="fa fa-caret-right pull-right"></i></span>; | ||
var titleRight1 = <span>sub menu 1 <i className="fa fa-caret-right pull-right"></i></span>; | ||
var titleRight2 = <span>sub menu 2 <i className="fa fa-caret-right pull-right"></i></span>; | ||
var titleRight3 = <span>sub menu 3 <i className="fa fa-caret-right pull-right"></i></span>; | ||
@@ -39,3 +41,3 @@ var leftMenu = ( | ||
<MenuItem key="31">outer</MenuItem> | ||
<SubMenu title={titleRight}> | ||
<SubMenu title={titleRight1}> | ||
<MenuItem key="31">inner inner</MenuItem> | ||
@@ -46,7 +48,7 @@ <MenuItem disabled className="rc-menu-item-divider" /> | ||
key="110" | ||
title={titleRight} | ||
title={titleRight2} | ||
> | ||
<Menu> | ||
<MenuItem key="231">inn</MenuItem> | ||
<SubMenu title={titleRight}> | ||
<SubMenu title={titleRight3}> | ||
<Menu> | ||
@@ -53,0 +55,0 @@ <MenuItem key="231">inner inner</MenuItem> |
@@ -66,6 +66,6 @@ /** @jsx React.DOM */ | ||
case KeyCode.UP: //up | ||
activeKey = self.step(0, -1); | ||
activeKey = self.step(-1); | ||
break; | ||
case KeyCode.DOWN: //down | ||
activeKey = self.step(0, 1); | ||
activeKey = self.step(1); | ||
break; | ||
@@ -82,3 +82,3 @@ } | ||
step: function (active, direction) { | ||
step: function (direction) { | ||
var children = this.newChildren; | ||
@@ -116,3 +116,3 @@ var activeKey = this.state.activeKey; | ||
handleItemMouseEnter: function (key) { | ||
handleItemHover: function (key) { | ||
this.setState({ | ||
@@ -163,3 +163,3 @@ activeKey: key | ||
var newProps = { | ||
onMouseEnter: this.handleItemMouseEnter, | ||
onHover: this.handleItemHover, | ||
active: key === this.state.activeKey, | ||
@@ -166,0 +166,0 @@ onSelect: createChainedFunction(childProps.onSelect, props.onSelect) |
@@ -15,3 +15,3 @@ /** @jsx React.DOM */ | ||
onSelect: React.PropTypes.func, | ||
onMouseEnter: React.PropTypes.func | ||
onHover: React.PropTypes.func | ||
}, | ||
@@ -44,5 +44,9 @@ | ||
handleMouseLeave: function () { | ||
this.props.onHover(null); | ||
}, | ||
handleMouseEnter: function () { | ||
var props = this.props; | ||
props.onMouseEnter(props.eventKey); | ||
props.onHover(props.eventKey); | ||
}, | ||
@@ -56,6 +60,5 @@ | ||
var props = this.props; | ||
var classes = { | ||
}; | ||
classes[this.state.activeClassName]=props.active; | ||
classes[this.state.disabledClassName]=props.disabled; | ||
var classes = {}; | ||
classes[this.state.activeClassName] = props.active; | ||
classes[this.state.disabledClassName] = props.disabled; | ||
classes[this.state.prefixCls] = true; | ||
@@ -66,2 +69,3 @@ var mouseEvent = {}; | ||
onClick: this.handleClick, | ||
onMouseLeave: this.handleMouseLeave, | ||
onMouseEnter: this.handleMouseEnter | ||
@@ -68,0 +72,0 @@ }; |
@@ -47,2 +47,3 @@ /** @jsx React.DOM */ | ||
var menu = this.refs[this.nameRef]; | ||
var self = this; | ||
@@ -59,3 +60,4 @@ if (keyCode === KeyCode.ENTER) { | ||
this.setOpenState(true, function () { | ||
var activeKey = menu.step(null, 1); | ||
var menu = self.refs[self.nameRef]; | ||
var activeKey = menu.step(1); | ||
if (activeKey) { | ||
@@ -89,5 +91,9 @@ menu.setState({ | ||
handleMouseLeave: function () { | ||
this.props.onHover(null); | ||
}, | ||
handleMouseEnter: function () { | ||
var props = this.props; | ||
props.onMouseEnter(props.eventKey); | ||
props.onHover(props.eventKey); | ||
if (props.openOnHover) { | ||
@@ -109,2 +115,3 @@ this.setOpenState(true); | ||
var classes = {}; | ||
var prefixCls = this.state.prefixCls; | ||
classes[this.state.openClassName] = this.state.open; | ||
@@ -114,3 +121,3 @@ classes[this.state.activeClassName] = props.active; | ||
this._menuId = this._menuId || util.guid(); | ||
classes[this.state.prefixCls] = true; | ||
classes[prefixCls] = true; | ||
var clickEvents = {}; | ||
@@ -127,6 +134,6 @@ var mouseEvents = {}; | ||
return ( | ||
<li | ||
{...mouseEvents} | ||
className={joinClasses(props.className, classSet(classes))}> | ||
<li className={joinClasses(props.className, classSet(classes))}> | ||
<div | ||
className={prefixCls + '-title'} | ||
{...mouseEvents} | ||
{...clickEvents} | ||
@@ -139,3 +146,3 @@ aria-expanded={props.active} | ||
</div> | ||
{this.renderChildren(props.children)} | ||
{this.state.open ? this.renderChildren(props.children) : null} | ||
</li> | ||
@@ -142,0 +149,0 @@ ); |
@@ -35,5 +35,4 @@ var util = require('./utils/util'); | ||
} | ||
this.setOpenState(false); | ||
// de active menu | ||
this.props.onMouseEnter(null); | ||
// de active menu cause sub menu hide its menu | ||
this.props.onHover(null); | ||
}, | ||
@@ -40,0 +39,0 @@ |
{ | ||
"name": "rc-menu", | ||
"version": "2.0.1", | ||
"version": "2.0.2", | ||
"description": "menu ui component for react", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -83,9 +83,8 @@ /** @jsx React.DOM */ | ||
it('Should fire `keyDown` event', function (done) { | ||
var instance = React.render( | ||
<Menu activeKey={12}> | ||
<MenuItem key={12} ref="item1">Pill 1 content</MenuItem> | ||
<Menu activeKey="12"> | ||
<MenuItem key="12" ref="item1">Pill 1 content</MenuItem> | ||
<MenuItem disabled /> | ||
<MenuItem key={2} ref="item2">Pill 2 content</MenuItem> | ||
<SubMenu key={1} ref="item3" className="dropdown-submenu" title="right"> | ||
<MenuItem key="2" ref="item2">Pill 2 content</MenuItem> | ||
<SubMenu key="1" ref="item3" className="dropdown-submenu" title="right"> | ||
<Menu className="dropdown-menu" ref="_menu"> | ||
@@ -102,4 +101,4 @@ <MenuItem key="231">inner inner</MenuItem> | ||
done(); | ||
}, 100); | ||
}, 10); | ||
}); | ||
}); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
40147
921