Skip to content

Commit 7d0bcaf

Browse files
committed
Merge branch 'filter-remains-on-page-reload' of Arnei/opencast-admin-interface into r/19.x
Pull request #1525 Fixes #1079 Stop filter dropdown from popping up on page reload
2 parents 429f573 + ca73413 commit 7d0bcaf

3 files changed

Lines changed: 7 additions & 41 deletions

File tree

src/components/shared/TableFilters.tsx

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,12 @@ import { useTranslation } from "react-i18next";
33
import DatePicker from "react-datepicker";
44
import {
55
getFilters,
6-
getSecondFilter,
7-
getSelectedFilter,
86
getTextFilter,
97
} from "../../selectors/tableFilterSelectors";
108
import {
119
FilterData,
1210
editFilterValue,
13-
editSelectedFilter,
1411
editTextFilter,
15-
removeSecondFilter,
16-
removeSelectedFilter,
1712
removeTextFilter,
1813
resetFilterValues,
1914
} from "../../slices/tableFilterSlice";
@@ -52,8 +47,8 @@ const TableFilters = ({
5247
const dispatch = useAppDispatch();
5348

5449
const filterMap = useAppSelector(state => getFilters(state, resource));
55-
const secondFilter = useAppSelector(state => getSecondFilter(state));
56-
const selectedFilter = useAppSelector(state => getSelectedFilter(state));
50+
const [selectedFilter, setSelectedFilter] = useState("");
51+
const [secondFilter, setSecondFilter] = useState("");
5752
const textFilter = useAppSelector(state => getTextFilter(state, resource));
5853

5954
// Variables for showing different dialogs depending on what was clicked
@@ -76,8 +71,7 @@ const TableFilters = ({
7671
setFilterSelector(false);
7772

7873
dispatch(removeTextFilter(resource));
79-
dispatch(removeSelectedFilter());
80-
dispatch(removeSelectedFilter());
74+
setSelectedFilter("");
8175

8276
// Set all values of the filters in filterMap back to ""
8377
dispatch(resetFilterValues());
@@ -119,7 +113,7 @@ const TableFilters = ({
119113
}
120114

121115
if (name === "selectedFilter") {
122-
dispatch(editSelectedFilter(value));
116+
setSelectedFilter(value);
123117
setOpenSecondFilterMenu(true);
124118
}
125119

@@ -130,8 +124,8 @@ const TableFilters = ({
130124
if (filter) {
131125
dispatch(editFilterValue({ filterName: filter.name, value: value, resource }));
132126
setFilterSelector(false);
133-
dispatch(removeSelectedFilter());
134-
dispatch(removeSecondFilter());
127+
setSelectedFilter("");
128+
setSecondFilter("");
135129
setOpenSecondFilterMenu(false);
136130
mustApplyChanges = true;
137131
}
@@ -211,7 +205,7 @@ const TableFilters = ({
211205
resource,
212206
}));
213207
setFilterSelector(false);
214-
dispatch(removeSelectedFilter());
208+
setSelectedFilter("");
215209
// Reload of resource after going to very first page.
216210
dispatch(goToPage(0));
217211
await dispatch(loadResource());

src/selectors/tableFilterSelectors.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import { Resource } from "../slices/tableSlice";
99
export const getAllFilters = (state: RootState) => state.tableFilters.data;
1010
export const getStats = (state: RootState) => state.tableFilters.stats;
1111
export const getAllTextFilter = (state: RootState) => state.tableFilters.textFilter;
12-
export const getSelectedFilter = (state: RootState) => state.tableFilters.selectedFilter;
13-
export const getSecondFilter = (state: RootState) => state.tableFilters.secondFilter;
1412
export const getCurrentFilterResource = (state: RootState) => state.tableFilters.currentResource;
1513
export const getFilters = createSelector(
1614
[getAllFilters, (_state, resource: Resource) => resource],

src/slices/tableFilterSlice.ts

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,6 @@ type TableFilterState = {
5050
data: FilterData[],
5151
filterProfiles: FilterProfile[],
5252
textFilter: TextFilter[],
53-
selectedFilter: string,
54-
secondFilter: string,
5553
stats: Stats[],
5654
}
5755

@@ -65,8 +63,6 @@ const initialState: TableFilterState = {
6563
data: [],
6664
filterProfiles: [],
6765
textFilter: [],
68-
selectedFilter: "",
69-
secondFilter: "",
7066
stats: [],
7167
};
7268

@@ -362,24 +358,6 @@ const tableFilterSlice = createSlice({
362358
const filterMap = action.payload;
363359
state.data = filterMap;
364360
},
365-
editSelectedFilter(state, action: PayloadAction<
366-
TableFilterState["selectedFilter"]
367-
>) {
368-
const filter = action.payload;
369-
state.selectedFilter = filter;
370-
},
371-
removeSelectedFilter(state) {
372-
state.selectedFilter = "";
373-
},
374-
editSecondFilter(state, action: PayloadAction<
375-
TableFilterState["secondFilter"]
376-
>) {
377-
const filter = action.payload;
378-
state.secondFilter = filter;
379-
},
380-
removeSecondFilter(state) {
381-
state.secondFilter = "";
382-
},
383361
resetCorruptedState(state) {
384362
// Reset corrupted localStorage state to initial values
385363
if (!Array.isArray(state.data)) {
@@ -438,10 +416,6 @@ export const {
438416
editTextFilter,
439417
removeTextFilter,
440418
loadFilterProfile,
441-
editSelectedFilter,
442-
removeSelectedFilter,
443-
editSecondFilter,
444-
removeSecondFilter,
445419
resetCorruptedState,
446420
} = tableFilterSlice.actions;
447421

0 commit comments

Comments
 (0)