@@ -19,7 +19,7 @@ import { iconSmall } from '../../constants/iconsSizes';
19
19
import { CloseIcon , PersonIcon } from '../../icons' ;
20
20
21
21
interface User {
22
- id : string ;
22
+ user_id : string ;
23
23
first_name : string ;
24
24
last_name : string ;
25
25
email : string ;
@@ -47,21 +47,21 @@ interface UserSearchFieldProps {
47
47
}
48
48
49
49
const UserSearchField : React . FC < UserSearchFieldProps > = ( {
50
- usersData,
51
- setUsersData,
50
+ usersData, //updatedOrgUsers
51
+ setUsersData, //setupdatedOrgUsers
52
52
label = 'Add User' ,
53
53
setDisableSave,
54
54
handleNotifyPref,
55
55
notifyUpdate,
56
56
isCreate,
57
57
searchType,
58
58
disabled = false ,
59
- currentUserData,
60
- searchedUsers = [ ] ,
59
+ currentUserData, //current logged in user data
60
+ searchedUsers = [ ] , //users result by api
61
61
isUserSearchLoading,
62
- fetchSearchedUsers,
63
- usersSearch,
64
- setUsersSearch
62
+ fetchSearchedUsers, //function to perform search
63
+ usersSearch, //username value
64
+ setUsersSearch //state to modify username value
65
65
} ) => {
66
66
const [ error , setError ] = useState ( '' ) ;
67
67
const [ open , setOpen ] = useState ( false ) ;
@@ -80,10 +80,7 @@ const UserSearchField: React.FC<UserSearchFieldProps> = ({
80
80
}
81
81
82
82
const filteredResults = searchedUsers . filter (
83
- ( user : User ) =>
84
- user . id !== currentUserData ?. id &&
85
- ! localUsersData . some ( ( selectedUser ) => selectedUser . id === user . id ) &&
86
- ! user . deleted_at ?. Valid
83
+ ( user : User ) => user . user_id !== currentUserData ?. user_id
87
84
) ;
88
85
89
86
if ( ! usersSearch && currentUserData ) {
@@ -97,7 +94,7 @@ const UserSearchField: React.FC<UserSearchFieldProps> = ({
97
94
( idToDelete : string , event : React . MouseEvent ) => {
98
95
event . stopPropagation ( ) ;
99
96
100
- const updatedUsers = localUsersData . filter ( ( user ) => user . id !== idToDelete ) ;
97
+ const updatedUsers = localUsersData . filter ( ( user ) => user . user_id !== idToDelete ) ;
101
98
setLocalUsersData ( updatedUsers ) ;
102
99
setUsersData ( updatedUsers ) ;
103
100
@@ -112,7 +109,7 @@ const UserSearchField: React.FC<UserSearchFieldProps> = ({
112
109
( event : React . SyntheticEvent < Element , Event > , value : User | null ) => {
113
110
if ( ! value ) return ;
114
111
115
- const isDuplicate = localUsersData . some ( ( user ) => user . id === value . id ) ;
112
+ const isDuplicate = localUsersData . some ( ( user ) => user . user_id === value . user_id ) ;
116
113
const isDeleted = value . deleted_at ?. Valid === true ;
117
114
118
115
if ( isDuplicate || isDeleted ) {
@@ -152,7 +149,6 @@ const UserSearchField: React.FC<UserSearchFieldProps> = ({
152
149
} ,
153
150
[ fetchSearchedUsers ]
154
151
) ;
155
-
156
152
return (
157
153
< >
158
154
< Autocomplete
@@ -161,7 +157,7 @@ const UserSearchField: React.FC<UserSearchFieldProps> = ({
161
157
open = { open }
162
158
options = { displayOptions }
163
159
getOptionLabel = { ( ) => inputValue }
164
- isOptionEqualToValue = { ( option , value ) => option . id === value . id }
160
+ isOptionEqualToValue = { ( option , value ) => option . user_id === value . user_id }
165
161
onOpen = { ( ) => setOpen ( true ) }
166
162
onClose = { ( ) => setOpen ( false ) }
167
163
inputValue = { inputValue }
@@ -211,7 +207,7 @@ const UserSearchField: React.FC<UserSearchFieldProps> = ({
211
207
/>
212
208
) }
213
209
renderOption = { ( props , option : User ) => (
214
- < li { ...props } id = { option . id } >
210
+ < li { ...props } id = { option . user_id } >
215
211
< Box sx = { { '& > img' : { mr : 2 , flexShrink : 0 } } } >
216
212
{ ' ' }
217
213
< Grid2 container alignItems = "center" >
@@ -270,14 +266,14 @@ const UserSearchField: React.FC<UserSearchFieldProps> = ({
270
266
>
271
267
{ ! showAllUsers && localUsersData ?. [ 0 ] && (
272
268
< Chip
273
- key = { localUsersData [ 0 ] . id }
269
+ key = { localUsersData [ 0 ] . user_id }
274
270
avatar = {
275
271
< Avatar alt = { localUsersData [ 0 ] . first_name } src = { localUsersData [ 0 ] . avatar_url } >
276
272
{ ! localUsersData [ 0 ] . avatar_url && localUsersData [ 0 ] . first_name ?. [ 0 ] }
277
273
</ Avatar >
278
274
}
279
275
label = { localUsersData [ 0 ] . email }
280
- onDelete = { ( e ) => handleDelete ( localUsersData [ 0 ] . id , e ) }
276
+ onDelete = { ( e ) => handleDelete ( localUsersData [ 0 ] . user_id , e ) }
281
277
deleteIcon = {
282
278
< Tooltip title = "Remove user" >
283
279
< CloseIcon style = { iconSmall } />
@@ -290,14 +286,14 @@ const UserSearchField: React.FC<UserSearchFieldProps> = ({
290
286
{ showAllUsers &&
291
287
localUsersData ?. map ( ( user ) => (
292
288
< Chip
293
- key = { user . id }
289
+ key = { user . user_id }
294
290
avatar = {
295
291
< Avatar alt = { user . first_name } src = { user . avatar_url } >
296
292
{ ! user . avatar_url && user . first_name ?. [ 0 ] }
297
293
</ Avatar >
298
294
}
299
295
label = { user . email }
300
- onDelete = { ( e ) => handleDelete ( user . id , e ) }
296
+ onDelete = { ( e ) => handleDelete ( user . user_id , e ) }
301
297
deleteIcon = {
302
298
< Tooltip title = "Remove user" >
303
299
< CloseIcon style = { iconSmall } />
0 commit comments