Skip to content

Commit ffb3864

Browse files
fix: sort menu collapse after filter selection (#645)
* fix: sort menu collapse after filter selection * refactor: filter menu collapse logic --------- Co-authored-by: Awais Ansari <[email protected]>
1 parent 5df51f2 commit ffb3864

File tree

3 files changed

+13
-14
lines changed

3 files changed

+13
-14
lines changed

src/components/FilterBar.jsx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* eslint-disable react/forbid-prop-types */
2-
import React, { useMemo, useState } from 'react';
2+
import React, { useCallback, useMemo, useState } from 'react';
33
import PropTypes from 'prop-types';
44

55
import { capitalize, toString } from 'lodash';
@@ -93,10 +93,15 @@ const FilterBar = ({
9393
},
9494
];
9595

96+
const handleFilterToggle = useCallback((event) => {
97+
onFilterChange(event);
98+
setOpen(false);
99+
}, [onFilterChange]);
100+
96101
return (
97102
<Collapsible.Advanced
98103
open={isOpen}
99-
onToggle={() => setOpen(!isOpen)}
104+
onToggle={setOpen}
100105
className="filter-bar collapsible-card-lg border-0"
101106
>
102107
<Collapsible.Trigger className="collapsible-trigger border-0">
@@ -126,7 +131,7 @@ const FilterBar = ({
126131
name={value.name}
127132
className="d-flex flex-column list-group list-group-flush"
128133
value={selectedFilters[value.name]}
129-
onChange={onFilterChange}
134+
onChange={handleFilterToggle}
130135
>
131136
{value.filters.map(filterName => {
132137
const element = allFilters.find(obj => obj.id === filterName);
@@ -159,7 +164,7 @@ const FilterBar = ({
159164
name="cohort"
160165
className="d-flex flex-column list-group list-group-flush w-100"
161166
value={selectedFilters.cohort}
162-
onChange={onFilterChange}
167+
onChange={handleFilterToggle}
163168
>
164169
<ActionItem
165170
id="all-groups"

src/discussions/learners/learner/LearnerFilterBar.jsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,13 @@ const LearnerFilterBar = () => {
6767
},
6868
);
6969
}
70+
setOpen(false);
7071
}, []);
7172

72-
const handleOnToggle = useCallback(() => {
73-
setOpen(!isOpen);
74-
}, [isOpen]);
75-
7673
return (
7774
<Collapsible.Advanced
7875
open={isOpen}
79-
onToggle={handleOnToggle}
76+
onToggle={setOpen}
8077
className="filter-bar collapsible-card-lg border-0"
8178
>
8279
<Collapsible.Trigger className="collapsible-trigger border-0">

src/discussions/posts/post-filter-bar/PostFilterBar.jsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -130,12 +130,9 @@ const PostFilterBar = () => {
130130
}
131131

132132
sendTrackEvent('edx.forum.filter.content', filterContentEventProperties);
133+
setOpen(false);
133134
}, [currentFilters, currentSorting, dispatch, selectedCohort]);
134135

135-
const handleToggle = useCallback(() => {
136-
setOpen(!isOpen);
137-
}, [isOpen]);
138-
139136
useEffect(() => {
140137
if (userHasModerationPrivileges && isEmpty(cohorts)) {
141138
dispatch(fetchCourseCohorts(courseId));
@@ -183,7 +180,7 @@ const PostFilterBar = () => {
183180
return (
184181
<Collapsible.Advanced
185182
open={isOpen}
186-
onToggle={handleToggle}
183+
onToggle={setOpen}
187184
className="filter-bar collapsible-card-lg border-0"
188185
>
189186
<Collapsible.Trigger className="collapsible-trigger border-0">

0 commit comments

Comments
 (0)