@@ -16,6 +16,9 @@ const styles = mergeStyleSets({
16
16
width : '100%' ,
17
17
textAlign : 'center'
18
18
} ,
19
+ searchBox : {
20
+ margin : '4px 0'
21
+ } ,
19
22
siteOption : {
20
23
display : 'flex' ,
21
24
whiteSpace : 'nowrap' ,
@@ -81,16 +84,14 @@ export const SitePicker: React.FunctionComponent<ISitePickerProps> = (props: Rea
81
84
const newFilteredSites = allSites . filter ( s => s . title && s . title . toLowerCase ( ) . indexOf ( loweredNewSearchQuery ) !== - 1 ) ;
82
85
83
86
setSearchQuery ( newSearchQuery ) ;
84
- // hack to make dropdown update
85
- setFilteredSites ( [ ] ) ;
86
87
setFilteredSites ( newFilteredSites ) ;
87
88
} , [ allSites ] ) ;
88
89
89
90
const onSelectionChange = React . useCallback ( ( e , item : IDropdownOption , index : number ) => {
90
91
const newSelectedSites = selectedSites ? [ ...selectedSites ] : [ ] ;
91
92
92
93
if ( multiSelect !== false ) {
93
- const existingIndex = findIndex ( newSelectedSites , s => s . id === item . key ) ;
94
+ const existingIndex = findIndex ( newSelectedSites , s => s . url === item . key ) ;
94
95
95
96
if ( existingIndex >= 0 ) {
96
97
newSelectedSites . splice ( existingIndex , 1 ) ;
@@ -121,20 +122,19 @@ export const SitePicker: React.FunctionComponent<ISitePickerProps> = (props: Rea
121
122
} ) ;
122
123
}
123
124
124
- const selectedSitesIds : string [ ] = selectedSites ? selectedSites . map ( s => s . id ! ) : [ ] ;
125
+ const selectedSitesIds : string [ ] = selectedSites ? selectedSites . map ( s => s . url ! ) : [ ] ;
125
126
126
127
if ( filteredSites ) {
127
128
filteredSites . forEach ( s => {
128
129
result . push ( {
129
- key : s . id ,
130
+ key : s . url ,
130
131
text : s . title ,
131
132
data : s ,
132
- selected : selectedSitesIds . indexOf ( s . id ) !== - 1
133
+ selected : selectedSitesIds . indexOf ( s . url ) !== - 1
133
134
} ) ;
134
135
} ) ;
135
136
}
136
137
137
- console . log ( result ) ;
138
138
return result ;
139
139
} , [ allowSearch , selectedSites , filteredSites ] ) ;
140
140
@@ -147,7 +147,8 @@ export const SitePicker: React.FunctionComponent<ISitePickerProps> = (props: Rea
147
147
return < SearchBox
148
148
placeholder = { searchPlaceholder }
149
149
value = { searchQuery }
150
- onChange = { async . debounce ( onSearchChange , deferredSearchTime || 200 ) } /> ;
150
+ onChange = { async . debounce ( onSearchChange , deferredSearchTime || 200 ) }
151
+ className = { styles . searchBox } /> ;
151
152
}
152
153
// {multiSelect !== false && <Checkbox className={styles.siteOptionCheckbox} checked={option.selected} disabled={option.disabled} /> }
153
154
return < div className = { styles . siteOption } >
@@ -226,8 +227,8 @@ export const SitePicker: React.FunctionComponent<ISitePickerProps> = (props: Rea
226
227
label = { label }
227
228
placeholder = { placeholder }
228
229
options = { getOptions ( ) }
229
- selectedKey = { multiSelect === false && ! ! selectedSites && ! ! selectedSites [ 0 ] ? selectedSites [ 0 ] . id : undefined }
230
- selectedKeys = { multiSelect !== false && ! ! selectedSites ? selectedSites . map ( s => s . id ) : undefined }
230
+ selectedKey = { multiSelect === false && ! ! selectedSites && ! ! selectedSites [ 0 ] ? selectedSites [ 0 ] . url : undefined }
231
+ selectedKeys = { multiSelect !== false && ! ! selectedSites ? selectedSites . map ( s => s . url ) : undefined }
231
232
disabled = { disabled }
232
233
multiSelect = { multiSelect !== false }
233
234
onRenderOption = { onRenderOption }
0 commit comments