File tree 5 files changed +7
-10
lines changed
challenge-listing/Filters
reducers/challenge-listing
5 files changed +7
-10
lines changed Original file line number Diff line number Diff line change @@ -63,10 +63,10 @@ export default function ChallengeTags(props) {
63
63
&& (
64
64
< TrackTag
65
65
onClick = { ( ) => (
66
- setImmediate ( ( ) => setChallengeListingFilter ( { types : [ challengeType . id ] } ) )
66
+ setImmediate ( ( ) => setChallengeListingFilter ( { types : [ challengeType . abbreviation ] } ) )
67
67
)
68
68
}
69
- to = { `${ challengesUrl } ?filter[types][0]=${ encodeURIComponent ( challengeType . id ) } ` }
69
+ to = { `${ challengesUrl } ?filter[types][0]=${ encodeURIComponent ( challengeType . abbreviation ) } ` }
70
70
>
71
71
{ challengeType . name }
72
72
</ TrackTag >
Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ export default function ChallengeFilters({
50
50
if ( filterState . endDateEnd || filterState . startDateStart ) filterRulesCount += 1 ;
51
51
if ( isReviewOpportunitiesBucket && filterState . reviewOpportunityType ) filterRulesCount += 1 ;
52
52
if ( selectedCommunityId !== '' && selectedCommunityId !== 'All' ) filterRulesCount += 1 ;
53
- const isTrackOn = track => filterState . tracks [ track ] ;
53
+ const isTrackOn = track => filterState . tracks && filterState . tracks [ track ] ;
54
54
55
55
const switchTrack = ( track , on ) => {
56
56
const newFilter = _ . cloneDeep ( filterState ) ;
Original file line number Diff line number Diff line change @@ -250,7 +250,7 @@ export default function FiltersPanel({
250
250
} }
251
251
options = { communityOps }
252
252
simpleValue
253
- value = { filterState . groups . length === 0 ? '' : filterState . groups [ 0 ] }
253
+ value = { filterState . groups && filterState . groups . length ? filterState . groups [ 0 ] : '' }
254
254
valueRenderer = { option => (
255
255
< span styleName = "active-community" >
256
256
{ option . name }
Original file line number Diff line number Diff line change @@ -423,7 +423,7 @@ function onSetFilter(state, { payload }) {
423
423
// console.log(`======`);
424
424
return {
425
425
...state ,
426
- filter : payload ,
426
+ filter : _ . assign ( { } , state . filter , payload ) ,
427
427
428
428
/* Page numbers of past/upcoming challenges depend on the filters. To keep
429
429
* the code simple we just reset them each time a filter is modified. */
Original file line number Diff line number Diff line change @@ -167,15 +167,12 @@ export function filterChanged(filter, prevFilter) {
167
167
if ( ! filter || ! prevFilter ) {
168
168
return true ;
169
169
}
170
- return ( filter . tracks . Dev !== prevFilter . tracks . Dev )
171
- || ( filter . tracks . Des !== prevFilter . tracks . Des )
172
- || ( filter . tracks . DS !== prevFilter . tracks . DS )
173
- || ( filter . tracks . QA !== prevFilter . tracks . QA )
170
+ return ( ! _ . isEqual ( filter . tracks , prevFilter . tracks ) )
174
171
|| ( filter . name !== prevFilter . name )
175
172
|| ( filter . startDateStart !== prevFilter . startDateStart )
176
173
|| ( filter . endDateEnd !== prevFilter . endDateEnd )
177
174
// eslint-disable-next-line max-len
178
- || ( filter . groups . length !== prevFilter . groups . length || filter . groups [ 0 ] !== prevFilter . groups [ 0 ] )
175
+ || ( ! _ . isEqual ( filter . groups , prevFilter . groups ) )
179
176
|| _ . filter ( filter . tags , val => _ . indexOf ( prevFilter . tags , val ) < 0 ) . length > 0
180
177
|| _ . filter ( prevFilter . tags , val => _ . indexOf ( filter . tags , val ) < 0 ) . length > 0
181
178
|| _ . filter ( filter . types , val => _ . indexOf ( prevFilter . types , val ) < 0 ) . length > 0
You can’t perform that action at this time.
0 commit comments