* fix: downgrade jest to avoid a date bug * chore: add paragon icons and components to mocks * chore: top-level formatDate util * chore: redux transform hooks * chore: add top-level data selectors * chore: redux hooks * refactor: update GradebookHeader component * refactor: update GradebookFilters components * refactor: update BulkManagementControls * refactor: update EditModal component * refactor: update FilterMenuToggle * refactor: update FilteredUsersLabel; * refactor: update GradebookTable * refactor: update ImportSuccessToast * refactor: update PageButtons * refactor: update FilterBadges * refactor: update ScoreViewInput * refactor: update InterventionsReport * refactor: update SearchControls * refactor: update StatusAlerts * chore: fix text name * refactor: update SpinnerIcon * chore: remove stale component * refactor: update GradesView top component * chore: remove old snapshots * chore: update package-lock to node 18
31 lines
889 B
JavaScript
31 lines
889 B
JavaScript
import { useIntl } from '@edx/frontend-platform/i18n';
|
|
|
|
import { actions, thunkActions } from 'data/redux/hooks';
|
|
import messages from './messages';
|
|
|
|
export const useGradesViewData = ({ updateQueryParams }) => {
|
|
const { formatMessage } = useIntl();
|
|
const fetchGrades = thunkActions.grades.useFetchGrades();
|
|
const resetFilters = actions.filters.useResetFilters();
|
|
|
|
const handleFilterBadgeClose = (filterNames) => () => {
|
|
resetFilters(filterNames);
|
|
updateQueryParams(filterNames.reduce(
|
|
(obj, filterName) => ({ ...obj, [filterName]: false }),
|
|
{},
|
|
));
|
|
fetchGrades();
|
|
};
|
|
|
|
return {
|
|
stepHeadings: {
|
|
filter: formatMessage(messages.filterStepHeading),
|
|
gradebook: formatMessage(messages.gradebookStepHeading),
|
|
},
|
|
handleFilterBadgeClose,
|
|
mastersHint: formatMessage(messages.mastersHint),
|
|
};
|
|
};
|
|
|
|
export default useGradesViewData;
|