diff --git a/app/components/Table/index.tsx b/app/components/Table/index.tsx index 1c82588391..43cfb51057 100644 --- a/app/components/Table/index.tsx +++ b/app/components/Table/index.tsx @@ -72,7 +72,9 @@ const filtersToQueryFilters: (filters: Filters) => QueryFilters = (filters) => { const queryFilters: QueryFilters = {}; Object.entries(filters).forEach( ([key, filter]) => - (queryFilters[key] = filter?.length ? filter?.join(',') : undefined), + (queryFilters[key] = filter?.length + ? filter?.filter((filter) => filter !== '').join(',') + : undefined), ); return queryFilters; }; @@ -104,6 +106,11 @@ const Table = ({ const [filters, setFilters] = useState( queryFiltersToFilters(props.filters), ); + + useEffect(() => { + setFilters(queryFiltersToFilters(props.filters)); + }, [props.filters]); + const [isShown, setIsShown] = useState({}); const [showColumn, setShowColumn] = useState({}); const [isExpanded, setIsExpanded] = useState(false); diff --git a/app/routes/bdb/components/BdbPage.tsx b/app/routes/bdb/components/BdbPage.tsx index 704c8c126e..bad1e9487b 100644 --- a/app/routes/bdb/components/BdbPage.tsx +++ b/app/routes/bdb/components/BdbPage.tsx @@ -16,11 +16,13 @@ import { EntityType } from 'app/store/models/entities'; import { guardLogin } from 'app/utils/replaceUnlessLoggedIn'; import useQuery from 'app/utils/useQuery'; import { + contactStatuses, getClosestCompanySemester, getCompanySemesterBySlug, getSemesterSlugById, getSemesterSlugOffset, getSemesterStatus, + getStatusDisplayName, semesterToHumanReadable, } from '../utils'; import SemesterStatus from './SemesterStatus'; @@ -33,6 +35,8 @@ const companiesDefaultQuery = { name: '', studentContact: '', semester: '', + search: '', + status: '', }; const BdbPage = () => { @@ -129,6 +133,14 @@ const BdbPage = () => { company={company} /> ), + filter: contactStatuses.map((status) => ({ + value: status, + label: getStatusDisplayName(status), + })), + inlineFiltering: false, + filterOptions: { + multiSelect: true, + }, }, { title: 'Studentkontakter', @@ -239,9 +251,9 @@ const BdbPage = () => { { currentCompanySemester?.id && dispatch(