Skip to content

Commit 0ba8503

Browse files
authored
Merge pull request #2875 from appirio-tech/cf15
Cf15
2 parents 8a6d891 + a800de6 commit 0ba8503

37 files changed

+2421
-1768
lines changed

package-lock.json

Lines changed: 1584 additions & 1319 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@
130130
"react-s-alert": "^1.1.4",
131131
"react-scroll": "^1.7.6",
132132
"react-scroll-lock-component": "^1.1.2",
133-
"react-select": "^0.9.1",
133+
"react-select": "^2.4.0",
134134
"react-stickynode": "^1.2.1",
135135
"react-text-truncate": "^0.8.3",
136136
"react-transition-group": "^2.5.0",

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/FileList/AddFilePermissions.jsx

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ import Modal from 'react-modal'
44
import { mapKeys, get } from 'lodash'
55

66
import UserAutoComplete from '../UserAutoComplete/UserAutoComplete'
7+
import LoadingIndicator from '../LoadingIndicator/LoadingIndicator'
78

89
import './AddFilePermissions.scss'
910
import XMarkIcon from '../../assets/icons/icon-x-mark.svg'
1011

11-
const AddFilePermission = ({ onCancel, onSubmit, onChange, selectedUsers, projectMembers, loggedInUser }) => {
12+
const AddFilePermission = ({ onCancel, onSubmit, onChange, selectedUsers, projectMembers, loggedInUser, isSharingAttachment }) => {
1213
selectedUsers = selectedUsers || ''
1314
const mapHandlesToUserIds = handles => {
1415
const projectMembersByHandle = mapKeys(projectMembers, value => value.handle)
@@ -28,10 +29,18 @@ const AddFilePermission = ({ onCancel, onSubmit, onChange, selectedUsers, projec
2829
<span onClick={onCancel}><XMarkIcon /></span>
2930
</div>
3031

32+
<div styleName="loading-indicator-wrapper">
33+
{ isSharingAttachment && <LoadingIndicator isSmall /> }
34+
</div>
35+
3136
{/* Share with all members */}
3237
<div className="dialog-body">
3338
<div styleName="btn-all-members">
34-
<button className="tc-btn tc-btn-primary tc-btn-md" onClick={() => onSubmit(null)}>All project members</button>
39+
<button
40+
className="tc-btn tc-btn-primary tc-btn-md"
41+
onClick={() => onSubmit(null)}
42+
disabled={isSharingAttachment}
43+
>All project members</button>
3544
</div>
3645
</div>
3746

@@ -41,10 +50,10 @@ const AddFilePermission = ({ onCancel, onSubmit, onChange, selectedUsers, projec
4150

4251
<UserAutoComplete projectMembers={projectMembers} selectedUsers={selectedUsers} onUpdate={onChange} loggedInUser={loggedInUser} />
4352

44-
<div>
53+
<div styleName="btn-selected-members">
4554
<button className="tc-btn tc-btn-primary tc-btn-md"
4655
onClick={() => onSubmit(mapHandlesToUserIds(selectedUsers.split(',')))}
47-
disabled={!selectedUsers || selectedUsers.length === 0 }
56+
disabled={!selectedUsers || selectedUsers.length === 0 || isSharingAttachment }
4857
>Share with selected members</button>
4958
</div>
5059
</div>
@@ -59,7 +68,8 @@ AddFilePermission.propTypes = {
5968
onChange: PropTypes.func.isRequired,
6069
selectedUsers: PropTypes.string,
6170
projectMembers: PropTypes.object,
62-
loggedInUser: PropTypes.object.isRequired
71+
loggedInUser: PropTypes.object.isRequired,
72+
isSharingAttachment: PropTypes.bool.isRequired,
6373
}
6474

6575
export default AddFilePermission
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
.btn-all-members {
22
text-align: center;
33
margin-top: 8px;
4+
}
5+
6+
.loading-indicator-wrapper {
7+
display: flex;
8+
justify-content: center;
9+
}
10+
11+
.btn-selected-members {
12+
margin-top: 10px;
413
}

src/components/FileList/FileListItem.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,10 @@ export default class FileListItem extends React.Component {
113113
{ (errors && errors.title) && <div className="error-message">{ errors.title }</div> }
114114
<textarea defaultValue={description} ref="desc" maxLength={250} className="tc-textarea" />
115115
{ (errors && errors.desc) && <div className="error-message">{ errors.desc }</div> }
116-
<UserAutoComplete onUpdate={this.onUserIdChange}
116+
<UserAutoComplete onUpdate={this.onUserIdChange}
117117
projectMembers={projectMembers}
118118
loggedInUser={loggedInUser}
119-
selectedUsers={this.userIdsToHandles(allowedUsers).join(',')}
119+
selectedUsers={this.userIdsToHandles(allowedUsers).join(',')}
120120
/>
121121
</div>
122122
)

0 commit comments

Comments
 (0)