modal setup

This commit is contained in:
Maciek Głowacki
2021-01-18 00:57:01 +01:00
parent 429c58befb
commit 8b563d3e70
4 changed files with 259 additions and 18 deletions

View File

@ -33,6 +33,7 @@ interface CourseContext {
selectBasketNames: () => Array<string>;
selectBasketCourses: () => Array<Course>;
selectBasketCourseGroups: (courseId: number) => { lecture: Group | undefined; classes: Group | undefined };
selectGroups: () => Array<Group>;
getNewestStudentTimetable: (studentId: string) => void;
getStudentTimetablesHistory: (studentId: string) => void;
changeDataLoading: (isLoading: boolean) => void;
@ -99,7 +100,6 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
}, [] as Array<SchedulerEvent>);
};
const selectBasketCourseGroups = (courseId: number) => {
const course = basket.find(({ id }) => id === courseId);
if (course !== undefined) {
@ -109,6 +109,12 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
}
};
const selectGroups = () => {
const groups = [];
console.log('courses are: ', courses);
return (courses as unknown) as Array<Group>;
};
const changeHoveredGroup = (group: Group | null) => setHoveredGroup(group);
const changeDataLoading = (isLoading: boolean) => setIsDataLoading(isLoading);
@ -166,14 +172,17 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
const changeGroupInBasket = (choosenGroup: any, courseId: number) => {
const basketCourse = basket.filter((course) => course.id === courseId)[0];
if (choosenGroup.lecture && choosenGroup.classes)
{
const prev = choosenGroup.prev==="lecture"?choosenGroup.lecture : choosenGroup.classes
if (choosenGroup.lecture && choosenGroup.classes) {
const prev = choosenGroup.prev === 'lecture' ? choosenGroup.lecture : choosenGroup.classes;
setBasket(
basket.map((basket) => (basket.id === basketCourse.id ? { ...basket, lecture: choosenGroup.lecture, classes:choosenGroup.classes } : basket)),
basket.map((basket) =>
basket.id === basketCourse.id
? { ...basket, lecture: choosenGroup.lecture, classes: choosenGroup.classes }
: basket,
),
);
changeHoveredGroup(prev);
}
}
};
const restoreGroupInBasket = (restoreGroup: Group, courseId: number) => {
@ -296,6 +305,7 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
selectBasketNames,
selectBasketCourses,
selectBasketCourseGroups,
selectGroups,
getNewestStudentTimetable,
changeStudent,
getStudentTimetablesHistory,