|
|
|
@ -44,7 +44,7 @@ export default class Center extends PureComponent { |
|
|
|
|
|
|
|
componentDidMount() { |
|
|
|
const { dispatch } = this.props; |
|
|
|
this.props.dispatch({ |
|
|
|
dispatch({ |
|
|
|
type: 'user/fetchCurrent', |
|
|
|
}); |
|
|
|
dispatch({ |
|
|
|
@ -58,7 +58,7 @@ export default class Center extends PureComponent { |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
onTabChange = (key) => { |
|
|
|
onTabChange = key => { |
|
|
|
this.setState({ key }); |
|
|
|
}; |
|
|
|
|
|
|
|
@ -66,11 +66,11 @@ export default class Center extends PureComponent { |
|
|
|
this.setState({ inputVisible: true }, () => this.input.focus()); |
|
|
|
}; |
|
|
|
|
|
|
|
saveInputRef = (input) => { |
|
|
|
saveInputRef = input => { |
|
|
|
this.input = input; |
|
|
|
}; |
|
|
|
|
|
|
|
handleInputChange = (e) => { |
|
|
|
handleInputChange = e => { |
|
|
|
this.setState({ inputValue: e.target.value }); |
|
|
|
}; |
|
|
|
|
|
|
|
@ -78,14 +78,8 @@ export default class Center extends PureComponent { |
|
|
|
const { state } = this; |
|
|
|
const { inputValue } = state; |
|
|
|
let { newTags } = state; |
|
|
|
if ( |
|
|
|
inputValue && |
|
|
|
newTags.filter(tag => tag.label === inputValue).length === 0 |
|
|
|
) { |
|
|
|
newTags = [ |
|
|
|
...newTags, |
|
|
|
{ key: `new-${newTags.length}`, label: inputValue }, |
|
|
|
]; |
|
|
|
if (inputValue && newTags.filter(tag => tag.label === inputValue).length === 0) { |
|
|
|
newTags = [...newTags, { key: `new-${newTags.length}`, label: inputValue }]; |
|
|
|
} |
|
|
|
this.setState({ |
|
|
|
newTags, |
|
|
|
@ -101,9 +95,7 @@ export default class Center extends PureComponent { |
|
|
|
{text} |
|
|
|
</span> |
|
|
|
); |
|
|
|
const ListContent = ({ |
|
|
|
data: { content, updatedAt, avatar, owner, href }, |
|
|
|
}) => ( |
|
|
|
const ListContent = ({ data: { content, updatedAt, avatar, owner, href } }) => ( |
|
|
|
<div className={stylesArticles.listContent}> |
|
|
|
<div className={stylesArticles.description}>{content}</div> |
|
|
|
<div className={stylesArticles.extra}> |
|
|
|
@ -132,10 +124,7 @@ export default class Center extends PureComponent { |
|
|
|
> |
|
|
|
<List.Item.Meta |
|
|
|
title={ |
|
|
|
<a |
|
|
|
className={stylesArticles.listItemMetaTitle} |
|
|
|
href={item.href} |
|
|
|
> |
|
|
|
<a className={stylesArticles.listItemMetaTitle} href={item.href}> |
|
|
|
{item.title} |
|
|
|
</a> |
|
|
|
} |
|
|
|
@ -158,29 +147,17 @@ export default class Center extends PureComponent { |
|
|
|
const itemMenu = ( |
|
|
|
<Menu> |
|
|
|
<Menu.Item> |
|
|
|
<a |
|
|
|
target="_blank" |
|
|
|
rel="noopener noreferrer" |
|
|
|
href="http://www.alipay.com/" |
|
|
|
> |
|
|
|
<a target="_blank" rel="noopener noreferrer" href="http://www.alipay.com/"> |
|
|
|
1st menu item |
|
|
|
</a> |
|
|
|
</Menu.Item> |
|
|
|
<Menu.Item> |
|
|
|
<a |
|
|
|
target="_blank" |
|
|
|
rel="noopener noreferrer" |
|
|
|
href="http://www.taobao.com/" |
|
|
|
> |
|
|
|
<a target="_blank" rel="noopener noreferrer" href="http://www.taobao.com/"> |
|
|
|
2nd menu item |
|
|
|
</a> |
|
|
|
</Menu.Item> |
|
|
|
<Menu.Item> |
|
|
|
<a |
|
|
|
target="_blank" |
|
|
|
rel="noopener noreferrer" |
|
|
|
href="http://www.tmall.com/" |
|
|
|
> |
|
|
|
<a target="_blank" rel="noopener noreferrer" href="http://www.tmall.com/"> |
|
|
|
3d menu item |
|
|
|
</a> |
|
|
|
</Menu.Item> |
|
|
|
@ -225,10 +202,7 @@ export default class Center extends PureComponent { |
|
|
|
</Dropdown>, |
|
|
|
]} |
|
|
|
> |
|
|
|
<Card.Meta |
|
|
|
avatar={<Avatar size="small" src={item.avatar} />} |
|
|
|
title={item.title} |
|
|
|
/> |
|
|
|
<Card.Meta avatar={<Avatar size="small" src={item.avatar} />} title={item.title} /> |
|
|
|
<div className={stylesApplications.cardItemContent}> |
|
|
|
<CardInfo |
|
|
|
activeUser={formatWan(item.activeUser)} |
|
|
|
@ -257,10 +231,7 @@ export default class Center extends PureComponent { |
|
|
|
hoverable |
|
|
|
cover={<img alt={item.title} src={item.cover} />} |
|
|
|
> |
|
|
|
<Card.Meta |
|
|
|
title={<a href="#">{item.title}</a>} |
|
|
|
description={item.subDescription} |
|
|
|
/> |
|
|
|
<Card.Meta title={<a href="#">{item.title}</a>} description={item.subDescription} /> |
|
|
|
<div className={stylesProjects.cardItemContent}> |
|
|
|
<span>{moment(item.updatedAt).fromNow()}</span> |
|
|
|
<div className={stylesProjects.avatarList}> |
|
|
|
@ -281,6 +252,7 @@ export default class Center extends PureComponent { |
|
|
|
/> |
|
|
|
); |
|
|
|
}; |
|
|
|
|
|
|
|
renderContent() { |
|
|
|
const { newTags, inputVisible, inputValue } = this.state; |
|
|
|
const { |
|
|
|
@ -335,9 +307,7 @@ export default class Center extends PureComponent { |
|
|
|
<Divider dashed /> |
|
|
|
<div className={styles.tags}> |
|
|
|
<div className={styles.tagsTitle}>标签</div> |
|
|
|
{currentUser.tags |
|
|
|
.concat(newTags) |
|
|
|
.map(item => <Tag key={item.key}>{item.label}</Tag>)} |
|
|
|
{currentUser.tags.concat(newTags).map(item => <Tag key={item.key}>{item.label}</Tag>)} |
|
|
|
{inputVisible && ( |
|
|
|
<Input |
|
|
|
ref={this.saveInputRef} |
|
|
|
@ -351,10 +321,7 @@ export default class Center extends PureComponent { |
|
|
|
/> |
|
|
|
)} |
|
|
|
{!inputVisible && ( |
|
|
|
<Tag |
|
|
|
onClick={this.showInput} |
|
|
|
style={{ background: '#fff', borderStyle: 'dashed' }} |
|
|
|
> |
|
|
|
<Tag onClick={this.showInput} style={{ background: '#fff', borderStyle: 'dashed' }}> |
|
|
|
<Icon type="plus" /> |
|
|
|
</Tag> |
|
|
|
)} |
|
|
|
@ -378,6 +345,7 @@ export default class Center extends PureComponent { |
|
|
|
</div> |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
render() { |
|
|
|
const { |
|
|
|
list: { list }, |
|
|
|
@ -416,17 +384,13 @@ export default class Center extends PureComponent { |
|
|
|
application: this.renderApplications(list, listLoading), |
|
|
|
project: this.renderProjects(list, listLoading), |
|
|
|
}; |
|
|
|
|
|
|
|
const { key } = this.state; |
|
|
|
return ( |
|
|
|
<GridContent> |
|
|
|
<div className={styles.userCenter}> |
|
|
|
<Row gutter={24}> |
|
|
|
<Col lg={7} md={24}> |
|
|
|
<Card |
|
|
|
bordered={false} |
|
|
|
style={{ marginBottom: 24 }} |
|
|
|
loading={currentUserLoading} |
|
|
|
> |
|
|
|
<Card bordered={false} style={{ marginBottom: 24 }} loading={currentUserLoading}> |
|
|
|
{currentUser && Object.keys(currentUser).length |
|
|
|
? this.renderContent() |
|
|
|
: 'loading...'} |
|
|
|
@ -439,7 +403,7 @@ export default class Center extends PureComponent { |
|
|
|
tabList={operationTabList} |
|
|
|
onTabChange={this.onTabChange} |
|
|
|
> |
|
|
|
{contentMap[this.state.key]} |
|
|
|
{contentMap[key]} |
|
|
|
</Card> |
|
|
|
</Col> |
|
|
|
</Row> |
|
|
|
|