mui-toolpad-extended-tuni 2.1.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +167 -27
- package/dist/index.cjs +193 -149
- package/dist/index.d.ts +2 -49
- package/dist/index.es.js +66408 -19299
- package/dist/mockServiceWorker.js +1 -1
- package/dist/mui-toolpad-extended-tuni.css +1 -0
- package/dist/src/App.d.ts +31 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableAutoComplete.d.ts +12 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableColor.d.ts +8 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableImage.d.ts +9 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableNumber.d.ts +12 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableSelect.d.ts +14 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableSwitch.d.ts +8 -0
- package/dist/src/LMSToolpad/Forms/Components/Editables/EditableText.d.ts +32 -0
- package/dist/src/LMSToolpad/Forms/Components/SqueezableTable/SqueezableTable.d.ts +2 -0
- package/dist/src/LMSToolpad/Forms/Components/SqueezableTable/types.d.ts +24 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/PlatformSettings.d.ts +21 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/PlatformSettingsTabs.d.ts +16 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/AITab.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/AuthTab.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/CoursesTab.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/FeaturesTab.d.ts +24 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/GeneralTab.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/PrivacyTab.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/ThemeTab.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/components/ColorSettings.d.ts +7 -0
- package/dist/src/LMSToolpad/Forms/PlatformSettings/tabs/components/TypographySettings.d.ts +7 -0
- package/dist/src/LMSToolpad/ToolpadProvider.d.ts +35 -0
- package/dist/src/LMSToolpad/components/AuthenticationManager.d.ts +2 -0
- package/dist/src/LMSToolpad/components/Calendar/Calendar.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Calendar/CalendarBody.d.ts +16 -0
- package/dist/src/LMSToolpad/components/Calendar/CalendarEventAggregator.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Calendar/CalendarEventItem.d.ts +10 -0
- package/dist/src/LMSToolpad/components/Calendar/CalendarHeader.d.ts +12 -0
- package/dist/src/LMSToolpad/components/Calendar/CalendarManager.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Calendar/CalendarMicroservice.d.ts +32 -0
- package/dist/src/LMSToolpad/components/Calendar/DatePickerPopover.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Calendar/components/EventDetails.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Calendar/components/EventMenu.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Calendar/components/EventViews.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Calendar/components/index.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Calendar/index.d.ts +5 -0
- package/dist/src/LMSToolpad/components/Calendar/store/useCalendarStore.d.ts +44 -0
- package/dist/src/LMSToolpad/components/Calendar/types.d.ts +49 -0
- package/dist/src/LMSToolpad/components/Courses/CourseEventPublisher.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseActions.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseHeader.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseHeaderActions.d.ts +12 -0
- package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseIcon.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseInfo.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Courses/CourseItem/CourseItem.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Courses/CourseList.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Courses/CourseManager.d.ts +2 -0
- package/dist/src/LMSToolpad/components/Courses/CourseMicroservice.d.ts +42 -0
- package/dist/src/LMSToolpad/components/Courses/CourseRoutesProvider.d.ts +12 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/components/Courses/CourseTools.d.ts +2 -3
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/CourseSettings.d.ts +23 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/CourseSettingsTabs.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/BasicInfoTab.d.ts +7 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/DataProcessingTab.d.ts +24 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/EnrollmentTab.d.ts +28 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/RelationshipsTab.d.ts +25 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/StaffTab.d.ts +26 -0
- package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/VisibilityTab.d.ts +24 -0
- package/dist/src/LMSToolpad/components/Courses/Navigation/CourseNavigationbuilder.d.ts +2 -0
- package/dist/{LMSToolpad/components → src/LMSToolpad/components/Courses/components/ToolDisplayer}/ToolCard.d.ts +1 -1
- package/dist/{LMSToolpad/components → src/LMSToolpad/components/Courses/components/ToolDisplayer}/ToolDisplayer.d.ts +1 -11
- package/dist/src/LMSToolpad/components/Courses/config/subjectConfig.d.ts +10 -0
- package/dist/src/LMSToolpad/components/Courses/context/CourseMicroserviceContext.d.ts +26 -0
- package/dist/src/LMSToolpad/components/Courses/hooks/useCourseRoutes.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Courses/mocks/commented.d.ts +0 -0
- package/dist/src/LMSToolpad/components/Courses/mocks/constants.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Courses/mocks/endpoints.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Courses/mocks/generators.d.ts +13 -0
- package/dist/src/LMSToolpad/components/Courses/mocks/types.d.ts +109 -0
- package/dist/{LMSToolpad → src/LMSToolpad/components/Courses}/network/courses.d.ts +1 -8
- package/dist/src/LMSToolpad/components/Courses/store/useCourseStore.d.ts +146 -0
- package/dist/{LMSToolpad → src/LMSToolpad/components/Courses}/utils/courseFilters.d.ts +8 -1
- package/dist/{LMSToolpad → src/LMSToolpad}/components/Dialogs/DialogOpener.d.ts +0 -1
- package/dist/src/LMSToolpad/components/Dialogs/Dialogs.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Dialogs/ExtendedDialog.d.ts +8 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/components/Dialogs/FormDialog.d.ts +5 -1
- package/dist/src/LMSToolpad/components/Dialogs/dialogRegistry.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Events/EventBus.d.ts +34 -0
- package/dist/src/LMSToolpad/components/Events/UserBus.d.ts +111 -0
- package/dist/src/LMSToolpad/components/Events/hooks/useCurrentUser.d.ts +11 -0
- package/dist/src/LMSToolpad/components/Events/hooks/useUserActions.d.ts +15 -0
- package/dist/src/LMSToolpad/components/Events/hooks/useUserPreferences.d.ts +22 -0
- package/dist/src/LMSToolpad/components/Events/index.d.ts +10 -0
- package/dist/src/LMSToolpad/components/Events/types.d.ts +16 -0
- package/dist/src/LMSToolpad/components/Events/userTypes.d.ts +78 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/components/IconWithBadge.d.ts +0 -1
- package/dist/{LMSToolpad/components → src/LMSToolpad/components/Microservices}/MicroserviceNavigationBuilder.d.ts +3 -3
- package/dist/src/LMSToolpad/components/Microservices/MicroserviceSubsections.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Microservices/Microservices.d.ts +25 -0
- package/dist/src/LMSToolpad/components/Microservices/types.d.ts +12 -0
- package/dist/src/LMSToolpad/components/Navigation/NavigationBuilder.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Navigation/NavigationFilter.d.ts +1 -0
- package/dist/src/LMSToolpad/components/Navigation/NavigationRegistry.d.ts +116 -0
- package/dist/src/LMSToolpad/components/Navigation/hooks/useMicroserviceNavigation.d.ts +4 -0
- package/dist/src/LMSToolpad/components/Navigation/hooks/useMicroserviceRoutes.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Navigation/hooks/useNavigationSectionManager.d.ts +23 -0
- package/dist/src/LMSToolpad/components/Navigation/hooks/useSyncNavigationFilters.d.ts +1 -0
- package/dist/src/LMSToolpad/components/Navigation/store/microserviceUtils.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Navigation/store/navigationCalculator.d.ts +11 -0
- package/dist/src/LMSToolpad/components/Navigation/store/sectionManager.d.ts +9 -0
- package/dist/src/LMSToolpad/components/Navigation/store/types.d.ts +90 -0
- package/dist/src/LMSToolpad/components/Navigation/store/useNavigationFilterStore.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Navigation/store/useNavigationStore.d.ts +50 -0
- package/dist/src/LMSToolpad/components/Notifications/store/useNotificationsStore.d.ts +22 -0
- package/dist/src/LMSToolpad/components/Routes/Home/Home.d.ts +2 -0
- package/dist/src/LMSToolpad/components/Users/Forms/UserSettings/UserSettings.d.ts +22 -0
- package/dist/src/LMSToolpad/components/Users/UserEventPublisher.d.ts +8 -0
- package/dist/src/LMSToolpad/components/Users/UserManager.d.ts +2 -0
- package/dist/src/LMSToolpad/components/Users/UserMicroservice.d.ts +34 -0
- package/dist/src/LMSToolpad/components/Users/index.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Users/mocks/constants.d.ts +59 -0
- package/dist/src/LMSToolpad/components/Users/mocks/endpoints.d.ts +3 -0
- package/dist/src/LMSToolpad/components/Users/mocks/generators.d.ts +6 -0
- package/dist/src/LMSToolpad/components/Users/mocks/types.d.ts +52 -0
- package/dist/src/LMSToolpad/components/Users/network/users.d.ts +7 -0
- package/dist/src/LMSToolpad/components/Users/store/useUserStore.d.ts +63 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/addActions.d.ts +2 -2
- package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/addIcons.d.ts +1 -1
- package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/utils/ActionFCWrapper.d.ts +2 -2
- package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/utils/IconFCWrapper.d.ts +0 -1
- package/dist/src/LMSToolpad/constants.d.ts +67 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/hooks/useCustomRouter.d.ts +2 -2
- package/dist/src/LMSToolpad/hooks/useVisitedCourses.d.ts +18 -0
- package/dist/src/LMSToolpad/index.d.ts +1 -0
- package/dist/src/LMSToolpad/layout/Content/PageContent.d.ts +5 -0
- package/dist/{LMSToolpad/components/toolbar → src/LMSToolpad/layout/Toolbars/AppToolbar}/Account.d.ts +1 -0
- package/dist/src/LMSToolpad/layout/Toolbars/AppToolbar/CollapsibleMenu.d.ts +1 -0
- package/dist/src/LMSToolpad/layout/Toolbars/AppToolbar/RegisteredAppTools.d.ts +11 -0
- package/dist/src/LMSToolpad/layout/Toolbars/AppToolbar/SearchBar.d.ts +6 -0
- package/dist/src/LMSToolpad/layout/Toolbars/PageToolbar/RegisteredPageTools.d.ts +37 -0
- package/dist/src/LMSToolpad/layout/Toolbars/toolbarRegistry.d.ts +117 -0
- package/dist/{LMSToolpad/components → src/LMSToolpad/layout}/sidebar/Footer.d.ts +0 -1
- package/dist/src/LMSToolpad/mocks/browser.d.ts +2 -0
- package/dist/src/LMSToolpad/mocks/handlers.d.ts +2 -0
- package/dist/src/LMSToolpad/mocks/store.d.ts +24 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/network/axiosConfig.d.ts +1 -1
- package/dist/src/LMSToolpad/store/useDialogStore.d.ts +9 -0
- package/dist/src/LMSToolpad/store/usePlatformStore.d.ts +165 -0
- package/dist/src/LMSToolpad/store/useThemeStore.d.ts +184 -0
- package/dist/src/LMSToolpad/store/useToolbarStore.d.ts +8 -0
- package/dist/src/LMSToolpad/theme/EduMLTheme.d.ts +2 -0
- package/dist/{LMSToolpad → src/LMSToolpad}/tools/ErrorBoundary.d.ts +1 -2
- package/dist/src/LMSToolpad/utils/__tests__/courseFilters.test.d.ts +2 -0
- package/dist/src/LMSToolpad/utils/apiPrefix.d.ts +2 -0
- package/dist/src/LMSToolpad/utils/cookieUtils.d.ts +27 -0
- package/dist/src/LMSToolpad/utils/parseDate.d.ts +2 -0
- package/dist/src/LMSToolpad/utils/slugify.d.ts +1 -0
- package/dist/src/common/components/index.d.ts +2 -0
- package/dist/src/common/components/layout/GridLayout/GridItem.d.ts +17 -0
- package/dist/src/common/components/layout/GridLayout/GridItemContext.d.ts +26 -0
- package/dist/src/common/components/layout/GridLayout/ResponsiveGridLayout.d.ts +16 -0
- package/dist/src/common/components/layout/GridLayout/Tools/BreakpointIndicator.d.ts +8 -0
- package/dist/src/common/components/layout/GridLayout/Tools/EditModeToggler.d.ts +7 -0
- package/dist/src/common/components/layout/GridLayout/hooks/useGridLayoutManagement.d.ts +27 -0
- package/dist/src/common/components/layout/GridLayout/index.d.ts +12 -0
- package/dist/src/common/components/layout/GridLayout/layoutStorageUtils.d.ts +52 -0
- package/dist/src/common/components/layout/GridLayout/layoutUtils.d.ts +78 -0
- package/dist/src/common/components/layout/GridLayout/store/usePanelStore.d.ts +27 -0
- package/dist/src/common/components/layout/GridLayout/useGridLayout.d.ts +11 -0
- package/dist/src/common/components/layout/index.d.ts +1 -0
- package/dist/src/common/components/ui/CollapsingButtons/CollapsingButtons.d.ts +11 -0
- package/dist/src/common/components/ui/CompoundPanel/CompoundPanel.d.ts +86 -0
- package/dist/src/common/components/ui/Panel/Expandable/Expandable.d.ts +4 -0
- package/dist/src/common/components/ui/Panel/Expandable/context/ExpandableContextProvider.d.ts +10 -0
- package/dist/src/common/components/ui/Panel/Expandable/hooks/useCollapseHandler.d.ts +2 -0
- package/dist/src/common/components/ui/Panel/Expandable/hooks/useExpandable.d.ts +17 -0
- package/dist/src/common/components/ui/Panel/Expandable/hooks/useExpansionAnimation.d.ts +5 -0
- package/dist/src/common/components/ui/Panel/Expandable/hooks/useInitialSetup.d.ts +6 -0
- package/dist/src/common/components/ui/Panel/Expandable/hooks/useResizeHandler.d.ts +1 -0
- package/dist/src/common/components/ui/Panel/Expandable/store/useExpandablePanelStore.d.ts +7 -0
- package/dist/src/common/components/ui/Panel/Main/Context/PanelContextProvider.d.ts +50 -0
- package/dist/src/common/components/ui/Panel/Main/Panel.d.ts +3 -0
- package/dist/src/common/components/ui/Panel/Main/hooks/useDimensionManagement.d.ts +13 -0
- package/dist/src/common/components/ui/Panel/Main/hooks/usePersistentDimensions.d.ts +19 -0
- package/dist/src/common/components/ui/Panel/Main/tools/BlurOverlay.d.ts +6 -0
- package/dist/src/common/components/ui/Panel/Main/tools/ToolsContainer.d.ts +11 -0
- package/dist/src/common/components/ui/Panel/Movable/DraggableItem.d.ts +6 -0
- package/dist/src/common/components/ui/Panel/Movable/MovablePanel.d.ts +9 -0
- package/dist/src/common/components/ui/Panel/Movable/MoveToggler.d.ts +3 -0
- package/dist/src/common/components/ui/Panel/Movable/context/MovableContextProvider.d.ts +10 -0
- package/dist/src/common/components/ui/Panel/Movable/hooks/usePersistentOrder.d.ts +3 -0
- package/dist/src/common/components/ui/Panel/Resizable/Context/ResizableContextProvider.d.ts +27 -0
- package/dist/src/common/components/ui/Panel/Resizable/Hooks/useResizeHandlers.d.ts +26 -0
- package/dist/src/common/components/ui/Panel/Resizable/Hooks/useResponsiveResize.d.ts +14 -0
- package/dist/src/common/components/ui/Panel/Resizable/Resizable.d.ts +3 -0
- package/dist/src/common/components/ui/Panel/Resizable/ResizeHandlers.d.ts +7 -0
- package/dist/src/common/components/ui/Panel/Resizable/ResizeIndicator.d.ts +9 -0
- package/dist/src/common/components/ui/Panel/Scrollable/InternalScrolling.d.ts +11 -0
- package/dist/src/common/components/ui/Panel/Scrollable/PaginationDots.d.ts +13 -0
- package/dist/src/common/components/ui/Panel/Scrollable/Scrollable.d.ts +5 -0
- package/dist/src/common/components/ui/Panel/Scrollable/context/ScrollerContextProvider.d.ts +15 -0
- package/dist/src/common/components/ui/Panel/Scrollable/hooks/useScrollControls.d.ts +28 -0
- package/dist/src/common/components/ui/Panel/TBR/PanelContent.d.ts +24 -0
- package/dist/src/common/components/ui/Panel/TBR/ResizablePanel.d.ts +3 -0
- package/dist/src/common/components/ui/Panel/TBR/ResizeHandlers.d.ts +10 -0
- package/dist/src/common/components/ui/Panel/TBR/ResizeIndicator.d.ts +10 -0
- package/dist/src/common/components/ui/Panel/TBR/useResizablePanel.d.ts +32 -0
- package/dist/src/common/components/ui/Panel/types.d.ts +9 -0
- package/dist/src/common/components/ui/Scroller/PaginationDots.d.ts +13 -0
- package/dist/src/common/components/ui/Scroller/Scroller.d.ts +14 -0
- package/dist/src/common/components/ui/Scroller/context/ScrollerContextProvider.d.ts +15 -0
- package/dist/src/common/components/ui/Scroller/hooks/useScrollControls.d.ts +28 -0
- package/dist/src/common/components/ui/Scroller/types.d.ts +1 -0
- package/dist/src/common/components/ui/SpeedDialButton/SpeedDialButton.d.ts +20 -0
- package/dist/src/common/components/ui/ThemeToggle/ThemeToggle.d.ts +3 -0
- package/dist/src/common/components/ui/index.d.ts +15 -0
- package/dist/src/common/hooks/index.d.ts +1 -0
- package/dist/src/common/hooks/useRetry.d.ts +12 -0
- package/dist/src/common/index.d.ts +2 -0
- package/dist/src/index.d.ts +75 -0
- package/dist/src/main.d.ts +0 -0
- package/dist/src/setupTests.d.ts +0 -0
- package/dist/src/test/Contact.d.ts +8 -0
- package/dist/src/test/EduTest.d.ts +10 -0
- package/dist/src/test/EduTest2.d.ts +10 -0
- package/dist/src/test/Help.d.ts +8 -0
- package/dist/static/images/admin.png +0 -0
- package/dist/static/images/default-course.webp +0 -0
- package/dist/static/images/guest.png +0 -0
- package/dist/static/images/icons/atom.svg +15 -0
- package/dist/static/images/icons/brain.svg +49 -0
- package/dist/static/images/icons/code.svg +6 -0
- package/dist/static/images/icons/dna.svg +38 -0
- package/dist/static/images/icons/lang.svg +4 -0
- package/dist/static/images/icons/line.svg +2 -0
- package/dist/static/images/icons/weight.svg +53 -0
- package/dist/static/images/student.png +0 -0
- package/dist/static/images/teacher.png +0 -0
- package/package.json +54 -38
- package/dist/LMSToolpad/EduMLProvider.d.ts +0 -21
- package/dist/LMSToolpad/LMSProvider.d.ts +0 -26
- package/dist/LMSToolpad/components/Courses/CourseItem.d.ts +0 -25
- package/dist/LMSToolpad/components/Courses/CourseList.d.ts +0 -24
- package/dist/LMSToolpad/components/Courses/CourseSelector.d.ts +0 -23
- package/dist/LMSToolpad/components/Courses/LayoutToggle.d.ts +0 -7
- package/dist/LMSToolpad/components/Courses/NoCoursesMessage.d.ts +0 -3
- package/dist/LMSToolpad/components/EduMLDialog.d.ts +0 -9
- package/dist/LMSToolpad/components/Home.d.ts +0 -13
- package/dist/LMSToolpad/components/MicroserviceRoutes.d.ts +0 -44
- package/dist/LMSToolpad/components/PageToolBar.d.ts +0 -3
- package/dist/LMSToolpad/components/ToolSelector.d.ts +0 -17
- package/dist/LMSToolpad/components/toolbar/Actions.d.ts +0 -1
- package/dist/LMSToolpad/constants.d.ts +0 -3
- package/dist/LMSToolpad/layout/breadcrumbs/SizableContentHeader.d.ts +0 -7
- package/dist/LMSToolpad/network/users.d.ts +0 -5
- package/dist/LMSToolpad/store/useCourseStore.d.ts +0 -31
- package/dist/LMSToolpad/store/useDialogStore.d.ts +0 -3
- package/dist/LMSToolpad/store/useNavigationStore.d.ts +0 -42
- package/dist/LMSToolpad/store/useNotificationsStore.d.ts +0 -15
- package/dist/LMSToolpad/store/useUserStore.d.ts +0 -26
- package/dist/LMSToolpad/theme/EduMLTheme.d.ts +0 -2
- package/dist/LMSToolpad/types/toolpad.d.ts +0 -26
- package/dist/LMSToolpad/types/vite-env.d.ts +0 -3
- package/dist/vite-env.d.ts +0 -1
- /package/dist/{LMSToolpad → src/LMSToolpad}/components/Courses/CourseCodeLoader.d.ts +0 -0
- /package/dist/{LMSToolpad → src/LMSToolpad}/components/Courses/CourseInstanceLoader.d.ts +0 -0
- /package/dist/{LMSToolpad → src/LMSToolpad}/components/Courses/CourseInstanceSelector.d.ts +0 -0
- /package/dist/{LMSToolpad → src/LMSToolpad}/components/Courses/LtiLoginUrlForm.d.ts +0 -0
- /package/dist/{LMSToolpad/components → src/LMSToolpad/components/DevTools}/DevelopmentTools.d.ts +0 -0
- /package/dist/{LMSToolpad/components → src/LMSToolpad/components/DevTools}/UserSwitcher.d.ts +0 -0
- /package/dist/{LMSToolpad/components → src/LMSToolpad/components/Notifications}/Notifications.d.ts +0 -0
- /package/dist/{LMSToolpad → src/LMSToolpad}/components/tools/iconsByType.d.ts +0 -0
- /package/dist/{LMSToolpad → src/LMSToolpad}/interfaces.d.ts +0 -0
- /package/dist/{LMSToolpad/components → src/LMSToolpad/layout/Toolbars/AppToolbar}/Logo.d.ts +0 -0
- /package/dist/{LMSToolpad → src/LMSToolpad}/tools/NullStateWarning.d.ts +0 -0
- /package/dist/{LMSToolpad → src/LMSToolpad}/utils/caseConverter.d.ts +0 -0
- /package/dist/{LMSToolpad/components → src/common/components/ui/CenteredHeading}/CenteredHeading.d.ts +0 -0
- /package/dist/{LMSToolpad/components → src/common/components/ui/LoadingScreen}/LoadingScreen.d.ts +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SvgIconComponent } from '@mui/icons-material';
|
|
2
|
+
export interface SubjectConfig {
|
|
3
|
+
icon: string;
|
|
4
|
+
baseColor: string;
|
|
5
|
+
levelShades: Record<string, string>;
|
|
6
|
+
}
|
|
7
|
+
export declare const createCourseIcon: (courseColor: string, config: SubjectConfig) => SvgIconComponent;
|
|
8
|
+
export default createCourseIcon;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Course } from '../store/useCourseStore';
|
|
2
|
+
type CourseInfoProps = {
|
|
3
|
+
course: Course;
|
|
4
|
+
displayMode: "course" | "instance" | "instanceList";
|
|
5
|
+
hasUpcomingEvents: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare const CourseInfo: ({ course, displayMode, hasUpcomingEvents, }: CourseInfoProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Course } from '../store/useCourseStore';
|
|
2
|
+
type CourseItemProps = {
|
|
3
|
+
course: Course;
|
|
4
|
+
isSelected?: boolean;
|
|
5
|
+
displayMode?: "course" | "instance" | "instanceList";
|
|
6
|
+
onClick: (course: Course) => void;
|
|
7
|
+
};
|
|
8
|
+
declare const CourseItem: ({ course, displayMode, onClick, }: CourseItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default CourseItem;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
type CourseListProps = {
|
|
2
|
+
displayMode?: "course" | "instance" | "instanceList";
|
|
3
|
+
containerHeight?: string | number;
|
|
4
|
+
};
|
|
5
|
+
declare const CourseList: ({ displayMode, containerHeight, }: CourseListProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default CourseList;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
interface CourseMicroserviceProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* CourseMicroservice Component
|
|
7
|
+
*
|
|
8
|
+
* @version 3.0.0
|
|
9
|
+
*
|
|
10
|
+
* Fully self-contained microservice that handles all course-related functionality:
|
|
11
|
+
* - Course data fetching and management (via CourseManager)
|
|
12
|
+
* - Course navigation building
|
|
13
|
+
* - Course code and instance routing (/:code, /:code/:instance)
|
|
14
|
+
* - Course tools display
|
|
15
|
+
* - Course microservice registration and routing (/:code/:instance/:microservice)
|
|
16
|
+
* - Route registration with NavigationRegistry (via CourseRoutesProvider)
|
|
17
|
+
*
|
|
18
|
+
* Course microservices (like EduTest) are passed as children and register
|
|
19
|
+
* themselves through the CourseMicroserviceContext.
|
|
20
|
+
*
|
|
21
|
+
* Routes handled:
|
|
22
|
+
* - /:code - Course code selection (CourseCodeLoader + CourseInstanceSelector)
|
|
23
|
+
* - /:code/:instance - Course instance (CourseInstanceLoader + CourseTools)
|
|
24
|
+
* - /:code/:instance/:microservice/* - Course microservice routes
|
|
25
|
+
*
|
|
26
|
+
* @breaking-changes
|
|
27
|
+
* - v3.0.0: Now fully self-contained - includes CourseManager and CourseRoutesProvider
|
|
28
|
+
* - v2.0.0: Uses local state instead of Zustand store
|
|
29
|
+
* - Context provides allCourseMicroserviceNavigation array
|
|
30
|
+
* - Integrates with useNavigationStore to notify about course microservices
|
|
31
|
+
* - v3.1.0: Context logic extracted to separate context file
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```tsx
|
|
35
|
+
* <CourseMicroservice>
|
|
36
|
+
* <EduTest />
|
|
37
|
+
* <EduTest2 />
|
|
38
|
+
* </CourseMicroservice>
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
declare const CourseMicroservice: React.FC<CourseMicroserviceProps>;
|
|
42
|
+
export default CourseMicroservice;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
/**
|
|
3
|
+
* CourseRoutesProvider Component
|
|
4
|
+
*
|
|
5
|
+
* Registers course routes with the NavigationRegistry as a route provider.
|
|
6
|
+
* This allows Microservices.tsx to be microservice-agnostic - it doesn't need
|
|
7
|
+
* to know about course routes specifically.
|
|
8
|
+
*
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
declare const CourseRoutesProvider: () => null;
|
|
12
|
+
export default CourseRoutesProvider;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import { NavigationPageStoreItem } from '../../store/useNavigationStore';
|
|
1
|
+
import { NavigationPageStoreItem } from '@toolpad/core';
|
|
3
2
|
interface CourseToolsProps {
|
|
4
|
-
microservices
|
|
3
|
+
microservices?: NavigationPageStoreItem[];
|
|
5
4
|
}
|
|
6
5
|
/**
|
|
7
6
|
* Component for managing and displaying course-specific tools.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
/**
|
|
3
|
+
* CourseSettings Component
|
|
4
|
+
*
|
|
5
|
+
* @version 3.0.0
|
|
6
|
+
* @breaking-changes
|
|
7
|
+
* - Restructured import paths to follow feature-based organization
|
|
8
|
+
* - Enhanced notification handling through dedicated store
|
|
9
|
+
* - Improved dialog management with better state handling
|
|
10
|
+
* - Updated course store integration with new path structure
|
|
11
|
+
* - Enhanced TypeScript strict mode compliance
|
|
12
|
+
* - Standardized string literals for consistency
|
|
13
|
+
*
|
|
14
|
+
* Provides interface for:
|
|
15
|
+
* - Managing course basic information
|
|
16
|
+
* - Configuring course visibility
|
|
17
|
+
* - Managing enrollment settings
|
|
18
|
+
* - Configuring staff access
|
|
19
|
+
* - Setting data processing preferences
|
|
20
|
+
* - Managing course relationships
|
|
21
|
+
*/
|
|
22
|
+
declare const CourseSettings: () => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export default CourseSettings;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CourseRaw } from '../../store/useCourseStore';
|
|
2
|
+
import { UserData } from '../../../../components/Events/userTypes';
|
|
3
|
+
type CourseSettingsProps = {
|
|
4
|
+
formData: CourseRaw;
|
|
5
|
+
handleUpdateFormData: (newData: CourseRaw) => void;
|
|
6
|
+
courseUsers?: UserData[];
|
|
7
|
+
};
|
|
8
|
+
export default function CourseSettingsTabs({ formData, handleUpdateFormData, courseUsers, }: CourseSettingsProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CourseRaw } from '../../../store/useCourseStore';
|
|
2
|
+
interface BasicInfoTabProps {
|
|
3
|
+
formData: CourseRaw;
|
|
4
|
+
setFormData: (data: CourseRaw) => void;
|
|
5
|
+
}
|
|
6
|
+
export default function BasicInfoTab({ formData, setFormData, }: BasicInfoTabProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/DataProcessingTab.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CourseRaw } from '../../../store/useCourseStore';
|
|
2
|
+
interface DataProcessingTabProps {
|
|
3
|
+
formData: CourseRaw;
|
|
4
|
+
setFormData: (data: CourseRaw) => void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* DataProcessingTab Component
|
|
8
|
+
*
|
|
9
|
+
* @version 3.0.0
|
|
10
|
+
* @breaking-changes
|
|
11
|
+
* - Updated component import paths to feature-based structure
|
|
12
|
+
* - Enhanced type safety for data processing options
|
|
13
|
+
* - Standardized string literals for legal bases
|
|
14
|
+
* - Improved default value handling
|
|
15
|
+
* - Added proper type definitions for processing settings
|
|
16
|
+
*
|
|
17
|
+
* Provides interface for:
|
|
18
|
+
* - Setting data processing legal basis
|
|
19
|
+
* - Managing special category data handling
|
|
20
|
+
* - Configuring retention periods
|
|
21
|
+
* - Setting data processing purposes
|
|
22
|
+
*/
|
|
23
|
+
export default function DataProcessingTab({ formData, setFormData, }: DataProcessingTabProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CourseRaw } from '../../../store/useCourseStore';
|
|
2
|
+
import { UserData } from '../../../../../components/Events/userTypes';
|
|
3
|
+
interface EnrollmentTabProps {
|
|
4
|
+
formData: CourseRaw;
|
|
5
|
+
setFormData: (data: CourseRaw) => void;
|
|
6
|
+
courseUsers?: UserData[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* EnrollmentTab Component
|
|
10
|
+
*
|
|
11
|
+
* @version 3.0.0
|
|
12
|
+
* @breaking-changes
|
|
13
|
+
* - Enhanced TypeScript string literal types
|
|
14
|
+
* - Improved student list management with better state handling
|
|
15
|
+
* - Updated styling for better visual hierarchy
|
|
16
|
+
* - Enhanced date handling with proper typing
|
|
17
|
+
* - Improved responsive design for mobile and desktop views
|
|
18
|
+
* - Added proper type definitions for enrollment statuses
|
|
19
|
+
*
|
|
20
|
+
* Provides interface for:
|
|
21
|
+
* - Managing course enrollment settings
|
|
22
|
+
* - Handling student enrollment requests
|
|
23
|
+
* - Setting enrollment periods
|
|
24
|
+
* - Managing enrollment capacity
|
|
25
|
+
* - Viewing enrolled and pending students
|
|
26
|
+
*/
|
|
27
|
+
export default function EnrollmentTab({ formData, setFormData, courseUsers: _courseUsers, }: EnrollmentTabProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export {};
|
package/dist/src/LMSToolpad/components/Courses/Forms/CourseSettings/tabs/RelationshipsTab.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CourseRaw } from '../../../store/useCourseStore';
|
|
2
|
+
interface RelationshipsTabProps {
|
|
3
|
+
formData: CourseRaw;
|
|
4
|
+
setFormData: (data: CourseRaw) => void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* RelationshipsTab Component
|
|
8
|
+
*
|
|
9
|
+
* @version 3.0.0
|
|
10
|
+
* @breaking-changes
|
|
11
|
+
* - Updated course store import path to feature-based structure
|
|
12
|
+
* - Enhanced type definitions for course relationships
|
|
13
|
+
* - Standardized string literals for relationship types
|
|
14
|
+
* - Improved relationship type descriptions
|
|
15
|
+
* - Added better type safety for relationship management
|
|
16
|
+
*
|
|
17
|
+
* Provides interface for:
|
|
18
|
+
* - Managing course prerequisites
|
|
19
|
+
* - Setting up course continuations
|
|
20
|
+
* - Defining alternative courses
|
|
21
|
+
* - Managing course dependencies
|
|
22
|
+
* - Creating course relationship networks
|
|
23
|
+
*/
|
|
24
|
+
export default function RelationshipsTab({ formData, setFormData, }: RelationshipsTabProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CourseRaw } from '../../../store/useCourseStore';
|
|
2
|
+
import { UserData } from '../../../../../components/Events/userTypes';
|
|
3
|
+
interface StaffTabProps {
|
|
4
|
+
formData: CourseRaw;
|
|
5
|
+
setFormData: (data: CourseRaw) => void;
|
|
6
|
+
courseUsers?: UserData[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* StaffTab Component
|
|
10
|
+
*
|
|
11
|
+
* @version 3.0.0
|
|
12
|
+
* @breaking-changes
|
|
13
|
+
* - Updated course store import path to feature-based structure
|
|
14
|
+
* - Enhanced TypeScript type definitions for staff roles
|
|
15
|
+
* - Improved staff removal confirmation handling
|
|
16
|
+
* - Updated styling for better accessibility
|
|
17
|
+
* - Added proper aria labels for actions
|
|
18
|
+
*
|
|
19
|
+
* Provides interface for:
|
|
20
|
+
* - Managing course staff members
|
|
21
|
+
* - Adding/removing teaching staff
|
|
22
|
+
* - Viewing staff permissions
|
|
23
|
+
* - Managing staff roles
|
|
24
|
+
*/
|
|
25
|
+
export default function StaffTab({ formData, setFormData }: StaffTabProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CourseRaw } from '../../../store/useCourseStore';
|
|
2
|
+
interface VisibilityTabProps {
|
|
3
|
+
formData: CourseRaw;
|
|
4
|
+
setFormData: (data: CourseRaw) => void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* VisibilityTab Component
|
|
8
|
+
*
|
|
9
|
+
* @version 3.0.0
|
|
10
|
+
* @breaking-changes
|
|
11
|
+
* - Standardized string literals for visibility modes
|
|
12
|
+
* - Enhanced type safety for visibility settings
|
|
13
|
+
* - Improved date picker integration
|
|
14
|
+
* - Added helper text explanations for each visibility mode
|
|
15
|
+
* - Updated styling for better visual feedback
|
|
16
|
+
*
|
|
17
|
+
* Provides interface for:
|
|
18
|
+
* - Setting course visibility mode
|
|
19
|
+
* - Configuring visibility periods
|
|
20
|
+
* - Managing access control
|
|
21
|
+
* - Setting visibility schedules
|
|
22
|
+
*/
|
|
23
|
+
export default function VisibilityTab({ formData, setFormData, }: VisibilityTabProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export {};
|
|
@@ -1,18 +1,8 @@
|
|
|
1
|
-
import { NavigationPageStoreItem } from '
|
|
2
|
-
import { MicroserviceConfig } from './MicroserviceRoutes';
|
|
3
|
-
export type ToolDisplayerItem = {
|
|
4
|
-
path: string;
|
|
5
|
-
icon: JSX.Element;
|
|
6
|
-
label: string;
|
|
7
|
-
description: string;
|
|
8
|
-
forRoles?: string[];
|
|
9
|
-
};
|
|
1
|
+
import { NavigationPageStoreItem } from '@toolpad/core';
|
|
10
2
|
interface ToolDisplayerProps {
|
|
11
3
|
show: boolean;
|
|
12
4
|
title: string;
|
|
13
|
-
microservices?: MicroserviceConfig[];
|
|
14
5
|
onToggleService?: (path: string) => void;
|
|
15
|
-
navigationItems?: ToolDisplayerItem[];
|
|
16
6
|
navItems: NavigationPageStoreItem[];
|
|
17
7
|
roleCheck?: boolean;
|
|
18
8
|
isUsed?: boolean;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
import { NavigationPageStoreItem } from '@toolpad/core';
|
|
3
|
+
/**
|
|
4
|
+
* Context for course microservices to register themselves
|
|
5
|
+
*/
|
|
6
|
+
export interface CourseMicroserviceContextValue {
|
|
7
|
+
registerCourseMicroservice: (navigation: NavigationPageStoreItem) => void;
|
|
8
|
+
unregisterCourseMicroservice: (segment: string) => void;
|
|
9
|
+
allCourseMicroserviceNavigation: NavigationPageStoreItem[];
|
|
10
|
+
isInsideCourseMicroservice: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const CourseMicroserviceContext: React.Context<CourseMicroserviceContextValue>;
|
|
13
|
+
/**
|
|
14
|
+
* Hook for course microservices to register themselves.
|
|
15
|
+
* Returns isInsideCourseMicroservice=false if used outside CourseMicroservice provider.
|
|
16
|
+
*/
|
|
17
|
+
export declare const useCourseMicroserviceRegistration: () => CourseMicroserviceContextValue;
|
|
18
|
+
interface CourseMicroserviceProviderProps {
|
|
19
|
+
children: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Provider component for CourseMicroserviceContext.
|
|
23
|
+
* Manages the state of registered course microservices and syncs with the navigation store.
|
|
24
|
+
*/
|
|
25
|
+
export declare const CourseMicroserviceProvider: React.FC<CourseMicroserviceProviderProps>;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Hook that generates course routes from registered course microservices
|
|
4
|
+
* @returns Array of Route elements for course routing
|
|
5
|
+
*/
|
|
6
|
+
export declare const useCourseRoutes: () => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>[];
|
|
File without changes
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
export declare const subjectTopics: {
|
|
3
|
+
readonly 'COMP.CS': readonly ["Programming", "Data Structures", "Algorithms", "Web Development", "Machine Learning", "Artificial Intelligence", "Cybersecurity", "Computer Networks", "Operating Systems", "Software Engineering", "Database Systems", "Computer Graphics", "Mobile Development", "Cloud Computing"];
|
|
4
|
+
readonly MATH: readonly ["Calculus", "Linear Algebra", "Discrete Mathematics", "Statistics", "Probability Theory", "Number Theory", "Differential Equations", "Numerical Analysis", "Optimization", "Graph Theory"];
|
|
5
|
+
readonly PHYS: readonly ["Mechanics", "Thermodynamics", "Electromagnetism", "Quantum Physics", "Optics", "Nuclear Physics", "Relativity", "Particle Physics", "Astrophysics", "Material Science"];
|
|
6
|
+
readonly BIO: readonly ["Cell Biology", "Genetics", "Ecology", "Microbiology", "Molecular Biology", "Physiology", "Evolution", "Biochemistry", "Neuroscience", "Biotechnology"];
|
|
7
|
+
readonly CHEM: readonly ["Organic Chemistry", "Inorganic Chemistry", "Physical Chemistry", "Analytical Chemistry", "Biochemistry", "Polymer Chemistry", "Environmental Chemistry", "Medicinal Chemistry", "Material Chemistry", "Chemical Engineering"];
|
|
8
|
+
readonly LANG: readonly ["Academic Writing", "Technical Communication", "Scientific Writing", "Research Methods", "Professional Communication", "Intercultural Communication", "Digital Communication", "Documentation", "Content Design", "Public Speaking"];
|
|
9
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HttpResponse } from 'msw';
|
|
2
|
+
import { CourseBackendData, CourseRawBackendData } from './types';
|
|
3
|
+
export declare const getCourseByIdResponse: (courseId: string) => HttpResponse;
|
|
4
|
+
export declare const getCoursesResponse: () => HttpResponse;
|
|
5
|
+
export declare const createCourseResponse: (newCourse: CourseRawBackendData) => HttpResponse;
|
|
6
|
+
export declare const updateCourseResponse: (updatedCourse: CourseBackendData) => HttpResponse;
|
|
7
|
+
export declare const deleteCourseResponse: (courseId: string) => HttpResponse;
|
|
8
|
+
export declare const courseHandlers: import('msw').HttpHandler[];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { UserBackendData } from '../../Users/mocks/types';
|
|
2
|
+
import { CourseBackendData, CourseEnrollmentBackendData } from './types';
|
|
3
|
+
export declare function generateCourses(config: {
|
|
4
|
+
coursesPerYear: number;
|
|
5
|
+
startYear: number;
|
|
6
|
+
numberOfYears: number;
|
|
7
|
+
users: UserBackendData[];
|
|
8
|
+
}): {
|
|
9
|
+
courses: CourseBackendData[];
|
|
10
|
+
enrollmentsByCourse: {
|
|
11
|
+
[key: string]: CourseEnrollmentBackendData[];
|
|
12
|
+
};
|
|
13
|
+
};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { courseEventFrequency, courseLevel, courseRelationType, enrollmentStatus, legalBasis, visibilityMode, courseEventType, courseRole } from '../store/useCourseStore';
|
|
2
|
+
export interface CourseEventBackendData {
|
|
3
|
+
id: string;
|
|
4
|
+
type: courseEventType;
|
|
5
|
+
title: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
start_time: string;
|
|
8
|
+
end_time?: string;
|
|
9
|
+
location?: string;
|
|
10
|
+
teachers?: CourseEnrollmentBackendData[];
|
|
11
|
+
recurring?: {
|
|
12
|
+
frequency: courseEventFrequency;
|
|
13
|
+
until: string;
|
|
14
|
+
exceptions?: string[];
|
|
15
|
+
};
|
|
16
|
+
max_participants?: number;
|
|
17
|
+
requires_registration?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface CourseEnrollmentBackendData {
|
|
20
|
+
user_id: string;
|
|
21
|
+
role: courseRole;
|
|
22
|
+
status: enrollmentStatus;
|
|
23
|
+
enrollment_date?: string;
|
|
24
|
+
request_date?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface CourseRelationBackendData {
|
|
27
|
+
code: string;
|
|
28
|
+
type: courseRelationType;
|
|
29
|
+
description?: string;
|
|
30
|
+
required?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export type CourseRawBackendData = {
|
|
33
|
+
title: string;
|
|
34
|
+
description: string;
|
|
35
|
+
code: string;
|
|
36
|
+
instance: string;
|
|
37
|
+
lti_login_url?: string;
|
|
38
|
+
services?: string[];
|
|
39
|
+
image?: {
|
|
40
|
+
large: string;
|
|
41
|
+
medium: string;
|
|
42
|
+
thumbnail: string;
|
|
43
|
+
};
|
|
44
|
+
start_date: string | null;
|
|
45
|
+
end_date: string | null;
|
|
46
|
+
visibility: {
|
|
47
|
+
mode: visibilityMode;
|
|
48
|
+
start_date: string | null;
|
|
49
|
+
end_date: string | null;
|
|
50
|
+
};
|
|
51
|
+
events: {
|
|
52
|
+
[key in courseEventType]: CourseEventBackendData[];
|
|
53
|
+
};
|
|
54
|
+
tags?: string[];
|
|
55
|
+
language?: string;
|
|
56
|
+
data_processing: {
|
|
57
|
+
purposes: string[];
|
|
58
|
+
retention: number;
|
|
59
|
+
third_party_processors: {
|
|
60
|
+
name: string;
|
|
61
|
+
purpose: string;
|
|
62
|
+
data_shared: string[];
|
|
63
|
+
}[];
|
|
64
|
+
special_categories: boolean;
|
|
65
|
+
legal_basis: legalBasis;
|
|
66
|
+
};
|
|
67
|
+
enrollment: {
|
|
68
|
+
start_date: string | null;
|
|
69
|
+
end_date: string | null;
|
|
70
|
+
status: {
|
|
71
|
+
open: boolean;
|
|
72
|
+
max_students?: number;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
relationships?: {
|
|
76
|
+
prerequisites: CourseRelationBackendData[];
|
|
77
|
+
continuations: CourseRelationBackendData[];
|
|
78
|
+
alternatives: CourseRelationBackendData[];
|
|
79
|
+
related: CourseRelationBackendData[];
|
|
80
|
+
};
|
|
81
|
+
study_module?: {
|
|
82
|
+
name: string;
|
|
83
|
+
order?: number;
|
|
84
|
+
credits: number;
|
|
85
|
+
level: courseLevel;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export interface CourseBackendData extends CourseRawBackendData {
|
|
89
|
+
id: string;
|
|
90
|
+
created_at: string;
|
|
91
|
+
updated_at: string;
|
|
92
|
+
}
|
|
93
|
+
export interface CourseBackendDataWithEnrollments extends CourseBackendData {
|
|
94
|
+
data: {
|
|
95
|
+
my_data?: {
|
|
96
|
+
role: courseRole;
|
|
97
|
+
status: enrollmentStatus;
|
|
98
|
+
};
|
|
99
|
+
enrollment_data?: CourseEnrollmentBackendData[];
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
export interface CourseEnrollmentBackendData {
|
|
103
|
+
user_id: string;
|
|
104
|
+
course_id: string;
|
|
105
|
+
name: string;
|
|
106
|
+
email: string;
|
|
107
|
+
role: courseRole;
|
|
108
|
+
status: enrollmentStatus;
|
|
109
|
+
}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
/** @format */
|
|
2
1
|
import { Course, CourseRaw } from '../store/useCourseStore';
|
|
3
2
|
/**
|
|
4
|
-
* @description Helper function to make a GET request to retrieve the current course
|
|
5
|
-
* @returns Promise<Course> - The current course object
|
|
6
|
-
*/
|
|
7
|
-
export declare function getCurrentCourse(): Promise<Course>;
|
|
8
|
-
/**
|
|
9
|
-
*
|
|
10
3
|
* @description Helper function to make a GET request to retrieve courses
|
|
11
4
|
* @returns Promise<Course[]> - The list of courses
|
|
12
5
|
*/
|
|
@@ -35,7 +28,7 @@ export declare function addCourse(courseData: CourseRaw): Promise<Course>;
|
|
|
35
28
|
* @param courseData - The course data to update
|
|
36
29
|
* @returns Updated course object
|
|
37
30
|
*/
|
|
38
|
-
export declare
|
|
31
|
+
export declare const updateCourse: (course: Course) => Promise<Course>;
|
|
39
32
|
/**
|
|
40
33
|
* @description Helper function to make a DELETE request to delete a course
|
|
41
34
|
* @param courseId - The ID of the course to delete
|