Skip to content

Commit ba3ae59

Browse files
committed
make highlightedUid prop of MultiSelect controlled by exposing it via props
1 parent 18f337b commit ba3ae59

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

src/MultiSelect.ls

+14-8
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ module.exports = React.create-class do
5757

5858
# computed state
5959
{
60-
anchor, filtered-options, on-anchor-change, on-open-change, on-search-change, on-values-change, search, open
61-
options, values
60+
anchor, filtered-options, highlighted-uid, on-anchor-change, on-open-change, on-highlighted-uid-change,
61+
on-search-change, on-values-change, search, open, options, values
6262
} = @get-computed-state!
6363

6464
# props
@@ -82,6 +82,8 @@ module.exports = React.create-class do
8282
groups
8383
groups-as-columns
8484
hide-reset-button
85+
highlighted-uid
86+
on-highlighted-uid-change
8587
input-props
8688
name
8789
on-keyboard-selection-failed
@@ -107,11 +109,6 @@ module.exports = React.create-class do
107109
open
108110
on-open-change
109111

110-
# HIGHLIGHTED OPTION
111-
highlighted-uid: @state.highlighted-uid
112-
on-highlighted-uid-change: (highlighted-uid, callback) ~>
113-
@set-state {highlighted-uid}, callback
114-
115112
# OPTIONS
116113
options: options
117114
render-option: @props.render-option
@@ -185,10 +182,17 @@ module.exports = React.create-class do
185182

186183
# decide whether to use state or props
187184
anchor = if @props.has-own-property \anchor then @props.anchor else @state.anchor
185+
highlighted-uid = if @props.has-own-property \highlightedUid then @props.highlighted-uid else @state.highlighted-uid
188186
open = @is-open!
189187
search = if @props.has-own-property \search then @props.search else @state.search
190188
values = @values!
191-
[on-anchor-change, on-open-change, on-search-change, on-values-change] = <[anchor open search values]> |> map (p) ~>
189+
[
190+
on-anchor-change
191+
on-highlighted-uid-change
192+
on-open-change
193+
on-search-change
194+
on-values-change
195+
] = <[anchor highlightedUid open search values]> |> map (p) ~>
192196

193197
# both p & its change callback are coming from props (simply returns the change callback from props)
194198
| @props.has-own-property p and @props.has-own-property camelize "on-#{p}-change" =>
@@ -240,9 +244,11 @@ module.exports = React.create-class do
240244

241245
{
242246
anchor
247+
highlighted-uid
243248
search
244249
values
245250
on-anchor-change
251+
on-highlighted-uid-change
246252
open
247253

248254
# on-open-change :: Boolean -> (() -> ()) -> ()

0 commit comments

Comments
 (0)