From e91a940c1bb79887c9a26c5dbe06874b48fa9ea8 Mon Sep 17 00:00:00 2001 From: Huan Li Date: Tue, 30 Apr 2019 22:14:01 +0800 Subject: [PATCH] Update filter object when fetch challenges. If filter's track has DATA_SCIENCE, should add subTrack DEVELOP_MARATHON_MATCH and remove DS track from filter object. --- src/actions/challenge-listing.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/actions/challenge-listing.js b/src/actions/challenge-listing.js index d8acf22a..ad872794 100644 --- a/src/actions/challenge-listing.js +++ b/src/actions/challenge-listing.js @@ -19,8 +19,8 @@ const { PAGE_SIZE, REVIEW_OPPORTUNITY_PAGE_SIZE } = config; /** * Process filter - * Development challenges having Data Science tech tag, still should be - * included into data science track. + * When filter includes Data Science track, still should be + * included DEVELOP_MARATHON_MATCH sub track. * @param filter * @returns {string} */ @@ -28,9 +28,15 @@ function processFilter(filter) { const newFilter = _.clone(filter); if (_.has(filter, 'track') && filter.track.includes(COMPETITION_TRACKS.DATA_SCIENCE.toUpperCase()) - && !filter.track.includes(COMPETITION_TRACKS.DEVELOP.toUpperCase()) + && ((_.has(filter, 'subTrack') && !filter.subTrack.includes('DEVELOP_MARATHON_MATCH')) + || !_.has(filter, 'subTrack')) ) { - newFilter.track = `${newFilter.track},${COMPETITION_TRACKS.DEVELOP.toUpperCase()}`; + newFilter.subTrack = `${_.has(filter, 'subTrack') ? `${newFilter.subTrack},DEVELOP_MARATHON_MATCH` : 'DEVELOP_MARATHON_MATCH'}`; + newFilter.track = _.remove(filter.track.split(','), item => item.toUpperCase() !== COMPETITION_TRACKS.DATA_SCIENCE.toUpperCase()).join(','); + + if (_.isEmpty(newFilter.track)) { + delete newFilter.track; + } } return newFilter; }