Skip to content

Commit 154d831

Browse files
authored
Merge pull request #2866 from Gauravseta/issue_2836
issue #2836 fix
2 parents 7ff06cb + e972cf4 commit 154d831

File tree

9 files changed

+31
-12
lines changed

9 files changed

+31
-12
lines changed

src/components/ActionCard/AddComment.jsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default class AddComment extends React.Component {
2525
}
2626

2727
render() {
28-
const { className, avatarUrl, authorName, placeholder, isAdding, hasError, allMembers } = this.props
28+
const { className, avatarUrl, authorName, placeholder, isAdding, hasError, allMembers, projectMembers } = this.props
2929

3030
return (
3131
<RichTextArea ref="richTextArea"
@@ -39,6 +39,7 @@ export default class AddComment extends React.Component {
3939
avatarUrl={avatarUrl}
4040
authorName={authorName}
4141
allMembers={allMembers}
42+
projectMembers={projectMembers}
4243
/>
4344
)
4445
}
@@ -54,5 +55,6 @@ AddComment.propTypes = {
5455
placeholder: PropTypes.string,
5556
hasError: PropTypes.bool,
5657
isAdding: PropTypes.bool,
57-
allMembers: PropTypes.object
58+
allMembers: PropTypes.object,
59+
projectMembers: PropTypes.object
5860
}

src/components/ActionCard/Comment.jsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class Comment extends React.Component {
5858
}
5959

6060
render() {
61-
const {message, author, date, edited, children, noInfo, self, isSaving, hasError, readonly, allMembers, canDelete} = this.props
61+
const {message, author, date, edited, children, noInfo, self, isSaving, hasError, readonly, allMembers, canDelete, projectMembers} = this.props
6262
const messageAnchor = `comment-${message.id}`
6363
const messageLink = window.location.pathname.substr(0, window.location.pathname.indexOf('#')) + `#${messageAnchor}`
6464
const authorName = author ? (author.firstName + ' ' + author.lastName) : 'Connect user'
@@ -84,6 +84,7 @@ class Comment extends React.Component {
8484
authorName={authorName}
8585
cancelEdit={this.cancelEdit}
8686
allMembers={allMembers}
87+
projectMembers={projectMembers}
8788
editingTopic = {false}
8889
/>
8990
</div>
@@ -194,7 +195,7 @@ Comment.propTypes = {
194195
*/
195196
readonly: PropTypes.bool,
196197
allMembers: PropTypes.object.isRequired,
197-
198+
projectMembers: PropTypes.object,
198199
/**
199200
* If true only comment text is shown without additional info
200201
*/

src/components/Feed/Feed.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ class Feed extends React.Component {
8686
id, user, currentUser, topicMessage, totalComments, hasMoreComments, onLoadMoreComments, isLoadingComments,
8787
allowComments, comments, children, onNewCommentChange, onAddNewComment, isAddingComment, onSaveMessageChange,
8888
onEditMessage, onSaveMessage, isSavingTopic, onDeleteMessage, onDeleteTopic, isDeletingTopic, error, allMembers,
89-
onEnterFullscreenClick, onExitFullscreenClick, isFullScreen, commentId
89+
onEnterFullscreenClick, onExitFullscreenClick, isFullScreen, commentId, projectMembers
9090
} = this.props
9191
const { editTopicMode, headerHeight } = this.state
9292
let authorName = user ? user.firstName : 'Unknown'
@@ -177,6 +177,7 @@ class Feed extends React.Component {
177177
onSaveMessage={onSaveMessage}
178178
onDeleteMessage={onDeleteMessage}
179179
allMembers={allMembers}
180+
projectMembers={projectMembers}
180181
isFullScreen={isFullScreen}
181182
headerHeight={headerHeight}
182183
commentId={commentId}

src/components/Feed/FeedComments.jsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ class FeedComments extends React.Component {
179179
const {
180180
comments, currentUser, onLoadMoreComments, isLoadingComments, hasMoreComments, onAddNewComment,
181181
onNewCommentChange, error, avatarUrl, isAddingComment, allowComments, onSaveMessage, onDeleteMessage, allMembers,
182-
totalComments, isFullScreen, headerHeight
182+
totalComments, isFullScreen, headerHeight, projectMembers
183183
} = this.props
184184
const { isNewCommentMobileOpen, stickyRowNext, stickyRowPrev } = this.state
185185
let authorName = currentUser.firstName
@@ -319,6 +319,7 @@ class FeedComments extends React.Component {
319319
isSaving={item.isSavingComment}
320320
hasError={item.error}
321321
allMembers={allMembers}
322+
projectMembers={projectMembers}
322323
noInfo={item.noInfo}
323324
canDelete={idx !== 0}
324325
>
@@ -389,6 +390,7 @@ class FeedComments extends React.Component {
389390
isAdding={isAddingComment}
390391
hasError={error}
391392
allMembers={allMembers}
393+
projectMembers={projectMembers}
392394
/>
393395
</div>
394396
}

src/components/Feed/NewPost.jsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class NewPost extends React.Component {
1313
}
1414

1515
render() {
16-
const {currentUser, allMembers, titlePlaceholder, contentPlaceholder, isCreating, hasError, expandedTitlePlaceholder} = this.props
16+
const {currentUser, allMembers, titlePlaceholder, contentPlaceholder, isCreating, hasError, expandedTitlePlaceholder, projectMembers} = this.props
1717
let authorName = currentUser.firstName
1818
if (authorName && currentUser.lastName) {
1919
authorName += ' ' + currentUser.lastName
@@ -38,6 +38,7 @@ class NewPost extends React.Component {
3838
avatarUrl={currentUser.photoURL}
3939
authorName={authorName}
4040
allMembers={allMembers}
41+
projectMembers={projectMembers}
4142
/>
4243
)
4344
}
@@ -48,6 +49,7 @@ NewPost.propTypes = {
4849
expandedTitlePlaceholder: PropTypes.string,
4950
currentUser: PropTypes.object.isRequired,
5051
allMembers: PropTypes.object.isRequired,
52+
projectMembers: PropTypes.object,
5153
onPost: PropTypes.func.isRequired,
5254
onNewPostChange: PropTypes.func.isRequired,
5355
hasError: PropTypes.bool,

src/components/RichTextArea/RichTextArea.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ class RichTextArea extends React.Component {
8080
}
8181

8282
componentWillMount() {
83-
const suggestions = _.map(_.values(this.props.allMembers), (e) => { return {name: e.firstName + ' ' + e.lastName, handle: e.handle, userId: e.userId, link:'/users/'+e.handle} })
83+
const suggestions = _.map(_.values(this.props.projectMembers), (e) => { return {name: e.firstName + ' ' + e.lastName, handle: e.handle, userId: e.userId, link:'/users/'+e.handle} })
8484
this.setState({
8585
editorExpanded: this.props.editMode,
8686
titleValue: this.props.title || '',
@@ -436,6 +436,7 @@ RichTextArea.propTypes = {
436436
title: PropTypes.string,
437437
content: PropTypes.string,
438438
allMembers: PropTypes.object,
439+
projectMembers: PropTypes.object,
439440
editingTopic: PropTypes.bool
440441
}
441442

src/projects/detail/components/ProjectStage.jsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ class ProjectStage extends React.Component{
176176
isAddingComment,
177177
onDeleteMessage,
178178
allMembers,
179+
projectMembers,
179180
onSaveMessage,
180181
timeline,
181182
notifications,
@@ -237,6 +238,7 @@ class ProjectStage extends React.Component{
237238
isAddingComment={isAddingComment}
238239
onDeleteMessage={onDeleteMessage}
239240
allMembers={allMembers}
241+
projectMembers={projectMembers}
240242
onSaveMessage={onSaveMessage}
241243
/>
242244
)}

src/projects/detail/containers/FeedContainer.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ class FeedView extends React.Component {
367367

368368
render () {
369369
const {currentUser, currentMemberRole, isCreatingFeed, error, allMembers,
370-
toggleNotificationRead, notifications, project, isSuperUser } = this.props
370+
toggleNotificationRead, notifications, project, isSuperUser, projectMembers } = this.props
371371
const { feeds, isNewPostMobileOpen, fullscreenFeedId } = this.state
372372
const isChanged = this.isChanged()
373373
const onLeaveMessage = this.onLeave() || ''
@@ -393,6 +393,7 @@ class FeedView extends React.Component {
393393
allowComments: fullscreenFeed.allowComments && !!currentMemberRole,
394394
currentUser,
395395
allMembers,
396+
projectMembers,
396397
onNewCommentChange: this.onNewCommentChange.bind(this, fullscreenFeedId),
397398
onAddNewComment: this.onAddNewComment.bind(this, fullscreenFeedId),
398399
onLoadMoreComments: this.onShowAllComments.bind(this, fullscreenFeedId),
@@ -432,6 +433,7 @@ class FeedView extends React.Component {
432433
<NewPost
433434
currentUser={currentUser}
434435
allMembers={allMembers}
436+
projectMembers={projectMembers}
435437
onPost={this.onNewPost}
436438
isCreating={isCreatingFeed}
437439
hasError={error}
@@ -452,6 +454,7 @@ class FeedView extends React.Component {
452454
allowComments: feed.allowComments && !!currentMemberRole,
453455
currentUser,
454456
allMembers,
457+
projectMembers,
455458
onNewCommentChange: this.onNewCommentChange.bind(this, feed.id),
456459
onAddNewComment: this.onAddNewComment.bind(this, feed.id),
457460
onLoadMoreComments: this.onShowAllComments.bind(this, feed.id),
@@ -526,7 +529,9 @@ FeedContainer.PropTypes = {
526529
project: PropTypes.object.isRequired
527530
}
528531

529-
const mapStateToProps = ({ projectTopics, members, loadUser, notifications }) => {
532+
const mapStateToProps = ({ projectTopics, members, loadUser, notifications, projectState }) => {
533+
const project = projectState.project
534+
const projectMembers = _.filter(members.members, m => _.some(project.members, pm => pm.userId === m.userId))
530535
return {
531536
currentUser : loadUser.user,
532537
feeds : projectTopics.feeds[PROJECT_FEED_TYPE_PRIMARY].topics,
@@ -535,6 +540,7 @@ const mapStateToProps = ({ projectTopics, members, loadUser, notifications }) =>
535540
isCreatingFeed : projectTopics.isCreatingFeed,
536541
error : projectTopics.error,
537542
allMembers : members.members,
543+
projectMembers : _.keyBy(projectMembers, 'userId'),
538544
notifications,
539545
}
540546
}

src/projects/detail/containers/PhaseFeedHOC.jsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,14 +169,16 @@ const phaseFeedHOC = (Component) => {
169169
}
170170
}
171171

172-
const mapStateToProps = ({ phasesTopics, loadUser, members, productsTimelines, notifications }, props) => {
172+
const mapStateToProps = ({ phasesTopics, loadUser, members, productsTimelines, notifications, projectState }, props) => {
173173
const product = _.get(props.phase, 'products[0]')
174174
const phaseTopicState = phasesTopics[props.phase.id] || {}
175-
175+
const project = projectState.project
176+
const projectMembers = _.filter(members.members, m => _.some(project.members, pm => pm.userId === m.userId))
176177
return {
177178
...phaseTopicState,
178179
currentUser: loadUser.user,
179180
allMembers: members.members,
181+
projectMembers : _.keyBy(projectMembers, 'userId'),
180182
timeline: _.get(productsTimelines[product.id], 'timeline'),
181183
notifications: _.get(notifications, 'notifications', [])
182184
}

0 commit comments

Comments
 (0)