@@ -4,11 +4,12 @@ import Modal from 'react-modal'
44import { mapKeys , get } from 'lodash'
55
66import UserAutoComplete from '../UserAutoComplete/UserAutoComplete'
7+ import LoadingIndicator from '../LoadingIndicator/LoadingIndicator'
78
89import './AddFilePermissions.scss'
910import 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
6575export default AddFilePermission
0 commit comments