Skip to content

Commit b11f018

Browse files
committed
fix(challenge-listing): date filters will use correct query params
* The date filters at challenge listing page was using `startDateStart` and `endDateEnd` query parameters for `GET /challenges` call. * It now uses `registrationStartDateStart` and `submissionEndDateEnd` instead, in compliance with previous implementation. Addresses topcoder-platform#4984
1 parent cb067d6 commit b11f018

File tree

4 files changed

+34
-20
lines changed

4 files changed

+34
-20
lines changed

src/shared/components/challenge-listing/Filters/ChallengeFilters.jsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ export default function ChallengeFilters({
4747
if (filterState.groups && filterState.groups.length) filterRulesCount += 1;
4848
if (filterState.tags && filterState.tags.length) filterRulesCount += 1;
4949
if (filterState.types && filterState.types.length) filterRulesCount += 1;
50-
if (filterState.endDateEnd || filterState.startDateStart) filterRulesCount += 1;
50+
if (filterState.submissionEndDateEnd || filterState.registrationStartDateStart) {
51+
filterRulesCount += 1;
52+
}
5153
if (isReviewOpportunitiesBucket && filterState.reviewOpportunityType) filterRulesCount += 1;
5254
if (selectedCommunityId !== '' && selectedCommunityId !== 'All') filterRulesCount += 1;
5355
const isTrackOn = track => filterState.tracks[track];

src/shared/components/challenge-listing/Filters/FiltersPanel/index.jsx

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -311,14 +311,21 @@ export default function FiltersPanel({
311311
</label>
312312
<DateRangePicker
313313
numberOfMonths={1}
314-
endDate={filterState.endDateEnd && moment(filterState.endDateEnd)}
314+
endDate={filterState.submissionEndDateEnd && moment(filterState.submissionEndDateEnd)}
315315
id="date-range-picker-one-month"
316316
onDatesChange={(dates) => {
317317
const d = dates.endDate ? dates.endDate.toISOString() : null;
318318
const s = dates.startDate ? dates.startDate.toISOString() : null;
319-
setFilterState({ ..._.clone(filterState), startDateStart: s, endDateEnd: d });
319+
setFilterState({
320+
..._.clone(filterState),
321+
registrationStartDateStart: s,
322+
submissionEndDateEnd: d,
323+
});
320324
}}
321-
startDate={filterState.startDateStart && moment(filterState.startDateStart)}
325+
startDate={
326+
filterState.registrationStartDateStart
327+
&& moment(filterState.registrationStartDateStart)
328+
}
322329
/>
323330
</div>
324331
<div styleName="filter dates hideonemonthdatepicker">
@@ -328,15 +335,20 @@ export default function FiltersPanel({
328335
</label>
329336
<DateRangePicker
330337
numberOfMonths={2}
331-
endDate={filterState.endDateEnd && moment(filterState.endDateEnd)}
338+
endDate={filterState.submissionEndDateEnd && moment(filterState.submissionEndDateEnd)}
332339
id="date-range-picker-two-months"
333340
onDatesChange={(dates) => {
334341
const d = dates.endDate ? dates.endDate.toISOString() : null;
335342
const s = dates.startDate ? dates.startDate.toISOString() : null;
336-
setFilterState({ ..._.clone(filterState), startDateStart: s, endDateEnd: d });
343+
setFilterState({
344+
..._.clone(filterState),
345+
registrationStartDateStart: s,
346+
submissionEndDateEnd: d,
347+
});
337348
}}
338349
startDate={
339-
filterState.startDateStart && moment(filterState.startDateStart)
350+
filterState.registrationStartDateStart
351+
&& moment(filterState.registrationStartDateStart)
340352
}
341353
/>
342354
</div>
@@ -358,8 +370,8 @@ export default function FiltersPanel({
358370
tags: [],
359371
types: [],
360372
groups: [],
361-
startDateStart: null,
362-
endDateEnd: null,
373+
registrationStartDateStart: null,
374+
submissionEndDateEnd: null,
363375
});
364376
selectCommunity(defaultCommunityId);
365377
setSearchText('');

src/shared/reducers/challenge-listing/index.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -401,19 +401,19 @@ function onSetFilter(state, { payload }) {
401401
* do it very carefuly (many params are not validated). */
402402
const filter = _.pickBy(_.pick(
403403
payload,
404-
['tags', 'types', 'name', 'startDateStart', 'endDateEnd', 'groups'],
404+
['tags', 'types', 'name', 'registrationStartDateStart', 'submissionEndDateEnd', 'groups'],
405405
), value => (!_.isArray(value) && value && value !== '') || (_.isArray(value) && value.length > 0));
406406
// if (_.isPlainObject(filter.tags)) {
407407
// filter.tags = _.values(filter.tags);
408408
// }
409409
// if (_.isPlainObject(filter.subtracks)) {
410410
// filter.subtracks = _.values(filter.subtracks);
411411
// }
412-
if (filter.startDateStart && !moment(filter.startDateStart).isValid()) {
413-
delete filter.startDateStart;
412+
if (filter.registrationStartDateStart && !moment(filter.registrationStartDateStart).isValid()) {
413+
delete filter.registrationStartDateStart;
414414
}
415-
if (filter.endDateEnd && !moment(filter.endDateEnd).isValid()) {
416-
delete filter.endDateEnd;
415+
if (filter.submissionEndDateEnd && !moment(filter.submissionEndDateEnd).isValid()) {
416+
delete filter.submissionEndDateEnd;
417417
}
418418
// console.log(`aaaaa`);
419419
// console.log(filter);
@@ -810,8 +810,8 @@ function create(initialState) {
810810
tags: [],
811811
types: [],
812812
groups: [],
813-
startDateStart: null,
814-
endDateEnd: null,
813+
registrationStartDateStart: null,
814+
submissionEndDateEnd: null,
815815
},
816816

817817
selectedCommunityId: 'All',

src/shared/utils/challenge-listing/buckets.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,8 @@ export function filterChanged(filter, prevFilter) {
172172
|| (filter.tracks.DS !== prevFilter.tracks.DS)
173173
|| (filter.tracks.QA !== prevFilter.tracks.QA)
174174
|| (filter.name !== prevFilter.name)
175-
|| (filter.startDateStart !== prevFilter.startDateStart)
176-
|| (filter.endDateEnd !== prevFilter.endDateEnd)
175+
|| (filter.registrationStartDateStart !== prevFilter.registrationStartDateStart)
176+
|| (filter.submissionEndDateEnd !== prevFilter.submissionEndDateEnd)
177177
// eslint-disable-next-line max-len
178178
|| (filter.groups.length !== prevFilter.groups.length || filter.groups[0] !== prevFilter.groups[0])
179179
|| _.filter(filter.tags, val => _.indexOf(prevFilter.tags, val) < 0).length > 0
@@ -202,8 +202,8 @@ export function isFilterEmpty(filter) {
202202
tags: [],
203203
types: [],
204204
groups: [],
205-
startDateStart: null,
206-
endDateEnd: null,
205+
registrationStartDateStart: null,
206+
submissionEndDateEnd: null,
207207
});
208208
}
209209

0 commit comments

Comments
 (0)