mario-education 2.0.2 → 2.0.3-release
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 +75 -0
- package/dist/components/Autocomplete/AutocompleteField.d.ts +12 -0
- package/dist/components/Button/CancelButton.d.ts +7 -0
- package/dist/components/Button/ChipButton.d.ts +8 -0
- package/dist/components/Button/ChipImage.d.ts +8 -0
- package/dist/components/Button/CustomButton.d.ts +11 -0
- package/dist/components/Button/ScrollToTop/ScrollToTopBtn.d.ts +2 -0
- package/dist/components/Button/SubmitButton.d.ts +9 -0
- package/dist/components/Card/CardNameButton.d.ts +7 -0
- package/dist/components/Card/CardTotal.d.ts +9 -0
- package/dist/components/DatePicker/FilterDateRange.d.ts +11 -0
- package/dist/components/Dialog/CommonModal.d.ts +2 -0
- package/dist/components/Dialog/ConfirmDelete.d.ts +9 -0
- package/dist/components/Dialog/SimpleDialog.d.ts +14 -0
- package/dist/components/Header/CustomHeaderComponent.d.ts +20 -0
- package/dist/components/Header/HeaderComponent.d.ts +41 -0
- package/dist/components/Input/InputComponent.d.ts +18 -0
- package/dist/components/Input/TextFieldComponent.d.ts +13 -0
- package/dist/{MarioFramework.Education/ClientApp/src/components → components}/Input/ToggleInput.d.ts +10 -10
- package/dist/components/Progress/LinearProgress.d.ts +5 -0
- package/dist/components/QuestionTypes/DropDownComponent.d.ts +3 -0
- package/dist/components/QuestionTypes/EmotionComponent.d.ts +11 -0
- package/dist/components/QuestionTypes/MultiChoiceComponent.d.ts +14 -0
- package/dist/components/QuestionTypes/QuestionSurveyComponent.d.ts +35 -0
- package/dist/components/QuestionTypes/SingleChoiceComponent.d.ts +13 -0
- package/dist/components/QuestionTypes/SliderComponent.d.ts +16 -0
- package/dist/components/QuestionTypes/SliderSurveyComponent.d.ts +16 -0
- package/dist/components/Questions/QuestionList.d.ts +11 -7
- package/dist/components/Questions/QuestionSelector.d.ts +14 -9
- package/dist/components/Questions/SurveyQuestionSelector.d.ts +24 -0
- package/dist/components/Select/InputSelector.d.ts +13 -0
- package/dist/components/Select/SelectFilter.d.ts +4 -0
- package/dist/components/Select/SelectFilterSurvey.d.ts +4 -0
- package/dist/components/Skin/Loading.d.ts +5 -0
- package/dist/components/Table/ConvertTime.d.ts +6 -0
- package/dist/components/Table/TableCells.d.ts +19 -0
- package/dist/components/Tabs/CustomTab.d.ts +2 -0
- package/dist/components/Tabs/CustomTabComponent.d.ts +3 -0
- package/dist/components/Tooltip/CustomTooltip.d.ts +4 -0
- package/dist/components/icons/ArrowBackIcon.d.ts +5 -0
- package/dist/components/icons/ArrowRightIcon.d.ts +5 -0
- package/dist/components/icons/ArrowUp.d.ts +6 -0
- package/dist/components/icons/AvrIcon.d.ts +5 -0
- package/dist/components/icons/CloseChipIcon.d.ts +5 -0
- package/dist/components/icons/CloseIcon.d.ts +3 -0
- package/dist/components/icons/DarkIcon.d.ts +5 -0
- package/dist/components/icons/DoneCheckInIcon.d.ts +5 -0
- package/dist/components/icons/DownloadIcon.d.ts +3 -0
- package/dist/components/icons/EmailIcon.d.ts +5 -0
- package/dist/components/icons/IdentifyIcon.d.ts +5 -0
- package/dist/components/icons/InfoIcon.d.ts +3 -0
- package/dist/components/icons/LightIcon.d.ts +5 -0
- package/dist/components/icons/MarioAIIcon.d.ts +5 -0
- package/dist/components/icons/MoreIcon.d.ts +5 -0
- package/dist/components/icons/MultiUser.d.ts +2 -0
- package/dist/components/icons/PlusIcon.d.ts +5 -0
- package/dist/components/icons/SentIcon.d.ts +3 -0
- package/dist/components/icons/SummarizeIcon.d.ts +5 -0
- package/dist/components/icons/UnderstandIcon.d.ts +5 -0
- package/dist/components/layouts/Footer.d.ts +6 -0
- package/dist/components/layouts/HeaderSideBarV2.d.ts +2 -0
- package/dist/components/layouts/LanguageDropdown.d.ts +2 -0
- package/dist/components/layouts/NotificationAlert.d.ts +10 -0
- package/dist/components/layouts/constants/constants.d.ts +95 -0
- package/dist/components/layouts/constants/constantsFn.d.ts +9 -0
- package/dist/components/layouts/constants/types.d.ts +12 -0
- package/dist/components/layouts/hooks/useAnimation.d.ts +8 -0
- package/dist/components/layouts/hooks/useHeaderSideBar.d.ts +68 -0
- package/dist/components/layouts/hooks/useLanguages.d.ts +9 -0
- package/dist/components/layouts/hooks/useNotificationAlert.d.ts +7 -0
- package/dist/components/layouts/icons/ConferenceRubricIcon.d.ts +3 -0
- package/dist/components/layouts/icons/CustomAlertIcon.d.ts +3 -0
- package/dist/components/layouts/icons/CustomizeIcon.d.ts +3 -0
- package/dist/components/layouts/icons/DashboardIcon.d.ts +3 -0
- package/dist/components/layouts/icons/DataImportExportIcon.d.ts +3 -0
- package/dist/components/layouts/icons/DeleteIcon.d.ts +5 -0
- package/dist/components/layouts/icons/EIPTemplateIcon.d.ts +3 -0
- package/dist/components/layouts/icons/EmailTemplateIcon.d.ts +3 -0
- package/dist/components/layouts/icons/FrequencyAndSetupIcon.d.ts +2 -0
- package/dist/components/layouts/icons/HelpIcon.d.ts +3 -0
- package/dist/components/layouts/icons/MEDIAGalleryIcon.d.ts +3 -0
- package/dist/components/layouts/icons/OrderIcon.d.ts +4 -0
- package/dist/components/layouts/icons/PenIcon.d.ts +3 -0
- package/dist/components/layouts/icons/QuestionIcon.d.ts +3 -0
- package/dist/components/layouts/icons/SafetyIcon.d.ts +3 -0
- package/dist/components/layouts/icons/SandboxIcon.d.ts +3 -0
- package/dist/components/layouts/icons/StressIcon.d.ts +2 -0
- package/dist/components/layouts/icons/SurveyDashboardIcon.d.ts +3 -0
- package/dist/components/layouts/icons/SurveyIcon.d.ts +3 -0
- package/dist/components/layouts/icons/SurveyManagementIcon.d.ts +3 -0
- package/dist/components/layouts/icons/TeacherWellBeingIcon.d.ts +2 -0
- package/dist/components/layouts/icons/TechnicalSettingsIcon.d.ts +3 -0
- package/dist/components/layouts/icons/TimesIcon.d.ts +3 -0
- package/dist/components/layouts/icons/TokenIcon.d.ts +2 -0
- package/dist/components/layouts/icons/ToolIcon.d.ts +3 -0
- package/dist/components/layouts/icons/UserIcon.d.ts +3 -0
- package/dist/components/layouts/icons/WellBeingDashboardIcon.d.ts +2 -0
- package/dist/components/selector/CalendarSelect.d.ts +15 -0
- package/dist/components/selector/CustomFilterComponent.d.ts +40 -0
- package/dist/components/selector/CustomFilterMobile.d.ts +45 -0
- package/dist/components/selector/RosterUserSelector.d.ts +8 -0
- package/dist/components/selector/StudentItemSelector.d.ts +25 -0
- package/dist/components/selector/StudentMultiSelector.d.ts +3 -0
- package/dist/components/selector/StudentSelector.d.ts +2 -0
- package/dist/components/selector/TeacherItemSelector.d.ts +13 -0
- package/dist/components/selector/TeacherSelector.d.ts +2 -0
- package/dist/containers/AcademicYear/components/BreakingMonthModal.d.ts +2 -0
- package/dist/{MarioFramework.Education/ClientApp/src/containers/Semester/hooks/useSemesterList.d.ts → containers/AcademicYear/hooks/useAcademicYearList.d.ts} +8 -9
- package/dist/containers/{Semester → AcademicYear}/hooks/useBreakingMonth.d.ts +13 -14
- package/dist/containers/AcademicYear/views/AcademicYearList.d.ts +3 -0
- package/dist/containers/AdminTraining/hooks/useAdminTraning.d.ts +4 -0
- package/dist/containers/AdminTraining/views/AdminTraining.d.ts +2 -0
- package/dist/containers/Assetlog/Views/AssetLog.d.ts +3 -0
- package/dist/containers/Assetlog/hooks/UseAssetlog.d.ts +8 -0
- package/dist/containers/Badge/components/BadgeDetailModal.d.ts +2 -3
- package/dist/containers/Badge/hooks/useBadgeDetail.d.ts +19 -20
- package/dist/containers/Badge/hooks/useBadgeList.d.ts +9 -10
- package/dist/containers/Badge/views/BadgeList.d.ts +3 -3
- package/dist/containers/BandScore/components/BandScoreDetailModal.d.ts +2 -0
- package/dist/{MarioFramework.Education/ClientApp/src/containers → containers}/BandScore/hooks/useBandScoreDetail.d.ts +17 -18
- package/dist/{MarioFramework.Education/ClientApp/src/containers → containers}/BandScore/hooks/useBandScoreList.d.ts +7 -7
- package/dist/{MarioFramework.Education/ClientApp/src/containers → containers}/BandScore/hooks/useBreakPoint.d.ts +11 -12
- package/dist/{MarioFramework.Education/ClientApp/src/containers → containers}/BandScore/views/BandScoreList.d.ts +3 -3
- package/dist/containers/CSVImport/components/UploadCSVButton.d.ts +11 -10
- package/dist/containers/CSVImport/hooks/useCSVImport.d.ts +40 -21
- package/dist/containers/CSVImport/views/CSVImport.d.ts +3 -3
- package/dist/containers/ConductOneToOne/configs/constant.d.ts +9 -0
- package/dist/containers/ConductOneToOne/configs/types.d.ts +50 -0
- package/dist/containers/ConductSurvey/components/ConductTop/ConductItem.d.ts +7 -0
- package/dist/containers/ConductSurvey/components/ConductTop/SurveyTop.d.ts +14 -0
- package/dist/containers/ConductSurvey/components/HeaderSurvey.d.ts +17 -0
- package/dist/containers/ConductSurvey/components/QuestionConduct.d.ts +17 -0
- package/dist/containers/ConductSurvey/components/ShareSurveyDialog.d.ts +14 -0
- package/dist/containers/ConductSurvey/components/diaglog/DialogInterventionBody.d.ts +15 -0
- package/dist/containers/ConductSurvey/components/diaglog/InterventionDialog.d.ts +20 -0
- package/dist/containers/ConductSurvey/components/diaglog/InterventionSelector.d.ts +11 -0
- package/dist/containers/ConductSurvey/components/diaglog/hooks/useInterventionDialog.d.ts +27 -0
- package/dist/containers/ConductSurvey/configs/constant.d.ts +3 -0
- package/dist/containers/ConductSurvey/configs/types.d.ts +125 -0
- package/dist/containers/ConductSurvey/configs/utils.d.ts +1 -0
- package/dist/containers/ConductSurvey/hooks/useConductSurvey.d.ts +31 -0
- package/dist/containers/ConductSurvey/hooks/usePreviewSurvey.d.ts +31 -0
- package/dist/containers/ConductSurvey/views/PreviewSurveyAdmin.d.ts +3 -0
- package/dist/containers/ConductSurvey/views/SurveyIndexAdmin.d.ts +3 -0
- package/dist/containers/ConductSurvey/views/SurveyResultAdmin.d.ts +3 -0
- package/dist/containers/ConferenceRubric/components/ConferenceRubricItem.d.ts +16 -14
- package/dist/containers/ConferenceRubric/components/ConferenceRubricTypeSelector.d.ts +7 -7
- package/dist/containers/ConferenceRubric/components/SkillSelector.d.ts +8 -8
- package/dist/containers/ConferenceRubric/configs/constants.d.ts +4 -0
- package/dist/containers/ConferenceRubric/configs/types.d.ts +54 -44
- package/dist/containers/ConferenceRubric/hooks/useConferenceRubricDetail.d.ts +40 -36
- package/dist/containers/ConferenceRubric/hooks/useConferenceRubricList.d.ts +10 -11
- package/dist/containers/ConferenceRubric/styles/styles.d.ts +2 -0
- package/dist/containers/ConferenceRubric/views/ConferenceRubricDetail.d.ts +2 -3
- package/dist/containers/ConferenceRubric/views/ConferenceRubricList.d.ts +3 -3
- package/dist/containers/ConversationGoal/configs/contants.d.ts +2 -0
- package/dist/containers/ConversationGoal/configs/types.d.ts +6 -0
- package/dist/containers/ConversationGoal/hooks/useConversationGoal.d.ts +9 -0
- package/dist/containers/ConversationGoal/views/ConversationGoal.d.ts +2 -0
- package/dist/{MarioFramework.Education/ClientApp/src/containers → containers}/CurrentLicense/hooks/useCurrentLicense.d.ts +6 -6
- package/dist/containers/CurrentLicense/views/CurrentLicense.d.ts +2 -0
- package/dist/containers/CustomAlert/components/CustomAlertDetailModal.d.ts +2 -3
- package/dist/containers/CustomAlert/components/QuestionAlertDetailModel.d.ts +3 -0
- package/dist/containers/CustomAlert/configs/constant.d.ts +20 -0
- package/dist/containers/CustomAlert/configs/type.d.ts +19 -0
- package/dist/containers/CustomAlert/configs/validate.d.ts +10 -0
- package/dist/containers/CustomAlert/hooks/useCustomAlertDetail.d.ts +21 -22
- package/dist/containers/CustomAlert/hooks/useCustomAlertList.d.ts +9 -10
- package/dist/containers/CustomAlert/hooks/useQuestionAlert.d.ts +13 -0
- package/dist/containers/CustomAlert/views/CustomAlertList.d.ts +3 -3
- package/dist/containers/CustomAlert/views/CustomQuestionAlert.d.ts +2 -0
- package/dist/containers/Dashboard/components/AreaChart.d.ts +15 -0
- package/dist/containers/Dashboard/components/BarChart.d.ts +16 -0
- package/dist/containers/Dashboard/components/BubbleChartCustom.d.ts +14 -0
- package/dist/containers/Dashboard/components/CheckboxCustom.d.ts +12 -0
- package/dist/containers/Dashboard/components/ConcernMetricTab.d.ts +3 -0
- package/dist/containers/Dashboard/components/ConversationTab.d.ts +3 -0
- package/dist/{MarioFramework.Education/ClientApp/src/containers → containers}/Dashboard/components/CustomCheckbox.d.ts +9 -9
- package/dist/containers/Dashboard/components/DashboardToPDF.d.ts +3 -0
- package/dist/containers/Dashboard/components/DesktopFilterComponent.d.ts +3 -0
- package/dist/containers/Dashboard/components/EducatorConversationModal.d.ts +8 -0
- package/dist/containers/Dashboard/components/ExportChartPdfModal.d.ts +29 -0
- package/dist/containers/Dashboard/components/GenerateChartData.d.ts +4 -0
- package/dist/containers/Dashboard/components/GeneratePlpChart.d.ts +3 -0
- package/dist/containers/Dashboard/components/GenerateTrendQuestion.d.ts +3 -0
- package/dist/{MarioFramework.Education/ClientApp/src/containers → containers}/Dashboard/components/GoalProgress.d.ts +7 -7
- package/dist/containers/Dashboard/components/GraphTrend.d.ts +3 -0
- package/dist/containers/Dashboard/components/LastAnswerTable.d.ts +3 -0
- package/dist/containers/Dashboard/components/LearningProgressTab.d.ts +3 -0
- package/dist/containers/Dashboard/components/LearningStrategiesTable.d.ts +7 -0
- package/dist/containers/Dashboard/components/LineChart.d.ts +11 -0
- package/dist/{MarioFramework.Education/ClientApp/src/containers → containers}/Dashboard/components/Loading.d.ts +3 -3
- package/dist/containers/Dashboard/components/MetricModelStudent.d.ts +8 -0
- package/dist/containers/Dashboard/components/MobileFilterComponent.d.ts +3 -0
- package/dist/containers/Dashboard/components/ModelSkillStudent.d.ts +3 -0
- package/dist/containers/Dashboard/components/ModelStudentSession.d.ts +3 -0
- package/dist/containers/Dashboard/components/NoteDetail.d.ts +7 -0
- package/dist/containers/Dashboard/components/OpenFieldTab.d.ts +3 -0
- package/dist/containers/Dashboard/components/OverallDonutChart.d.ts +14 -0
- package/dist/containers/Dashboard/components/QualityFeedbackModal.d.ts +9 -0
- package/dist/containers/Dashboard/components/ReadinessToLearnTab.d.ts +3 -0
- package/dist/containers/Dashboard/components/StaticMetric.d.ts +8 -0
- package/dist/containers/Dashboard/components/StudentPressureChart.d.ts +3 -0
- package/dist/containers/Dashboard/components/StudentWithSpecialNeeds.d.ts +7 -0
- package/dist/containers/Dashboard/components/StudentsMissingConversationModal.d.ts +8 -0
- package/dist/containers/Dashboard/components/SuccessIndicatorTab.d.ts +3 -0
- package/dist/containers/Dashboard/components/TopLearningStrategy.d.ts +11 -0
- package/dist/containers/Dashboard/components/TotalCard.d.ts +3 -0
- package/dist/containers/Dashboard/configs/backgroundPressure.d.ts +2 -0
- package/dist/containers/Dashboard/configs/constants.d.ts +126 -0
- package/dist/containers/Dashboard/configs/types.d.ts +736 -0
- package/dist/containers/Dashboard/configs/utils.d.ts +180 -0
- package/dist/containers/Dashboard/hooks/useDashboard.d.ts +92 -0
- package/dist/containers/Dashboard/hooks/useExportSessionCsv.d.ts +4 -0
- package/dist/containers/Dashboard/hooks/useQualityFeedback.d.ts +14 -0
- package/dist/containers/Dashboard/hooks/useSummarizeQuestion.d.ts +23 -0
- package/dist/containers/Dashboard/hooks/useTopLearningStrategies.d.ts +15 -0
- package/dist/containers/Dashboard/hooks/useWrapText.d.ts +2 -0
- package/dist/containers/Dashboard/views/Dashboard.d.ts +2 -0
- package/dist/containers/Dashboard/views/SummarizeQuestion.d.ts +2 -0
- package/dist/containers/Destinations/components/DestinationModal.d.ts +13 -0
- package/dist/containers/Destinations/hooks/useDestination.d.ts +18 -0
- package/dist/containers/Destinations/utils/constant.d.ts +11 -0
- package/dist/containers/Destinations/utils/type.interface.d.ts +4 -0
- package/dist/containers/Destinations/utils/ultis.d.ts +8 -0
- package/dist/containers/Destinations/views/Destinations.d.ts +2 -0
- package/dist/containers/ExternalApi/components/DetailTokenModel.d.ts +3 -0
- package/dist/containers/ExternalApi/components/PermissionSelected.d.ts +3 -0
- package/dist/containers/ExternalApi/configs/contants.d.ts +3 -0
- package/dist/containers/ExternalApi/configs/types.d.ts +28 -0
- package/dist/containers/ExternalApi/hooks/useExternalApi.d.ts +12 -0
- package/dist/containers/ExternalApi/views/ExternalApi.d.ts +2 -0
- package/dist/containers/ExternalSurvey/api/externalService.d.ts +7 -0
- package/dist/containers/ExternalSurvey/constant/types.d.ts +50 -0
- package/dist/containers/FrequencyAndSetup/components/ContactFlowInformation.d.ts +12 -0
- package/dist/containers/FrequencyAndSetup/components/FrequencyModeDetail.d.ts +3 -0
- package/dist/containers/FrequencyAndSetup/components/SortableItem.d.ts +8 -0
- package/dist/containers/FrequencyAndSetup/components/ViewQuestionsModal.d.ts +9 -0
- package/dist/containers/FrequencyAndSetup/components/WrapperWellBeing.d.ts +8 -0
- package/dist/containers/FrequencyAndSetup/configs/constants.d.ts +13 -0
- package/dist/containers/FrequencyAndSetup/configs/type.d.ts +43 -0
- package/dist/containers/FrequencyAndSetup/hooks/useFrequencyAndSetup.d.ts +19 -0
- package/dist/containers/FrequencyAndSetup/views/FrequencyAndSetup.d.ts +5 -0
- package/dist/containers/GoalExample/components/GoalExampleDetailModal.d.ts +2 -3
- package/dist/containers/GoalExample/hooks/useGoalExampleDetail.d.ts +26 -27
- package/dist/containers/GoalExample/hooks/useGoalExampleList.d.ts +10 -11
- package/dist/containers/GoalExample/hooks/useShortTermTargetExampleList.d.ts +11 -12
- package/dist/containers/GoalExample/views/GoalExampleList.d.ts +3 -3
- package/dist/containers/Homepage/api/homepageApi.d.ts +3 -0
- package/dist/containers/Homepage/api/oneToOneApi.d.ts +4 -0
- package/dist/containers/Homepage/assets/icons/ArrowIcon.d.ts +3 -0
- package/dist/containers/Homepage/assets/icons/ArrowUpIcon.d.ts +3 -0
- package/dist/containers/Homepage/assets/icons/CheckinIcon.d.ts +3 -0
- package/dist/containers/Homepage/assets/icons/ClassReflectionIcon.d.ts +3 -0
- package/dist/containers/Homepage/assets/icons/ConferenceIcon.d.ts +3 -0
- package/dist/containers/Homepage/assets/icons/ConversationIcon.d.ts +3 -0
- package/dist/containers/Homepage/assets/icons/ConversationTimeIcon.d.ts +3 -0
- package/dist/containers/Homepage/assets/icons/DownRedIcon.d.ts +3 -0
- package/dist/containers/Homepage/assets/icons/PenAndPaperIcon.d.ts +3 -0
- package/dist/containers/Homepage/assets/icons/PlusIcon.d.ts +2 -0
- package/dist/containers/Homepage/assets/icons/UpGreenIcon.d.ts +3 -0
- package/dist/containers/Homepage/common/constant.d.ts +31 -0
- package/dist/containers/Homepage/common/interface.d.ts +156 -0
- package/dist/containers/Homepage/common/utils.d.ts +12 -0
- package/dist/containers/Homepage/components/AdminGeneralTip.d.ts +9 -0
- package/dist/containers/Homepage/components/GradeUsage.d.ts +9 -0
- package/dist/containers/Homepage/components/SchoolUsage.d.ts +10 -0
- package/dist/containers/Homepage/components/StudentWellness.d.ts +14 -0
- package/dist/containers/Homepage/components/StudentWellnessItem.d.ts +17 -0
- package/dist/containers/Homepage/components/StudentWellnessNote.d.ts +15 -0
- package/dist/containers/Homepage/components/TotalCard.d.ts +7 -0
- package/dist/containers/Homepage/components/ViewStudent.d.ts +14 -0
- package/dist/containers/Homepage/components/dialog/StudentWellnessCheckInItem.d.ts +15 -0
- package/dist/containers/Homepage/components/dialog/StudentWellnessCheckInList.d.ts +11 -0
- package/dist/containers/Homepage/components/dialog/StudentWellnessDialog.d.ts +10 -0
- package/dist/containers/Homepage/hooks/useGeneralTip.d.ts +6 -0
- package/dist/containers/Homepage/hooks/useGradeUsage.d.ts +6 -0
- package/dist/containers/Homepage/hooks/useHome.d.ts +23 -0
- package/dist/containers/Homepage/hooks/useSchoolUsage.d.ts +21 -0
- package/dist/containers/Homepage/hooks/useStudentWellness.d.ts +19 -0
- package/dist/containers/Homepage/hooks/useViewStudent.d.ts +14 -0
- package/dist/containers/Homepage/services/HomepageSevices.d.ts +1 -0
- package/dist/containers/Homepage/services/OneToOneServices.d.ts +2 -0
- package/dist/containers/Homepage/views/HomePage.d.ts +3 -0
- package/dist/containers/LearningStrategy/components/StrategyDetailModal.d.ts +2 -3
- package/dist/containers/LearningStrategy/hooks/useLearningStrategyList.d.ts +9 -10
- package/dist/containers/LearningStrategy/hooks/useStrategyDetail.d.ts +20 -18
- package/dist/containers/LearningStrategy/views/LearningStrategyList.d.ts +3 -3
- package/dist/containers/LearningSupportCategory/components/LearningSupportCategoryDetailModal.d.ts +2 -3
- package/dist/containers/LearningSupportCategory/components/LearningSupportCategorySelector.d.ts +7 -7
- package/dist/containers/LearningSupportCategory/hooks/useLearningSupportCategoryDetail.d.ts +19 -19
- package/dist/containers/LearningSupportCategory/hooks/useLearningSupportCategoryList.d.ts +9 -10
- package/dist/containers/LearningSupportCategory/views/LearningSupportCategoryList.d.ts +3 -3
- package/dist/containers/MarioAi/cofigs/constants.d.ts +24 -0
- package/dist/containers/MarioAi/cofigs/type.d.ts +135 -0
- package/dist/containers/MarioAi/components/CardHeader.d.ts +4 -0
- package/dist/containers/MarioAi/components/ChatContent.d.ts +14 -0
- package/dist/containers/MarioAi/components/ChatHeader.d.ts +10 -0
- package/dist/containers/MarioAi/components/HeaderAI.d.ts +3 -0
- package/dist/containers/MarioAi/components/ListPrompts.d.ts +17 -0
- package/dist/containers/MarioAi/hooks/useAIChat.d.ts +16 -0
- package/dist/containers/MarioAi/hooks/useAIMario.d.ts +18 -0
- package/dist/containers/MarioAi/hooks/useGeminiAI.d.ts +7 -0
- package/dist/containers/MarioAi/hooks/useHistoryPrompt.d.ts +10 -0
- package/dist/containers/MarioAi/hooks/useSummarizeResponse.d.ts +6 -0
- package/dist/containers/MarioAi/views/AIMario.d.ts +2 -0
- package/dist/containers/MarioAi/views/ChatWithAI.d.ts +2 -0
- package/dist/containers/MarioAi/views/MarioAi.d.ts +2 -0
- package/dist/containers/MarioAi/views/ViewHistoryPrompt.d.ts +2 -0
- package/dist/containers/MyOneToOne/constants/types.d.ts +5 -0
- package/dist/containers/MyProfile/configs/constants.d.ts +27 -0
- package/dist/containers/MyProfile/configs/teacherProfileSchema.d.ts +11 -0
- package/dist/containers/MyProfile/hooks/useChangePassword.d.ts +6 -0
- package/dist/containers/MyProfile/hooks/useProfile.d.ts +15 -0
- package/dist/containers/MyProfile/views/ChangePassword.d.ts +2 -0
- package/dist/containers/MyProfile/views/MyProfile.d.ts +3 -0
- package/dist/containers/MyProfile/views/Profile.d.ts +8 -0
- package/dist/containers/MyStudent/components/NewOverview/Chat/configs/constants.d.ts +46 -0
- package/dist/containers/MyStudent/components/NewOverview/Chat/configs/utils.d.ts +37 -0
- package/dist/containers/MyStudent/components/NewOverview/Chat/types/types.d.ts +232 -0
- package/dist/containers/MyStudent/components/NewOverview/Chat/view/AreaChart.d.ts +14 -0
- package/dist/containers/MyStudent/components/NewOverview/Chat/view/BubbleChartCustom.d.ts +12 -0
- package/dist/containers/MyStudent/components/NewOverview/Chat/view/OverallDonutChart.d.ts +13 -0
- package/dist/containers/OneRosterSystem/components/ImportOneRoster.d.ts +8 -0
- package/dist/containers/OneRosterSystem/components/RestApiProgress.d.ts +7 -0
- package/dist/containers/OneRosterSystem/components/RosterConfigForm.d.ts +9 -0
- package/dist/containers/OneRosterSystem/components/TeacherSelector.d.ts +2 -0
- package/dist/containers/OneRosterSystem/components/VeraCrossConfigForm.d.ts +9 -0
- package/dist/containers/OneRosterSystem/configs/constants.d.ts +14 -0
- package/dist/containers/OneRosterSystem/configs/types.d.ts +38 -0
- package/dist/containers/OneRosterSystem/hooks/useCreateRosterUser.d.ts +5 -0
- package/dist/containers/OneRosterSystem/hooks/useImportOneRoster.d.ts +26 -0
- package/dist/containers/OneRosterSystem/hooks/useOneRosterUserList.d.ts +21 -0
- package/dist/containers/OneRosterSystem/hooks/useRosterConfigForm.d.ts +7 -0
- package/dist/containers/OneRosterSystem/hooks/userOpenApply.d.ts +9 -0
- package/dist/containers/OneRosterSystem/hooks/userVeraCross.d.ts +9 -0
- package/dist/containers/OneRosterSystem/views/OneRosterClever.d.ts +2 -0
- package/dist/containers/OneRosterSystem/views/OneRosterContainer.d.ts +2 -0
- package/dist/containers/OneRosterSystem/views/OneRosterImport.d.ts +2 -0
- package/dist/containers/OneRosterSystem/views/OneRosterUserList.d.ts +2 -0
- package/dist/containers/OneRosterSystem/views/OpenApplyImport.d.ts +2 -0
- package/dist/containers/OneRosterSystem/views/VeracrossImport.d.ts +2 -0
- package/dist/containers/QuestionBank/components/AdditionalComponent.d.ts +10 -7
- package/dist/containers/QuestionBank/components/AdditionalSurvey.d.ts +10 -0
- package/dist/containers/QuestionBank/components/AgGridComponents.d.ts +19 -11
- package/dist/containers/QuestionBank/components/AnswerList.d.ts +14 -9
- package/dist/containers/QuestionBank/components/CheckboxCellRenderer.d.ts +3 -0
- package/dist/containers/QuestionBank/components/DefaultQuestionStudentTeacherFilter.d.ts +9 -8
- package/dist/containers/QuestionBank/components/DefaultQuestionTypeSelector.d.ts +7 -7
- package/dist/containers/QuestionBank/components/QuestionPreview.d.ts +2 -3
- package/dist/containers/QuestionBank/components/SliderScale.d.ts +9 -8
- package/dist/containers/QuestionBank/components/StarRating.d.ts +6 -7
- package/dist/containers/QuestionBank/components/SubQuestions.d.ts +7 -7
- package/dist/containers/QuestionBank/components/SubSurveyQuestions.d.ts +7 -0
- package/dist/containers/QuestionBank/components/SurveyAnswerList.d.ts +14 -0
- package/dist/containers/QuestionBank/components/SurveyQuestionsList.d.ts +13 -0
- package/dist/containers/QuestionBank/components/UserForQuestion.d.ts +6 -0
- package/dist/containers/QuestionBank/configs/constants.d.ts +92 -0
- package/dist/containers/QuestionBank/configs/questionDetailSchema.d.ts +29 -25
- package/dist/containers/QuestionBank/configs/type.d.ts +19 -0
- package/dist/containers/QuestionBank/configs/validationAnswerId.d.ts +2 -2
- package/dist/containers/QuestionBank/configs/validationChoices.d.ts +2 -2
- package/dist/containers/QuestionBank/hooks/useCategoriesQuestions.d.ts +9 -0
- package/dist/containers/QuestionBank/hooks/useQuestionAnswerList.d.ts +9 -7
- package/dist/containers/QuestionBank/hooks/useQuestionDetail.d.ts +59 -31
- package/dist/containers/QuestionBank/hooks/useQuestionList.d.ts +15 -12
- package/dist/containers/QuestionBank/hooks/useQuestionSurveyList.d.ts +27 -0
- package/dist/containers/QuestionBank/hooks/useSubQuestionList.d.ts +6 -6
- package/dist/containers/QuestionBank/hooks/useWeeklyQuest.d.ts +24 -0
- package/dist/containers/QuestionBank/hooks/useWeeklyQuestDetail.d.ts +20 -0
- package/dist/containers/QuestionBank/views/CategoriesAndQuestion.d.ts +9 -0
- package/dist/containers/QuestionBank/views/QuestionBankContainer.d.ts +2 -3
- package/dist/containers/QuestionBank/views/QuestionBankList.d.ts +10 -6
- package/dist/containers/QuestionBank/views/QuestionDetail.d.ts +3 -3
- package/dist/containers/QuestionBank/views/SettingWeeklyQuest.d.ts +3 -0
- package/dist/containers/QuestionBank/views/SurveyQuestion.d.ts +3 -0
- package/dist/containers/QuestionBank/views/SurveyQuestionContainer.d.ts +2 -0
- package/dist/containers/QuestionBank/views/WeeklyQuest.d.ts +3 -0
- package/dist/containers/QuestionCategory/components/QuestionCateModal.d.ts +2 -3
- package/dist/containers/QuestionCategory/components/QuestionCateSelector.d.ts +12 -0
- package/dist/containers/QuestionCategory/hooks/useQuestionCateDetail.d.ts +17 -18
- package/dist/containers/QuestionCategory/hooks/useQuestionCateList.d.ts +30 -10
- package/dist/containers/QuestionCategory/views/QuestionCategogyList.d.ts +10 -3
- package/dist/containers/QuestionScaffolding/components/QuestionDetailModal.d.ts +2 -0
- package/dist/{MarioFramework.Education/ClientApp/src/containers/ReflectionForm/hooks/useReflectionFormDetail.d.ts → containers/QuestionScaffolding/hooks/useQuestionDetail.d.ts} +20 -21
- package/dist/containers/QuestionScaffolding/hooks/useQuestionList.d.ts +11 -0
- package/dist/containers/QuestionScaffolding/ultis/ultis.d.ts +20 -0
- package/dist/containers/QuestionScaffolding/views/QuestionScaffolding.d.ts +3 -0
- package/dist/containers/ReflectionForm/components/QuestionResponse/EmotionalResponse.d.ts +2 -3
- package/dist/containers/ReflectionForm/components/QuestionResponse/MultipleChoiceResponse.d.ts +2 -3
- package/dist/containers/ReflectionForm/components/QuestionResponse/RatingReponse.d.ts +2 -3
- package/dist/containers/ReflectionForm/components/QuestionResponse/RatingStarReponse.d.ts +2 -3
- package/dist/containers/ReflectionForm/components/QuestionResponse/TextInputResponse.d.ts +2 -3
- package/dist/containers/ReflectionForm/components/QuestionSplitPaneSelector.d.ts +2 -3
- package/dist/containers/ReflectionForm/components/ReflectionDetailModal.d.ts +2 -3
- package/dist/containers/ReflectionForm/components/ReflectionResultDetailModal.d.ts +2 -3
- package/dist/containers/ReflectionForm/configs/types.d.ts +43 -43
- package/dist/containers/ReflectionForm/hooks/useQuestionCategory.d.ts +13 -13
- package/dist/containers/ReflectionForm/hooks/useReflectionFormDetail.d.ts +20 -21
- package/dist/containers/ReflectionForm/hooks/useReflectionFormList.d.ts +10 -10
- package/dist/containers/ReflectionForm/hooks/useReflectionResultDetail.d.ts +7 -8
- package/dist/containers/ReflectionForm/hooks/useReflectionResultList.d.ts +9 -9
- package/dist/containers/ReflectionForm/views/ReflectionContainer.d.ts +2 -3
- package/dist/containers/ReflectionForm/views/ReflectionFormList.d.ts +3 -3
- package/dist/containers/ReflectionForm/views/ReflectionResultList.d.ts +3 -3
- package/dist/containers/Sandbox/hooks/useSandbox.d.ts +6 -0
- package/dist/containers/Sandbox/views/SandboxContainer.d.ts +2 -0
- package/dist/containers/SchoolBlankDay/components/SchoolBlankDayDetailModal.d.ts +2 -0
- package/dist/{MarioFramework.Education/ClientApp/src/containers → containers}/SchoolBlankDay/hooks/useSchoolBlankDayDetail.d.ts +18 -19
- package/dist/{MarioFramework.Education/ClientApp/src/containers → containers}/SchoolBlankDay/hooks/useSchoolBlankDayList.d.ts +9 -9
- package/dist/{MarioFramework.Education/ClientApp/src/containers → containers}/SchoolBlankDay/views/SchoolBlankDayList.d.ts +3 -3
- package/dist/containers/SessionTemplate/components/AddQuestionModal.d.ts +12 -11
- package/dist/containers/SessionTemplate/components/CategorySelector.d.ts +7 -7
- package/dist/containers/SessionTemplate/components/ConferenceRubricSelector.d.ts +7 -7
- package/dist/containers/SessionTemplate/components/ReflectionFormSelector.d.ts +7 -7
- package/dist/containers/SessionTemplate/components/SkillSelector.d.ts +7 -7
- package/dist/containers/SessionTemplate/configs/validationSchema.d.ts +15 -21
- package/dist/containers/SessionTemplate/hooks/useAddQuestion.d.ts +7 -8
- package/dist/containers/SessionTemplate/hooks/useSessionTemplateDetail.d.ts +41 -29
- package/dist/containers/SessionTemplate/hooks/useSessionTemplateList.d.ts +14 -11
- package/dist/containers/SessionTemplate/views/SessionTemplateDetail.d.ts +3 -3
- package/dist/containers/SessionTemplate/views/SessionTemplateList.d.ts +3 -3
- package/dist/containers/Setup/views/SetupContainer.d.ts +2 -3
- package/dist/containers/Subject/components/SubjectDetailModal.d.ts +2 -3
- package/dist/containers/Subject/hooks/useSubjectDetail.d.ts +18 -19
- package/dist/containers/Subject/hooks/useSubjectList.d.ts +9 -10
- package/dist/containers/Subject/views/SubjectList.d.ts +3 -3
- package/dist/containers/SurveyDashboard/apiClient/surveyService.d.ts +35 -0
- package/dist/containers/SurveyDashboard/components/AllQuestionSurvey.d.ts +1 -0
- package/dist/containers/SurveyDashboard/components/AllStudentSurvey.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/AnswerQuestionInput.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/AreaChart.d.ts +10 -0
- package/dist/containers/SurveyDashboard/components/AvrComparison.d.ts +6 -0
- package/dist/containers/SurveyDashboard/components/BarAndAreaChart.d.ts +9 -0
- package/dist/containers/SurveyDashboard/components/BarChart.d.ts +11 -0
- package/dist/containers/SurveyDashboard/components/BarChartQuestionAnswers.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/CardItemMobile/CardSurveyMobile.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/ChartViewDashboard.d.ts +21 -0
- package/dist/containers/SurveyDashboard/components/CheckboxCustom.d.ts +12 -0
- package/dist/containers/SurveyDashboard/components/ChoiceChartType.d.ts +9 -0
- package/dist/containers/SurveyDashboard/components/ConductSurveyModel.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/ConfirmDeleteSelectedModal.d.ts +8 -0
- package/dist/containers/SurveyDashboard/components/CreateSurveyAdmin.d.ts +2 -0
- package/dist/{MarioFramework.Education/ClientApp/src/containers/Dashboard → containers/SurveyDashboard}/components/DashboardCard.d.ts +7 -7
- package/dist/containers/SurveyDashboard/components/HeaderChart/HeaderChart.d.ts +16 -0
- package/dist/containers/SurveyDashboard/components/HeaderChart/PlusButton.d.ts +6 -0
- package/dist/containers/SurveyDashboard/components/ListSurveys.d.ts +2 -0
- package/dist/containers/SurveyDashboard/components/Loading.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/ModelLinkSurvey.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/Questions/AdditionalQuestionModel.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/RatingOfQuestions.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/ResponseQuestionModel.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/StepComponents/ConfirmPublishSurvey.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/StepComponents/ConfirmShareSurvey.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/StepComponents/CreateSurveyComponent.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/StepComponents/ListFavoriteSurvey.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/StepComponents/ModelSelectQuestion.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/StepComponents/ModelSelectSurveyTemplate.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/StepComponents/ModelSendSurvey.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/StepComponents/ReviewSurveyDetail.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/StepComponents/TableSelectStaff.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/StepComponents/TableSelectStudent.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/StudentByGrade.d.ts +6 -0
- package/dist/containers/SurveyDashboard/components/StudentFlagList.d.ts +7 -0
- package/dist/containers/SurveyDashboard/components/TableAnswerDropDown.d.ts +5 -0
- package/dist/containers/SurveyDashboard/components/TopMostSurveyUsed.d.ts +6 -0
- package/dist/containers/SurveyDashboard/components/TotalCard.d.ts +3 -0
- package/dist/containers/SurveyDashboard/components/TotalStudent.d.ts +6 -0
- package/dist/containers/SurveyDashboard/configs/chartOptions.d.ts +6 -0
- package/dist/containers/SurveyDashboard/configs/constants.d.ts +157 -0
- package/dist/containers/SurveyDashboard/configs/overviewFn.d.ts +19 -0
- package/dist/containers/SurveyDashboard/configs/questionModelType.d.ts +34 -0
- package/dist/containers/SurveyDashboard/configs/tableColumn.d.ts +151 -0
- package/dist/containers/SurveyDashboard/configs/typeCardItem.d.ts +18 -0
- package/dist/containers/SurveyDashboard/configs/types.d.ts +883 -0
- package/dist/containers/SurveyDashboard/configs/utils.d.ts +127 -0
- package/dist/containers/SurveyDashboard/hooks/useAdditionalQuestion.d.ts +32 -0
- package/dist/containers/SurveyDashboard/hooks/useChartDatas.d.ts +42 -0
- package/dist/containers/SurveyDashboard/hooks/useContainerDimensions.d.ts +4 -0
- package/dist/containers/SurveyDashboard/hooks/useCreateSurvey.d.ts +100 -0
- package/dist/containers/SurveyDashboard/hooks/useDashboard.d.ts +32 -0
- package/dist/containers/SurveyDashboard/hooks/useExternalSurvey.d.ts +25 -0
- package/dist/containers/SurveyDashboard/hooks/useFormCreateSurvey.d.ts +14 -0
- package/dist/containers/SurveyDashboard/hooks/useListFavoriteSurvey.d.ts +10 -0
- package/dist/containers/SurveyDashboard/hooks/useListQuestionSurvey.d.ts +7 -0
- package/dist/containers/SurveyDashboard/hooks/useListStudentFlag.d.ts +18 -0
- package/dist/containers/SurveyDashboard/hooks/useListSurvey.d.ts +63 -0
- package/dist/containers/SurveyDashboard/hooks/useListSurveyDetail.d.ts +19 -0
- package/dist/containers/SurveyDashboard/hooks/useSelectQuestion.d.ts +26 -0
- package/dist/containers/SurveyDashboard/hooks/useSelectStaff.d.ts +14 -0
- package/dist/containers/SurveyDashboard/hooks/useSelectStudent.d.ts +16 -0
- package/dist/containers/SurveyDashboard/hooks/useSelectetGrade.d.ts +16 -0
- package/dist/containers/SurveyDashboard/hooks/useSurveyDetail.d.ts +73 -0
- package/dist/containers/SurveyDashboard/hooks/useSurveyExportCsv.d.ts +7 -0
- package/dist/containers/SurveyDashboard/hooks/useSurveyStudentFlag.d.ts +7 -0
- package/dist/containers/SurveyDashboard/styles/makeStyles.d.ts +79 -0
- package/dist/containers/SurveyDashboard/views/SurveyDashboard.d.ts +3 -0
- package/dist/containers/SurveyDashboard/views/SurveyDashboardContainer.d.ts +2 -0
- package/dist/containers/SurveyDashboard/views/SurveyDetailAdmin.d.ts +2 -0
- package/dist/containers/SurveyDashboard/views/SurveyPortal.d.ts +2 -0
- package/dist/containers/SurveyDashboard/views/SurveyStudentFlagListAdmin.d.ts +2 -0
- package/dist/containers/SurveyDashboard/views/SurveySummary.d.ts +2 -0
- package/dist/containers/SyncData/hooks/useSyncData.d.ts +14 -0
- package/dist/containers/SyncData/utils/type.d.ts +5 -0
- package/dist/containers/SyncData/views/SyncData.d.ts +2 -0
- package/dist/containers/TemplateSurvey/components/AgGridComponents.d.ts +8 -0
- package/dist/containers/TemplateSurvey/components/SortableItem.d.ts +2 -0
- package/dist/containers/TemplateSurvey/components/TemplateCateModal.d.ts +2 -0
- package/dist/containers/TemplateSurvey/hooks/useCategorySelector.d.ts +22 -0
- package/dist/containers/TemplateSurvey/hooks/useTemplateCateDetail.d.ts +35 -0
- package/dist/containers/TemplateSurvey/hooks/useTemplateCateList.d.ts +14 -0
- package/dist/containers/TemplateSurvey/views/SurveyTemplates.d.ts +2 -0
- package/dist/containers/TemplateSurvey/views/TemplateSurveyList.d.ts +3 -0
- package/dist/containers/TemplateSystem/apiClient/index.d.ts +10 -0
- package/dist/containers/TemplateSystem/components/SelectorTemplate.d.ts +2 -0
- package/dist/containers/TemplateSystem/components/TemplateDialogModal.d.ts +2 -0
- package/dist/containers/TemplateSystem/configs/types.d.ts +12 -0
- package/dist/containers/TemplateSystem/hooks/useTemplateBuilder.d.ts +12 -0
- package/dist/{MarioFramework.Education/ClientApp/src/containers/LearningStrategy/hooks/useStrategyDetail.d.ts → containers/TemplateSystem/hooks/useTemplateDetail.d.ts} +19 -18
- package/dist/{MarioFramework.Education/ClientApp/src/containers/Assessment/hooks/useAssessmentList.d.ts → containers/TemplateSystem/hooks/useTemplateList.d.ts} +9 -9
- package/dist/containers/TemplateSystem/hooks/useTemplateStart.d.ts +10 -0
- package/dist/containers/TemplateSystem/views/TemplateBuilderPage.d.ts +3 -0
- package/dist/containers/TemplateSystem/views/TemplateContainer.d.ts +2 -0
- package/dist/containers/TemplateSystem/views/TemplateIEPList.d.ts +3 -0
- package/dist/containers/TemplateSystem/views/TemplateStartBuild.d.ts +3 -0
- package/dist/containers/TemplateSystem/views/TemplateSystemList.d.ts +3 -0
- package/dist/containers/Training/hooks/useTrainingLink.d.ts +11 -0
- package/dist/containers/Training/views/Training.d.ts +2 -0
- package/dist/containers/TutorialScreen/components/TutorialScreenDetailModal.d.ts +2 -3
- package/dist/containers/TutorialScreen/components/TutorialScreenList.d.ts +7 -7
- package/dist/containers/TutorialScreen/enums/TutorialScreenType.d.ts +7 -7
- package/dist/containers/TutorialScreen/hooks/useTutorialScreenDetail.d.ts +19 -20
- package/dist/containers/TutorialScreen/hooks/useTutorialScreenList.d.ts +10 -11
- package/dist/containers/TutorialScreen/views/TutorialScreenContainer.d.ts +2 -3
- package/dist/containers/UserDeleted/components/UserDeletedModal.d.ts +2 -0
- package/dist/containers/UserDeleted/hooks/useUserDeletedList.d.ts +36 -0
- package/dist/containers/UserDeleted/hooks/useUserDeletedModal.d.ts +13 -0
- package/dist/containers/UserDeleted/views/UserDeletedList.d.ts +2 -0
- package/dist/containers/UserManagement/configs/constants.d.ts +52 -0
- package/dist/containers/UserManagement/configs/profileSchema.d.ts +13 -0
- package/dist/containers/UserManagement/hooks/useChangePassword.d.ts +6 -0
- package/dist/containers/UserManagement/hooks/useUserDetail.d.ts +44 -0
- package/dist/containers/UserManagement/views/ChangePassword.d.ts +2 -0
- package/dist/containers/UserManagement/views/Profile.d.ts +16 -0
- package/dist/containers/UserManagement/views/UserProfileManagement.d.ts +3 -0
- package/dist/containers/UserRevert/hooks/useRevertUser.d.ts +15 -0
- package/dist/containers/UserRevert/views/RevertUser.d.ts +2 -0
- package/dist/containers/WelcomeEmailResend/hook/useGetUserList.d.ts +12 -0
- package/dist/containers/WelcomeEmailResend/hook/useResendMail.d.ts +5 -0
- package/dist/containers/WelcomeEmailResend/utils/constants.d.ts +25 -0
- package/dist/containers/WelcomeEmailResend/views/WelcomeEmailResend.d.ts +2 -0
- package/dist/containers/WellBeingDashboard/components/DashboardToPDF.d.ts +3 -0
- package/dist/containers/WellBeingDashboard/components/EducatorWithoutCheckInsModal.d.ts +10 -0
- package/dist/containers/WellBeingDashboard/components/EmptyChart.d.ts +5 -0
- package/dist/containers/WellBeingDashboard/components/ExportChartPdfModal.d.ts +4 -0
- package/dist/containers/WellBeingDashboard/components/Filter.d.ts +2 -0
- package/dist/containers/WellBeingDashboard/components/OpenFieldQuestionTable.d.ts +3 -0
- package/dist/containers/WellBeingDashboard/components/OpenFieldTab.d.ts +3 -0
- package/dist/containers/WellBeingDashboard/components/RatingQuestionChart.d.ts +19 -0
- package/dist/containers/WellBeingDashboard/configs/constants.d.ts +11 -0
- package/dist/containers/WellBeingDashboard/configs/type.d.ts +143 -0
- package/dist/containers/WellBeingDashboard/configs/utils.d.ts +10 -0
- package/dist/containers/WellBeingDashboard/hooks/useOpenFieldWellbeingQuestion.d.ts +13 -0
- package/dist/containers/WellBeingDashboard/hooks/useWellbeingDashboard.d.ts +70 -0
- package/dist/containers/WellBeingDashboard/views/OpenFieldWellbeingQuestion.d.ts +2 -0
- package/dist/containers/WellBeingDashboard/views/WellBeingDashboard.d.ts +3 -0
- package/dist/hooks/useAutoCompleteStyle.d.ts +12 -0
- package/dist/hooks/useDebounce.d.ts +1 -0
- package/dist/hooks/useDisplayScale.d.ts +2 -0
- package/dist/hooks/useFontStyles.d.ts +33 -0
- package/dist/hooks/useRosterUserSelector.d.ts +8 -0
- package/dist/hooks/useStudentList.d.ts +5 -0
- package/dist/index.d.ts +53 -27
- package/dist/index.js +290 -20681
- package/dist/index.modern.js +67019 -19859
- package/dist/layouts/MainLayoutAdmin.d.ts +2 -0
- package/dist/layouts/ModelSelectRole.d.ts +3 -0
- package/dist/layouts/constants/constants.d.ts +2 -0
- package/dist/layouts/constants/type.d.ts +4 -0
- package/dist/mario-education.css +1 -0
- package/dist/services/HomepageService.d.ts +3 -0
- package/dist/services/MyProfile.d.ts +7 -0
- package/dist/services/Speech.d.ts +1 -0
- package/dist/services/StudentList.d.ts +6 -0
- package/dist/services/SurveyService.d.ts +14 -0
- package/dist/services/academicYearService.d.ts +5 -2
- package/dist/services/assessmentService.d.ts +7 -6
- package/dist/services/assignmentResultService.d.ts +4 -3
- package/dist/services/assignmentService.d.ts +9 -7
- package/dist/services/assistantService.d.ts +3 -2
- package/dist/services/badgeService.d.ts +7 -6
- package/dist/services/bandScoreService.d.ts +8 -0
- package/dist/services/certificateService.d.ts +9 -6
- package/dist/services/classService.d.ts +10 -9
- package/dist/services/commonService.d.ts +4 -0
- package/dist/services/compareService.d.ts +2 -0
- package/dist/services/conferenceRubricService.d.ts +10 -9
- package/dist/services/conversationGoalApi.d.ts +3 -0
- package/dist/services/csvService.d.ts +8 -1
- package/dist/services/currentLicenseService.d.ts +4 -0
- package/dist/services/customAlertService.d.ts +8 -7
- package/dist/services/dashboardService.d.ts +38 -0
- package/dist/services/designationService.d.ts +6 -0
- package/dist/services/externalApi.d.ts +5 -0
- package/dist/services/feedbackService.d.ts +7 -6
- package/dist/services/fixDataUser.d.ts +2 -0
- package/dist/services/geminiAiService.d.ts +11 -0
- package/dist/services/goalExampleService.d.ts +7 -6
- package/dist/services/language.d.ts +2 -0
- package/dist/services/learningStrategyService.d.ts +8 -6
- package/dist/services/learningSupportCategoryService.d.ts +8 -6
- package/dist/services/linkTraining.d.ts +3 -0
- package/dist/services/notificationAlertService.d.ts +2 -0
- package/dist/services/oneRosterService.d.ts +15 -0
- package/dist/services/questionAlertService.d.ts +6 -0
- package/dist/services/questionCategoryService.d.ts +14 -6
- package/dist/services/questionScaffoldingService.d.ts +7 -0
- package/dist/services/questionService.d.ts +14 -6
- package/dist/services/reflectionFormResponseService.d.ts +4 -3
- package/dist/services/reflectionFormService.d.ts +7 -6
- package/dist/services/revertUserService.d.ts +5 -0
- package/dist/services/sandbox.d.ts +4 -0
- package/dist/services/schoolBlankDayService.d.ts +7 -0
- package/dist/services/schoolService.d.ts +2 -0
- package/dist/services/semesterService.d.ts +7 -6
- package/dist/services/sessionTemplateGeneralClassService.d.ts +7 -6
- package/dist/services/sessionTemplateService.d.ts +12 -11
- package/dist/services/simpleProfileService.d.ts +2 -0
- package/dist/services/studentService.d.ts +3 -2
- package/dist/services/subjectService.d.ts +7 -6
- package/dist/services/suggestionService.d.ts +7 -6
- package/dist/services/syncDataService.d.ts +4 -0
- package/dist/services/tutorialScreenService.d.ts +6 -5
- package/dist/services/userDeletedService.d.ts +9 -0
- package/dist/services/userManagementService.d.ts +10 -0
- package/dist/services/userService.d.ts +30 -0
- package/dist/services/weeklyQuestService.d.ts +8 -0
- package/dist/services/welcomeEmailResendService.d.ts +4 -0
- package/dist/services/wellbeingService.d.ts +10 -0
- package/dist/styles/styles.d.ts +103 -0
- package/dist/types/types.d.ts +148 -0
- package/dist/utils/color.d.ts +2 -0
- package/dist/utils/constants.d.ts +32 -7
- package/dist/utils/constantsFn.d.ts +8 -0
- package/dist/utils/formatDate.d.ts +2 -0
- package/dist/utils/function.d.ts +3 -0
- package/dist/utils/serviceType.interface.d.ts +54 -0
- package/dist/utils/type.d.ts +87 -0
- package/package.json +91 -71
- package/dist/MarioFramework.Education/ClientApp/src/components/Questions/QuestionList.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/components/Questions/QuestionSelector.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assessment/components/AssessmentDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assessment/components/QuestionSplitPaneSelector.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assessment/hooks/useAssessmentDetail.d.ts +0 -24
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assessment/hooks/useQuestionCategory.d.ts +0 -13
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assessment/views/AssessmentList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/AssessmentAssignment/views/AssessmentAssignmentContainer.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assignment/components/AcademicClassSelector.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assignment/components/AssessmentSelector.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assignment/components/AssignmentDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assignment/components/SemesterSelector.d.ts +0 -8
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assignment/configs/types.d.ts +0 -13
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assignment/hooks/useAssignmentDetail.d.ts +0 -27
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assignment/hooks/useAssignmentList.d.ts +0 -17
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assignment/hooks/useAssignmentResultDetail.d.ts +0 -8
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assignment/hooks/useAssignmentResultList.d.ts +0 -10
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assignment/views/AssignmentList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Assignment/views/AssignmentResultList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Badge/components/BadgeDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Badge/hooks/useBadgeDetail.d.ts +0 -20
- package/dist/MarioFramework.Education/ClientApp/src/containers/Badge/hooks/useBadgeList.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/Badge/views/BadgeList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/BandScore/components/BandScoreDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/BandScore/components/BreakPointModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/CSVImport/components/UploadCSVButton.d.ts +0 -10
- package/dist/MarioFramework.Education/ClientApp/src/containers/CSVImport/hooks/useCSVImport.d.ts +0 -21
- package/dist/MarioFramework.Education/ClientApp/src/containers/CSVImport/views/CSVImport.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Certificate/components/CertificateApproved.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Certificate/components/CertificateDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Certificate/components/CertificateItem.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/Certificate/components/CertificateList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Certificate/components/CertificateReview.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Certificate/config/constants.d.ts +0 -19
- package/dist/MarioFramework.Education/ClientApp/src/containers/Certificate/hooks/useCertificateDetail.d.ts +0 -26
- package/dist/MarioFramework.Education/ClientApp/src/containers/Certificate/hooks/useCertificateList.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/Certificate/hooks/useCertificateReview.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/Certificate/views/CertificateContainer.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Classes/components/ClassDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Classes/components/ClassStudentModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Classes/components/StudentList.d.ts +0 -8
- package/dist/MarioFramework.Education/ClientApp/src/containers/Classes/components/StudentSelector.d.ts +0 -8
- package/dist/MarioFramework.Education/ClientApp/src/containers/Classes/components/TeacherMultiSelector.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/Classes/components/TeacherSelector.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/Classes/hooks/useClassDetail.d.ts +0 -25
- package/dist/MarioFramework.Education/ClientApp/src/containers/Classes/hooks/useClassList.d.ts +0 -12
- package/dist/MarioFramework.Education/ClientApp/src/containers/Classes/views/ClassList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/CompareTeacher/components/TeacherItem.d.ts +0 -8
- package/dist/MarioFramework.Education/ClientApp/src/containers/CompareTeacher/configs/constants.d.ts +0 -18
- package/dist/MarioFramework.Education/ClientApp/src/containers/CompareTeacher/hooks/useCompareTeacher.d.ts +0 -17
- package/dist/MarioFramework.Education/ClientApp/src/containers/CompareTeacher/views/CompareTeacher.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ConferenceRubric/components/ConferenceRubricItem.d.ts +0 -14
- package/dist/MarioFramework.Education/ClientApp/src/containers/ConferenceRubric/components/ConferenceRubricTypeSelector.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/ConferenceRubric/components/SkillSelector.d.ts +0 -8
- package/dist/MarioFramework.Education/ClientApp/src/containers/ConferenceRubric/configs/types.d.ts +0 -44
- package/dist/MarioFramework.Education/ClientApp/src/containers/ConferenceRubric/hooks/useConferenceRubricDetail.d.ts +0 -36
- package/dist/MarioFramework.Education/ClientApp/src/containers/ConferenceRubric/hooks/useConferenceRubricList.d.ts +0 -10
- package/dist/MarioFramework.Education/ClientApp/src/containers/ConferenceRubric/views/ConferenceRubricDetail.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ConferenceRubric/views/ConferenceRubricList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/CurrentLicense/views/CurrentLicense.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/CustomAlert/components/CustomAlertDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/CustomAlert/hooks/useCustomAlertDetail.d.ts +0 -22
- package/dist/MarioFramework.Education/ClientApp/src/containers/CustomAlert/hooks/useCustomAlertList.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/CustomAlert/views/CustomAlertList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/Grade.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/HighImpact.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/LoginCouting.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/PerceivedImpact.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/Quantity.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/Skill.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/TimeInSession.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/configs/constants.d.ts +0 -1
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/configs/types.d.ts +0 -48
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/configs/utils.d.ts +0 -1
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/hooks/useDashboard.d.ts +0 -12
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/hooks/useSkillFormat.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/views/Dashboard.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Feedback/components/FeedbackDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Feedback/hooks/useFeedbackDetail.d.ts +0 -11
- package/dist/MarioFramework.Education/ClientApp/src/containers/Feedback/hooks/useFeedbackList.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/Feedback/views/FeedbackList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/GoalExample/components/GoalExampleDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/GoalExample/hooks/useGoalExampleDetail.d.ts +0 -27
- package/dist/MarioFramework.Education/ClientApp/src/containers/GoalExample/hooks/useGoalExampleList.d.ts +0 -10
- package/dist/MarioFramework.Education/ClientApp/src/containers/GoalExample/hooks/useShortTermTargetExampleList.d.ts +0 -12
- package/dist/MarioFramework.Education/ClientApp/src/containers/GoalExample/views/GoalExampleList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/LearningStrategy/components/StrategyDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/LearningStrategy/hooks/useLearningStrategyList.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/LearningStrategy/views/LearningStrategyList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/LearningSupportCategory/components/LearningSupportCategoryDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/LearningSupportCategory/components/LearningSupportCategorySelector.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/LearningSupportCategory/hooks/useLearningSupportCategoryDetail.d.ts +0 -19
- package/dist/MarioFramework.Education/ClientApp/src/containers/LearningSupportCategory/hooks/useLearningSupportCategoryList.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/LearningSupportCategory/views/LearningSupportCategoryList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ManageAssistant/views/ManageAssistantList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/components/AdditionalComponent.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/components/AgGridComponents.d.ts +0 -11
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/components/AnswerList.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/components/DefaultQuestionStudentTeacherFilter.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/components/DefaultQuestionTypeSelector.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/components/QuestionPreview.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/components/SliderScale.d.ts +0 -8
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/components/StarRating.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/components/SubQuestions.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/configs/questionDetailSchema.d.ts +0 -29
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/configs/validationAnswerId.d.ts +0 -2
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/configs/validationChoices.d.ts +0 -2
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/hooks/useQuestionAnswerList.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/hooks/useQuestionDetail.d.ts +0 -35
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/hooks/useQuestionList.d.ts +0 -13
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/hooks/useSubQuestionList.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/views/QuestionBankContainer.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/views/QuestionBankList.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionBank/views/QuestionDetail.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionCategory/components/QuestionCateModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionCategory/hooks/useQuestionCateDetail.d.ts +0 -18
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionCategory/hooks/useQuestionCateList.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/QuestionCategory/views/QuestionCategogyList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/components/QuestionResponse/EmotionalResponse.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/components/QuestionResponse/MultipleChoiceResponse.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/components/QuestionResponse/RatingReponse.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/components/QuestionResponse/RatingStarReponse.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/components/QuestionResponse/TextInputResponse.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/components/QuestionSplitPaneSelector.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/components/ReflectionDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/components/ReflectionResultDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/configs/types.d.ts +0 -43
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/hooks/useQuestionCategory.d.ts +0 -13
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/hooks/useReflectionFormList.d.ts +0 -10
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/hooks/useReflectionResultDetail.d.ts +0 -8
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/hooks/useReflectionResultList.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/views/ReflectionContainer.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/views/ReflectionFormList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/ReflectionForm/views/ReflectionResultList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/SchoolBlankDay/components/SchoolBlankDayDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Semester/components/BreakingMonthModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Semester/components/SemesterDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Semester/hooks/useBreakingMonth.d.ts +0 -14
- package/dist/MarioFramework.Education/ClientApp/src/containers/Semester/hooks/useSemesterDetail.d.ts +0 -19
- package/dist/MarioFramework.Education/ClientApp/src/containers/Semester/views/SemesterList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplate/components/AddQuestionModal.d.ts +0 -11
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplate/components/CategorySelector.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplate/components/ConferenceRubricSelector.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplate/components/ReflectionFormSelector.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplate/components/SkillSelector.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplate/configs/validationSchema.d.ts +0 -21
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplate/hooks/useAddQuestion.d.ts +0 -8
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplate/hooks/useSessionTemplateDetail.d.ts +0 -29
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplate/hooks/useSessionTemplateList.d.ts +0 -10
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplate/views/SessionTemplateDetail.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplate/views/SessionTemplateList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplateContainer/views/SessionTemplateContainer.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplateGeneralClass/components/SubjectSelector.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplateGeneralClass/hooks/useSessionTemplateGeneralClassDetail.d.ts +0 -27
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplateGeneralClass/hooks/useSessionTemplateGeneralClassList.d.ts +0 -10
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplateGeneralClass/views/SessionTemplateGeneralClassDetail.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/SessionTemplateGeneralClass/views/SessionTemplateGeneralClassList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Setup/views/SetupContainer.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Subject/components/SubjectDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/Subject/hooks/useSubjectDetail.d.ts +0 -19
- package/dist/MarioFramework.Education/ClientApp/src/containers/Subject/hooks/useSubjectList.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/containers/Subject/views/SubjectList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/SuggestionBank/components/SuggestionDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/SuggestionBank/hooks/useKeywordList.d.ts +0 -12
- package/dist/MarioFramework.Education/ClientApp/src/containers/SuggestionBank/hooks/useSuggestionDetail.d.ts +0 -30
- package/dist/MarioFramework.Education/ClientApp/src/containers/SuggestionBank/hooks/useSuggestionList.d.ts +0 -10
- package/dist/MarioFramework.Education/ClientApp/src/containers/SuggestionBank/views/SuggestionList.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/TutorialScreen/components/TutorialScreenDetailModal.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/containers/TutorialScreen/components/TutorialScreenList.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/TutorialScreen/enums/TutorialScreenType.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/containers/TutorialScreen/hooks/useTutorialScreenDetail.d.ts +0 -20
- package/dist/MarioFramework.Education/ClientApp/src/containers/TutorialScreen/hooks/useTutorialScreenList.d.ts +0 -10
- package/dist/MarioFramework.Education/ClientApp/src/containers/TutorialScreen/views/TutorialScreenContainer.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/index.d.ts +0 -29
- package/dist/MarioFramework.Education/ClientApp/src/index.test.d.ts +0 -1
- package/dist/MarioFramework.Education/ClientApp/src/services/academicYearService.d.ts +0 -2
- package/dist/MarioFramework.Education/ClientApp/src/services/assessmentService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/assignmentResultService.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/services/assignmentService.d.ts +0 -8
- package/dist/MarioFramework.Education/ClientApp/src/services/assistantService.d.ts +0 -2
- package/dist/MarioFramework.Education/ClientApp/src/services/badgeService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/bandScoreService.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/services/certificateService.d.ts +0 -8
- package/dist/MarioFramework.Education/ClientApp/src/services/classService.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/services/compareService.d.ts +0 -1
- package/dist/MarioFramework.Education/ClientApp/src/services/conferenceRubricService.d.ts +0 -9
- package/dist/MarioFramework.Education/ClientApp/src/services/csvService.d.ts +0 -1
- package/dist/MarioFramework.Education/ClientApp/src/services/currentLicense.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/services/currentLicenseService.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/services/customAlertService.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/services/dashboardService.d.ts +0 -8
- package/dist/MarioFramework.Education/ClientApp/src/services/feedbackService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/goalExampleService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/learningStrategyService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/learningSupportCategoryService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/questionCategoryService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/questionService.d.ts +0 -7
- package/dist/MarioFramework.Education/ClientApp/src/services/reflectionFormResponseService.d.ts +0 -3
- package/dist/MarioFramework.Education/ClientApp/src/services/reflectionFormService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/schoolBlankDayService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/semesterService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/sessionTemplateGeneralClassService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/sessionTemplateService.d.ts +0 -11
- package/dist/MarioFramework.Education/ClientApp/src/services/studentService.d.ts +0 -2
- package/dist/MarioFramework.Education/ClientApp/src/services/subjectService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/suggestionService.d.ts +0 -6
- package/dist/MarioFramework.Education/ClientApp/src/services/tutorialScreenService.d.ts +0 -5
- package/dist/MarioFramework.Education/ClientApp/src/utils/constants.d.ts +0 -7
- package/dist/containers/Assessment/components/AssessmentDetailModal.d.ts +0 -3
- package/dist/containers/Assessment/components/QuestionSplitPaneSelector.d.ts +0 -3
- package/dist/containers/Assessment/hooks/useAssessmentDetail.d.ts +0 -24
- package/dist/containers/Assessment/hooks/useAssessmentList.d.ts +0 -10
- package/dist/containers/Assessment/hooks/useQuestionCategory.d.ts +0 -13
- package/dist/containers/Assessment/views/AssessmentList.d.ts +0 -3
- package/dist/containers/AssessmentAssignment/views/AssessmentAssignmentContainer.d.ts +0 -3
- package/dist/containers/Assignment/components/AcademicClassSelector.d.ts +0 -3
- package/dist/containers/Assignment/components/AssessmentSelector.d.ts +0 -3
- package/dist/containers/Assignment/components/AssignmentDetailModal.d.ts +0 -3
- package/dist/containers/Assignment/configs/types.d.ts +0 -12
- package/dist/containers/Assignment/hooks/useAssignmentDetail.d.ts +0 -24
- package/dist/containers/Assignment/hooks/useAssignmentList.d.ts +0 -10
- package/dist/containers/Assignment/hooks/useAssignmentResultDetail.d.ts +0 -8
- package/dist/containers/Assignment/hooks/useAssignmentResultList.d.ts +0 -10
- package/dist/containers/Assignment/views/AssignmentList.d.ts +0 -3
- package/dist/containers/Assignment/views/AssignmentResultList.d.ts +0 -3
- package/dist/containers/Certificate/hooks/useCertificateDetail.d.ts +0 -26
- package/dist/containers/Classes/components/ClassDetailModal.d.ts +0 -3
- package/dist/containers/Classes/components/ClassStudentModal.d.ts +0 -3
- package/dist/containers/Classes/components/StudentList.d.ts +0 -8
- package/dist/containers/Classes/components/StudentSelector.d.ts +0 -8
- package/dist/containers/Classes/components/TeacherSelector.d.ts +0 -7
- package/dist/containers/Classes/hooks/useClassDetail.d.ts +0 -25
- package/dist/containers/Classes/hooks/useClassList.d.ts +0 -13
- package/dist/containers/Classes/views/ClassList.d.ts +0 -3
- package/dist/containers/ConferenceRubric/components/ToggleInput.d.ts +0 -9
- package/dist/containers/Feedback/components/FeedbackDetailModal.d.ts +0 -3
- package/dist/containers/Feedback/hooks/useFeedbackDetail.d.ts +0 -11
- package/dist/containers/Feedback/hooks/useFeedbackList.d.ts +0 -9
- package/dist/containers/Feedback/views/FeedbackList.d.ts +0 -3
- package/dist/containers/ManageAssistant/views/ManageAssistantList.d.ts +0 -3
- package/dist/containers/Semester/components/BreakingMonthModal.d.ts +0 -3
- package/dist/containers/Semester/components/SemesterDetailModal.d.ts +0 -3
- package/dist/containers/Semester/hooks/useSemesterDetail.d.ts +0 -19
- package/dist/containers/Semester/hooks/useSemesterList.d.ts +0 -10
- package/dist/containers/Semester/views/SemesterList.d.ts +0 -3
- package/dist/containers/SessionTemplateContainer/views/SessionTemplateContainer.d.ts +0 -3
- package/dist/containers/SessionTemplateGeneralClass/components/SubjectSelector.d.ts +0 -7
- package/dist/containers/SessionTemplateGeneralClass/hooks/useSessionTemplateGeneralClassDetail.d.ts +0 -27
- package/dist/containers/SessionTemplateGeneralClass/hooks/useSessionTemplateGeneralClassList.d.ts +0 -11
- package/dist/containers/SessionTemplateGeneralClass/views/SessionTemplateGeneralClassDetail.d.ts +0 -3
- package/dist/containers/SessionTemplateGeneralClass/views/SessionTemplateGeneralClassList.d.ts +0 -3
- package/dist/containers/SuggestionBank/components/SuggestionDetailModal.d.ts +0 -3
- package/dist/containers/SuggestionBank/hooks/useKeywordList.d.ts +0 -12
- package/dist/containers/SuggestionBank/hooks/useSuggestionDetail.d.ts +0 -30
- package/dist/containers/SuggestionBank/hooks/useSuggestionList.d.ts +0 -11
- package/dist/containers/SuggestionBank/views/SuggestionList.d.ts +0 -3
- package/dist/index.css +0 -136
- package/dist/index.js.map +0 -1
- package/dist/index.modern.js.map +0 -1
- package/dist/index.test.d.ts +0 -1
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../node_modules/babel-plugin-transform-async-to-promises/helpers.js","../src/services/classService.ts","../src/containers/Classes/components/StudentSelector.tsx","../src/containers/Classes/components/TeacherSelector.tsx","../src/containers/Classes/components/StudentList.tsx","../src/containers/Classes/components/ClassDetailModal.tsx","../src/containers/Classes/components/ClassStudentModal.tsx","../src/containers/Classes/hooks/useClassList.ts","../src/containers/Classes/hooks/useClassDetail.ts","../src/containers/Classes/views/ClassList.tsx","../src/services/conferenceRubricService.ts","../src/containers/ConferenceRubric/hooks/useConferenceRubricList.ts","../src/utils/constants.ts","../src/containers/ConferenceRubric/views/ConferenceRubricList.tsx","../src/components/Input/ToggleInput.tsx","../src/containers/ConferenceRubric/components/ConferenceRubricItem.tsx","../src/components/Questions/QuestionList.tsx","../src/containers/ConferenceRubric/components/SkillSelector.tsx","../src/services/questionService.ts","../src/components/Questions/QuestionSelector.tsx","../src/containers/ConferenceRubric/components/ConferenceRubricTypeSelector.tsx","../src/containers/ConferenceRubric/configs/types.ts","../src/containers/ConferenceRubric/hooks/useConferenceRubricDetail.ts","../src/containers/ConferenceRubric/views/ConferenceRubricDetail.tsx","../src/containers/SuggestionBank/components/SuggestionDetailModal.tsx","../src/services/suggestionService.ts","../src/containers/SuggestionBank/hooks/useSuggestionList.ts","../src/containers/SuggestionBank/hooks/useKeywordList.ts","../src/containers/SuggestionBank/hooks/useSuggestionDetail.ts","../src/containers/SuggestionBank/views/SuggestionList.tsx","../src/containers/LearningStrategy/components/StrategyDetailModal.tsx","../src/services/learningStrategyService.ts","../src/containers/LearningStrategy/hooks/useLearningStrategyList.ts","../src/containers/LearningStrategy/hooks/useStrategyDetail.ts","../src/containers/LearningStrategy/views/LearningStrategyList.tsx","../src/containers/Badge/components/BadgeDetailModal.tsx","../src/services/badgeService.ts","../src/containers/Badge/hooks/useBadgeDetail.ts","../src/containers/Badge/hooks/useBadgeList.ts","../src/containers/Badge/views/BadgeList.tsx","../src/containers/GoalExample/components/GoalExampleDetailModal.tsx","../src/services/goalExampleService.ts","../src/containers/GoalExample/hooks/useShortTermTargetExampleList.ts","../src/containers/GoalExample/hooks/useGoalExampleDetail.ts","../src/containers/GoalExample/hooks/useGoalExampleList.ts","../src/containers/GoalExample/views/GoalExampleList.tsx","../src/containers/Subject/components/SubjectDetailModal.tsx","../src/services/subjectService.ts","../src/containers/Subject/hooks/useSubjectDetail.ts","../src/containers/Subject/hooks/useSubjectList.ts","../src/containers/Subject/views/SubjectList.tsx","../src/containers/LearningSupportCategory/components/LearningSupportCategoryDetailModal.tsx","../src/services/learningSupportCategoryService.ts","../src/containers/LearningSupportCategory/hooks/useLearningSupportCategoryDetail.ts","../src/containers/LearningSupportCategory/hooks/useLearningSupportCategoryList.ts","../src/containers/LearningSupportCategory/views/LearningSupportCategoryList.tsx","../src/containers/CSVImport/components/UploadCSVButton.tsx","../src/services/csvService.ts","../src/containers/CSVImport/hooks/useCSVImport.ts","../src/containers/CSVImport/views/CSVImport.tsx","../src/containers/Semester/components/SemesterDetailModal.tsx","../src/containers/Semester/components/BreakingMonthModal.tsx","../src/services/semesterService.ts","../src/containers/Semester/hooks/useSemesterDetail.ts","../src/containers/Semester/hooks/useSemesterList.ts","../src/services/academicYearService.ts","../src/containers/Semester/hooks/useBreakingMonth.ts","../src/containers/Semester/views/SemesterList.tsx","../src/containers/BandScore/components/BandScoreDetailModal.tsx","../src/services/bandScoreService.ts","../src/containers/BandScore/hooks/useBandScoreDetail.ts","../src/containers/BandScore/hooks/useBandScoreList.ts","../src/containers/BandScore/hooks/useBreakPoint.ts","../src/containers/BandScore/views/BandScoreList.tsx","../src/services/currentLicenseService.ts","../src/containers/CurrentLicense/hooks/useCurrentLicense.ts","../src/containers/CurrentLicense/views/CurrentLicense.tsx","../src/containers/SchoolBlankDay/components/SchoolBlankDayDetailModal.tsx","../src/services/schoolBlankDayService.ts","../src/containers/SchoolBlankDay/hooks/useSchoolBlankDayDetail.ts","../src/containers/SchoolBlankDay/hooks/useSchoolBlankDayList.ts","../src/containers/SchoolBlankDay/views/SchoolBlankDayList.tsx","../src/containers/Setup/views/SetupContainer.tsx","../src/containers/QuestionBank/components/DefaultQuestionStudentTeacherFilter.tsx","../src/containers/QuestionBank/components/QuestionPreview.tsx","../src/containers/QuestionBank/components/AgGridComponents.tsx","../src/containers/QuestionBank/hooks/useQuestionList.ts","../src/containers/QuestionBank/views/QuestionBankList.tsx","../src/containers/ReflectionForm/components/QuestionSplitPaneSelector.tsx","../src/containers/ReflectionForm/components/ReflectionDetailModal.tsx","../src/containers/ReflectionForm/hooks/useQuestionCategory.ts","../src/services/reflectionFormService.ts","../src/containers/ReflectionForm/hooks/useReflectionFormDetail.ts","../src/containers/ReflectionForm/hooks/useReflectionFormList.ts","../src/containers/ReflectionForm/views/ReflectionFormList.tsx","../src/services/reflectionFormResponseService.ts","../src/containers/ReflectionForm/hooks/useReflectionResultList.ts","../src/containers/ReflectionForm/hooks/useReflectionResultDetail.ts","../src/containers/ReflectionForm/configs/types.ts","../src/containers/ReflectionForm/components/QuestionResponse/RatingReponse.tsx","../src/containers/ReflectionForm/components/QuestionResponse/EmotionalResponse.tsx","../src/containers/ReflectionForm/components/QuestionResponse/TextInputResponse.tsx","../src/containers/ReflectionForm/components/QuestionResponse/MultipleChoiceResponse.tsx","../src/containers/ReflectionForm/components/QuestionResponse/RatingStarReponse.tsx","../src/containers/ReflectionForm/components/ReflectionResultDetailModal.tsx","../src/containers/ReflectionForm/views/ReflectionResultList.tsx","../src/containers/ReflectionForm/views/ReflectionContainer.tsx","../src/containers/QuestionBank/components/SliderScale.tsx","../src/containers/QuestionBank/components/StarRating.tsx","../src/containers/QuestionBank/hooks/useQuestionAnswerList.ts","../src/containers/QuestionBank/components/AnswerList.tsx","../src/containers/QuestionBank/hooks/useSubQuestionList.ts","../src/containers/QuestionBank/components/SubQuestions.tsx","../src/containers/QuestionBank/components/AdditionalComponent.tsx","../src/containers/QuestionBank/configs/questionDetailSchema.ts","../src/containers/QuestionBank/configs/validationChoices.ts","../src/containers/QuestionBank/configs/validationAnswerId.ts","../src/containers/QuestionBank/hooks/useQuestionDetail.ts","../src/containers/QuestionBank/views/QuestionDetail.tsx","../src/containers/Assessment/components/QuestionSplitPaneSelector.tsx","../src/containers/Assessment/components/AssessmentDetailModal.tsx","../src/services/assessmentService.ts","../src/containers/Assessment/hooks/useAssessmentDetail.ts","../src/containers/Assessment/hooks/useAssessmentList.ts","../src/containers/Assessment/hooks/useQuestionCategory.ts","../src/containers/Assessment/views/AssessmentList.tsx","../src/containers/Feedback/components/FeedbackDetailModal.tsx","../src/services/feedbackService.ts","../src/containers/Feedback/hooks/useFeedbackDetail.ts","../src/containers/Feedback/hooks/useFeedbackList.ts","../src/containers/Feedback/views/FeedbackList.tsx","../src/containers/TutorialScreen/components/TutorialScreenDetailModal.tsx","../src/services/tutorialScreenService.ts","../src/containers/TutorialScreen/enums/TutorialScreenType.ts","../src/containers/TutorialScreen/hooks/useTutorialScreenDetail.ts","../src/containers/TutorialScreen/hooks/useTutorialScreenList.ts","../src/containers/TutorialScreen/components/TutorialScreenList.tsx","../src/containers/TutorialScreen/views/TutorialScreenContainer.tsx","../src/containers/QuestionBank/views/QuestionbankList.tsx","../src/containers/QuestionCategory/components/QuestionCateModal.tsx","../src/services/questionCategoryService.ts","../src/containers/QuestionCategory/hooks/useQuestionCateDetail.ts","../src/containers/QuestionCategory/hooks/useQuestionCateList.ts","../src/containers/QuestionCategory/views/QuestionCategogyList.tsx","../src/containers/QuestionBank/views/QuestionBankContainer.tsx","../src/containers/Assignment/components/AssessmentSelector.tsx","../src/containers/Assignment/components/AcademicClassSelector.tsx","../src/containers/Classes/components/TeacherMultiSelector.tsx","../src/containers/Assignment/components/SemesterSelector.tsx","../src/containers/Assignment/components/AssignmentDetailModal.tsx","../src/services/assignmentService.ts","../src/containers/Assignment/hooks/useAssignmentDetail.ts","../src/containers/Assignment/hooks/useAssignmentList.ts","../src/containers/Assignment/views/AssignmentList.tsx","../src/services/assignmentResultService.ts","../src/containers/Assignment/hooks/useAssignmentResultList.ts","../src/containers/Assignment/hooks/useAssignmentResultDetail.ts","../src/containers/Assignment/views/AssignmentResultList.tsx","../src/containers/AssessmentAssignment/views/AssessmentAssignmentContainer.tsx","../src/services/sessionTemplateService.ts","../src/containers/SessionTemplate/hooks/useSessionTemplateList.ts","../src/containers/SessionTemplate/views/SessionTemplateList.tsx","../src/services/sessionTemplateGeneralClassService.ts","../src/containers/SessionTemplateGeneralClass/hooks/useSessionTemplateGeneralClassList.ts","../src/containers/SessionTemplateGeneralClass/views/SessionTemplateGeneralClassList.tsx","../src/containers/SessionTemplateContainer/views/SessionTemplateContainer.tsx","../src/containers/SessionTemplate/components/SkillSelector.tsx","../src/containers/SessionTemplate/components/CategorySelector.tsx","../src/containers/SessionTemplate/components/ReflectionFormSelector.tsx","../src/containers/SessionTemplate/components/ConferenceRubricSelector.tsx","../src/containers/SessionTemplate/components/AddQuestionModal.tsx","../src/containers/SessionTemplate/hooks/useSessionTemplateDetail.ts","../src/containers/SessionTemplate/hooks/useAddQuestion.ts","../src/containers/SessionTemplate/configs/validationSchema.ts","../src/containers/SessionTemplate/views/SessionTemplateDetail.tsx","../src/containers/SessionTemplateGeneralClass/components/SubjectSelector.tsx","../src/containers/SessionTemplateGeneralClass/hooks/useSessionTemplateGeneralClassDetail.ts","../src/containers/SessionTemplateGeneralClass/views/SessionTemplateGeneralClassDetail.tsx","../src/containers/CustomAlert/components/CustomAlertDetailModal.tsx","../src/services/customAlertService.ts","../src/containers/CustomAlert/hooks/useCustomAlertDetail.ts","../src/containers/CustomAlert/hooks/useCustomAlertList.ts","../src/containers/CustomAlert/views/CustomAlertList.tsx","../src/containers/Certificate/components/CertificateDetailModal.tsx","../src/services/certificateService.ts","../src/containers/Certificate/hooks/useCertificateDetail.ts","../src/containers/Certificate/hooks/useCertificateList.ts","../src/containers/Certificate/components/CertificateList.tsx","../src/containers/Certificate/hooks/useCertificateReview.tsx","../src/containers/Certificate/components/CertificateItem.tsx","../src/containers/Certificate/components/CertificateReview.tsx","../src/containers/Certificate/components/CertificateApproved.tsx","../src/containers/Certificate/views/CertificateContainer.tsx","../src/containers/CompareTeacher/components/TeacherItem.tsx","../src/services/compareService.ts","../src/containers/CompareTeacher/hooks/useCompareTeacher.ts","../src/containers/CompareTeacher/views/CompareTeacher.tsx","../src/services/dashboardService.ts","../src/containers/Dashboard/hooks/useDashboard.ts","../src/containers/Dashboard/components/DashboardCard.tsx","../src/containers/Dashboard/components/GoalProgress.tsx","../src/containers/Dashboard/components/Loading.tsx","../src/containers/Dashboard/configs/constants.ts","../src/containers/Dashboard/configs/utils.ts","../src/containers/Dashboard/components/HighImpact.tsx","../src/containers/Dashboard/components/LoginCouting.tsx","../src/containers/Dashboard/components/PerceivedImpact.tsx","../src/containers/Dashboard/components/Quantity.tsx","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_root.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/_isFlattenable.js","../node_modules/lodash/_baseFlatten.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/_isKey.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/eq.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/memoize.js","../node_modules/lodash/_memoizeCapped.js","../node_modules/lodash/_stringToPath.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/toString.js","../node_modules/lodash/_castPath.js","../node_modules/lodash/_toKey.js","../node_modules/lodash/_baseGet.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_SetCache.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_mapToArray.js","../node_modules/lodash/_setToArray.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/isLength.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/keys.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_baseIsMatch.js","../node_modules/lodash/_isStrictComparable.js","../node_modules/lodash/_getMatchData.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/get.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_hasPath.js","../node_modules/lodash/hasIn.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/identity.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/property.js","../node_modules/lodash/_baseIteratee.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_baseForOwn.js","../node_modules/lodash/_createBaseEach.js","../node_modules/lodash/_baseEach.js","../node_modules/lodash/_baseMap.js","../node_modules/lodash/_baseSortBy.js","../node_modules/lodash/_compareAscending.js","../node_modules/lodash/_compareMultiple.js","../node_modules/lodash/_baseOrderBy.js","../node_modules/lodash/_apply.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/constant.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_baseRest.js","../node_modules/lodash/_isIterateeCall.js","../node_modules/lodash/sortBy.js","../src/containers/Dashboard/hooks/useSkillFormat.ts","../src/containers/Dashboard/components/CustomCheckbox.tsx","../src/containers/Dashboard/components/Skill.tsx","../src/containers/Dashboard/components/TimeInSession.tsx","../src/containers/Dashboard/components/Grade.tsx","../src/containers/Dashboard/views/Dashboard.tsx","../src/index.tsx"],"sourcesContent":["// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst CLASS_URL = `${BASE_URL}/api/academicclass`\r\nconst STUDENT_URL = `${BASE_URL}/api/student`\r\nconst TEACHER_URL = `${BASE_URL}/api/teacher`\r\n\r\nexport const get = (filter?: Partial<Filter>) =>\r\n api.get(CLASS_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${CLASS_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(CLASS_URL, data)\r\n\r\nexport const update = (data: any) => api.put(`${CLASS_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${CLASS_URL}/${id}`)\r\n\r\nexport const getStudents = (classId: number) =>\r\n api.get(`${CLASS_URL}/${classId}/students`)\r\n\r\nexport const getAllStudents = (searchString: string) =>\r\n api.get(`${STUDENT_URL}/allstudents`, { params: { searchString } })\r\n\r\nexport const getAllTeachers = () => api.get(TEACHER_URL)\r\n","import React, { useState, useRef, useCallback, FC, useEffect } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { CustomSelector, setAlert } from \"mario-core\"\r\n\r\nimport { getAllStudents } from \"../../../services/classService\"\r\n\r\ninterface Props {\r\n value?: any\r\n onChange: any\r\n externalStudentIds?: number[]\r\n}\r\n\r\ninterface Student {\r\n studentId: number\r\n email: string\r\n fullName: string\r\n id: string\r\n}\r\n\r\nconst StudentSelector: FC<Props> = ({\r\n value,\r\n onChange,\r\n externalStudentIds\r\n}: Props) => {\r\n const dispatch = useDispatch()\r\n const [students, setStudents] = useState<Student[]>([])\r\n const [searchString, setSearchString] = useState<string>(\"\")\r\n const [isLoading, setLoading] = useState<boolean>(false)\r\n const timeout = useRef<any>()\r\n\r\n const loadData = useCallback(async () => {\r\n setLoading(true)\r\n try {\r\n const res = await getAllStudents(searchString)\r\n setStudents(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n setLoading(false)\r\n }, [searchString])\r\n\r\n useEffect(() => {\r\n timeout && timeout.current && clearTimeout(timeout.current)\r\n if (!searchString || searchString.trim().length < 2) {\r\n setStudents([])\r\n } else {\r\n timeout.current = setTimeout(loadData, 300)\r\n }\r\n }, [searchString])\r\n\r\n const options = students\r\n .filter(\r\n student =>\r\n !externalStudentIds ||\r\n (externalStudentIds &&\r\n !externalStudentIds.includes(student.studentId))\r\n )\r\n .map(student => ({\r\n label: `${student.fullName} (${student.email})`,\r\n value: student.studentId,\r\n studentId: student.studentId,\r\n email: student.email,\r\n fullName: student.fullName,\r\n id: student.id\r\n }))\r\n\r\n return (\r\n <CustomSelector\r\n options={options}\r\n inputValue={searchString}\r\n onInputChange={(inputValue: string) => setSearchString(inputValue)}\r\n isLoading={isLoading}\r\n placeholder=\"Type 2 characters to search\"\r\n isMulti\r\n value={value}\r\n onChange={onChange}\r\n />\r\n )\r\n}\r\n\r\nexport default StudentSelector\r\n","import React, { FC, useState, useEffect, useCallback } from \"react\"\r\nimport { CustomSelector } from \"mario-core\"\r\n\r\nimport { getAllTeachers } from \"../../../services/classService\"\r\n\r\ninterface Props {\r\n defaultValue: number | null | undefined\r\n onChange: Function\r\n}\r\n\r\ninterface Option {\r\n label: string\r\n value: number\r\n}\r\n\r\nconst TeacherSelector: FC<Props> = ({ defaultValue, onChange }: Props) => {\r\n const [options, setOptions] = useState<Option[]>([])\r\n\r\n const getData = useCallback(async () => {\r\n try {\r\n const res = await getAllTeachers()\r\n setOptions(\r\n res.data.map((item: any) => ({\r\n value: item.teacherId,\r\n label: `${item.name} (${item.email})`\r\n }))\r\n )\r\n } catch (err) {\r\n console.error(err.response?.data?.title || err.message)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [])\r\n\r\n const value =\r\n (defaultValue &&\r\n options.filter((option: any) => option.value === defaultValue)) ||\r\n null\r\n\r\n return (\r\n <CustomSelector\r\n options={options}\r\n value={value}\r\n onChange={onChange}\r\n placeholder=\"Select teacher\"\r\n />\r\n )\r\n}\r\n\r\nexport default TeacherSelector\r\n","import React, { FC } from \"react\"\r\nimport { Table } from \"reactstrap\"\r\nimport { EmptyDataAlert, DeleteButtonIcon, LinkEditButton } from \"mario-core\"\r\n\r\ninterface Props {\r\n students: object[]\r\n onRemove: Function\r\n goToUserDetail: Function\r\n}\r\n\r\nconst StudentList: FC<Props> = ({\r\n students,\r\n onRemove,\r\n goToUserDetail\r\n}: Props) => {\r\n return (\r\n <div>\r\n {!!students && !!students.length ? (\r\n <Table responsive hover striped size=\"sm\" bordered>\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Email</th>\r\n <th className=\"align-top\">Name</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {students.map((student: any) => (\r\n <tr key={student.studentId}>\r\n <td>\r\n <LinkEditButton\r\n label={student.email}\r\n onClick={() =>\r\n goToUserDetail(student.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {student.fullName}\r\n </td>\r\n <td className=\"text-center\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(student.studentId)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"student\" />\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default StudentList\r\n","import React, { useEffect, forwardRef } from \"react\"\r\nimport { Row, Col, Input, Label, Button } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\nimport * as yup from \"yup\"\r\n\r\nimport { CommonModal, ErrorHandler, RequiredLabel } from \"mario-core\"\r\n\r\nimport StudentSelector from \"./StudentSelector\"\r\nimport TeacherSelector from \"./TeacherSelector\"\r\nimport StudentList from \"./StudentList\"\r\n\r\nconst ClassDetailModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n classDetail,\r\n onCancel,\r\n isAdmin,\r\n temporaryStudents,\r\n setTemporaryStudents,\r\n goToUserDetail,\r\n students,\r\n onAddStudents,\r\n onRemoveStudent,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n\r\n const schema = yup.object({\r\n name: yup.string().required(\"Class name is required\"),\r\n studentIds: yup.array().of(yup.number()),\r\n teacherId: yup\r\n .number()\r\n .test(\r\n \"Test teacher id\",\r\n \"Teacher is required\",\r\n (value: number) => !isAdmin || value > 0\r\n )\r\n })\r\n\r\n return (\r\n <Formik\r\n initialValues={classDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n const data: any = {\r\n name: values.name,\r\n studentIds: values.studentIds\r\n }\r\n if (values.id) {\r\n data.id = values.id\r\n }\r\n if (isAdmin) {\r\n data.teacherId = values.teacherId\r\n }\r\n onConfirm(data)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n setFieldValue,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n resetForm\r\n } = formProps\r\n\r\n useEffect(() => {\r\n setFieldValue(\r\n \"studentIds\",\r\n students.map((student: any) => student.studentId)\r\n )\r\n }, [students])\r\n\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={() => {\r\n onCancel()\r\n resetForm()\r\n }}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Name\" />\r\n\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Class name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </Col>\r\n {isAdmin && (\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Teacher\" />\r\n <TeacherSelector\r\n defaultValue={values.teacherId}\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"teacherId\",\r\n (e && e.value) || 0\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n {touched.teacherId && errors.teacherId && (\r\n <ErrorHandler\r\n text={errors.teacherId as string}\r\n />\r\n )}\r\n </Col>\r\n )}\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Student</Label>\r\n <div className=\"d-flex align-items-center\">\r\n <div className=\"flex-grow-1\">\r\n <StudentSelector\r\n value={temporaryStudents}\r\n onChange={(e: any) => {\r\n setTemporaryStudents(e || [])\r\n setEditedTrue()\r\n }}\r\n externalStudentIds={\r\n values.studentIds\r\n }\r\n />\r\n </div>\r\n <div className=\"h-100\">\r\n <Button\r\n color=\"primary\"\r\n className=\"ml-2 h-100\"\r\n onClick={onAddStudents}\r\n >\r\n Add students\r\n </Button>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col md={12}>\r\n <Label>Student list</Label>\r\n <StudentList\r\n students={students}\r\n goToUserDetail={goToUserDetail}\r\n onRemove={onRemoveStudent}\r\n />\r\n {touched.studentIds && errors.studentIds && (\r\n <ErrorHandler\r\n text={errors.studentIds as string}\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(ClassDetailModal)\r\n","import React, { forwardRef } from \"react\"\r\nimport { Row, Col, Table } from \"reactstrap\"\r\nimport { CommonModal, EmptyDataAlert } from \"mario-core\"\r\n\r\nconst ClassStudentModal = ({ students }: any, ref: any) => {\r\n return (\r\n <CommonModal header=\"Class students\" noFooter ref={ref}>\r\n <Row>\r\n <Col md={12}>\r\n {!!students && !!students.length ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"align-top\">Email</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {students.map((student: any) => (\r\n <tr key={student.id}>\r\n <td className=\"align-middle\">\r\n {student.fullName}\r\n </td>\r\n <td className=\"align-middle\">\r\n {student.email}\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"student\" />\r\n )}\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n}\r\n\r\nexport default forwardRef(ClassStudentModal)\r\n","import { useState, useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setClassList,\r\n setLoading,\r\n setModal,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove, getStudents } from \"../../../services/classService\"\r\n\r\nconst TITLE = \"Class list\"\r\nconst USER_URL = \"/admin/user\"\r\nconst useClassList = () => {\r\n const classList = useSelector((state: any) => state.classes.classList)\r\n const totalItems = useSelector((state: any) => state.classes.totalItems)\r\n\r\n const [students, setStudents] = useState<any>([])\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(setClassList({ classList: items, totalItems }))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this class?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove class successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n const getClassStudents = useCallback(async (classId: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n const res = await getStudents(classId)\r\n setStudents(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n }, [])\r\n\r\n const goToUserDetail = useCallback((userId: string) => {\r\n window.open(`${USER_URL}/${userId}`)\r\n }, [])\r\n\r\n return {\r\n classList,\r\n totalItems,\r\n filters,\r\n students,\r\n changeFilters,\r\n getData,\r\n removeData,\r\n getClassStudents,\r\n goToUserDetail\r\n }\r\n}\r\n\r\nexport default useClassList\r\n","import { setAlert, setLoading } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { create, getById, update } from \"../../../services/classService\"\r\n\r\ntype ClassDetail = {\r\n id?: 0\r\n name: string\r\n studentIds: number[]\r\n teacherId: number\r\n}\r\n\r\nconst initValue: ClassDetail = {\r\n name: \"\",\r\n studentIds: [],\r\n teacherId: 0\r\n}\r\n\r\nconst useClassDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState<number>(0)\r\n const [classDetail, setClassDetail] = useState<ClassDetail>(initValue)\r\n const [temporaryStudents, setTemporaryStudents] = useState<any>([])\r\n const [students, setStudents] = useState<any>([])\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n if (!!id) {\r\n getData()\r\n } else {\r\n reset()\r\n }\r\n }, [id])\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n const reset = () => {\r\n setClassDetail(initValue)\r\n setStudents([])\r\n setId(0)\r\n }\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res: any = await getById(id)\r\n const { id: classId, name, students, teacherId } = res.data\r\n setClassDetail({\r\n id: classId,\r\n name,\r\n studentIds: students.map((student: any) => student.studentId),\r\n teacherId\r\n })\r\n setStudents(students)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } class successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id, classDetail]\r\n )\r\n\r\n const onAddStudents = useCallback(() => {\r\n if (!temporaryStudents || !temporaryStudents.length) return\r\n setStudents([...students, ...temporaryStudents])\r\n setTemporaryStudents([])\r\n setEditedTrue()\r\n }, [students, temporaryStudents])\r\n\r\n const onRemoveStudent = useCallback(\r\n (studentId: string) => {\r\n setStudents(\r\n students.filter(\r\n (student: any) => student.studentId !== studentId\r\n )\r\n )\r\n setEditedTrue()\r\n },\r\n [students]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n classDetail,\r\n confirmData,\r\n initValue,\r\n temporaryStudents,\r\n setTemporaryStudents,\r\n students,\r\n onAddStudents,\r\n onRemoveStudent,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useClassDetail\r\n","import React, { FC, useRef } from \"react\"\r\nimport { useSelector } from \"react-redux\"\r\nimport { Row, Col, Table, Button } from \"reactstrap\"\r\nimport {\r\n AddButton,\r\n DeleteButtonIcon,\r\n LinkEditButton,\r\n EmptyDataAlert,\r\n CustomPagination,\r\n QuitPrompt\r\n} from \"mario-core\"\r\n\r\nimport ClassDetailModal from \"../components/ClassDetailModal\"\r\nimport ClassStudentModal from \"../components/ClassStudentModal\"\r\n\r\nimport useClassList from \"../hooks/useClassList\"\r\nimport useClassDetail from \"../hooks/useClassDetail\"\r\n\r\nconst header = \"Classes\"\r\nconst ADMIN = \"Admin\"\r\nconst ClassList: FC = () => {\r\n const modal = useRef<any>()\r\n const studentModal = useRef<any>()\r\n const user = useSelector((state: any) => state.common.user)\r\n const isAdmin = user && user.roles.includes(ADMIN)\r\n\r\n const {\r\n classList,\r\n totalItems,\r\n filters,\r\n students,\r\n getClassStudents,\r\n changeFilters,\r\n getData,\r\n removeData,\r\n goToUserDetail\r\n } = useClassList()\r\n\r\n const {\r\n id,\r\n setId,\r\n classDetail,\r\n confirmData,\r\n temporaryStudents,\r\n setTemporaryStudents,\r\n students: classDetailStudents,\r\n onAddStudents,\r\n onRemoveStudent,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useClassDetail()\r\n\r\n const openModal = (classId?: number) => {\r\n !!classId ? setId(classId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const openStudentModal = async (classId: number) => {\r\n await getClassStudents(classId)\r\n studentModal && studentModal.current && studentModal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n setId(0)\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n const onCancel = () => {\r\n reset()\r\n }\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <ClassDetailModal\r\n ref={modal}\r\n header={!!id ? \"Edit class\" : \"Create class\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n classDetail={classDetail}\r\n isAdmin={isAdmin}\r\n temporaryStudents={temporaryStudents}\r\n setTemporaryStudents={setTemporaryStudents}\r\n goToUserDetail={goToUserDetail}\r\n students={classDetailStudents}\r\n onAddStudents={onAddStudents}\r\n onRemoveStudent={onRemoveStudent}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <ClassStudentModal ref={studentModal} students={students} />\r\n\r\n <QuitPrompt when={edited} />\r\n <h5 className=\"mb-2\">{header}</h5>\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create class\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of classes: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {classList && classList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Class name</th>\r\n {isAdmin && <th>Teacher</th>}\r\n <th className=\"text-center\">Students</th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {classList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n {isAdmin && (\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.teacher?.name}\r\n onClick={() =>\r\n goToUserDetail(\r\n record.teacher\r\n ?.userId\r\n )\r\n }\r\n />\r\n </td>\r\n )}\r\n <td className=\"align-middle text-center\">\r\n <Button\r\n color=\"link\"\r\n onClick={() =>\r\n openStudentModal(record.id)\r\n }\r\n >\r\n {record.numberOfStudents}\r\n </Button>\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"class\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ClassList\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nexport const RUBRIC_URL = `${BASE_URL}/api/conferencerubric`\r\nconst SKILL_URL = `${BASE_URL}/api/skill`\r\n\r\nexport const get = (filter: Filter) => api.get(RUBRIC_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${RUBRIC_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(RUBRIC_URL, data)\r\n\r\nexport const update = (data: any) => api.put(`${RUBRIC_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${RUBRIC_URL}/${id}`)\r\n\r\nexport const getTypes = () => api.get(`${RUBRIC_URL}/types`)\r\n\r\nexport const getSkills = () => api.get(SKILL_URL)\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport { useHistory } from \"react-router-dom\"\r\nimport {\r\n setConferenceRubricList,\r\n setLoading,\r\n setModal,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/conferenceRubricService\"\r\n\r\nconst CREATE_RUBRIC_URL = \"/admin/create-conference-rubric\"\r\nconst CONFERENC_RUBRIC_URL = \"/admin/conference-rubric\"\r\nconst TITLE = \"Conference rubric list\"\r\nconst useConferenceRubricList = () => {\r\n const history = useHistory()\r\n const conferenceRubricList = useSelector(\r\n (state: any) => state.conferenceRubrics.conferenceRubricList\r\n )\r\n const totalItems = useSelector(\r\n (state: any) => state.conferenceRubrics.totalItems\r\n )\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(\r\n setConferenceRubricList({\r\n conferenceRubricList: items,\r\n totalItems\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message:\r\n \"Do you want to remove this conference rubric?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message:\r\n \"Remove conference rubric successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n const goToDetail = useCallback((id?: number) => {\r\n const url = !!id ? `${CONFERENC_RUBRIC_URL}/${id}` : CREATE_RUBRIC_URL\r\n history.push(url)\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n conferenceRubricList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData,\r\n goToDetail\r\n }\r\n}\r\n\r\nexport default useConferenceRubricList\r\n","export const CONFERENCE_RUBRIC_TYPES = {\r\n Default: \"None\",\r\n Balanced: \"Balanced\",\r\n GoalProgress: \"GoalProgress\",\r\n HabitsAttitudesTowardsLearning: \"Habits & Attitudes towards learning\",\r\n Custom: \"Custom\"\r\n}\r\n","import React, { FC } from \"react\"\r\nimport { Row, Col, Table } from \"reactstrap\"\r\nimport {\r\n DeleteButtonIcon,\r\n LinkEditButton,\r\n EmptyDataAlert,\r\n CustomPagination,\r\n SearchBoxContainer\r\n} from \"mario-core\"\r\n\r\nimport useConferenceRubricList from \"../hooks/useConferenceRubricList\"\r\nimport { CONFERENCE_RUBRIC_TYPES } from \"../../../utils/constants\"\r\n\r\nconst header = \"Conference rubric\"\r\nconst ConferenceRubricList: FC = () => {\r\n const {\r\n conferenceRubricList,\r\n totalItems,\r\n removeData,\r\n goToDetail,\r\n filters,\r\n changeFilters\r\n } = useConferenceRubricList()\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <Row className=\"my-2\">\r\n <Col md={5}>\r\n <h5>{header}</h5>\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={6}>\r\n <SearchBoxContainer\r\n text=\"Create rubric\"\r\n onClick={() => goToDetail()}\r\n initValue={filters.searchString}\r\n onSearch={(searchString?: any) =>\r\n changeFilters({ searchString })\r\n }\r\n placeholder=\"Type something to search rubric\"\r\n />\r\n </Col>\r\n <Col\r\n md={2}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of rubrics: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {conferenceRubricList && conferenceRubricList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"align-top\">Instruction</th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {conferenceRubricList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={\r\n CONFERENCE_RUBRIC_TYPES[\r\n record.name\r\n ]\r\n }\r\n onClick={() =>\r\n goToDetail(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.instruction}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"conference rubric\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ConferenceRubricList\r\n","import React, { FC, useState } from \"react\"\r\nimport { Input } from \"reactstrap\"\r\n\r\ninterface Props {\r\n value: string\r\n onChange: Function\r\n children?: any | null\r\n noMb?: boolean\r\n defaultValue?: string\r\n}\r\n\r\nconst ToggleInput: FC<Props> = ({\r\n value,\r\n onChange,\r\n children,\r\n noMb = false,\r\n defaultValue = \"\"\r\n}: Props) => {\r\n const [inputMode, setInputMode] = useState<boolean>(false)\r\n\r\n const closeInput = () => value && value.trim() && setInputMode(false)\r\n\r\n return inputMode ? (\r\n <Input\r\n className={!noMb ? \"mb-2\" : \"\"}\r\n value={value}\r\n autoFocus\r\n onChange={(e: any) => {\r\n onChange(e.target.value)\r\n }}\r\n onKeyUp={(e: any) => e.key === \"Enter\" && closeInput()}\r\n onBlur={closeInput}\r\n />\r\n ) : (\r\n <span onClick={() => setInputMode(true)}>\r\n {children || <span>{value || defaultValue}</span>}\r\n </span>\r\n )\r\n}\r\n\r\nexport default ToggleInput\r\n","import React, { FC } from \"react\"\r\nimport { Table, Input } from \"reactstrap\"\r\nimport { DeleteButtonIcon } from \"mario-core\"\r\n\r\nimport { ConferenceRubricItem } from \"../configs/types\"\r\nimport styles from \"../../../styles.module.css\"\r\n\r\nimport ToggleInput from \"../../../components/Input/ToggleInput\"\r\n\r\ninterface Props {\r\n conferenceRubricItem: ConferenceRubricItem\r\n removeItem: Function\r\n changeConferenceRubricItemRowText: Function\r\n changeConferenceRubricItemColumnText: Function\r\n addConferenceRubricItemRow: Function\r\n removeConferenceRubricItemRow: Function\r\n newRowTexts: any\r\n changeNewRowText: Function\r\n}\r\n\r\nconst columns = [\r\n { text: \"(7)\" },\r\n { text: \"(6-5)\" },\r\n { text: \"(5-4)\" },\r\n { text: \"(3)\" },\r\n { text: \"(2-1)\" },\r\n { text: \"\" }\r\n]\r\n\r\nconst backgroundColor = \"#1c77ac\"\r\n\r\nconst ConferenceRubricItem: FC<Props> = ({\r\n conferenceRubricItem,\r\n removeItem,\r\n changeConferenceRubricItemColumnText,\r\n changeConferenceRubricItemRowText,\r\n newRowTexts,\r\n changeNewRowText,\r\n addConferenceRubricItemRow,\r\n removeConferenceRubricItemRow\r\n}: Props) => {\r\n if (!conferenceRubricItem || !conferenceRubricItem.skill?.id) return null\r\n\r\n const onKeyUp = (e: any) => (skillId: number) => {\r\n if (e.key === \"Enter\") {\r\n addConferenceRubricItemRow(skillId)\r\n }\r\n }\r\n\r\n return (\r\n <div className=\"mb-2\">\r\n <Table responsive hover striped bordered>\r\n <thead>\r\n <tr>\r\n <th className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n removeItem(conferenceRubricItem.skillId)\r\n }\r\n />\r\n </th>\r\n <th\r\n className={`text-center align-middle text-white ${styles[\"conference-rubric-skill-column\"]}`}\r\n style={{ backgroundColor }}\r\n >\r\n {conferenceRubricItem.skill?.name}\r\n </th>\r\n {columns.map((column, index) => (\r\n <th key={index} className=\"text-center align-top\">\r\n <ToggleInput\r\n value={\r\n conferenceRubricItem.columns[index]\r\n ?.text\r\n }\r\n onChange={(value: string) =>\r\n changeConferenceRubricItemColumnText(\r\n conferenceRubricItem.skillId,\r\n index,\r\n value\r\n )\r\n }\r\n noMb\r\n />\r\n <br />\r\n {column.text}\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {conferenceRubricItem.rows.map((row, index) => (\r\n <tr key={row.id || row.guid}>\r\n <td className=\"text-center\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n removeConferenceRubricItemRow(\r\n conferenceRubricItem.skillId,\r\n row.id || row.guid\r\n )\r\n }\r\n />\r\n </td>\r\n <td\r\n className={styles[\"conference-rubric-row-test\"]}\r\n >\r\n <ToggleInput\r\n value={row.text}\r\n onChange={(value: string) =>\r\n changeConferenceRubricItemRowText(\r\n conferenceRubricItem.skillId,\r\n index,\r\n value\r\n )\r\n }\r\n noMb\r\n />\r\n </td>\r\n {columns.map(column => (\r\n <td key={column.text} />\r\n ))}\r\n </tr>\r\n ))}\r\n <tr className={styles[\"conference-rubric-additional-row\"]}>\r\n <td />\r\n <td>\r\n <Input\r\n placeholder=\"Type and press Enter to add new row\"\r\n value={\r\n newRowTexts.find(\r\n (item: any) =>\r\n item.skillId ===\r\n conferenceRubricItem.skillId\r\n )?.text\r\n }\r\n onChange={(e: any) =>\r\n changeNewRowText(\r\n conferenceRubricItem.skillId,\r\n e.target.value\r\n )\r\n }\r\n onKeyUp={(e: any) =>\r\n onKeyUp(e)(\r\n conferenceRubricItem.skillId as number\r\n )\r\n }\r\n />\r\n </td>\r\n <td colSpan={columns.length} />\r\n </tr>\r\n </tbody>\r\n </Table>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ConferenceRubricItem\r\n","import React, { FC } from \"react\"\r\nimport { DeleteButtonIcon, getTextFromHTML, EmptyDataAlert } from \"mario-core\"\r\nimport { Table } from \"reactstrap\"\r\n\r\nimport styles from \"../../styles.module.css\"\r\n\r\ninterface Props {\r\n questions: object[]\r\n onRemove: Function\r\n}\r\n\r\nconst QuestionList: FC<Props> = ({ questions, onRemove }: Props) => {\r\n return (\r\n <div\r\n className={`overflow-y-auto ${styles[\"question-list-session-template\"]}`}\r\n >\r\n {!!questions && !!questions.length ? (\r\n <Table responsive hover striped size=\"sm\" bordered>\r\n <tbody>\r\n {questions.map((question: any) => (\r\n <tr key={question.id}>\r\n <td>{getTextFromHTML(question.text)}</td>\r\n <td\r\n className={`text-center ${styles[\"delete-column-question-list-sesstion-template\"]}`}\r\n >\r\n {!question.isDefaultQuestion ? (\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(question.id)\r\n }\r\n />\r\n ) : (\r\n <i>Mandatory</i>\r\n )}\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"question\" />\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default QuestionList\r\n","import React, { FC, useState, useEffect, useCallback } from \"react\"\r\nimport { CustomSelector } from \"mario-core\"\r\n\r\nimport { getSkills } from \"../../../services/conferenceRubricService\"\r\n\r\ninterface Props {\r\n defaultValue?: number\r\n onChange: Function\r\n externalIds: number[]\r\n}\r\n\r\nconst SkillSelector: FC<Props> = ({\r\n defaultValue,\r\n onChange,\r\n externalIds\r\n}: Props) => {\r\n const [skillList, setSkillList] = useState<any>([])\r\n\r\n const getData = useCallback(async () => {\r\n try {\r\n const res = await getSkills()\r\n setSkillList(res.data.items)\r\n } catch (err) {\r\n console.error(err.response?.data?.title || err.message)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [])\r\n\r\n const options = skillList\r\n .filter((item: any) => !externalIds.includes(item.id))\r\n .map((item: any) => ({\r\n label: item.path ? `${item.path}/${item.name}` : item.name,\r\n value: item.id,\r\n id: item.id,\r\n name: item.name\r\n }))\r\n\r\n const value =\r\n (defaultValue &&\r\n options.filter((option: any) => option.value === defaultValue)) ||\r\n null\r\n\r\n return (\r\n <CustomSelector\r\n options={options}\r\n value={value}\r\n onChange={onChange}\r\n placeholder=\"Select skill\"\r\n />\r\n )\r\n}\r\n\r\nexport default SkillSelector\r\n","import { api, BASE_URL } from \"mario-core\"\r\n\r\nconst QUESTION_URL = `${BASE_URL}/api/question`\r\n\r\nexport const get = (filter: any) => api.get(QUESTION_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${QUESTION_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(QUESTION_URL, data)\r\n\r\nexport const update = (data: any) => api.put(`${QUESTION_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${QUESTION_URL}/${id}`)\r\n\r\nexport const getDefaultQuestions = () => api.get(`${QUESTION_URL}/default`)\r\n\r\nexport const updateOrderDragQuestions = (data: any) =>\r\n api.put(`${QUESTION_URL}/orderDefaultQuestion`, data)\r\n","import React, { FC, useState, useEffect, useCallback } from \"react\"\r\nimport { CustomSelector, getTextFromHTML } from \"mario-core\"\r\n\r\nimport { get } from \"../../services/questionService\"\r\n\r\ninterface Props {\r\n categoryId: number\r\n onChange: Function\r\n value: any | null\r\n externalQuestionIds: number[]\r\n}\r\n\r\ninterface Option {\r\n label: string\r\n value: number\r\n text: string\r\n id: number\r\n}\r\n\r\nconst QuestionSelector: FC<Props> = ({\r\n value,\r\n categoryId,\r\n onChange,\r\n externalQuestionIds\r\n}: Props) => {\r\n const [questions, setQuestions] = useState<any>([])\r\n\r\n const getData = useCallback(async () => {\r\n try {\r\n const res = await get({ categoryId })\r\n setQuestions(res.data?.items)\r\n } catch (err) {\r\n console.error(err.response?.data?.title || err.message)\r\n }\r\n }, [categoryId])\r\n\r\n useEffect(() => {\r\n !!categoryId ? getData() : setQuestions([])\r\n }, [categoryId])\r\n\r\n const options: Option = questions\r\n .filter((item: any) => !externalQuestionIds.includes(item.id))\r\n .map((item: any) => {\r\n const pureText = getTextFromHTML(item.text)\r\n const shortenPureText =\r\n pureText.length < 100\r\n ? pureText\r\n : `${pureText.slice(0, 100)}...`\r\n return {\r\n value: item.id,\r\n label: shortenPureText,\r\n text: item.text,\r\n id: item.id\r\n }\r\n })\r\n\r\n return (\r\n <CustomSelector\r\n options={options}\r\n onChange={onChange}\r\n value={value}\r\n placeholder=\"Select questions\"\r\n />\r\n )\r\n}\r\n\r\nexport default QuestionSelector\r\n","import React, { FC, useState, useEffect, useCallback } from \"react\"\r\nimport { CustomSelector } from \"mario-core\"\r\n\r\nimport { getTypes } from \"../../../services/conferenceRubricService\"\r\nimport { CONFERENCE_RUBRIC_TYPES } from \"../../../utils/constants\"\r\n\r\ninterface Props {\r\n defaultValue?: string | null\r\n onChange: Function\r\n}\r\n\r\nconst ConferenceRubricTypeSelector: FC<Props> = ({\r\n defaultValue,\r\n onChange\r\n}: Props) => {\r\n const [types, setTypes] = useState<any>([])\r\n\r\n const getData = useCallback(async () => {\r\n try {\r\n const res = await getTypes()\r\n setTypes(\r\n res.data.map((item: any) => ({\r\n label: CONFERENCE_RUBRIC_TYPES[item],\r\n value: item\r\n }))\r\n )\r\n } catch (err) {\r\n console.error(err.response?.data?.title || err.message)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [])\r\n\r\n const value =\r\n (defaultValue &&\r\n types.filter((option: any) => option.value === defaultValue)) ||\r\n null\r\n\r\n return (\r\n <CustomSelector\r\n options={types}\r\n value={value}\r\n onChange={onChange}\r\n placeholder=\"Select type\"\r\n />\r\n )\r\n}\r\n\r\nexport default ConferenceRubricTypeSelector\r\n","export enum RubricItemColumnOrder {\r\n Default,\r\n Order1,\r\n Order2,\r\n Order3,\r\n Order4,\r\n Order5,\r\n Order6\r\n}\r\n\r\nexport type ConferenceRubric = {\r\n id?: number | null\r\n name: string | null\r\n instruction: string\r\n conferenceRubricItems: ConferenceRubricItem[]\r\n questions: ConferenceRubricQuestion[]\r\n}\r\n\r\nexport type ConferenceRubricItem = {\r\n id?: number | null\r\n skillId?: number | null\r\n skill?: ConferenceRubricSkill\r\n columns: ConferenceRubricItemColumn[]\r\n rows: ConferenceRubricItemRow[]\r\n}\r\n\r\nexport type ConferenceRubricSkill = {\r\n id: number\r\n name: string\r\n}\r\n\r\nexport type ConferenceRubricItemRow = {\r\n id?: number | null\r\n text: string\r\n // only use for react mapping\r\n guid?: string\r\n}\r\n\r\nexport type ConferenceRubricItemColumn = {\r\n id?: number | null\r\n order: RubricItemColumnOrder\r\n text: string\r\n}\r\n\r\nexport type ConferenceRubricQuestion = {\r\n id: number\r\n text: string\r\n}\r\n\r\nexport const initValue: ConferenceRubric = {\r\n name: null,\r\n instruction: \"\",\r\n conferenceRubricItems: [],\r\n questions: []\r\n}\r\n\r\nexport const conferenceRubricItemColumns: ConferenceRubricItemColumn[] = [\r\n {\r\n order: RubricItemColumnOrder.Order1,\r\n text: \"Header 1\"\r\n },\r\n {\r\n order: RubricItemColumnOrder.Order2,\r\n text: \"Header 2\"\r\n },\r\n {\r\n order: RubricItemColumnOrder.Order3,\r\n text: \"Header 3\"\r\n },\r\n {\r\n order: RubricItemColumnOrder.Order4,\r\n text: \"Header 4\"\r\n },\r\n {\r\n order: RubricItemColumnOrder.Order5,\r\n text: \"Header 5\"\r\n },\r\n {\r\n order: RubricItemColumnOrder.Order6,\r\n text: \"Header 6\"\r\n }\r\n]\r\n\r\nexport const conferenceRubricItemRow: ConferenceRubricItemRow = {\r\n text: \"\"\r\n}\r\n","import { useState, useEffect, useCallback, useMemo } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { useHistory } from \"react-router-dom\"\r\nimport {\r\n setLoading,\r\n setAlert,\r\n generateRandomString,\r\n setModal,\r\n getTextFromHTML\r\n} from \"mario-core\"\r\nimport _ from \"lodash\"\r\n\r\nimport {\r\n getById,\r\n create,\r\n update\r\n} from \"../../../services/conferenceRubricService\"\r\n\r\nimport {\r\n ConferenceRubric,\r\n ConferenceRubricItem,\r\n ConferenceRubricItemRow,\r\n ConferenceRubricQuestion,\r\n ConferenceRubricSkill,\r\n initValue,\r\n conferenceRubricItemColumns\r\n} from \"../configs/types\"\r\n\r\nconst RUBRIC_URL = \"/admin/conference-rubric\"\r\nconst CREATE_RUBRIC_TITLE = \"Create conference rubric\"\r\n\r\nconst useConferenceRubricDetail = (id?: number | null) => {\r\n const dispatch = useDispatch()\r\n\r\n const history = useHistory()\r\n\r\n const [\r\n conferenceRubricDetail,\r\n setConferenceRubricDetail\r\n ] = useState<ConferenceRubric>(initValue)\r\n\r\n const changeConferenceRubricDetail = (valueObject: object) => {\r\n setConferenceRubricDetail({\r\n ...conferenceRubricDetail,\r\n ...valueObject\r\n })\r\n }\r\n\r\n const [newRowTexts, setNewRowTexts] = useState<any>([])\r\n const changeNewRowText = useCallback(\r\n (skillId, text) => {\r\n const newRowTextsCloner = [...newRowTexts]\r\n const thisRow = newRowTextsCloner.find(\r\n (item: any) => item.skillId === skillId\r\n )\r\n thisRow.text = text\r\n setNewRowTexts(newRowTextsCloner)\r\n },\r\n [newRowTexts]\r\n )\r\n const [\r\n temporarySkill,\r\n setTemporarySkill\r\n ] = useState<ConferenceRubricSkill | null>(null)\r\n\r\n const [categoryId, setCategoryId] = useState<number>(0)\r\n const [\r\n temporaryQuestion,\r\n setTemporaryQuestion\r\n ] = useState<ConferenceRubricQuestion | null>(null)\r\n\r\n const [checked, setChecked] = useState(false)\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n useEffect(() => {\r\n if (!!id) {\r\n getData()\r\n } else {\r\n document.title = CREATE_RUBRIC_TITLE\r\n }\r\n setEdited(false)\r\n if (!!localStorage.getItem(window.location.href))\r\n localStorage.removeItem(window.location.href)\r\n }, [])\r\n\r\n useEffect(() => {\r\n setNewRowTexts(\r\n conferenceRubricDetail.conferenceRubricItems.map(item => ({\r\n skillId: item.skillId,\r\n text: \"\"\r\n }))\r\n )\r\n }, [conferenceRubricDetail.conferenceRubricItems])\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n const res = await getById(id as number)\r\n setConferenceRubricDetail(res.data)\r\n document.title = res.data?.name\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const backToList = useCallback(() => {\r\n history.push(RUBRIC_URL)\r\n }, [])\r\n\r\n const confirmData = useCallback(async () => {\r\n const {\r\n name,\r\n instruction,\r\n conferenceRubricItems,\r\n questions\r\n } = conferenceRubricDetail\r\n\r\n try {\r\n dispatch(setLoading(true))\r\n setChecked(true)\r\n if (!name || !name.trim()) return\r\n if (!instruction || !instruction.trim()) return\r\n if (!questions.length) return\r\n if (!conferenceRubricItems || !conferenceRubricItems.length) return\r\n if (\r\n conferenceRubricItems.some(\r\n item =>\r\n !item.rows.length ||\r\n item.rows.some(row => !row.text || !row.text.trim()) ||\r\n !item.columns.length ||\r\n item.columns.some(col => !col.text || !col.text.trim())\r\n )\r\n )\r\n return\r\n\r\n const next = !!id ? update : create\r\n await next(conferenceRubricDetail)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } conference rubric successfully`\r\n })\r\n )\r\n setEdited(false)\r\n if (!!localStorage.getItem(window.location.href))\r\n localStorage.removeItem(window.location.href)\r\n backToList()\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n } finally {\r\n dispatch(setLoading(false))\r\n }\r\n }, [id, conferenceRubricDetail])\r\n\r\n const addItem = useCallback(() => {\r\n if (!temporarySkill) return\r\n const newConferenceRubricItem: ConferenceRubricItem = {\r\n skillId: temporarySkill?.id,\r\n skill: temporarySkill as ConferenceRubricSkill,\r\n columns: JSON.parse(JSON.stringify(conferenceRubricItemColumns)),\r\n rows: []\r\n }\r\n changeConferenceRubricDetail({\r\n conferenceRubricItems: [\r\n ...conferenceRubricDetail.conferenceRubricItems,\r\n newConferenceRubricItem\r\n ]\r\n })\r\n setTemporarySkill(null)\r\n setEditedTrue()\r\n }, [conferenceRubricDetail.conferenceRubricItems, temporarySkill])\r\n\r\n const removeItem = useCallback(\r\n (skillId: number) => {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this item?\",\r\n onConfirm: () =>\r\n changeConferenceRubricDetail({\r\n conferenceRubricItems: conferenceRubricDetail.conferenceRubricItems.filter(\r\n item => item.skillId !== skillId\r\n )\r\n })\r\n })\r\n )\r\n setEditedTrue()\r\n },\r\n [conferenceRubricDetail.conferenceRubricItems]\r\n )\r\n\r\n const changeConferenceRubricItemRowText = useCallback(\r\n (skillId: number, rowIndex: number, text: string) => {\r\n const conferenceRubricItemsCloner = [\r\n ...conferenceRubricDetail.conferenceRubricItems\r\n ]\r\n const thisItem = conferenceRubricItemsCloner.find(\r\n item => item.skillId === skillId\r\n )\r\n if (thisItem && !!thisItem.rows[rowIndex]) {\r\n thisItem.rows[rowIndex].text = text\r\n changeConferenceRubricDetail({\r\n conferenceRubricItems: conferenceRubricItemsCloner\r\n })\r\n }\r\n setEditedTrue()\r\n },\r\n [conferenceRubricDetail.conferenceRubricItems]\r\n )\r\n\r\n const changeConferenceRubricItemColumnText = useCallback(\r\n (skillId: number, columnIndex: number, text: string) => {\r\n const conferenceRubricItemsCloner = [\r\n ...conferenceRubricDetail.conferenceRubricItems\r\n ]\r\n const thisItem = conferenceRubricItemsCloner.find(\r\n item => item.skillId === skillId\r\n )\r\n\r\n if (thisItem && !!thisItem.columns[columnIndex]) {\r\n thisItem.columns[columnIndex].text = text\r\n changeConferenceRubricDetail({\r\n conferenceRubricItems: conferenceRubricItemsCloner\r\n })\r\n }\r\n setEditedTrue()\r\n },\r\n [conferenceRubricDetail.conferenceRubricItems]\r\n )\r\n\r\n const addConferenceRubricItemRow = useCallback(\r\n (skillId: number) => {\r\n const thisRowText = newRowTexts.find(\r\n (item: any) => item.skillId === skillId\r\n )\r\n if (!thisRowText || !thisRowText.text.trim()) return\r\n const thisItemSkill = conferenceRubricDetail.conferenceRubricItems.find(\r\n item => item.skillId == skillId\r\n )\r\n console.log({ thisItemSkill })\r\n\r\n if (!thisItemSkill) return\r\n if (\r\n thisItemSkill.rows.some(\r\n row => row.text.trim() === thisRowText.text.trim()\r\n )\r\n )\r\n return\r\n\r\n const newRow: ConferenceRubricItemRow = {\r\n guid: generateRandomString(),\r\n text: thisRowText.text.trim()\r\n }\r\n\r\n const conferenceRubricItemsCloner = [\r\n ...conferenceRubricDetail.conferenceRubricItems\r\n ]\r\n const thisItem = conferenceRubricItemsCloner.find(\r\n item => item.skillId === skillId || item.skill?.id === skillId\r\n )\r\n if (thisItem) {\r\n thisItem.rows.push(newRow)\r\n changeConferenceRubricDetail({\r\n conferenceRubricItems: conferenceRubricItemsCloner\r\n })\r\n }\r\n setEditedTrue()\r\n },\r\n [conferenceRubricDetail.conferenceRubricItems, newRowTexts]\r\n )\r\n\r\n const removeConferenceRubricRow = useCallback(\r\n (skillId: number, rowId: number | string) => {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this row?\",\r\n onConfirm: () => {\r\n const conferenceRubricItemsCloner = [\r\n ...conferenceRubricDetail.conferenceRubricItems\r\n ]\r\n const thisItem = conferenceRubricItemsCloner.find(\r\n item => item.skillId === skillId\r\n )\r\n if (thisItem) {\r\n thisItem.rows = thisItem.rows.filter(\r\n row => row.guid !== rowId && row.id !== rowId\r\n )\r\n changeConferenceRubricDetail({\r\n conferenceRubricItems: conferenceRubricItemsCloner\r\n })\r\n }\r\n }\r\n })\r\n )\r\n setEditedTrue()\r\n },\r\n [conferenceRubricDetail.conferenceRubricItems]\r\n )\r\n\r\n const addQuestion = useCallback(() => {\r\n if (!temporaryQuestion) return\r\n changeConferenceRubricDetail({\r\n questions: [...conferenceRubricDetail.questions, temporaryQuestion]\r\n })\r\n setTemporaryQuestion(null)\r\n setEditedTrue()\r\n }, [conferenceRubricDetail.questions, temporaryQuestion])\r\n\r\n const removeQuestion = useCallback(\r\n (questionId: number) => {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this question?\",\r\n onConfirm: () => {\r\n changeConferenceRubricDetail({\r\n questions: conferenceRubricDetail.questions.filter(\r\n question => question.id !== questionId\r\n )\r\n })\r\n }\r\n })\r\n )\r\n setEditedTrue()\r\n },\r\n [conferenceRubricDetail]\r\n )\r\n\r\n const questionSelectorValue = useMemo(() => {\r\n if (!temporaryQuestion) return null\r\n const pureText = getTextFromHTML(temporaryQuestion.text)\r\n const shortenPureText =\r\n pureText.length < 100 ? pureText : `${pureText.slice(0, 100)}...`\r\n\r\n return {\r\n id: temporaryQuestion.id,\r\n value: temporaryQuestion.id,\r\n label: shortenPureText,\r\n text: temporaryQuestion.text\r\n }\r\n }, [temporaryQuestion])\r\n\r\n const rowColInvalid = useMemo(() => {\r\n return conferenceRubricDetail.conferenceRubricItems.some(\r\n item =>\r\n !item.rows.length ||\r\n item.rows.some(row => !row.text || !row.text.trim()) ||\r\n !item.columns.length ||\r\n item.columns.some(col => !col.text || !col.text.trim())\r\n )\r\n }, [conferenceRubricDetail.conferenceRubricItems])\r\n\r\n return {\r\n conferenceRubricDetail,\r\n temporarySkill,\r\n setTemporarySkill,\r\n newRowTexts,\r\n changeNewRowText,\r\n confirmData,\r\n backToList,\r\n addItem,\r\n removeItem,\r\n changeConferenceRubricDetail,\r\n changeConferenceRubricItemRowText,\r\n changeConferenceRubricItemColumnText,\r\n addConferenceRubricItemRow,\r\n removeConferenceRubricRow,\r\n addQuestion,\r\n removeQuestion,\r\n categoryId,\r\n setCategoryId,\r\n temporaryQuestion,\r\n setTemporaryQuestion,\r\n questionSelectorValue,\r\n checked,\r\n rowColInvalid,\r\n edited,\r\n setEdited,\r\n setEditedTrue\r\n }\r\n}\r\n\r\nexport default useConferenceRubricDetail\r\n","import React from \"react\"\r\nimport { Row, Col, Input, Button } from \"reactstrap\"\r\nimport { useParams } from \"react-router-dom\"\r\nimport {\r\n DetailActionButtons,\r\n QuestionCategorySelector,\r\n RequiredLabel,\r\n ErrorHandler,\r\n QuitPrompt\r\n} from \"mario-core\"\r\n\r\nimport ConferenceRubricItem from \"../components/ConferenceRubricItem\"\r\nimport QuestionList from \"../../../components/Questions/QuestionList\"\r\nimport SkillSelector from \"../components/SkillSelector\"\r\nimport QuestionSelector from \"../../../components/Questions/QuestionSelector\"\r\nimport ConferenceRubricTypeSelector from \"../components/ConferenceRubricTypeSelector\"\r\n\r\nimport useConferenceRubricDetail from \"../hooks/useConferenceRubricDetail\"\r\n\r\nconst ConferenceRubricDetail = () => {\r\n const { id } = useParams<{ id: string }>()\r\n const {\r\n conferenceRubricDetail,\r\n changeConferenceRubricDetail,\r\n changeConferenceRubricItemColumnText,\r\n changeConferenceRubricItemRowText,\r\n backToList,\r\n confirmData,\r\n newRowTexts,\r\n changeNewRowText,\r\n addConferenceRubricItemRow,\r\n removeConferenceRubricRow,\r\n removeItem,\r\n addItem,\r\n temporarySkill,\r\n setTemporarySkill,\r\n categoryId,\r\n setCategoryId,\r\n setTemporaryQuestion,\r\n questionSelectorValue,\r\n addQuestion,\r\n removeQuestion,\r\n checked,\r\n rowColInvalid,\r\n edited,\r\n // setEdited,\r\n setEditedTrue\r\n } = useConferenceRubricDetail(!!id ? parseInt(id) : null)\r\n\r\n const confirmText = !!id ? \"Update\" : \"Create\"\r\n\r\n const {\r\n name,\r\n instruction,\r\n conferenceRubricItems,\r\n questions\r\n } = conferenceRubricDetail\r\n\r\n const header = `${confirmText} conference rubric`\r\n\r\n return (\r\n <div className=\"detail-buttons-padding\">\r\n <QuitPrompt when={edited} />\r\n <h5 className=\"mb-2\">{header}</h5>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n <RequiredLabel text=\"Type\" />\r\n <ConferenceRubricTypeSelector\r\n defaultValue={conferenceRubricDetail.name}\r\n onChange={(e: any) => {\r\n changeConferenceRubricDetail({\r\n name: e.value\r\n })\r\n setEditedTrue()\r\n }}\r\n />\r\n {checked && (!name || !name.trim()) && (\r\n <ErrorHandler text=\"Name is required\" />\r\n )}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-3\">\r\n <Col md={8}>\r\n <RequiredLabel text=\"Instruction\" />\r\n <Input\r\n type=\"textarea\"\r\n rows={3}\r\n placeholder=\"Instruction\"\r\n value={conferenceRubricDetail.instruction}\r\n onChange={(e: any) => {\r\n changeConferenceRubricDetail({\r\n instruction: e.target.value\r\n })\r\n setEditedTrue()\r\n }}\r\n />\r\n {checked && (!instruction || !instruction.trim()) && (\r\n <ErrorHandler text=\"Instruction is required\" />\r\n )}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-3\">\r\n <Col md={2}>\r\n <SkillSelector\r\n defaultValue={temporarySkill?.id}\r\n onChange={(e: any) => {\r\n setTemporarySkill({ id: e.id, name: e.name })\r\n setEditedTrue()\r\n }}\r\n externalIds={conferenceRubricDetail.conferenceRubricItems.map(\r\n item => item.skillId as number\r\n )}\r\n />\r\n </Col>\r\n <Col md={2}>\r\n <Button className=\"h-100\" color=\"success\" onClick={addItem}>\r\n Add item\r\n </Button>\r\n </Col>\r\n {checked &&\r\n (!conferenceRubricItems ||\r\n !conferenceRubricItems.length) && (\r\n <Col md={12}>\r\n <ErrorHandler text=\"Conference rubric items is empty\" />\r\n </Col>\r\n )}\r\n </Row>\r\n {conferenceRubricDetail.conferenceRubricItems.map(item => (\r\n <ConferenceRubricItem\r\n key={item.skill?.id}\r\n conferenceRubricItem={item}\r\n changeConferenceRubricItemColumnText={\r\n changeConferenceRubricItemColumnText\r\n }\r\n changeConferenceRubricItemRowText={\r\n changeConferenceRubricItemRowText\r\n }\r\n newRowTexts={newRowTexts}\r\n changeNewRowText={changeNewRowText}\r\n addConferenceRubricItemRow={addConferenceRubricItemRow}\r\n removeItem={removeItem}\r\n removeConferenceRubricItemRow={removeConferenceRubricRow}\r\n />\r\n ))}\r\n {checked && rowColInvalid && (\r\n <ErrorHandler text=\"Blank row or column\" />\r\n )}\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n <RequiredLabel text=\"Question list\" />\r\n {checked && (!questions || !questions.length) && (\r\n <ErrorHandler text=\"Question is required\" />\r\n )}\r\n </Col>\r\n <Col md={10} className=\"mb-2\">\r\n <Row>\r\n <Col md={4}>\r\n <QuestionCategorySelector\r\n id={categoryId}\r\n onChange={(e: any) => {\r\n setCategoryId(e.value)\r\n setEditedTrue()\r\n }}\r\n placeholder=\"Select question category\"\r\n />\r\n </Col>\r\n <Col md={6}>\r\n <QuestionSelector\r\n categoryId={categoryId}\r\n value={questionSelectorValue}\r\n onChange={(e: any) => {\r\n setTemporaryQuestion(e)\r\n setEditedTrue()\r\n }}\r\n externalQuestionIds={conferenceRubricDetail.questions.map(\r\n item => item.id\r\n )}\r\n />\r\n </Col>\r\n <Col md={2}>\r\n <Button\r\n color=\"success\"\r\n className=\"h-100 w-100\"\r\n onClick={addQuestion}\r\n >\r\n Add questions\r\n </Button>\r\n </Col>\r\n </Row>\r\n </Col>\r\n <Col md={10}>\r\n <QuestionList\r\n questions={conferenceRubricDetail.questions}\r\n onRemove={removeQuestion}\r\n />\r\n </Col>\r\n </Row>\r\n <DetailActionButtons\r\n confirmText={confirmText}\r\n onConfirm={confirmData}\r\n onCancel={backToList}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default ConferenceRubricDetail\r\n","import {\r\n CommonModal,\r\n CreatableSelector,\r\n RequiredLabel,\r\n SuggestionCategorySelector,\r\n ErrorHandler\r\n} from \"mario-core\"\r\nimport React, { forwardRef, useState } from \"react\"\r\nimport { Col, Input, Row } from \"reactstrap\"\r\n\r\nconst SuggestionDetailModal = (props: any, ref: any) => {\r\n const [checked, setChecked] = useState<boolean>(false)\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n onCancel,\r\n suggestionDetail,\r\n changeSuggestionDetail,\r\n inputValue,\r\n value,\r\n setValue,\r\n handleChange,\r\n handleInputChange,\r\n handleKeyDown,\r\n placeholder,\r\n keywords,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n\r\n const handleConfirm = () => {\r\n setChecked(true)\r\n const { description, categoryId } = suggestionDetail\r\n if (\r\n !description ||\r\n !description.trim() ||\r\n !categoryId ||\r\n !keywords ||\r\n !keywords.length\r\n ) {\r\n return\r\n }\r\n\r\n onConfirm()\r\n }\r\n\r\n const cancel = () => {\r\n setChecked(false)\r\n setValue([])\r\n onCancel()\r\n }\r\n\r\n const { description, categoryId } = suggestionDetail\r\n\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onConfirm={handleConfirm}\r\n onCancel={cancel}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Description\" />\r\n <Input\r\n type=\"textarea\"\r\n placeholder=\"Enter your description\"\r\n value={description}\r\n onChange={e => {\r\n changeSuggestionDetail({\r\n description: e.target.value\r\n })\r\n setEditedTrue()\r\n }}\r\n />\r\n {checked && (!description || !description.trim()) && (\r\n <ErrorHandler text=\"Description is required\" />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Category\" />\r\n <SuggestionCategorySelector\r\n onChange={(e: any) => {\r\n changeSuggestionDetail({\r\n categoryId: e.value\r\n })\r\n }}\r\n id={categoryId}\r\n />\r\n {checked && !categoryId && (\r\n <ErrorHandler text=\"Category is required\" />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Keywords\" />\r\n <CreatableSelector\r\n value={value}\r\n inputValue={inputValue}\r\n handleChange={(e: any) => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n handleInputChange={handleInputChange}\r\n handleKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n />\r\n {checked && (!keywords || !keywords.length) && (\r\n <ErrorHandler text=\"Keywords is required\" />\r\n )}\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n}\r\n\r\nexport default forwardRef(SuggestionDetailModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst SUGGESTION_URL = `${BASE_URL}/api/suggestion`\r\n\r\nexport const get = (filter: Filter) =>\r\n api.get(SUGGESTION_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${SUGGESTION_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(SUGGESTION_URL, data)\r\n\r\nexport const update = (data: any) =>\r\n api.put(`${SUGGESTION_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${SUGGESTION_URL}/${id}`)\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setSuggestionList,\r\n setLoading,\r\n setModal,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/suggestionService\"\r\n\r\nconst TITLE = \"Suggestion bank list\"\r\nconst useSuggestionList = () => {\r\n const suggestionList = useSelector(\r\n (state: any) => state.suggestionBank.suggestionList\r\n )\r\n const totalItems = useSelector(\r\n (state: any) => state.suggestionBank.totalItems\r\n )\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(setSuggestionList({ suggestionList: items, totalItems }))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this suggestion?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: \"Remove suggestion successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n const getKeywords = useCallback(keywords => {\r\n return keywords.suggestionKeywords\r\n .map((keyword: any) => keyword.text)\r\n .join(\", \")\r\n }, [])\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n suggestionList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData,\r\n getKeywords\r\n }\r\n}\r\n\r\nexport default useSuggestionList\r\n","import { useState, useEffect, useCallback } from \"react\"\r\n\r\nconst placeholder = \"Type something and press Enter to add keywords\"\r\n\r\nconst useKeywordList = (initKeywords: any) => {\r\n const [inputValue, setInputValue] = useState<string>(\"\")\r\n const [value, setValue] = useState<any>([])\r\n\r\n const [keywords, setKeywords] = useState<any>([])\r\n\r\n useEffect(() => {\r\n const newKeywords = value.map((item: any) => {\r\n const newKeyword: any = {}\r\n newKeyword.text = item.value\r\n item.id && (newKeyword.id = item.id)\r\n return newKeyword\r\n })\r\n\r\n setKeywords(newKeywords)\r\n }, [value])\r\n\r\n useEffect(() => {\r\n initKeywords && initKeywords.length > 0\r\n ? setValue(initKeywords)\r\n : reset()\r\n }, [initKeywords])\r\n\r\n const reset = useCallback(() => {\r\n setValue([])\r\n setInputValue(\"\")\r\n }, [])\r\n\r\n const createOption = useCallback(\r\n (label: string) => ({ label: label.trim(), value: label.trim() }),\r\n []\r\n )\r\n\r\n const handleChange = useCallback((newValue: any) => setValue(newValue), [])\r\n\r\n const handleInputChange = useCallback(\r\n (newInputValue: string) => setInputValue(newInputValue),\r\n []\r\n )\r\n\r\n const handleKeyDown = useCallback(\r\n (e: any) => {\r\n if (!inputValue) return\r\n if (!!value.find((item: any) => item.value === inputValue.trim()))\r\n return\r\n\r\n if (e.key === \"Enter\") {\r\n setValue([...value, createOption(inputValue)])\r\n setInputValue(\"\")\r\n }\r\n },\r\n [value, inputValue]\r\n )\r\n\r\n return {\r\n inputValue,\r\n value,\r\n setValue,\r\n handleChange,\r\n handleInputChange,\r\n handleKeyDown,\r\n placeholder,\r\n keywords\r\n }\r\n}\r\n\r\nexport default useKeywordList\r\n","import { useCallback, useEffect, useMemo, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { create, getById, update } from \"../../../services/suggestionService\"\r\nimport useKeywordList from \"./useKeywordList\"\r\nimport { setLoading, setAlert } from \"mario-core\"\r\n\r\ntype SuggestionDetail = {\r\n description: string\r\n suggestionKeywords?: any\r\n suggestionKeywordsToAdd?: any\r\n suggestionKeywordsToDelete?: any\r\n categoryId: any\r\n}\r\n\r\nconst initValue: SuggestionDetail = {\r\n description: \"\",\r\n suggestionKeywords: [],\r\n suggestionKeywordsToAdd: [],\r\n suggestionKeywordsToDelete: [],\r\n categoryId: 0\r\n}\r\n\r\nconst useSuggestionDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [suggestionDetail, setSuggestionDetail] = useState<SuggestionDetail>(\r\n initValue\r\n )\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n const initKeywords = useMemo(() => {\r\n return suggestionDetail.suggestionKeywords.map((keyword: any) => ({\r\n id: keyword.id,\r\n label: keyword.text,\r\n value: keyword.text\r\n }))\r\n }, [suggestionDetail.suggestionKeywords])\r\n\r\n const {\r\n inputValue,\r\n value,\r\n setValue,\r\n handleChange,\r\n handleInputChange,\r\n handleKeyDown,\r\n placeholder,\r\n keywords\r\n } = useKeywordList(initKeywords)\r\n\r\n useEffect(() => {\r\n !!id ? getData() : setSuggestionDetail(initValue)\r\n }, [id])\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const reset = () => {\r\n setSuggestionDetail(initValue)\r\n setId(0)\r\n }\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setSuggestionDetail({\r\n ...res.data,\r\n categoryId: res.data.suggestionCategory.id\r\n })\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const data = {\r\n ...suggestionDetail,\r\n suggestionKeywords: keywords\r\n }\r\n const next = !!id ? update : create\r\n\r\n await next(data)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } suggestion successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id, suggestionDetail, keywords]\r\n )\r\n\r\n const changeSuggestionDetail = (dataUpdated: any) =>\r\n setSuggestionDetail({\r\n ...suggestionDetail,\r\n ...dataUpdated\r\n })\r\n\r\n return {\r\n id,\r\n setId,\r\n suggestionDetail,\r\n changeSuggestionDetail,\r\n confirmData,\r\n initValue,\r\n inputValue,\r\n value,\r\n setValue,\r\n handleChange,\r\n handleInputChange,\r\n handleKeyDown,\r\n placeholder,\r\n keywords,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useSuggestionDetail\r\n","import React, { FC, useRef } from \"react\"\r\nimport { Row, Col, Table } from \"reactstrap\"\r\nimport {\r\n AddButton,\r\n DeleteButtonIcon,\r\n LinkEditButton,\r\n EmptyDataAlert,\r\n CustomPagination,\r\n QuitPrompt\r\n} from \"mario-core\"\r\n\r\nimport SuggestionDetailModal from \"../components/SuggestionDetailModal\"\r\n\r\nimport useSuggestionList from \"../hooks/useSuggestionList\"\r\nimport useSuggestionDetail from \"../hooks/useSuggestionDetail\"\r\n\r\nconst header = \"Suggestion bank\"\r\n\r\nconst SuggestionBankList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n suggestionList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData,\r\n getKeywords\r\n } = useSuggestionList()\r\n\r\n const {\r\n id,\r\n setId,\r\n suggestionDetail,\r\n changeSuggestionDetail,\r\n confirmData,\r\n initValue,\r\n inputValue,\r\n value,\r\n setValue,\r\n handleChange,\r\n handleInputChange,\r\n handleKeyDown,\r\n placeholder,\r\n keywords,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useSuggestionDetail()\r\n\r\n const openModal = (suggestionId?: number) => {\r\n !!suggestionId ? setId(suggestionId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = () => {\r\n confirmData(() => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n changeSuggestionDetail(initValue)\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onCancel = () => reset()\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <SuggestionDetailModal\r\n ref={modal}\r\n header={!!id ? \"Edit suggestion\" : \"Create suggestion\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n suggestionDetail={suggestionDetail}\r\n changeSuggestionDetail={changeSuggestionDetail}\r\n inputValue={inputValue}\r\n value={value}\r\n setValue={setValue}\r\n handleChange={handleChange}\r\n handleInputChange={handleInputChange}\r\n handleKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n keywords={keywords}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <h5 className=\"mb-2\">{header}</h5>\r\n <QuitPrompt when={edited} />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create suggestion\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of suggestions: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {suggestionList && suggestionList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Suggestion</th>\r\n <th className=\"align-top\">Category</th>\r\n <th className=\"align-top\">Keywords</th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {suggestionList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.description}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.suggestionCategory?.name}\r\n </td>\r\n <td className=\"align-middle\">\r\n {getKeywords(record)}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"suggestion\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SuggestionBankList\r\n","import React, { forwardRef } from \"react\"\r\nimport { Row, Col, Input, Label } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\nimport * as yup from \"yup\"\r\n\r\nimport { CommonModal, ErrorHandler, RequiredLabel } from \"mario-core\"\r\n\r\nconst StrategyDetailModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n strategyDetail,\r\n onCancel,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n const schema = yup.object({\r\n name: yup.string().required(\"Name is required\")\r\n })\r\n return (\r\n <Formik\r\n initialValues={strategyDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n resetForm\r\n } = formProps\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onCancel={() => {\r\n onCancel()\r\n resetForm()\r\n }}\r\n onConfirm={handleSubmit}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Strategy name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </Col>\r\n <Col md={12}>\r\n <Label>Description</Label>\r\n <Input\r\n type=\"textarea\"\r\n rows={5}\r\n name=\"description\"\r\n placeholder=\"Description\"\r\n value={values.description}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"description\")}\r\n />\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(StrategyDetailModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst STRATEGY_URL = `${BASE_URL}/api/learningstrategy`\r\n\r\nexport const get = (filter: Filter) => api.get(STRATEGY_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${STRATEGY_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(STRATEGY_URL, data)\r\n\r\nexport const update = (data: any) => api.put(`${STRATEGY_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${STRATEGY_URL}/${id}`)\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setStrategyList,\r\n setLoading,\r\n setModal,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/learningStrategyService\"\r\n\r\nconst TITLE = \"Learning strategy list\"\r\nconst useStrategyList = () => {\r\n const strategyList = useSelector(\r\n (state: any) => state.learningStrategy.strategyList\r\n )\r\n const totalItems = useSelector(\r\n (state: any) => state.learningStrategy.totalItems\r\n )\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(setStrategyList({ strategyList: items, totalItems }))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message:\r\n \"Do you want to remove this learning strategy?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message:\r\n \"Remove learning strategy successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n strategyList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useStrategyList\r\n","import { setAlert, setLoading } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport {\r\n create,\r\n getById,\r\n update\r\n} from \"../../../services/learningStrategyService\"\r\n\r\ntype StrategyDetail = {\r\n name: string\r\n description?: string\r\n}\r\n\r\nconst initValue: StrategyDetail = {\r\n name: \"\",\r\n description: \"\"\r\n}\r\n\r\nconst useStrategyDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [strategyDetail, setStrategyDetail] = useState<StrategyDetail>(\r\n initValue\r\n )\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n useEffect(() => {\r\n !!id ? getData() : setStrategyDetail(initValue)\r\n }, [id])\r\n\r\n const reset = () => {\r\n setStrategyDetail(initValue)\r\n setId(0)\r\n }\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setStrategyDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } learning strategy successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id, strategyDetail]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n strategyDetail,\r\n confirmData,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useStrategyDetail\r\n","import React, { FC, useRef } from \"react\"\r\nimport { Row, Col, Table } from \"reactstrap\"\r\nimport {\r\n AddButton,\r\n DeleteButtonIcon,\r\n LinkEditButton,\r\n EmptyDataAlert,\r\n CustomPagination,\r\n QuitPrompt\r\n} from \"mario-core\"\r\n\r\nimport StrategyDetailModal from \"../components/StrategyDetailModal\"\r\n\r\nimport useLearningStrategyList from \"../hooks/useLearningStrategyList\"\r\nimport useStrategyDetail from \"../hooks/useStrategyDetail\"\r\n\r\nconst LearningStrategyList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n strategyList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n } = useLearningStrategyList()\r\n\r\n const {\r\n id,\r\n setId,\r\n strategyDetail,\r\n confirmData,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useStrategyDetail()\r\n\r\n const openModal = (classId?: number) => {\r\n !!classId ? setId(classId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n\r\n const onCancel = () => reset()\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <StrategyDetailModal\r\n ref={modal}\r\n header={!!id ? \"Edit strategy\" : \"Create strategy\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onCancel={onCancel}\r\n onConfirm={onConfirm}\r\n strategyDetail={strategyDetail}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <QuitPrompt when={edited} />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create learning strategy\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of strategies: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {strategyList && strategyList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Strategy name</th>\r\n <th className=\"align-top\">Description</th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {strategyList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.description}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"strategy\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default LearningStrategyList\r\n","import {\r\n CommonModal,\r\n ErrorHandler,\r\n RequiredLabel,\r\n UploadFileButton\r\n} from \"mario-core\"\r\nimport { Formik } from \"formik\"\r\nimport React, { forwardRef } from \"react\"\r\nimport { Col, Input, Label, Row } from \"reactstrap\"\r\nimport * as yup from \"yup\"\r\n\r\nconst schema = yup.object({\r\n name: yup.string().required(\"Name is required\")\r\n})\r\n\r\nconst BadgeDetailModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n badgeDetail,\r\n onCancel,\r\n setFile,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n\r\n return (\r\n <Formik\r\n initialValues={badgeDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n resetForm\r\n } = formikProps\r\n\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={() => {\r\n onCancel()\r\n resetForm()\r\n }}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={6}>\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Description</Label>\r\n <Input\r\n type=\"textarea\"\r\n rows={5}\r\n name=\"description\"\r\n placeholder=\"Description\"\r\n value={values.description}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"description\")}\r\n />\r\n </Col>\r\n </Row>\r\n </Col>\r\n <Col md={6}>\r\n <Label>Badge image</Label>\r\n <UploadFileButton\r\n setFile={setFile}\r\n fileName={values.imgUrl}\r\n />\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(BadgeDetailModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst BADGE_URL = `${BASE_URL}/api/badge`\r\n\r\nexport const get = (filter: Filter) => api.get(BADGE_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${BADGE_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(BADGE_URL, data)\r\n\r\nexport const update = (data: any) => api.put(`${BADGE_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${BADGE_URL}/${id}`)\r\n","import { setAlert, setLoading, systemStudentBadge } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { create, getById, update } from \"../../../services/badgeService\"\r\n\r\ntype BadgeDetail = {\r\n name: string\r\n description: string\r\n imgUrl: string\r\n}\r\n\r\nconst initValue: BadgeDetail = {\r\n name: \"\",\r\n description: \"\",\r\n imgUrl: \"\"\r\n}\r\n\r\nconst useBadgeDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [badgeDetail, setBadgeDetail] = useState<BadgeDetail>(initValue)\r\n const [file, setFile] = useState<any>()\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id ? getData() : setBadgeDetail(initValue)\r\n }, [id])\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n const reset = () => {\r\n setBadgeDetail(initValue)\r\n setId(0)\r\n }\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setBadgeDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n if (!!file) {\r\n const formData = new FormData()\r\n const { name } = file\r\n formData.append(\"file\", file, name)\r\n const res = await systemStudentBadge(formData)\r\n const key = res?.data?.key\r\n values.imgUrl = key\r\n }\r\n\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } badge successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n setFile(null)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id, file]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n setFile,\r\n badgeDetail,\r\n confirmData,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useBadgeDetail\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setLoading,\r\n setModal,\r\n setBadgeList,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/badgeService\"\r\n\r\nconst TITLE = \"Student badge list\"\r\nconst useBadgeList = () => {\r\n const badgeList = useSelector((state: any) => state.badges.badgeList)\r\n const totalItems = useSelector((state: any) => state.badges.totalItems)\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(setBadgeList({ badgeList: items, totalItems }))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this badge?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove badge successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n badgeList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useBadgeList\r\n","import {\r\n AddButton,\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n LinkEditButton,\r\n CustomPagination,\r\n getFileUrl,\r\n QuitPrompt\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\n\r\nimport styles from \"../../../styles.module.css\"\r\n\r\nimport BadgeDetailModal from \"../components/BadgeDetailModal\"\r\nimport useBadgeDetail from \"../hooks/useBadgeDetail\"\r\nimport useBadgeList from \"../hooks/useBadgeList\"\r\n\r\nconst BadgeList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n badgeList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n } = useBadgeList()\r\n\r\n const {\r\n id,\r\n setId,\r\n badgeDetail,\r\n confirmData,\r\n setFile,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useBadgeDetail()\r\n\r\n const openModal = (badgeId?: number) => {\r\n !!badgeId ? setId(badgeId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n const onCancel = () => reset()\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <BadgeDetailModal\r\n ref={modal}\r\n header={!!id ? \"Edit badge\" : \"Create badge\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n badgeDetail={badgeDetail}\r\n setFile={setFile}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <QuitPrompt when={edited} />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create badge\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of badges: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {badgeList && badgeList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"text-center\">Icon</th>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"align-top\">Description</th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {badgeList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"text-center align-middle\">\r\n {record.imgUrl && (\r\n <img\r\n src={getFileUrl(\r\n record.imgUrl\r\n )}\r\n alt=\"badge-icon\"\r\n className={\r\n styles[\"badge-icon\"]\r\n }\r\n />\r\n )}\r\n </td>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.description}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"badge\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default BadgeList\r\n","import React, { forwardRef, useState } from \"react\"\r\nimport { Row, Col, Input, Label } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\nimport * as yup from \"yup\"\r\n\r\nimport {\r\n CommonModal,\r\n ErrorHandler,\r\n RequiredLabel,\r\n CreatableSelector\r\n} from \"mario-core\"\r\n\r\nconst schema = yup.object({\r\n name: yup.string().required(\"Name is required\")\r\n})\r\n\r\nconst GoalExampleDetailModal = (props: any, ref: any) => {\r\n const [checked, setChecked] = useState<boolean>(false)\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n goalExampleDetail,\r\n onCancel,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse,\r\n inputValue,\r\n value,\r\n setValue,\r\n handleChangeShortTermTargetE,\r\n handleInputChange,\r\n handleKeyDown,\r\n placeholder,\r\n shortTermTargetExamples\r\n } = props\r\n return (\r\n <Formik\r\n initialValues={goalExampleDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n setChecked(false)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n resetForm\r\n } = formikProps\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onConfirm={() => {\r\n setChecked(true)\r\n if (\r\n !shortTermTargetExamples ||\r\n !shortTermTargetExamples.length\r\n ) {\r\n return\r\n }\r\n handleSubmit()\r\n }}\r\n onCancel={() => {\r\n setValue([])\r\n onCancel()\r\n resetForm()\r\n }}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Description</Label>\r\n <Input\r\n type=\"textarea\"\r\n rows={5}\r\n name=\"description\"\r\n placeholder=\"Description\"\r\n value={values.description}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"description\")}\r\n />\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Short term target examples\" />\r\n <CreatableSelector\r\n value={value}\r\n inputValue={inputValue}\r\n handleChange={(e: any) => {\r\n handleChangeShortTermTargetE(e)\r\n setEditedTrue()\r\n }}\r\n handleInputChange={handleInputChange}\r\n handleKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n />\r\n {checked &&\r\n (!shortTermTargetExamples ||\r\n shortTermTargetExamples.length <=\r\n 0) && (\r\n <ErrorHandler text=\"Short term target examples is required\" />\r\n )}\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(GoalExampleDetailModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst GOAL_EXAMPLE_URL = `${BASE_URL}/api/goalExample`\r\n\r\nexport const get = (filter: Filter) =>\r\n api.get(GOAL_EXAMPLE_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${GOAL_EXAMPLE_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(`${GOAL_EXAMPLE_URL}`, data)\r\n\r\nexport const update = (data: any) =>\r\n api.put(`${GOAL_EXAMPLE_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${GOAL_EXAMPLE_URL}/${id}`)\r\n","import { useState, useEffect, useCallback } from \"react\"\r\n\r\nconst placeholder =\r\n \"Type something and press Enter to add short term target examples\"\r\n\r\nconst useShortTermTargetExampleList = (initShortTermtargetExamples: any) => {\r\n const [inputValue, setInputValue] = useState<string>(\"\")\r\n const [value, setValue] = useState<any>([])\r\n\r\n const [shortTermTargetExamples, setShortTermTargetExamples] = useState<any>(\r\n []\r\n )\r\n\r\n useEffect(() => {\r\n const newShortTermTargetExamples = value.map((item: any) => {\r\n const newShortTermTargetExample: any = {}\r\n newShortTermTargetExample.text = item.value\r\n item.id && (newShortTermTargetExample.id = item.id)\r\n return newShortTermTargetExample\r\n })\r\n\r\n setShortTermTargetExamples(newShortTermTargetExamples)\r\n }, [value])\r\n\r\n useEffect(() => {\r\n initShortTermtargetExamples && initShortTermtargetExamples.length > 0\r\n ? setValue(initShortTermtargetExamples)\r\n : reset()\r\n }, [initShortTermtargetExamples])\r\n\r\n const reset = useCallback(() => {\r\n setValue([])\r\n setInputValue(\"\")\r\n }, [])\r\n\r\n const createOption = useCallback((label: string) => {\r\n return {\r\n label: label.trim(),\r\n value: label.trim()\r\n }\r\n }, [])\r\n\r\n const handleChangeShortTermTargetE = useCallback(\r\n (newValue: any) => setValue(newValue),\r\n []\r\n )\r\n\r\n const handleInputChange = useCallback(\r\n (newInputValue: string) => setInputValue(newInputValue),\r\n []\r\n )\r\n\r\n const handleKeyDown = useCallback(\r\n (e: any) => {\r\n if (!inputValue) return\r\n if (!!value.find((item: any) => item.value === inputValue.trim()))\r\n return\r\n if (e.key === \"Enter\") {\r\n setValue([...value, createOption(inputValue)])\r\n setInputValue(\"\")\r\n }\r\n },\r\n [value, inputValue]\r\n )\r\n\r\n return {\r\n inputValue,\r\n value,\r\n setValue,\r\n handleChangeShortTermTargetE,\r\n handleInputChange,\r\n handleKeyDown,\r\n placeholder,\r\n shortTermTargetExamples\r\n }\r\n}\r\n\r\nexport default useShortTermTargetExampleList\r\n","import { setAlert, setLoading } from \"mario-core\"\r\nimport { useCallback, useEffect, useState, useMemo } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { create, getById, update } from \"../../../services/goalExampleService\"\r\nimport useShortTermTargetExampleList from \"./useShortTermTargetExampleList\"\r\n\r\ntype GoalExampleDetail = {\r\n name: string\r\n description: string\r\n shortTermTargetExamples: any\r\n}\r\n\r\nconst initValue: GoalExampleDetail = {\r\n name: \"\",\r\n description: \"\",\r\n shortTermTargetExamples: []\r\n}\r\n\r\nconst useGoalExampleDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [\r\n goalExampleDetail,\r\n setGoalExampleDetail\r\n ] = useState<GoalExampleDetail>(initValue)\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id ? getData() : setGoalExampleDetail(initValue)\r\n }, [id])\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const reset = () => {\r\n setGoalExampleDetail(initValue)\r\n setId(0)\r\n }\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setGoalExampleDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const initShortTermTargetExamples = useMemo(() => {\r\n return goalExampleDetail.shortTermTargetExamples.map(\r\n (keyword: any) => ({\r\n id: keyword.id,\r\n label: keyword.text,\r\n value: keyword.text\r\n })\r\n )\r\n }, [goalExampleDetail.shortTermTargetExamples])\r\n\r\n const {\r\n inputValue,\r\n value,\r\n setValue,\r\n handleChangeShortTermTargetE,\r\n handleInputChange,\r\n handleKeyDown,\r\n placeholder,\r\n shortTermTargetExamples\r\n } = useShortTermTargetExampleList(initShortTermTargetExamples)\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const data = {\r\n ...values,\r\n shortTermTargetExamples\r\n }\r\n const next = !!id ? update : create\r\n\r\n await next(data)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } goal example successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id, goalExampleDetail, shortTermTargetExamples]\r\n )\r\n return {\r\n id,\r\n setId,\r\n goalExampleDetail,\r\n confirmData,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse,\r\n inputValue,\r\n value,\r\n setValue,\r\n handleChangeShortTermTargetE,\r\n handleInputChange,\r\n handleKeyDown,\r\n placeholder,\r\n shortTermTargetExamples\r\n }\r\n}\r\n\r\nexport default useGoalExampleDetail\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setLoading,\r\n setModal,\r\n setGoalExampleList,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/goalExampleService\"\r\n\r\nconst TITLE = \"Goal example list\"\r\nconst useGoalExampleList = () => {\r\n const goalExampleList = useSelector(\r\n (state: any) => state.goalExamples.goalExampleList\r\n )\r\n\r\n const totalItems = useSelector(\r\n (state: any) => state.goalExamples.totalItems\r\n )\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(setGoalExampleList({ goalExampleList: items, totalItems }))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const getShortTermTargetExamples = useCallback(shortTermTargetExamples => {\r\n return shortTermTargetExamples\r\n .map((keyword: any) => keyword.text)\r\n .join(\", \")\r\n }, [])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this goal example?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove question successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n goalExampleList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData,\r\n getShortTermTargetExamples\r\n }\r\n}\r\n\r\nexport default useGoalExampleList\r\n","import {\r\n AddButton,\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n LinkEditButton,\r\n CustomPagination,\r\n QuitPrompt\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\nimport GoalExampleDetailModal from \"../components/GoalExampleDetailModal\"\r\nimport useGoalExampleDetail from \"../hooks/useGoalExampleDetail\"\r\nimport useGoalExampleList from \"../hooks/useGoalExampleList\"\r\n\r\nconst GoalExampleList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n goalExampleList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData,\r\n getShortTermTargetExamples\r\n } = useGoalExampleList()\r\n\r\n const {\r\n id,\r\n setId,\r\n goalExampleDetail,\r\n confirmData,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse,\r\n inputValue,\r\n value,\r\n setValue,\r\n handleChangeShortTermTargetE,\r\n handleInputChange,\r\n handleKeyDown,\r\n placeholder,\r\n shortTermTargetExamples\r\n } = useGoalExampleDetail()\r\n\r\n const openModal = (goalExampleId?: number) => {\r\n !!goalExampleId ? setId(goalExampleId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n\r\n const onCancel = () => reset()\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <GoalExampleDetailModal\r\n ref={modal}\r\n header={!!id ? \"Edit goal example\" : \"Create goal example\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n goalExampleDetail={goalExampleDetail}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n inputValue={inputValue}\r\n value={value}\r\n setValue={setValue}\r\n handleChangeShortTermTargetE={handleChangeShortTermTargetE}\r\n handleInputChange={handleInputChange}\r\n handleKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n shortTermTargetExamples={shortTermTargetExamples}\r\n />\r\n <QuitPrompt when={edited} />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create goal example\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of goal examples: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {goalExampleList && goalExampleList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"align-top\">Description</th>\r\n <th className=\"align-top\">\r\n Short term target examples\r\n </th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {goalExampleList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.description}\r\n </td>\r\n <td className=\"align-middle\">\r\n {getShortTermTargetExamples(\r\n record.shortTermTargetExamples\r\n )}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"goal example\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default GoalExampleList\r\n","import React, { forwardRef } from \"react\"\r\nimport { Row, Col, Input, Label } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\nimport * as yup from \"yup\"\r\n\r\nimport styles from \"../../../styles.module.css\"\r\n\r\nimport { CommonModal, ErrorHandler, RequiredLabel } from \"mario-core\"\r\n\r\nconst schema = yup.object({\r\n name: yup.string().required(\"Name is required\")\r\n})\r\n\r\nconst SubjectDetailModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n subjectDetail,\r\n onCancel,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n return (\r\n <Formik\r\n initialValues={subjectDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n resetForm\r\n } = formikProps\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onCancel={() => {\r\n onCancel()\r\n resetForm()\r\n }}\r\n onConfirm={handleSubmit}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Color</Label>\r\n <div>\r\n <input\r\n type=\"color\"\r\n className={styles[\"input-color-picker\"]}\r\n name=\"color\"\r\n value={values.color}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n />\r\n </div>\r\n </Col>\r\n <Col md={12}>\r\n <Label>Description</Label>\r\n <Input\r\n type=\"textarea\"\r\n rows={5}\r\n name=\"description\"\r\n placeholder=\"Description\"\r\n value={values.description}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"description\")}\r\n />\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(SubjectDetailModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\nconst SUBJECT_URL = `${BASE_URL}/api/Subject`\r\n\r\nexport const get = (filter?: Filter) => api.get(SUBJECT_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${SUBJECT_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(SUBJECT_URL, data)\r\n\r\nexport const update = (data: any) => api.put(`${SUBJECT_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${SUBJECT_URL}/${id}`)\r\n","import { setAlert, setLoading } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { create, getById, update } from \"../../../services/subjectService\"\r\n\r\ntype SubjectDetail = {\r\n name: string\r\n description: string\r\n color: string\r\n}\r\n\r\nconst initValue: SubjectDetail = {\r\n name: \"\",\r\n description: \"\",\r\n color: \"#000\"\r\n}\r\n\r\nconst useSubjectDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [subjectDetail, setSubjectDetail] = useState<SubjectDetail>(initValue)\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id ? getData() : setSubjectDetail(initValue)\r\n }, [id])\r\n\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const reset = () => {\r\n setSubjectDetail(initValue)\r\n setId(0)\r\n }\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setSubjectDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } subject successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id, subjectDetail]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n subjectDetail,\r\n confirmData,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useSubjectDetail\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setLoading,\r\n setModal,\r\n setSubjectList,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/subjectService\"\r\n\r\nconst TITLE = \"Subject list\"\r\nconst useSubjectList = () => {\r\n const subjectList = useSelector((state: any) => state.subjects.subjectList)\r\n const totalItems = useSelector((state: any) => state.subjects.totalItems)\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(setSubjectList({ subjectList: items, totalItems }))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this subject?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove subject successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n subjectList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useSubjectList\r\n","import {\r\n AddButton,\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n LinkEditButton,\r\n CustomPagination,\r\n QuitPrompt\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\nimport SubjectDetailModal from \"../components/SubjectDetailModal\"\r\nimport useSubjectDetail from \"../hooks/useSubjectDetail\"\r\nimport useSubjectList from \"../hooks/useSubjectList\"\r\n\r\nconst SubjectList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n subjectList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n } = useSubjectList()\r\n\r\n const {\r\n id,\r\n setId,\r\n subjectDetail,\r\n confirmData,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useSubjectDetail()\r\n\r\n const openModal = (subjectId?: number) => {\r\n !!subjectId ? setId(subjectId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n\r\n const onCancel = () => reset()\r\n\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <SubjectDetailModal\r\n ref={modal}\r\n header={!!id ? \"Edit subject\" : \"Create subject\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n subjectDetail={subjectDetail}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <QuitPrompt when={edited} />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create subject\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of subjects: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {subjectList && subjectList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"align-top\">Description</th>\r\n <th className=\"align-top\">Color</th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {subjectList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.description}\r\n </td>\r\n <td className=\"align-middle\">\r\n <span\r\n style={{\r\n width: 20,\r\n height: 20,\r\n display: \"block\",\r\n background: record.color\r\n }}\r\n ></span>\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"subject\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SubjectList\r\n","import React, { forwardRef } from \"react\"\r\nimport { Row, Col, Input, Label } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\nimport * as yup from \"yup\"\r\n\r\nimport styles from \"../../../styles.module.css\"\r\n\r\nimport { CommonModal, ErrorHandler, RequiredLabel } from \"mario-core\"\r\n\r\nconst schema = yup.object({\r\n name: yup.string().required(\"Name is required\")\r\n})\r\n\r\nconst LearningSupportCategoryDetailModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n learningSupportCategoryDetail,\r\n onCancel,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n\r\n return (\r\n <Formik\r\n initialValues={learningSupportCategoryDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n resetForm\r\n } = formikProps\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onCancel={() => {\r\n onCancel()\r\n resetForm()\r\n }}\r\n onConfirm={handleSubmit}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Description</Label>\r\n <Input\r\n type=\"textarea\"\r\n rows={5}\r\n name=\"description\"\r\n placeholder=\"Description\"\r\n value={values.description}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"description\")}\r\n />\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Default Color</Label>\r\n <div>\r\n <input\r\n type=\"color\"\r\n className={styles[\"input-color-picker\"]}\r\n name=\"defaultColor\"\r\n value={values.defaultColor}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n />\r\n </div>\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(LearningSupportCategoryDetailModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\nconst LEARNING_SUPPORT_CATEGORY_URL = `${BASE_URL}/api/LearningSupportCategory`\r\n\r\nexport const get = (filter?: Filter) =>\r\n api.get(LEARNING_SUPPORT_CATEGORY_URL, { params: filter })\r\n\r\nexport const getById = (id: number) =>\r\n api.get(`${LEARNING_SUPPORT_CATEGORY_URL}/${id}`)\r\n\r\nexport const create = (data: any) =>\r\n api.post(LEARNING_SUPPORT_CATEGORY_URL, data)\r\n\r\nexport const update = (data: any) =>\r\n api.put(`${LEARNING_SUPPORT_CATEGORY_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) =>\r\n api.delete(`${LEARNING_SUPPORT_CATEGORY_URL}/${id}`)\r\n","import { setAlert, setLoading } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport {\r\n create,\r\n getById,\r\n update\r\n} from \"../../../services/learningSupportCategoryService\"\r\n\r\ntype LearningSupportCategoryDetail = {\r\n name: string\r\n description: string\r\n defaultColor: string\r\n}\r\n\r\nconst initValue: LearningSupportCategoryDetail = {\r\n name: \"\",\r\n description: \"\",\r\n defaultColor: \"#000\"\r\n}\r\n\r\nconst useLearningSupportCategoryDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [\r\n learningSupportCategoryDetail,\r\n setLearningSupportCategoryDetail\r\n ] = useState<LearningSupportCategoryDetail>(initValue)\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id ? getData() : setLearningSupportCategoryDetail(initValue)\r\n }, [id])\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const reset = () => {\r\n setLearningSupportCategoryDetail(initValue)\r\n setId(0)\r\n }\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n const res = await getById(id)\r\n setLearningSupportCategoryDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } Learning Support Category successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [id, learningSupportCategoryDetail]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n learningSupportCategoryDetail,\r\n confirmData,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useLearningSupportCategoryDetail\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setLoading,\r\n setModal,\r\n setLearningSupportCategoryList,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/learningSupportCategoryService\"\r\n\r\nconst TITLE = \"Learning Support Category List\"\r\n\r\nconst useLearningSupportCategoryList = () => {\r\n const learningSupportCategoryList = useSelector(\r\n (state: any) =>\r\n state.learningSupportCategories.learningSupportCategoryList\r\n )\r\n const totalItems = useSelector(\r\n (state: any) => state.learningSupportCategories.totalItems\r\n )\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(\r\n setLearningSupportCategoryList({\r\n learningSupportCategoryList: items,\r\n totalItems\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message:\r\n \"Do you want to remove this Learning Support Category?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message:\r\n \"Remove Learning Support Category successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n learningSupportCategoryList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useLearningSupportCategoryList\r\n","import {\r\n AddButton,\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n LinkEditButton,\r\n CustomPagination,\r\n QuitPrompt\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\nimport LearningSupportCategoryDetailModal from \"../components/LearningSupportCategoryDetailModal\"\r\nimport useLearningSupportCategoryDetail from \"../hooks/useLearningSupportCategoryDetail\"\r\nimport useLearningSupportCategoryList from \"../hooks/useLearningSupportCategoryList\"\r\n\r\nconst LearningSupportCategoryList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n learningSupportCategoryList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n } = useLearningSupportCategoryList()\r\n\r\n const {\r\n id,\r\n setId,\r\n learningSupportCategoryDetail,\r\n confirmData,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useLearningSupportCategoryDetail()\r\n\r\n const openModal = (learningSupportCategoryId?: number) => {\r\n !!learningSupportCategoryId\r\n ? setId(learningSupportCategoryId)\r\n : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n\r\n const onCancel = () => reset()\r\n\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <LearningSupportCategoryDetailModal\r\n ref={modal}\r\n header={\r\n !!id\r\n ? \"Edit learning support category\"\r\n : \"Create learning support category\"\r\n }\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n learningSupportCategoryDetail={learningSupportCategoryDetail}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <QuitPrompt when={edited} />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create category\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of learning support categories: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {learningSupportCategoryList &&\r\n learningSupportCategoryList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th>Name</th>\r\n <th>Description</th>\r\n <th>Color</th>\r\n <th className=\"text-center align-middle\">\r\n Action\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {learningSupportCategoryList.map(\r\n (record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.description}\r\n </td>\r\n <td className=\"align-middle\">\r\n <span\r\n style={{\r\n width: 20,\r\n height: 20,\r\n display: \"block\",\r\n background:\r\n record.defaultColor\r\n }}\r\n >\r\n {\" \"}\r\n </span>\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n )\r\n )}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"Learning support category\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default LearningSupportCategoryList\r\n","import React, { FC } from \"react\"\r\nimport { Label } from \"reactstrap\"\r\n\r\ninterface Props {\r\n htmlFor: string\r\n isDisabled: boolean\r\n text: string\r\n backgroundColor: string\r\n onClick: Function\r\n}\r\n\r\nconst style = {\r\n padding: \"4px 8px\",\r\n marginRight: 16,\r\n marginBottom: 0,\r\n borderRadius: \"2px\",\r\n color: \"#fff\",\r\n fontWeight: 500,\r\n fontSize: \"0.9em\",\r\n height: \"30px\"\r\n}\r\n\r\nconst UploadCSVButton: FC<Props> = ({\r\n htmlFor,\r\n isDisabled,\r\n text,\r\n backgroundColor,\r\n onClick\r\n}: Props) => {\r\n return (\r\n <Label\r\n htmlFor={htmlFor}\r\n role=\"button\"\r\n tabIndex={0}\r\n className={`d-flex align-items-center justfy-content-center ${\r\n !isDisabled ? \"cursor-pointer hover-opacity\" : \"\"\r\n }`}\r\n style={{\r\n ...style,\r\n backgroundColor,\r\n opacity: !isDisabled ? 1 : 0.5\r\n }}\r\n onClick={(_e: any) => onClick()}\r\n >\r\n <React.Fragment>\r\n <i className=\"fa fa-paperclip mr-1\" aria-hidden=\"true\" />\r\n {text}\r\n </React.Fragment>\r\n </Label>\r\n )\r\n}\r\n\r\nexport default UploadCSVButton\r\n","import { apiUpload, BASE_URL } from \"mario-core\"\r\n\r\nconst CSV_FILE_URL = `${BASE_URL}/api/ImportCsv/csv`\r\n\r\nexport const importCSV = (formData: FormData, subFolder: string) =>\r\n apiUpload.post(`${CSV_FILE_URL}/${subFolder}`, formData)\r\n","import { useCallback, useState, useEffect } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport { setAlert, setLoading } from \"mario-core\"\r\n\r\nimport { importCSV } from \"../../../services/csvService\"\r\n\r\nenum CSVType {\r\n Students = \"students\",\r\n Subjects = \"subjects\",\r\n Grades = \"grades\",\r\n Attendances = \"attendances\",\r\n Others = \"others\"\r\n}\r\n\r\ninterface CSVImportButton {\r\n text: string\r\n backgroundColor: string\r\n type: CSVType\r\n}\r\n\r\nconst buttons: CSVImportButton[] = [\r\n {\r\n text: \"Import students\",\r\n backgroundColor: \"#0abde3\",\r\n type: CSVType.Students\r\n },\r\n {\r\n text: \"Import subjects\",\r\n backgroundColor: \"#1dd1a1\",\r\n type: CSVType.Subjects\r\n },\r\n { text: \"Import grades\", backgroundColor: \"#54a0ff\", type: CSVType.Grades },\r\n {\r\n text: \"Import attendances\",\r\n backgroundColor: \"#feca57\",\r\n type: CSVType.Attendances\r\n },\r\n { text: \"Import others\", backgroundColor: \"#8395a7\", type: CSVType.Others }\r\n]\r\n\r\nconst title = \"CSV Import\"\r\n\r\nconst id = \"csvupload\"\r\n\r\nconst useCSVImport = () => {\r\n const dispatch = useDispatch()\r\n const isLoading = useSelector((state: any) => state.common.isLoading)\r\n const [type, setType] = useState<CSVType | null>(null)\r\n\r\n useEffect(() => {\r\n document.title = title\r\n }, [])\r\n\r\n const upload = useCallback(\r\n async (file: any) => {\r\n if (!type || !file) return\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n const formData = new FormData()\r\n formData.append(\"file\", file, file.name)\r\n await importCSV(formData, type.toString())\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Import CSV successfully\"\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n const input: any = document.getElementById(id)\r\n input && (input.value = \"\")\r\n },\r\n [type]\r\n )\r\n\r\n return {\r\n isLoading,\r\n buttons,\r\n id,\r\n setType,\r\n upload\r\n }\r\n}\r\n\r\nexport default useCSVImport\r\n","import React, { FC } from \"react\"\r\nimport { Input } from \"reactstrap\"\r\n\r\nimport UploadCSVButton from \"../components/UploadCSVButton\"\r\n\r\nimport useCSVImport from \"../hooks/useCSVImport\"\r\n\r\nconst CSVImport: FC = () => {\r\n const { isLoading, buttons, id, setType, upload } = useCSVImport()\r\n\r\n return (\r\n <div className=\"animated fadeIn pt-3\">\r\n <Input\r\n className=\"d-none\"\r\n type=\"file\"\r\n id={id}\r\n // multiple\r\n onChange={(e: any) => upload(e.target.files[0])}\r\n accept=\"text/csv\"\r\n />\r\n <div className=\"d-flex align-items-center\">\r\n {buttons.map(button => (\r\n <UploadCSVButton\r\n htmlFor={id}\r\n text={button.text}\r\n isDisabled={isLoading}\r\n backgroundColor={button.backgroundColor}\r\n onClick={() => setType(button.type)}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default CSVImport\r\n","import React, { forwardRef } from \"react\"\r\nimport { Row, Col, Input } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\nimport DatePicker from \"react-datepicker\"\r\nimport { format } from \"date-fns\"\r\nimport toDate from \"date-fns/toDate\"\r\nimport * as yup from \"yup\"\r\n\r\nimport {\r\n CommonModal,\r\n DATE_FORMAT,\r\n ErrorHandler,\r\n RequiredLabel,\r\n utcToLocalTime\r\n} from \"mario-core\"\r\n\r\nconst schema = yup.object({\r\n name: yup.string().required(\"Name is required\"),\r\n startTime: yup.string().required(\"Start time is required\"),\r\n endTime: yup.string().required(\"End time is required\")\r\n})\r\n\r\nconst SemesterDetailModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n semesterDetail,\r\n onCancel,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n return (\r\n <Formik\r\n initialValues={semesterDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n resetForm\r\n } = formikProps\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onCancel={() => {\r\n onCancel()\r\n resetForm()\r\n }}\r\n onConfirm={handleSubmit}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <Row>\r\n <Col\r\n md={3}\r\n className=\"d-flex align-items-center\"\r\n >\r\n <RequiredLabel text=\"Start date\" />\r\n </Col>\r\n <Col md={6}>\r\n <DatePicker\r\n value={utcToLocalTime(\r\n values.startTime,\r\n \"MMM dd, yyyy\"\r\n )}\r\n todayButton=\"Today\"\r\n peekNextMonth\r\n showMonthDropdown\r\n showYearDropdown\r\n dropdownMode=\"select\"\r\n selected={\r\n values.startTime\r\n ? toDate(\r\n new Date(\r\n values.startTime\r\n )\r\n )\r\n : null\r\n }\r\n onChange={(e: any) => {\r\n formikProps.setFieldValue(\r\n \"startTime\",\r\n format(e, DATE_FORMAT)\r\n )\r\n setEditedTrue()\r\n }}\r\n placeholderText=\"Start date\"\r\n customInput={\r\n <Input\r\n type=\"text\"\r\n style={{\r\n width: \"maxContent\"\r\n }}\r\n placeholder=\"Start date\"\r\n />\r\n }\r\n />\r\n {touched.startTime &&\r\n errors.startTime && (\r\n <ErrorHandler\r\n text={\r\n errors.startTime as string\r\n }\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </Col>\r\n <Col md={12}>\r\n <Row>\r\n <Col\r\n md={3}\r\n className=\"d-flex align-items-center\"\r\n >\r\n <RequiredLabel text=\"End date\" />\r\n </Col>\r\n <Col md={6}>\r\n <DatePicker\r\n value={utcToLocalTime(\r\n values.endTime,\r\n \"MMM dd, yyyy\"\r\n )}\r\n todayButton=\"Today\"\r\n peekNextMonth\r\n showMonthDropdown\r\n showYearDropdown\r\n dropdownMode=\"select\"\r\n selected={\r\n values.endTime\r\n ? toDate(\r\n new Date(\r\n values.endTime\r\n )\r\n )\r\n : null\r\n }\r\n onChange={(e: any) => {\r\n formikProps.setFieldValue(\r\n \"endTime\",\r\n format(e, DATE_FORMAT)\r\n )\r\n setEditedTrue()\r\n }}\r\n placeholderText=\"End date\"\r\n customInput={\r\n <Input\r\n type=\"text\"\r\n style={{\r\n width: \"maxContent\"\r\n }}\r\n placeholder=\"End date\"\r\n />\r\n }\r\n />\r\n {touched.endTime && errors.endTime && (\r\n <ErrorHandler\r\n text={errors.endTime as string}\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(SemesterDetailModal)\r\n","import React, { forwardRef } from \"react\"\r\nimport { Row, Col } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\nimport * as yup from \"yup\"\r\n\r\nimport {\r\n CommonModal,\r\n CustomSelector,\r\n ErrorHandler,\r\n RequiredLabel\r\n} from \"mario-core\"\r\n\r\nconst schema = yup.object({\r\n value: yup.number().required(\"Breaking month is required\")\r\n})\r\n\r\nconst options: any[] = [\r\n { value: 1, label: \"January\" },\r\n { value: 2, label: \"February\" },\r\n { value: 3, label: \"March\" },\r\n { value: 4, label: \"April\" },\r\n { value: 5, label: \"May\" },\r\n { value: 6, label: \"June\" },\r\n { value: 7, label: \"July\" },\r\n { value: 8, label: \"August\" },\r\n { value: 9, label: \"September\" },\r\n { value: 10, label: \"October\" },\r\n { value: 11, label: \"November\" },\r\n { value: 12, label: \"December\" }\r\n]\r\n\r\nconst BreakingMonthModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n breakingMonthDetail,\r\n // setBreakingMonthDetail,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n return (\r\n <Formik\r\n initialValues={breakingMonthDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n setFieldValue,\r\n handleBlur,\r\n handleSubmit,\r\n resetForm\r\n } = formikProps\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onCancel={() => {\r\n resetForm()\r\n }}\r\n onConfirm={handleSubmit}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"School year break month\" />\r\n <CustomSelector\r\n name=\"Breaking month\"\r\n isRequired\r\n value={options.find(\r\n o => o.value === values.value\r\n )}\r\n options={options}\r\n onChange={(option: any) => {\r\n setFieldValue(\"value\", option.value)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"value\")}\r\n />\r\n {touched.value && errors.value && (\r\n <ErrorHandler\r\n text={errors.value as string}\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(BreakingMonthModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst SEMESTER_URL = `${BASE_URL}/api/semester`\r\n\r\nexport const get = (filters: Filter) =>\r\n api.get(SEMESTER_URL, { params: filters })\r\n\r\nexport const getById = (id: number) => api.get(`${SEMESTER_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(`${SEMESTER_URL}`, data)\r\n\r\nexport const update = (data: any) =>\r\n api.post(`${SEMESTER_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${SEMESTER_URL}/${id}`)\r\n","import { setAlert, setLoading } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { create, getById, update } from \"../../../services/semesterService\"\r\n\r\ntype SemesterDetail = {\r\n name: string\r\n startTime: string\r\n endTime: string\r\n}\r\n\r\nconst initValue: SemesterDetail = {\r\n name: \"\",\r\n startTime: \"\",\r\n endTime: \"\"\r\n}\r\n\r\nconst useSemesterDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [semesterDetail, setSemesterDetail] = useState<SemesterDetail>(\r\n initValue\r\n )\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id ? getData() : setSemesterDetail(initValue)\r\n }, [id])\r\n\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const reset = () => {\r\n setSemesterDetail(initValue)\r\n setId(0)\r\n }\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setSemesterDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } semester successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id, semesterDetail]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n semesterDetail,\r\n confirmData,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useSemesterDetail\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setLoading,\r\n setModal,\r\n setSemesterList,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/semesterService\"\r\n\r\nconst TITLE = \"Semester list\"\r\nconst useSemesterList = () => {\r\n const semesterList = useSelector(\r\n (state: any) => state.semester.semesterList\r\n )\r\n const totalItems = useSelector((state: any) => state.semester.totalItems)\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(setSemesterList({ semesterList: items, totalItems }))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this semester?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove semester successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n semesterList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useSemesterList\r\n","import { api, BASE_URL } from \"mario-core\"\r\n\r\nconst ACADEMIC_YEAR_URL = `${BASE_URL}/api/academicyear`\r\nconst BREAKING_MONTH_URL = `${ACADEMIC_YEAR_URL}/breakingmonth`\r\n\r\nexport const getBreakingMonth = () => api.get(BREAKING_MONTH_URL)\r\n\r\nexport const updateBreakingMonth = (data: any) =>\r\n api.put(BREAKING_MONTH_URL, data)\r\n","import { setAlert, setLoading } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport {\r\n getBreakingMonth,\r\n updateBreakingMonth\r\n} from \"../../../services/academicYearService\"\r\n\r\ntype BreakingMonthDetail = {\r\n value: number\r\n}\r\n\r\nconst initValue: BreakingMonthDetail = {\r\n value: 0\r\n}\r\n\r\nconst useBreakingMonth = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [\r\n breakingMonthDetail,\r\n setBreakingMonthDetail\r\n ] = useState<BreakingMonthDetail>(initValue)\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n\r\n useEffect(() => {\r\n getData()\r\n setEditedFalse()\r\n }, [])\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getBreakingMonth()\r\n setBreakingMonthDetail({ value: res.data })\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [])\r\n\r\n const confirmData = useCallback(\r\n async (value: number, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n await updateBreakingMonth(value)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `Update breaking month successfully`\r\n })\r\n )\r\n await getData()\r\n cb && cb()\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [breakingMonthDetail]\r\n )\r\n\r\n return {\r\n breakingMonthDetail,\r\n confirmData,\r\n initValue,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useBreakingMonth\r\n","import {\r\n AddButton,\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n LinkEditButton,\r\n CustomPagination,\r\n QuitPrompt,\r\n utcToLocalTime\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Button, Col, Row, Table, Card, CardBody, CardTitle } from \"reactstrap\"\r\nimport SemesterDetailModal from \"../components/SemesterDetailModal\"\r\nimport BreakingMonthModal from \"../components/BreakingMonthModal\"\r\nimport useSemesterDetail from \"../hooks/useSemesterDetail\"\r\nimport useSemesterList from \"../hooks/useSemesterList\"\r\nimport useBreakingMonth from \"../hooks/useBreakingMonth\"\r\n\r\nconst SemesterList: FC = () => {\r\n const semesterModal = useRef<any>()\r\n const breakingMonthModal = useRef<any>()\r\n\r\n const {\r\n semesterList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n } = useSemesterList()\r\n\r\n const {\r\n id,\r\n setId,\r\n semesterDetail,\r\n confirmData,\r\n reset: resetSemester,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useSemesterDetail()\r\n\r\n const {\r\n breakingMonthDetail,\r\n confirmData: confirmBreakingMonth\r\n } = useBreakingMonth()\r\n\r\n const openSemesterModal = (semesterId?: number) => {\r\n !!semesterId ? setId(semesterId) : setId(0)\r\n semesterModal && semesterModal.current && semesterModal.current.toggle()\r\n }\r\n\r\n const onConfirmSemester = (values: any) => {\r\n confirmData(values, () => {\r\n semesterModal &&\r\n semesterModal.current &&\r\n semesterModal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemoveSemester = (id: number) => {\r\n removeData(id)\r\n }\r\n\r\n const onCancelSemester = () => resetSemester()\r\n\r\n const openBreakingMonthModal = () => {\r\n breakingMonthModal &&\r\n breakingMonthModal.current &&\r\n breakingMonthModal.current.toggle()\r\n }\r\n\r\n const onConfirmBreakingMonth = (value: number) => {\r\n confirmBreakingMonth(value, () => {\r\n breakingMonthModal &&\r\n breakingMonthModal.current &&\r\n breakingMonthModal.current.toggle()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <SemesterDetailModal\r\n ref={semesterModal}\r\n header={!!id ? \"Edit semester\" : \"Create semester\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirmSemester}\r\n onCancel={onCancelSemester}\r\n semesterDetail={semesterDetail}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <BreakingMonthModal\r\n ref={breakingMonthModal}\r\n header={\"Update school break month\"}\r\n confirmText={\"Update\"}\r\n breakingMonthDetail={breakingMonthDetail}\r\n onConfirm={onConfirmBreakingMonth}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <QuitPrompt when={edited} />\r\n\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create semester\"\r\n onClick={() => openSemesterModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of semesters: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {semesterList && semesterList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"align-top\">Start Date</th>\r\n <th className=\"align-top\">End Date</th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {semesterList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openSemesterModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {utcToLocalTime(\r\n record.startTime,\r\n \"MMM dd, yyyy\"\r\n )}\r\n </td>\r\n <td className=\"align-middle\">\r\n {utcToLocalTime(\r\n record.endTime,\r\n \"MMM dd, yyyy\"\r\n )}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemoveSemester(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"semester\" />\r\n )}\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n <Col md={4}>\r\n <Card>\r\n <CardBody>\r\n <CardTitle tag=\"h5\">Breaking month</CardTitle>\r\n <div\r\n style={{\r\n border: \"1px splid black\",\r\n minHeight: \"35px\"\r\n }}\r\n className=\"d-flex align-items-center pl-2\"\r\n >\r\n {breakingMonthDetail.value}\r\n </div>\r\n <Button\r\n onClick={() => openBreakingMonthModal()}\r\n color=\"primary\"\r\n >\r\n Change breaking month\r\n </Button>\r\n </CardBody>\r\n </Card>\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SemesterList\r\n","import { Formik } from \"formik\"\r\nimport React, { forwardRef } from \"react\"\r\nimport { Col, Input, Row } from \"reactstrap\"\r\nimport * as yup from \"yup\"\r\n\r\nimport { ErrorHandler, RequiredLabel, CommonModal } from \"mario-core\"\r\n\r\nconst schema = yup.object({\r\n label: yup.string().required(\"Label is required\"),\r\n value: yup.number().required(\"Value is required\")\r\n})\r\n\r\nconst BandScoreDetailModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n bandScoreDetail,\r\n onCancel,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n return (\r\n <Formik\r\n initialValues={bandScoreDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit\r\n } = formikProps\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={onCancel}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12}>\r\n <RequiredLabel text=\"Label\" />\r\n <Input\r\n type=\"textarea\"\r\n name=\"label\"\r\n placeholder=\"Label\"\r\n value={values.label}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"label\")}\r\n />\r\n {touched.label && errors.label && (\r\n <ErrorHandler\r\n text={errors.label as string}\r\n />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"pt-2\">\r\n <RequiredLabel text=\"Value\" />\r\n <Input\r\n type=\"number\"\r\n name=\"value\"\r\n placeholder=\"Value\"\r\n value={values.value}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"value\")}\r\n />\r\n {touched.value && errors.value && (\r\n <ErrorHandler\r\n text={errors.value as string}\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(BandScoreDetailModal)\r\n","import { api, BASE_URL } from \"mario-core\"\r\n\r\nconst BAND_SCORE_URL = `${BASE_URL}/api/BandScore`\r\nconst BREAK_POINT_URL = `${BASE_URL}/api/BandScoreBreakPoint`\r\n\r\nexport const get = () => api.get(BAND_SCORE_URL)\r\n\r\nexport const getById = (id: number) => api.get(`${BAND_SCORE_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(BAND_SCORE_URL, data)\r\n\r\nexport const update = (data: any) =>\r\n api.put(`${BAND_SCORE_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${BAND_SCORE_URL}/${id}`)\r\n\r\nexport const getBreakPointAPI = () => api.get(BREAK_POINT_URL)\r\n\r\nexport const updateBreakPointAPI = (data: any) => api.put(BREAK_POINT_URL, data)\r\n","import { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { setAlert, setLoading } from \"mario-core\"\r\nimport { create, getById, update } from \"../../../services/bandScoreService\"\r\n\r\ntype BandScoreDetail = {\r\n label: string\r\n value: number\r\n}\r\n\r\nconst initValue: BandScoreDetail = {\r\n label: \"\",\r\n value: 0\r\n}\r\n\r\nconst useBandScoreDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [bandScoreDetail, setBandScoreDetail] = useState<BandScoreDetail>(\r\n initValue\r\n )\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id ? getData() : setBandScoreDetail(initValue)\r\n }, [id])\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const reset = () => {\r\n setBandScoreDetail(initValue)\r\n setId(0)\r\n }\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setBandScoreDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } band score successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id, bandScoreDetail]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n bandScoreDetail,\r\n confirmData,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useBandScoreDetail\r\n","import { setAlert, setLoading, setModal } from \"mario-core\"\r\nimport { useCallback, useEffect } from \"react\"\r\nimport { useDispatch, useSelector } from \"react-redux\"\r\nimport { setBandScoreList } from \"mario-core\"\r\nimport { get, remove } from \"../../../services/bandScoreService\"\r\n\r\nconst TITLE = \"Band score list\"\r\nconst useBandScoreList = () => {\r\n const bandScoreList = useSelector((state: any) => {\r\n return state.bandScores.bandScoreList\r\n })\r\n\r\n const totalItems = useSelector((state: any) => state.bandScores.totalItems)\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get()\r\n // const { items, totalItems } = res.data\r\n dispatch(\r\n setBandScoreList({\r\n bandScoreList: res.data,\r\n totalItems: res.data?.length\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch])\r\n\r\n const removeData = useCallback((id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this band score?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove question successfully\"\r\n })\r\n )\r\n getData()\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n }, [])\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n getData()\r\n }, [])\r\n\r\n return {\r\n bandScoreList,\r\n totalItems,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useBandScoreList\r\n","import { setAlert, setLoading } from \"mario-core\"\r\nimport { useCallback, useState, useEffect } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport {\r\n getBreakPointAPI,\r\n updateBreakPointAPI\r\n} from \"../../../services/bandScoreService\"\r\n\r\nconst useBreakPoint = () => {\r\n let [breakPoint, setBreakPoint] = useState({ breakPointValue: 0 })\r\n const dispatch = useDispatch()\r\n\r\n const getBreakPoint = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getBreakPointAPI()\r\n setBreakPoint(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch])\r\n\r\n const updateBreakPoint = useCallback(\r\n async data => {\r\n dispatch(setLoading(true))\r\n try {\r\n await updateBreakPointAPI(data)\r\n dispatch(\r\n setAlert({ type: \"success\", message: \"Update sucessfully\" })\r\n )\r\n getBreakPoint()\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [dispatch]\r\n )\r\n\r\n useEffect(() => {\r\n getBreakPoint()\r\n }, [])\r\n\r\n return {\r\n breakPoint,\r\n setBreakPoint,\r\n getBreakPoint,\r\n updateBreakPoint\r\n }\r\n}\r\n\r\nexport default useBreakPoint\r\n","import {\r\n AddButton,\r\n DeleteButtonIcon,\r\n EditButtonIcon,\r\n EmptyDataAlert,\r\n ErrorHandler,\r\n QuitPrompt\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport {\r\n Button,\r\n Card,\r\n CardBody,\r\n CardTitle,\r\n Col,\r\n Row,\r\n Table,\r\n Input\r\n} from \"reactstrap\"\r\nimport BandScoreDetailModal from \"../components/BandScoreDetailModal\"\r\nimport useBandScoreDetail from \"../hooks/useBandScoreDetail\"\r\nimport useBandScoreList from \"../hooks/useBandScoreList\"\r\nimport useBreakPoint from \"../hooks/useBreakPoint\"\r\n\r\nconst BandScoreList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n bandScoreList,\r\n totalItems,\r\n getData,\r\n removeData\r\n } = useBandScoreList()\r\n\r\n const {\r\n id,\r\n setId,\r\n bandScoreDetail,\r\n confirmData,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useBandScoreDetail()\r\n\r\n const { breakPoint, setBreakPoint, updateBreakPoint } = useBreakPoint()\r\n\r\n const openModal = (bandScoreId?: number) => {\r\n !!bandScoreId ? setId(bandScoreId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n const onCancel = () => reset()\r\n\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <BandScoreDetailModal\r\n ref={modal}\r\n header={!!id ? \"Edit band score\" : \"Create band score\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n bandScoreDetail={bandScoreDetail}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <QuitPrompt when={edited} />\r\n <Row>\r\n <Col md={8}>\r\n <Row className=\"my-2\">\r\n <Col md={6}>\r\n <AddButton\r\n text=\"Create band score\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={6}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of band scores: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={12}>\r\n {bandScoreList && bandScoreList.length > 0 ? (\r\n <Table\r\n bordered\r\n hover\r\n striped\r\n responsive\r\n size=\"sm\"\r\n >\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Label</th>\r\n <th className=\"align-top\">Value</th>\r\n <th className=\"text-center\">\r\n Action\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {bandScoreList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n {record.label}\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.value}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <EditButtonIcon\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"band score\" />\r\n )}\r\n </Col>\r\n </Row>\r\n </Col>\r\n <Col md={4} className=\"pt-2\">\r\n <Card style={{ width: \"50%\" }}>\r\n <CardBody>\r\n <CardTitle tag=\"h5\">Break point</CardTitle>\r\n <div\r\n style={{\r\n border: \"1px splid black\",\r\n minHeight: \"35px\"\r\n }}\r\n className=\"d-flex flex-column align-items-start\"\r\n >\r\n <Input\r\n type=\"number\"\r\n value={breakPoint.breakPointValue}\r\n onChange={(e: any) => {\r\n setBreakPoint({\r\n breakPointValue: parseInt(\r\n e.target.value\r\n )\r\n })\r\n }}\r\n />\r\n {isNaN(breakPoint.breakPointValue) ? (\r\n <ErrorHandler text=\"Band score must be a number\" />\r\n ) : (\r\n <p></p>\r\n )}\r\n </div>\r\n\r\n <Button\r\n color=\"primary\"\r\n className=\"d-flex align-items-center mt-2\"\r\n onClick={() => {\r\n !isNaN(breakPoint.breakPointValue) &&\r\n updateBreakPoint(breakPoint)\r\n }}\r\n >\r\n <p style={{ fontWeight: 500 }} className=\"mb-0\">\r\n Update break point\r\n </p>\r\n </Button>\r\n </CardBody>\r\n </Card>\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default BandScoreList\r\n","import { api, BASE_URL } from \"mario-core\"\r\nconst CURRENT_SERVICE_URL = `${BASE_URL}/api/License`\r\n\r\nexport const get = () => api.get(CURRENT_SERVICE_URL)\r\nexport const getCurrentLicense = () => api.get(`${CURRENT_SERVICE_URL}/Current`)\r\nexport const requestNewLicense = (data: any) =>\r\n api.post(CURRENT_SERVICE_URL, data)\r\n","import { useState, useEffect } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\n\r\nimport { setLoading, setModal, setAlert } from \"mario-core\"\r\nimport {\r\n get,\r\n getCurrentLicense,\r\n requestNewLicense\r\n} from \"../../../services/currentLicenseService\"\r\n\r\nconst useCurrentLicense = () => {\r\n let [allPlans, setAllPlans] = useState<any>([])\r\n let [currentLicense, setCurrentLicense] = useState<any>([])\r\n const dispatch = useDispatch()\r\n\r\n const getAllPlans = async () => {\r\n dispatch(setLoading(true))\r\n const res = await get()\r\n setAllPlans(res.data)\r\n dispatch(setLoading(false))\r\n }\r\n\r\n const getCurrentLicenseData = async () => {\r\n const res: any = await getCurrentLicense()\r\n setCurrentLicense(res.data)\r\n }\r\n\r\n const createRequestNewLicense = async (id: number) => {\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Are you sure to request to change to this plan?\",\r\n onConfirm: async () => {\r\n await requestNewLicense(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `Send request successfully`\r\n })\r\n )\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n document.title = \"License\"\r\n getCurrentLicenseData()\r\n getAllPlans()\r\n }, [])\r\n\r\n return { allPlans, currentLicense, createRequestNewLicense }\r\n}\r\n\r\nexport default useCurrentLicense\r\n","import { EmptyDataAlert } from \"mario-core\"\r\nimport React from \"react\"\r\nimport { AiOutlineSend } from \"react-icons/ai\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\nimport useCurrentLicense from \"../hooks/useCurrentLicense\"\r\n\r\nconst CurrentLicense = () => {\r\n const {\r\n allPlans,\r\n currentLicense,\r\n createRequestNewLicense\r\n } = useCurrentLicense()\r\n\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <Row className=\"mb-2\">\r\n <Col md={8} className=\"mt-3\">\r\n {allPlans && allPlans.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"align-top\">\r\n Maximum number of admins\r\n </th>\r\n <th className=\"align-top\">\r\n Maximum number of assistants\r\n </th>\r\n <th className=\"align-top\">\r\n Maximum number of students\r\n </th>\r\n <th className=\"align-top\">\r\n Maximum number of teachers\r\n </th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {allPlans.map((record: any) => {\r\n const isCurrentLicense =\r\n currentLicense &&\r\n currentLicense.id == record.id\r\n return (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n {isCurrentLicense ? (\r\n <b>{record.name}</b>\r\n ) : (\r\n record.name\r\n )}\r\n </td>\r\n <td className=\"align-middle\">\r\n {isCurrentLicense ? (\r\n <b>\r\n {record.numberOfAdmins}\r\n </b>\r\n ) : (\r\n record.numberOfAdmins\r\n )}\r\n </td>\r\n <td className=\"align-middle\">\r\n {isCurrentLicense ? (\r\n <b>\r\n {\r\n record.numberOfAssistants\r\n }\r\n </b>\r\n ) : (\r\n record.numberOfAssistants\r\n )}\r\n </td>\r\n <td className=\"align-middle\">\r\n {isCurrentLicense ? (\r\n <b>\r\n {\r\n record.numberOfStudents\r\n }\r\n </b>\r\n ) : (\r\n record.numberOfStudents\r\n )}\r\n </td>\r\n <td className=\"align-middle\">\r\n {isCurrentLicense ? (\r\n <b>\r\n {\r\n record.numberOfTeachers\r\n }\r\n </b>\r\n ) : (\r\n record.numberOfTeachers\r\n )}\r\n </td>\r\n <td>\r\n <div className=\"d-flex justify-content-center align-items-center\">\r\n {currentLicense &&\r\n currentLicense.id ==\r\n record.id ? null : (\r\n <AiOutlineSend\r\n className=\"cursor-pointer\"\r\n title=\"Request to this plan\"\r\n onClick={() => {\r\n createRequestNewLicense(\r\n record.id\r\n )\r\n }}\r\n />\r\n )}\r\n </div>\r\n </td>\r\n </tr>\r\n )\r\n })}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"band score\" />\r\n )}\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default CurrentLicense\r\n","import React, { forwardRef } from \"react\"\r\nimport { Row, Col, Input, FormGroup } from \"reactstrap\"\r\nimport DatePicker from \"react-datepicker\"\r\nimport { Formik } from \"formik\"\r\nimport * as yup from \"yup\"\r\nimport format from \"date-fns/format\"\r\nimport {\r\n CommonModal,\r\n ErrorHandler,\r\n RequiredLabel,\r\n DATE_FORMAT\r\n} from \"mario-core\"\r\n\r\nconst schema = yup.object({\r\n name: yup.string().required(\"Name is required\"),\r\n startTime: yup.string().required(\"Start time is required\"),\r\n endTime: yup.string().required(\"End time is required\")\r\n})\r\n\r\nconst SchoolBlankDayDetailModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n schoolBlankDayDetail,\r\n onCancel,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n\r\n return (\r\n <Formik\r\n initialValues={schoolBlankDayDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n setFieldValue,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n resetForm\r\n } = formikProps\r\n\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={() => {\r\n onCancel()\r\n resetForm()\r\n }}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12}>\r\n <FormGroup className=\"mb-2\">\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={(e: any) => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </FormGroup>\r\n <FormGroup className=\"mb-2\">\r\n <RequiredLabel text=\"Start time\" />\r\n <DatePicker\r\n // value={values.startTime}\r\n todayButton=\"Today\"\r\n peekNextMonth\r\n showMonthDropdown\r\n showYearDropdown\r\n dropdownMode=\"select\"\r\n placeholderText=\"Start time\"\r\n selected={\r\n values.startTime\r\n ? new Date(values.startTime)\r\n : null\r\n }\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"startTime\",\r\n format(e, DATE_FORMAT)\r\n )\r\n setEditedTrue()\r\n }}\r\n customInput={<Input type=\"text\" />}\r\n wrapperClassName=\"w-100\"\r\n />\r\n {touched.startTime && errors.startTime && (\r\n <ErrorHandler\r\n text={errors.startTime as string}\r\n />\r\n )}\r\n </FormGroup>\r\n <FormGroup className=\"mb-2\">\r\n <RequiredLabel text=\"End time\" />\r\n <DatePicker\r\n // value={values.endTime}\r\n todayButton=\"Today\"\r\n peekNextMonth\r\n showMonthDropdown\r\n showYearDropdown\r\n dropdownMode=\"select\"\r\n placeholderText=\"End time\"\r\n selected={\r\n values.endTime\r\n ? new Date(values.endTime)\r\n : null\r\n }\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"endTime\",\r\n format(e, DATE_FORMAT)\r\n )\r\n setEditedTrue()\r\n }}\r\n customInput={<Input type=\"text\" />}\r\n wrapperClassName=\"w-100\"\r\n />\r\n {touched.endTime && errors.endTime && (\r\n <ErrorHandler\r\n text={errors.endTime as string}\r\n />\r\n )}\r\n </FormGroup>\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(SchoolBlankDayDetailModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst SCHOOL_BLANK_DAY_URL = `${BASE_URL}/api/schoolblankday`\r\n\r\nexport const get = (filter: Filter) =>\r\n api.get(SCHOOL_BLANK_DAY_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${SCHOOL_BLANK_DAY_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(SCHOOL_BLANK_DAY_URL, data)\r\n\r\nexport const update = (data: any) =>\r\n api.put(`${SCHOOL_BLANK_DAY_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) =>\r\n api.delete(`${SCHOOL_BLANK_DAY_URL}/${id}`)\r\n","import { setAlert, setLoading } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport {\r\n create,\r\n getById,\r\n update\r\n} from \"../../../services/schoolBlankDayService\"\r\n\r\ntype SchoolBlankDayDetail = {\r\n name: string\r\n startTime: string\r\n endTime: string\r\n}\r\n\r\nconst initValue: SchoolBlankDayDetail = {\r\n name: \"\",\r\n startTime: \"\",\r\n endTime: \"\"\r\n}\r\n\r\nconst useSchoolBlankDayDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [\r\n schoolBlankDayDetail,\r\n setSchoolBlankDayDetail\r\n ] = useState<SchoolBlankDayDetail>(initValue)\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id ? getData() : setSchoolBlankDayDetail(initValue)\r\n }, [id])\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n const reset = () => {\r\n setSchoolBlankDayDetail(initValue)\r\n setId(0)\r\n }\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setSchoolBlankDayDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } blank day successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n schoolBlankDayDetail,\r\n confirmData,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useSchoolBlankDayDetail\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setLoading,\r\n setModal,\r\n setSchoolBlankDayList,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/schoolBlankDayService\"\r\n\r\nconst TITLE = \"School blank day list\"\r\nconst useSchoolBlankDayList = () => {\r\n const schoolBlankDayList = useSelector(\r\n (state: any) => state.schoolBlankDays.schoolBlankDayList\r\n )\r\n const totalItems = useSelector(\r\n (state: any) => state.schoolBlankDays.totalItems\r\n )\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(\r\n setSchoolBlankDayList({ schoolBlankDayList: items, totalItems })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this blank day?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove blank day successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n schoolBlankDayList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useSchoolBlankDayList\r\n","import {\r\n AddButton,\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n CustomPagination,\r\n QuitPrompt,\r\n LinkEditButton,\r\n utcToLocalTime,\r\n DATE_FORMAT\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\n\r\nimport SchoolBlankDayDetailModal from \"../components/SchoolBlankDayDetailModal\"\r\nimport useShoolBlankDayDetail from \"../hooks/useSchoolBlankDayDetail\"\r\nimport useShoolBlankDayList from \"../hooks/useSchoolBlankDayList\"\r\n\r\nconst SchoolBlankDayList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n schoolBlankDayList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n } = useShoolBlankDayList()\r\n\r\n const {\r\n id,\r\n setId,\r\n schoolBlankDayDetail,\r\n confirmData,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useShoolBlankDayDetail()\r\n\r\n const openModal = (badgeId?: number) => {\r\n !!badgeId ? setId(badgeId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n const onCancel = () => reset()\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <SchoolBlankDayDetailModal\r\n ref={modal}\r\n header={!!id ? \"Edit blank day\" : \"Create blank day\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n schoolBlankDayDetail={schoolBlankDayDetail}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <QuitPrompt when={edited} />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create blank day\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of blank days: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {schoolBlankDayList && schoolBlankDayList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"align-top\">Start time</th>\r\n <th className=\"align-top\">End time</th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {schoolBlankDayList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {utcToLocalTime(\r\n record.startTime,\r\n DATE_FORMAT\r\n )}\r\n </td>\r\n <td className=\"align-middle\">\r\n {utcToLocalTime(\r\n record.endTime,\r\n DATE_FORMAT\r\n )}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"school blank day\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SchoolBlankDayList\r\n","import React from \"react\"\r\n\r\nimport { SkillList, CustomTab } from \"mario-core\"\r\n\r\nimport BadgeList from \"../../Badge/views/BadgeList\"\r\nimport GoalExampleList from \"../../GoalExample/views/GoalExampleList\"\r\nimport LearningStrategy from \"../../LearningStrategy/views/LearningStrategyList\"\r\nimport SubjectList from \"../../Subject/views/SubjectList\"\r\nimport LearningSupportCategoryList from \"../../LearningSupportCategory/views/LearningSupportCategoryList\"\r\nimport CSVImport from \"../../CSVImport/views/CSVImport\"\r\nimport SemesterList from \"../../Semester/views/SemesterList\"\r\nimport BandScoreList from \"../../BandScore/views/BandScoreList\"\r\nimport CurrentLicense from \"../../CurrentLicense/views/CurrentLicense\"\r\nimport SchoolBlankDayList from \"../../SchoolBlankDay/views/SchoolBlankDayList\"\r\n\r\nconst tabs = [\r\n {\r\n path: \"/admin/set-up/skill\",\r\n title: \"Skills\",\r\n component: SkillList\r\n },\r\n {\r\n path: \"/admin/set-up/subject\",\r\n title: \"Subjects\",\r\n component: SubjectList\r\n },\r\n {\r\n path: \"/admin/set-up/learning-support-category\",\r\n title: \"Learning support categories\",\r\n component: LearningSupportCategoryList\r\n },\r\n {\r\n path: \"/admin/set-up/learning-strategy\",\r\n title: \"Learning strategies\",\r\n component: LearningStrategy\r\n },\r\n {\r\n path: \"/admin/set-up/goal-example\",\r\n title: \"Goal examples\",\r\n component: GoalExampleList\r\n },\r\n {\r\n path: \"/admin/set-up/student-badge\",\r\n title: \"Student badges\",\r\n component: BadgeList\r\n },\r\n {\r\n path: \"/admin/set-up/semester\",\r\n title: \"Semester\",\r\n component: SemesterList\r\n },\r\n {\r\n path: \"/admin/set-up/blank-days\",\r\n title: \"Blank days\",\r\n component: SchoolBlankDayList\r\n },\r\n {\r\n path: \"/admin/set-up/csv-import\",\r\n title: \"CSV Import\",\r\n component: CSVImport\r\n },\r\n {\r\n path: \"/admin/set-up/band-score\",\r\n title: \"Band scores\",\r\n component: BandScoreList\r\n },\r\n {\r\n path: \"/admin/set-up/current-license\",\r\n title: \"License\",\r\n component: CurrentLicense\r\n }\r\n]\r\n\r\nconst title = \"Set up\"\r\n\r\nconst SetupContainer = () => {\r\n return <CustomTab title={title} tabs={tabs} />\r\n}\r\n\r\nexport default SetupContainer\r\n","import React, { FC } from \"react\"\r\nimport { CustomSelector } from \"mario-core\"\r\n\r\ninterface Props {\r\n isDefaultQuestionTeacher: boolean | null | undefined\r\n onChange: any\r\n placeholder?: string\r\n isDefaultGeneralClass?: boolean\r\n}\r\n\r\nconst options = [\r\n { value: false, label: \"Student default questions\" },\r\n { value: true, label: \"Teacher default questions\" }\r\n]\r\nconst optionGenerals = [\r\n { value: false, label: \"Student default general class questions\" },\r\n { value: true, label: \"Teacher default general class questions\" }\r\n]\r\n\r\nconst DefaultQuestionStudentTeacherFilter: FC<Props> = ({\r\n isDefaultQuestionTeacher,\r\n onChange,\r\n placeholder,\r\n isDefaultGeneralClass\r\n}: Props) => {\r\n let value = options.find(\r\n (option: any) => option.value === isDefaultQuestionTeacher\r\n )\r\n if (isDefaultGeneralClass) {\r\n value = optionGenerals.find(\r\n (optionGeneral: any) =>\r\n optionGeneral.value === isDefaultQuestionTeacher\r\n )\r\n }\r\n const customSelector = {\r\n menu: (provided: any) => ({ ...provided, zIndex: 9 })\r\n }\r\n\r\n return (\r\n <CustomSelector\r\n isClearable\r\n options={isDefaultGeneralClass ? optionGenerals : options}\r\n placeholder={placeholder}\r\n value={value}\r\n onChange={onChange}\r\n styles={customSelector}\r\n />\r\n )\r\n}\r\n\r\nDefaultQuestionStudentTeacherFilter.defaultProps = {\r\n placeholder: \"Default question filter\"\r\n}\r\n\r\nexport default DefaultQuestionStudentTeacherFilter\r\n","import React, { CSSProperties, Fragment } from \"react\"\r\nimport { Alert, Row, Col, Table } from \"reactstrap\"\r\nimport { FaCheck, FaTimes } from \"react-icons/fa\"\r\n\r\nimport { QUESTION_TYPES, EMOTIONS as emotions } from \"mario-core\"\r\n\r\nconst subgridStyle: CSSProperties = {\r\n overflowY: \"auto\",\r\n overflowX: \"hidden\",\r\n maxHeight: \"300px\"\r\n}\r\n\r\nconst QuestionPreview = (props: any) => {\r\n const {\r\n data: {\r\n numberOfStars,\r\n fromLabel,\r\n toLabel,\r\n answers,\r\n type,\r\n isSurvey,\r\n isDefaultQuestion\r\n }\r\n } = props\r\n const render = () => {\r\n const isEmotional = QUESTION_TYPES.EMOTIONAL === type\r\n if (\r\n [\r\n QUESTION_TYPES.SINGLE_CHOICE,\r\n QUESTION_TYPES.MULTIPLE_CHOICE,\r\n QUESTION_TYPES.EMOTIONAL,\r\n QUESTION_TYPES.LEARNING_STRATEGY\r\n ].includes(type)\r\n )\r\n return (\r\n <Fragment>\r\n <Row className=\"mb-2 pb-2\">\r\n <Col md={8}>\r\n {isSurvey == true && (\r\n <h6 className=\"text-danger\">\r\n This question is a survey\r\n </h6>\r\n )}\r\n <Table responsive hover bordered striped size=\"sm\">\r\n <thead>\r\n <tr>\r\n {isEmotional && (\r\n <th className=\"align-top\">\r\n Emotion icon\r\n </th>\r\n )}\r\n <th className=\"align-top\">Answer</th>\r\n {!isSurvey &&\r\n !isDefaultQuestion &&\r\n !isEmotional && (\r\n <React.Fragment>\r\n <th className=\"text-center\">\r\n Mark\r\n </th>\r\n <th className=\"text-center\">\r\n Is correct answer\r\n </th>\r\n </React.Fragment>\r\n )}\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {answers.map(\r\n (answer: any, index: number) => (\r\n <tr key={answer.id}>\r\n {isEmotional && (\r\n <td className=\"align-middle\">\r\n {emotions[index]}\r\n </td>\r\n )}\r\n <td className=\"align-middle\">\r\n <div\r\n dangerouslySetInnerHTML={{\r\n __html: answer.text\r\n }}\r\n />\r\n </td>\r\n {!isSurvey &&\r\n !isDefaultQuestion &&\r\n !isEmotional && (\r\n <React.Fragment>\r\n <td className=\"text-center align-middle\">\r\n {answer.mark}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n {answer.isCorrectAnswer ? (\r\n <FaCheck className=\"text-success\" />\r\n ) : (\r\n <FaTimes className=\"text-danger\" />\r\n )}\r\n </td>\r\n </React.Fragment>\r\n )}\r\n </tr>\r\n )\r\n )}\r\n </tbody>\r\n </Table>\r\n </Col>\r\n </Row>\r\n </Fragment>\r\n )\r\n\r\n if ([QUESTION_TYPES.SLIDER, QUESTION_TYPES.RATING].includes(type)) {\r\n return (\r\n <span>\r\n From <span className=\"font-weight-bold\">{fromLabel}</span>{\" \"}\r\n to <span className=\"font-weight-bold\">{toLabel}</span>\r\n </span>\r\n )\r\n }\r\n\r\n if (QUESTION_TYPES.STAR_RATING === type) {\r\n return (\r\n <Row>\r\n <Col md={8}>\r\n <Alert color=\"primary\">\r\n Number of stars: {numberOfStars}\r\n </Alert>\r\n </Col>\r\n </Row>\r\n )\r\n }\r\n\r\n return (\r\n <Row>\r\n <Col md={8}>\r\n <Alert color=\"secondary\">No preview</Alert>\r\n </Col>\r\n </Row>\r\n )\r\n }\r\n\r\n return (\r\n <div className=\"animated fadeIn p-2\" style={subgridStyle}>\r\n {render()}\r\n </div>\r\n )\r\n}\r\n\r\nexport default QuestionPreview\r\n","import React from \"react\"\r\n\r\nimport {\r\n DeleteButtonIcon,\r\n EditButtonIcon,\r\n getTextFromHTML,\r\n QUESTION_TYPES_OPTIONS\r\n} from \"mario-core\"\r\n\r\ninterface ActionProps {\r\n params: any\r\n edit: (id?: number) => any\r\n remove: (id?: number) => any\r\n}\r\n\r\nexport const renderQuestionText = (params: any) => {\r\n return <div>{getTextFromHTML(params?.data?.text) || \"No text\"}</div>\r\n}\r\n\r\nexport const renderActions = ({ params, edit, remove }: ActionProps) => {\r\n return (\r\n <div>\r\n <EditButtonIcon onClick={() => edit(params?.data?.id)} />\r\n {!(\r\n params?.data?.isDefaultQuestion ||\r\n params?.data?.isDefaultQuestionGeneralClass\r\n ) && <span className=\"mx-2\" />}\r\n {!(\r\n params?.data?.isDefaultQuestion ||\r\n params?.data?.isDefaultQuestionGeneralClass\r\n ) && <DeleteButtonIcon onClick={() => remove(params?.data?.id)} />}\r\n </div>\r\n )\r\n}\r\nexport const renderCategory = (params: any) => {\r\n return <div>{params?.data?.category?.name}</div>\r\n}\r\n\r\nexport const renderType = (params: any) => {\r\n const type = QUESTION_TYPES_OPTIONS.find(\r\n (option: any) => option.value === params?.data?.type\r\n )\r\n return type ? <div>{type.label}</div> : <div />\r\n}\r\n","import { useRef, useState, useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport { useHistory } from \"react-router-dom\"\r\nimport { setQuestionList, setLoading, setModal, setAlert } from \"mario-core\"\r\n\r\nimport QuestionPreview from \"../components/QuestionPreview\"\r\n\r\nimport {\r\n get,\r\n remove,\r\n updateOrderDragQuestions\r\n} from \"../../../services/questionService\"\r\n\r\nimport {\r\n renderActions,\r\n renderCategory,\r\n renderQuestionText,\r\n renderType\r\n} from \"../components/AgGridComponents\"\r\n\r\nconst QUESTION_URL = \"/admin/question-bank\"\r\nconst CREATE_QUESTION_URL = \"/admin/create-question\"\r\n\r\nconst TITLE = \"Question list\"\r\n\r\nconst useQuestionList = (\r\n isDefaultQuestion: boolean = false,\r\n isDefaultQuestionGeneralClass: boolean = false\r\n) => {\r\n const history = useHistory()\r\n const questionList = useSelector(\r\n (state: any) => state.questionBank.questionList\r\n )\r\n const totalItems = useSelector(\r\n (state: any) => state.questionBank.totalItems\r\n )\r\n\r\n const gridRef = useRef<any>()\r\n\r\n const setRef = (node: any) => (gridRef.current = node)\r\n\r\n const fitColumn = () =>\r\n gridRef && gridRef.current && gridRef.current.sizeColumnsToFit()\r\n\r\n const setDataToGrid = useCallback(\r\n () =>\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.setRowData(questionList),\r\n [gridRef, questionList]\r\n )\r\n\r\n useEffect(() => {\r\n setDataToGrid()\r\n fitColumn()\r\n }, [questionList])\r\n\r\n const defaultFilter: any = {\r\n currentPage: 1,\r\n pageSize: 10,\r\n searchString: \"\",\r\n isDefaultQuestion,\r\n isDefaultQuestionTeacher: false,\r\n isDefaultQuestionGeneralClass,\r\n isDefaultQuestionGeneralClassTeacher: false,\r\n sortBy: \"\",\r\n sortOrder: \"ASC\"\r\n }\r\n\r\n const [filters, setFilters] = useState<any>(defaultFilter)\r\n const changeFilters = (updatedFilters: any) => {\r\n const newFilters = {\r\n ...filters,\r\n ...updatedFilters\r\n }\r\n\r\n if (!!newFilters.searchString) {\r\n newFilters.currentPage = 1\r\n }\r\n\r\n setFilters(newFilters)\r\n }\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(setQuestionList({ questionList: items, totalItems }))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || \"Get questions failed\"\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const updateOrderQuestions = useCallback(\r\n async (data: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n await updateOrderDragQuestions(data)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"update order success\"\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message:\r\n err.response?.data?.title || \"Get questions failed\"\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [dispatch, filters]\r\n )\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this question?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove question successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message:\r\n err.response?.data?.title ||\r\n \"Remove question failed\"\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n const goToDetail = useCallback((id?: number) => {\r\n const url = !!id ? `${QUESTION_URL}/${id}` : CREATE_QUESTION_URL\r\n history.push(url)\r\n }, [])\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n const columnDefs: any = [\r\n {\r\n headerName: \"\",\r\n field: \"id\",\r\n cellRenderer: \"agGroupCellRenderer\",\r\n width: 20\r\n },\r\n {\r\n headerName: \"Question text\",\r\n cellRendererFramework: (params: any) => renderQuestionText(params)\r\n },\r\n {\r\n headerName: \"Question type\",\r\n cellRendererFramework: (params: any) => renderType(params)\r\n },\r\n {\r\n headerName: \"Category\",\r\n cellRendererFramework: (params: any) => renderCategory(params)\r\n },\r\n {\r\n width: 80,\r\n headerComponentParams: {\r\n template: `<div class=\"text-center w-100\">Actions</div>`\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n cellRendererFramework: (params: any) =>\r\n renderActions({\r\n params,\r\n edit: goToDetail,\r\n remove: removeData\r\n })\r\n }\r\n ]\r\n\r\n const gridOptions: any = {\r\n columnDefs: !isDefaultQuestion\r\n ? columnDefs\r\n : [...columnDefs, { headerName: \"Order\", rowDrag: true }],\r\n detailCellRenderer: \"preview\",\r\n defaultColDef: {\r\n resizable: true\r\n },\r\n frameworkComponents: { preview: QuestionPreview },\r\n rowData: [],\r\n localeText: { noRowsToShow: \"No question to display\" }\r\n }\r\n\r\n return {\r\n gridOptions,\r\n setRef,\r\n questionList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData,\r\n goToDetail,\r\n updateOrderQuestions\r\n }\r\n}\r\n\r\nexport default useQuestionList\r\n","import React, { FC } from \"react\"\r\nimport { Row, Col } from \"reactstrap\"\r\nimport { AgGridReact } from \"@ag-grid-community/react\"\r\nimport { MasterDetailModule } from \"@ag-grid-enterprise/master-detail\"\r\nimport { ClientSideRowModelModule } from \"@ag-grid-community/client-side-row-model\"\r\n\r\nimport { CustomPagination, SearchBoxContainer } from \"mario-core\"\r\n\r\nimport DefaultQuestionStudentTeacherFilter from \"../components/DefaultQuestionStudentTeacherFilter\"\r\n\r\nimport useQuestionList from \"../hooks/useQuestionList\"\r\n\r\ninterface Props {\r\n isDefaultQuestion?: boolean\r\n isDefaultQuestionGeneral?: boolean\r\n}\r\n\r\nconst QuestionBankList: FC<Props> = ({\r\n isDefaultQuestion,\r\n isDefaultQuestionGeneral\r\n}: Props) => {\r\n const {\r\n totalItems,\r\n gridOptions,\r\n setRef,\r\n goToDetail,\r\n filters,\r\n changeFilters,\r\n updateOrderQuestions\r\n } = useQuestionList(isDefaultQuestion, isDefaultQuestionGeneral)\r\n const onRowDragEnd = (e: any) => {\r\n const dataAfterDrag = e.node.parent.childrenAfterFilter.map(\r\n (item: any, index: any) => {\r\n return {\r\n id: item.data.id,\r\n orderDrag: ++index\r\n }\r\n }\r\n )\r\n updateOrderQuestions(dataAfterDrag)\r\n }\r\n return (\r\n <div className=\"animated fadeIn\">\r\n <Row className=\"my-2\">\r\n <Col md={8}>\r\n <SearchBoxContainer\r\n text=\"Create question\"\r\n onClick={() => goToDetail()}\r\n initValue={filters.searchString}\r\n onSearch={(searchString?: any) =>\r\n changeFilters({ searchString })\r\n }\r\n placeholder=\"Type something to Search question\"\r\n />\r\n </Col>\r\n {isDefaultQuestion && (\r\n <Col md={2}>\r\n <DefaultQuestionStudentTeacherFilter\r\n isDefaultQuestionTeacher={\r\n filters.isDefaultQuestionTeacher\r\n }\r\n onChange={(e: any) =>\r\n changeFilters({\r\n isDefaultQuestionTeacher: e ? e.value : null\r\n })\r\n }\r\n />\r\n </Col>\r\n )}\r\n {isDefaultQuestionGeneral && (\r\n <Col md={2}>\r\n <DefaultQuestionStudentTeacherFilter\r\n isDefaultQuestionTeacher={\r\n filters.isDefaultQuestionGeneralClassTeacher\r\n }\r\n onChange={(e: any) =>\r\n changeFilters({\r\n isDefaultQuestionGeneralClassTeacher: e\r\n ? e.value\r\n : null\r\n })\r\n }\r\n isDefaultGeneralClass={true}\r\n />\r\n </Col>\r\n )}\r\n <Col\r\n md={isDefaultQuestion || isDefaultQuestionGeneral ? 2 : 4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of questions: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={12} className=\"mb-2\">\r\n <div className=\"ag-theme-balham w-100\">\r\n <AgGridReact\r\n domLayout=\"autoHeight\"\r\n gridOptions={gridOptions}\r\n masterDetail\r\n onGridReady={params => {\r\n setRef(params.api)\r\n }}\r\n rowDragManaged={true}\r\n animateRows={true}\r\n modules={[\r\n MasterDetailModule,\r\n ClientSideRowModelModule\r\n ]}\r\n onRowDragEnd={onRowDragEnd}\r\n />\r\n </div>\r\n </Col>\r\n <Col md={12}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nQuestionBankList.defaultProps = {\r\n isDefaultQuestion: false\r\n}\r\n\r\nexport default QuestionBankList\r\n","import React from \"react\"\r\nimport { Button, Table } from \"reactstrap\"\r\nimport styles from \"../../../styles.module.css\"\r\nconst QuestionSplitPaneSelector = (props: any) => {\r\n const {\r\n selectItemQuestion,\r\n funcMoveItem,\r\n questionByCategoryList,\r\n selectQuestion,\r\n search,\r\n position\r\n } = props\r\n const ListQuestionSearchByCategory = questionByCategoryList.filter(\r\n (item: any) => {\r\n return item.text.toLowerCase().indexOf(search.toLowerCase()) > -1\r\n }\r\n )\r\n return (\r\n <React.Fragment>\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <tbody\r\n className={`\r\n ${styles[\"body-question\"]} ${\r\n styles[\"body-question-\" + position]\r\n }\r\n `}\r\n >\r\n {ListQuestionSearchByCategory &&\r\n ListQuestionSearchByCategory.length > 0 ? (\r\n ListQuestionSearchByCategory.map((record: any) => (\r\n <tr\r\n key={record.id}\r\n className={\r\n selectQuestion.find(\r\n (x: any) => x.id == record.id\r\n ) != null\r\n ? \"question-active\"\r\n : \"\"\r\n }\r\n onClick={() =>\r\n selectItemQuestion({\r\n id: record.id,\r\n text: record.text\r\n })\r\n }\r\n >\r\n <td\r\n className=\"align-middle\"\r\n dangerouslySetInnerHTML={{\r\n __html: record.text\r\n }}\r\n ></td>\r\n </tr>\r\n ))\r\n ) : (\r\n <tr>\r\n <td className=\"align-middle\">No data</td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </Table>\r\n {position == \"left\" ? (\r\n <div className=\"float-left\">\r\n <Button\r\n outline\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => funcMoveItem(\"right-all\")}\r\n >\r\n {\" \"}\r\n >>{\" \"}\r\n </Button>\r\n <Button\r\n outline\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => funcMoveItem(\"right\")}\r\n className=\"ml-4\"\r\n >\r\n {\" \"}\r\n >{\" \"}\r\n </Button>\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n {position == \"right\" ? (\r\n <div className=\"float-right\">\r\n <Button\r\n outline\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => funcMoveItem(\"left\")}\r\n >\r\n {\" \"}\r\n <{\" \"}\r\n </Button>\r\n <Button\r\n outline\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => funcMoveItem(\"left-all\")}\r\n className=\"ml-4\"\r\n >\r\n {\" \"}\r\n <<{\" \"}\r\n </Button>\r\n <Button\r\n outline\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => funcMoveItem(\"move-up\")}\r\n disabled={selectQuestion.length > 1}\r\n className=\"ml-4\"\r\n >\r\n {\" \"}\r\n ^{\" \"}\r\n </Button>\r\n <Button\r\n outline\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => funcMoveItem(\"move-down\")}\r\n disabled={selectQuestion.length > 1}\r\n className=\"ml-4\"\r\n >\r\n {\" \"}\r\n v{\" \"}\r\n </Button>\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n </React.Fragment>\r\n )\r\n}\r\nexport default QuestionSplitPaneSelector\r\n","import React, { forwardRef } from \"react\"\r\nimport { Row, Col, Input, Label } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\nimport * as yup from \"yup\"\r\nimport {\r\n CommonModal,\r\n ErrorHandler,\r\n RequiredLabel,\r\n QuestionCategorySelector\r\n} from \"mario-core\"\r\nimport QuestionSplitPaneSelector from \"./QuestionSplitPaneSelector\"\r\nconst schema = yup.object({\r\n name: yup.string().required(\"Name is required\")\r\n})\r\n\r\nconst ReflectionDetailModal = (props: any, ref: any) => {\r\n const arrId = props.selectedQuestions.map((item: any) => {\r\n return item.id\r\n })\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n onCancel,\r\n questionByCategoryList,\r\n getQuestionByCategory,\r\n selectItemQuestion,\r\n funcMoveItem,\r\n reflectionformDetail,\r\n selectedQuestions,\r\n selectQuestion,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n return (\r\n <Formik\r\n initialValues={reflectionformDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n values.questionIds = arrId\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n setFieldValue,\r\n handleSubmit,\r\n resetForm\r\n } = formikProps\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={() => {\r\n onCancel()\r\n resetForm()\r\n }}\r\n ref={ref}\r\n size=\"lg\"\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12}>\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col md={6}>\r\n <Label className=\"mt-3\">\r\n <h6>Available questions</h6>\r\n </Label>\r\n <Row>\r\n <Col md={12}>\r\n <Label>Category</Label>\r\n <QuestionCategorySelector\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"category\",\r\n e.value\r\n )\r\n getQuestionByCategory(e.id)\r\n }}\r\n id={values.category}\r\n />\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col md={12}>\r\n <Label>Search</Label>\r\n <Input\r\n name=\"search\"\r\n placeholder=\"Search question...\"\r\n value={values.search}\r\n onChange={handleChange}\r\n onBlur={handleBlur(\"search\")}\r\n className=\"mb-10\"\r\n />\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col md={12}>\r\n <QuestionSplitPaneSelector\r\n questionByCategoryList={\r\n questionByCategoryList\r\n }\r\n selectItemQuestion={\r\n selectItemQuestion\r\n }\r\n funcMoveItem={funcMoveItem}\r\n selectQuestion={selectQuestion}\r\n search={values.search}\r\n position=\"left\"\r\n />\r\n </Col>\r\n </Row>\r\n </Col>\r\n <Col md={6}>\r\n <Label className=\"mt-3\">\r\n <h6>Selected Questions</h6>\r\n </Label>\r\n <QuestionSplitPaneSelector\r\n selectItemQuestion={selectItemQuestion}\r\n funcMoveItem={funcMoveItem}\r\n questionByCategoryList={selectedQuestions}\r\n selectQuestion={selectQuestion}\r\n search=\"\"\r\n position=\"right\"\r\n />\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\nexport default forwardRef(ReflectionDetailModal)\r\n","import { useState, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n Filter,\r\n setLoading,\r\n setQuestionByCategory,\r\n setSelectQuestion,\r\n setMoveItemQuestion,\r\n setResetQuestionList,\r\n setAlert\r\n} from \"mario-core\"\r\n\r\nimport { get } from \"../../../services/questionService\"\r\nconst ALL_FILTER = {\r\n currentPage: 1,\r\n pageSize: -1,\r\n searchString: \"\",\r\n sortBy: \"\",\r\n sortOrder: \"\",\r\n name: \"\"\r\n}\r\nconst useQuestionCategory = () => {\r\n const dispatch = useDispatch()\r\n const questionByCategoryList = useSelector(\r\n (state: any) => state.questionByCategory.questionByCategoryList\r\n )\r\n const selectQuestion = useSelector(\r\n (state: any) => state.questionByCategory.selectQuestion\r\n )\r\n const selectedQuestions = useSelector(\r\n (state: any) => state.questionByCategory.selectedQuestions\r\n )\r\n const [filters, setFilters] = useState<Filter>(ALL_FILTER)\r\n const changeFilters = (updatedFilters: any) =>\r\n setFilters({\r\n ...filters,\r\n ...updatedFilters\r\n })\r\n\r\n const getQuestionByCategory = useCallback(\r\n async Id => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get({ ...filters, ...{ categoryId: Id } })\r\n dispatch(setQuestionByCategory(res.data.items))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [dispatch, filters]\r\n )\r\n const setSelectedQuestion = useCallback(\r\n question => {\r\n try {\r\n dispatch(setSelectQuestion(question))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n },\r\n [dispatch]\r\n )\r\n const resetQuestionList = useCallback(() => {\r\n dispatch(setResetQuestionList())\r\n }, [dispatch])\r\n const MoveItemQuestion = useCallback(\r\n type => {\r\n dispatch(setMoveItemQuestion(type))\r\n },\r\n [dispatch]\r\n )\r\n return {\r\n filters,\r\n changeFilters,\r\n selectQuestion,\r\n selectedQuestions,\r\n questionByCategoryList,\r\n getQuestionByCategory,\r\n setSelectedQuestion,\r\n MoveItemQuestion,\r\n resetQuestionList\r\n }\r\n}\r\n\r\nexport default useQuestionCategory\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\nconst REFLECTION_URL = `${BASE_URL}/api/ReflectionForm`\r\n\r\nexport const get = (filter: Filter) =>\r\n api.get(REFLECTION_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${REFLECTION_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(REFLECTION_URL, data)\r\n\r\nexport const update = (data: any) =>\r\n api.put(`${REFLECTION_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${REFLECTION_URL}/${id}`)\r\n","import { useState, useEffect, useCallback } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { setLoading, setEditItemQuesion, setAlert } from \"mario-core\"\r\n\r\nimport {\r\n getById,\r\n create,\r\n update\r\n} from \"../../../services/reflectionFormService\"\r\n\r\ntype ReflectionFormDetail = {\r\n id?: number\r\n name: string\r\n category: string\r\n questionIds: number[]\r\n search: string\r\n}\r\nconst initValue: ReflectionFormDetail = {\r\n id: 0,\r\n name: \"\",\r\n category: \"\",\r\n questionIds: [],\r\n search: \"\"\r\n}\r\nconst useReflectionFormDetail = () => {\r\n const dispatch = useDispatch()\r\n const [id, setId] = useState(0)\r\n const [\r\n reflectionformDetail,\r\n setReflectionformDetail\r\n ] = useState<ReflectionFormDetail>(initValue)\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id ? getData() : setReflectionformDetail(initValue)\r\n }, [id])\r\n\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const reset = () => {\r\n setReflectionformDetail(initValue)\r\n setId(0)\r\n }\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n document.title = res.data?.name\r\n const arrId = res.data.questions.map((item: any) => {\r\n return item.id\r\n })\r\n setReflectionformDetail({\r\n id: res.data.id,\r\n name: res.data.name,\r\n category: \"\",\r\n search: \"\",\r\n questionIds: arrId\r\n })\r\n dispatch(setEditItemQuesion(res.data.questions))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } reflection form successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id, reflectionformDetail]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n reflectionformDetail,\r\n confirmData,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useReflectionFormDetail\r\n","import { useState, useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n DEFAULT_FILTER,\r\n Filter,\r\n setLoading,\r\n setModal,\r\n setReflectionList,\r\n setAlert\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/reflectionFormService\"\r\n\r\nconst TITLE = \"Reflection form list\"\r\nconst useReflectionFormList = () => {\r\n const reflectionList = useSelector(\r\n (state: any) => state.reflections.reflectionList\r\n )\r\n const totalItems = useSelector((state: any) => state.reflections.totalItems)\r\n\r\n const [filters, setFilters] = useState<Filter>(DEFAULT_FILTER)\r\n const changeFilters = (updatedFilters: any) =>\r\n setFilters({\r\n ...filters,\r\n ...updatedFilters\r\n })\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(setReflectionList({ reflectionList: items, totalItems }))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n async (id: number) => {\r\n dispatch(setLoading(true))\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this reflection form?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message:\r\n \"Remove reflection form successfully\"\r\n })\r\n )\r\n\r\n getData()\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [dispatch]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n reflectionList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useReflectionFormList\r\n","import {\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n LinkEditButton,\r\n CustomPagination,\r\n SearchBoxContainer,\r\n QuitPrompt\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Row, Col, Table } from \"reactstrap\"\r\nimport ReflectionDetailModal from \"../components/ReflectionDetailModal\"\r\nimport useQuestionCategory from \"../hooks/useQuestionCategory\"\r\nimport useReflectionFormDetail from \"../hooks/useReflectionFormDetail\"\r\nimport useReflectionFormList from \"../hooks/useReflectionFormList\"\r\n\r\n// const header = \"Reflection forms\"\r\nconst ReflectionFormList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n questionByCategoryList,\r\n selectedQuestions,\r\n getQuestionByCategory,\r\n setSelectedQuestion,\r\n MoveItemQuestion,\r\n selectQuestion,\r\n resetQuestionList\r\n } = useQuestionCategory()\r\n const {\r\n reflectionList,\r\n totalItems,\r\n getData,\r\n removeData,\r\n filters,\r\n changeFilters\r\n } = useReflectionFormList()\r\n const {\r\n id,\r\n setId,\r\n reflectionformDetail,\r\n confirmData,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useReflectionFormDetail()\r\n const openModal = (reflectionId?: number) => {\r\n if (!reflectionId) {\r\n resetQuestionList()\r\n }\r\n !!reflectionId ? setId(reflectionId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n const selectItemQuestion = (question: any) => {\r\n setSelectedQuestion(question)\r\n }\r\n const funcMoveItem = (item: any) => {\r\n MoveItemQuestion(item)\r\n setEditedTrue()\r\n }\r\n\r\n const onCancel = () => reset()\r\n return (\r\n <div className=\"animated fadeIn\">\r\n {/* <h5 className=\"mb-2\">{header}</h5> */}\r\n\r\n <ReflectionDetailModal\r\n ref={modal}\r\n header={\r\n !!id ? \"Update Reflection forms\" : \"Create Reflection forms\"\r\n }\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n reflectionformDetail={reflectionformDetail}\r\n getQuestionByCategory={getQuestionByCategory}\r\n questionByCategoryList={questionByCategoryList}\r\n selectItemQuestion={selectItemQuestion}\r\n funcMoveItem={funcMoveItem}\r\n selectedQuestions={selectedQuestions}\r\n selectQuestion={selectQuestion}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <QuitPrompt when={edited} />\r\n <Row className=\"my-2\">\r\n <Col md={8}>\r\n <SearchBoxContainer\r\n text=\"Create reflection forms\"\r\n onClick={() => openModal()}\r\n initValue={filters.searchString}\r\n onSearch={(searchString?: any) =>\r\n changeFilters({ searchString })\r\n }\r\n placeholder=\"Type something to search reflection form\"\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of reflection forms: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={12}>\r\n {reflectionList && reflectionList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"align-top\">\r\n Number of Questions\r\n </th>\r\n <th className=\"align-top\">\r\n Number of results\r\n </th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {reflectionList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.numberOfQuestions}\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.numberOfResults}\r\n </td>\r\n <td className=\"align-middle text-center\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"reflection forms\" />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"text-right\">\r\n <CustomPagination\r\n totalRecordCount={totalItems}\r\n filters={filters}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\nexport default ReflectionFormList\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\nconst REFLECTION_REPONSE_URL = `${BASE_URL}/api/ReflectionFormResponse`\r\n\r\nexport const get = (filter: Filter) =>\r\n api.get(REFLECTION_REPONSE_URL, { params: filter })\r\n\r\nexport const getById = (id: number) =>\r\n api.get(`${REFLECTION_REPONSE_URL}/${id}`)\r\n","import { useCallback, useEffect, useState } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n DEFAULT_FILTER,\r\n Filter,\r\n setLoading,\r\n setReflectionResultList,\r\n setAlert\r\n} from \"mario-core\"\r\n\r\nimport { get } from \"../../../services/reflectionFormResponseService\"\r\n\r\nconst useReflectionResultList = () => {\r\n const reflectionResultList = useSelector(\r\n (state: any) => state.reflectionResults.reflectionResultList\r\n )\r\n\r\n const totalItems = useSelector(\r\n (state: any) => state.reflectionResults.totalItems\r\n )\r\n\r\n const [filters, setFilters] = useState<Filter>(DEFAULT_FILTER)\r\n const changeFilters = (updateFilters: any) => {\r\n setFilters({\r\n ...filters,\r\n ...updateFilters\r\n })\r\n }\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(\r\n setReflectionResultList({\r\n reflectionResultList: items,\r\n totalItems\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n reflectionResultList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData\r\n }\r\n}\r\n\r\nexport default useReflectionResultList\r\n","import { useCallback, useState, useEffect } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { setLoading, setAlert } from \"mario-core\"\r\n\r\nimport { getById } from \"../../../services/reflectionFormResponseService\"\r\n\r\nimport { ReflectionResultDetail } from \"../configs/types\"\r\n\r\nconst initValue: ReflectionResultDetail = {\r\n questionResponses: [],\r\n answerTexts: []\r\n}\r\n\r\nconst useReflectionResultDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [\r\n reflectionResultDetail,\r\n setReflectionResultDetail\r\n ] = useState<ReflectionResultDetail>(initValue)\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setReflectionResultDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n useEffect(() => {\r\n if (!!id) {\r\n getData()\r\n }\r\n }, [id])\r\n\r\n return {\r\n id,\r\n setId,\r\n reflectionResultDetail\r\n }\r\n}\r\n\r\nexport default useReflectionResultDetail\r\n","export type ReflectionResultDetail = {\r\n questionResponses: QuestionResponse[]\r\n answerTexts: AnswerText[]\r\n}\r\n\r\nexport type QuestionResponse = {\r\n id: number\r\n text: string\r\n questionId: number\r\n questionText: string\r\n fromLabel: string\r\n toLabel: string\r\n numberOfStars: number\r\n questionType: any\r\n isDefaultQuestion: true\r\n answeredSubQuestion: {\r\n id: number\r\n text: string\r\n }\r\n}\r\n\r\nexport type AnswerText = {\r\n questionResponseId: number\r\n text: string\r\n answerTextDetails: any[]\r\n}\r\n\r\nexport type ReflectionResult = {\r\n id: number\r\n reflectionFormName: string\r\n studentName: string\r\n createdAt: string\r\n}\r\n\r\nexport enum QuestionType {\r\n SingleChoice = \"SingleChoice\",\r\n MultipleChoice = \"MultipleChoice\",\r\n TextInput = \"TextInput\",\r\n Slider = \"Slider\",\r\n ProgressBar = \"ProgressBar\",\r\n StarRating = \"StarRating\",\r\n TextInputWithSuggestions = \"TextInputWithSuggestions\",\r\n Emotional = \"Emotional\",\r\n Summarize = \"Summarize\",\r\n Rating = \"Rating\",\r\n LearningStrategy = \"LearningStrategy\"\r\n}\r\n","import React from \"react\"\r\nimport { Progress } from \"reactstrap\"\r\n\r\n// import styles from \"../../styles/journey.module.scss\"\r\n\r\nconst RatingResponse = (props: any) => {\r\n const { fromLabel, toLabel, percent, questionText } = props\r\n return (\r\n <React.Fragment>\r\n <p\r\n className=\"font-weight-bold\"\r\n dangerouslySetInnerHTML={{\r\n __html: questionText\r\n }}\r\n />\r\n <div className=\"d-flex align-items-center mb-2\">\r\n <p className=\"mb-0 mr-2\">{fromLabel}</p>\r\n <Progress\r\n animated\r\n color=\"success\"\r\n value={percent}\r\n style={{ width: \"50%\", border: \"1px solid #ddd\" }}\r\n >\r\n {percent}\r\n </Progress>\r\n <p className=\"mb-0 ml-2\">{toLabel}</p>\r\n </div>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default RatingResponse\r\n","import React from \"react\"\r\n\r\nimport styles from \"../../../../styles.module.css\"\r\n\r\nconst EmotionalResponse = (props: any) => {\r\n const { questionText, emotionalText } = props\r\n return (\r\n <div className={`${styles[\"emotional-response\"]}`}>\r\n <p\r\n className=\"font-weight-bold\"\r\n dangerouslySetInnerHTML={{\r\n __html: questionText\r\n }}\r\n />\r\n <div className=\"d-flex align-items-center\">\r\n <div\r\n className=\"d-flex align-items-center\"\r\n dangerouslySetInnerHTML={{\r\n __html: emotionalText\r\n }}\r\n />\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default EmotionalResponse\r\n","import React from \"react\"\r\n\r\nconst TextInputResponse = (props: any) => {\r\n const { questionText, answerText, subQuestion } = props\r\n return (\r\n <div>\r\n <p\r\n className=\"font-weight-bold\"\r\n dangerouslySetInnerHTML={{\r\n __html: questionText\r\n }}\r\n />\r\n {subQuestion && (\r\n <p\r\n className=\"font-weight-bold\"\r\n dangerouslySetInnerHTML={{\r\n __html: subQuestion\r\n }}\r\n />\r\n )}\r\n\r\n <p\r\n dangerouslySetInnerHTML={{\r\n __html: answerText\r\n }}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default TextInputResponse\r\n","import React from \"react\"\r\n\r\nimport styles from \"../../../../styles.module.css\"\r\n\r\nconst MultipleChoiceResponse = (props: any) => {\r\n const { questionText, answerTextDetails } = props\r\n\r\n return (\r\n <div className={`${styles[\"multiple-choice-response\"]}`}>\r\n <p\r\n className=\"font-weight-bold\"\r\n dangerouslySetInnerHTML={{\r\n __html: questionText\r\n }}\r\n />\r\n {!!answerTextDetails && (\r\n <div>\r\n {answerTextDetails.map((item: any, index: number) => (\r\n <div\r\n key={index}\r\n className={`m-2 p-1 ${styles[\"multiple-choice-response\"]}`}\r\n >\r\n {item}\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default MultipleChoiceResponse\r\n","import React from \"react\"\r\nimport styles from \"../../../../styles.module.css\"\r\n\r\nconst StarRatingResponse = (props: any) => {\r\n const { answer, numberOfStars, questionText } = props\r\n var html_start = \"\"\r\n for (let i = 1; i <= numberOfStars; i++) {\r\n if (i <= parseInt(answer)) {\r\n html_start += `<i class=\"fas fa-star\"></i>`\r\n } else {\r\n html_start += `<i class=\"fal fa-star\"></i>`\r\n }\r\n }\r\n return (\r\n <React.Fragment>\r\n <p\r\n className={`${styles[\"question-text\"]} font-weight-bold`}\r\n dangerouslySetInnerHTML={{\r\n __html: questionText\r\n }}\r\n />\r\n <div className=\"d-flex align-items-center mb-2\">\r\n <div\r\n className={`${styles[\"star-rating\"]}`}\r\n dangerouslySetInnerHTML={{\r\n __html: html_start\r\n }}\r\n ></div>\r\n </div>\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default StarRatingResponse\r\n","import React, { forwardRef } from \"react\"\r\nimport { Row, Col } from \"reactstrap\"\r\nimport { CommonModal } from \"mario-core\"\r\n\r\nimport { QuestionResponse, AnswerText, QuestionType } from \"../configs/types\"\r\n\r\nimport RatingResponse from \"../components/QuestionResponse/RatingReponse\"\r\nimport EmotionalResponse from \"../components/QuestionResponse/EmotionalResponse\"\r\nimport TextInputResponse from \"../components/QuestionResponse/TextInputResponse\"\r\nimport MultipleChoiceResponse from \"../components/QuestionResponse/MultipleChoiceResponse\"\r\nimport RatingStarReponse from \"../components/QuestionResponse/RatingStarReponse\"\r\n\r\nconst ReflectionResultDetailModal = (props: any, ref: any) => {\r\n const { header, reflectionResultDetail } = props\r\n console.log(\r\n \"reflectionResultDetail.questionResponses : \",\r\n reflectionResultDetail.questionResponses\r\n )\r\n return (\r\n <CommonModal\r\n header={header}\r\n onCancel={() => {\r\n // onCancel()\r\n // resetForm()\r\n }}\r\n ref={ref}\r\n size=\"lg\"\r\n >\r\n <Row>\r\n <Col md={12}>\r\n {!!reflectionResultDetail &&\r\n reflectionResultDetail.questionResponses.map(\r\n (questionResponse: QuestionResponse) => {\r\n switch (questionResponse.questionType) {\r\n case QuestionType.Rating:\r\n case QuestionType.Slider:\r\n return (\r\n <RatingResponse\r\n questionText={\r\n questionResponse.questionText\r\n }\r\n fromLabel={\r\n questionResponse.fromLabel\r\n }\r\n toLabel={\r\n questionResponse.toLabel\r\n }\r\n percent={parseInt(\r\n questionResponse.text\r\n )}\r\n />\r\n )\r\n\r\n case QuestionType.Emotional:\r\n const answerTexts = reflectionResultDetail.answerTexts.filter(\r\n (answer: AnswerText) =>\r\n answer.questionResponseId ==\r\n questionResponse.id\r\n )\r\n return (\r\n <EmotionalResponse\r\n emotionalText={\r\n answerTexts[0].text\r\n }\r\n questionText={\r\n questionResponse.questionText\r\n }\r\n />\r\n )\r\n case QuestionType.TextInputWithSuggestions:\r\n return (\r\n <TextInputResponse\r\n questionText={\r\n questionResponse.questionText\r\n }\r\n subQuestion={\r\n questionResponse\r\n ?.answeredSubQuestion\r\n .text\r\n }\r\n answerText={\r\n questionResponse.text.split(\r\n \";\"\r\n )[1]\r\n }\r\n />\r\n )\r\n case QuestionType.StarRating:\r\n return (\r\n <RatingStarReponse\r\n questionText={\r\n questionResponse.questionText\r\n }\r\n numberOfStars={\r\n questionResponse.numberOfStars\r\n }\r\n answer={questionResponse.text}\r\n />\r\n )\r\n case QuestionType.SingleChoice:\r\n const answers = reflectionResultDetail.answerTexts.filter(\r\n (answer: AnswerText) =>\r\n answer.questionResponseId ==\r\n questionResponse.id\r\n )\r\n return (\r\n <TextInputResponse\r\n questionText={\r\n questionResponse.questionText\r\n }\r\n answerText={answers[0].text}\r\n />\r\n )\r\n case QuestionType.MultipleChoice:\r\n const multipleChoices = reflectionResultDetail.answerTexts.filter(\r\n (answer: AnswerText) =>\r\n answer.questionResponseId ==\r\n questionResponse.id\r\n )\r\n console.log(\r\n \"multipleChoices : \",\r\n multipleChoices\r\n )\r\n return (\r\n <MultipleChoiceResponse\r\n questionText={\r\n questionResponse.questionText\r\n }\r\n answerTextDetails={\r\n multipleChoices[0]\r\n .answerTextDetails\r\n }\r\n />\r\n )\r\n default:\r\n return (\r\n <TextInputResponse\r\n questionText={\r\n questionResponse.questionText\r\n }\r\n answerText={\r\n questionResponse.text\r\n }\r\n />\r\n )\r\n }\r\n }\r\n )}\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n}\r\n\r\nexport default forwardRef(ReflectionResultDetailModal)\r\n","import {\r\n EmptyDataAlert,\r\n CustomPagination,\r\n LinkEditButton,\r\n SearchBox,\r\n DATE_RESULT\r\n} from \"mario-core\"\r\nimport React, { FC, useRef, useState } from \"react\"\r\nimport { Row, Col, Table } from \"reactstrap\"\r\nimport { format } from \"date-fns\"\r\n\r\nimport useReflectionResultList from \"../hooks/useReflectionResultList\"\r\nimport useReflectionResultDetail from \"../hooks/useReflectionResultDetail\"\r\n\r\nimport { ReflectionResult } from \"../configs/types\"\r\n\r\nimport ReflectionResultDetailModal from \"../components/ReflectionResultDetailModal\"\r\n\r\nconst ReflectionResultList: FC = () => {\r\n const modal = useRef<any>()\r\n const [\r\n detailReflectionResultHeader,\r\n setDetailReflectionResultHeader\r\n ] = useState(\"\")\r\n\r\n const {\r\n reflectionResultList,\r\n totalItems,\r\n filters,\r\n changeFilters\r\n } = useReflectionResultList()\r\n\r\n const { setId, reflectionResultDetail } = useReflectionResultDetail()\r\n\r\n const openModal = (reflectionResult: ReflectionResult) => {\r\n setDetailReflectionResultHeader(\r\n `Detail ${reflectionResult.reflectionFormName} of ${reflectionResult.studentName}`\r\n )\r\n setId(reflectionResult.id)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n return (\r\n <div className=\"animated fadeIn\">\r\n <ReflectionResultDetailModal\r\n ref={modal}\r\n reflectionResultDetail={reflectionResultDetail}\r\n header={detailReflectionResultHeader}\r\n />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <SearchBox\r\n initValue={filters.searchString}\r\n onSearch={(searchString?: any) =>\r\n changeFilters({ searchString })\r\n }\r\n placeholder=\"Type something to search reflection result\"\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of reflection results: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {reflectionResultList && reflectionResultList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">\r\n Reflection name\r\n </th>\r\n <th className=\"align-top\">Student name</th>\r\n <th className=\"align-top\">Created at</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {reflectionResultList.map(\r\n (record: ReflectionResult) => (\r\n <tr key={record.id}>\r\n <td>\r\n <LinkEditButton\r\n label={\r\n record.reflectionFormName\r\n }\r\n onClick={() =>\r\n openModal(record)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.studentName}\r\n </td>\r\n <td>\r\n {format(\r\n new Date(record.createdAt),\r\n DATE_RESULT\r\n )}\r\n </td>\r\n </tr>\r\n )\r\n )}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"reflection forms\" />\r\n )}\r\n </Col>\r\n <Col md={8} className=\"text-right\">\r\n <CustomPagination\r\n totalRecordCount={totalItems}\r\n filters={filters}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ReflectionResultList\r\n","import React from \"react\"\r\nimport { CustomTab } from \"mario-core\"\r\n\r\nimport ReflectionFormList from \"./ReflectionFormList\"\r\nimport ReflectionResultList from \"./ReflectionResultList\"\r\n\r\nconst tabs = [\r\n {\r\n path: \"/admin/reflection/reflection-forms\",\r\n title: \"Reflection form\",\r\n component: ReflectionFormList\r\n },\r\n {\r\n path: \"/admin/reflection/reflection-results\",\r\n title: \"Reflection results\",\r\n component: ReflectionResultList\r\n }\r\n]\r\n\r\nconst title = \"Reflection form\"\r\n\r\nconst ReflectionContainer = () => {\r\n return <CustomTab title={title} tabs={tabs} />\r\n}\r\n\r\nexport default ReflectionContainer\r\n","import React, { FC, memo } from \"react\"\r\nimport { Row, Col, Input } from \"reactstrap\"\r\n\r\nimport { RequiredLabel } from \"mario-core\"\r\n\r\ninterface Props {\r\n fromLabel: string\r\n toLabel: string\r\n setFieldValue: any\r\n}\r\n\r\nconst SliderScale: FC<Props> = ({\r\n fromLabel,\r\n toLabel,\r\n setFieldValue\r\n}: Props) => {\r\n return (\r\n <Row className=\"mb-2\">\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Scale\" />\r\n </Col>\r\n <Col md={12} className=\"mb-2 ml-3\">\r\n <Row className=\"mb-2\">\r\n From\r\n <Col md={2}>\r\n <Input\r\n value={fromLabel}\r\n placeholder=\"From\"\r\n onChange={(e: any) =>\r\n setFieldValue(\"fromLabel\", e.target.value)\r\n }\r\n />\r\n </Col>\r\n to\r\n <Col md={2}>\r\n <Input\r\n value={toLabel}\r\n placeholder=\"To\"\r\n onChange={e =>\r\n setFieldValue(\"toLabel\", e.target.value)\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </Col>\r\n </Row>\r\n )\r\n}\r\n\r\nexport default memo(SliderScale)\r\n","import React, { FC, memo } from \"react\"\r\nimport { Row, Col } from \"reactstrap\"\r\n\r\nimport { StarRatingSelector, RequiredLabel } from \"mario-core\"\r\n\r\ninterface Props {\r\n numberOfStars: number\r\n setFieldValue: any\r\n}\r\n\r\nconst StarRating: FC<Props> = ({ numberOfStars, setFieldValue }: Props) => {\r\n return (\r\n <Row className=\"mb-2\">\r\n <Col md={12}>\r\n <RequiredLabel text=\"Number of stars\" />\r\n </Col>\r\n <Col md={2}>\r\n <StarRatingSelector\r\n id={numberOfStars}\r\n onChange={(e: any) =>\r\n setFieldValue(\"numberOfStars\", e.value)\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n )\r\n}\r\n\r\nexport default memo(StarRating)\r\n","import { useCallback } from \"react\"\r\n\r\nimport { QUESTION_TYPES, generateRandomString } from \"mario-core\"\r\n\r\nconst defaultAnswer = {\r\n text: \"\",\r\n isCorrectAnswer: false,\r\n mark: 0\r\n}\r\n\r\nconst useQuestionAnswerList = (\r\n type: string,\r\n answers: any[],\r\n setFieldValue: any\r\n) => {\r\n const addAnswer = useCallback(() => {\r\n setFieldValue(\"answers\", [\r\n ...answers,\r\n {\r\n ...defaultAnswer,\r\n id: generateRandomString()\r\n }\r\n ])\r\n }, [answers])\r\n\r\n const editAnswer = useCallback(\r\n (id: any, valueObject: any) => {\r\n const answersCloner = [...answers]\r\n let currentAnswerId = answersCloner.findIndex(\r\n answer => answer.id === id\r\n )\r\n if (\r\n (!!currentAnswerId && currentAnswerId > 0) ||\r\n currentAnswerId === 0\r\n ) {\r\n answersCloner[currentAnswerId] = {\r\n ...answersCloner[currentAnswerId],\r\n ...valueObject\r\n }\r\n }\r\n\r\n setFieldValue(\"answers\", answersCloner)\r\n },\r\n [answers]\r\n )\r\n\r\n const removeAnswer = useCallback(\r\n (id: any) => {\r\n const newAnswers = answers.filter((answer: any) => answer.id !== id)\r\n setFieldValue(\"answers\", newAnswers)\r\n },\r\n [answers]\r\n )\r\n\r\n const checkIsCorrect = useCallback(\r\n (id: any, isChecked: any) => {\r\n if (QUESTION_TYPES.MULTIPLE_CHOICE === type) {\r\n editAnswer(id, { isCorrectAnswer: isChecked })\r\n }\r\n\r\n if (QUESTION_TYPES.SINGLE_CHOICE === type) {\r\n const currentAnswer = answers.find(\r\n (answer: any) => answer.id === id\r\n )\r\n if (!currentAnswer) return\r\n if (currentAnswer.isCorrectAnswer) {\r\n editAnswer(id, { isCorrectAnswer: false })\r\n } else {\r\n const currentCorrectAnswerIndex = answers.findIndex(\r\n answer => answer.isCorrectAnswer\r\n )\r\n\r\n const answersCloner = [...answers]\r\n const currentClonerAnswerIndex = answersCloner.findIndex(\r\n (answer: any) => answer.id === id\r\n )\r\n\r\n if (\r\n (!!currentClonerAnswerIndex &&\r\n currentClonerAnswerIndex > 0) ||\r\n currentClonerAnswerIndex === 0\r\n ) {\r\n answersCloner[\r\n currentClonerAnswerIndex\r\n ].isCorrectAnswer = true\r\n }\r\n\r\n if (\r\n (!!currentCorrectAnswerIndex &&\r\n currentCorrectAnswerIndex > 0) ||\r\n currentCorrectAnswerIndex === 0\r\n ) {\r\n answersCloner[\r\n currentCorrectAnswerIndex\r\n ].isCorrectAnswer = false\r\n }\r\n\r\n setFieldValue(\"answers\", answersCloner)\r\n }\r\n }\r\n },\r\n [answers, type]\r\n )\r\n\r\n return { addAnswer, editAnswer, removeAnswer, checkIsCorrect }\r\n}\r\n\r\nexport default useQuestionAnswerList\r\n","import React, { FC } from \"react\"\r\nimport { Row, Col, CustomInput, Input } from \"reactstrap\"\r\nimport { Editor } from \"@tinymce/tinymce-react\"\r\n\r\nimport {\r\n AddButton,\r\n RequiredLabel,\r\n DeleteButtonIcon,\r\n QUESTION_TYPES,\r\n editorConfig,\r\n TINY_MCE_API_KEY,\r\n EMOTIONS as emotions\r\n} from \"mario-core\"\r\n\r\nimport useQuestionAnswerList from \"../hooks/useQuestionAnswerList\"\r\n\r\ninterface Props {\r\n type: string\r\n answers: any[]\r\n setFieldValue: () => any\r\n isSurvey: boolean\r\n}\r\n\r\nconst answerEditor = { ...editorConfig.answer }\r\n\r\nconst AnswerList: FC<Props> = ({\r\n type,\r\n answers,\r\n setFieldValue,\r\n isSurvey\r\n}: Props) => {\r\n const {\r\n addAnswer,\r\n editAnswer,\r\n removeAnswer,\r\n checkIsCorrect\r\n } = useQuestionAnswerList(type, answers, setFieldValue)\r\n\r\n const isEmotional = type === QUESTION_TYPES.EMOTIONAL\r\n const isSingleChoice = type === QUESTION_TYPES.SINGLE_CHOICE\r\n\r\n if (isEmotional) {\r\n answerEditor.toolbar = \"image\"\r\n answerEditor.plugins = \"image paste\"\r\n }\r\n\r\n return (\r\n <div className=\"animated fadeIn mb-2\">\r\n <Row className=\"mb-2\">\r\n <Col md={2}>\r\n {!isEmotional ? (\r\n <AddButton text=\"Add new answer\" onClick={addAnswer} />\r\n ) : (\r\n <RequiredLabel text=\"Emotion icon\" />\r\n )}\r\n </Col>\r\n <Col md={6}>\r\n <RequiredLabel text=\"Answer\" />\r\n </Col>\r\n {!isSurvey && !isEmotional && (\r\n <React.Fragment>\r\n <Col md={1}>\r\n <RequiredLabel text=\"Mark\" />\r\n </Col>\r\n <Col md={3}>\r\n <RequiredLabel text=\"Is correct answers\" />\r\n </Col>\r\n </React.Fragment>\r\n )}\r\n </Row>\r\n {answers.map((answer: any, index: number) => (\r\n <Row key={answer.id} className=\"border-top py-2\">\r\n <Col md={2}>\r\n {!isEmotional ? `${index + 1}` : `${emotions[index]}`}\r\n </Col>\r\n <Col md={6}>\r\n {isEmotional ? (\r\n <Editor\r\n apiKey={TINY_MCE_API_KEY}\r\n initialValue={answer.text}\r\n init={answerEditor}\r\n onEditorChange={(content: string) => {\r\n editAnswer(answer.id, { text: content })\r\n }}\r\n />\r\n ) : (\r\n <Input\r\n value={answer.text}\r\n onChange={(e: any) =>\r\n editAnswer(answer.id, {\r\n text: e.target.value\r\n })\r\n }\r\n />\r\n )}\r\n </Col>\r\n {!isSurvey && !isEmotional && (\r\n <React.Fragment>\r\n <Col md={1}>\r\n <Input\r\n type=\"number\"\r\n value={answer.mark || \"\"}\r\n onChange={(e: any) =>\r\n editAnswer(answer.id, {\r\n mark: e.target.value\r\n ? parseInt(e.target.value)\r\n : 0\r\n })\r\n }\r\n />\r\n </Col>\r\n <Col md={2}>\r\n <CustomInput\r\n type={isSingleChoice ? \"radio\" : \"checkbox\"}\r\n checked={answer.isCorrectAnswer}\r\n id={`checkbox-${answer.id}`}\r\n onChange={(e: any) =>\r\n checkIsCorrect(\r\n answer.id,\r\n e.target.checked\r\n )\r\n }\r\n />\r\n </Col>\r\n </React.Fragment>\r\n )}\r\n {answers.length > 2 && !isEmotional && (\r\n <Col md={1} className=\"text-center\">\r\n <DeleteButtonIcon\r\n onClick={() => removeAnswer(answer.id)}\r\n />\r\n </Col>\r\n )}\r\n </Row>\r\n ))}\r\n </div>\r\n )\r\n}\r\n\r\nexport default AnswerList\r\n","import { useCallback } from \"react\"\r\n\r\nconst defaultSubQuestion = \"\"\r\n\r\nconst useSubQuestionList = (subQuestions: string[], setFieldValue: any) => {\r\n const addSubQuestion = useCallback(() => {\r\n setFieldValue(\"subQuestions\", [...subQuestions, defaultSubQuestion])\r\n }, [subQuestions])\r\n\r\n const editSubQuestion = useCallback(\r\n (index: number, valueObject: string) => {\r\n const subQuestionsCloner = [...subQuestions]\r\n subQuestionsCloner[index] = valueObject\r\n\r\n setFieldValue(\"subQuestions\", subQuestionsCloner)\r\n },\r\n [subQuestions]\r\n )\r\n\r\n const removeSubQuestion = useCallback(\r\n (index: number) => {\r\n const newSubQuestions = [...subQuestions]\r\n newSubQuestions.splice(index, 1)\r\n setFieldValue(\"subQuestions\", newSubQuestions)\r\n },\r\n [subQuestions]\r\n )\r\n\r\n return { addSubQuestion, editSubQuestion, removeSubQuestion }\r\n}\r\n\r\nexport default useSubQuestionList\r\n","import React, { FC } from \"react\"\r\nimport { Row, Col, Input } from \"reactstrap\"\r\n\r\nimport { AddButton, RequiredLabel, DeleteButtonIcon } from \"mario-core\"\r\n\r\nimport useSubQuestionList from \"../hooks/useSubQuestionList\"\r\n\r\ninterface Props {\r\n subQuestions: string[]\r\n setFieldValue: any\r\n}\r\n\r\nconst SubQuestions: FC<Props> = ({ subQuestions, setFieldValue }: Props) => {\r\n const {\r\n addSubQuestion,\r\n editSubQuestion,\r\n removeSubQuestion\r\n } = useSubQuestionList(subQuestions, setFieldValue)\r\n return (\r\n <div className=\"animated fadeIn mb-2\">\r\n <Row className=\"mb-2\">\r\n <Col md={2}>\r\n <AddButton\r\n text=\"Add new sub question\"\r\n onClick={addSubQuestion}\r\n />\r\n </Col>\r\n <Col md={6}>\r\n <RequiredLabel text=\"Sub Questions\" />\r\n </Col>\r\n </Row>\r\n {subQuestions.map((subQuestion: string, index: number) => (\r\n <Row key={index} className=\"border-top py-2\">\r\n <Col md={6}>\r\n <Input\r\n value={subQuestion}\r\n onChange={(e: any) =>\r\n editSubQuestion(index, e.target.value)\r\n }\r\n />\r\n </Col>\r\n {subQuestions.length > 1 && (\r\n <Col md={1} className=\"text-center\">\r\n <DeleteButtonIcon\r\n onClick={() => removeSubQuestion(index)}\r\n />\r\n </Col>\r\n )}\r\n </Row>\r\n ))}\r\n </div>\r\n )\r\n}\r\n\r\nexport default SubQuestions\r\n","import React, { FC } from \"react\"\r\n\r\nimport { QUESTION_TYPES } from \"mario-core\"\r\n\r\nimport SliderScale from \"./SliderScale\"\r\nimport StarRating from \"./StarRating\"\r\nimport AnswerList from \"./AnswerList\"\r\nimport SubQuestions from \"./SubQuestions\"\r\n\r\ninterface Props {\r\n values: any\r\n setFieldValue: any\r\n}\r\n\r\nconst AdditionalComponent: FC<Props> = ({ values, setFieldValue }: Props) => {\r\n const {\r\n type,\r\n fromLabel,\r\n toLabel,\r\n numberOfStars,\r\n answers,\r\n isSurvey,\r\n subQuestions\r\n } = values\r\n if ([QUESTION_TYPES.SLIDER, QUESTION_TYPES.RATING].includes(type))\r\n return (\r\n <SliderScale\r\n fromLabel={fromLabel}\r\n toLabel={toLabel}\r\n setFieldValue={setFieldValue}\r\n />\r\n )\r\n\r\n if (QUESTION_TYPES.STAR_RATING === type)\r\n return (\r\n <StarRating\r\n numberOfStars={numberOfStars}\r\n setFieldValue={setFieldValue}\r\n />\r\n )\r\n\r\n if (\r\n [\r\n QUESTION_TYPES.SINGLE_CHOICE,\r\n QUESTION_TYPES.MULTIPLE_CHOICE,\r\n QUESTION_TYPES.EMOTIONAL\r\n ].includes(type)\r\n )\r\n return (\r\n <AnswerList\r\n type={type}\r\n answers={answers}\r\n isSurvey={isSurvey}\r\n setFieldValue={setFieldValue}\r\n />\r\n )\r\n\r\n if (QUESTION_TYPES.TEXT_INPUT_WITH_SUGGESTIONS == type)\r\n return (\r\n <SubQuestions\r\n subQuestions={subQuestions}\r\n setFieldValue={setFieldValue}\r\n />\r\n )\r\n\r\n return null\r\n}\r\n\r\nexport default AdditionalComponent\r\n","import * as yup from \"yup\"\r\nimport { QUESTION_TYPES } from \"mario-core\"\r\n\r\nconst schema = yup.object({\r\n text: yup.string().required(\"Question text is required\"),\r\n type: yup.string().required(\"Question type is required\"),\r\n categoryId: yup\r\n .number()\r\n .test(\r\n \"test category id\",\r\n \"Category is required\",\r\n (value: number) => value > 0\r\n )\r\n .required(\"category is required\"),\r\n explainAnswer: yup.string(),\r\n fromLabel: yup\r\n .string()\r\n .test(\r\n \"test from label for type slider\",\r\n \"From label is required\",\r\n function () {\r\n return (\r\n ([QUESTION_TYPES.SLIDER, QUESTION_TYPES.RATING].includes(\r\n this.parent?.type\r\n ) &&\r\n !!this.parent?.fromLabel?.trim()) ||\r\n ![QUESTION_TYPES.SLIDER, QUESTION_TYPES.RATING].includes(\r\n this.parent?.type\r\n )\r\n )\r\n }\r\n )\r\n .nullable(),\r\n toLabel: yup\r\n .string()\r\n .test(\r\n \"test to label for type slider\",\r\n \"To label is required\",\r\n function () {\r\n return (\r\n ([QUESTION_TYPES.SLIDER, QUESTION_TYPES.RATING].includes(\r\n this.parent?.type\r\n ) &&\r\n !!this.parent?.toLabel?.trim()) ||\r\n ![QUESTION_TYPES.SLIDER, QUESTION_TYPES.RATING].includes(\r\n this.parent?.type\r\n )\r\n )\r\n }\r\n )\r\n .nullable(),\r\n numberOfStars: yup\r\n .number()\r\n .test(\r\n \"test number of stars for type star rating\",\r\n \"Number of stars is required\",\r\n function () {\r\n return (\r\n (this.parent?.type === QUESTION_TYPES.STAR_RATING &&\r\n this.parent?.numberOfStars > 0) ||\r\n this.parent?.type !== QUESTION_TYPES.STAR_RATING\r\n )\r\n }\r\n )\r\n .nullable(),\r\n answers: yup.array(),\r\n isDefaultQuestion: yup.boolean(),\r\n isDefaultQuestionTeacher: yup\r\n .boolean()\r\n .nullable()\r\n .test(\r\n \"test default question for students or teachers\",\r\n \"Default question for teacher or student is required\",\r\n function () {\r\n return (\r\n !this.parent.isDefaultQuestion ||\r\n (this.parent.isDefaultQuestion &&\r\n this.parent.isDefaultQuestionTeacher !== null)\r\n )\r\n }\r\n ),\r\n isDefaultQuestionGeneralClass: yup.boolean(),\r\n isDefaultQuestionGeneralClassTeacher: yup\r\n .boolean()\r\n .nullable()\r\n .test(\r\n \"test default question for students or teachers\",\r\n \"Default question for teacher or student is required\",\r\n function () {\r\n return (\r\n !this.parent.isDefaultQuestionGeneralClass ||\r\n (this.parent.isDefaultQuestionGeneralClass &&\r\n this.parent.isDefaultQuestionGeneralClassTeacher !==\r\n null)\r\n )\r\n }\r\n )\r\n})\r\n\r\nexport default schema\r\n","import { QUESTION_TYPES } from \"mario-core\"\r\n\r\nconst success = () => ({\r\n isError: false\r\n})\r\nconst error = (message: string) => ({\r\n isError: true,\r\n message\r\n})\r\n\r\nconst validationChoices: any = (values: any) => {\r\n try {\r\n const { type, answers, isSurvey, isDefaultQuestion } = values\r\n\r\n const isEmotional = type === QUESTION_TYPES.EMOTIONAL\r\n\r\n if (\r\n ![\r\n QUESTION_TYPES.SINGLE_CHOICE,\r\n QUESTION_TYPES.MULTIPLE_CHOICE,\r\n QUESTION_TYPES.EMOTIONAL\r\n ].includes(type)\r\n )\r\n return success()\r\n\r\n // check answers quantity\r\n if (answers.length < 2)\r\n return error(\"Question must have at least 2 answers\")\r\n\r\n // check answers text\r\n const noTextAnswers = answers.find(\r\n (answer: any) => !answer.text || !answer.text.trim()\r\n )\r\n if (!!noTextAnswers) return error(\"All answers must have text\")\r\n\r\n // check correct answers\r\n const correctAnswers = answers.filter(\r\n (answer: any) => answer.isCorrectAnswer\r\n )\r\n if (\r\n !correctAnswers.length &&\r\n !isSurvey &&\r\n !isDefaultQuestion &&\r\n !isEmotional\r\n )\r\n return error(\"Question must have at least 1 correct answer\")\r\n\r\n // check correct answers mark\r\n const correctAnswerNoMark = correctAnswers.find(\r\n (answer: any) => !answer.mark\r\n )\r\n if (\r\n !!correctAnswerNoMark &&\r\n !isSurvey &&\r\n !isDefaultQuestion &&\r\n !isEmotional\r\n )\r\n return error(\"Correct answer's mark must be positive\")\r\n\r\n // check number of correct answer\r\n if (correctAnswers.length > 1 && QUESTION_TYPES.SINGLE_CHOICE === type)\r\n return error(\"Single choice type just has 1 correct answer\")\r\n\r\n return success()\r\n } catch (err) {\r\n return error(err.message)\r\n }\r\n}\r\n\r\nexport default validationChoices\r\n","const validationAnswerId = (data: any) => {\r\n try {\r\n const answers = data.answers.map((answer: any) => {\r\n if (typeof answer.id === \"string\") {\r\n delete answer.id\r\n }\r\n\r\n return answer\r\n })\r\n\r\n data = {\r\n ...data,\r\n answers\r\n }\r\n\r\n return data\r\n } catch (err) {\r\n return data\r\n }\r\n}\r\n\r\nexport default validationAnswerId\r\n","import { useState, useEffect, useCallback } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { useHistory } from \"react-router-dom\"\r\nimport { setLoading, setAlert } from \"mario-core\"\r\n\r\nimport { getById, create, update } from \"../../../services/questionService\"\r\nimport validationChoices from \"../configs/validationChoices\"\r\nimport validationAnswerId from \"../configs/validationAnswerId\"\r\n\r\ntype Answer = {\r\n text: string\r\n isCorrectAnswer: boolean\r\n mark: number\r\n emotionalText: string\r\n}\r\n\r\ntype QuestionDetail = {\r\n id?: number\r\n type: string\r\n text: string\r\n isDefaultQuestion: boolean\r\n isDefaultQuestionTeacher: boolean | null\r\n isDefaultQuestionGeneralClass: boolean\r\n isDefaultQuestionGeneralClassTeacher: boolean | null\r\n isMandatory: boolean\r\n categoryId: number\r\n explainAnswer?: string\r\n fromLabel?: string\r\n toLabel?: string\r\n numberOfStars?: number\r\n answers: Answer[]\r\n isSurvey: boolean\r\n subQuestions: string[]\r\n}\r\n\r\nconst initValue = {\r\n type: \"\",\r\n text: \"\",\r\n isDefaultQuestion: false,\r\n isDefaultQuestionTeacher: null,\r\n isDefaultQuestionGeneralClass: false,\r\n isDefaultQuestionGeneralClassTeacher: null,\r\n categoryId: 0,\r\n explainAnswer: \"\",\r\n fromLabel: \"\",\r\n toLabel: \"\",\r\n numberOfStars: 0,\r\n answers: [],\r\n isSurvey: true,\r\n subQuestions: [],\r\n isMandatory: false\r\n}\r\n\r\nconst QUESTION_URL = \"/admin/question/question-list\"\r\nconst DEFAULT_QUESTION_URL = \"/admin/question/default-question-list\"\r\nconst DEFAULT_QUESTION_GENERAL_URL =\r\n \"/admin/question/default-question-general-list\"\r\nconst TITLE = \"Question detail\"\r\n\r\nconst useQuestionDetail = (id?: number) => {\r\n let editorRef: any\r\n const dispatch = useDispatch()\r\n const history = useHistory()\r\n const [questionDetail, setQuestionDetail] = useState<QuestionDetail>(\r\n initValue\r\n )\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n setEdited(false)\r\n if (!!localStorage.getItem(window.location.href))\r\n localStorage.removeItem(window.location.href)\r\n }, [])\r\n\r\n useEffect(() => {\r\n !!id && getData()\r\n }, [id])\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n const res = await getById(id as number)\r\n setQuestionDetail({\r\n ...res.data,\r\n categoryId: res.data.category?.id,\r\n isDefaultQuestionTeacher: res.data?.isDefaultQuestion\r\n ? res.data?.isDefaultQuestionTeacher\r\n : null\r\n })\r\n editorRef &&\r\n editorRef.editor.execCommand(\r\n \"mceSetContent\",\r\n false,\r\n res.data.text\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || \"Get question failed\"\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const setEditorRef = (node: any) => (editorRef = node)\r\n\r\n const backToList = useCallback(() => {\r\n let url = \"\"\r\n if (\r\n !questionDetail.isDefaultQuestion &&\r\n !questionDetail.isDefaultQuestionGeneralClass\r\n ) {\r\n url = QUESTION_URL\r\n }\r\n if (questionDetail.isDefaultQuestion) {\r\n url = DEFAULT_QUESTION_URL\r\n }\r\n if (questionDetail.isDefaultQuestionGeneralClass) {\r\n url = DEFAULT_QUESTION_GENERAL_URL\r\n }\r\n history.push(url)\r\n }, [questionDetail])\r\n\r\n const confirmData = useCallback(\r\n async (data: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n const validator = validationChoices(data)\r\n if (validator.isError) throw new Error(validator.message)\r\n\r\n data = validationAnswerId(data)\r\n\r\n await next(data)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } question successfully`\r\n })\r\n )\r\n backToList()\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id]\r\n )\r\n\r\n return {\r\n questionDetail,\r\n setEditorRef,\r\n backToList,\r\n confirmData,\r\n edited,\r\n setEdited,\r\n setEditedTrue\r\n }\r\n}\r\n\r\nexport default useQuestionDetail\r\n","import React, { FC } from \"react\"\r\nimport { Row, Col, CustomInput } from \"reactstrap\"\r\nimport { useParams } from \"react-router-dom\"\r\nimport { Formik } from \"formik\"\r\nimport { Editor } from \"@tinymce/tinymce-react\"\r\n\r\nimport {\r\n QuitPrompt,\r\n QuestionTypeSelector,\r\n QuestionCategorySelector,\r\n ErrorHandler,\r\n DetailActionButtons,\r\n RequiredLabel,\r\n QUESTION_TYPES,\r\n generateRandomString,\r\n editorConfig,\r\n TINY_MCE_API_KEY,\r\n EMOTIONS as emotions\r\n} from \"mario-core\"\r\n\r\nimport AdditionalComponent from \"../components/AdditionalComponent\"\r\nimport DefaultQuestionStudentTeacherFilter from \"../components/DefaultQuestionStudentTeacherFilter\"\r\nimport schema from \"../configs/questionDetailSchema\"\r\nimport useQuestionDetail from \"../hooks/useQuestionDetail\"\r\n\r\nconst CREATE_QUESTION_HEADER = \"Create question\"\r\nconst EDIT_QUESTION_HEADER = \"Edit question\"\r\n\r\nconst QuestionDetail: FC = () => {\r\n const { id } = useParams<{ id: string }>()\r\n\r\n const {\r\n questionDetail,\r\n backToList,\r\n confirmData,\r\n edited,\r\n setEdited,\r\n setEditedTrue\r\n } = useQuestionDetail(parseInt(id))\r\n\r\n const header = !!id ? EDIT_QUESTION_HEADER : CREATE_QUESTION_HEADER\r\n\r\n const confirmText = !!id ? \"Update\" : \"Create\"\r\n\r\n const additionalFields = [\"fromLabel\", \"toLabel\", \"numberOfStars\"]\r\n return (\r\n <Formik\r\n initialValues={questionDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={values => {\r\n if (\r\n values.type == QUESTION_TYPES.EMOTIONAL &&\r\n !!values.answers\r\n ) {\r\n for (var index in values.answers) {\r\n values.answers[index].emotionalText = emotions[index]\r\n }\r\n }\r\n confirmData(values)\r\n setEdited(false)\r\n if (!!localStorage.getItem(window.location.href))\r\n localStorage.removeItem(window.location.href)\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n setFieldValue,\r\n // handleChange,\r\n // handleBlur,\r\n handleSubmit\r\n } = formikProps\r\n const onChangeQuestionType = (e: any) => {\r\n if (\r\n ![\r\n QUESTION_TYPES.EMOTIONAL,\r\n QUESTION_TYPES.LEARNING_STRATEGY,\r\n QUESTION_TYPES.RATING,\r\n QUESTION_TYPES.SUMMARIZE,\r\n QUESTION_TYPES.TEXT_INPUT_WITH_SUGGESTIONS,\r\n QUESTION_TYPES.TEXT_INPUT\r\n ].includes(e.value)\r\n ) {\r\n setFieldValue(\"isDefaultQuestion\", false)\r\n setFieldValue(\"isDefaultQuestionTeacher\", null)\r\n setFieldValue(\"isDefaultQuestionGeneralClass\", false)\r\n setFieldValue(\r\n \"isDefaultQuestionGeneralClassTeacher\",\r\n null\r\n )\r\n }\r\n\r\n if (\r\n QUESTION_TYPES.EMOTIONAL == e.value &&\r\n values.type !== QUESTION_TYPES.EMOTIONAL\r\n ) {\r\n const defaultAnswerList = new Array(10)\r\n .fill(\"\")\r\n .map((_item: any, index: number) => ({\r\n text: \"\",\r\n id: generateRandomString(),\r\n emotionalText: emotions[index]\r\n }))\r\n setFieldValue(\"answers\", defaultAnswerList)\r\n }\r\n\r\n setFieldValue(\"type\", e.value)\r\n setEditedTrue()\r\n }\r\n return (\r\n <div className=\"animated fadeIn detail-buttons-padding\">\r\n <QuitPrompt when={edited} />\r\n <h5 className=\"mb-2\">{header}</h5>\r\n <Row className=\"mt-2\">\r\n <Col md={8}>\r\n <Row className=\"mb-2\">\r\n <Col md={6}>\r\n <RequiredLabel text=\"Question Type\" />\r\n <QuestionTypeSelector\r\n onChange={onChangeQuestionType}\r\n id={values.type}\r\n isDisabled={!!id}\r\n />\r\n {touched.type && errors.type && (\r\n <ErrorHandler text={errors.type} />\r\n )}\r\n </Col>\r\n <Col md={6}>\r\n <RequiredLabel text=\"Category\" />\r\n <QuestionCategorySelector\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"categoryId\",\r\n e.value\r\n )\r\n setEditedTrue()\r\n }}\r\n id={values.categoryId}\r\n />\r\n {touched.categoryId &&\r\n errors.categoryId && (\r\n <ErrorHandler\r\n text={errors.categoryId}\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Question text\" />\r\n {(questionDetail.text || !id) && (\r\n <Editor\r\n apiKey={TINY_MCE_API_KEY}\r\n initialValue={\r\n questionDetail.text\r\n }\r\n init={editorConfig.question}\r\n onEditorChange={content => {\r\n setFieldValue(\r\n \"text\",\r\n content\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n )}\r\n {touched.text && errors.text && (\r\n <ErrorHandler text={errors.text} />\r\n )}\r\n </Col>\r\n {/* <Col md={12}>\r\n <Label>Explain your answer</Label>\r\n <Input\r\n type=\"textarea\"\r\n name=\"explainAnswer\"\r\n placeholder=\"Explain your answer\"\r\n value={values.explainAnswer}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"explainAnswer\")}\r\n />\r\n </Col> */}\r\n </Row>\r\n </Col>\r\n <Col md={4}>\r\n <Row>\r\n <Col md={12} className=\"mb-1\">\r\n <Row>\r\n {[\r\n QUESTION_TYPES.EMOTIONAL,\r\n QUESTION_TYPES.LEARNING_STRATEGY,\r\n QUESTION_TYPES.RATING,\r\n QUESTION_TYPES.SUMMARIZE,\r\n QUESTION_TYPES.TEXT_INPUT_WITH_SUGGESTIONS,\r\n QUESTION_TYPES.TEXT_INPUT\r\n ].includes(values.type) && (\r\n <React.Fragment>\r\n <Col md={12}>\r\n <CustomInput\r\n type=\"checkbox\"\r\n id={`question-default-checkbox`}\r\n label=\"Is default question\"\r\n checked={\r\n values.isDefaultQuestion\r\n }\r\n onChange={() => {\r\n setFieldValue(\r\n \"isDefaultQuestion\",\r\n !values.isDefaultQuestion\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n </Col>\r\n {values.isDefaultQuestion && (\r\n <Col\r\n md={12}\r\n className=\"my-2\"\r\n >\r\n <DefaultQuestionStudentTeacherFilter\r\n isDefaultQuestionTeacher={\r\n values.isDefaultQuestionTeacher\r\n }\r\n onChange={(\r\n e: any\r\n ) => {\r\n setFieldValue(\r\n \"isDefaultQuestionTeacher\",\r\n e\r\n ? e.value\r\n : null\r\n )\r\n setEditedTrue()\r\n }}\r\n placeholder=\"Default question for students or teachers\"\r\n />\r\n {touched.isDefaultQuestionTeacher &&\r\n errors.isDefaultQuestionTeacher && (\r\n <ErrorHandler\r\n text={\r\n errors.isDefaultQuestionTeacher\r\n }\r\n />\r\n )}\r\n </Col>\r\n )}\r\n <Col md={12}>\r\n <CustomInput\r\n type=\"checkbox\"\r\n id={`question-default-general-checkbox`}\r\n label=\"Is default question general class\"\r\n checked={\r\n values.isDefaultQuestionGeneralClass\r\n }\r\n onChange={() => {\r\n setFieldValue(\r\n \"isDefaultQuestionGeneralClass\",\r\n !values.isDefaultQuestionGeneralClass\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n </Col>\r\n {values.isDefaultQuestionGeneralClass && (\r\n <Col\r\n md={12}\r\n className=\"my-2\"\r\n >\r\n <DefaultQuestionStudentTeacherFilter\r\n isDefaultQuestionTeacher={\r\n values.isDefaultQuestionGeneralClassTeacher\r\n }\r\n onChange={(\r\n e: any\r\n ) => {\r\n setFieldValue(\r\n \"isDefaultQuestionGeneralClassTeacher\",\r\n e\r\n ? e.value\r\n : null\r\n )\r\n setEditedTrue()\r\n }}\r\n placeholder=\"Default question general for students or teachers\"\r\n isDefaultGeneralClass={\r\n true\r\n }\r\n />\r\n {touched.isDefaultQuestionGeneralClassTeacher &&\r\n errors.isDefaultQuestionGeneralClassTeacher && (\r\n <ErrorHandler\r\n text={\r\n errors.isDefaultQuestionGeneralClassTeacher\r\n }\r\n />\r\n )}\r\n </Col>\r\n )}\r\n <Col md={12}>\r\n <CustomInput\r\n type=\"checkbox\"\r\n id={`question-default-mandatory-checkbox`}\r\n label=\"Is Default Question Mandatory\"\r\n checked={\r\n values.isMandatory\r\n }\r\n onChange={() => {\r\n setFieldValue(\r\n \"isMandatory\",\r\n !values.isMandatory\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n </Col>\r\n </React.Fragment>\r\n )}\r\n {/*\r\n <Col md={6}>\r\n <CustomInput\r\n type=\"checkbox\"\r\n id={`question-survey-checkbox`}\r\n label=\"Is question survey\"\r\n checked={values.isSurvey}\r\n onChange={() => {\r\n setFieldValue(\r\n \"isSurvey\",\r\n !values.isSurvey\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n </Col> */}\r\n </Row>\r\n </Col>\r\n </Row>\r\n </Col>\r\n </Row>\r\n <AdditionalComponent\r\n values={values}\r\n setFieldValue={setFieldValue}\r\n />\r\n {additionalFields.map(field =>\r\n touched[field] && errors[field] ? (\r\n <ErrorHandler\r\n text={errors[field]}\r\n key={field}\r\n />\r\n ) : null\r\n )}\r\n <DetailActionButtons\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={backToList}\r\n />\r\n </div>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default QuestionDetail\r\n","import React from \"react\"\r\nimport { Button, Table } from \"reactstrap\"\r\nimport styles from \"../../../styles.module.css\"\r\nconst QuestionSplitPaneSelector = (props: any) => {\r\n const {\r\n selectItemQuestion,\r\n funcMoveItem,\r\n questionByCategoryList,\r\n selectQuestion,\r\n search,\r\n position\r\n } = props\r\n const ListQuestionSearchByCategory = questionByCategoryList.filter(\r\n (item: any) => {\r\n return item.text.toLowerCase().indexOf(search.toLowerCase()) > -1\r\n }\r\n )\r\n return (\r\n <React.Fragment>\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <tbody\r\n className={`\r\n ${styles[\"body-question\"]} ${\r\n styles[\"body-question-\" + position]\r\n }\r\n `}\r\n >\r\n {ListQuestionSearchByCategory &&\r\n ListQuestionSearchByCategory.length > 0 ? (\r\n ListQuestionSearchByCategory.map((record: any) => (\r\n <tr\r\n key={record.id}\r\n className={\r\n selectQuestion.find(\r\n (x: any) => x.id == record.id\r\n ) != null\r\n ? \"question-active\"\r\n : \"\"\r\n }\r\n onClick={() =>\r\n selectItemQuestion({\r\n id: record.id,\r\n text: record.text\r\n })\r\n }\r\n >\r\n <td className=\"align-middle\">\r\n <div\r\n dangerouslySetInnerHTML={{\r\n __html: record.text\r\n }}\r\n />\r\n </td>\r\n </tr>\r\n ))\r\n ) : (\r\n <tr>\r\n <td className=\"align-middle\">No data</td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </Table>\r\n {position == \"left\" ? (\r\n <div className=\"float-left\">\r\n <Button\r\n outline\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => funcMoveItem(\"right-all\")}\r\n >\r\n {\" \"}\r\n >>{\" \"}\r\n </Button>\r\n <Button\r\n outline\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => funcMoveItem(\"right\")}\r\n className=\"ml-4\"\r\n >\r\n {\" \"}\r\n >{\" \"}\r\n </Button>\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n {position == \"right\" ? (\r\n <div className=\"float-right\">\r\n <Button\r\n outline\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => funcMoveItem(\"left\")}\r\n >\r\n {\" \"}\r\n <{\" \"}\r\n </Button>\r\n <Button\r\n outline\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => funcMoveItem(\"left-all\")}\r\n className=\"ml-4\"\r\n >\r\n {\" \"}\r\n <<{\" \"}\r\n </Button>\r\n <Button\r\n outline\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => funcMoveItem(\"move-up\")}\r\n disabled={selectQuestion.length > 1}\r\n className=\"ml-4\"\r\n >\r\n {\" \"}\r\n ^{\" \"}\r\n </Button>\r\n <Button\r\n outline\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => funcMoveItem(\"move-down\")}\r\n disabled={selectQuestion.length > 1}\r\n className=\"ml-4\"\r\n >\r\n {\" \"}\r\n v{\" \"}\r\n </Button>\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n </React.Fragment>\r\n )\r\n}\r\nexport default QuestionSplitPaneSelector\r\n","import React, { forwardRef } from \"react\"\r\nimport { Row, Col, Input, Label } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\nimport * as yup from \"yup\"\r\nimport QuestionSplitPaneSelector from \"./QuestionSplitPaneSelector\"\r\nimport {\r\n CommonModal,\r\n ErrorHandler,\r\n RequiredLabel,\r\n QuestionCategorySelector\r\n} from \"mario-core\"\r\n\r\nconst schema = yup.object({\r\n name: yup.string().required(\"Name is required\")\r\n})\r\n\r\nconst AssessmentDetailModal = (props: any, ref: any) => {\r\n const arrId =\r\n !!props.selectedQuestions &&\r\n props.selectedQuestions.map((item: any) => {\r\n return item.id\r\n })\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n onCancel,\r\n assessmentDetail,\r\n questionByCategoryList,\r\n selectItemQuestion,\r\n getQuestionByCategory,\r\n funcMoveItem,\r\n selectedQuestions,\r\n selectQuestion,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n return (\r\n <Formik\r\n initialValues={assessmentDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n values.questionIds = arrId\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n resetForm,\r\n setFieldValue\r\n } = formikProps\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={() => {\r\n onCancel()\r\n resetForm()\r\n }}\r\n ref={ref}\r\n size=\"lg\"\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12}>\r\n <Row>\r\n <Col md={12}>\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </Col>\r\n {/* <Col md={12}>\r\n <Label>Description</Label>\r\n <Input\r\n style={{ height: 125 }}\r\n name=\"description\"\r\n placeholder=\"Description\"\r\n value={values.description}\r\n onChange={handleChange}\r\n onBlur={handleBlur(\"description\")}\r\n />\r\n </Col> */}\r\n </Row>\r\n <Row>\r\n <Col md={6}>\r\n <Label className=\"mt-3\">\r\n <h6>Available questions</h6>\r\n </Label>\r\n <Row>\r\n <Col md={12}>\r\n <Label>Category</Label>\r\n <QuestionCategorySelector\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"category\",\r\n e.value\r\n )\r\n getQuestionByCategory(e.id)\r\n }}\r\n id={values.category}\r\n />\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col md={12} className=\"pt-1\">\r\n <Label>Search</Label>\r\n <Input\r\n name=\"search\"\r\n placeholder=\"Search question...\"\r\n value={values.search}\r\n onChange={handleChange}\r\n onBlur={handleBlur(\"search\")}\r\n className=\"mb-10\"\r\n />\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col md={12}>\r\n <QuestionSplitPaneSelector\r\n questionByCategoryList={\r\n questionByCategoryList\r\n }\r\n selectItemQuestion={\r\n selectItemQuestion\r\n }\r\n funcMoveItem={funcMoveItem}\r\n selectQuestion={selectQuestion}\r\n search={values.search}\r\n position=\"left\"\r\n />\r\n </Col>\r\n </Row>\r\n </Col>\r\n <Col md={6}>\r\n <Label className=\"mt-3\">\r\n <h6>Selected Questions</h6>\r\n </Label>\r\n <QuestionSplitPaneSelector\r\n selectItemQuestion={selectItemQuestion}\r\n funcMoveItem={funcMoveItem}\r\n questionByCategoryList={selectedQuestions}\r\n selectQuestion={selectQuestion}\r\n search=\"\"\r\n position=\"right\"\r\n />\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(AssessmentDetailModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst ASSESSMENT_URL = `${BASE_URL}/api/assessment`\r\n\r\nexport const get = (filter?: Partial<Filter>) =>\r\n api.get(ASSESSMENT_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${ASSESSMENT_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(ASSESSMENT_URL, data)\r\n\r\nexport const update = (data: any) =>\r\n api.put(`${ASSESSMENT_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${ASSESSMENT_URL}/${id}`)\r\n","import { useState, useEffect, useCallback } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { setLoading, setEditItemQuesion, setAlert } from \"mario-core\"\r\n\r\nimport { getById, create, update } from \"../../../services/assessmentService\"\r\n\r\ntype AssessmentDetail = {\r\n name: string\r\n beginDate?: string\r\n endDate?: string\r\n studentIds: any\r\n category: string\r\n questionIds: number[]\r\n search: string\r\n}\r\n\r\nconst initValue: AssessmentDetail = {\r\n name: \"\",\r\n beginDate: \"\",\r\n endDate: \"\",\r\n studentIds: [],\r\n category: \"\",\r\n questionIds: [],\r\n search: \"\"\r\n}\r\n\r\nconst useAssessmentDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [assessmentDetail, setAssessmentDetail] = useState<AssessmentDetail>(\r\n initValue\r\n )\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id ? getData() : setAssessmentDetail(initValue)\r\n }, [id])\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const reset = () => {\r\n setAssessmentDetail(initValue)\r\n setId(0)\r\n }\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setAssessmentDetail({\r\n ...res.data,\r\n questionIds: res.data?.questions?.map((q: any) => q.id),\r\n studentIds: res.data?.students?.map((s: any) => s.studentId),\r\n category: \"\",\r\n search: \"\"\r\n })\r\n dispatch(setEditItemQuesion(res.data.questions))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } assessment successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id, assessmentDetail]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n assessmentDetail,\r\n setAssessmentDetail,\r\n confirmData,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useAssessmentDetail\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setLoading,\r\n setModal,\r\n setAlert,\r\n setAssessmentList,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/assessmentService\"\r\n\r\nconst TITLE = \"Assessment list\"\r\nconst useAssessmentList = () => {\r\n const assessmentList = useSelector(\r\n (state: any) => state.assessments.assessmentList\r\n )\r\n const totalItems = useSelector((state: any) => state.assessments.totalItems)\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(setAssessmentList({ assessmentList: items, totalItems }))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this assessment?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: \"Remove assessment successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n assessmentList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useAssessmentList\r\n","import { useState, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n DEFAULT_FILTER,\r\n Filter,\r\n setLoading,\r\n setQuestionByCategory,\r\n setSelectQuestion,\r\n setMoveItemQuestion,\r\n setResetQuestionList,\r\n setAlert\r\n} from \"mario-core\"\r\n\r\nimport { get } from \"../../../services/questionService\"\r\nconst useQuestionCategory = () => {\r\n const dispatch = useDispatch()\r\n const questionByCategoryList = useSelector(\r\n (state: any) => state.questionByCategory.questionByCategoryList\r\n )\r\n const selectQuestion = useSelector(\r\n (state: any) => state.questionByCategory.selectQuestion\r\n )\r\n const selectedQuestions = useSelector(\r\n (state: any) => state.questionByCategory.selectedQuestions\r\n )\r\n const [filters, setFilters] = useState<Filter>(DEFAULT_FILTER)\r\n const changeFilters = (updatedFilters: any) =>\r\n setFilters({\r\n ...filters,\r\n ...updatedFilters\r\n })\r\n\r\n const getQuestionByCategory = useCallback(\r\n async Id => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get({ ...filters, ...{ categoryId: Id } })\r\n dispatch(setQuestionByCategory(res.data.items))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [dispatch, filters]\r\n )\r\n const setSelectedQuestion = useCallback(\r\n question => {\r\n try {\r\n dispatch(setSelectQuestion(question))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n },\r\n [dispatch]\r\n )\r\n const resetQuestionList = useCallback(() => {\r\n dispatch(setResetQuestionList())\r\n }, [dispatch])\r\n const MoveItemQuestion = useCallback(\r\n type => {\r\n dispatch(setMoveItemQuestion(type))\r\n },\r\n [dispatch]\r\n )\r\n return {\r\n filters,\r\n changeFilters,\r\n selectQuestion,\r\n selectedQuestions,\r\n questionByCategoryList,\r\n getQuestionByCategory,\r\n setSelectedQuestion,\r\n MoveItemQuestion,\r\n resetQuestionList\r\n }\r\n}\r\n\r\nexport default useQuestionCategory\r\n","import {\r\n AddButton,\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n LinkEditButton,\r\n CustomPagination,\r\n QuitPrompt\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\n\r\nimport AssessmentDetailModal from \"../components/AssessmentDetailModal\"\r\nimport useAssessmentDetail from \"../hooks/useAssessmentDetail\"\r\nimport useAssessmentList from \"../hooks/useAssessmentList\"\r\nimport useQuestionCategory from \"../hooks/useQuestionCategory\"\r\n\r\nconst AssessmentList: FC = () => {\r\n const modal = useRef<any>()\r\n const {\r\n assessmentList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n } = useAssessmentList()\r\n\r\n const {\r\n id,\r\n setId,\r\n assessmentDetail,\r\n confirmData,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useAssessmentDetail()\r\n const {\r\n questionByCategoryList,\r\n selectedQuestions,\r\n getQuestionByCategory,\r\n setSelectedQuestion,\r\n MoveItemQuestion,\r\n selectQuestion,\r\n resetQuestionList\r\n } = useQuestionCategory()\r\n const selectItemQuestion = (question: any) => {\r\n setSelectedQuestion(question)\r\n }\r\n const funcMoveItem = (item: any) => {\r\n MoveItemQuestion(item)\r\n setEditedTrue()\r\n }\r\n const openModal = (assessmentId?: number) => {\r\n if (!assessmentId) {\r\n resetQuestionList()\r\n }\r\n !!assessmentId ? setId(assessmentId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n\r\n const onCancel = () => reset()\r\n\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <AssessmentDetailModal\r\n ref={modal}\r\n header={\r\n !!id ? \"Edit diagnostic survey\" : \"Create diagnostic survey\"\r\n }\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n assessmentDetail={assessmentDetail}\r\n getQuestionByCategory={getQuestionByCategory}\r\n questionByCategoryList={questionByCategoryList}\r\n selectItemQuestion={selectItemQuestion}\r\n funcMoveItem={funcMoveItem}\r\n selectedQuestions={selectedQuestions}\r\n selectQuestion={selectQuestion}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <QuitPrompt when={edited} />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create diagnostic survey\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of diagnostic surveys: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {assessmentList && assessmentList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {assessmentList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"assessment\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default AssessmentList\r\n","import { format } from \"date-fns\"\r\nimport {\r\n CommonModal,\r\n getFileUrl,\r\n LinkEditButton,\r\n FULL_DATE_RESULT\r\n} from \"mario-core\"\r\nimport React, { forwardRef } from \"react\"\r\nimport { useHistory } from \"react-router-dom\"\r\nimport { Col, Row } from \"reactstrap\"\r\n\r\nconst FeedbackDetailModal = (props: any, ref: any) => {\r\n const { header, feedbackDetail } = props\r\n const history = useHistory()\r\n return (\r\n <CommonModal noFooter header={header} ref={ref}>\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <p className=\"font-weight-bold mb-2\">Sender</p>\r\n {!!feedbackDetail && !!feedbackDetail.user && (\r\n <div>\r\n <LinkEditButton\r\n label={feedbackDetail.user.email}\r\n onClick={() =>\r\n history.push(\r\n `/admin/user/${feedbackDetail.user.id}`\r\n )\r\n }\r\n />\r\n </div>\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <p className=\"font-weight-bold mb-2\">Time</p>\r\n {!!feedbackDetail && feedbackDetail.createdAt && (\r\n <p>\r\n {format(\r\n new Date(feedbackDetail.createdAt),\r\n FULL_DATE_RESULT\r\n )}\r\n </p>\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <p className=\"font-weight-bold mb-2\">Description</p>\r\n <p>{!!feedbackDetail && feedbackDetail.description}</p>\r\n </Col>\r\n {!!feedbackDetail.imageUrl && (\r\n <Col md={12}>\r\n <p className=\"font-weight-bold mb-2\">Images</p>\r\n <img\r\n src={getFileUrl(feedbackDetail.imageUrl) as string}\r\n style={{ width: \"100%\" }}\r\n />\r\n </Col>\r\n )}\r\n </Row>\r\n </CommonModal>\r\n )\r\n}\r\n\r\nexport default forwardRef(FeedbackDetailModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst FEEDBACK_URL = `${BASE_URL}/api/Feedback`\r\n\r\nexport const get = (filter: Filter) => api.get(FEEDBACK_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${FEEDBACK_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(FEEDBACK_URL, data)\r\n\r\nexport const update = (data: any) => api.put(`${FEEDBACK_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${FEEDBACK_URL}/${id}`)\r\n","import { useState, useEffect, useCallback } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { setLoading, setAlert } from \"mario-core\"\r\n\r\nimport { getById } from \"../../../services/feedbackService\"\r\n\r\ntype FeedbackDetail = {\r\n description: string\r\n}\r\n\r\nconst initValue: FeedbackDetail = {\r\n description: \"\"\r\n}\r\n\r\nconst useFeedbackDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [feedbackDetail, setFeedbackDetail] = useState<FeedbackDetail>(\r\n initValue\r\n )\r\n\r\n useEffect(() => {\r\n !!id ? getData() : setFeedbackDetail(initValue)\r\n }, [id])\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setFeedbackDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n return {\r\n id,\r\n setId,\r\n feedbackDetail,\r\n initValue\r\n }\r\n}\r\n\r\nexport default useFeedbackDetail\r\n","import { useState, useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n DEFAULT_FILTER,\r\n Filter,\r\n setLoading,\r\n setFeedbackList,\r\n setAlert\r\n} from \"mario-core\"\r\n\r\nimport { get } from \"../../../services/feedbackService\"\r\n\r\nconst TITLE = \"Feedback list\"\r\nconst useFeedbackList = () => {\r\n const feedbackList = useSelector(\r\n (state: any) => state.feedbacks.feedbackList\r\n )\r\n\r\n const totalItems = useSelector((state: any) => state.feedbacks.totalItems)\r\n\r\n const [filters, setFilters] = useState<Filter>(DEFAULT_FILTER)\r\n const changeFilters = (updatedFilters: any) =>\r\n setFilters({\r\n ...filters,\r\n ...updatedFilters\r\n })\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(setFeedbackList({ feedbackList: items, totalItems }))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return { feedbackList, totalItems, filters, changeFilters, getData }\r\n}\r\n\r\nexport default useFeedbackList\r\n","import { EmptyDataAlert, LinkEditButton, CustomPagination } from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\nimport { useHistory } from \"react-router-dom\"\r\n\r\nimport FeedbackDetailModal from \"../components/FeedbackDetailModal\"\r\nimport useFeedbackDetail from \"../hooks/useFeedbackDetail\"\r\nimport useFeedbackList from \"../hooks/useFeedbackList\"\r\n\r\nconst header = \"Feedback\"\r\n\r\nconst FeedbackList: FC = () => {\r\n const history = useHistory()\r\n const modal = useRef<any>()\r\n\r\n const {\r\n feedbackList,\r\n totalItems,\r\n filters,\r\n changeFilters\r\n } = useFeedbackList()\r\n\r\n const { setId, feedbackDetail } = useFeedbackDetail()\r\n\r\n const openModal = (feedbackId: number) => {\r\n setId(feedbackId)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <FeedbackDetailModal\r\n ref={modal}\r\n header={\"View feedback\"}\r\n feedbackDetail={feedbackDetail}\r\n />\r\n <h5 className=\"mb-2\">{header}</h5>\r\n\r\n <Row className=\"my-2\">\r\n <Col\r\n md={8}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of feedbacks: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {feedbackList && feedbackList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Description</th>\r\n <th className=\"align-top\">Sender</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {feedbackList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.description}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.user.email}\r\n onClick={() =>\r\n history.push(\r\n `/admin/user/${record.user.id}`\r\n )\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"feedback\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default FeedbackList\r\n","import React, { forwardRef } from \"react\"\r\nimport { Row, Col, Input, Label } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\nimport * as yup from \"yup\"\r\nimport { Editor } from \"@tinymce/tinymce-react\"\r\n\r\nimport {\r\n CommonModal,\r\n ErrorHandler,\r\n RequiredLabel,\r\n TINY_MCE_API_KEY,\r\n editorConfig\r\n} from \"mario-core\"\r\n\r\nconst schema = yup.object({\r\n name: yup.string().required(\"Name is required\")\r\n})\r\n\r\nconst TutorialScreenDetailModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n tutorialScreenDetail,\r\n onCancel,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse,\r\n typeRole\r\n } = props\r\n return (\r\n <Formik\r\n initialValues={{ ...tutorialScreenDetail, typeRole: typeRole }}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n setFieldValue,\r\n resetForm\r\n } = formikProps\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={() => {\r\n onCancel()\r\n resetForm()\r\n }}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Description</Label>\r\n <Editor\r\n apiKey={TINY_MCE_API_KEY}\r\n initialValue={\r\n tutorialScreenDetail.description\r\n }\r\n init={editorConfig.tutorial}\r\n onEditorChange={content => {\r\n setFieldValue(\"description\", content)\r\n setEditedTrue()\r\n }}\r\n />\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(TutorialScreenDetailModal)\r\n","import { api, BASE_URL } from \"mario-core\"\r\n\r\nconst TUTORIAL_SCREEN_URL = `${BASE_URL}/api/tutorialScreen`\r\n\r\nexport const get = (filter: any) =>\r\n api.get(TUTORIAL_SCREEN_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${TUTORIAL_SCREEN_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(`${TUTORIAL_SCREEN_URL}`, data)\r\n\r\nexport const update = (data: any) =>\r\n api.put(`${TUTORIAL_SCREEN_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${TUTORIAL_SCREEN_URL}/${id}`)\r\n","enum TutorialScreenType {\r\n Default = \"Default\",\r\n Admin = \"Admin\",\r\n Teacher = \"Teacher\",\r\n Student = \"Student\"\r\n}\r\n\r\nexport default TutorialScreenType\r\n","import { setAlert, setLoading } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport {\r\n create,\r\n getById,\r\n update\r\n} from \"../../../services/tutorialScreenService\"\r\nimport TutorialScreenType from \"../enums/TutorialScreenType\"\r\n\r\ntype TutorialScreenDetail = {\r\n name: string\r\n description: string\r\n typeRole: TutorialScreenType\r\n}\r\n\r\nconst initValue: TutorialScreenDetail = {\r\n name: \"\",\r\n description: \"\",\r\n typeRole: TutorialScreenType.Default\r\n}\r\n\r\nconst useTutorialScreenDetail = (typeRole: TutorialScreenType) => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [\r\n tutorialScreenDetail,\r\n setTutorialScreenDetail\r\n ] = useState<TutorialScreenDetail>({ ...initValue, typeRole: typeRole })\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id\r\n ? getData()\r\n : setTutorialScreenDetail({ ...initValue, typeRole: typeRole })\r\n }, [id])\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const reset = () => {\r\n setTutorialScreenDetail({ ...initValue, typeRole })\r\n setId(0)\r\n }\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setTutorialScreenDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } slide successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id, tutorialScreenDetail]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n tutorialScreenDetail,\r\n confirmData,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useTutorialScreenDetail\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setLoading,\r\n setModal,\r\n setTutorialScreenList,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\nimport TutorialScreenType from \"../enums/TutorialScreenType\"\r\nimport { get, remove } from \"../../../services/tutorialScreenService\"\r\n\r\nconst TITLE = \"Tutorial screen list\"\r\nconst useTutorialScreenList = (typeRole: TutorialScreenType) => {\r\n const tutorialScreenList = useSelector(\r\n (state: any) => state.tutorialScreens.tutorialScreenList\r\n )\r\n\r\n const totalItems = useSelector(\r\n (state: any) => state.tutorialScreens.totalItems\r\n )\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get({ ...filters, TypeRole: typeRole })\r\n const { items, totalItems } = res.data\r\n dispatch(\r\n setTutorialScreenList({\r\n tutorialScreenList: items,\r\n totalItems\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this slide?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove slide successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n tutorialScreenList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useTutorialScreenList\r\n","import {\r\n AddButton,\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n LinkEditButton,\r\n CustomPagination,\r\n QuitPrompt\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\nimport TutorialScreenDetailModal from \"./TutorialScreenDetailModal\"\r\nimport useTutorialScreenDetail from \"../hooks/useTutorialScreenDetail\"\r\nimport useTutorialScreenList from \"../hooks/useTutorialScreenList\"\r\nimport TutorialScreenType from \"../enums/TutorialScreenType\"\r\n\r\ninterface Props {\r\n typeRole: TutorialScreenType\r\n}\r\n\r\nconst TutorialScreenList: FC<Props> = ({ typeRole }: Props) => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n tutorialScreenList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n } = useTutorialScreenList(typeRole)\r\n\r\n const {\r\n id,\r\n setId,\r\n tutorialScreenDetail,\r\n confirmData,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useTutorialScreenDetail(typeRole)\r\n\r\n const openModal = (tutorialScreenId?: number) => {\r\n !!tutorialScreenId ? setId(tutorialScreenId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n\r\n const onCancel = () => reset()\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <TutorialScreenDetailModal\r\n ref={modal}\r\n header={\r\n !!id ? \"Edit tutorial screen\" : \"Create tutorial screen\"\r\n }\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n tutorialScreenDetail={tutorialScreenDetail}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n typeRole={typeRole}\r\n />\r\n <QuitPrompt when={edited} />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create tutorial screen\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={6}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of tutorial screens: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={10}>\r\n {tutorialScreenList && tutorialScreenList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n {/* <th className=\"align-top\">Description</th> */}\r\n <th className=\"align-top\">Show Screen</th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {tutorialScreenList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n {/* <td className=\"align-middle\">\r\n <div\r\n dangerouslySetInnerHTML={{\r\n __html: record.description\r\n }}\r\n />\r\n </td> */}\r\n <td>{record.typeRole}</td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"tutorial screen\" />\r\n )}\r\n </Col>\r\n <Col md={10}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default TutorialScreenList\r\n","import { CustomTab } from \"mario-core\"\r\nimport React from \"react\"\r\nimport TutorialScreenList from \"../components/TutorialScreenList\"\r\nimport TutorialScreenType from \"../enums/TutorialScreenType\"\r\n\r\nconst tabs = [\r\n {\r\n path: \"/admin/tutorial-screen/admin\",\r\n title: \"For Admin\",\r\n component: () => (\r\n <TutorialScreenList typeRole={TutorialScreenType.Admin} />\r\n )\r\n },\r\n {\r\n path: \"/admin/tutorial-screen/teacher\",\r\n title: \"For Teacher\",\r\n component: () => (\r\n <TutorialScreenList typeRole={TutorialScreenType.Teacher} />\r\n )\r\n },\r\n {\r\n path: \"/admin/tutorial-screen/student\",\r\n title: \"For Student\",\r\n component: () => (\r\n <TutorialScreenList typeRole={TutorialScreenType.Student} />\r\n )\r\n }\r\n]\r\n\r\nconst title = \"Tutorial Screen\"\r\n\r\nconst TutorialScreenContainer = () => {\r\n return <CustomTab title={title} tabs={tabs} />\r\n}\r\n\r\nexport default TutorialScreenContainer\r\n","import React, { FC } from \"react\"\r\nimport { Row, Col } from \"reactstrap\"\r\nimport { AgGridReact } from \"@ag-grid-community/react\"\r\nimport { MasterDetailModule } from \"@ag-grid-enterprise/master-detail\"\r\nimport { ClientSideRowModelModule } from \"@ag-grid-community/client-side-row-model\"\r\n\r\nimport { CustomPagination, SearchBoxContainer } from \"mario-core\"\r\n\r\nimport DefaultQuestionStudentTeacherFilter from \"../components/DefaultQuestionStudentTeacherFilter\"\r\n\r\nimport useQuestionList from \"../hooks/useQuestionList\"\r\n\r\ninterface Props {\r\n isDefaultQuestion?: boolean\r\n isDefaultQuestionGeneral?: boolean\r\n}\r\n\r\nconst QuestionBankList: FC<Props> = ({\r\n isDefaultQuestion,\r\n isDefaultQuestionGeneral\r\n}: Props) => {\r\n const {\r\n totalItems,\r\n gridOptions,\r\n setRef,\r\n goToDetail,\r\n filters,\r\n changeFilters,\r\n updateOrderQuestions\r\n } = useQuestionList(isDefaultQuestion, isDefaultQuestionGeneral)\r\n const onRowDragEnd = (e: any) => {\r\n const dataAfterDrag = e.node.parent.childrenAfterFilter.map(\r\n (item: any, index: any) => {\r\n return {\r\n id: item.data.id,\r\n orderDrag: ++index\r\n }\r\n }\r\n )\r\n updateOrderQuestions(dataAfterDrag)\r\n }\r\n return (\r\n <div className=\"animated fadeIn\">\r\n <Row className=\"my-2\">\r\n <Col md={8}>\r\n <SearchBoxContainer\r\n text=\"Create question\"\r\n onClick={() => goToDetail()}\r\n initValue={filters.searchString}\r\n onSearch={(searchString?: any) =>\r\n changeFilters({ searchString })\r\n }\r\n placeholder=\"Type something to Search question\"\r\n />\r\n </Col>\r\n {isDefaultQuestion && (\r\n <Col md={2}>\r\n <DefaultQuestionStudentTeacherFilter\r\n isDefaultQuestionTeacher={\r\n filters.isDefaultQuestionTeacher\r\n }\r\n onChange={(e: any) =>\r\n changeFilters({\r\n isDefaultQuestionTeacher: e ? e.value : null\r\n })\r\n }\r\n />\r\n </Col>\r\n )}\r\n {isDefaultQuestionGeneral && (\r\n <Col md={2}>\r\n <DefaultQuestionStudentTeacherFilter\r\n isDefaultQuestionTeacher={\r\n filters.isDefaultQuestionGeneralClassTeacher\r\n }\r\n onChange={(e: any) =>\r\n changeFilters({\r\n isDefaultQuestionGeneralClassTeacher: e\r\n ? e.value\r\n : null\r\n })\r\n }\r\n isDefaultGeneralClass={true}\r\n />\r\n </Col>\r\n )}\r\n <Col\r\n md={isDefaultQuestion || isDefaultQuestionGeneral ? 2 : 4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of questions: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={12} className=\"mb-2\">\r\n <div className=\"ag-theme-balham w-100\">\r\n <AgGridReact\r\n domLayout=\"autoHeight\"\r\n gridOptions={gridOptions}\r\n masterDetail\r\n onGridReady={params => {\r\n setRef(params.api)\r\n }}\r\n rowDragManaged={true}\r\n animateRows={true}\r\n modules={[\r\n MasterDetailModule,\r\n ClientSideRowModelModule\r\n ]}\r\n onRowDragEnd={onRowDragEnd}\r\n />\r\n </div>\r\n </Col>\r\n <Col md={12}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nQuestionBankList.defaultProps = {\r\n isDefaultQuestion: false\r\n}\r\n\r\nexport default QuestionBankList\r\n","import { CommonModal, ErrorHandler, RequiredLabel } from \"mario-core\"\r\nimport { Formik } from \"formik\"\r\n// @ts-ignore\r\nimport React, { forwardRef } from \"react\"\r\nimport { Col, Input, Row } from \"reactstrap\"\r\nimport * as yup from \"yup\"\r\n\r\nconst schema = yup.object({\r\n name: yup.string().required(\"Name is required\")\r\n})\r\n\r\nconst QuestionCateModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n questionCateDetail,\r\n onCancel,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n\r\n return (\r\n <Formik\r\n initialValues={questionCateDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit\r\n } = formikProps\r\n\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={onCancel}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row>\r\n <Col md={12}>\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(QuestionCateModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst QUESTION_CATE_URL = `${BASE_URL}/api/questioncategory`\r\n\r\nexport const get = (filter: Filter) => api.get(QUESTION_CATE_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${QUESTION_CATE_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(QUESTION_CATE_URL, data)\r\n\r\nexport const update = (data: any) => api.put(`${QUESTION_CATE_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${QUESTION_CATE_URL}/${id}`)\r\n","import { setAlert, setLoading } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport {\r\n create,\r\n getById,\r\n update\r\n} from \"../../../services/questionCategoryService\"\r\n\r\ntype questionCateDetail = {\r\n name: string\r\n ParentCategoryId: number | null\r\n}\r\n\r\nconst initValue: questionCateDetail = {\r\n name: \"\",\r\n ParentCategoryId: null\r\n}\r\n\r\nconst useQuestionCateDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [\r\n questionCateDetail,\r\n setQuestionCateDetail\r\n ] = useState<questionCateDetail>(initValue)\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id ? getData() : setQuestionCateDetail(initValue)\r\n }, [id])\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const reset = () => {\r\n setQuestionCateDetail(initValue)\r\n setId(0)\r\n }\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setQuestionCateDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } question category successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n questionCateDetail,\r\n confirmData,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useQuestionCateDetail\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setLoading,\r\n setModal,\r\n setQuestionCateList,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/questionCategoryService\"\r\n\r\nconst TITLE = \"Question category list\"\r\nconst useQuestionCateList = () => {\r\n const questionCateList = useSelector(\r\n (state: any) => state.questionCate.questionCateList\r\n )\r\n const totalItems = useSelector(\r\n (state: any) => state.questionCate.totalItems\r\n )\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(\r\n setQuestionCateList({ questionCateList: items, totalItems })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this category?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove category successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n questionCateList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useQuestionCateList\r\n","import {\r\n AddButton,\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n LinkEditButton,\r\n CustomPagination,\r\n QuitPrompt\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\n\r\nimport QuestionCateModal from \"../components/QuestionCateModal\"\r\nimport useQuestionCateDetail from \"../hooks/useQuestionCateDetail\"\r\nimport useQuestionCateList from \"../hooks/useQuestionCateList\"\r\n\r\nconst QuestionCateList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n questionCateList,\r\n totalItems,\r\n getData,\r\n removeData,\r\n filters,\r\n changeFilters\r\n } = useQuestionCateList()\r\n\r\n const {\r\n id,\r\n setId,\r\n questionCateDetail,\r\n confirmData,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useQuestionCateDetail()\r\n\r\n const openModal = (questionCateId?: number) => {\r\n questionCateId ? setId(questionCateId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n const onCancel = () => reset()\r\n return (\r\n <div>\r\n <QuestionCateModal\r\n ref={modal}\r\n header={!!id ? \"Edit category\" : \"Create category\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n questionCateDetail={questionCateDetail}\r\n questionCateList={questionCateList}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <QuitPrompt when={edited} />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create category\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of category: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {questionCateList && questionCateList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"align-top\">\r\n Number of question\r\n </th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {questionCateList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.numberOfQuestions}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"question category\" />\r\n )}\r\n </Col>\r\n <Col md={8} className=\"text-right\">\r\n <CustomPagination\r\n totalRecordCount={totalItems}\r\n filters={filters}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default QuestionCateList\r\n","import React from \"react\"\r\nimport { CustomTab } from \"mario-core\"\r\n\r\nimport QuestionBankList from \"./QuestionbankList\"\r\nimport QuestionCategoryList from \"../../QuestionCategory/views/QuestionCategogyList\"\r\n\r\nconst tabs = [\r\n {\r\n path: \"/admin/question/question-list\",\r\n title: \"Question list\",\r\n component: QuestionBankList\r\n },\r\n {\r\n path: \"/admin/question/default-question-list\",\r\n title: \"Default question list\",\r\n component: () => <QuestionBankList isDefaultQuestion />\r\n },\r\n {\r\n path: \"/admin/question/default-question-general-list\",\r\n title: \"Default question general class list\",\r\n component: () => <QuestionBankList isDefaultQuestionGeneral />\r\n },\r\n {\r\n path: \"/admin/question/question-category\",\r\n title: \"Question category\",\r\n component: QuestionCategoryList\r\n }\r\n]\r\n\r\nconst title = \"Question bank\"\r\n\r\nconst QuestionBankContainer = () => {\r\n return <CustomTab title={title} tabs={tabs} />\r\n}\r\n\r\nexport default QuestionBankContainer\r\n","import React, { useState, useEffect } from \"react\"\r\nimport { CustomSelector } from \"mario-core\"\r\nimport { get } from \"../../../services/assessmentService\"\r\n\r\nconst AssessmentSelector = (props: any) => {\r\n const [assessmentList, setAssessmentList] = useState([])\r\n\r\n useEffect(() => {\r\n fetchAssessment()\r\n }, [])\r\n\r\n const fetchAssessment = async () => {\r\n try {\r\n const res = await get()\r\n setAssessmentList(res.data.items)\r\n } catch (err) {\r\n console.error(err.message)\r\n }\r\n }\r\n const { id, isDisabled } = props\r\n const arrAssessment = assessmentList.map((i: any) => {\r\n return {\r\n id: i.id,\r\n value: i.id,\r\n label: i.name\r\n }\r\n })\r\n\r\n return (\r\n <CustomSelector\r\n options={arrAssessment}\r\n defaultValue={id}\r\n {...props}\r\n isDisabled={isDisabled}\r\n />\r\n )\r\n}\r\n\r\nexport default AssessmentSelector\r\n","import React, { useState, useEffect } from \"react\"\r\nimport { CustomSelector } from \"mario-core\"\r\nimport { get } from \"../../../services/classService\"\r\n\r\nconst AcademicClassSelector = (props: any) => {\r\n const { id } = props\r\n const [academicClassList, setAcademicClassList] = useState([])\r\n\r\n useEffect(() => {\r\n fetchAcademicClass()\r\n }, [])\r\n\r\n const fetchAcademicClass = async () => {\r\n try {\r\n const res = await get()\r\n setAcademicClassList(res.data.items)\r\n } catch (err) {\r\n console.error(err)\r\n }\r\n }\r\n const arrAcademicClass = academicClassList.map((i: any) => {\r\n return {\r\n id: i.id,\r\n value: i.id,\r\n label: `${i.name} ( ${i.teacher.name} )`\r\n }\r\n })\r\n\r\n const getNameClassList =\r\n (id && arrAcademicClass.filter((option: any) => option.value === id)) ||\r\n null\r\n return (\r\n <CustomSelector\r\n options={arrAcademicClass}\r\n value={getNameClassList}\r\n defaultValue={id}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport default AcademicClassSelector\r\n","import React, { FC, useState, useEffect, useCallback } from \"react\"\r\nimport { CustomSelector } from \"mario-core\"\r\n\r\nimport { getAllTeachers } from \"../../../services/classService\"\r\n\r\ninterface Props {\r\n value?: number[]\r\n onChange: any\r\n}\r\ninterface Teacher {\r\n teacherId: number\r\n email: string\r\n name: string\r\n id: string\r\n}\r\n\r\nconst TeacherMultiSelector: FC<Props> = ({ value, onChange }: Props) => {\r\n const [teachers, setTeachers] = useState<Teacher[]>([])\r\n\r\n const getData = useCallback(async () => {\r\n try {\r\n const res = await getAllTeachers()\r\n setTeachers(res.data)\r\n } catch (err) {\r\n console.error(err.response?.data?.title || err.message)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [])\r\n\r\n const options = teachers.map((i: any) => {\r\n return {\r\n id: i.id,\r\n value: i.teacherId,\r\n label: i.name,\r\n fullName: i.name\r\n }\r\n })\r\n\r\n const valueDefault = options.filter((item: any) =>\r\n value ? value.includes(item.value) : []\r\n )\r\n return (\r\n <CustomSelector\r\n options={options}\r\n placeholder=\"select teachers\"\r\n isMulti\r\n value={valueDefault}\r\n onChange={onChange}\r\n />\r\n )\r\n}\r\n\r\nexport default TeacherMultiSelector\r\n","import React, { FC } from \"react\"\r\nimport { FormGroup, CustomInput } from \"reactstrap\"\r\n\r\ninterface Props {\r\n value?: string\r\n onChange: Function\r\n listSemester: any\r\n}\r\n\r\nconst SemesterSelector: FC<Props> = ({\r\n listSemester,\r\n onChange,\r\n value\r\n}: Props) => {\r\n return (\r\n <FormGroup className=\"indexForm\">\r\n {!!listSemester && listSemester.length > 0 && (\r\n <CustomInput\r\n type=\"radio\"\r\n label=\"Begin year\"\r\n id=\"radio-btn\"\r\n onChange={() => onChange(listSemester[0].startTime)}\r\n checked={listSemester[0].startTime == value || false}\r\n />\r\n )}\r\n\r\n {!!listSemester &&\r\n listSemester.length > 0 &&\r\n listSemester.map((item: any, index: number) => (\r\n <CustomInput\r\n type=\"radio\"\r\n label={`End Semester ${++index}`}\r\n id={`radio-btn-${item.id}`}\r\n onChange={() => onChange(item.endTime)}\r\n checked={item.endTime == value || false}\r\n />\r\n ))}\r\n </FormGroup>\r\n )\r\n}\r\n\r\nexport default SemesterSelector\r\n","import { Formik } from \"formik\"\r\nimport {\r\n CommonModal,\r\n ErrorHandler,\r\n RequiredLabel,\r\n DATE_FORMAT,\r\n DeleteButtonIcon\r\n} from \"mario-core\"\r\nimport React, { forwardRef, useMemo } from \"react\"\r\nimport { Row, Input, Table, Col, Label } from \"reactstrap\"\r\nimport * as yup from \"yup\"\r\nimport DatePicker from \"react-datepicker\"\r\nimport toDate from \"date-fns/toDate\"\r\nimport { format } from \"date-fns\"\r\n\r\nimport StudentSelector from \"../../Classes/components/StudentSelector\"\r\nimport AssessmentSelector from \"./AssessmentSelector\"\r\nimport AcademicClassSelector from \"./AcademicClassSelector\"\r\nimport TeacherMultiSelector from \"../../Classes/components/TeacherMultiSelector\"\r\nimport SemesterSelector from \"./SemesterSelector\"\r\nconst schema = yup.object({\r\n beginDate: yup.string().required(\"Begin date is required\"),\r\n endDate: yup.string().required(\"End date is required\"),\r\n timeSemester: yup.string().required(\"Time Semester is required\"),\r\n assessmentId: yup\r\n .number()\r\n .test(\"test assessment\", \"Assessment id required\", function () {\r\n return !!this.parent.assessmentId && this.parent.assessmentId > 0\r\n }),\r\n academicClassId: yup\r\n .number()\r\n .test(\r\n \"test students\",\r\n \"Select some students to add to assignment\",\r\n function () {\r\n return (\r\n (!!this.parent.studentIds &&\r\n !!this.parent.studentIds.length) ||\r\n this.parent.academicClassId > 0\r\n )\r\n }\r\n ),\r\n studentIds: yup\r\n .array()\r\n .test(\r\n \"test students\",\r\n \"Select some students to add to assignment\",\r\n function () {\r\n return (\r\n (!!this.parent.studentIds &&\r\n !!this.parent.studentIds.length) ||\r\n this.parent.academicClassId > 0\r\n )\r\n }\r\n )\r\n})\r\n\r\nconst AssignmentDetailModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n assignmentDetail,\r\n onCancel,\r\n onRemoveStudentFromAssignment,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse,\r\n listSemester,\r\n isRoleAdmin\r\n } = props\r\n\r\n return (\r\n <Formik\r\n initialValues={assignmentDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleSubmit,\r\n resetForm\r\n } = formProps\r\n\r\n const errorSemester = useMemo(() => {\r\n if (\r\n values.timeSemester != \"\" &&\r\n values.beginDate != \"\" &&\r\n values.endTime != \"\"\r\n ) {\r\n const itemSemester = listSemester.find(\r\n (item: any) =>\r\n item.startTime == values.timeSemester ||\r\n item.endTime == values.timeSemester\r\n )\r\n if (itemSemester != null) {\r\n if (\r\n values.beginDate >= itemSemester.startTime &&\r\n values.endDate <= itemSemester.endTime\r\n ) {\r\n return {\r\n isError: false,\r\n messageError: \"\"\r\n }\r\n }\r\n }\r\n return {\r\n isError: true,\r\n messageError:\r\n \"Begin Date and End Date don't belong to this Semester.\"\r\n }\r\n }\r\n return false\r\n }, [values.timeSemester, values.beginDate, values.endDate])\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={() => {\r\n onCancel()\r\n resetForm()\r\n }}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row className=\"mb-2\">\r\n <Col md={12}>\r\n <Row className=\"mb-2\">\r\n <Col md={6}>\r\n <RequiredLabel text=\"Begin date\" />\r\n <DatePicker\r\n value={values.beginDate}\r\n todayButton=\"Today\"\r\n peekNextMonth\r\n showMonthDropdown\r\n showYearDropdown\r\n dropdownMode=\"select\"\r\n selected={\r\n values.beginDate\r\n ? toDate(\r\n new Date(\r\n values.beginDate\r\n )\r\n )\r\n : null\r\n }\r\n onChange={(e: any) => {\r\n formProps.setFieldValue(\r\n \"beginDate\",\r\n format(e, DATE_FORMAT)\r\n )\r\n setEditedTrue()\r\n }}\r\n customInput={<Input type=\"text\" />}\r\n wrapperClassName=\"w-100\"\r\n />\r\n {touched.beginDate &&\r\n errors.beginDate && (\r\n <ErrorHandler\r\n text={\r\n errors.beginDate as string\r\n }\r\n />\r\n )}\r\n </Col>\r\n <Col md={6}>\r\n <RequiredLabel text=\"End date\" />\r\n <DatePicker\r\n value={values.endDate}\r\n todayButton=\"Today\"\r\n peekNextMonth\r\n showMonthDropdown\r\n showYearDropdown\r\n dropdownMode=\"select\"\r\n selected={\r\n values.dateOfBirth\r\n ? toDate(\r\n new Date(\r\n values.endDate\r\n )\r\n )\r\n : null\r\n }\r\n onChange={(e: any) => {\r\n formProps.setFieldValue(\r\n \"endDate\",\r\n format(e, DATE_FORMAT)\r\n )\r\n setEditedTrue()\r\n }}\r\n wrapperClassName=\"w-100\"\r\n customInput={<Input type=\"text\" />}\r\n />\r\n {touched.endDate && errors.endDate && (\r\n <ErrorHandler\r\n text={errors.endDate as string}\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={12}>\r\n <RequiredLabel text=\"Semester\" />\r\n <SemesterSelector\r\n listSemester={listSemester}\r\n onChange={(e: any) => {\r\n console.log(e)\r\n formProps.setFieldValue(\r\n \"timeSemester\",\r\n e\r\n )\r\n }}\r\n value={values.timeSemester}\r\n />\r\n {!!errorSemester &&\r\n !!errorSemester.isError ? (\r\n <ErrorHandler\r\n text={\r\n errorSemester.messageError as string\r\n }\r\n />\r\n ) : (\r\n touched.timeSemester &&\r\n errors.timeSemester && (\r\n <ErrorHandler\r\n text={\r\n errors.timeSemester as string\r\n }\r\n />\r\n )\r\n )}\r\n </Col>\r\n </Row>\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Diagnostic survey\" />\r\n <AssessmentSelector\r\n isDisabled={!!assignmentDetail.assessmentId}\r\n onChange={(e: any) => {\r\n formProps.setFieldValue(\r\n \"assessmentId\",\r\n e.value\r\n )\r\n setEditedTrue()\r\n }}\r\n id={values.assessmentId}\r\n />\r\n {touched.assessmentId &&\r\n errors.assessmentId && (\r\n <ErrorHandler\r\n text={errors.assessmentId as string}\r\n />\r\n )}\r\n </Col>\r\n {!!isRoleAdmin && (\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Teachers</Label>\r\n <TeacherMultiSelector\r\n onChange={(e: any) => {\r\n formProps.setFieldValue(\r\n \"teacherIds\",\r\n e.map((i: any) => i.value)\r\n )\r\n }}\r\n value={values.teacherIds}\r\n />\r\n </Col>\r\n )}\r\n\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Class</Label>\r\n <AcademicClassSelector\r\n onChange={(e: any) => {\r\n formProps.setFieldValue(\r\n \"academicClassId\",\r\n e.value\r\n )\r\n }}\r\n id={values.academicClassId}\r\n />\r\n </Col>\r\n\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Students</Label>\r\n <StudentSelector\r\n onChange={(e: any) => {\r\n formProps.setFieldValue(\r\n \"studentIds\",\r\n e.map((i: any) => i.value)\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n {touched.studentIds && errors.studentIds && (\r\n <ErrorHandler\r\n text={errors.studentIds as string}\r\n />\r\n )}\r\n </Col>\r\n\r\n {!!values.students && values.students.length > 0 && (\r\n <Col md={12}>\r\n <Table\r\n bordered\r\n hover\r\n striped\r\n responsive\r\n size=\"sm\"\r\n >\r\n <thead>\r\n <tr>\r\n <th>Student</th>\r\n <th className=\"text-center\">\r\n Action\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {!!values.students &&\r\n values.students.map(\r\n (record: any) => (\r\n <tr>\r\n <td>{`${record.fullName} (${record.email})`}</td>\r\n <td className=\"text-center\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemoveStudentFromAssignment(\r\n record.assignmentStudentId\r\n )\r\n }\r\n />\r\n </td>\r\n </tr>\r\n )\r\n )}\r\n </tbody>\r\n </Table>\r\n </Col>\r\n )}\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(AssignmentDetailModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst ASSIGNMENT_URL = `${BASE_URL}/api/assignment`\r\n\r\nexport const get = (filter: Filter) =>\r\n api.get(ASSIGNMENT_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${ASSIGNMENT_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(ASSIGNMENT_URL, data)\r\n\r\nexport const update = (data: any) =>\r\n api.put(`${ASSIGNMENT_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${ASSIGNMENT_URL}/${id}`)\r\n\r\nexport const removeStudent = (assignmentStudentId: number) =>\r\n api.delete(`${ASSIGNMENT_URL}/assigmentstudents/${assignmentStudentId}`)\r\n\r\nexport const getAllSemesters = () => api.get(`${BASE_URL}/api/Semester/all`)\r\n","import format from \"date-fns/format\"\r\nimport { DATE_FORMAT, setLoading, setModal, setAlert } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport {\r\n create,\r\n getById,\r\n removeStudent,\r\n update\r\n} from \"../../../services/assignmentService\"\r\n\r\ntype AssignmentDetail = {\r\n assessmentId: number\r\n assessment: any\r\n studentIds?: number[]\r\n students: any\r\n teacherIds?: number[]\r\n teachers: any\r\n academicClassId?: number\r\n beginDate: string\r\n endDate: string\r\n timeSemester: any\r\n}\r\n\r\nconst initValue: AssignmentDetail = {\r\n assessmentId: 0,\r\n assessment: null,\r\n studentIds: [],\r\n students: [],\r\n teacherIds: [],\r\n teachers: [],\r\n academicClassId: 0,\r\n beginDate: \"\",\r\n endDate: \"\",\r\n timeSemester: \"\"\r\n}\r\n\r\nconst useAssignmentDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [assignmentDetail, setAssignmentDetail] = useState<AssignmentDetail>(\r\n initValue\r\n )\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n\r\n useEffect(() => {\r\n !!id ? getData() : setAssignmentDetail(initValue)\r\n }, [id])\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const reset = () => {\r\n setAssignmentDetail(initValue)\r\n setId(0)\r\n }\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setAssignmentDetail({\r\n ...res.data,\r\n assessmentId: res.data.assessment?.id,\r\n studentIds: res.data.students?.map((std: any) => std.studentId),\r\n teacherIds: res.data.teachers?.map((std: any) => std.teacherId),\r\n beginDate: format(new Date(res.data.beginDate), DATE_FORMAT),\r\n endDate: format(new Date(res.data.endDate), DATE_FORMAT),\r\n timeSemester: res.data.timeSemester\r\n })\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } assignment successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id]\r\n )\r\n\r\n const onRemoveStudent = useCallback(\r\n (assignmentStudentId: number, cb: any) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this student?\",\r\n onConfirm: async () => {\r\n await removeStudent(assignmentStudentId)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove student successfully\"\r\n })\r\n )\r\n if (!!cb) cb()\r\n getData()\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [id]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n assignmentDetail,\r\n confirmData,\r\n onRemoveStudent,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useAssignmentDetail\r\n","import format from \"date-fns/format\"\r\nimport { useState, useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setLoading,\r\n setModal,\r\n setAssignmentList,\r\n DATE_FORMAT,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport {\r\n get,\r\n remove,\r\n getAllSemesters\r\n} from \"../../../services/assignmentService\"\r\ninterface Semester {\r\n id: number\r\n name: string\r\n startTime: any\r\n endTime: any\r\n}\r\n\r\nconst TITLE = \"Assignment list\"\r\nconst useAssignmentList = () => {\r\n const assignmentList = useSelector(\r\n (state: any) => state.assignments.assignmentList\r\n )\r\n\r\n const userRole = useSelector((state: any) => state.common.user.roles)\r\n const isRoleAdmin = userRole[0] === \"Admin\"\r\n const totalItems = useSelector((state: any) => state.assignments.totalItems)\r\n\r\n const [listSemester, setListSemester] = useState<Semester[]>([])\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n const formatedDateItems = items.map((assignment: any) => {\r\n return {\r\n ...assignment,\r\n beginDate: format(\r\n new Date(assignment.beginDate),\r\n DATE_FORMAT\r\n ),\r\n endDate: format(new Date(assignment.endDate), DATE_FORMAT)\r\n }\r\n })\r\n dispatch(\r\n setAssignmentList({\r\n assignmentList: formatedDateItems,\r\n totalItems\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this assignment?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove assignment successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n const getListSemester = useCallback(async () => {\r\n try {\r\n const res = await getAllSemesters()\r\n setListSemester(res.data)\r\n } catch (err) {\r\n console.error(err.response?.data?.title || err.message)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n getListSemester()\r\n }, [])\r\n\r\n return {\r\n listSemester,\r\n assignmentList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n isRoleAdmin,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useAssignmentList\r\n","import {\r\n AddButton,\r\n CustomPagination,\r\n DeleteButtonIcon,\r\n DATE_RESULT,\r\n EmptyDataAlert,\r\n QuitPrompt\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { FaRegEdit } from \"react-icons/fa\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\nimport AssignmentDetailModal from \"../components/AssignmentDetailModal\"\r\nimport useAssignmentDetail from \"../hooks/useAssignmentDetail\"\r\nimport useAssignmentList from \"../hooks/useAssignmentList\"\r\nimport { format } from \"date-fns\"\r\n\r\nconst AssignmentList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n assignmentList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData,\r\n listSemester,\r\n isRoleAdmin\r\n } = useAssignmentList()\r\n const {\r\n id,\r\n setId,\r\n assignmentDetail,\r\n confirmData,\r\n onRemoveStudent,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useAssignmentDetail()\r\n\r\n const openModal = (assignmentId?: number) => {\r\n !!assignmentId ? setId(assignmentId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n const onRemoveStudentFromAssignment = (assignmentStudentId: number) => {\r\n onRemoveStudent(assignmentStudentId, getData)\r\n }\r\n\r\n const onCancel = () => reset()\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <AssignmentDetailModal\r\n ref={modal}\r\n header={!!id ? \"Edit assignment\" : \"Create assignment\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n assignmentDetail={assignmentDetail}\r\n onRemoveStudentFromAssignment={onRemoveStudentFromAssignment}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n listSemester={listSemester}\r\n isRoleAdmin={isRoleAdmin}\r\n />\r\n <QuitPrompt when={edited} />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create assignment\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of assignments: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {assignmentList && assignmentList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">\r\n Diagnostic survey\r\n </th>\r\n <th className=\"align-top\">Begin date</th>\r\n <th className=\"align-top\">End date</th>\r\n <th className=\"align-top\">\r\n Number of student\r\n </th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {assignmentList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n {!!record.assessment &&\r\n record.assessment.name}\r\n </td>\r\n <td className=\"align-middle\">\r\n {format(\r\n new Date(record.beginDate),\r\n DATE_RESULT\r\n )}\r\n </td>\r\n <td className=\"align-middle\">\r\n {format(\r\n new Date(record.endDate),\r\n DATE_RESULT\r\n )}\r\n </td>\r\n <td className=\"align-middle\">\r\n {!!record.students &&\r\n record.students.length}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <FaRegEdit\r\n className=\"mr-2 cursor-pointer hover-opacity\"\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"assignment\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default AssignmentList\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\nconst ASSIGNMENT_REPONSE_URL = `${BASE_URL}/api/AssignmentResponse`\r\n\r\nexport const get = (filter: Filter) =>\r\n api.get(ASSIGNMENT_REPONSE_URL, { params: filter })\r\n\r\nexport const getById = (id: number) =>\r\n api.get(`${ASSIGNMENT_REPONSE_URL}/${id}`)\r\n","import { useState, useCallback, useEffect } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { DEFAULT_FILTER, Filter, setLoading, setAlert } from \"mario-core\"\r\n\r\nimport { get } from \"../../../services/assignmentResultService\"\r\n\r\nimport { AssignmentResult } from \"../configs/types\"\r\n\r\nconst useAssignmentResultList = () => {\r\n const [assignmentResultList, setAssignmentResultList] = useState<\r\n AssignmentResult[]\r\n >([])\r\n const [totalItems, setTotalItems] = useState<number>()\r\n const [filters, setFilters] = useState<Filter>(DEFAULT_FILTER)\r\n\r\n const changeFilters = (updateFilters: any) => {\r\n setFilters({\r\n ...filters,\r\n ...updateFilters\r\n })\r\n }\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(false))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n setAssignmentResultList(items)\r\n setTotalItems(totalItems)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n }, [dispatch, filters])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n assignmentResultList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData\r\n }\r\n}\r\n\r\nexport default useAssignmentResultList\r\n","import { useCallback, useState, useEffect } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { setLoading, setAlert } from \"mario-core\"\r\n\r\nimport { getById } from \"../../../services/assignmentResultService\"\r\n\r\nimport { AssignmentResultDetail } from \"../configs/types\"\r\n\r\nconst initValue: AssignmentResultDetail = {\r\n questionResponses: [],\r\n answerTexts: []\r\n}\r\n\r\nconst useReflectionResultDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [\r\n assignmentResultDetail,\r\n setAssignmentResultDetail\r\n ] = useState<AssignmentResultDetail>(initValue)\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setAssignmentResultDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n useEffect(() => {\r\n if (!!id) {\r\n getData()\r\n }\r\n }, [id])\r\n\r\n return {\r\n id,\r\n setId,\r\n assignmentResultDetail\r\n }\r\n}\r\n\r\nexport default useReflectionResultDetail\r\n","import {\r\n EmptyDataAlert,\r\n CustomPagination,\r\n LinkEditButton,\r\n SearchBox,\r\n DATE_RESULT\r\n} from \"mario-core\"\r\nimport React, { FC, useRef, useState } from \"react\"\r\nimport { Row, Col, Table } from \"reactstrap\"\r\nimport { format } from \"date-fns\"\r\n\r\nimport useAssignmentResultList from \"../hooks/useAssignmentResultList\"\r\nimport useReflectionResultDetail from \"../hooks/useAssignmentResultDetail\"\r\n\r\nimport { AssignmentResult } from \"../configs/types\"\r\n\r\nimport ReflectionResultDetailModal from \"../../ReflectionForm/components/ReflectionResultDetailModal\"\r\n\r\nconst ReflectionResultList: FC = () => {\r\n const modal = useRef<any>()\r\n const [\r\n detailReflectionResultHeader,\r\n setDetailReflectionResultHeader\r\n ] = useState(\"\")\r\n\r\n const {\r\n assignmentResultList,\r\n totalItems,\r\n filters,\r\n changeFilters\r\n } = useAssignmentResultList()\r\n\r\n const { setId, assignmentResultDetail } = useReflectionResultDetail()\r\n\r\n const openModal = (assignmentResult: AssignmentResult) => {\r\n setDetailReflectionResultHeader(\r\n `Detail ${assignmentResult.assignmentName} of ${assignmentResult.studentName}`\r\n )\r\n setId(assignmentResult.id)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n return (\r\n <div className=\"animated fadeIn\">\r\n <ReflectionResultDetailModal\r\n ref={modal}\r\n reflectionResultDetail={assignmentResultDetail}\r\n header={detailReflectionResultHeader}\r\n />\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <SearchBox\r\n initValue={filters.searchString}\r\n onSearch={(searchString?: any) =>\r\n changeFilters({ searchString })\r\n }\r\n placeholder=\"Type something to search reflection result\"\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of reflection results: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {assignmentResultList && assignmentResultList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">\r\n Reflection name\r\n </th>\r\n <th className=\"align-top\">Teacher name</th>\r\n <th className=\"align-top\">Student name</th>\r\n <th className=\"align-top\">Begin date</th>\r\n <th className=\"align-top\">End date</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {assignmentResultList.map(\r\n (record: AssignmentResult) => (\r\n <tr key={record.id}>\r\n <td>\r\n <LinkEditButton\r\n label={\r\n record.assignmentName\r\n }\r\n onClick={() =>\r\n openModal(record)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record?.teacherName}\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.studentName}\r\n </td>\r\n <td>\r\n {format(\r\n new Date(record.beginDate),\r\n DATE_RESULT\r\n )}\r\n </td>\r\n <td>\r\n {format(\r\n new Date(record.endDate),\r\n DATE_RESULT\r\n )}\r\n </td>\r\n </tr>\r\n )\r\n )}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"assignment result\" />\r\n )}\r\n </Col>\r\n <Col md={8} className=\"text-right\">\r\n <CustomPagination\r\n totalRecordCount={totalItems}\r\n filters={filters}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ReflectionResultList\r\n","import React from \"react\"\r\n\r\nimport { CustomTab } from \"mario-core\"\r\n\r\nimport AssessmentList from \"../../Assessment/views/AssessmentList\"\r\nimport Assignment from \"../../Assignment/views/AssignmentList\"\r\nimport AssignmentResultList from \"../../Assignment/views/AssignmentResultList\"\r\n\r\nconst tabs = [\r\n {\r\n path: \"/admin/diagnostic-survey/diagnostic-survey\",\r\n title: \"Diagnostic survey\",\r\n component: AssessmentList\r\n },\r\n {\r\n path: \"/admin/diagnostic-survey/assignment\",\r\n title: \"Assignment\",\r\n component: Assignment\r\n },\r\n {\r\n path: \"/admin/diagnostic-survey/assignment-result\",\r\n title: \"Assignment result\",\r\n component: AssignmentResultList\r\n }\r\n]\r\n\r\nconst title = \"Diagnostic survey\"\r\n\r\nconst AssessmentAssignmentContainer = () => {\r\n return <CustomTab title={title} tabs={tabs} />\r\n}\r\n\r\nexport default AssessmentAssignmentContainer\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst SESSION_TEMPLATE_URL = `${BASE_URL}/api/sessiontemplate`\r\nconst SKILL_URL = `${BASE_URL}/api/skill`\r\nconst CATEGORY_URL = `${BASE_URL}/api/LearningSupportCategory`\r\nconst REFLECTION_FORM_URL = `${BASE_URL}/api/reflectionform`\r\nconst CONFERENCE_RUBRIC_URL = `${BASE_URL}/api/conferencerubric`\r\nconst QUESTION_URL = `${BASE_URL}/api/question`\r\n\r\nexport const get = (filter: Filter) =>\r\n api.get(SESSION_TEMPLATE_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${SESSION_TEMPLATE_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(SESSION_TEMPLATE_URL, data)\r\n\r\nexport const update = (data: any) =>\r\n api.put(`${SESSION_TEMPLATE_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) =>\r\n api.delete(`${SESSION_TEMPLATE_URL}/${id}`)\r\n\r\nexport const getSkills = () => api.get(SKILL_URL)\r\n\r\nexport const getCategories = () => api.get(CATEGORY_URL)\r\n\r\nexport const getReflectionForms = () => api.get(REFLECTION_FORM_URL)\r\n\r\nexport const getConferenceRubrics = () => api.get(CONFERENCE_RUBRIC_URL)\r\n\r\nexport const getRandomQuestion = (data: any) =>\r\n api.post(`${QUESTION_URL}/random`, data)\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport { useHistory } from \"react-router-dom\"\r\nimport {\r\n setSessionTemplateList,\r\n setLoading,\r\n setModal,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/sessionTemplateService\"\r\n\r\nconst TITLE = \"Sesstion template list\"\r\nconst SESSION_TEMPLATE_URL = \"/admin/session-template-learning-support\"\r\nconst CREATE_TEMPLATE_URL = \"/admin/create-session-template-learning-support\"\r\n\r\nconst useSessionTemplateList = () => {\r\n const sessionTemplateList = useSelector(\r\n (state: any) => state.sesstionTemplates.sessionTemplateList\r\n )\r\n const totalItems = useSelector(\r\n (state: any) => state.sesstionTemplates.totalItems\r\n )\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n const history = useHistory()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(\r\n setSessionTemplateList({\r\n sessionTemplateList: items,\r\n totalItems\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this session template?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message:\r\n \"Remove sesstion template successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n const goToDetail = useCallback((id?: number) => {\r\n const url = !!id ? `${SESSION_TEMPLATE_URL}/${id}` : CREATE_TEMPLATE_URL\r\n history.push(url)\r\n }, [])\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n sessionTemplateList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData,\r\n goToDetail\r\n }\r\n}\r\n\r\nexport default useSessionTemplateList\r\n","import React, { FC } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\n\r\nimport {\r\n SearchBoxContainer,\r\n LinkEditButton,\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n CustomPagination,\r\n DATE_RESULT\r\n} from \"mario-core\"\r\nimport { format } from \"date-fns\"\r\nimport useSessionTemplateList from \"../hooks/useSessionTemplateList\"\r\n\r\nconst SessionTemplateList: FC = () => {\r\n const {\r\n sessionTemplateList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n removeData,\r\n goToDetail\r\n } = useSessionTemplateList()\r\n\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <Row className=\"my-2\">\r\n <Col md={8}>\r\n <SearchBoxContainer\r\n text=\"Create template\"\r\n onClick={() => goToDetail()}\r\n initValue=\"\"\r\n onSearch={(searchString?: any) =>\r\n changeFilters({\r\n searchString: searchString\r\n })\r\n }\r\n placeholder=\"Type something to search by template name\"\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex justify-content-end align-items-center\"\r\n >\r\n Total of templates: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={12}>\r\n {sessionTemplateList && sessionTemplateList.length > 0 ? (\r\n <div>\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"align-top\">Skills</th>\r\n <th className=\"align-top\">Category</th>\r\n <th className=\"align-top\">\r\n Student reflection form\r\n </th>\r\n <th className=\"align-top\">\r\n Teacher reflection form\r\n </th>\r\n <th className=\"align-top\">\r\n Created at\r\n </th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {sessionTemplateList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={`${record.name}`}\r\n onClick={() =>\r\n goToDetail(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.skills\r\n ?.map(\r\n (item: any) => item.name\r\n )\r\n .join(\", \")}\r\n </td>\r\n <td className=\"align-middle\">\r\n {\r\n record\r\n .learningSupportCategory\r\n ?.name\r\n }\r\n </td>\r\n <td className=\"align-middle\">\r\n {\r\n record.studentReflectionForm\r\n ?.name\r\n }\r\n </td>\r\n <td className=\"align-middle\">\r\n {\r\n record.teacherReflectionForm\r\n ?.name\r\n }\r\n </td>\r\n <td className=\"align-middle\">\r\n {format(\r\n new Date(record.createdAt),\r\n DATE_RESULT\r\n )}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n removeData(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n </div>\r\n ) : (\r\n <EmptyDataAlert label=\"template\" />\r\n )}\r\n </Col>\r\n <Col md={12}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SessionTemplateList\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst SESSION_TEMPLATE_GENERAL_CLASS_URL = `${BASE_URL}/api/sessiontemplategeneralclass`\r\n\r\nexport const get = (filter: Filter) =>\r\n api.get(SESSION_TEMPLATE_GENERAL_CLASS_URL, { params: filter })\r\n\r\nexport const getById = (id: number) =>\r\n api.get(`${SESSION_TEMPLATE_GENERAL_CLASS_URL}/${id}`)\r\n\r\nexport const create = (data: any) =>\r\n api.post(SESSION_TEMPLATE_GENERAL_CLASS_URL, data)\r\n\r\nexport const update = (data: any) =>\r\n api.put(`${SESSION_TEMPLATE_GENERAL_CLASS_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) =>\r\n api.delete(`${SESSION_TEMPLATE_GENERAL_CLASS_URL}/${id}`)\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport { useHistory } from \"react-router-dom\"\r\nimport {\r\n setSessionTemplateGeneralClassList,\r\n setLoading,\r\n setModal,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport {\r\n get,\r\n remove\r\n} from \"../../../services/sessionTemplateGeneralClassService\"\r\n\r\nconst TITLE = \"Sesstion template general class list\"\r\nconst SESSION_TEMPLATE_GENERAL_CLASS_URL =\r\n \"/admin/session-template-general-class\"\r\nconst CREATE_TEMPLATE_GENERAL_CLASS_URL =\r\n \"/admin/create-session-template-general-class\"\r\n\r\nconst useSessionTemplateGeneralClassList = () => {\r\n const sessionTemplateGeneralClassList = useSelector(\r\n (state: any) =>\r\n state.sessionTemplateGeneralClasses.sessionTemplateGeneralClassList\r\n )\r\n const totalItems = useSelector(\r\n (state: any) => state.sessionTemplateGeneralClasses.totalItems\r\n )\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n const history = useHistory()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(\r\n setSessionTemplateGeneralClassList({\r\n sessionTemplateGeneralClassList: items,\r\n totalItems\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this session template?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message:\r\n \"Remove sesstion template successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n const goToDetail = useCallback((id?: number) => {\r\n const url = !!id\r\n ? `${SESSION_TEMPLATE_GENERAL_CLASS_URL}/${id}`\r\n : CREATE_TEMPLATE_GENERAL_CLASS_URL\r\n history.push(url)\r\n }, [])\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n sessionTemplateGeneralClassList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData,\r\n goToDetail\r\n }\r\n}\r\n\r\nexport default useSessionTemplateGeneralClassList\r\n","import React, { FC } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\n\r\nimport {\r\n SearchBoxContainer,\r\n LinkEditButton,\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n CustomPagination,\r\n DATE_RESULT\r\n} from \"mario-core\"\r\nimport { format } from \"date-fns\"\r\nimport useSessionTemplateGeneralClassList from \"../hooks/useSessionTemplateGeneralClassList\"\r\n\r\nconst SessionTemplateGeneralClassList: FC = () => {\r\n const {\r\n sessionTemplateGeneralClassList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n removeData,\r\n goToDetail\r\n } = useSessionTemplateGeneralClassList()\r\n\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <Row className=\"my-2\">\r\n <Col md={6}>\r\n <SearchBoxContainer\r\n text=\"Create template\"\r\n onClick={() => goToDetail()}\r\n initValue=\"\"\r\n onSearch={(searchString?: any) =>\r\n changeFilters({\r\n searchString: searchString\r\n })\r\n }\r\n placeholder=\"Type something to search by template name\"\r\n />\r\n </Col>\r\n <Col\r\n md={2}\r\n className=\"d-flex justify-content-end align-items-center\"\r\n >\r\n Total of templates: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {sessionTemplateGeneralClassList &&\r\n sessionTemplateGeneralClassList.length > 0 ? (\r\n <div>\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"align-top\">Subject</th>\r\n <th className=\"align-top\">\r\n Created at\r\n </th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {sessionTemplateGeneralClassList.map(\r\n (record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={`${record.name}`}\r\n onClick={() =>\r\n goToDetail(\r\n record.id\r\n )\r\n }\r\n />\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.subjectName}\r\n </td>\r\n <td className=\"align-middle\">\r\n {format(\r\n new Date(\r\n record.createdAt\r\n ),\r\n DATE_RESULT\r\n )}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n removeData(\r\n record.id\r\n )\r\n }\r\n />\r\n </td>\r\n </tr>\r\n )\r\n )}\r\n </tbody>\r\n </Table>\r\n </div>\r\n ) : (\r\n <EmptyDataAlert label=\"template\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SessionTemplateGeneralClassList\r\n","import React, { FC } from \"react\"\r\n\r\nimport { CustomTab } from \"mario-core\"\r\n\r\nimport SessionTemplateList from \"../../SessionTemplate/views/SessionTemplateList\"\r\nimport SessionTemplateGeneralClassList from \"../../SessionTemplateGeneralClass/views/SessionTemplateGeneralClassList\"\r\n\r\nconst tabs = [\r\n {\r\n path: \"/admin/session-template/learning-support\",\r\n title: \"Session template for learning support\",\r\n component: SessionTemplateList\r\n },\r\n {\r\n path: \"/admin/session-template/general-class\",\r\n title: \"Session template for general class\",\r\n component: SessionTemplateGeneralClassList\r\n }\r\n]\r\n\r\nconst title = \"Session template\"\r\n\r\nconst SessionTemplateContainer: FC = () => {\r\n return <CustomTab title={title} tabs={tabs} />\r\n}\r\n\r\nexport default SessionTemplateContainer\r\n","import React, { FC, useState, useEffect, useCallback } from \"react\"\r\nimport { CustomSelector } from \"mario-core\"\r\n\r\nimport { getSkills } from \"../../../services/sessionTemplateService\"\r\n\r\ninterface Props {\r\n values: number[] | null | undefined\r\n onChange: Function\r\n}\r\n\r\ninterface Option {\r\n label: string\r\n value: number\r\n}\r\n\r\nconst SkillSelector: FC<Props> = ({ values, onChange }: Props) => {\r\n const [options, setOptions] = useState<Option[]>([])\r\n\r\n const getData = useCallback(async () => {\r\n try {\r\n const res = await getSkills()\r\n setOptions(\r\n res.data.items.map((item: any) => ({\r\n value: item.id,\r\n label: item.path ? `${item.path}/${item.name}` : item.name\r\n }))\r\n )\r\n } catch (err) {\r\n console.error(err.response?.data?.title || err.message)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [])\r\n\r\n const value =\r\n (values &&\r\n options.filter((option: any) => values.includes(option.value))) ||\r\n null\r\n\r\n return (\r\n <CustomSelector\r\n isMulti\r\n options={options}\r\n value={value}\r\n onChange={onChange}\r\n placeholder=\"Select skills\"\r\n />\r\n )\r\n}\r\n\r\nexport default SkillSelector\r\n","import React, { FC, useState, useEffect, useCallback } from \"react\"\r\nimport { CustomSelector } from \"mario-core\"\r\n\r\nimport { getCategories } from \"../../../services/sessionTemplateService\"\r\n\r\ninterface Props {\r\n defaultValue: number | null | undefined\r\n onChange: Function\r\n}\r\n\r\ninterface Option {\r\n label: string\r\n value: number\r\n}\r\n\r\nconst CategorySelector: FC<Props> = ({\r\n defaultValue,\r\n onChange\r\n}: Props) => {\r\n const [options, setOptions] = useState<Option[]>([])\r\n\r\n const getData = useCallback(async () => {\r\n try {\r\n const res = await getCategories()\r\n setOptions(\r\n res.data.items.map((item: any) => ({\r\n value: item.id,\r\n label: item.name\r\n }))\r\n )\r\n } catch (err) {\r\n console.error(err.response?.data?.title || err.message)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [])\r\n\r\n const value =\r\n (defaultValue &&\r\n options.filter((option: any) => option.value === defaultValue)) ||\r\n null\r\n\r\n return (\r\n <CustomSelector\r\n options={options}\r\n value={value}\r\n onChange={onChange}\r\n placeholder=\"Select category\"\r\n />\r\n )\r\n}\r\n\r\nexport default CategorySelector\r\n","import React, { FC, useState, useEffect, useCallback } from \"react\"\r\nimport { CustomSelector } from \"mario-core\"\r\n\r\nimport { getReflectionForms } from \"../../../services/sessionTemplateService\"\r\n\r\ninterface Props {\r\n defaultValue: number | null | undefined\r\n onChange: Function\r\n}\r\n\r\ninterface Option {\r\n label: string\r\n value: number\r\n}\r\n\r\nconst ReflectionFormSelector: FC<Props> = ({\r\n defaultValue,\r\n onChange\r\n}: Props) => {\r\n const [options, setOptions] = useState<Option[]>([])\r\n\r\n const getData = useCallback(async () => {\r\n try {\r\n const res = await getReflectionForms()\r\n setOptions(\r\n res.data.items.map((item: any) => ({\r\n value: item.id,\r\n label: item.name\r\n }))\r\n )\r\n } catch (err) {\r\n console.error(err.response?.data?.title || err.message)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [])\r\n\r\n const value =\r\n (defaultValue &&\r\n options.filter((option: any) => option.value === defaultValue)) ||\r\n null\r\n\r\n return (\r\n <CustomSelector\r\n options={options}\r\n value={value}\r\n onChange={onChange}\r\n placeholder=\"Select reflection form\"\r\n />\r\n )\r\n}\r\n\r\nexport default ReflectionFormSelector\r\n","import React, { FC, useState, useEffect, useCallback } from \"react\"\r\nimport { CustomSelector } from \"mario-core\"\r\n\r\nimport { getConferenceRubrics } from \"../../../services/sessionTemplateService\"\r\nimport { CONFERENCE_RUBRIC_TYPES } from \"../../../utils/constants\"\r\n\r\ninterface Props {\r\n defaultValue: number | null | undefined\r\n onChange: Function\r\n}\r\n\r\ninterface Option {\r\n label: string\r\n value: number\r\n}\r\n\r\nconst ConferenceRubricSelector: FC<Props> = ({\r\n defaultValue,\r\n onChange\r\n}: Props) => {\r\n const [options, setOptions] = useState<Option[]>([])\r\n\r\n const getData = useCallback(async () => {\r\n try {\r\n const res = await getConferenceRubrics()\r\n setOptions(\r\n res.data.items.map((item: any) => ({\r\n value: item.id,\r\n label: CONFERENCE_RUBRIC_TYPES[item.name]\r\n }))\r\n )\r\n } catch (err) {\r\n console.error(err.response?.data?.title || err.message)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [])\r\n\r\n const value =\r\n (defaultValue &&\r\n options.filter((option: any) => option.value === defaultValue)) ||\r\n null\r\n\r\n return (\r\n <CustomSelector\r\n options={options}\r\n value={value}\r\n onChange={onChange}\r\n placeholder=\"Select conference rubric type\"\r\n />\r\n )\r\n}\r\n\r\nexport default ConferenceRubricSelector\r\n","import React, { forwardRef, useState } from \"react\"\r\nimport { Row, Col, CustomInput } from \"reactstrap\"\r\nimport { CommonModal, QuestionCategorySelector, ErrorHandler } from \"mario-core\"\r\n\r\nimport QuestionSelector from \"../../../components/Questions/QuestionSelector\"\r\n\r\ninterface Props {\r\n categoryId: number\r\n setCategoryId: Function\r\n isRandom: boolean\r\n setIsRandom: Function\r\n onAddQuestion: Function\r\n extraQuestionIds: number[]\r\n}\r\n\r\nconst AddQuestionModal = (\r\n {\r\n categoryId,\r\n setCategoryId,\r\n isRandom,\r\n setIsRandom,\r\n onAddQuestion,\r\n extraQuestionIds\r\n }: Props,\r\n ref: any\r\n) => {\r\n const [checked, setChecked] = useState(false)\r\n const [temporaryQuestion, setTemporaryQuestion] = useState(null)\r\n const handleSubmit = () => {\r\n setChecked(true)\r\n if (!categoryId) return\r\n if (isRandom) {\r\n onAddQuestion(null, categoryId)\r\n } else {\r\n if (!temporaryQuestion) return\r\n onAddQuestion(temporaryQuestion)\r\n }\r\n setTemporaryQuestion(null)\r\n setChecked(false)\r\n ref && ref.current && ref.current.toggle()\r\n }\r\n\r\n return (\r\n <CommonModal\r\n ref={ref}\r\n header=\"Add question\"\r\n confirmText=\"Add a question\"\r\n onConfirm={handleSubmit}\r\n onCancel={() => {\r\n setTemporaryQuestion(null)\r\n setChecked(false)\r\n }}\r\n >\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <p className=\"text-center font-weight-bold\">\r\n You can add question manually or let us random a\r\n question in a category\r\n </p>\r\n </Col>\r\n <Col md={12} className=\"mb-1\">\r\n <CustomInput\r\n type=\"radio\"\r\n id=\"add-question-manually\"\r\n label=\"Manual choice\"\r\n checked={!isRandom}\r\n onChange={() => setIsRandom(false)}\r\n />\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <CustomInput\r\n type=\"radio\"\r\n id=\"add-question-random\"\r\n label=\"Random choice\"\r\n checked={isRandom}\r\n onChange={() => setIsRandom(true)}\r\n />\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <QuestionCategorySelector\r\n id={categoryId}\r\n onChange={(e: any) => setCategoryId(e.value)}\r\n placeholder=\"Select category\"\r\n />\r\n {checked && !categoryId && (\r\n <ErrorHandler\r\n text={`Select category to ${\r\n isRandom ? \"random\" : \"load\"\r\n } question`}\r\n />\r\n )}\r\n </Col>\r\n {!isRandom && (\r\n <Col md={12}>\r\n <QuestionSelector\r\n categoryId={categoryId}\r\n onChange={(e: any) => setTemporaryQuestion(e)}\r\n value={temporaryQuestion}\r\n externalQuestionIds={extraQuestionIds}\r\n />\r\n {checked && !temporaryQuestion && (\r\n <ErrorHandler text=\"Select question to add\" />\r\n )}\r\n </Col>\r\n )}\r\n </Row>\r\n </CommonModal>\r\n )\r\n}\r\n\r\nexport default forwardRef(AddQuestionModal)\r\n","import { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { useHistory } from \"react-router-dom\"\r\n\r\nimport { setLoading, setAlert } from \"mario-core\"\r\nimport {\r\n create,\r\n getById,\r\n update,\r\n getRandomQuestion\r\n} from \"../../../services/sessionTemplateService\"\r\nimport { getDefaultQuestions } from \"../../../services/questionService\"\r\n\r\ntype SessionTemplateDetail = {\r\n name: string\r\n isConference: boolean\r\n conferenceRubricId?: number | null\r\n teacherReflectionFormId: number\r\n studentReflectionFormId: number\r\n skillIds: number[]\r\n learningSupportCategoryId: number\r\n extraQuestionIds: number[]\r\n}\r\n\r\ntype QuestionSimple = {\r\n id: number\r\n text: string\r\n isDefaultQuestion: boolean\r\n}\r\n\r\nconst initValue: SessionTemplateDetail = {\r\n name: \"\",\r\n isConference: false,\r\n conferenceRubricId: null,\r\n teacherReflectionFormId: 0,\r\n studentReflectionFormId: 0,\r\n learningSupportCategoryId: 0,\r\n skillIds: [],\r\n extraQuestionIds: []\r\n}\r\nconst CREATE_TEMPLATE_TITLE = \"Create learning support template\"\r\nconst SESSION_TEMPLATE_LIST_URL = \"/admin/session-template/learning-support\"\r\n\r\nconst useSessionTemplateDetail = (id?: number | null) => {\r\n const dispatch = useDispatch()\r\n const history = useHistory()\r\n const [defaultQuestions, setDefaultQuestions] = useState<QuestionSimple[]>(\r\n []\r\n )\r\n const [questions, setQuestions] = useState<QuestionSimple[]>([])\r\n const [\r\n sessionTemplateDetail,\r\n setSessionTemplateDetail\r\n ] = useState<SessionTemplateDetail>(initValue)\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n useEffect(() => {\r\n !!id && getData()\r\n if (!!id) {\r\n getData()\r\n } else {\r\n document.title = CREATE_TEMPLATE_TITLE\r\n }\r\n }, [id])\r\n\r\n useEffect(() => {\r\n getQuestions()\r\n setEdited(false)\r\n if (!!localStorage.getItem(window.location.href))\r\n localStorage.removeItem(window.location.href)\r\n }, [])\r\n\r\n const getQuestions = useCallback(async () => {\r\n try {\r\n const res = await getDefaultQuestions()\r\n setDefaultQuestions(res.data)\r\n } catch (err) {\r\n console.error(err)\r\n }\r\n }, [])\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n const res = await getById(id as number)\r\n setSessionTemplateDetail(res.data)\r\n document.title = res.data.name\r\n setQuestions(\r\n res.data.extraQuestions.map((item: any) => item.question)\r\n )\r\n document.title = res.data?.name\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const backToList = useCallback(() => {\r\n history.push(SESSION_TEMPLATE_LIST_URL)\r\n }, [])\r\n\r\n const confirmData = useCallback(\r\n async (data: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n !id && delete data.id\r\n await next(data)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } session template successfully`\r\n })\r\n )\r\n\r\n backToList()\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id]\r\n )\r\n\r\n const onAddQuestion = useCallback(\r\n async (newQuestion?: any, categoryId?: number) => {\r\n try {\r\n const questionIds = questions.map(\r\n (question: QuestionSimple) => question.id\r\n )\r\n if (!newQuestion) {\r\n // random question\r\n const res = await getRandomQuestion({\r\n categoryId,\r\n externalQuestionIds: questionIds\r\n })\r\n if (!res.data)\r\n throw new Error(\r\n \"There are no more question in this category\"\r\n )\r\n setQuestions([\r\n ...questions,\r\n {\r\n id: res.data.id,\r\n text: res.data.text,\r\n isDefaultQuestion: false\r\n }\r\n ])\r\n return\r\n }\r\n\r\n if (questionIds.includes(newQuestion.id)) return\r\n\r\n setQuestions([\r\n ...questions,\r\n {\r\n id: newQuestion.id,\r\n text: newQuestion.text,\r\n isDefaultQuestion: false\r\n }\r\n ])\r\n setEditedTrue()\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n },\r\n [questions]\r\n )\r\n\r\n const onRemoveQuestion = useCallback(\r\n (questionId: number) => {\r\n setQuestions(\r\n questions.filter(\r\n (question: QuestionSimple) => question.id !== questionId\r\n )\r\n )\r\n setEditedTrue()\r\n },\r\n [questions]\r\n )\r\n\r\n return {\r\n sessionTemplateDetail,\r\n defaultQuestions,\r\n questions,\r\n onAddQuestion,\r\n onRemoveQuestion,\r\n backToList,\r\n confirmData,\r\n edited,\r\n setEdited,\r\n setEditedTrue\r\n }\r\n}\r\n\r\nexport default useSessionTemplateDetail\r\n","import { useState } from \"react\"\r\n\r\nconst useAddQuestion = () => {\r\n const [categoryId, setCategoryId] = useState<number>(0)\r\n const [isRandom, setIsRandom] = useState<boolean>(false)\r\n\r\n return { categoryId, setCategoryId, isRandom, setIsRandom }\r\n}\r\n\r\nexport default useAddQuestion\r\n","import * as yup from \"yup\"\r\n\r\nconst schema = yup.object({\r\n name: yup.string().required(\"Name is required\"),\r\n isConference: yup.boolean().required(\"Is conference is required\"),\r\n conferenceRubricId: yup\r\n .number()\r\n .nullable()\r\n .test(\r\n \"Test conference rubric id\",\r\n \"Conference rubric is required\",\r\n function () {\r\n return (\r\n !this.parent.isConference ||\r\n (!!this.parent.conferenceRubricId &&\r\n this.parent.conferenceRubricId > 0)\r\n )\r\n }\r\n ),\r\n teacherReflectionFormId: yup\r\n .number()\r\n .test(\r\n \"Test teacher reflection form id\",\r\n \"Teacher reflection form is required\",\r\n (value: number) => value > 0\r\n ),\r\n studentReflectionFormId: yup\r\n .number()\r\n .test(\r\n \"Test student reflection form id\",\r\n \"Student reflection form is required\",\r\n (value: number) => value > 0\r\n ),\r\n learningSupportCategoryId: yup\r\n .number()\r\n .test(\r\n \"Test category id\",\r\n \"Category is required\",\r\n (value: number) => value > 0\r\n ),\r\n skillIds: yup\r\n .array()\r\n .of(yup.number())\r\n .test(\r\n \"Test skill\",\r\n \"Skill is required\",\r\n (value: number[]) =>\r\n !!value.length && value.every((item: number) => item > 0)\r\n ),\r\n extraQuestionIds: yup.array().of(yup.number())\r\n})\r\n\r\nexport default schema\r\n","import React, { FC, useCallback, useRef, useEffect } from \"react\"\r\nimport { useParams } from \"react-router-dom\"\r\nimport { Row, Col, Input, CustomInput } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\n\r\nimport {\r\n QuitPrompt,\r\n DetailActionButtons,\r\n ErrorHandler,\r\n RequiredLabel,\r\n AddButton\r\n} from \"mario-core\"\r\n\r\nimport SkillSelector from \"../components/SkillSelector\"\r\nimport CategorySelector from \"../components/CategorySelector\"\r\nimport ReflectionFormSelector from \"../components/ReflectionFormSelector\"\r\nimport ConferenceRubricSelector from \"../components/ConferenceRubricSelector\"\r\nimport QuestionList from \"../../../components/Questions/QuestionList\"\r\nimport AddQuestionModal from \"../components/AddQuestionModal\"\r\n\r\nimport useSessionTemplateDetail from \"../hooks/useSessionTemplateDetail\"\r\nimport useAddQuestion from \"../hooks/useAddQuestion\"\r\nimport schema from \"../configs/validationSchema\"\r\n\r\nconst SessionTemplateDetail: FC = () => {\r\n const modal = useRef<any>()\r\n const { id } = useParams<{ id: string }>()\r\n const {\r\n sessionTemplateDetail,\r\n defaultQuestions,\r\n questions,\r\n onAddQuestion,\r\n onRemoveQuestion,\r\n confirmData,\r\n backToList,\r\n edited,\r\n setEdited,\r\n setEditedTrue\r\n } = useSessionTemplateDetail(!!id ? parseInt(id) : null)\r\n\r\n const {\r\n categoryId,\r\n setCategoryId,\r\n isRandom,\r\n setIsRandom\r\n } = useAddQuestion()\r\n\r\n const openModal = useCallback(() => {\r\n setCategoryId(0)\r\n setIsRandom(false)\r\n modal && modal.current && modal.current.toggle()\r\n }, [modal])\r\n\r\n const header = `${\r\n !!id ? \"Update\" : \"Create\"\r\n } learning support session template`\r\n const confirmText = !!id ? \"Update\" : \"Create\"\r\n\r\n return (\r\n <Formik\r\n initialValues={sessionTemplateDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={values => {\r\n confirmData(values)\r\n setEdited(false)\r\n if (!!localStorage.getItem(window.location.href))\r\n localStorage.removeItem(window.location.href)\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n errors,\r\n touched,\r\n handleChange,\r\n handleSubmit,\r\n setFieldValue\r\n } = formikProps\r\n\r\n useEffect(() => {\r\n setFieldValue(\r\n \"extraQuestionIds\",\r\n questions.map((question: any) => question.id)\r\n )\r\n }, [questions])\r\n\r\n return (\r\n <div className=\"detail-buttons-padding\">\r\n <QuitPrompt when={edited} />\r\n <AddQuestionModal\r\n categoryId={categoryId}\r\n setCategoryId={setCategoryId}\r\n isRandom={isRandom}\r\n setIsRandom={setIsRandom}\r\n onAddQuestion={onAddQuestion}\r\n extraQuestionIds={values.extraQuestionIds}\r\n ref={modal}\r\n />\r\n <h5 className=\"mb-2\">{header}</h5>\r\n <Row className=\"mb-2\">\r\n <Col md={6}>\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler text={errors.name} />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Category\" />\r\n <CategorySelector\r\n defaultValue={\r\n values.learningSupportCategoryId\r\n }\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"learningSupportCategoryId\",\r\n (e && e.value) || 0\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n {touched.learningSupportCategoryId &&\r\n errors.learningSupportCategoryId && (\r\n <ErrorHandler\r\n text={\r\n errors.learningSupportCategoryId as string\r\n }\r\n />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Skills\" />\r\n <SkillSelector\r\n values={values.skillIds}\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"skillIds\",\r\n e\r\n ? e.map(\r\n (item: any) =>\r\n item.value\r\n )\r\n : []\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n {touched.skillIds &&\r\n errors.skillIds && (\r\n <ErrorHandler\r\n text={\r\n errors.skillIds as string\r\n }\r\n />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Teacher reflection form\" />\r\n <ReflectionFormSelector\r\n defaultValue={\r\n values.teacherReflectionFormId\r\n }\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"teacherReflectionFormId\",\r\n (e && e.value) || 0\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n {touched.teacherReflectionFormId &&\r\n errors.teacherReflectionFormId && (\r\n <ErrorHandler\r\n text={\r\n errors.teacherReflectionFormId as string\r\n }\r\n />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Student reflection form\" />\r\n <ReflectionFormSelector\r\n defaultValue={\r\n values.studentReflectionFormId\r\n }\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"studentReflectionFormId\",\r\n (e && e.value) || 0\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n {touched.studentReflectionFormId &&\r\n errors.studentReflectionFormId && (\r\n <ErrorHandler\r\n text={\r\n errors.studentReflectionFormId as string\r\n }\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </Col>\r\n <Col md={6}>\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <AddButton\r\n text=\"Add question\"\r\n onClick={openModal}\r\n />\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <p className=\"mb-2 font-weight-bold\">\r\n Selected questions\r\n </p>\r\n <QuestionList\r\n questions={[\r\n ...defaultQuestions,\r\n ...questions\r\n ]}\r\n onRemove={onRemoveQuestion}\r\n />\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <Row>\r\n <Col md={6}>\r\n <CustomInput\r\n id=\"no-conference\"\r\n type=\"radio\"\r\n label=\"No conference\"\r\n checked={\r\n !values.isConference\r\n }\r\n onChange={() => {\r\n setFieldValue(\r\n \"isConference\",\r\n false\r\n )\r\n setFieldValue(\r\n \"conferenceRubricId\",\r\n null\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n </Col>\r\n <Col md={6}>\r\n <CustomInput\r\n id=\"conference\"\r\n type=\"radio\"\r\n label=\"Conference\"\r\n checked={\r\n values.isConference\r\n }\r\n onChange={() => {\r\n setFieldValue(\r\n \"isConference\",\r\n true\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n </Col>\r\n </Row>\r\n {values.isConference && (\r\n <Row className=\"mt-2\">\r\n <Col md={12}>\r\n <ConferenceRubricSelector\r\n defaultValue={\r\n values.conferenceRubricId\r\n }\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"conferenceRubricId\",\r\n (e &&\r\n e.value) ||\r\n null\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n {touched.conferenceRubricId &&\r\n errors.conferenceRubricId && (\r\n <ErrorHandler\r\n text={\r\n errors.conferenceRubricId as string\r\n }\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n )}\r\n </Col>\r\n </Row>\r\n </Col>\r\n </Row>\r\n <DetailActionButtons\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={backToList}\r\n />\r\n </div>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default SessionTemplateDetail\r\n","import React, { FC, useState, useEffect, useCallback } from \"react\"\r\nimport { CustomSelector } from \"mario-core\"\r\n\r\nimport { get } from \"../../../services/subjectService\"\r\n\r\ninterface Props {\r\n defaultValue: number | null | undefined\r\n onChange: Function\r\n}\r\n\r\ninterface Option {\r\n label: string\r\n value: number\r\n}\r\n\r\nconst SubjectSelector: FC<Props> = ({ defaultValue, onChange }: Props) => {\r\n const [options, setOptions] = useState<Option[]>([])\r\n\r\n const getData = useCallback(async () => {\r\n try {\r\n const res = await get()\r\n setOptions(\r\n res.data.items.map((item: any) => ({\r\n value: item.id,\r\n label: item.name\r\n }))\r\n )\r\n } catch (err) {\r\n console.error(err.response?.data?.title || err.message)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [])\r\n\r\n const value =\r\n (defaultValue &&\r\n options.filter((option: any) => option.value === defaultValue)) ||\r\n null\r\n\r\n return (\r\n <CustomSelector\r\n options={options}\r\n value={value}\r\n onChange={onChange}\r\n placeholder=\"Select subject\"\r\n />\r\n )\r\n}\r\n\r\nexport default SubjectSelector\r\n","import { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { useHistory } from \"react-router-dom\"\r\n\r\nimport { setLoading, setAlert } from \"mario-core\"\r\nimport {\r\n create,\r\n getById,\r\n update\r\n} from \"../../../services/sessionTemplateGeneralClassService\"\r\n\r\ntype SessionTemplateGeneralClassDetail = {\r\n id?: number | null\r\n name: string\r\n subjectId: number\r\n questionIds: number[]\r\n}\r\n\r\ntype QuestionSimple = {\r\n id: number\r\n text: string\r\n}\r\n\r\nconst initValue: SessionTemplateGeneralClassDetail = {\r\n name: \"\",\r\n subjectId: 0,\r\n questionIds: []\r\n}\r\n\r\nconst SESSION_TEMPLATE_GENERAL_CLASS_LIST_URL =\r\n \"/admin/session-template/general-class\"\r\nconst CREATE_TEMPLATE_TITLE = \"Create general class template\"\r\n\r\nconst useSessionTemplateGeneralClassDetail = (id?: number | null) => {\r\n const dispatch = useDispatch()\r\n const history = useHistory()\r\n const [categoryId, setCategoryId] = useState<number>(0)\r\n const [temporaryQuestion, setTemporaryQuestion] = useState<any>()\r\n const [questions, setQuestions] = useState<QuestionSimple[]>([])\r\n const [\r\n sessionTemplateGeneralClassDetail,\r\n setSessionTemplateGeneralClassDetail\r\n ] = useState<SessionTemplateGeneralClassDetail>(initValue)\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n useEffect(() => {\r\n !!id && getData()\r\n if (!!id) {\r\n getData()\r\n } else {\r\n document.title = CREATE_TEMPLATE_TITLE\r\n }\r\n }, [id])\r\n useEffect(() => {\r\n setEdited(false)\r\n if (!!localStorage.getItem(window.location.href))\r\n localStorage.removeItem(window.location.href)\r\n }, [])\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n const res = await getById(id as number)\r\n setSessionTemplateGeneralClassDetail({\r\n id: res.data.id,\r\n name: res.data.name,\r\n subjectId: res.data.subjectId,\r\n questionIds: res.data.questions.map(\r\n (question: QuestionSimple) => question.id\r\n )\r\n })\r\n document.title = res.data.name\r\n setQuestions(res.data.questions)\r\n document.title = res.data?.name\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const backToList = useCallback(() => {\r\n history.push(SESSION_TEMPLATE_GENERAL_CLASS_LIST_URL)\r\n }, [])\r\n\r\n const confirmData = useCallback(\r\n async (data: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n !id && delete data.id\r\n await next(data)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } session template successfully`\r\n })\r\n )\r\n\r\n backToList()\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id]\r\n )\r\n\r\n const onAddQuestion = useCallback(async () => {\r\n try {\r\n const questionIds = questions.map(\r\n (question: QuestionSimple) => question.id\r\n )\r\n if (!temporaryQuestion) return\r\n\r\n if (questionIds.includes(temporaryQuestion.id)) return\r\n\r\n setQuestions([\r\n ...questions,\r\n {\r\n id: temporaryQuestion.id,\r\n text: temporaryQuestion.text\r\n }\r\n ])\r\n setTemporaryQuestion(null)\r\n setEditedTrue()\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n }, [questions, temporaryQuestion])\r\n\r\n const onRemoveQuestion = useCallback(\r\n (questionId: number) => {\r\n setQuestions(\r\n questions.filter(\r\n (question: QuestionSimple) => question.id !== questionId\r\n )\r\n )\r\n setEditedTrue()\r\n },\r\n [questions]\r\n )\r\n\r\n return {\r\n sessionTemplateGeneralClassDetail,\r\n questions,\r\n categoryId,\r\n temporaryQuestion,\r\n setTemporaryQuestion,\r\n setCategoryId,\r\n backToList,\r\n confirmData,\r\n onRemoveQuestion,\r\n onAddQuestion,\r\n edited,\r\n setEdited,\r\n setEditedTrue\r\n }\r\n}\r\n\r\nexport default useSessionTemplateGeneralClassDetail\r\n","import React, { FC, useEffect } from \"react\"\r\nimport { useParams } from \"react-router-dom\"\r\nimport { Row, Col, Input, Label, Button } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\nimport * as yup from \"yup\"\r\nimport {\r\n QuitPrompt,\r\n DetailActionButtons,\r\n RequiredLabel,\r\n ErrorHandler,\r\n QuestionCategorySelector\r\n} from \"mario-core\"\r\n\r\nimport QuestionList from \"../../../components/Questions/QuestionList\"\r\nimport SubjectSelector from \"../components/SubjectSelector\"\r\nimport QuestionSelector from \"../../../components/Questions/QuestionSelector\"\r\n\r\nimport useSessionTemplateGeneralClassDetail from \"../hooks/useSessionTemplateGeneralClassDetail\"\r\n\r\nconst schema = yup.object({\r\n name: yup.string().trim().required(\"Name is required\"),\r\n subjectId: yup\r\n .number()\r\n .required(\"Subject is required\")\r\n .test(\r\n \"Test subject\",\r\n \"Subject is required\",\r\n (value: number) => value > 0\r\n ),\r\n questionIds: yup\r\n .array()\r\n .of(yup.number())\r\n .min(1, \"Question is required\")\r\n .test(\r\n \"Test question\",\r\n \"Question is required\",\r\n (value: number[]) => !!value.length && value.every(id => !!id)\r\n )\r\n})\r\n\r\nconst SessionTemplateGeneralClassDetail: FC = () => {\r\n const { id } = useParams<{ id: string }>()\r\n const header = `${\r\n !!id ? \"Update\" : \"Create\"\r\n } general class session template`\r\n const {\r\n sessionTemplateGeneralClassDetail,\r\n questions,\r\n categoryId,\r\n temporaryQuestion,\r\n setTemporaryQuestion,\r\n setCategoryId,\r\n confirmData,\r\n backToList,\r\n onRemoveQuestion,\r\n onAddQuestion,\r\n edited,\r\n setEdited,\r\n setEditedTrue\r\n } = useSessionTemplateGeneralClassDetail(!!id ? parseInt(id) : null)\r\n\r\n const confirmText = !!id ? \"Update\" : \"Create\"\r\n\r\n return (\r\n <Formik\r\n initialValues={sessionTemplateGeneralClassDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={values => {\r\n confirmData(values)\r\n setEdited(false)\r\n if (!!localStorage.getItem(window.location.href))\r\n localStorage.removeItem(window.location.href)\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n errors,\r\n touched,\r\n handleChange,\r\n handleSubmit,\r\n setFieldValue\r\n } = formikProps\r\n\r\n useEffect(() => {\r\n setFieldValue(\r\n \"questionIds\",\r\n questions.map((question: any) => question.id)\r\n )\r\n }, [questions])\r\n\r\n return (\r\n <div className=\"detail-buttons-padding\">\r\n <QuitPrompt when={edited} />\r\n <h5 className=\"mb-2\">{header}</h5>\r\n <Row className=\"mb-2\">\r\n <Col md={6}>\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler text={errors.name} />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Subject\" />\r\n <SubjectSelector\r\n defaultValue={values.subjectId}\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"subjectId\",\r\n (e && e.value) || 0\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n {touched.subjectId &&\r\n errors.subjectId && (\r\n <ErrorHandler\r\n text={errors.subjectId}\r\n />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Question category</Label>\r\n <QuestionCategorySelector\r\n id={categoryId}\r\n placeholder=\"Select category\"\r\n onChange={(e: any) => {\r\n setCategoryId(\r\n (e && e.value) || 0\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Question selector</Label>\r\n <Row>\r\n <Col\r\n md={12}\r\n className=\"d-flex align-items-center\"\r\n >\r\n <div className=\"mr-2 flex-grow-1\">\r\n <QuestionSelector\r\n categoryId={categoryId}\r\n externalQuestionIds={\r\n values.questionIds\r\n }\r\n value={\r\n temporaryQuestion\r\n }\r\n onChange={(e: any) => {\r\n setTemporaryQuestion(\r\n e || null\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n </div>\r\n <div className=\"h-100\">\r\n <Button\r\n color=\"primary\"\r\n className=\"h-100\"\r\n onClick={onAddQuestion}\r\n >\r\n Add question\r\n </Button>\r\n </div>\r\n </Col>\r\n </Row>\r\n </Col>\r\n </Row>\r\n </Col>\r\n <Col md={6}>\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <p className=\"mb-2 font-weight-bold\">\r\n Selected questions\r\n </p>\r\n <QuestionList\r\n questions={questions}\r\n onRemove={onRemoveQuestion}\r\n />\r\n {touched.questionIds &&\r\n errors.questionIds && (\r\n <ErrorHandler\r\n text={\r\n errors.questionIds as string\r\n }\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </Col>\r\n </Row>\r\n <DetailActionButtons\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={backToList}\r\n />\r\n </div>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default SessionTemplateGeneralClassDetail\r\n","import { format } from \"date-fns\"\r\nimport toDate from \"date-fns/toDate\"\r\nimport { Formik } from \"formik\"\r\nimport {\r\n CommonModal,\r\n DATE_FORMAT,\r\n DeleteButtonIcon,\r\n ErrorHandler,\r\n RequiredLabel\r\n} from \"mario-core\"\r\nimport React, { forwardRef } from \"react\"\r\nimport DatePicker from \"react-datepicker\"\r\nimport { Col, Input, Label, Row, Table } from \"reactstrap\"\r\nimport * as yup from \"yup\"\r\nimport StudentSelector from \"../../Classes/components/StudentSelector\"\r\nimport CategorySelector from \"../../SessionTemplate/components/CategorySelector\"\r\n\r\nconst schema = yup.object({\r\n learningSupportCategoryId: yup\r\n .number()\r\n .test(\r\n \"testLearningSupportCategoryId\",\r\n \"Invalid category\",\r\n number => !!number && number >= 1\r\n ),\r\n numberOfSessions: yup\r\n .number()\r\n .test(\r\n \"testDuration\",\r\n \"Number of sessions is greater than 0\",\r\n number => !!number && number >= 1\r\n ),\r\n beginDate: yup.string().required(\"Begin date is required\"),\r\n duration: yup\r\n .number()\r\n .test(\r\n \"testDuration\",\r\n \"Duration is greater than 0\",\r\n number => !!number && number >= 1\r\n ),\r\n studentIds: yup\r\n .array()\r\n .test(\r\n \"test students\",\r\n \"Select some students to add to custom alert\",\r\n function () {\r\n return (\r\n !!this.parent.studentIds && !!this.parent.studentIds.length\r\n )\r\n }\r\n )\r\n})\r\n\r\nconst CustomAlertDetailModal = (props: any, ref: any) => {\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n customAlertDetail,\r\n onCancel,\r\n onRemoveStudentFromCustomAlert,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = props\r\n\r\n return (\r\n <Formik\r\n initialValues={customAlertDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n onConfirm(values)\r\n actions.resetForm()\r\n }}\r\n >\r\n {formProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleSubmit,\r\n setFieldValue,\r\n handleChange\r\n } = formProps\r\n\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onConfirm={handleSubmit}\r\n onCancel={onCancel}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n >\r\n <Row className=\"mb-2\">\r\n <Col md={12} className=\"mb-2\">\r\n <Row className=\"mb-2\">\r\n <Col md={6}>\r\n <RequiredLabel text=\"Category\" />\r\n <CategorySelector\r\n defaultValue={\r\n values.learningSupportCategoryId\r\n }\r\n onChange={(e: any) => {\r\n setFieldValue(\r\n \"learningSupportCategoryId\",\r\n (e && e.value) || 0\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n {touched.learningSupportCategoryId &&\r\n errors.learningSupportCategoryId && (\r\n <ErrorHandler\r\n text={\r\n errors.learningSupportCategoryId as string\r\n }\r\n />\r\n )}\r\n </Col>\r\n <Col md={6}>\r\n <RequiredLabel text=\"Number of sessions\" />\r\n <Input\r\n name=\"numberOfSessions\"\r\n value={\r\n !!values.numberOfSessions &&\r\n values.numberOfSessions\r\n }\r\n type=\"number\"\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n />\r\n {touched.numberOfSessions &&\r\n errors.numberOfSessions && (\r\n <ErrorHandler\r\n text={\r\n errors.numberOfSessions as string\r\n }\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </Col>\r\n\r\n <Col md={12}>\r\n <Row className=\"mb-2\">\r\n <Col md={6}>\r\n <RequiredLabel text=\"Begin date\" />\r\n <DatePicker\r\n value={values.beginDate}\r\n todayButton=\"Today\"\r\n peekNextMonth\r\n showMonthDropdown\r\n showYearDropdown\r\n dropdownMode=\"select\"\r\n selected={\r\n values.beginDate\r\n ? toDate(\r\n new Date(\r\n values.beginDate\r\n )\r\n )\r\n : null\r\n }\r\n onChange={(e: any) => {\r\n formProps.setFieldValue(\r\n \"beginDate\",\r\n format(e, DATE_FORMAT)\r\n )\r\n setEditedTrue()\r\n }}\r\n customInput={<Input type=\"text\" />}\r\n wrapperClassName=\"w-100\"\r\n />\r\n {touched.beginDate &&\r\n errors.beginDate && (\r\n <ErrorHandler\r\n text={\r\n errors.beginDate as string\r\n }\r\n />\r\n )}\r\n </Col>\r\n <Col md={6}>\r\n <RequiredLabel text=\"Duration (days)\" />\r\n <Input\r\n name=\"duration\"\r\n value={\r\n !!values.duration &&\r\n values.duration\r\n }\r\n type=\"number\"\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n />\r\n {touched.duration &&\r\n errors.duration && (\r\n <ErrorHandler\r\n text={\r\n errors.duration as string\r\n }\r\n />\r\n )}\r\n </Col>\r\n </Row>\r\n </Col>\r\n\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Students</Label>\r\n <StudentSelector\r\n onChange={(e: any) => {\r\n formProps.setFieldValue(\r\n \"studentIds\",\r\n e.map((i: any) => i.value)\r\n )\r\n setEditedTrue()\r\n }}\r\n />\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n {touched.studentIds && errors.studentIds && (\r\n <ErrorHandler\r\n text={errors.studentIds as string}\r\n />\r\n )}\r\n </Col>\r\n\r\n {!!values.students && values.students.length > 0 && (\r\n <Col md={12}>\r\n <Table\r\n bordered\r\n hover\r\n striped\r\n responsive\r\n size=\"sm\"\r\n >\r\n <thead>\r\n <tr>\r\n <th>Student</th>\r\n <th className=\"text-center\">\r\n Action\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {!!values.students &&\r\n values.students.map(\r\n (record: any) => (\r\n <tr>\r\n <td>{`${record.fullName} (${record.email})`}</td>\r\n <td className=\"text-center\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemoveStudentFromCustomAlert(\r\n record.customAlertStudentId\r\n )\r\n }\r\n />\r\n </td>\r\n </tr>\r\n )\r\n )}\r\n </tbody>\r\n </Table>\r\n </Col>\r\n )}\r\n </Row>\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(CustomAlertDetailModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst CUSTOM_ALERT_URL = `${BASE_URL}/api/CustomAlert`\r\n\r\nexport const get = (filter?: Filter) => api.get(CUSTOM_ALERT_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${CUSTOM_ALERT_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(CUSTOM_ALERT_URL, data)\r\n\r\nexport const update = (data: any) => api.put(`${CUSTOM_ALERT_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${CUSTOM_ALERT_URL}/${id}`)\r\n\r\nexport const removeStudent = (customAlertStudentId: number) => api.delete(`${CUSTOM_ALERT_URL}/customAlertStudents/${customAlertStudentId}`)","import format from \"date-fns/format\"\r\nimport { DATE_FORMAT, setAlert, setLoading, setModal } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport {\r\n create,\r\n getById,\r\n removeStudent,\r\n update\r\n} from \"../../../services/customAlertService\"\r\n\r\ntype CustomAlertDetail = {\r\n learningSupportCategoryId: number\r\n numberOfSessions: number\r\n beginDate: string\r\n duration: string\r\n studentIds?: number[]\r\n}\r\n\r\nconst initValue: CustomAlertDetail = {\r\n learningSupportCategoryId: 0,\r\n numberOfSessions: 0,\r\n beginDate: \"\",\r\n duration: \"\",\r\n studentIds: []\r\n}\r\n\r\nconst useCustomAlertDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [\r\n customAlertDetail,\r\n setCustomAlertDetail\r\n ] = useState<CustomAlertDetail>(initValue)\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id ? getData() : setCustomAlertDetail(initValue)\r\n }, [id])\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const reset = () => {\r\n setCustomAlertDetail(initValue)\r\n setId(0)\r\n }\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setCustomAlertDetail({\r\n ...res.data,\r\n studentIds: res.data.students.map((std: any) => std.studentId),\r\n beginDate: format(new Date(res.data.beginDate), DATE_FORMAT)\r\n })\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } custom alert successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id]\r\n )\r\n\r\n const onRemoveStudent = useCallback(\r\n (customAlertStudentId: number, cb: any) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this student?\",\r\n onConfirm: async () => {\r\n await removeStudent(customAlertStudentId)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove student successfully\"\r\n })\r\n )\r\n getData()\r\n if (!!cb) cb()\r\n setEditedTrue()\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [id]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n customAlertDetail,\r\n confirmData,\r\n onRemoveStudent,\r\n initValue,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useCustomAlertDetail\r\n","import format from \"date-fns/format\"\r\nimport { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setLoading,\r\n setModal,\r\n setCustomAlertList,\r\n DATE_FORMAT,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/customAlertService\"\r\n\r\nconst TITLE = \"Custom alert list\"\r\nconst useCustomAlertList = () => {\r\n const customAlertList = useSelector(\r\n (state: any) => state.customAlerts.customAlertList\r\n )\r\n const totalItems = useSelector(\r\n (state: any) => state.customAlerts.totalItems\r\n )\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n const formatedDateItems = items.map((customAlert: any) => {\r\n return {\r\n ...customAlert,\r\n beginDate: format(\r\n new Date(customAlert.beginDate),\r\n DATE_FORMAT\r\n )\r\n }\r\n })\r\n dispatch(\r\n setCustomAlertList({\r\n customAlertList: formatedDateItems,\r\n totalItems\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this custom alert?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove custom alert successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n customAlertList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useCustomAlertList\r\n","import { format } from \"date-fns\"\r\nimport {\r\n AddButton,\r\n CustomPagination,\r\n DATE_RESULT,\r\n DeleteButtonIcon,\r\n EditButtonIcon,\r\n EmptyDataAlert,\r\n QuitPrompt\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\nimport CustomAlertDetailModal from \"../components/CustomAlertDetailModal\"\r\nimport useCustomAlertDetail from \"../hooks/useCustomAlertDetail\"\r\nimport useCustomAlertList from \"../hooks/useCustomAlertList\"\r\n\r\nconst header = \"Custom alert\"\r\nconst CustomAlertList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n customAlertList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n } = useCustomAlertList()\r\n\r\n const {\r\n id,\r\n setId,\r\n customAlertDetail,\r\n confirmData,\r\n onRemoveStudent,\r\n reset,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useCustomAlertDetail()\r\n\r\n const openModal = (customAlertId?: number) => {\r\n !!customAlertId ? setId(customAlertId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n\r\n const onRemoveStudentFromCustomAlert = (customAlertStudentId: number) => {\r\n onRemoveStudent(customAlertStudentId, getData)\r\n }\r\n\r\n const onCancel = () => reset()\r\n return (\r\n <div className=\"fadeIn animated\">\r\n <CustomAlertDetailModal\r\n ref={modal}\r\n header={!!id ? \"Edit custom alert\" : \"Create custom alert\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n onCancel={onCancel}\r\n customAlertDetail={customAlertDetail}\r\n onRemoveStudentFromCustomAlert={onRemoveStudentFromCustomAlert}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n />\r\n <QuitPrompt when={edited} />\r\n <h5 className=\"mb-2\">{header}</h5>\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create custom alert\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of custom alert: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {customAlertList && customAlertList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"align-top\">Category</th>\r\n <th className=\"align-top\">\r\n Number of sessions\r\n </th>\r\n <th className=\"align-top\">\r\n Number of students\r\n </th>\r\n <th className=\"align-top\">Begin date</th>\r\n <th className=\"align-top\">\r\n Duration (days)\r\n </th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {customAlertList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"align-middle\">\r\n {!!record.learningSupportCategory &&\r\n record.learningSupportCategory\r\n .name}\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.numberOfSessions}\r\n </td>\r\n <td className=\"align-middle\">\r\n {!!record.students &&\r\n record.students.length}\r\n </td>\r\n <td className=\"align-middle\">\r\n {format(\r\n new Date(record.beginDate),\r\n DATE_RESULT\r\n )}\r\n </td>\r\n <td className=\"align-middle\">\r\n {record.duration}\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <EditButtonIcon\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"Custom alert\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default CustomAlertList\r\n","import React, { forwardRef } from \"react\"\r\nimport { Row, Col, Input, Label, Button } from \"reactstrap\"\r\nimport { Formik } from \"formik\"\r\nimport * as yup from \"yup\"\r\n\r\nimport {\r\n CommonModal,\r\n DeleteButtonIcon,\r\n ErrorHandler,\r\n generateRandomString,\r\n RequiredLabel,\r\n UploadFileButton\r\n} from \"mario-core\"\r\nimport ToggleInput from \"../../../components/Input/ToggleInput\"\r\nimport styles from \"../styles/certificate.module.css\"\r\n\r\nconst schema = yup.object({\r\n name: yup.string().required(\"Name is required\"),\r\n certificateItems: yup\r\n .array()\r\n .test(\"Text label required\", \"Text is required\", (value: any) =>\r\n value?.every((item: any) => !!item.text?.trim())\r\n )\r\n})\r\n\r\nconst CertificateDetailModal = (props: any, ref: any) => {\r\n // var [errorsDulicapte, setErrorsDuplicate] = useState<boolean>(false)\r\n const {\r\n header,\r\n confirmText,\r\n onConfirm,\r\n certificateDetail,\r\n setFile,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse,\r\n setId\r\n } = props\r\n return (\r\n <Formik\r\n initialValues={certificateDetail}\r\n enableReinitialize\r\n validationSchema={schema}\r\n onSubmit={(values, actions) => {\r\n let checkSubmit = false\r\n if (values.certificateItems?.length > 0) {\r\n if (\r\n values.certificateItems?.length ===\r\n new Set(\r\n values.certificateItems.map(\r\n (item: any) => item?.text\r\n )\r\n ).size\r\n ) {\r\n // setErrorsDuplicate(false)\r\n checkSubmit = false\r\n } else {\r\n // setErrorsDuplicate(true)\r\n checkSubmit = true\r\n }\r\n }\r\n if (checkSubmit == false) {\r\n onConfirm(values)\r\n actions.resetForm({\r\n values: {\r\n name: \"\",\r\n description: \"\",\r\n imageUrl: \"\",\r\n certificateItems: [\r\n {\r\n id: 0,\r\n text: \"\"\r\n }\r\n ]\r\n }\r\n })\r\n }\r\n }}\r\n >\r\n {formikProps => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n setFieldValue,\r\n resetForm\r\n } = formikProps\r\n\r\n const addItem = (initItemValue: any) => {\r\n setFieldValue(\"certificateItems\", [\r\n ...values.certificateItems,\r\n { uid: generateRandomString(), ...initItemValue }\r\n ])\r\n }\r\n const addItemBreakPoint = (\r\n itemCertificate: number,\r\n initBreakPoint: any\r\n ) => {\r\n let listFiledCloner = [...values.certificateItems]\r\n let field = listFiledCloner.find(\r\n (item: any) =>\r\n (!!item.uid ? item.uid : item.id) ===\r\n itemCertificate\r\n )\r\n console.log(\"1\")\r\n console.log(field)\r\n\r\n if (field) {\r\n console.log(\"2\")\r\n field[\"breakPointCertification\"] = [\r\n ...field.breakPointCertification,\r\n { uid: generateRandomString(), ...initBreakPoint }\r\n ]\r\n setFieldValue(\"certificateItems\", listFiledCloner)\r\n console.log(listFiledCloner)\r\n }\r\n }\r\n\r\n const onRemoveItem = (id: string) => {\r\n setFieldValue(\r\n \"certificateItems\",\r\n values.certificateItems.filter(\r\n (item: any) =>\r\n (!!item.uid ? item.uid : item.id) !== id\r\n )\r\n )\r\n }\r\n\r\n const onCancel = () => {\r\n setId(0)\r\n formikProps.resetForm({\r\n values: {\r\n name: \"\",\r\n description: \"\",\r\n imageUrl: \"\",\r\n certificateItems: [\r\n {\r\n id: 0,\r\n text: \"\"\r\n }\r\n ]\r\n }\r\n })\r\n formikProps.setErrors({})\r\n formikProps.setTouched({})\r\n }\r\n const onChangeInformation = (\r\n id: string | number,\r\n valueObject: any\r\n ) => {\r\n let listFiledCloner = [...values.certificateItems]\r\n let field = listFiledCloner.find(\r\n (item: any) => (!!item.uid ? item.uid : item.id) === id\r\n )\r\n if (field) {\r\n for (const key of Object.keys(valueObject)) {\r\n field[key] = valueObject[key]\r\n }\r\n setFieldValue(\"certificateItems\", listFiledCloner)\r\n }\r\n }\r\n const onChangeBreakPointInformation = (\r\n certificateId: string | number,\r\n id: string | number,\r\n valueObject: any\r\n ) => {\r\n let listFiledCloner = [...values.certificateItems]\r\n let field = listFiledCloner.find(\r\n (item: any) =>\r\n (!!item.uid ? item.uid : item.id) === certificateId\r\n )\r\n if (field) {\r\n let fieldBreakPoint = field.breakPointCertification.find(\r\n (item: any) =>\r\n (!!item.uid ? item.uid : item.id) === id\r\n )\r\n if (fieldBreakPoint) {\r\n for (const key of Object.keys(valueObject)) {\r\n fieldBreakPoint[key] = valueObject[key]\r\n }\r\n setFieldValue(\"certificateItems\", listFiledCloner)\r\n }\r\n }\r\n }\r\n const onRemoveBreakPointItem = (\r\n certificateId: string | number,\r\n id: string\r\n ) => {\r\n var listFiledCloner = [...values.certificateItems]\r\n let field = listFiledCloner.find(\r\n (item: any) =>\r\n (!!item.uid ? item.uid : item.id) === certificateId\r\n )\r\n\r\n if (field) {\r\n let fieldBreakPoint = field.breakPointCertification.filter(\r\n (item: any) =>\r\n (!!item.uid ? item.uid : item.id) !== id\r\n )\r\n field[\"breakPointCertification\"] = fieldBreakPoint\r\n setFieldValue(\"certificateItems\", listFiledCloner)\r\n }\r\n }\r\n return (\r\n <CommonModal\r\n header={header}\r\n confirmText={confirmText}\r\n onCancel={() => {\r\n onCancel()\r\n resetForm()\r\n }}\r\n onConfirm={handleSubmit}\r\n ref={ref}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedFalse={setEditedFalse}\r\n size={\"lg\"}\r\n >\r\n <Row>\r\n <Col md={12} className=\"mb-2\">\r\n <RequiredLabel text=\"Name\" />\r\n <Input\r\n name=\"name\"\r\n placeholder=\"Name\"\r\n value={values.name}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"name\")}\r\n />\r\n {touched.name && errors.name && (\r\n <ErrorHandler\r\n text={errors.name as string}\r\n />\r\n )}\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Description</Label>\r\n <Input\r\n type=\"textarea\"\r\n rows={5}\r\n name=\"description\"\r\n placeholder=\"Description\"\r\n value={values.description}\r\n onChange={e => {\r\n handleChange(e)\r\n setEditedTrue()\r\n }}\r\n onBlur={handleBlur(\"description\")}\r\n />\r\n </Col>\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Image</Label>\r\n <UploadFileButton\r\n setFile={setFile}\r\n fileName={values.imageUrl}\r\n />\r\n </Col>\r\n {/* <Col md={12} className=\"mb-2\">\r\n <Label>Quest items</Label>\r\n <div className=\"text-right\">\r\n <Button\r\n onClick={() =>\r\n addItem({ text: \"\" })\r\n }\r\n >\r\n <i className=\"far fa-plus\"></i>Add Quest\r\n Item\r\n </Button>\r\n </div>\r\n\r\n <Table\r\n responsive\r\n hover\r\n striped\r\n bordered\r\n className=\"mt-2\"\r\n >\r\n <thead>\r\n <tr>\r\n <th className=\"text-center align-middle\">\r\n Text\r\n </th>\r\n <th className=\"text-center align-middle\">\r\n Action\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {!!values.certificateItems &&\r\n values.certificateItems.length >\r\n 0 &&\r\n values.certificateItems.map(\r\n (record: any) => (\r\n <tr\r\n key={\r\n !!record.uid\r\n ? record.uid\r\n : record.id\r\n }\r\n >\r\n <td>\r\n <ToggleInput\r\n value={\r\n record.text\r\n }\r\n onChange={(\r\n value: string\r\n ) => {\r\n onChangeInformation(\r\n !!record.uid\r\n ? record.uid\r\n : record.id,\r\n {\r\n text: value\r\n }\r\n )\r\n }}\r\n noMb\r\n defaultValue=\"Click to change text\"\r\n />\r\n {record.text ==\r\n \"\" &&\r\n touched.certificateItems &&\r\n errors.certificateItems && (\r\n <ErrorHandler\r\n text={\r\n errors.certificateItems as string\r\n }\r\n />\r\n )}\r\n </td>\r\n <td className=\"text-center\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemoveItem(\r\n !!record.uid\r\n ? record.uid\r\n : record.id\r\n )\r\n }\r\n />\r\n </td>\r\n </tr>\r\n )\r\n )}\r\n {!!errorsDulicapte && (\r\n <ErrorHandler\r\n text={\r\n \"Quest items are duplicated\"\r\n }\r\n />\r\n )}\r\n </tbody>\r\n </Table>\r\n </Col> */}\r\n\r\n <Col md={12} className=\"mb-2\">\r\n <Label>Quest items</Label>\r\n <div className=\"text-right\">\r\n <Button\r\n onClick={() =>\r\n addItem({\r\n text: \"\",\r\n breakPointCertification: []\r\n })\r\n }\r\n >\r\n <i className=\"far fa-plus\"></i>Add Quest\r\n Item\r\n </Button>\r\n </div>\r\n </Col>\r\n </Row>\r\n {!!values.certificateItems &&\r\n values.certificateItems.length > 0 &&\r\n values.certificateItems.map((record: any) => (\r\n <Row\r\n key={record.id}\r\n className={`${styles[\"box-item\"]}`}\r\n >\r\n <Col md={10} className=\"mb-2\">\r\n <ToggleInput\r\n value={record.text}\r\n onChange={(value: string) => {\r\n onChangeInformation(\r\n !!record.uid\r\n ? record.uid\r\n : record.id,\r\n {\r\n text: value\r\n }\r\n )\r\n }}\r\n noMb\r\n defaultValue=\"Item text\"\r\n />\r\n </Col>\r\n <Col md={2}>\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemoveItem(\r\n !!record.uid\r\n ? record.uid\r\n : record.id\r\n )\r\n }\r\n />\r\n </Col>\r\n <Col md={12}>\r\n <h6>Break points</h6>\r\n <h6\r\n className={styles[\"add-breakpoint\"]}\r\n onClick={() =>\r\n addItemBreakPoint(\r\n !!record.uid\r\n ? record.uid\r\n : record.id,\r\n {\r\n text: \"\"\r\n }\r\n )\r\n }\r\n >\r\n Add more break point\r\n </h6>\r\n </Col>\r\n {record.breakPointCertification?.length >\r\n 0 &&\r\n record.breakPointCertification.map(\r\n (item: any) => (\r\n <React.Fragment key={item.id}>\r\n <Col\r\n md={10}\r\n className=\"mb-2\"\r\n key={item.id}\r\n >\r\n <ToggleInput\r\n value={item.text}\r\n onChange={(\r\n value: string\r\n ) => {\r\n onChangeBreakPointInformation(\r\n !!record.uid\r\n ? record.uid\r\n : record.id,\r\n !!item.uid\r\n ? item.uid\r\n : item.id,\r\n {\r\n text: value\r\n }\r\n )\r\n }}\r\n noMb\r\n defaultValue=\"Click to change text\"\r\n />\r\n </Col>\r\n <Col md={2}>\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemoveBreakPointItem(\r\n !!record.uid\r\n ? record.uid\r\n : record.id,\r\n !!item.uid\r\n ? item.uid\r\n : item.id\r\n )\r\n }\r\n />\r\n </Col>\r\n </React.Fragment>\r\n )\r\n )}\r\n </Row>\r\n ))}\r\n </CommonModal>\r\n )\r\n }}\r\n </Formik>\r\n )\r\n}\r\n\r\nexport default forwardRef(CertificateDetailModal)\r\n","import { api, BASE_URL, Filter } from \"mario-core\"\r\n\r\nconst CERTIFICATE_URL = `${BASE_URL}/api/certificate`\r\nconst CERTIFICATE_TEACHER_URL = `${BASE_URL}/api/TeacherCertificate`\r\n\r\nexport const get = (filter?: Partial<Filter>) =>\r\n api.get(CERTIFICATE_URL, { params: filter })\r\n\r\nexport const getById = (id: number) => api.get(`${CERTIFICATE_URL}/${id}`)\r\n\r\nexport const create = (data: any) => api.post(CERTIFICATE_URL, data)\r\n\r\nexport const update = (data: any) =>\r\n api.put(`${CERTIFICATE_URL}/${data.id}`, data)\r\n\r\nexport const remove = (id: number) => api.delete(`${CERTIFICATE_URL}/${id}`)\r\n\r\nexport const getListTeacherCertificate = (\r\n isWaiting?: boolean,\r\n approved?: boolean\r\n) => api.get(`${CERTIFICATE_TEACHER_URL}`, { params: { isWaiting, approved } })\r\n\r\nexport const approve = (teacherCertificateId: number) =>\r\n api.post(`${CERTIFICATE_TEACHER_URL}/${teacherCertificateId}/approve`)\r\n","import { setAlert, setLoading } from \"mario-core\"\r\nimport { useCallback, useEffect, useState } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { create, getById, update } from \"../../../services/certificateService\"\r\nimport { systemCertificateUpload } from \"mario-core\"\r\n\r\ntype CertificateItem = {\r\n id: number\r\n text: string\r\n breakPointCertification: Array<object>\r\n}\r\n\r\ntype CertificateDetail = {\r\n name: string\r\n description: string\r\n imageUrl: string\r\n certificateItems: CertificateItem[]\r\n}\r\n\r\nconst initItemValue: CertificateItem = {\r\n id: 0,\r\n text: \"\",\r\n breakPointCertification: []\r\n}\r\n\r\nconst initValue: CertificateDetail = {\r\n name: \"\",\r\n description: \"\",\r\n imageUrl: \"\",\r\n certificateItems: [\r\n {\r\n id: 0,\r\n text: \"\",\r\n breakPointCertification: []\r\n }\r\n ]\r\n}\r\n\r\nconst useCertificateDetail = () => {\r\n const dispatch = useDispatch()\r\n\r\n const [id, setId] = useState(0)\r\n const [file, setFile] = useState<any>()\r\n const [\r\n certificateDetail,\r\n setCertificateDetail\r\n ] = useState<CertificateDetail>(initValue)\r\n const [edited, setEdited] = useState<boolean>(false)\r\n const setEditedTrue = async () => {\r\n localStorage.setItem(window.location.href, \"true\")\r\n setEdited(true)\r\n }\r\n const setEditedFalse = async () => {\r\n !!localStorage.getItem(window.location.href) &&\r\n localStorage.removeItem(window.location.href)\r\n setEdited(false)\r\n }\r\n useEffect(() => {\r\n !!id ? getData() : setCertificateDetail(initValue)\r\n }, [id])\r\n\r\n useEffect(() => {\r\n setEditedFalse()\r\n }, [])\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getById(id)\r\n setCertificateDetail(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [id])\r\n\r\n const confirmData = useCallback(\r\n async (values: any, cb: any) => {\r\n dispatch(setLoading(true))\r\n try {\r\n if (!!file) {\r\n const formData = new FormData()\r\n const { name } = file\r\n formData.append(\"file\", file, name)\r\n const res = await systemCertificateUpload(formData)\r\n const key = res?.data?.key\r\n values.imageUrl = key\r\n }\r\n\r\n const next = !!id ? update : create\r\n\r\n await next(values)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: `${\r\n !!id ? \"Update\" : \"Create\"\r\n } certificate successfully`\r\n })\r\n )\r\n\r\n cb && cb()\r\n !!id && setId(0)\r\n setFile(null)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n },\r\n [id, certificateDetail, file]\r\n )\r\n\r\n return {\r\n id,\r\n setId,\r\n certificateDetail,\r\n initItemValue,\r\n confirmData,\r\n initValue,\r\n setFile,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n }\r\n}\r\n\r\nexport default useCertificateDetail\r\n","import { useEffect, useCallback } from \"react\"\r\nimport { useSelector, useDispatch } from \"react-redux\"\r\nimport {\r\n setLoading,\r\n setModal,\r\n setCertificateList,\r\n setAlert,\r\n useFilters\r\n} from \"mario-core\"\r\n\r\nimport { get, remove } from \"../../../services/certificateService\"\r\n\r\nconst TITLE = \"Certificate list\"\r\nconst useCertificateList = () => {\r\n const certificateList = useSelector(\r\n (state: any) => state.certificate.certificateList\r\n )\r\n const totalItems = useSelector((state: any) => state.certificate.totalItems)\r\n\r\n const { filters, changeFilters } = useFilters()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await get(filters)\r\n const { items, totalItems } = res.data\r\n dispatch(setCertificateList({ certificateList: items, totalItems }))\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [dispatch, filters])\r\n\r\n const removeData = useCallback(\r\n (id: number) => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n dispatch(\r\n setModal({\r\n isOpen: true,\r\n type: \"warning\",\r\n message: \"Do you want to remove this certificate?\",\r\n onConfirm: async () => {\r\n await remove(id)\r\n\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n message: \"Remove certificate successfully\"\r\n })\r\n )\r\n changeFilters({ currentPage: 1 })\r\n }\r\n })\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n\r\n dispatch(setLoading(false))\r\n },\r\n [filters]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [filters])\r\n\r\n return {\r\n certificateList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n }\r\n}\r\n\r\nexport default useCertificateList\r\n","import {\r\n AddButton,\r\n DeleteButtonIcon,\r\n EmptyDataAlert,\r\n LinkEditButton,\r\n CustomPagination,\r\n QuitPrompt,\r\n getFileUrl\r\n} from \"mario-core\"\r\nimport React, { FC, useRef } from \"react\"\r\nimport { Col, Row, Table } from \"reactstrap\"\r\nimport CertificateDetailModal from \"./CertificateDetailModal\"\r\nimport useCertificateDetail from \"../hooks/useCertificateDetail\"\r\nimport useCertificateList from \"../hooks/useCertificateList\"\r\n\r\nconst header = \"Certificate\"\r\nconst CertificateList: FC = () => {\r\n const modal = useRef<any>()\r\n\r\n const {\r\n certificateList,\r\n totalItems,\r\n filters,\r\n changeFilters,\r\n getData,\r\n removeData\r\n } = useCertificateList()\r\n\r\n const {\r\n id,\r\n setId,\r\n certificateDetail,\r\n confirmData,\r\n setFile,\r\n edited,\r\n setEdited,\r\n setEditedTrue,\r\n setEditedFalse\r\n } = useCertificateDetail()\r\n\r\n const openModal = (certificateId?: number) => {\r\n !!certificateId ? setId(certificateId) : setId(0)\r\n modal && modal.current && modal.current.toggle()\r\n }\r\n\r\n const onConfirm = (values: any) => {\r\n confirmData(values, () => {\r\n modal && modal.current && modal.current.toggle()\r\n getData()\r\n })\r\n setEditedFalse()\r\n }\r\n\r\n const onRemove = (id: number) => {\r\n removeData(id)\r\n }\r\n\r\n return (\r\n <div className=\"fadeIn animated pt-4\">\r\n <CertificateDetailModal\r\n ref={modal}\r\n header={!!id ? \"Edit certificate\" : \"Create certificate\"}\r\n confirmText={!!id ? \"Update\" : \"Create\"}\r\n onConfirm={onConfirm}\r\n certificateDetail={certificateDetail}\r\n setFile={setFile}\r\n edited={edited}\r\n setEdited={setEdited}\r\n setEditedTrue={setEditedTrue}\r\n setEditedFalse={setEditedFalse}\r\n setId={setId}\r\n />\r\n <QuitPrompt when={edited} />\r\n <h5 className=\"mb-2\">{header}</h5>\r\n <Row className=\"my-2\">\r\n <Col md={4}>\r\n <AddButton\r\n text=\"Create certificate\"\r\n onClick={() => openModal()}\r\n />\r\n </Col>\r\n <Col\r\n md={4}\r\n className=\"d-flex align-items-center justify-content-end\"\r\n >\r\n Total of certificates: {totalItems}\r\n </Col>\r\n </Row>\r\n <Row className=\"mb-2\">\r\n <Col md={8}>\r\n {certificateList && certificateList.length > 0 ? (\r\n <Table bordered hover striped responsive size=\"sm\">\r\n <thead>\r\n <tr>\r\n <th className=\"text-center\">Icon</th>\r\n <th className=\"align-top\">Name</th>\r\n <th className=\"text-center\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {certificateList.map((record: any) => (\r\n <tr key={record.id}>\r\n <td className=\"text-center align-middle\">\r\n {record.imageUrl && (\r\n <img\r\n src={getFileUrl(\r\n record.imageUrl\r\n )}\r\n alt=\"certificate-icon\"\r\n style={{\r\n width: \"40px\",\r\n height: \"40px\"\r\n }}\r\n />\r\n )}\r\n </td>\r\n <td className=\"align-middle\">\r\n <LinkEditButton\r\n label={record.name}\r\n onClick={() =>\r\n openModal(record.id)\r\n }\r\n />\r\n </td>\r\n <td className=\"text-center align-middle\">\r\n <DeleteButtonIcon\r\n onClick={() =>\r\n onRemove(record.id)\r\n }\r\n />\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n ) : (\r\n <EmptyDataAlert label=\"certificate\" />\r\n )}\r\n </Col>\r\n <Col md={8}>\r\n <CustomPagination\r\n filters={filters}\r\n totalRecordCount={totalItems}\r\n changePageSize={(pageSize: number) =>\r\n changeFilters({ pageSize })\r\n }\r\n changePage={(currentPage: number) =>\r\n changeFilters({ currentPage })\r\n }\r\n />\r\n </Col>\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default CertificateList\r\n","import { useCallback, useEffect, useState } from \"react\"\r\nimport {\r\n approve,\r\n getListTeacherCertificate\r\n} from \"../../../services/certificateService\"\r\nimport { CERTIFICATION_TEACHER_ITEM } from \"../config/constants\"\r\nimport { setAlert, setLoading } from \"mario-core\"\r\nimport { useDispatch } from \"react-redux\"\r\n\r\nconst TITLE = \"Certificate list\"\r\nconst useCertificateList = () => {\r\n const dispatch = useDispatch()\r\n const [listWaiting, setListWaiting] = useState<\r\n CERTIFICATION_TEACHER_ITEM[]\r\n >([])\r\n const [listApproved, setListApproved] = useState<\r\n CERTIFICATION_TEACHER_ITEM[]\r\n >([])\r\n\r\n const getListWaiting = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getListTeacherCertificate(true, undefined)\r\n setListWaiting(res?.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [])\r\n\r\n const getListApproved = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n try {\r\n const res = await getListTeacherCertificate(undefined, true)\r\n setListApproved(res?.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n dispatch(setLoading(false))\r\n }, [])\r\n\r\n const approveCertificate = useCallback(\r\n async (teacherCertificateId: number) => {\r\n try {\r\n await approve(teacherCertificateId)\r\n\r\n setListWaiting(\r\n listWaiting.filter(\r\n teacherCertificate =>\r\n teacherCertificate.id !== teacherCertificateId\r\n )\r\n )\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n }\r\n },\r\n [listWaiting]\r\n )\r\n\r\n useEffect(() => {\r\n document.title = TITLE\r\n getListWaiting()\r\n getListApproved()\r\n }, [])\r\n\r\n return { listWaiting, approveCertificate, listApproved }\r\n}\r\n\r\nexport default useCertificateList\r\n","import React, { FC } from \"react\"\r\nimport { getFileUrl } from \"mario-core\"\r\nimport { CERTIFICATION_TEACHER_ITEM } from \"../config/constants\"\r\nimport { Button } from \"reactstrap\"\r\n\r\nimport certificate from \"../styles/certificate.module.css\"\r\n\r\ninterface Props {\r\n item: CERTIFICATION_TEACHER_ITEM\r\n approveCertificate: Function\r\n isApproved: boolean\r\n}\r\n\r\nconst CertificateItem: FC<Props> = ({\r\n item,\r\n approveCertificate,\r\n isApproved\r\n}) => {\r\n return (\r\n <div className={`${certificate[\"certificate-item\"]}`}>\r\n <p className={\"mb-1\"}>{item.nameTeacher}</p>\r\n <div className={\"p-3 mb-4 d-flex flex-column h-100\"}>\r\n <div className={`d-flex justify-content-center pb-3`}>\r\n <img\r\n className=\"w-50 h-auto\"\r\n src={getFileUrl(item.certificate.imageUrl)}\r\n alt=\"image\"\r\n />\r\n </div>\r\n <p className=\"m-0 pb-2 text-center\">{item.certificate.name}</p>\r\n <div className={`flex-grow-1`}>\r\n {item.teacherCertificateItems.map(\r\n teacherCertificateItem => (\r\n <div className={``} key={teacherCertificateItem.id}>\r\n <span\r\n style={{\r\n color:\r\n teacherCertificateItem.progress ===\r\n 100\r\n ? \"#2EB82E\"\r\n : \"inherit\"\r\n }}\r\n className=\"w-100\"\r\n >\r\n <i\r\n className=\"fas fa-check mr-2\"\r\n style={\r\n teacherCertificateItem.progress ===\r\n 100\r\n ? {\r\n color: \"#2EB82E\"\r\n }\r\n : undefined\r\n }\r\n />\r\n {\r\n teacherCertificateItem.certificateItem\r\n .text\r\n }\r\n </span>\r\n </div>\r\n )\r\n )}\r\n </div>\r\n {!isApproved && (\r\n <div className=\"d-flex w-40 justify-content-center\">\r\n <Button\r\n color=\"primary\"\r\n size=\"sm\"\r\n className=\"mt-3\"\r\n onClick={() => approveCertificate(item.id)}\r\n >\r\n {\"Approve\"}\r\n </Button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default CertificateItem\r\n","import React, { FC } from \"react\"\r\nimport useCertificateReview from \"../hooks/useCertificateReview\"\r\nimport CertificateItem from \"./CertificateItem\"\r\n\r\nconst CertificateReview: FC = ({}) => {\r\n const { listWaiting, approveCertificate } = useCertificateReview()\r\n\r\n return (\r\n <div className=\"fadeIn animated d-flex flex-row pt-4 flex-wrap\">\r\n {!!listWaiting &&\r\n listWaiting.map(item => (\r\n <CertificateItem\r\n key={item.id}\r\n item={item}\r\n approveCertificate={approveCertificate}\r\n isApproved={false}\r\n />\r\n ))}\r\n </div>\r\n )\r\n}\r\n\r\nexport default CertificateReview\r\n","import React, { FC } from \"react\"\r\nimport useCertificateReview from \"../hooks/useCertificateReview\"\r\nimport CertificateItem from \"./CertificateItem\"\r\n\r\nconst CertificateApproved: FC = ({}) => {\r\n const { listApproved } = useCertificateReview()\r\n\r\n return (\r\n <div className=\"fadeIn animated d-flex flex-row pt-4 flex-wrap\">\r\n {!!listApproved &&\r\n listApproved?.map(item => (\r\n <CertificateItem\r\n key={item.id}\r\n item={item}\r\n approveCertificate={() => {}}\r\n isApproved={true}\r\n />\r\n ))}\r\n </div>\r\n )\r\n}\r\n\r\nexport default CertificateApproved\r\n","import React from \"react\"\r\n\r\nimport { CustomTab } from \"mario-core\"\r\nimport CertificateList from \"../components/CertificateList\"\r\nimport CertificateReview from \"../components/CertificateReview\"\r\nimport CertificateApproved from \"../components/CertificateApproved\"\r\n\r\nconst tabs = [\r\n {\r\n path: \"/admin/certificate/list\",\r\n title: \"Certificate\",\r\n component: CertificateList\r\n },\r\n {\r\n path: \"/admin/certificate/review\",\r\n title: \"Review certificate\",\r\n component: CertificateReview\r\n },\r\n {\r\n path: \"/admin/certificate/approved\",\r\n title: \"Certificate approved\",\r\n component: CertificateApproved\r\n }\r\n]\r\n\r\nconst title = \"Certificate\"\r\n\r\nconst CertificateContainer = () => {\r\n return <CustomTab title={title} tabs={tabs} />\r\n}\r\n\r\nexport default CertificateContainer\r\n","import React, { FC } from \"react\"\r\n\r\nimport styles from \"../../../styles.module.css\"\r\n\r\ninterface Props {\r\n text: string\r\n isSelected: boolean\r\n onClick: Function\r\n}\r\n\r\nconst TeacherItem: FC<Props> = ({ text, isSelected, onClick }) => {\r\n return <div\r\n onClick={(_e: any) => onClick()}\r\n className={`cursor-pointer ${styles[\"teacher-item\"]} ${isSelected ? styles[\"teacher-item-selected\"] : \"\"}`}\r\n >\r\n {text}\r\n </div>\r\n}\r\n\r\nexport default TeacherItem","import { api, BASE_URL } from \"mario-core\"\r\n\r\nconst COMPARE_URL = `${BASE_URL}/api/compare`\r\n\r\nexport const getMeasureComparing = (teacherUserIds: string[]) => api.get(COMPARE_URL, { params: { teacherUserIds } })\r\n","import { useState, useCallback, useEffect } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\nimport { setLoading, setAlert } from \"mario-core\"\r\n\r\nimport { getMeasureComparing } from \"../../../services/compareService\"\r\nimport { getAllTeachers } from \"../../../services/classService\"\r\nimport { CompareTeacherResult, Teacher } from \"../configs/constants\"\r\n\r\nconst title = \"Compare teachers\"\r\nconst compareSides = [\r\n { label: \"Measured\", field: \"measured\" },\r\n { label: \"Ambitious\", field: \"ambitious\" },\r\n { label: \"Research based\", field: \"researchBased\" },\r\n { label: \"Innovative\", field: \"innovative\" },\r\n { label: \"One-to-One learning\", field: \"oneToOneLearning\" }\r\n]\r\n\r\nconst useCompareTeacher = () => {\r\n const dispatch = useDispatch()\r\n const [results, setResults] = useState<CompareTeacherResult[]>([])\r\n const [allTeachers, setAllTeachers] = useState<Teacher[]>([])\r\n const [teachers, setTeachers] = useState<Teacher[]>([])\r\n const [teacherUserIds, setTeacherUserIds] = useState<string[]>([])\r\n const [searchString, setSearchString] = useState<string>(\"\")\r\n\r\n const toggleTeacherUserId = useCallback((teacherUserId: string) => {\r\n if (teacherUserIds.includes(teacherUserId)) {\r\n setTeacherUserIds(teacherUserIds.filter(userId => userId !== teacherUserId))\r\n return\r\n }\r\n\r\n setTeacherUserIds([...teacherUserIds, teacherUserId])\r\n }, [teacherUserIds])\r\n\r\n const getData = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n const res = await getMeasureComparing(teacherUserIds)\r\n setResults(res.data)\r\n } catch(err) {\r\n dispatch(setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n }))\r\n }\r\n\r\n dispatch(setLoading(false))\r\n }, [teacherUserIds])\r\n\r\n const getTeachers = useCallback(async () => {\r\n dispatch(setLoading(true))\r\n\r\n try {\r\n const res = await getAllTeachers()\r\n setAllTeachers(res.data)\r\n } catch(err) {\r\n dispatch(setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n }))\r\n }\r\n\r\n dispatch(setLoading(false))\r\n }, [])\r\n\r\n const calculateLevel = useCallback((value: number) => {\r\n if (value <= 30) return \"level1\"\r\n if (value <= 50) return \"level2\"\r\n if (value <= 70) return \"level3\"\r\n return \"level4\"\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (searchString && searchString.trim()) {\r\n setTeachers(allTeachers.filter(teacher => teacher.name.toUpperCase().includes(searchString.trim().toUpperCase()) || teacher.email.toUpperCase().includes(searchString.trim().toUpperCase())))\r\n } else {\r\n setTeachers(allTeachers)\r\n }\r\n }, [allTeachers, searchString])\r\n\r\n useEffect(() => {\r\n getTeachers()\r\n document.title = title\r\n }, [])\r\n\r\n return {\r\n results,\r\n teachers,\r\n teacherUserIds,\r\n searchString,\r\n compareSides,\r\n toggleTeacherUserId,\r\n setSearchString,\r\n getData,\r\n calculateLevel\r\n }\r\n}\r\n\r\nexport default useCompareTeacher","import React, { FC } from \"react\"\r\nimport { Row, Col, Input, Button, Table, Progress } from \"reactstrap\"\r\n\r\nimport styles from \"../../../styles.module.css\"\r\n\r\nimport TeacherItem from \"../components/TeacherItem\"\r\n\r\nimport useCompareTeacher from \"../hooks/useCompareTeacher\"\r\n\r\nconst CompareTeacher: FC = () => {\r\n const { \r\n results, \r\n searchString, \r\n teachers, \r\n teacherUserIds, \r\n compareSides,\r\n setSearchString, \r\n toggleTeacherUserId, \r\n getData,\r\n calculateLevel\r\n } = useCompareTeacher()\r\n\r\n return <div className=\"h-100 d-flex flex-column\">\r\n <h5>Compare teachers</h5>\r\n <Row className=\"flex-grow-1\">\r\n <Col md={3}>\r\n <Input \r\n className=\"mb-2\"\r\n placeholder=\"Search teachers\"\r\n value={searchString}\r\n onChange={(e: any) => setSearchString(e.target.value)}\r\n />\r\n <div className={styles[\"list-teacher-compare\"]}>\r\n {teachers.map(teacher => <TeacherItem \r\n key={teacher.userId}\r\n text={teacher.name}\r\n isSelected={teacherUserIds.includes(teacher.userId)}\r\n onClick={() => toggleTeacherUserId(teacher.userId)}\r\n />)}\r\n </div>\r\n <Button \r\n color=\"success\"\r\n size=\"sm\"\r\n block\r\n onClick={(_e: any) => getData()}\r\n >\r\n Compare\r\n </Button>\r\n </Col>\r\n <Col md={9} className=\"border-left\">\r\n {!!results?.length \r\n ? <Table bordered hover responsive className=\"overflow-x-auto\">\r\n <thead>\r\n <tr>\r\n <th />\r\n {results.map(result => <th key={result.email} className=\"align-top\">\r\n {result.name}\r\n </th>)}\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {compareSides.map(side => <tr key={side.label}>\r\n <th>{side.label}</th>\r\n {results.map(result => <td key={result.email}>\r\n <Progress \r\n value={result.measureResult[side.field]}\r\n className={`progressbar progressbar-${calculateLevel(result.measureResult[side.field])}`}\r\n >\r\n {result.measureResult[side.field]}\r\n </Progress>\r\n </td>)}\r\n </tr>)}\r\n </tbody>\r\n </Table>\r\n : <p className=\"text-center\">No compare result.</p>}\r\n </Col>\r\n </Row>\r\n </div>\r\n}\r\n\r\nexport default CompareTeacher","import { api, BASE_URL } from \"mario-core\"\r\n\r\nconst REPORT_URL = `${BASE_URL}/api/report`\r\n\r\nexport const getQuantityReport = () => api.get(`${REPORT_URL}/quantity`)\r\n\r\nexport const getLoginCountingReport = () =>\r\n api.get(`${REPORT_URL}/logincouting`)\r\n\r\nexport const getSkillReport = () => api.get(`${REPORT_URL}/skill`)\r\n\r\nexport const getGoalProgressReport = () => api.get(`${REPORT_URL}/goalprogress`)\r\n\r\nexport const getHighImpactLearningStrategyReport = () =>\r\n api.get(`${REPORT_URL}/highimpactlearningstrategy`)\r\n\r\nexport const getTimeInSessionReport = () =>\r\n api.get(`${REPORT_URL}/timeinsession`)\r\n\r\nexport const getPerceivedImpactReport = () =>\r\n api.get(`${REPORT_URL}/perceivedimpact`)\r\n\r\nexport const getGradeReport = () => api.get(`${REPORT_URL}/grade`)\r\n","import { useState, useCallback, useEffect } from \"react\"\r\nimport { useDispatch } from \"react-redux\"\r\n\r\nimport { setLoading, setAlert } from \"mario-core\"\r\n\r\nimport {\r\n getGoalProgressReport,\r\n getHighImpactLearningStrategyReport,\r\n getLoginCountingReport,\r\n getPerceivedImpactReport,\r\n getQuantityReport,\r\n getSkillReport,\r\n getTimeInSessionReport,\r\n getGradeReport\r\n} from \"../../../services/dashboardService\"\r\n\r\nimport {\r\n LoginCountingReport,\r\n QuantityReport,\r\n SkillReportItem,\r\n GoalProgressReport,\r\n TimeInSessionReport,\r\n PerceivedImpactReport,\r\n GradeReport\r\n} from \"../configs/types\"\r\n\r\nconst TITLE = \"Dashboard\"\r\nconst useDashboard = () => {\r\n const dispatch = useDispatch()\r\n const [loginCounting, setLoginCounting] = useState<\r\n LoginCountingReport[] | null\r\n >(null)\r\n const [quantity, setQuantity] = useState<QuantityReport | null>(null)\r\n const [skill, setSkill] = useState<SkillReportItem[] | null>(null)\r\n const [goalProgress, setGoalProgress] = useState<\r\n GoalProgressReport[] | null\r\n >(null)\r\n const [highImpact, setHighImpact] = useState<any>(null)\r\n const [perceivedImpact, setPerceivedImpact] = useState<\r\n PerceivedImpactReport[] | null\r\n >(null)\r\n const [timeInSession, setTimeInSession] = useState<\r\n TimeInSessionReport[] | null\r\n >(null)\r\n const [grade, setGrade] = useState<GradeReport | null>(null)\r\n\r\n const callApi = useCallback(\r\n async (apiCaller: Function, setData: Function, defaultData: any) => {\r\n try {\r\n const res = await apiCaller()\r\n setData(res.data)\r\n } catch (err) {\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n message: err.response?.data?.title || err.message\r\n })\r\n )\r\n setData(defaultData)\r\n }\r\n },\r\n []\r\n )\r\n\r\n const getData = useCallback(async () => {\r\n document.title = TITLE\r\n dispatch(setLoading(true))\r\n\r\n await Promise.any([\r\n callApi(getLoginCountingReport, setLoginCounting, []),\r\n callApi(getQuantityReport, setQuantity, {}),\r\n callApi(getSkillReport, setSkill, []),\r\n callApi(getGoalProgressReport, setGoalProgress, []),\r\n callApi(getHighImpactLearningStrategyReport, setHighImpact, {}),\r\n callApi(getPerceivedImpactReport, setPerceivedImpact, []),\r\n callApi(getTimeInSessionReport, setTimeInSession, []),\r\n callApi(getGradeReport, setGrade, {})\r\n ])\r\n\r\n dispatch(setLoading(false))\r\n }, [])\r\n\r\n useEffect(() => {\r\n getData()\r\n }, [])\r\n\r\n return {\r\n loginCounting,\r\n quantity,\r\n skill,\r\n goalProgress,\r\n highImpact,\r\n perceivedImpact,\r\n timeInSession,\r\n grade\r\n }\r\n}\r\n\r\nexport default useDashboard\r\n","import React, { FC } from \"react\"\r\n\r\nimport styles from \"../styles/dashboard.module.css\"\r\n\r\ninterface Props {\r\n label: string\r\n children: any\r\n}\r\n\r\nconst DashboardCard: FC<Props> = ({ label, children }: Props) => {\r\n return (\r\n <div className={styles[\"dashboard-card\"]}>\r\n <h5 className=\"mb-2\">{label}</h5>\r\n <div className=\"flex-grow-1 d-flex flex-column justify-content-center\">\r\n {children}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default DashboardCard\r\n","import React, { FC, useMemo } from \"react\"\r\nimport { ApexOptions } from \"apexcharts\"\r\nimport ReactApexChart from \"react-apexcharts\"\r\n\r\nimport { GoalProgressReport } from \"../configs/types\"\r\nimport { Loading } from \"mario-core\"\r\n\r\ninterface Props {\r\n data: GoalProgressReport[] | null\r\n}\r\n\r\nconst colors = [\"#1C77AC\", \"#00979B\", \"#8B0000\", \"#87E0E0\", \"#2EB82E\"]\r\n\r\nconst levels = [\r\n { name: \"No progress\", field: \"noProgress\" },\r\n { name: \"Slight\", field: \"slight\" },\r\n { name: \"Moderate\", field: \"moderate\" },\r\n { name: \"Significant\", field: \"significant\" },\r\n { name: \"Achived\", field: \"achived\" }\r\n]\r\n\r\nconst GoalProgressReport: FC<Props> = ({ data }: Props) => {\r\n const series = useMemo(() => {\r\n if (!data) return []\r\n try {\r\n return levels.map((level: any) => ({\r\n name: level.name,\r\n data: data.map(item => item[level.field])\r\n }))\r\n } catch {\r\n return []\r\n }\r\n }, [data])\r\n\r\n const categories = useMemo(() => {\r\n if (!data) return []\r\n try {\r\n return data.map(item => item.createdAt)\r\n } catch {\r\n return []\r\n }\r\n }, [data])\r\n\r\n if (!data) return <Loading />\r\n\r\n const options: ApexOptions = {\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n stacked: true,\r\n stackType: \"100%\",\r\n toolbar: { show: false }\r\n },\r\n plotOptions: {\r\n bar: {\r\n horizontal: false,\r\n columnWidth: \"80%\"\r\n }\r\n },\r\n colors,\r\n responsive: [\r\n {\r\n breakpoint: 480,\r\n options: {\r\n legend: {\r\n position: \"bottom\",\r\n offsetX: -10,\r\n offsetY: 0\r\n }\r\n }\r\n }\r\n ],\r\n xaxis: {\r\n categories\r\n },\r\n fill: {\r\n opacity: 1\r\n },\r\n legend: {\r\n position: \"right\",\r\n offsetX: 0,\r\n offsetY: 50,\r\n onItemClick: {\r\n toggleDataSeries: false\r\n },\r\n onItemHover: {\r\n highlightDataSeries: false\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <div>\r\n <ReactApexChart\r\n options={options}\r\n series={series}\r\n type=\"bar\"\r\n height={350}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default GoalProgressReport\r\n","import React, { FC } from \"react\"\r\n\r\nconst Loading: FC = () => {\r\n return (\r\n <div className=\"d-flex align-items-center justify-content-center\">\r\n <div className=\"spinner-grow\" role=\"status\">\r\n <span className=\"sr-only\">Loading...</span>\r\n </div>\r\n <div className=\"spinner-grow mx-2\" role=\"status\">\r\n <span className=\"sr-only\">Loading...</span>\r\n </div>\r\n <div className=\"spinner-grow\" role=\"status\">\r\n <span className=\"sr-only\">Loading...</span>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Loading\r\n","export const colors = [\r\n \"rgba(129, 236, 236, 0.8)\",\r\n \"rgba(116, 185, 255, 0.8)\",\r\n \"rgba(250, 177, 160, 0.8)\",\r\n \"rgba(255, 234, 167, 0.8)\",\r\n \"rgba(178, 190, 195, 0.8)\",\r\n \"rgba(85, 239, 196, 0.8)\",\r\n \"rgba(120, 111, 166, 0.8)\",\r\n \"rgba(243, 166, 131, 0.8)\"\r\n]\r\n","import { colors } from \"./constants\"\r\n\r\nexport const getColors = (length: number) => {\r\n if (colors.length >= length) return colors\r\n let newColors = [...colors]\r\n while (newColors.length < length) {\r\n newColors = [...newColors, ...colors]\r\n }\r\n return newColors\r\n}\r\n","import React, { FC, useMemo } from \"react\"\r\nimport { ApexOptions } from \"apexcharts\"\r\nimport ReactApexChart from \"react-apexcharts\"\r\n\r\nimport Loading from \"./Loading\"\r\nimport { getColors } from \"../configs/utils\"\r\n\r\ninterface Props {\r\n data: any\r\n}\r\n\r\nconst HighImpact: FC<Props> = ({ data }: Props) => {\r\n const colors = useMemo(() => {\r\n if (!data) return []\r\n return getColors(Object.keys(data)?.length || 0)\r\n }, [data])\r\n\r\n const ratings = useMemo(() => {\r\n if (!data) return []\r\n return Object.values(data)\r\n }, [data])\r\n\r\n const learningStrategies = useMemo(() => {\r\n if (!data) return []\r\n try {\r\n const results = Object.keys(data).map(\r\n (key: any, index: number) => ({\r\n name: key,\r\n color: colors[index]\r\n })\r\n )\r\n return results\r\n } catch {\r\n return []\r\n }\r\n }, [data])\r\n\r\n if (!data) return <Loading />\r\n\r\n const series = [\r\n {\r\n data: ratings\r\n }\r\n ]\r\n\r\n const options: ApexOptions = {\r\n chart: {\r\n height: 350,\r\n type: \"bar\",\r\n toolbar: { show: false }\r\n },\r\n colors: colors,\r\n plotOptions: {\r\n bar: {\r\n columnWidth: \"45%\",\r\n distributed: true\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false\r\n },\r\n legend: {\r\n show: false\r\n },\r\n xaxis: {\r\n categories: learningStrategies.map(\r\n (item: any) => `${item.name.substring(0, 15)}...`\r\n )\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: val => {\r\n return `${val.toFixed(0)}`\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <div>\r\n <div>\r\n <ReactApexChart\r\n options={options}\r\n series={series}\r\n type=\"bar\"\r\n height={350}\r\n />\r\n </div>\r\n <div className=\"d-flex flex-wrap\">\r\n {learningStrategies.map((item: any) => (\r\n <div\r\n key={item.name}\r\n className=\"d-flex align-items-center mb-2 mr-3\"\r\n >\r\n <span\r\n className=\"plain-color-square mr-2\"\r\n style={{ backgroundColor: item.color }}\r\n />\r\n <span>{item.name}</span>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default HighImpact\r\n","import React, { FC } from \"react\"\r\nimport { ApexOptions } from \"apexcharts\"\r\nimport ReactApexChart from \"react-apexcharts\"\r\nimport format from \"date-fns/format\"\r\nimport { DATE_FORMAT } from \"mario-core\"\r\nimport { LoginCountingReport } from \"../configs/types\"\r\nimport Loading from \"./Loading\"\r\n\r\ninterface Props {\r\n data: LoginCountingReport[] | null\r\n}\r\n\r\nconst colors = [\"#1abc9c\", \"#c0392b\"]\r\n\r\nconst LoginCouting: FC<Props> = ({ data }: Props) => {\r\n if (!data) return <Loading />\r\n\r\n const categories = data.map(item =>\r\n format(new Date(item.date), DATE_FORMAT)\r\n )\r\n const teacherCount = data.map(item => item.teacherLoginCount)\r\n const studentCount = data.map(item => item.studentLoginCount)\r\n\r\n const series = [\r\n { name: \"Teacher\", data: teacherCount, color: colors[0] },\r\n { name: \"Student\", data: studentCount, color: colors[1] }\r\n ]\r\n\r\n const options: ApexOptions = {\r\n chart: {\r\n height: 350,\r\n type: \"area\",\r\n toolbar: {\r\n show: false\r\n }\r\n },\r\n stroke: {\r\n width: 2,\r\n curve: \"straight\"\r\n },\r\n markers: {\r\n size: 4,\r\n colors: [\"#fff\"],\r\n strokeColors: colors,\r\n strokeWidth: 2,\r\n strokeOpacity: 0.9,\r\n strokeDashArray: 0,\r\n fillOpacity: 1,\r\n shape: \"circle\",\r\n radius: 2,\r\n offsetX: 0,\r\n offsetY: 0,\r\n onClick: undefined,\r\n onDblClick: undefined,\r\n showNullDataPoints: true,\r\n hover: {\r\n size: undefined,\r\n sizeOffset: 3\r\n }\r\n },\r\n legend: {\r\n show: false\r\n },\r\n xaxis: {\r\n categories\r\n }\r\n }\r\n\r\n return (\r\n <div>\r\n <ReactApexChart\r\n options={options}\r\n series={series}\r\n type=\"line\"\r\n height={350}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default LoginCouting\r\n","import React, { FC } from \"react\"\r\nimport { ApexOptions } from \"apexcharts\"\r\nimport ReactApexChart from \"react-apexcharts\"\r\n\r\nimport Loading from \"./Loading\"\r\n\r\nimport { PerceivedImpactReport } from \"../configs/types\"\r\n\r\ninterface Props {\r\n data: PerceivedImpactReport[] | null\r\n}\r\n\r\nconst colors = [\"#00cec9\", \"#00b894\"]\r\n\r\nconst PerceivedImpact: FC<Props> = ({ data }: Props) => {\r\n if (!data) return <Loading />\r\n\r\n const series = [\r\n {\r\n name: \"Teacher\",\r\n data: data.map(item => item.teacherRating)\r\n },\r\n {\r\n name: \"Student\",\r\n data: data.map(item => item.studentRating)\r\n }\r\n ]\r\n\r\n const categories = data.map(\r\n item => `${item.learningStrategyName.substring(0, 15)}...`\r\n )\r\n const options: ApexOptions = {\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n toolbar: { show: false }\r\n },\r\n colors,\r\n plotOptions: {\r\n bar: {\r\n horizontal: false,\r\n columnWidth: \"55%\"\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false\r\n },\r\n stroke: {\r\n show: true,\r\n width: 2,\r\n colors: [\"transparent\"]\r\n },\r\n xaxis: {\r\n categories: categories\r\n },\r\n fill: {\r\n opacity: 1\r\n },\r\n legend: {\r\n onItemClick: {\r\n toggleDataSeries: false\r\n },\r\n onItemHover: {\r\n highlightDataSeries: false\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <div>\r\n <ReactApexChart\r\n options={options}\r\n series={series}\r\n type=\"bar\"\r\n height={350}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default PerceivedImpact\r\n","import React, { FC } from \"react\"\r\nimport { Table } from \"reactstrap\"\r\nimport { ApexOptions } from \"apexcharts\"\r\nimport ReactApexChart from \"react-apexcharts\"\r\nimport { QuantityReport } from \"../configs/types\"\r\n\r\nimport styles from \"../styles/dashboard.module.css\"\r\n\r\nimport Loading from \"./Loading\"\r\n\r\ninterface Props {\r\n data: QuantityReport | null\r\n}\r\n\r\nconst colors = [\"#00b894\", \"#00cec9\", \"#0984e3\"]\r\n\r\nconst Quantity: FC<Props> = ({ data }: Props) => {\r\n if (!data) return <Loading />\r\n\r\n const { teacherPercentage, studentPercentage, assistantPercentage } = data\r\n const series = [\r\n teacherPercentage,\r\n studentPercentage,\r\n assistantPercentage\r\n ].map(number => Number(number.toFixed(2)))\r\n const options: ApexOptions = {\r\n chart: {\r\n width: 380,\r\n type: \"pie\"\r\n },\r\n labels: [\"Teachers\", \"Students\", \"Assistants\"],\r\n colors,\r\n legend: {\r\n show: false\r\n },\r\n responsive: [\r\n {\r\n breakpoint: 480,\r\n options: {\r\n chart: {\r\n width: 200\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n\r\n const details = [\r\n { label: \"Teachers\", color: colors[0], value: teacherPercentage },\r\n { label: \"Students\", color: colors[1], value: studentPercentage },\r\n { label: \"Assistants\", color: colors[2], value: assistantPercentage }\r\n ]\r\n\r\n return (\r\n <div className=\"d-flex h-100\">\r\n <div className=\"d-flex justify-content-center align-items-end flex-grow-1\">\r\n <div className={styles[\"quantity-table\"]}>\r\n <Table responsive hover bordered size=\"sm\">\r\n <tbody>\r\n {details.map((item: any) => (\r\n <tr key={item.label}>\r\n <td>{item.label}</td>\r\n <td className=\"text-center\">\r\n <div\r\n className=\"custom-checkbox-square\"\r\n style={{\r\n backgroundColor: item.color\r\n }}\r\n />\r\n </td>\r\n <td>\r\n {Number(item.value?.toFixed(2) || \"0\")}%\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </Table>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-end\">\r\n <ReactApexChart\r\n options={options}\r\n series={series}\r\n type=\"pie\"\r\n width={380}\r\n />\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Quantity\r\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","import { useEffect, useMemo, useState, useCallback } from \"react\"\r\nimport format from \"date-fns/format\"\r\nimport sortBy from \"lodash/sortBy\"\r\nimport { DATE_FORMAT } from \"mario-core\"\r\n\r\nimport { getColors } from \"../configs/utils\"\r\n\r\nconst MAX_SKILL_RATING = 7\r\nconst getPercentageRating = (rating: number) => {\r\n return Number(((100 * rating) / MAX_SKILL_RATING).toFixed(2))\r\n}\r\nconst getTimes = (data: any) => {\r\n try {\r\n const times = data\r\n .map((item: any) => item.ratings.map((rating: any) => rating.time))\r\n .flat()\r\n return times\r\n .filter((item: any, index: number) => times.indexOf(item) === index)\r\n .map((time: any) => format(new Date(time), DATE_FORMAT))\r\n .sort()\r\n } catch {\r\n return []\r\n }\r\n}\r\nconst getRatings = (ratings: any, times: any) => {\r\n try {\r\n const formatRatings = sortBy(\r\n ratings.map((item: any) => ({\r\n ...item,\r\n time: format(new Date(item.time), DATE_FORMAT),\r\n rating: getPercentageRating(item.rating)\r\n })),\r\n \"time\"\r\n )\r\n const results: any = []\r\n for (let i = 0; i < times.length; i++) {\r\n const time = times[i]\r\n const rating = formatRatings.find((item: any) => item.time === time)\r\n if (!rating) {\r\n results[i] = {\r\n value: i > 0 ? results[i - 1].value : 0,\r\n isDiscrete: true\r\n }\r\n continue\r\n }\r\n results[i] = {\r\n value: rating.rating,\r\n isDiscrete: false\r\n }\r\n }\r\n return results\r\n } catch {\r\n return []\r\n }\r\n}\r\nconst useSkillFormat = (data: any) => {\r\n const [activeSkillNames, setActiveSkillNames] = useState<string[]>([])\r\n const toggleSkillName = useCallback(\r\n (name: string) => {\r\n if (activeSkillNames.includes(name)) {\r\n setActiveSkillNames(\r\n activeSkillNames.filter(item => item !== name)\r\n )\r\n return\r\n }\r\n setActiveSkillNames([...activeSkillNames, name])\r\n },\r\n [activeSkillNames]\r\n )\r\n const colors = useMemo(() => {\r\n if (!data) return []\r\n try {\r\n return getColors(data.length)\r\n } catch {\r\n return []\r\n }\r\n }, [data])\r\n const times = useMemo(() => getTimes(data), [data])\r\n const series = useMemo(() => {\r\n if (!data) return []\r\n try {\r\n return data.map((item: any, index: number) => ({\r\n name: item.skillName,\r\n color: colors[index],\r\n data: getRatings(item.ratings, times).map(\r\n (rating: any) => rating.value\r\n )\r\n }))\r\n } catch {\r\n return []\r\n }\r\n }, [data, times])\r\n const discrete = useMemo(() => {\r\n if (!data) return []\r\n const results: any = []\r\n try {\r\n data.map((item: any, index: number) => {\r\n const ratings = getRatings(item.ratings, times)\r\n ratings.map((rating: any, ratingIndex: number) => {\r\n if (rating.isDiscrete) {\r\n results.push({\r\n seriesIndex: index,\r\n dataPointIndex: ratingIndex,\r\n size: 0\r\n })\r\n }\r\n })\r\n })\r\n return results\r\n } catch {\r\n return []\r\n }\r\n }, [data, times])\r\n useEffect(() => {\r\n if (data) {\r\n try {\r\n setActiveSkillNames(data.map((item: any) => item.skillName))\r\n } catch {}\r\n }\r\n }, [data])\r\n return {\r\n colors,\r\n activeSkillNames,\r\n times,\r\n series,\r\n discrete,\r\n toggleSkillName\r\n }\r\n}\r\nexport default useSkillFormat\r\n","import React, { FC } from \"react\"\r\nimport { FaCheck } from \"react-icons/fa\"\r\n\r\ninterface Props {\r\n label: string\r\n color: string\r\n checked: boolean\r\n onClick: Function\r\n}\r\n\r\nconst ICON_SIZE = 8\r\nconst ICON_COLOR = \"#fff\"\r\n\r\nconst CustomCheckbox: FC<Props> = ({\r\n label,\r\n color,\r\n checked,\r\n onClick\r\n}: Props) => {\r\n return (\r\n <div className=\"d-flex align-items-center\">\r\n <span\r\n className=\"custom-checkbox-square d-flex align-items-center justify-content-center cursor-pointer\"\r\n style={checked ? { backgroundColor: color } : {}}\r\n onClick={(_e: any) => onClick()}\r\n >\r\n {checked && <FaCheck size={ICON_SIZE} color={ICON_COLOR} />}\r\n </span>\r\n <span className=\"ml-2\">{label}</span>\r\n </div>\r\n )\r\n}\r\n\r\nexport default CustomCheckbox\r\n","import React, { FC, Fragment } from \"react\"\r\nimport { ApexOptions } from \"apexcharts\"\r\nimport ReactApexChart from \"react-apexcharts\"\r\n\r\nimport { SkillReportItem } from \"../configs/types\"\r\nimport useSkillFormat from \"../hooks/useSkillFormat\"\r\n\r\nimport CustomCheckbox from \"./CustomCheckbox\"\r\nimport Loading from \"./Loading\"\r\n\r\ninterface Props {\r\n data: SkillReportItem[] | null\r\n}\r\n\r\nconst Skill: FC<Props> = ({ data }: Props) => {\r\n const {\r\n colors,\r\n activeSkillNames,\r\n series,\r\n times,\r\n discrete,\r\n toggleSkillName\r\n } = useSkillFormat(data)\r\n\r\n const options: ApexOptions = {\r\n chart: {\r\n height: 350,\r\n type: \"area\",\r\n toolbar: {\r\n show: false\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false\r\n },\r\n stroke: {\r\n width: 2,\r\n curve: \"straight\"\r\n },\r\n markers: {\r\n size: 4,\r\n colors: [\"#fff\"],\r\n strokeColors: colors,\r\n strokeWidth: 2,\r\n strokeOpacity: 0.9,\r\n strokeDashArray: 0,\r\n fillOpacity: 1,\r\n shape: \"circle\",\r\n radius: 2,\r\n offsetX: 0,\r\n offsetY: 0,\r\n onClick: undefined,\r\n onDblClick: undefined,\r\n showNullDataPoints: true,\r\n hover: {\r\n size: undefined,\r\n sizeOffset: 3\r\n },\r\n discrete\r\n },\r\n legend: {\r\n show: false\r\n },\r\n xaxis: {\r\n categories: times\r\n },\r\n yaxis: {\r\n min: 0,\r\n max: 100,\r\n labels: {\r\n formatter: (val: any) => {\r\n return `${val}%`\r\n }\r\n }\r\n },\r\n tooltip: {}\r\n }\r\n\r\n if (!data) return <Loading />\r\n\r\n return (\r\n <div>\r\n {series && (\r\n <Fragment>\r\n <div className=\"d-flex align-items-center flex-wrap\">\r\n {series.map((item: any, index: number) => (\r\n <div\r\n key={item.name}\r\n className=\"d-flex align-items-center mr-3\"\r\n >\r\n <CustomCheckbox\r\n label={item.name}\r\n color={colors[index]}\r\n checked={activeSkillNames.includes(\r\n item.name\r\n )}\r\n onClick={() =>\r\n toggleSkillName &&\r\n toggleSkillName(item.name)\r\n }\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n <ReactApexChart\r\n options={options}\r\n series={series.filter((item: any) =>\r\n activeSkillNames.includes(item.name)\r\n )}\r\n type=\"area\"\r\n height={350}\r\n />\r\n </Fragment>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default Skill\r\n","import React, { FC } from \"react\"\r\nimport { ApexOptions } from \"apexcharts\"\r\nimport ReactApexChart from \"react-apexcharts\"\r\n\r\nimport Loading from \"./Loading\"\r\n\r\nimport { TimeInSessionReport } from \"../configs/types\"\r\n\r\ninterface Props {\r\n data: TimeInSessionReport[] | null\r\n}\r\n\r\nconst colors = [\"#c0392b\", \"#3498db\"]\r\n\r\nconst TimeInSession: FC<Props> = ({ data }: Props) => {\r\n if (!data) return <Loading />\r\n\r\n const series = [\r\n {\r\n name: \"Teacher\",\r\n data: data.map(item => item.teacherPerceivedImpact)\r\n },\r\n {\r\n name: \"Student\",\r\n data: data.map(item => item.studentPerceivedImpact)\r\n }\r\n ]\r\n\r\n const categories = data.map(item => item.sessionCategory)\r\n const options: ApexOptions = {\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n toolbar: { show: false }\r\n },\r\n colors,\r\n plotOptions: {\r\n bar: {\r\n horizontal: false,\r\n columnWidth: \"55%\"\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false\r\n },\r\n stroke: {\r\n show: true,\r\n width: 2,\r\n colors: [\"transparent\"]\r\n },\r\n xaxis: {\r\n categories\r\n },\r\n fill: {\r\n opacity: 1\r\n },\r\n legend: {\r\n onItemClick: {\r\n toggleDataSeries: false\r\n },\r\n onItemHover: {\r\n highlightDataSeries: false\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <div>\r\n <ReactApexChart\r\n options={options}\r\n series={series}\r\n type=\"bar\"\r\n height={350}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default TimeInSession\r\n","import React, { FC } from \"react\"\r\nimport { ApexOptions } from \"apexcharts\"\r\nimport ReactApexChart from \"react-apexcharts\"\r\n\r\nimport Loading from \"./Loading\"\r\nimport { GradeReport, BandScore } from \"../configs/types\"\r\n\r\ninterface Props {\r\n data: GradeReport | null\r\n}\r\n\r\nconst colors = [\"#f0932b\", \"#22a6b3\", \"#6ab04c\"]\r\nconst categories = [\r\n \"Before intervention\",\r\n \"During intervention\",\r\n \"After intervention\"\r\n]\r\n\r\nconst findGradeLabel = (value: number, bandScores: BandScore[]) => {\r\n var sortedBandScores = bandScores.sort(\r\n (item1, item2) => item1.value - item2.value\r\n )\r\n for (let i = 0; i < sortedBandScores.length; i++) {\r\n if (\r\n sortedBandScores[i]?.value <= value &&\r\n value <= sortedBandScores[i + 1]?.value\r\n ) {\r\n if (\r\n value - sortedBandScores[i]?.value <=\r\n sortedBandScores[i + 1]?.value - value\r\n ) {\r\n return sortedBandScores[i]?.label\r\n }\r\n return sortedBandScores[i + 1]?.label\r\n }\r\n }\r\n return \"\"\r\n}\r\n\r\nconst Grade: FC<Props> = ({ data }: Props) => {\r\n if (!data) return <Loading />\r\n\r\n const series = [\r\n {\r\n data: [\r\n data.beforeIntervention,\r\n data.duringIntervention,\r\n data.afterIntervention\r\n ]\r\n }\r\n ]\r\n\r\n const options: ApexOptions = {\r\n chart: {\r\n height: 350,\r\n type: \"bar\",\r\n toolbar: { show: false }\r\n },\r\n colors: colors,\r\n plotOptions: {\r\n bar: {\r\n columnWidth: \"45%\",\r\n distributed: true\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false\r\n },\r\n legend: {\r\n show: false\r\n },\r\n xaxis: {\r\n categories\r\n },\r\n yaxis: {\r\n max: Math.max(...data.bandScores.map(item => item.value)),\r\n min: Math.min(...data.bandScores.map(item => item.value)),\r\n labels: {\r\n formatter: (val: number) => {\r\n return findGradeLabel(val, data.bandScores)\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <div>\r\n <ReactApexChart\r\n options={options}\r\n series={series}\r\n type=\"bar\"\r\n height={350}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Grade\r\n","import React, { FC } from \"react\"\r\nimport { Row, Col } from \"reactstrap\"\r\n\r\nimport useDashboard from \"../hooks/useDashboard\"\r\n\r\nimport DashboardCard from \"../components/DashboardCard\"\r\nimport GoalProgress from \"../components/GoalProgress\"\r\nimport HighImpact from \"../components/HighImpact\"\r\nimport LoginCouting from \"../components/LoginCouting\"\r\nimport PerceivedImpact from \"../components/PerceivedImpact\"\r\nimport Quantity from \"../components/Quantity\"\r\nimport Skill from \"../components/Skill\"\r\nimport TimeInSession from \"../components/TimeInSession\"\r\nimport Grade from \"../components/Grade\"\r\n\r\nconst Dashboard: FC = () => {\r\n const {\r\n loginCounting,\r\n quantity,\r\n skill,\r\n goalProgress,\r\n highImpact,\r\n perceivedImpact,\r\n timeInSession,\r\n grade\r\n } = useDashboard()\r\n\r\n const cards = [\r\n {\r\n label: \"Students & teachers login per day\",\r\n children: <LoginCouting data={loginCounting} />\r\n },\r\n {\r\n label: \"Number of students, teachers, assistants\",\r\n children: <Quantity data={quantity} />\r\n },\r\n {\r\n label: \"MARIO skill\",\r\n children: <Skill data={skill} />\r\n },\r\n {\r\n label: \"Goal progress\",\r\n children: <GoalProgress data={goalProgress} />\r\n },\r\n {\r\n label: \"High-impact learning strategies of current school year\",\r\n children: <HighImpact data={highImpact} />\r\n },\r\n {\r\n label: \"Learning strategies perceived impact\",\r\n children: <PerceivedImpact data={perceivedImpact} />\r\n },\r\n {\r\n label: \"Time in 1-1 sessions & perceived impact\",\r\n children: <TimeInSession data={timeInSession} />\r\n },\r\n {\r\n label: \"Grades\",\r\n children: <Grade data={grade} />\r\n }\r\n ]\r\n\r\n return (\r\n <div>\r\n <h4 className=\"mb-5\">DASHBOARD</h4>\r\n <Row className=\"mb-2\">\r\n {cards.map((card: any) => (\r\n <Col key={card.label} md={6} className=\"mb-4\">\r\n <DashboardCard\r\n label={card.label}\r\n children={card.children}\r\n />\r\n </Col>\r\n ))}\r\n </Row>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Dashboard\r\n","import { LICENSE_AGGRID } from \"mario-core\"\r\nimport { LicenseManager } from \"@ag-grid-enterprise/core\"\r\n\r\nLicenseManager.setLicenseKey(LICENSE_AGGRID)\r\n\r\nimport ClassList from \"./containers/Classes/views/ClassList\"\r\nimport ConferenceRubricList from \"./containers/ConferenceRubric/views/ConferenceRubricList\"\r\nimport ConferenceRubricDetail from \"./containers/ConferenceRubric/views/ConferenceRubricDetail\"\r\nimport SuggestionList from \"./containers/SuggestionBank/views/SuggestionList\"\r\nimport LearningStrategyList from \"./containers/LearningStrategy/views/LearningStrategyList\"\r\nimport SetupContainer from \"./containers/Setup/views/SetupContainer\"\r\nimport QuestionBankList from \"./containers/QuestionBank/views/QuestionBankList\"\r\nimport ReflectionFormList from \"./containers/ReflectionForm/views/ReflectionFormList\"\r\nimport ReflectionContainer from \"./containers/ReflectionForm/views/ReflectionContainer\"\r\nimport QuestionDetail from \"./containers/QuestionBank/views/QuestionDetail\"\r\nimport SubjectList from \"./containers/Subject/views/SubjectList\"\r\nimport LearningSupportCategoryList from \"./containers/LearningSupportCategory/views/LearningSupportCategoryList\"\r\nimport AssessmentList from \"./containers/Assessment/views/AssessmentList\"\r\nimport BadgeList from \"./containers/Badge/views/BadgeList\"\r\nimport FeedbackList from \"./containers/Feedback/views/FeedbackList\"\r\nimport GoalExampleList from \"./containers/GoalExample/views/GoalExampleList\"\r\nimport TutorialScreenContainer from \"./containers/TutorialScreen/views/TutorialScreenContainer\"\r\nimport QuestionBankContainer from \"./containers/QuestionBank/views/QuestionBankContainer\"\r\nimport QuestionCategoryList from \"./containers/QuestionCategory/views/QuestionCategogyList\"\r\nimport AssignmentList from \"./containers/Assignment/views/AssignmentList\"\r\nimport AssessmentAssignmentContainer from \"./containers/AssessmentAssignment/views/AssessmentAssignmentContainer\"\r\nimport SessionTemplateContainer from \"./containers/SessionTemplateContainer/views/SessionTemplateContainer\"\r\nimport SessionTemplateDetail from \"./containers/SessionTemplate/views/SessionTemplateDetail\"\r\nimport SessionTemplateGeneralClassDetail from \"./containers/SessionTemplateGeneralClass/views/SessionTemplateGeneralClassDetail\"\r\nimport CustomAlertList from \"./containers/CustomAlert/views/CustomAlertList\"\r\nimport CertificateContainer from \"./containers/Certificate/views/CertificateContainer\"\r\nimport CompareTeacher from \"./containers/CompareTeacher/views/CompareTeacher\"\r\nimport Dashboard from \"./containers/Dashboard/views/Dashboard\"\r\n\r\nexport {\r\n ClassList,\r\n ConferenceRubricList,\r\n ConferenceRubricDetail,\r\n SuggestionList,\r\n LearningStrategyList,\r\n SetupContainer,\r\n QuestionBankList,\r\n ReflectionFormList,\r\n ReflectionContainer,\r\n QuestionDetail,\r\n SubjectList,\r\n LearningSupportCategoryList,\r\n BadgeList,\r\n GoalExampleList,\r\n TutorialScreenContainer,\r\n FeedbackList,\r\n AssessmentList,\r\n QuestionBankContainer,\r\n QuestionCategoryList,\r\n AssignmentList,\r\n AssessmentAssignmentContainer,\r\n SessionTemplateContainer,\r\n SessionTemplateDetail,\r\n SessionTemplateGeneralClassDetail,\r\n CustomAlertList,\r\n CertificateContainer,\r\n CompareTeacher,\r\n Dashboard\r\n}\r\n"],"names":["CLASS_URL","BASE_URL","STUDENT_URL","TEACHER_URL","get","filter","api","params","getById","id","create","data","post","update","put","remove","getStudents","classId","getAllStudents","searchString","getAllTeachers","StudentSelector","value","onChange","externalStudentIds","dispatch","useDispatch","useState","students","setStudents","setSearchString","isLoading","setLoading","timeout","useRef","loadData","useCallback","res","err","setAlert","type","message","response","title","useEffect","current","clearTimeout","trim","length","setTimeout","options","student","includes","studentId","map","label","fullName","email","React","CustomSelector","inputValue","onInputChange","placeholder","isMulti","TeacherSelector","defaultValue","setOptions","getData","item","teacherId","name","console","error","option","StudentList","onRemove","goToUserDetail","Table","responsive","hover","striped","size","bordered","className","key","LinkEditButton","onClick","DeleteButtonIcon","EmptyDataAlert","ClassDetailModal","props","ref","header","confirmText","onConfirm","classDetail","onCancel","isAdmin","temporaryStudents","setTemporaryStudents","onAddStudents","onRemoveStudent","edited","setEdited","setEditedTrue","setEditedFalse","schema","yup","required","studentIds","of","test","Formik","initialValues","enableReinitialize","validationSchema","onSubmit","values","actions","resetForm","formProps","touched","errors","setFieldValue","handleChange","handleBlur","handleSubmit","CommonModal","Row","Col","md","RequiredLabel","text","Input","e","onBlur","ErrorHandler","Label","Button","color","forwardRef","ClassStudentModal","noFooter","TITLE","USER_URL","useClassList","classList","useSelector","state","classes","totalItems","useFilters","filters","changeFilters","items","setClassList","removeData","setModal","isOpen","currentPage","document","getClassStudents","userId","window","open","initValue","useClassDetail","setId","setClassDetail","localStorage","setItem","location","href","getItem","removeItem","reset","confirmData","cb","next","ADMIN","ClassList","modal","studentModal","user","common","roles","classDetailStudents","openModal","toggle","openStudentModal","QuitPrompt","when","AddButton","record","teacher","numberOfStudents","CustomPagination","totalRecordCount","changePageSize","pageSize","changePage","RUBRIC_URL","SKILL_URL","getTypes","getSkills","CREATE_RUBRIC_URL","CONFERENC_RUBRIC_URL","useConferenceRubricList","history","useHistory","conferenceRubricList","conferenceRubrics","setConferenceRubricList","goToDetail","url","push","CONFERENCE_RUBRIC_TYPES","Default","Balanced","GoalProgress","HabitsAttitudesTowardsLearning","Custom","ConferenceRubricList","SearchBoxContainer","onSearch","instruction","ToggleInput","children","noMb","inputMode","setInputMode","closeInput","autoFocus","target","onKeyUp","columns","backgroundColor","ConferenceRubricItem","conferenceRubricItem","changeConferenceRubricItemColumnText","changeConferenceRubricItemRowText","newRowTexts","changeNewRowText","addConferenceRubricItemRow","removeConferenceRubricItemRow","skill","skillId","styles","style","column","index","rows","row","guid","find","colSpan","QuestionList","questions","question","getTextFromHTML","isDefaultQuestion","SkillSelector","externalIds","skillList","setSkillList","path","QUESTION_URL","getDefaultQuestions","updateOrderDragQuestions","QuestionSelector","categoryId","externalQuestionIds","setQuestions","pureText","shortenPureText","slice","ConferenceRubricTypeSelector","types","setTypes","RubricItemColumnOrder","conferenceRubricItems","conferenceRubricItemColumns","order","Order1","Order2","Order3","Order4","Order5","Order6","CREATE_RUBRIC_TITLE","useConferenceRubricDetail","conferenceRubricDetail","setConferenceRubricDetail","changeConferenceRubricDetail","valueObject","setNewRowTexts","newRowTextsCloner","thisRow","temporarySkill","setTemporarySkill","setCategoryId","temporaryQuestion","setTemporaryQuestion","checked","setChecked","backToList","some","col","addItem","newConferenceRubricItem","JSON","parse","stringify","rowIndex","conferenceRubricItemsCloner","thisItem","columnIndex","thisRowText","thisItemSkill","log","newRow","generateRandomString","removeConferenceRubricRow","rowId","addQuestion","removeQuestion","questionId","questionSelectorValue","useMemo","rowColInvalid","ConferenceRubricDetail","useParams","parseInt","QuestionCategorySelector","DetailActionButtons","SuggestionDetailModal","suggestionDetail","changeSuggestionDetail","setValue","handleInputChange","handleKeyDown","keywords","handleConfirm","description","cancel","SuggestionCategorySelector","CreatableSelector","SUGGESTION_URL","useSuggestionList","suggestionList","suggestionBank","setSuggestionList","getKeywords","suggestionKeywords","keyword","join","useKeywordList","initKeywords","setInputValue","setKeywords","newKeywords","newKeyword","createOption","newValue","newInputValue","suggestionKeywordsToAdd","suggestionKeywordsToDelete","useSuggestionDetail","setSuggestionDetail","suggestionCategory","dataUpdated","SuggestionBankList","suggestionId","StrategyDetailModal","strategyDetail","STRATEGY_URL","useStrategyList","strategyList","learningStrategy","setStrategyList","useStrategyDetail","setStrategyDetail","LearningStrategyList","useLearningStrategyList","BadgeDetailModal","badgeDetail","setFile","formikProps","UploadFileButton","fileName","imgUrl","BADGE_URL","useBadgeDetail","setBadgeDetail","file","formData","FormData","append","systemStudentBadge","useBadgeList","badgeList","badges","setBadgeList","BadgeList","badgeId","src","getFileUrl","alt","GoalExampleDetailModal","goalExampleDetail","handleChangeShortTermTargetE","shortTermTargetExamples","GOAL_EXAMPLE_URL","useShortTermTargetExampleList","initShortTermtargetExamples","setShortTermTargetExamples","newShortTermTargetExamples","newShortTermTargetExample","useGoalExampleDetail","setGoalExampleDetail","initShortTermTargetExamples","useGoalExampleList","goalExampleList","goalExamples","setGoalExampleList","getShortTermTargetExamples","GoalExampleList","goalExampleId","SubjectDetailModal","subjectDetail","SUBJECT_URL","useSubjectDetail","setSubjectDetail","useSubjectList","subjectList","subjects","setSubjectList","SubjectList","subjectId","width","height","display","background","LearningSupportCategoryDetailModal","learningSupportCategoryDetail","defaultColor","LEARNING_SUPPORT_CATEGORY_URL","useLearningSupportCategoryDetail","setLearningSupportCategoryDetail","useLearningSupportCategoryList","learningSupportCategoryList","learningSupportCategories","setLearningSupportCategoryList","LearningSupportCategoryList","learningSupportCategoryId","padding","marginRight","marginBottom","borderRadius","fontWeight","fontSize","UploadCSVButton","htmlFor","isDisabled","role","tabIndex","opacity","_e","Fragment","CSV_FILE_URL","importCSV","subFolder","apiUpload","CSVType","buttons","Students","Subjects","Grades","Attendances","Others","useCSVImport","setType","upload","input","getElementById","toString","CSVImport","files","accept","button","startTime","endTime","SemesterDetailModal","semesterDetail","DatePicker","utcToLocalTime","todayButton","peekNextMonth","showMonthDropdown","showYearDropdown","dropdownMode","selected","toDate","Date","format","DATE_FORMAT","placeholderText","customInput","BreakingMonthModal","breakingMonthDetail","isRequired","o","SEMESTER_URL","useSemesterDetail","setSemesterDetail","useSemesterList","semesterList","semester","setSemesterList","ACADEMIC_YEAR_URL","BREAKING_MONTH_URL","getBreakingMonth","updateBreakingMonth","useBreakingMonth","setBreakingMonthDetail","SemesterList","semesterModal","breakingMonthModal","resetSemester","confirmBreakingMonth","openSemesterModal","semesterId","onConfirmSemester","onRemoveSemester","onCancelSemester","openBreakingMonthModal","onConfirmBreakingMonth","Card","CardBody","CardTitle","tag","border","minHeight","BandScoreDetailModal","bandScoreDetail","BAND_SCORE_URL","BREAK_POINT_URL","getBreakPointAPI","updateBreakPointAPI","useBandScoreDetail","setBandScoreDetail","useBandScoreList","bandScoreList","bandScores","setBandScoreList","useBreakPoint","breakPointValue","breakPoint","setBreakPoint","getBreakPoint","updateBreakPoint","BandScoreList","bandScoreId","EditButtonIcon","isNaN","CURRENT_SERVICE_URL","getCurrentLicense","requestNewLicense","useCurrentLicense","allPlans","setAllPlans","currentLicense","setCurrentLicense","getAllPlans","getCurrentLicenseData","createRequestNewLicense","CurrentLicense","isCurrentLicense","numberOfAdmins","numberOfAssistants","numberOfTeachers","AiOutlineSend","SchoolBlankDayDetailModal","schoolBlankDayDetail","FormGroup","wrapperClassName","SCHOOL_BLANK_DAY_URL","useSchoolBlankDayDetail","setSchoolBlankDayDetail","useSchoolBlankDayList","schoolBlankDayList","schoolBlankDays","setSchoolBlankDayList","SchoolBlankDayList","useShoolBlankDayList","useShoolBlankDayDetail","tabs","component","SkillList","LearningStrategy","SetupContainer","CustomTab","optionGenerals","DefaultQuestionStudentTeacherFilter","isDefaultQuestionTeacher","isDefaultGeneralClass","optionGeneral","customSelector","menu","provided","zIndex","isClearable","defaultProps","subgridStyle","overflowY","overflowX","maxHeight","QuestionPreview","numberOfStars","fromLabel","toLabel","answers","isSurvey","render","isEmotional","QUESTION_TYPES","EMOTIONAL","SINGLE_CHOICE","MULTIPLE_CHOICE","LEARNING_STRATEGY","answer","emotions","dangerouslySetInnerHTML","__html","mark","isCorrectAnswer","FaCheck","FaTimes","SLIDER","RATING","STAR_RATING","Alert","renderQuestionText","renderActions","edit","isDefaultQuestionGeneralClass","renderCategory","category","renderType","QUESTION_TYPES_OPTIONS","CREATE_QUESTION_URL","useQuestionList","questionList","questionBank","gridRef","setRef","node","fitColumn","sizeColumnsToFit","setDataToGrid","setRowData","defaultFilter","isDefaultQuestionGeneralClassTeacher","sortBy","sortOrder","setFilters","updatedFilters","newFilters","setQuestionList","updateOrderQuestions","columnDefs","headerName","field","cellRenderer","cellRendererFramework","headerComponentParams","template","cellStyle","textAlign","gridOptions","rowDrag","detailCellRenderer","defaultColDef","resizable","frameworkComponents","preview","rowData","localeText","noRowsToShow","QuestionBankList","isDefaultQuestionGeneral","onRowDragEnd","dataAfterDrag","parent","childrenAfterFilter","orderDrag","AgGridReact","domLayout","masterDetail","onGridReady","rowDragManaged","animateRows","modules","MasterDetailModule","ClientSideRowModelModule","QuestionSplitPaneSelector","selectItemQuestion","funcMoveItem","questionByCategoryList","selectQuestion","search","position","ListQuestionSearchByCategory","toLowerCase","indexOf","x","outline","disabled","ReflectionDetailModal","arrId","selectedQuestions","getQuestionByCategory","reflectionformDetail","questionIds","ALL_FILTER","useQuestionCategory","questionByCategory","Id","setQuestionByCategory","setSelectedQuestion","setSelectQuestion","resetQuestionList","setResetQuestionList","MoveItemQuestion","setMoveItemQuestion","REFLECTION_URL","useReflectionFormDetail","setReflectionformDetail","setEditItemQuesion","useReflectionFormList","reflectionList","reflections","DEFAULT_FILTER","setReflectionList","ReflectionFormList","reflectionId","numberOfQuestions","numberOfResults","REFLECTION_REPONSE_URL","useReflectionResultList","reflectionResultList","reflectionResults","updateFilters","setReflectionResultList","questionResponses","answerTexts","useReflectionResultDetail","reflectionResultDetail","setReflectionResultDetail","QuestionType","RatingResponse","percent","questionText","Progress","animated","EmotionalResponse","emotionalText","TextInputResponse","answerText","subQuestion","MultipleChoiceResponse","answerTextDetails","StarRatingResponse","html_start","i","ReflectionResultDetailModal","questionResponse","questionType","Rating","Slider","Emotional","questionResponseId","TextInputWithSuggestions","answeredSubQuestion","split","StarRating","RatingStarReponse","SingleChoice","MultipleChoice","multipleChoices","ReflectionResultList","detailReflectionResultHeader","setDetailReflectionResultHeader","reflectionResult","reflectionFormName","studentName","SearchBox","createdAt","DATE_RESULT","ReflectionContainer","SliderScale","memo","StarRatingSelector","defaultAnswer","useQuestionAnswerList","addAnswer","editAnswer","answersCloner","currentAnswerId","findIndex","removeAnswer","newAnswers","checkIsCorrect","isChecked","currentAnswer","currentCorrectAnswerIndex","currentClonerAnswerIndex","answerEditor","editorConfig","AnswerList","isSingleChoice","toolbar","plugins","Editor","apiKey","TINY_MCE_API_KEY","initialValue","init","onEditorChange","content","CustomInput","defaultSubQuestion","useSubQuestionList","subQuestions","addSubQuestion","editSubQuestion","subQuestionsCloner","removeSubQuestion","newSubQuestions","splice","SubQuestions","AdditionalComponent","TEXT_INPUT_WITH_SUGGESTIONS","explainAnswer","nullable","success","isError","validationChoices","noTextAnswers","correctAnswers","correctAnswerNoMark","validationAnswerId","isMandatory","DEFAULT_QUESTION_URL","DEFAULT_QUESTION_GENERAL_URL","useQuestionDetail","editorRef","questionDetail","setQuestionDetail","editor","execCommand","setEditorRef","validator","Error","CREATE_QUESTION_HEADER","EDIT_QUESTION_HEADER","QuestionDetail","additionalFields","onChangeQuestionType","SUMMARIZE","TEXT_INPUT","defaultAnswerList","Array","fill","_item","QuestionTypeSelector","AssessmentDetailModal","assessmentDetail","ASSESSMENT_URL","beginDate","endDate","useAssessmentDetail","setAssessmentDetail","q","s","useAssessmentList","assessmentList","assessments","setAssessmentList","AssessmentList","assessmentId","FeedbackDetailModal","feedbackDetail","FULL_DATE_RESULT","imageUrl","FEEDBACK_URL","useFeedbackDetail","setFeedbackDetail","useFeedbackList","feedbackList","feedbacks","setFeedbackList","FeedbackList","feedbackId","TutorialScreenDetailModal","tutorialScreenDetail","typeRole","tutorial","TUTORIAL_SCREEN_URL","TutorialScreenType","useTutorialScreenDetail","setTutorialScreenDetail","useTutorialScreenList","tutorialScreenList","tutorialScreens","TypeRole","setTutorialScreenList","TutorialScreenList","tutorialScreenId","Admin","Teacher","Student","TutorialScreenContainer","QuestionCateModal","questionCateDetail","QUESTION_CATE_URL","ParentCategoryId","useQuestionCateDetail","setQuestionCateDetail","useQuestionCateList","questionCateList","questionCate","setQuestionCateList","QuestionCateList","questionCateId","QuestionCategoryList","QuestionBankContainer","AssessmentSelector","fetchAssessment","arrAssessment","AcademicClassSelector","academicClassList","setAcademicClassList","fetchAcademicClass","arrAcademicClass","getNameClassList","TeacherMultiSelector","teachers","setTeachers","valueDefault","SemesterSelector","listSemester","timeSemester","academicClassId","AssignmentDetailModal","assignmentDetail","onRemoveStudentFromAssignment","isRoleAdmin","errorSemester","itemSemester","messageError","dateOfBirth","teacherIds","assignmentStudentId","ASSIGNMENT_URL","removeStudent","getAllSemesters","assessment","useAssignmentDetail","setAssignmentDetail","std","useAssignmentList","assignmentList","assignments","userRole","setListSemester","formatedDateItems","assignment","setAssignmentList","getListSemester","AssignmentList","assignmentId","FaRegEdit","ASSIGNMENT_REPONSE_URL","useAssignmentResultList","assignmentResultList","setAssignmentResultList","setTotalItems","assignmentResultDetail","setAssignmentResultDetail","assignmentResult","assignmentName","teacherName","Assignment","AssignmentResultList","AssessmentAssignmentContainer","SESSION_TEMPLATE_URL","CATEGORY_URL","REFLECTION_FORM_URL","CONFERENCE_RUBRIC_URL","getCategories","getReflectionForms","getConferenceRubrics","getRandomQuestion","CREATE_TEMPLATE_URL","useSessionTemplateList","sessionTemplateList","sesstionTemplates","setSessionTemplateList","SessionTemplateList","skills","learningSupportCategory","studentReflectionForm","teacherReflectionForm","SESSION_TEMPLATE_GENERAL_CLASS_URL","CREATE_TEMPLATE_GENERAL_CLASS_URL","useSessionTemplateGeneralClassList","sessionTemplateGeneralClassList","sessionTemplateGeneralClasses","setSessionTemplateGeneralClassList","SessionTemplateGeneralClassList","subjectName","SessionTemplateContainer","CategorySelector","ReflectionFormSelector","ConferenceRubricSelector","AddQuestionModal","isRandom","setIsRandom","onAddQuestion","extraQuestionIds","isConference","conferenceRubricId","teacherReflectionFormId","studentReflectionFormId","skillIds","CREATE_TEMPLATE_TITLE","SESSION_TEMPLATE_LIST_URL","useSessionTemplateDetail","defaultQuestions","setDefaultQuestions","sessionTemplateDetail","setSessionTemplateDetail","getQuestions","extraQuestions","newQuestion","onRemoveQuestion","useAddQuestion","every","SessionTemplateDetail","SubjectSelector","SESSION_TEMPLATE_GENERAL_CLASS_LIST_URL","useSessionTemplateGeneralClassDetail","sessionTemplateGeneralClassDetail","setSessionTemplateGeneralClassDetail","min","SessionTemplateGeneralClassDetail","number","numberOfSessions","duration","CustomAlertDetailModal","customAlertDetail","onRemoveStudentFromCustomAlert","customAlertStudentId","CUSTOM_ALERT_URL","useCustomAlertDetail","setCustomAlertDetail","useCustomAlertList","customAlertList","customAlerts","customAlert","setCustomAlertList","CustomAlertList","customAlertId","certificateItems","CertificateDetailModal","certificateDetail","checkSubmit","Set","initItemValue","uid","addItemBreakPoint","itemCertificate","initBreakPoint","listFiledCloner","breakPointCertification","onRemoveItem","setErrors","setTouched","onChangeInformation","Object","keys","onChangeBreakPointInformation","certificateId","fieldBreakPoint","onRemoveBreakPointItem","CERTIFICATE_URL","CERTIFICATE_TEACHER_URL","getListTeacherCertificate","isWaiting","approved","approve","teacherCertificateId","useCertificateDetail","setCertificateDetail","systemCertificateUpload","useCertificateList","certificateList","certificate","setCertificateList","CertificateList","listWaiting","setListWaiting","listApproved","setListApproved","getListWaiting","undefined","getListApproved","approveCertificate","teacherCertificate","CertificateItem","isApproved","nameTeacher","teacherCertificateItems","teacherCertificateItem","progress","certificateItem","CertificateReview","useCertificateReview","CertificateApproved","CertificateContainer","TeacherItem","isSelected","COMPARE_URL","getMeasureComparing","teacherUserIds","compareSides","useCompareTeacher","results","setResults","allTeachers","setAllTeachers","setTeacherUserIds","toggleTeacherUserId","teacherUserId","getTeachers","calculateLevel","toUpperCase","CompareTeacher","block","result","side","measureResult","REPORT_URL","getQuantityReport","getLoginCountingReport","getSkillReport","getGoalProgressReport","getHighImpactLearningStrategyReport","getTimeInSessionReport","getPerceivedImpactReport","getGradeReport","useDashboard","loginCounting","setLoginCounting","quantity","setQuantity","setSkill","goalProgress","setGoalProgress","highImpact","setHighImpact","perceivedImpact","setPerceivedImpact","timeInSession","setTimeInSession","grade","setGrade","callApi","apiCaller","setData","defaultData","Promise","any","DashboardCard","colors","levels","GoalProgressReport","series","level","categories","Loading","chart","stacked","stackType","show","plotOptions","bar","horizontal","columnWidth","breakpoint","legend","offsetX","offsetY","xaxis","onItemClick","toggleDataSeries","onItemHover","highlightDataSeries","ReactApexChart","getColors","newColors","HighImpact","ratings","learningStrategies","distributed","dataLabels","enabled","substring","yaxis","labels","formatter","val","toFixed","LoginCouting","date","teacherCount","teacherLoginCount","studentCount","studentLoginCount","stroke","curve","markers","strokeColors","strokeWidth","strokeOpacity","strokeDashArray","fillOpacity","shape","radius","onDblClick","showNullDataPoints","sizeOffset","PerceivedImpact","teacherRating","studentRating","learningStrategyName","Quantity","teacherPercentage","studentPercentage","assistantPercentage","Number","details","global","freeGlobal","Symbol","root","objectProto","nativeObjectToString","symToStringTag","getRawTag","objectToString","isObjectLike","baseGetTag","hasOwnProperty","baseIsArguments","isArray","isArguments","isFlattenable","arrayPush","isSymbol","isObject","coreJsData","funcProto","funcToString","isMasked","isFunction","toSource","getValue","baseIsNative","getNative","nativeCreate","HASH_UNDEFINED","hashClear","hashDelete","hashGet","hashHas","hashSet","eq","assocIndexOf","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","Hash","Map","ListCache","isKeyable","getMapData","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","memoize","memoizeCapped","arrayMap","baseToString","isKey","stringToPath","INFINITY","castPath","toKey","stackClear","stackDelete","stackGet","stackHas","stackSet","setCacheAdd","setCacheHas","SetCache","arraySome","cacheHas","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","symbolTag","symbolProto","Uint8Array","mapToArray","setToArray","equalArrays","propertyIsEnumerable","stubArray","arrayFilter","stubFalse","MAX_SAFE_INTEGER","argsTag","boolTag","dateTag","errorTag","funcTag","mapTag","numberTag","regexpTag","setTag","stringTag","arrayBufferTag","dataViewTag","isLength","nodeUtil","baseUnary","baseIsTypedArray","isBuffer","isTypedArray","baseTimes","isIndex","overArg","isPrototype","nativeKeys","isArrayLike","arrayLikeKeys","baseKeys","baseGetAllKeys","getSymbols","getAllKeys","objectTag","weakMapTag","DataView","WeakMap","arrayTag","getTag","Stack","equalByTag","equalObjects","baseIsEqualDeep","baseIsEqual","isStrictComparable","getMatchData","matchesStrictComparable","baseIsMatch","baseGet","hasPath","baseHasIn","hasIn","baseProperty","basePropertyDeep","identity","baseMatchesProperty","baseMatches","property","createBaseFor","baseFor","createBaseEach","baseForOwn","baseEach","compareAscending","baseIteratee","baseMap","baseSortBy","compareMultiple","apply","defineProperty","constant","shortOut","baseSetToString","setToString","overRest","baseRest","isIterateeCall","baseOrderBy","baseFlatten","MAX_SKILL_RATING","getPercentageRating","rating","getTimes","times","time","flat","sort","getRatings","formatRatings","isDiscrete","useSkillFormat","activeSkillNames","setActiveSkillNames","toggleSkillName","skillName","discrete","ratingIndex","seriesIndex","dataPointIndex","ICON_SIZE","ICON_COLOR","CustomCheckbox","Skill","max","tooltip","TimeInSession","teacherPerceivedImpact","studentPerceivedImpact","sessionCategory","findGradeLabel","sortedBandScores","item1","item2","Grade","beforeIntervention","duringIntervention","afterIntervention","Math","Dashboard","cards","card","LicenseManager","setLicenseKey","LICENSE_AGGRID"],"mappings":"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"}
|