Skip to content

Commit c04d780

Browse files
Merge pull request #5067 from topcoder-platform/feature-refactor-challengelist
Feature refactor challengelist
2 parents 381aac7 + 978b98f commit c04d780

File tree

4 files changed

+32
-18
lines changed

4 files changed

+32
-18
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.endDateStart || filterState.startDateEnd) {
51+
filterRulesCount += 1;
52+
}
5153
if (isReviewOpportunitiesBucket && filterState.reviewOpportunityType) filterRulesCount += 1;
5254
if (selectedCommunityId !== '' && selectedCommunityId !== 'All') filterRulesCount += 1;
5355
const isTrackOn = track => filterState.tracks && 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
@@ -314,14 +314,21 @@ export default function FiltersPanel({
314314
</label>
315315
<DateRangePicker
316316
numberOfMonths={1}
317-
endDate={filterState.endDateEnd && moment(filterState.endDateEnd)}
317+
endDate={filterState.startDateEnd && moment(filterState.startDateEnd)}
318318
id="date-range-picker-one-month"
319319
onDatesChange={(dates) => {
320320
const d = dates.endDate ? dates.endDate.toISOString() : null;
321321
const s = dates.startDate ? dates.startDate.toISOString() : null;
322-
setFilterState({ ..._.clone(filterState), startDateStart: s, endDateEnd: d });
322+
setFilterState({
323+
..._.clone(filterState),
324+
endDateStart: s,
325+
startDateEnd: d,
326+
});
323327
}}
324-
startDate={filterState.startDateStart && moment(filterState.startDateStart)}
328+
startDate={
329+
filterState.endDateStart
330+
&& moment(filterState.endDateStart)
331+
}
325332
/>
326333
</div>
327334
<div styleName="filter dates hideonemonthdatepicker">
@@ -331,15 +338,20 @@ export default function FiltersPanel({
331338
</label>
332339
<DateRangePicker
333340
numberOfMonths={2}
334-
endDate={filterState.endDateEnd && moment(filterState.endDateEnd)}
341+
endDate={filterState.startDateEnd && moment(filterState.startDateEnd)}
335342
id="date-range-picker-two-months"
336343
onDatesChange={(dates) => {
337344
const d = dates.endDate ? dates.endDate.toISOString() : null;
338345
const s = dates.startDate ? dates.startDate.toISOString() : null;
339-
setFilterState({ ..._.clone(filterState), startDateStart: s, endDateEnd: d });
346+
setFilterState({
347+
..._.clone(filterState),
348+
endDateStart: s,
349+
startDateEnd: d,
350+
});
340351
}}
341352
startDate={
342-
filterState.startDateStart && moment(filterState.startDateStart)
353+
filterState.endDateStart
354+
&& moment(filterState.endDateStart)
343355
}
344356
/>
345357
</div>
@@ -361,8 +373,8 @@ export default function FiltersPanel({
361373
tags: [],
362374
types: [],
363375
groups: [],
364-
startDateStart: null,
365-
endDateEnd: null,
376+
endDateStart: null,
377+
startDateEnd: null,
366378
});
367379
selectCommunity(defaultCommunityId);
368380
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', 'startDateEnd', 'endDateStart', '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.startDateEnd && !moment(filter.startDateEnd).isValid()) {
413+
delete filter.startDateEnd;
414414
}
415-
if (filter.endDateEnd && !moment(filter.endDateEnd).isValid()) {
416-
delete filter.endDateEnd;
415+
if (filter.endDateStart && !moment(filter.endDateStart).isValid()) {
416+
delete filter.endDateStart;
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+
startDateEnd: null,
814+
endDateStart: null,
815815
},
816816

817817
selectedCommunityId: 'All',

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,8 @@ export function filterChanged(filter, prevFilter) {
169169
}
170170
return (!_.isEqual(filter.tracks, prevFilter.tracks))
171171
|| (filter.name !== prevFilter.name)
172-
|| (filter.startDateStart !== prevFilter.startDateStart)
173-
|| (filter.endDateEnd !== prevFilter.endDateEnd)
172+
|| (filter.startDateEnd !== prevFilter.startDateEnd)
173+
|| (filter.endDateStart !== prevFilter.endDateStart)
174174
// eslint-disable-next-line max-len
175175
|| (!_.isEqual(filter.groups, prevFilter.groups))
176176
|| _.filter(filter.tags, val => _.indexOf(prevFilter.tags, val) < 0).length > 0

0 commit comments

Comments
 (0)