Skip to content

Commit 23629b2

Browse files
committed
use source to simply logic
1 parent 9548298 commit 23629b2

File tree

9 files changed

+39
-52
lines changed

9 files changed

+39
-52
lines changed

components/TagsCell/index.js

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ import {
2323
AddText,
2424
} from './styles'
2525

26-
const TagsList = ({ tags, partId, onDelete }) => (
26+
const TagsList = ({ source, onDelete }) => (
2727
<CategoryWrapper>
28-
{tags.map(c => (
28+
{source.tags.map(c => (
2929
<CategoryTag
3030
key={shortid.generate()}
31-
onClick={onDelete.bind(this, partId, c)}
31+
onClick={onDelete.bind(this, source.id, c)}
3232
>
3333
{c.title}
3434
<DeleteCross>x</DeleteCross>
@@ -43,19 +43,19 @@ class TagsCell extends React.Component {
4343
componentWillUnmount() {}
4444

4545
render() {
46-
const { tags, partId, onDelete, onAdd } = this.props
46+
const { source, onDelete, onAdd } = this.props
4747

4848
return (
4949
<React.Fragment>
50-
{R.isEmpty(tags) ? (
50+
{R.isEmpty(source.tags) ? (
5151
<AddWrapper>
5252
<AddIcon src={`${ICON_ASSETS}/cmd/plus.svg`} />
53-
<AddText onClick={onAdd.bind(this, partId, [])}>添加</AddText>
53+
<AddText onClick={onAdd.bind(this, source)}>添加</AddText>
5454
</AddWrapper>
5555
) : (
5656
<Wrapper>
57-
<TagsList tags={tags} partId={partId} onDelete={onDelete} />
58-
<div onClick={onAdd.bind(this, partId, tags)}>
57+
<TagsList source={source} onDelete={onDelete} />
58+
<div onClick={onAdd.bind(this, source)}>
5959
<AddIcon src={`${ICON_ASSETS}/cmd/plus.svg`} />
6060
</div>
6161
</Wrapper>
@@ -70,18 +70,9 @@ export default TagsCell
7070
TagsCell.propTypes = {
7171
// https://www.npmjs.com/package/prop-types
7272
/* communityId: PropTypes.number.isRequired, */
73-
tags: PropTypes.arrayOf(
74-
PropTypes.shape({
75-
id: PropTypes.string,
76-
title: PropTypes.string,
77-
color: PropTypes.string,
78-
})
79-
),
80-
partId: PropTypes.string.isRequired,
73+
source: PropTypes.object.isRequired,
8174
onDelete: PropTypes.func.isRequired,
8275
onAdd: PropTypes.func.isRequired,
8376
}
8477

85-
TagsCell.defaultProps = {
86-
tags: [],
87-
}
78+
TagsCell.defaultProps = {}

components/TagsCell/styles/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export const UnsetText = styled.div`
99
`
1010
export const Wrapper = styled.div`
1111
display: flex;
12-
justify-content: center;
12+
justify-content: left;
1313
align-items: center;
1414
`
1515
export const CategoryWrapper = styled.div`

containers/CommunitiesBanner/logic.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@ const DataSolver = [
106106
return loadCategories()
107107
}
108108
default: {
109-
debug('unknow event')
110-
return loadPosts()
109+
debug('unknow event: ', closeType)
110+
/* return loadPosts() */
111111
}
112112
}
113113
},

containers/CommunitiesContent/PostsContent.js

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,13 @@ const columns = [
6767
width: 200,
6868
dataIndex: 'tags',
6969
align: 'center',
70-
render: (tags, record) => {
71-
return (
72-
<TagsCell
73-
tags={tags}
74-
partId={record.id}
75-
onDelete={logic.unsetTag}
76-
onAdd={logic.setTag}
77-
/>
78-
)
79-
},
70+
render: (tags, record) => (
71+
<TagsCell
72+
source={record}
73+
onDelete={logic.unsetTag}
74+
onAdd={logic.setTag}
75+
/>
76+
),
8077
},
8178
{
8279
title: '浏览',

containers/CommunitiesContent/logic.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,10 @@ export function setCategory(communityId, categories) {
105105
})
106106
}
107107

108-
export function setTag(partId, tags) {
108+
export function setTag(source) {
109109
dispatchEvent(EVENT.NAV_SET_TAG, {
110110
type: TYPE.PREVIEW_SET_TAG,
111-
data: {
112-
partId,
113-
tags,
114-
},
111+
data: source,
115112
})
116113
}
117114

@@ -210,8 +207,8 @@ const DataSolver = [
210207
return loadPosts()
211208
}
212209
default: {
213-
debug('unknow event')
214-
return loadPosts()
210+
debug('unknow event: ', closeType)
211+
/* return loadPosts() */
215212
}
216213
}
217214
},

containers/Preview/logic.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,13 +156,11 @@ const DataResolver = [
156156
const event = res[EVENT.NAV_SET_TAG]
157157
console.log('res -> ', {
158158
partId: event.data.partId,
159+
/* source: event.data.source, */
159160
tags: event.data.tags,
160161
})
161162
preview.markState({
162-
editTag: {
163-
partId: event.data.partId,
164-
tags: event.data.tags,
165-
},
163+
editTag: event.data,
166164
})
167165
holdPage()
168166
preview.open(event.type)

containers/TagSetter/index.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import {
2020
CategoryWrapper,
2121
CategoryTag,
2222
CommunityLogo,
23+
SetterTitle,
2324
PartText,
2425
} from './styles'
2526

@@ -62,17 +63,17 @@ class TagSetterContainer extends React.Component {
6263
const { pagedTagsData } = tagSetter
6364

6465
const selectedTids = R.pluck('id', editData.tags)
65-
const { partId } = editData
66+
const { id, title } = editData
6667

6768
return (
6869
<Wrapper>
69-
coderplanets
70+
<SetterTitle>{title}</SetterTitle>
7071
<h2>设置标签</h2>
7172
<Divider />
7273
{pagedTagsData ? (
7374
<TagsList
7475
tags={pagedTagsData.entries}
75-
partId={partId}
76+
partId={id}
7677
selectedTids={selectedTids}
7778
/>
7879
) : (

containers/TagSetter/styles/index.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,13 @@ export const Wrapper = styled.div`
2121
animation: ${Animate.fadeInRight} 0.2s linear;
2222
`
2323

24+
export const SetterTitle = styled.div`
25+
width: 200px;
26+
white-space: nowrap;
27+
overflow: hidden;
28+
text-overflow: ellipsis;
29+
`
30+
2431
export const Divider = styled.div`
2532
border-top: 1px solid #e3eeed;
2633
margin-top: 15px;

stores/PreviewStore/index.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,10 @@
55

66
import { types as t, getParent } from 'mobx-state-tree'
77

8-
import { Community, Category, Tag } from '../SharedModel'
8+
import { Community, Category, Post } from '../SharedModel'
99
import { markStates, TYPE, unholdPage, stripMobx } from '../../utils'
1010

1111
// const debug = makeDebugger('S:PreviewStore')
12-
const EditTag = t.model('EditTag', {
13-
partId: t.string,
14-
tags: t.array(Tag),
15-
})
1612

1713
const PreviewStore = t
1814
.model('PreviewStore', {
@@ -41,7 +37,7 @@ const PreviewStore = t
4137

4238
editCommunity: t.maybe(Community),
4339
editCategory: t.maybe(Category),
44-
editTag: t.maybe(EditTag),
40+
editTag: t.maybe(Post),
4541
/* editCategory: t.maybe(SelectCommunity), */
4642
})
4743
.views(self => ({

0 commit comments

Comments
 (0)