Skip to content

Commit 864672a

Browse files
authored
Merge pull request appirio-tech#206 from royshouvik/fix-1140
Fix issue #1140
2 parents df96b98 + 68590ba commit 864672a

File tree

2 files changed

+23
-9
lines changed

2 files changed

+23
-9
lines changed

components/ChallengeFilters/ChallengeFiltersExample.jsx

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,16 @@ const serialize = filter => filter.getURLEncoded();
6868

6969

7070
// helper function to de-serialize query string to filter object
71-
const deserialize = queryString => new SideBarFilter({
72-
filter: queryString,
73-
isSavedFilter: true, // So that we can reuse constructor for deserializing
74-
isCustomFilter: true,
75-
});
71+
const deserialize = queryString => {
72+
const filter = new SideBarFilter({
73+
filter: queryString,
74+
isSavedFilter: true, // So that we can reuse constructor for deserializing
75+
});
76+
if (!_.values(SideBarFilterModes).includes(filter.name)) {
77+
filter.isCustomFilter = true;
78+
}
79+
return filter;
80+
}
7681

7782
// The demo component itself.
7883
class ChallengeFiltersExample extends React.Component {

components/SideBarFilters/SideBarFilters.jsx

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,18 @@ class SideBarFilters extends React.Component {
104104
// A fancy staff: if the parent has passed a filter, which does not exists
105105
// (it is taken from a deep link), we add it to the list of filters and
106106
// also select it.
107-
const f = new SideBarFilter(props.filter);
108-
f.count = props.challenges.filter(f.getFilterFunction()).length;
109-
this.state.currentFilter = f;
110-
this.state.filters.push(f);
107+
// if the filter is one of the default filters then
108+
// select it by default. We check on name and assume that
109+
// a custom filter will never be named the same as a default filter.
110+
if (_.values(MODE).includes(props.filter.name)) {
111+
this.state.currentFilter = DEFAULT_FILTERS[_.values(MODE).indexOf(props.filter.name)]
112+
}
113+
else {
114+
const f = new SideBarFilter(props.filter);
115+
f.count = props.challenges.filter(f.getFilterFunction()).length;
116+
this.state.currentFilter = f;
117+
this.state.filters.push(f);
118+
}
111119
}
112120

113121

@@ -401,6 +409,7 @@ class SideBarFilters extends React.Component {
401409
if (currentFilter.mode === "Open for review") {
402410
// Jump to Development Review Opportunities page
403411
window.location.href = `${this.props.config.MAIN_URL}/review/development-review-opportunities/`;
412+
return;
404413
}
405414
this.setState({ currentFilter }, () => this.props.onFilter(currentFilter));
406415
}

0 commit comments

Comments
 (0)