Merge branch 'master' into 2.0

pull/2144/head
tangjinzhou 2020-04-15 22:05:10 +08:00
commit 1836b2e7f4
24 changed files with 91 additions and 48 deletions

View File

@ -10,6 +10,21 @@
---
## 1.5.3
`2020-04-13`
- ๐Ÿž Fix the problem that the content does not respond to updates when `Dropdown` visible is unchanged [#81eb40](https://github.com/vueComponent/ant-design-vue/commit/81eb401a8899aa3fe0acca88340b323f6e09db45)
## 1.5.2
`2020-04-09`
- ๐Ÿž Fix ts type of `FormModel` not introduced [# 1996](https://github.com/vueComponent/ant-design-vue/issues/1966)
- ๐Ÿž Fix `DatePicker.WeekPicker` type file error [# 2044](https://github.com/vueComponent/ant-design-vue/issues/2044)
- ๐Ÿž Fix "Tabs" tabClick event does not take effect [# 2030](https://github.com/vueComponent/ant-design-vue/issues/2030)
- ๐Ÿž Fix `Table` resize error issue [# 2033](https://github.com/vueComponent/ant-design-vue/issues/2033)
## 1.5.1
`2020-04-02`
@ -20,7 +35,7 @@
- ๐Ÿž Fix `Table` customRender cannot customize class style [#2004](https://github.com/vueComponent/ant-design-vue/pull/2004)
- ๐Ÿž Fix `Form` missing slot content when using Form.create [#1998](https://github.com/vueComponent/ant-design-vue/pull/1998)
- ๐Ÿž Fix `Textarea` scroll bar flickering problem [#1964](https://github.com/vueComponent/ant-design-vue/pull/1964)
- ๐ŸŒŸ Add ts type file of `FormModel` [#1996](https://github.com/vueComponent/ant-design-vue/pull/1966)
- ๐ŸŒŸ Add ts type file of `FormModel` [#1996](https://github.com/vueComponent/ant-design-vue/issues/1966)
- ๐ŸŒŸ Add `modal` destroyAll type declaration [#1993](https://github.com/vueComponent/ant-design-vue/pull/1963)
## 1.5.0

View File

@ -10,6 +10,21 @@
---
## 1.5.3
`2020-04-13`
- ๐Ÿž ไฟฎๅค `Dropdown` visible ไธๅ˜ๆ—ถ๏ผŒๅ†…ๅฎนไธๅ“ๅบ”ๆ›ดๆ–ฐ็š„้—ฎ้ข˜ [#81eb40](https://github.com/vueComponent/ant-design-vue/commit/81eb401a8899aa3fe0acca88340b323f6e09db45)
## 1.5.2
`2020-04-09`
- ๐Ÿž ไฟฎๅค `FormModel` ็š„ ts ็ฑปๅž‹ๆœชๅผ•ๅ…ฅ [#1996](https://github.com/vueComponent/ant-design-vue/issues/1966)
- ๐Ÿž ไฟฎๅค `DatePicker.WeekPicker` ็š„็ฑปๅž‹ๆ–‡ไปถ้”™่ฏฏ [#2044](https://github.com/vueComponent/ant-design-vue/issues/2044)
- ๐Ÿž ไฟฎๅค `Tabs` tabClick ไบ‹ไปถไธ็”Ÿๆ•ˆ้—ฎ้ข˜ [#2030](https://github.com/vueComponent/ant-design-vue/issues/2030)
- ๐Ÿž ไฟฎๅค `Table` resize ๆ—ถๆŠฅ้”™้—ฎ้ข˜ [#2033](https://github.com/vueComponent/ant-design-vue/issues/2033)
## 1.5.1
`2020-04-02`
@ -20,7 +35,7 @@
- ๐Ÿž ไฟฎๅค `Table` customRender ไธ่ƒฝ่‡ชๅฎšไน‰ class style ้—ฎ้ข˜ [#2004](https://github.com/vueComponent/ant-design-vue/pull/2004)
- ๐Ÿž ไฟฎๅค `Form` ไฝฟ็”จ Form.create ๆ—ถ๏ผŒไธขๅคฑๆ’ๆงฝๅ†…ๅฎน้—ฎ้ข˜ [#1998](https://github.com/vueComponent/ant-design-vue/pull/1998)
- ๐Ÿž ไฟฎๅค `Textarea` ๆปšๅŠจๆก้—ชๅŠจ้—ฎ้ข˜ [#1964](https://github.com/vueComponent/ant-design-vue/pull/1964)
- ๐ŸŒŸ ๆทปๅŠ  `FormModel` ็š„ ts ็ฑปๅž‹ๆ–‡ไปถ [#1996](https://github.com/vueComponent/ant-design-vue/pull/1966)
- ๐ŸŒŸ ๆทปๅŠ  `FormModel` ็š„ ts ็ฑปๅž‹ๆ–‡ไปถ [#1996](https://github.com/vueComponent/ant-design-vue/issues/1966)
- ๐ŸŒŸ ๆทปๅŠ  `Modal` ็š„ destroyAll ็ฑปๅž‹ๅฃฐๆ˜Ž [#1993](https://github.com/vueComponent/ant-design-vue/pull/1963)
## 1.5.0

View File

@ -11,7 +11,7 @@ const transformLess = require('./transformLess');
const webpack = require('webpack');
const babel = require('gulp-babel');
const argv = require('minimist')(process.argv.slice(2));
const GitHub = require('@octokit/rest');
const { Octokit } = require('@octokit/rest');
const packageJson = require(`${process.cwd()}/package.json`);
// const getNpm = require('./getNpm')
@ -168,10 +168,8 @@ function githubRelease(done) {
console.log('no changelog found, skip');
return;
}
const github = new GitHub();
github.authenticate({
type: 'oauth',
token: process.env.GITHUB_TOKEN,
const github = new Octokit({
auth: process.env.GITHUB_TOKEN,
});
const date = new Date();
const { version } = packageJson;
@ -311,10 +309,8 @@ gulp.task(
if (!process.env.NPM_TOKEN) {
console.log('no NPM token found, skip');
} else {
const github = new GitHub();
github.authenticate({
type: 'oauth',
token: process.env.GITHUB_TOKEN,
const github = new Octokit({
auth: process.env.GITHUB_TOKEN,
});
const [_, owner, repo] = execSync('git remote get-url origin') // eslint-disable-line
.toString()

@ -1 +1 @@
Subproject commit 2061998a1e7fbfdb7a9ab5f8d50803442dfc6fbc
Subproject commit 8dca2d2cfcaaf970f494ebfb65ee55dfca69870c

View File

@ -71,12 +71,18 @@ export default {
}
});
},
methods: {
forceRender(p) {
this.comProps = p;
this.$forceUpdate();
},
},
render() {
return self.getComponent(this.comProps);
},
});
} else {
this._component.comProps = props;
this._component.forceRender(props);
}
}
},

View File

@ -85,6 +85,7 @@ const ClearableLabeledInput = {
[`${prefixCls}-affix-wrapper-input-with-clear-btn`]:
props.suffix && props.allowClear && this.$props.value,
});
return (
<span class={affixWrapperCls} style={props.style}>
{prefix}

View File

@ -136,6 +136,7 @@ export default {
'lazy',
'size',
'inputType',
'className',
]);
const { stateValue, handleKeyDown, handleChange, size, disabled } = this;
const inputProps = {

View File

@ -171,9 +171,9 @@ export default {
prefix: getComponentFromProp(this, 'prefix'),
addonAfter: this.renderAddonAfter(prefixCls),
addonBefore,
className: inputClassName,
},
attrs: this.$attrs,
class: inputClassName,
ref: 'input',
on: {
pressEnter: this.onSearch,

View File

@ -1,5 +1,5 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Input.Search should support custom Button 1`] = `<span class="ant-input-group-wrapper ant-input-search ant-input-search-enter-button"><span class="ant-input-wrapper ant-input-group"><input type="text" class="ant-input"><span class="ant-input-group-addon"><button type="button" class="ant-btn ant-input-search-button"><span>ok</span></button></span></span></span>`;
exports[`Input.Search should support custom Button 1`] = `<span class="ant-input-search ant-input-search-enter-button ant-input-group-wrapper"><span class="ant-input-wrapper ant-input-group"><input type="text" class="ant-input"><span class="ant-input-group-addon"><button type="button" class="ant-btn ant-input-search-button"><span>ok</span></button></span></span></span>`;
exports[`Input.Search should support custom button 1`] = `<span class="ant-input-group-wrapper ant-input-search ant-input-search-enter-button"><span class="ant-input-wrapper ant-input-group"><input type="text" class="ant-input"><span class="ant-input-group-addon"><button type="button" class="">ok</button></span></span></span>`;
exports[`Input.Search should support custom button 1`] = `<span class="ant-input-search ant-input-search-enter-button ant-input-group-wrapper"><span class="ant-input-wrapper ant-input-group"><input type="text" class="ant-input"><span class="ant-input-group-addon"><button type="button" class="">ok</button></span></span></span>`;

View File

@ -15,7 +15,8 @@ exports[`renders ./antdv-demo/docs/input/demo/allowClear.md correctly 1`] = `<di
exports[`renders ./antdv-demo/docs/input/demo/autosize-textarea.md correctly 1`] = `
<div><textarea placeholder="Autosize height based on content lines" class="ant-input" style="height: 0px; min-height: -9007199254740991px; max-height: 9007199254740991px; overflow-y: hidden; overflow-x: hidden;"></textarea>
<div style="margin: 24px 0px;"></div> <textarea placeholder="Autosize height with minimum and maximum number of lines" class="ant-input" style="height: -24px; min-height: -8px; max-height: -24px; overflow-y: hidden; overflow-x: hidden;"></textarea>
<div style="margin: 24px 0px;"></div> <textarea placeholder="Controlled autosize" class="ant-input" style="height: -20px; min-height: -12px; max-height: -20px; overflow-y: hidden; overflow-x: hidden;"></textarea></div>
<div style="margin: 24px 0px;"></div> <textarea placeholder="Controlled autosize" class="ant-input" style="height: -20px; min-height: -12px; max-height: -20px; overflow-y: hidden; overflow-x: hidden;"></textarea>
</div>
`;
exports[`renders ./antdv-demo/docs/input/demo/basic.md correctly 1`] = `<input placeholder="Basic usage" type="text" class="ant-input">`;

View File

@ -32,4 +32,5 @@ export default {
},
maxLength: PropTypes.number,
loading: PropTypes.bool,
className: PropTypes.string,
};

View File

@ -157,7 +157,8 @@ const Skeleton = {
</div>
);
}
return this.$slots.default && this.$slots.default[0];
const children = this.$slots.default;
return children && children.length === 1 ? children[0] : <span>{children}</span>;
},
};
/* istanbul ignore next */

View File

@ -774,7 +774,8 @@ exports[`renders ./antdv-demo/docs/table/demo/expand-children.md correctly 1`] =
<tr class="ant-table-row ant-table-row-level-0" data-row-key="1">
<td class="ant-table-selection-column"><span><label class="ant-checkbox-wrapper"><span class="ant-checkbox"><input type="checkbox" class="ant-checkbox-input" value=""><span class="ant-checkbox-inner"></span></span></label></span></td>
<td class=""><span class="ant-table-row-indent indent-level-0" style="padding-left: 0px;"></span>
<div role="button" tabindex="0" aria-label="Expand row" class="ant-table-row-expand-icon ant-table-row-collapsed"></div>John Brown sr.</td>
<div role="button" tabindex="0" aria-label="Expand row" class="ant-table-row-expand-icon ant-table-row-collapsed"></div>John Brown sr.
</td>
<td class="ant-table-row-cell-break-word">60</td>
<td class="ant-table-row-cell-break-word">New York No. 1 Lake Park</td>
</tr>

View File

@ -21,6 +21,7 @@ const TabBar = {
renderTabBar: PropTypes.func,
panels: PropTypes.array.def([]),
activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
tabBarGutter: PropTypes.number,
},
render() {
const {
@ -38,20 +39,20 @@ const TabBar = {
const isVertical = tabPosition === 'left' || tabPosition === 'right';
const prevIcon = (
<span class={`${prefixCls}-tab-prev-icon`}>
{
isVertical ?
<UpOutlined class={`${prefixCls}-tab-prev-icon-target`} /> :
{isVertical ? (
<UpOutlined class={`${prefixCls}-tab-prev-icon-target`} />
) : (
<LeftOutlined class={`${prefixCls}-tab-prev-icon-target`} />
}
)}
</span>
);
const nextIcon = (
<span class={`${prefixCls}-tab-next-icon`}>
{
isVertical ?
<DownOutlined class={`${prefixCls}-tab-next-icon-target`} /> :
{isVertical ? (
<DownOutlined class={`${prefixCls}-tab-next-icon-target`} />
) : (
<RightOutlined class={`${prefixCls}-tab-next-icon-target`} />
}
)}
</span>
);

View File

@ -163,7 +163,10 @@ export default {
...getOptionProps(this),
prefixCls,
tabBarPosition: tabPosition,
renderTabBar: () => <TabBar {...tabBarProps} />,
// https://github.com/vueComponent/ant-design-vue/issues/2030
// ๅฆ‚ไป…ไผ ้€’ tabBarProps ไผšๅฏผ่‡ด๏ผŒ็ฌฌไบŒๆฌกๆ‰ง่กŒ renderTabBar ๆ—ถ๏ผŒไธขๅคฑ on ๅฑžๆ€ง๏ผŒ
// ๆทปๅŠ keyไน‹ๅŽ๏ผŒไผšๅœจbabel jsx ๆ’ไปถไธญๅšไธ€ๆฌกmerge๏ผŒๆœ€็ปˆTabBarๆŽฅๆ”ถ็š„ๆ˜ฏไธ€ไธชๆ–ฐ็š„ๅฏน่ฑก๏ผŒ่€Œไธๆ˜ฏ tabBarProps
renderTabBar: () => <TabBar key="tabBar" {...tabBarProps} />,
renderTabContent: () => (
<TabContent class={contentCls} animated={tabPaneAnimated} animatedWithMargin />
),

View File

@ -7,8 +7,7 @@ exports[`renders ./antdv-demo/docs/tree-select/demo/basic.md correctly 1`] = `<s
exports[`renders ./antdv-demo/docs/tree-select/demo/checkable.md correctly 1`] = `
<span role="combobox" aria-haspopup="listbox" tabindex="-1" class="ant-select ant-select-enabled" style="width: 100%;"><span class="ant-select-selection ant-select-selection--multiple"><div class="ant-select-selection__rendered"><li unselectable="unselectable" role="menuitem" title="Node1" class="ant-select-selection__choice" style="user-select: none;"><span class="ant-select-selection__choice__remove"><span role="img" aria-label="close" class="anticon anticon-close ant-select-remove-icon"><svg viewBox="64 64 896 896" focusable="false" data-icon="close" width="1em" height="1em" fill="currentColor" aria-hidden="true" class=""><path d="M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z"></path></svg></span></span><span class="ant-select-selection__choice__content">Node1</span></li>
<li class="ant-select-search ant-select-search--inline"><span class="ant-select-search__field__wrap"><input type="text" aria-label="filter select" aria-autocomplete="list" aria-multiline="false" class="ant-select-search__field" style="width: 0px;"><span class="ant-select-search__field__mirror">&nbsp;</span></span></li>
</div>
</span></span>
</div></span></span>
`;
exports[`renders ./antdv-demo/docs/tree-select/demo/multiple.md correctly 1`] = `

View File

@ -13,8 +13,7 @@ exports[`Upload List handle error 1`] = `
</div>
</div>
</div>
</div>
</span></div></span></span>
</div></span></div></span></span>
`;
exports[`Upload List handle error 2`] = `
@ -30,8 +29,7 @@ exports[`Upload List handle error 2`] = `
</div>
</div>
</div>
</div>
</span></div></span></span>
</div></span></div></span></span>
`;
exports[`Upload List should be uploading when upload a file 1`] = `<span><div class="ant-upload ant-upload-select ant-upload-select-text"><span role="button" tabindex="0" class="ant-upload"><input type="file" accept="" style="display: none;"><button>upload</button></span></div><span tag="div" class="ant-upload-list ant-upload-list-text"></span></span>`;

View File

@ -43,6 +43,7 @@ export default {
defaultActiveKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
__propsSymbol__: PropTypes.any,
direction: PropTypes.string.def('ltr'),
tabBarGutter: PropTypes.number,
},
data() {
const props = getOptionProps(this);
@ -193,6 +194,7 @@ export default {
renderTabBar,
destroyInactiveTabPane,
direction,
tabBarGutter,
} = props;
const cls = {
[prefixCls]: 1,
@ -209,6 +211,7 @@ export default {
panels: props.children,
activeKey: this.$data._activeKey,
direction,
tabBarGutter,
},
on: {
keydown: this.onNavKeyDown,

View File

@ -108,17 +108,10 @@ export default {
watch: {
popupVisible(val) {
if (val !== undefined) {
this.prevPopupVisible = this.sPopupVisible;
this.sPopupVisible = val;
this.prevPopupVisible = val;
}
},
sPopupVisible() {
this.$nextTick(() => {
this.renderComponent(null, () => {
this.afterPopupVisibleChange(this.sPopupVisible);
});
});
},
},
deactivated() {
this.setPopupVisible(false);
@ -131,7 +124,13 @@ export default {
},
updated() {
const triggerAfterPopupVisibleChange = () => {
if (this.sPopupVisible !== this.prevPopupVisible) {
this.afterPopupVisibleChange(this.sPopupVisible);
}
};
this.$nextTick(() => {
this.renderComponent(null, triggerAfterPopupVisibleChange);
this.updatedCal();
});
},

View File

@ -1,6 +1,6 @@
{
"name": "ant-design-vue",
"version": "1.5.1",
"version": "1.5.3",
"title": "Ant Design Vue",
"description": "An enterprise-class UI design language and Vue-based implementation",
"keywords": [
@ -198,7 +198,7 @@
"resize-observer-polyfill": "^1.5.1",
"shallow-equal": "^1.0.0",
"shallowequal": "^1.0.2",
"vue-ref": "^1.0.4",
"vue-ref": "^2.0.0",
"warning": "^4.0.0"
},
"sideEffects": [

View File

@ -1,4 +1,4 @@
const GitHub = require('@octokit/rest');
const { Octokit } = require('@octokit/rest');
const Base64 = require('js-base64').Base64;
const fs = require('fs');
const fse = require('fs-extra');
@ -10,7 +10,7 @@ const tag = '3.26.13';
const clientId = '5f6ccfdc4cdc69f8ba12';
const clientSecret = process.env.CLIENT_SECRET;
const github = new GitHub();
const github = new Octokit();
async function syncFiles(data = []) {
for (const item of data) {

View File

@ -28,6 +28,7 @@ import { Drawer } from './drawer';
import { Dropdown } from './dropdown/dropdown';
import { Empty } from './empty';
import { Form } from './form/form';
import { FormModel } from './form-model/form';
import { Icon } from './icon';
import { Input } from './input/input';
import { InputNumber } from './input-number';
@ -101,6 +102,7 @@ export {
Dropdown,
Empty,
Form,
FormModel,
Icon,
Input,
InputNumber,

View File

@ -11,7 +11,7 @@ import { WeekPicker } from './week-picker';
export declare class DatePicker extends DatepickerCommon {
static RangePicker: typeof RangePicker;
static MonthPicker: typeof MonthPicker;
static WeekPickerker: typeof WeekPicker;
static WeekPicker: typeof WeekPicker;
/**
* Defualt Value

View File

@ -76,7 +76,7 @@ module.exports = {
},
devServer: {
host: 'localhost',
port: 3000,
port: 3002,
historyApiFallback: {
rewrites: [{ from: /./, to: '/index.html' }],
},