Files
frontend-app-gradebook/src/components/GradesView/hooks.js
Ben Warzeski 39bff6e276 Bw/cm3 grades view (#334)
* 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
2023-05-25 12:08:46 -04:00

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;