未验证 提交 55c85f77 编写于 作者: W Wei Zhu 提交者: GitHub

Update dependendies (#8150)

* deps: upgrade rc-menu, and close: #2837

* test: update snapshots

* Update rc-calendar

* Update rc-cascader

* Update rc-dialog

* Update dropdown

* Update rc-select@7.1.0

* Update rc-slider

* Update rc-time-picker

* Update rc-tooltip

* Update rc-tree-select

* Mock rc-trigger and Portal

* Fix animation warning when inlineCollapsed changes

* fix: should use SubMenu[popupClassName]

* Fix typescript error

* Fix lint

* fix: style for menu

* Mock rc-trigger for React 15

* Remvoe allow_failures
上级 fe738674
......@@ -19,8 +19,6 @@ matrix:
- env: REACT=15 TEST_TYPE=test:es
- env: REACT=15 TEST_TYPE=test:dom
- env: REACT=15 TEST_TYPE=test:node
allow_failures:
- env: REACT=16 TEST_TYPE=test:dist
before_script:
- scripts/install-react.sh
......
......@@ -17,6 +17,15 @@ timeline: true
---
## 3.0.0
- Select
- 单选和多选模式 Option 支持 number。
- 新增 `maxTagCount``maxTagPlaceholder`
- 新增 `showAction`
- 新增 `onMouseEnter``onMouseLeave`
- 新增 `focus()``blur()``autoFocus`
## 2.13.9
`2017-11-06`
......
......@@ -234,7 +234,7 @@ exports[`RangePicker show month panel according to value 1`] = `
</div>
</td>
<td
class="ant-calendar-cell ant-calendar-selected-day"
class="ant-calendar-cell ant-calendar-selected-start-date ant-calendar-selected-end-date ant-calendar-selected-day"
role="gridcell"
title="2000年1月1日"
>
......@@ -1739,7 +1739,7 @@ exports[`RangePicker switch to corresponding month panel when click presetted ra
</div>
</td>
<td
class="ant-calendar-cell ant-calendar-selected-day"
class="ant-calendar-cell ant-calendar-selected-start-date ant-calendar-selected-end-date ant-calendar-selected-day"
role="gridcell"
title="2000年1月1日"
>
......
......@@ -139,13 +139,13 @@ exports[`renders ./components/layout/demo/custom-trigger.md correctly 1`] = `
/>
<ul
aria-activedescendant=""
class="ant-menu ant-menu-inline ant-menu-dark ant-menu-root"
class="ant-menu ant-menu-dark ant-menu-root ant-menu-inline"
role="menu"
tabindex="0"
>
<li
aria-selected="true"
class="ant-menu-item-selected ant-menu-item"
class="ant-menu-item ant-menu-item-selected"
role="menuitem"
style="padding-left:24px"
>
......@@ -219,7 +219,7 @@ exports[`renders ./components/layout/demo/fixed.md correctly 1`] = `
/>
<ul
aria-activedescendant=""
class="ant-menu ant-menu-horizontal ant-menu-dark ant-menu-root"
class="ant-menu ant-menu-dark ant-menu-root ant-menu-horizontal"
role="menu"
style="line-height:64px"
tabindex="0"
......@@ -233,7 +233,7 @@ exports[`renders ./components/layout/demo/fixed.md correctly 1`] = `
</li>
<li
aria-selected="true"
class="ant-menu-item-selected ant-menu-item"
class="ant-menu-item ant-menu-item-selected"
role="menuitem"
>
nav 2
......@@ -323,7 +323,7 @@ exports[`renders ./components/layout/demo/fixed-sider.md correctly 1`] = `
/>
<ul
aria-activedescendant=""
class="ant-menu ant-menu-inline ant-menu-dark ant-menu-root"
class="ant-menu ant-menu-dark ant-menu-root ant-menu-inline"
role="menu"
tabindex="0"
>
......@@ -374,7 +374,7 @@ exports[`renders ./components/layout/demo/fixed-sider.md correctly 1`] = `
</li>
<li
aria-selected="true"
class="ant-menu-item-selected ant-menu-item"
class="ant-menu-item ant-menu-item-selected"
role="menuitem"
style="padding-left:24px"
>
......@@ -588,7 +588,7 @@ exports[`renders ./components/layout/demo/responsive.md correctly 1`] = `
/>
<ul
aria-activedescendant=""
class="ant-menu ant-menu-inline ant-menu-dark ant-menu-root"
class="ant-menu ant-menu-dark ant-menu-root ant-menu-inline"
role="menu"
tabindex="0"
>
......@@ -639,7 +639,7 @@ exports[`renders ./components/layout/demo/responsive.md correctly 1`] = `
</li>
<li
aria-selected="true"
class="ant-menu-item-selected ant-menu-item"
class="ant-menu-item ant-menu-item-selected"
role="menuitem"
style="padding-left:24px"
>
......@@ -699,13 +699,13 @@ exports[`renders ./components/layout/demo/side.md correctly 1`] = `
/>
<ul
aria-activedescendant=""
class="ant-menu ant-menu-inline ant-menu-dark ant-menu-root"
class="ant-menu ant-menu-dark ant-menu-root ant-menu-inline"
role="menu"
tabindex="0"
>
<li
aria-selected="true"
class="ant-menu-item-selected ant-menu-item"
class="ant-menu-item ant-menu-item-selected"
role="menuitem"
style="padding-left:24px"
>
......@@ -730,7 +730,7 @@ exports[`renders ./components/layout/demo/side.md correctly 1`] = `
</span>
</li>
<li
class="ant-menu-submenu-inline ant-menu-submenu"
class="ant-menu-submenu ant-menu-submenu-inline"
>
<div
aria-expanded="false"
......@@ -753,7 +753,7 @@ exports[`renders ./components/layout/demo/side.md correctly 1`] = `
</div>
</li>
<li
class="ant-menu-submenu-inline ant-menu-submenu"
class="ant-menu-submenu ant-menu-submenu-inline"
>
<div
aria-expanded="false"
......@@ -867,7 +867,7 @@ exports[`renders ./components/layout/demo/top.md correctly 1`] = `
/>
<ul
aria-activedescendant=""
class="ant-menu ant-menu-horizontal ant-menu-dark ant-menu-root"
class="ant-menu ant-menu-dark ant-menu-root ant-menu-horizontal"
role="menu"
style="line-height:64px"
tabindex="0"
......@@ -881,7 +881,7 @@ exports[`renders ./components/layout/demo/top.md correctly 1`] = `
</li>
<li
aria-selected="true"
class="ant-menu-item-selected ant-menu-item"
class="ant-menu-item ant-menu-item-selected"
role="menuitem"
>
nav 2
......@@ -967,7 +967,7 @@ exports[`renders ./components/layout/demo/top-side.md correctly 1`] = `
/>
<ul
aria-activedescendant=""
class="ant-menu ant-menu-horizontal ant-menu-dark ant-menu-root"
class="ant-menu ant-menu-dark ant-menu-root ant-menu-horizontal"
role="menu"
style="line-height:64px"
tabindex="0"
......@@ -981,7 +981,7 @@ exports[`renders ./components/layout/demo/top-side.md correctly 1`] = `
</li>
<li
aria-selected="true"
class="ant-menu-item-selected ant-menu-item"
class="ant-menu-item ant-menu-item-selected"
role="menuitem"
>
nav 2
......@@ -1053,13 +1053,13 @@ exports[`renders ./components/layout/demo/top-side.md correctly 1`] = `
>
<ul
aria-activedescendant=""
class="ant-menu ant-menu-inline ant-menu-light ant-menu-root"
class="ant-menu ant-menu-light ant-menu-root ant-menu-inline"
role="menu"
style="height:100%"
tabindex="0"
>
<li
class="ant-menu-submenu-inline ant-menu-submenu-open ant-menu-submenu-selected ant-menu-submenu"
class="ant-menu-submenu ant-menu-submenu-inline ant-menu-submenu-open ant-menu-submenu-selected"
>
<div
aria-expanded="true"
......@@ -1080,13 +1080,13 @@ exports[`renders ./components/layout/demo/top-side.md correctly 1`] = `
</div>
<ul
aria-activedescendant=""
class="ant-menu ant-menu-inline ant-menu-sub"
class="ant-menu ant-menu-sub ant-menu-inline"
id="sub1$Menu"
role="menu"
>
<li
aria-selected="true"
class="ant-menu-item-selected ant-menu-item"
class="ant-menu-item ant-menu-item-selected"
role="menuitem"
style="padding-left:48px"
>
......@@ -1119,7 +1119,7 @@ exports[`renders ./components/layout/demo/top-side.md correctly 1`] = `
</ul>
</li>
<li
class="ant-menu-submenu-inline ant-menu-submenu"
class="ant-menu-submenu ant-menu-submenu-inline"
>
<div
aria-expanded="false"
......@@ -1140,7 +1140,7 @@ exports[`renders ./components/layout/demo/top-side.md correctly 1`] = `
</div>
</li>
<li
class="ant-menu-submenu-inline ant-menu-submenu"
class="ant-menu-submenu ant-menu-submenu-inline"
>
<div
aria-expanded="false"
......@@ -1192,7 +1192,7 @@ exports[`renders ./components/layout/demo/top-side-2.md correctly 1`] = `
/>
<ul
aria-activedescendant=""
class="ant-menu ant-menu-horizontal ant-menu-dark ant-menu-root"
class="ant-menu ant-menu-dark ant-menu-root ant-menu-horizontal"
role="menu"
style="line-height:64px"
tabindex="0"
......@@ -1206,7 +1206,7 @@ exports[`renders ./components/layout/demo/top-side-2.md correctly 1`] = `
</li>
<li
aria-selected="true"
class="ant-menu-item-selected ant-menu-item"
class="ant-menu-item ant-menu-item-selected"
role="menuitem"
>
nav 2
......@@ -1232,13 +1232,13 @@ exports[`renders ./components/layout/demo/top-side-2.md correctly 1`] = `
>
<ul
aria-activedescendant=""
class="ant-menu ant-menu-inline ant-menu-light ant-menu-root"
class="ant-menu ant-menu-light ant-menu-root ant-menu-inline"
role="menu"
style="height:100%;border-right:0"
tabindex="0"
>
<li
class="ant-menu-submenu-inline ant-menu-submenu-open ant-menu-submenu-selected ant-menu-submenu"
class="ant-menu-submenu ant-menu-submenu-inline ant-menu-submenu-open ant-menu-submenu-selected"
>
<div
aria-expanded="true"
......@@ -1259,13 +1259,13 @@ exports[`renders ./components/layout/demo/top-side-2.md correctly 1`] = `
</div>
<ul
aria-activedescendant=""
class="ant-menu ant-menu-inline ant-menu-sub"
class="ant-menu ant-menu-sub ant-menu-inline"
id="sub1$Menu"
role="menu"
>
<li
aria-selected="true"
class="ant-menu-item-selected ant-menu-item"
class="ant-menu-item ant-menu-item-selected"
role="menuitem"
style="padding-left:48px"
>
......@@ -1298,7 +1298,7 @@ exports[`renders ./components/layout/demo/top-side-2.md correctly 1`] = `
</ul>
</li>
<li
class="ant-menu-submenu-inline ant-menu-submenu"
class="ant-menu-submenu ant-menu-submenu-inline"
>
<div
aria-expanded="false"
......@@ -1319,7 +1319,7 @@ exports[`renders ./components/layout/demo/top-side-2.md correctly 1`] = `
</div>
</li>
<li
class="ant-menu-submenu-inline ant-menu-submenu"
class="ant-menu-submenu ant-menu-submenu-inline"
>
<div
aria-expanded="false"
......
import React from 'react';
import PropTypes from 'prop-types';
import { SubMenu as RcSubMenu } from 'rc-menu';
import classNames from 'classnames';
class SubMenu extends React.Component<any, any> {
static contextTypes = {
antdMenuTheme: PropTypes.string,
};
render() {
const { rootPrefixCls, className } = this.props;
const theme = this.context.antdMenuTheme;
return (
<RcSubMenu
{...this.props}
popupClassName={classNames(`${rootPrefixCls}-${theme}`, className)}
/>
);
}
}
export default SubMenu;
......@@ -32,7 +32,7 @@ More layouts with navigation: [layout](/components/layout).
| defaultSelectedKeys | array with the keys of default selected menu items | string\[] | |
| inlineCollapsed | specifies the collapsed status when menu is inline mode | boolean | - |
| inlineIndent | indent px of inline menu item on each level | number | 24 |
| mode | type of the menu; `vertical`, `horizontal`, and `inline` modes are supported | string: `vertical` \| `horizontal` \| `inline` | `vertical` |
| mode | type of the menu; `vertical`, `horizontal`, and `inline` modes are supported | string: `vertical` \| `vertical-right` \| `horizontal` \| `inline` | `vertical` |
| multiple | Allow selection of multiple items | boolean | false |
| openKeys | array with the keys of currently opened sub menus | string\[] | |
| selectable | Allow to be selected | boolean | true |
......@@ -44,6 +44,8 @@ More layouts with navigation: [layout](/components/layout).
| onDeselect | callback executed when a menu item is deselected, only supported for multiple mode | function({ item, key, selectedKeys }) | - |
| onOpenChange | called when open/close sub menu | function(openKeys: string\[]) | noop |
| onSelect | callback executed when a menu item is selected | function({ item, key, selectedKeys }) | none |
| subMenuOpenDelay | delay time to show submenu when mouse enter, unit: second | number | 0 |
| subMenuCloseDelay | delay time to hide submenu when mouse leave, unit: second | number | 0.1 |
> More options in [rc-menu](https://github.com/react-component/menu#api)
......
import React from 'react';
import RcMenu, { Divider, SubMenu, ItemGroup } from 'rc-menu';
import RcMenu, { Divider, ItemGroup } from 'rc-menu';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import animation from '../_util/openAnimation';
import warning from '../_util/warning';
import SubMenu from './SubMenu';
import Item from './MenuItem';
export interface SelectParam {
......@@ -23,10 +24,8 @@ export interface ClickParam {
export interface MenuProps {
id?: string;
/** `light` `dark` */
theme?: 'light' | 'dark';
/** enum: `vertical` `horizontal` `inline` */
mode?: 'vertical' | 'horizontal' | 'inline';
mode?: 'vertical' | 'vertical-left' | 'vertical-right' | 'horizontal' | 'inline';
selectable?: boolean;
selectedKeys?: Array<string>;
defaultSelectedKeys?: Array<string>;
......@@ -58,6 +57,7 @@ export default class Menu extends React.Component<MenuProps, any> {
};
static childContextTypes = {
inlineCollapsed: PropTypes.bool,
antdMenuTheme: PropTypes.string,
};
static contextTypes = {
siderCollapsed: PropTypes.bool,
......@@ -92,6 +92,7 @@ export default class Menu extends React.Component<MenuProps, any> {
getChildContext() {
return {
inlineCollapsed: this.getInlineCollapsed(),
antdMenuTheme: this.props.theme,
};
}
componentWillReceiveProps(nextProps, nextContext) {
......@@ -160,6 +161,8 @@ export default class Menu extends React.Component<MenuProps, any> {
menuOpenAnimation = 'slide-up';
break;
case 'vertical':
case 'vertical-left':
case 'vertical-right':
// When mode switch from inline
// submenu should hide without animation
if (this.switchModeFromInline) {
......@@ -176,6 +179,11 @@ export default class Menu extends React.Component<MenuProps, any> {
// Make sure inline menu leave animation finished before mode is switched
this.switchModeFromInline = false;
this.setState({});
// when inlineCollapsed change false to true, all submenu will be unmounted,
// so that we don't need handle animation leaving.
if (this.getRealMenuMode() === 'vertical') {
return;
}
done();
}),
};
......
......@@ -33,7 +33,7 @@ subtitle: 导航菜单
| defaultSelectedKeys | 初始选中的菜单项 key 数组 | string\[] | |
| inlineCollapsed | inline 时菜单是否收起状态 | boolean | - |
| inlineIndent | inline 模式的菜单缩进宽度 | number | 24 |
| mode | 菜单类型,现在支持垂直、水平、和内嵌模式三种 | string: `vertical` `horizontal` `inline` | `vertical` |
| mode | 菜单类型,现在支持垂直、水平、和内嵌模式三种 | string: `vertical` `vertical-right` `horizontal` `inline` | `vertical` |
| multiple | 是否允许多选 | boolean | false |
| openKeys | 当前展开的 SubMenu 菜单项 key 数组 | string\[] | |
| selectable | 是否允许选中 | boolean | true |
......@@ -44,6 +44,8 @@ subtitle: 导航菜单
| onDeselect | 取消选中时调用,仅在 multiple 生效 | function({ item, key, selectedKeys }) | - |
| onOpenChange | SubMenu 展开/关闭的回调 | function(openKeys: string\[]) | noop |
| onSelect | 被选中时调用 | function({ item, key, selectedKeys }) | 无   |
| subMenuOpenDelay | 用户鼠标进入子菜单后开启延时,单位:秒 | number | 0 |
| subMenuCloseDelay | 用户鼠标离开子菜单后关闭延时,单位:秒 | number | 0.1 |
> More options in [rc-menu](https://github.com/react-component/menu#api)
......
此差异已折叠。
......@@ -2,6 +2,8 @@ import React from 'react';
import { mount } from 'enzyme';
import Modal from '..';
jest.mock('rc-util/lib/Portal');
class ModalTester extends React.Component {
constructor(props) {
super(props);
......
......@@ -7,6 +7,7 @@ describe('Modal.confirm triggers callbacks correctly', () => {
afterEach(() => {
errorSpy.mockReset();
document.body.innerHTML = '';
});
afterAll(() => {
......@@ -46,7 +47,7 @@ describe('Modal.confirm triggers callbacks correctly', () => {
onOk,
});
// second Modal
$$('.ant-btn-primary')[1].click();
$$('.ant-btn-primary')[0].click();
expect(onCancel.mock.calls.length).toBe(0);
expect(onOk.mock.calls.length).toBe(1);
});
......@@ -54,14 +55,14 @@ describe('Modal.confirm triggers callbacks correctly', () => {
it('should allow Modal.comfirm without onCancel been set', () => {
open();
// Third Modal
$$('.ant-btn')[4].click();
$$('.ant-btn')[0].click();
expect(errorSpy).not.toHaveBeenCalled();
});
it('should allow Modal.comfirm without onOk been set', () => {
open();
// Fourth Modal
$$('.ant-btn-primary')[3].click();
$$('.ant-btn-primary')[0].click();
expect(errorSpy).not.toHaveBeenCalled();
});
});
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册