Skip to content

Commit af15bab

Browse files
author
Sergiu Miclea
committed
Fix list filter group not working
The filter group for Replicas, Migrations etc. list pages didn't work properly. A second click was needed to actually filter the list by the selected item.
1 parent 6b75d1c commit af15bab

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

src/components/organisms/FilterList/FilterList.jsx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,9 @@ class FilterList extends React.Component<Props, State> {
103103
selectAllSelected,
104104
filterStatus: item.value,
105105
items,
106+
}, () => {
107+
this.props.onSelectedItemsChange && this.props.onSelectedItemsChange(selectedItems)
106108
})
107-
this.props.onSelectedItemsChange && this.props.onSelectedItemsChange(selectedItems)
108109
}
109110

110111
handleSearchChange(text: string) {
@@ -121,8 +122,9 @@ class FilterList extends React.Component<Props, State> {
121122
selectedItems.push(item)
122123
}
123124

124-
this.setState({ selectedItems, selectAllSelected: false })
125-
this.props.onSelectedItemsChange && this.props.onSelectedItemsChange(selectedItems)
125+
this.setState({ selectedItems, selectAllSelected: false }, () => {
126+
this.props.onSelectedItemsChange && this.props.onSelectedItemsChange(selectedItems)
127+
})
126128
}
127129

128130
handleSelectAllChange(selected: boolean) {
@@ -131,16 +133,17 @@ class FilterList extends React.Component<Props, State> {
131133
selectedItems = this.state.items.slice(0)
132134
}
133135

134-
this.setState({ selectedItems, selectAllSelected: selected })
135-
this.props.onSelectedItemsChange && this.props.onSelectedItemsChange(selectedItems)
136+
this.setState({ selectedItems, selectAllSelected: selected }, () => {
137+
this.props.onSelectedItemsChange && this.props.onSelectedItemsChange(selectedItems)
138+
})
136139
}
137140

138141
filterItems(items: MainItem[], filterStatus?: ?string, filterText?: string): MainItem[] {
139142
filterStatus = filterStatus || this.state.filterStatus
140143
filterText = typeof filterText === 'undefined' ? this.state.filterText : filterText
141-
let filteredItems = items.filter(item => {
142-
return this.props.itemFilterFunction(item, filterStatus, filterText)
143-
})
144+
let filteredItems = items.filter(item =>
145+
this.props.itemFilterFunction(item, filterStatus, filterText)
146+
)
144147

145148
return filteredItems
146149
}

0 commit comments

Comments
 (0)