Skip to content
This repository was archived by the owner on Nov 1, 2021. It is now read-only.

Commit 6f604a1

Browse files
committed
refactor(users-page): ssr & clean up & fix jump
1 parent 4067cd0 commit 6f604a1

File tree

17 files changed

+107
-291
lines changed

17 files changed

+107
-291
lines changed

containers/Sidebar/CommunitiesRootMenuItem.js

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -123,15 +123,13 @@ const CommunitiesItemBar = ({ active }) => (
123123

124124
const CommunitiesRootMenuItem = ({ activeRaw, activeThread, countsInfo }) => (
125125
<MenuItemWrapper>
126-
<div>
127-
<CommunitiesItemBar active={activeRaw === ROUTE.COMMUNITIES} />
128-
<MenuChildren
129-
activeRaw={activeRaw}
130-
curRaw={ROUTE.COMMUNITIES}
131-
activeThread={activeThread}
132-
countsInfo={countsInfo}
133-
/>
134-
</div>
126+
<CommunitiesItemBar active={activeRaw === ROUTE.COMMUNITIES} />
127+
<MenuChildren
128+
activeRaw={activeRaw}
129+
curRaw={ROUTE.COMMUNITIES}
130+
activeThread={activeThread}
131+
countsInfo={countsInfo}
132+
/>
135133
</MenuItemWrapper>
136134
)
137135

containers/Sidebar/UsersRootMenuItem.js

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,16 @@ const MenuChildren = ({ activeRaw, curRaw, activeThread }) => (
2626
>
2727
<ChildrenItemInner>
2828
<ChildrenTitle>注册用户</ChildrenTitle>
29-
<ChildrenNum>23</ChildrenNum>
29+
<ChildrenNum>--</ChildrenNum>
3030
</ChildrenItemInner>
3131
</ChildrenItem>
3232
<ChildrenItem
33-
active={ROUTE.PAYS === activeThread}
34-
onClick={logic.onRootMenuSelect.bind(this, 'users', 'pays')}
33+
active={ROUTE.SENIOR === activeThread}
34+
onClick={logic.onRootMenuSelect.bind(this, 'users', ROUTE.SENIOR)}
3535
>
3636
<ChildrenItemInner>
37-
<ChildrenTitle>衣食父母</ChildrenTitle>
38-
<ChildrenNum>22</ChildrenNum>
37+
<ChildrenTitle>高级用户</ChildrenTitle>
38+
<ChildrenNum>--</ChildrenNum>
3939
</ChildrenItemInner>
4040
</ChildrenItem>
4141
</ChildrenWrapper>
@@ -47,7 +47,7 @@ const UsersItemBar = ({ activeRaw, curRaw }) => (
4747
<div>
4848
<MenuRow
4949
active={activeRaw === curRaw}
50-
onClick={logic.extendMenuBar.bind(this, ROUTE.USERS_RAW)}
50+
onClick={logic.extendMenuBar.bind(this, ROUTE.USERS)}
5151
>
5252
<MenuCommunitiesIcon src={`${ICON_CMD}/users.svg`} />
5353
<div style={{ marginRight: 10 }} />
@@ -60,14 +60,12 @@ const UsersItemBar = ({ activeRaw, curRaw }) => (
6060

6161
const UsersRootMenuItem = ({ activeRaw, activeThread }) => (
6262
<MenuItemWrapper>
63-
<div>
64-
<UsersItemBar activeRaw={activeRaw} curRaw={ROUTE.USERS_RAW} />
65-
<MenuChildren
66-
activeRaw={activeRaw}
67-
curRaw={ROUTE.USERS_RAW}
68-
activeThread={activeThread}
69-
/>
70-
</div>
63+
<UsersItemBar activeRaw={activeRaw} curRaw={ROUTE.USERS} />
64+
<MenuChildren
65+
activeRaw={activeRaw}
66+
curRaw={ROUTE.USERS}
67+
activeThread={activeThread}
68+
/>
7169
</MenuItemWrapper>
7270
)
7371

containers/Sidebar/store.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import R from 'ramda'
88

99
import { PagedCommunities, emptyPagiData } from '../../stores/SharedModel'
1010

11-
import { makeDebugger, markStates, ROUTE, stripMobx } from '../../utils'
11+
import { makeDebugger, markStates, stripMobx } from '../../utils'
1212

1313
/* eslint-disable no-unused-vars */
1414
const debug = makeDebugger('S:SidebarStore')
@@ -63,9 +63,10 @@ const SidebarStore = t
6363
return self.root.route.mainPath
6464
},
6565
get activeThread() {
66-
const { subPath } = self.root.route
66+
const { subPath, mainPath } = self.root.route
6767

68-
return R.isEmpty(subPath) ? ROUTE.COMMUNITIES : subPath
68+
// return R.isEmpty(subPath) ? ROUTE.COMMUNITIES : subPath
69+
return R.isEmpty(subPath) ? mainPath : subPath
6970
},
7071
get rootCountStatusData() {
7172
return stripMobx(self.rootCountStatus)
Lines changed: 28 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,44 @@
11
import React from 'react'
22

33
import { ICON_CMD } from '../../config'
4-
import { Tag, Popover, BannerCountBrief } from '../../components'
4+
import { Popover, BannerCountBrief } from '../../components'
55

66
import {
77
BannerContentWrapper,
88
Operation,
99
OperationItem,
1010
OperationDivider,
1111
OperationTitle,
12-
FilterTags,
1312
OperationIcon,
14-
OperationIconChart,
1513
} from './styles/common_banner'
1614

17-
import * as logic from './logic'
15+
// import * as logic from './logic'
1816

19-
class IndexBanner extends React.Component {
20-
componentDidMount() {
21-
logic.loadUsers()
22-
}
23-
24-
render() {
25-
// const { totalCount } = this.props
26-
const { filteredCount, totalCount } = this.props
27-
28-
return (
29-
<BannerContentWrapper>
30-
<BannerCountBrief
31-
filteredCount={filteredCount}
32-
totalCount={totalCount}
33-
thread="用户"
34-
unit="人"
35-
/>
36-
<Operation>
37-
<OperationItem>
38-
<OperationIcon src={`${ICON_CMD}/filter2.svg`} />
39-
<Popover
40-
content={<div>兼容各个页面的 Filter 菜单</div>}
41-
trigger="hover"
42-
>
43-
<OperationTitle>过滤</OperationTitle>
44-
</Popover>
45-
<FilterTags>
46-
<Tag closable>最多xx</Tag>
47-
<Tag closable>最少..</Tag>
48-
</FilterTags>
49-
</OperationItem>
50-
<OperationDivider />
51-
<OperationItem onClick={logic.onAdd}>
52-
<OperationIconChart src={`${ICON_CMD}/plus.svg`} />
53-
添加
54-
</OperationItem>
55-
<OperationDivider />
56-
<OperationItem>
57-
<OperationIcon src={`${ICON_CMD}/chart.svg`} />
58-
{/* <OperationIconChart src={`${ICON_CMD}/list.svg`} /> */}
59-
图表
60-
</OperationItem>
61-
</Operation>
62-
</BannerContentWrapper>
63-
)
64-
}
65-
}
17+
const IndexBanner = ({ filteredCount, totalCount }) => (
18+
<BannerContentWrapper>
19+
<BannerCountBrief
20+
filteredCount={filteredCount}
21+
totalCount={totalCount}
22+
thread="用户"
23+
unit="人"
24+
/>
25+
<Operation>
26+
<OperationItem>
27+
<OperationIcon src={`${ICON_CMD}/filter2.svg`} />
28+
<Popover
29+
content={<div>兼容各个页面的 Filter 菜单</div>}
30+
trigger="hover"
31+
>
32+
<OperationTitle>过滤</OperationTitle>
33+
</Popover>
34+
</OperationItem>
35+
<OperationDivider />
36+
<OperationItem>
37+
<OperationIcon src={`${ICON_CMD}/chart.svg`} />
38+
图表
39+
</OperationItem>
40+
</Operation>
41+
</BannerContentWrapper>
42+
)
6643

6744
export default IndexBanner

containers/UsersBanner/PassportsBanner.js

Lines changed: 0 additions & 67 deletions
This file was deleted.

containers/UsersBanner/RolesBanner.js

Lines changed: 0 additions & 67 deletions
This file was deleted.

containers/UsersBanner/index.js

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,34 +14,23 @@ import * as logic from './logic'
1414

1515
import IndexBanner from './IndexBanner'
1616
import PaysBanner from './PaysBanner'
17-
import PassportsBanner from './PassportsBanner'
18-
import RolesBanner from './RolesBanner'
1917

2018
import { BannerContainer } from './styles'
2119

2220
/* eslint-disable no-unused-vars */
2321
const debug = makeDebugger('C:UsersBanner')
2422
/* eslint-enable no-unused-vars */
2523

26-
const renderChildBanner = (curRoute, store) => {
27-
const { usersTotalCount, filteredCount } = store
24+
const renderChildBanner = (curRoute, totalCount, store) => {
25+
const { filteredCount } = store
2826

2927
switch (curRoute.subPath) {
3028
case ROUTE.PAYS: {
3129
return <PaysBanner totalCount={200} filteredCount={100} />
3230
}
33-
case ROUTE.PASSPORTS: {
34-
return <PassportsBanner totalCount={200} filteredCount={100} />
35-
}
36-
case ROUTE.ROLES: {
37-
return <RolesBanner totalCount={200} filteredCount={100} />
38-
}
3931
default: {
4032
return (
41-
<IndexBanner
42-
totalCount={usersTotalCount}
43-
filteredCount={filteredCount}
44-
/>
33+
<IndexBanner totalCount={totalCount} filteredCount={filteredCount} />
4534
)
4635
}
4736
}
@@ -55,11 +44,11 @@ class UsersBannerContainer extends React.Component {
5544

5645
render() {
5746
const { usersBanner } = this.props
58-
const { curRoute } = usersBanner
47+
const { curRoute, totalCount } = usersBanner
5948

6049
return (
6150
<BannerContainer>
62-
{renderChildBanner(curRoute, usersBanner)}
51+
{renderChildBanner(curRoute, totalCount, usersBanner)}
6352
</BannerContainer>
6453
)
6554
}

0 commit comments

Comments
 (0)