{"version":3,"sources":["redux/actions/ActionTypes.js","redux/reducers/admin/CourseAdminPanelReducer.js","redux/reducers/admin/UserAdminPanelReducer.js","redux/reducers/dashboard/DashboardPanelReducer.js","resources/constants/lectureSurvey.js","redux/reducers/dashboard/LecturePanelReducer.js","redux/reducers/dashboard/PreferencePanelReducer.js","redux/reducers/MenuReducer.js","redux/reducers/popup/admin/AssignAdditionalAdminPopupReducer.js","redux/reducers/popup/admin/AssignCategoryAdminPopupReducer.js","redux/reducers/popup/admin/AssignLectureAdminPopupReducer.js","redux/reducers/popup/admin/AssignSectionAdminPopupReducer.js","redux/reducers/popup/admin/AssignVideoAdminPopupReducer.js","resources/constants/adminPanel.js","resources/constants/durationType.js","resources/constants/lang.js","resources/constants/lectureType.js","Utils.js","redux/reducers/popup/admin/CourseAdminPopupReducer.js","redux/reducers/popup/admin/AssignDocumentationAdminPopupReducer.js","redux/reducers/popup/admin/AssignEmbedPageAdminPopupReducer.js","redux/reducers/popup/admin/UserAdminPopupReducer.js","redux/reducers/popup/PreviewPopupReducer.js","redux/reducers/popup/InboundPopupReducer.js","redux/reducers/popup/InterviewPopupReducer.js","resources/constants/signPopupType.js","redux/reducers/popup/SignPopupReducer.js","redux/reducers/popup/VoucherPopupReducer.js","redux/reducers/shop/CategoryPanelReducer.js","redux/reducers/shop/HomePanelReducer.js","redux/reducers/shop/PreviewPanelReducer.js","redux/reducers/admin/CategoryAdminPanelReducer.js","redux/reducers/popup/admin/CategoryAdminPopupReducer.js","redux/reducers/popup/admin/AssignCourseAdminPopupReducer.js","redux/reducers/admin/VoucherAdminPanelReducer.js","redux/reducers/popup/admin/AssignFileAdminPopupReducer.js","redux/reducers/popup/admin/AssignUserAdminPopupReducer.js","redux/reducers/popup/admin/VoucherAdminPopupReducer.js","redux/reducers/popup/admin/AssignCertificateAdminPopupReducer.js","redux/reducers/popup/admin/SurveyAdminPopupReducer.js","redux/reducers/admin/TracerAdminPanelReducer.js","redux/reducers/index.js","redux/store.js","serviceWorker.js","services/Authentication.js","resources/constants/role.js","services/AxiosConfiguration.js","BackgroundPopup.js","resources/constants/preferencePanel.js","resources/constants/menu.js","resources/constants/loader.js","loader/BasicLoader.js","menu/MenuItem.js","menu/MenuList.js","loader/HeaderResultItemLoader.js","resources/constants/courseStatus.js","menu/HeaderResultItem.js","menu/HeaderResultList.js","redux/actions/MainActions.js","i18n.js","resources/images/loading.svg","resources/images/profile.png","menu/Header.js","resources/images/home/arrow-1.svg","Button.js","hook/UseInterval.js","menu/MobileMenu.js","HOC/PopupHOC.js","popup/admin/MenuAdminPopup.js","HOC/AdminPopupHOC.js","popup/admin/assignAdditional/AdditionalItemAssignAdditionalAdminPopup.js","popup/admin/AssignAdditionalAdminPopup.js","redux/actions/popup/admin/AssignAdditionalPopupActions.js","HOC/InputHOC.js","Input.js","redux/actions/admin/CategoryAdminActions.js","redux/actions/popup/admin/CategoryPopupActions.js","resources/images/no-image.png","popup/admin/assignCategory/CategoryItemAssignCategoryAdminPopup.js","redux/actions/popup/admin/AssignCategoryPopupActions.js","popup/admin/assignCategory/CategoryListAssignCategoryAdminPopup.js","popup/admin/AssignCategoryAdminPopup.js","redux/actions/popup/admin/UserPopupActions.js","redux/actions/popup/admin/AssignCertificatePopupActions.js","resources/constants/specificationType.js","redux/actions/popup/admin/CoursePopupActions.js","popup/admin/assignCertificate/CourseItemAssignCertificateAdminPopup.js","popup/admin/assignCertificate/CourseListAssignCertificateAdminPopup.js","popup/admin/AssignCertificateAdminPopup.js","redux/actions/popup/admin/AssignCoursePopupActions.js","popup/admin/assignCourse/CourseItemAssignCourseAdminPopup.js","popup/admin/assignCourse/CourseListAssignCourseAdminPopup.js","popup/admin/AssignCourseAdminPopup.js","redux/actions/popup/admin/AssignDocumentationPopupActions.js","popup/admin/AssignDocumentationAdminPopup.js","redux/actions/admin/LectureAdminActions.js","panel/dashboard/lecture/LectureEmbedPage.js","redux/actions/popup/admin/AssignEmbedPagePopupActions.js","popup/admin/AssignEmbedPageAdminPopup.js","popup/admin/assignFile/FileItemAssignFileAdminPopup.js","redux/actions/popup/admin/AssignFilePopupActions.js","popup/admin/AssignFileAdminPopup.js","redux/actions/popup/admin/AssignLecturePopupActions.js","popup/admin/assignLecture/LectureItemAssignLectureAdminPopup.js","popup/admin/assignLecture/LectureListAssignLectureAdminPopup.js","popup/admin/AssignLectureAdminPopup.js","redux/actions/popup/admin/AssignSectionPopupActions.js","popup/admin/assignSection/SectionItemAssignSectionAdminPopup.js","popup/admin/assignSection/SectionListAssignSectionAdminPopup.js","popup/admin/AssignSectionAdminPopup.js","redux/actions/popup/admin/AssignUserPopupActions.js","loader/UserAdminPanelItemLoader.js","resources/images/authentication/facebook-blue.png","resources/images/authentication/key.png","resources/images/authentication/microsoft.png","popup/admin/assignUser/UserItemAssignUserAdminPopup.js","popup/admin/assignUser/UserListAssignUserAdminPopup.js","popup/admin/AssignUserAdminPopup.js","redux/actions/popup/admin/AssignVideoPopupActions.js","services/PlayerFetchLoader.js","VideoPlayer.js","popup/admin/assignVideo/VideoItemAssignVideoAdminPopup.js","popup/admin/assignVideo/VideoListAssignVideoAdminPopup.js","popup/admin/AssignVideoAdminPopup.js","popup/admin/category/course/CourseItemCategoryAdminPopup.js","popup/admin/category/course/CourseListCategoryAdminPopup.js","popup/admin/category/CourseCategoryAdminPopup.js","popup/admin/category/OverviewCategoryAdminPopup.js","popup/admin/CategoryAdminPopup.js","popup/admin/course/detailedInformation/CategoryItemCourseAdminPopup.js","popup/admin/course/detailedInformation/CategoryListCourseAdminPopup.js","popup/admin/course/detailedInformation/SpecificationListCourseAdminPopup.js","popup/admin/course/DetailedInformationCourseAdminPopup.js","MultipleStateSwitch.js","SwitchButton.js","popup/admin/course/OverviewCourseAdminPopup.js","Datepicker.js","popup/admin/course/user/UserItemCourseAdminPopup.js","popup/admin/course/user/UserListCourseAdminPopup.js","popup/admin/course/UserCourseAdminPopup.js","popup/admin/CourseAdminPopup.js","panel/dashboard/lecture/survey/LectureSurveyResultAnswer.js","panel/dashboard/lecture/survey/LectureSurveyResultQuestion.js","redux/actions/popup/admin/SurveyPopupActions.js","popup/admin/SurveyAdminPopup.js","popup/admin/user/certificate/CertificateUserItemAdminPopup.js","popup/admin/user/certificate/CertificateUserListAdminPopup.js","popup/admin/user/CertificateUserAdminPopup.js","popup/admin/user/course/CourseUserItemAdminPopup.js","popup/admin/user/course/CourseUserListAdminPopup.js","popup/admin/user/CourseUserAdminPopup.js","InputPhone.js","popup/admin/user/OverviewUserAdminPopup.js","PasswordStrength.js","popup/admin/user/SecurityUserAdminPopup.js","popup/admin/user/survey/SurveyUserItemAdminPopup.js","popup/admin/user/survey/SurveyUserListAdminPopup.js","popup/admin/user/SurveyUserAdminPopup.js","popup/admin/UserAdminPopup.js","redux/actions/popup/admin/VoucherPopupActions.js","popup/admin/voucher/course/CourseVoucherItemAdminPopup.js","popup/admin/voucher/course/CourseVoucherListAdminPopup.js","popup/admin/voucher/CourseVoucherAdminPopup.js","popup/admin/voucher/OverviewVoucherAdminPopup.js","popup/admin/voucher/user/UserItemVoucherAdminPopup.js","popup/admin/voucher/user/UserListVoucherAdminPopup.js","popup/admin/voucher/UserVoucherAdminPopup.js","popup/admin/VoucherAdminPopup.js","popup/AppointmentPopup.js","redux/actions/popup/InboundActions.js","resources/constants/job.js","popup/InboundPopup.js","resources/constants/interview.js","resources/images/solution/interview/guillaume-2.png","resources/images/solution/interview/patrice-2.png","resources/images/solution/interview/sarah-2.png","popup/InterviewPopup.js","popup/PreviewPopup.js","redux/actions/popup/SignActions.js","HOC/SignPopupHOC.js","resources/images/authentication/facebook.png","popup/sign/LoginPopup.js","popup/sign/RegisterPopupGeneral.js","popup/sign/RegisterPopupPassword.js","popup/sign/RegisterPopupExtra.js","popup/sign/RegisterPopup.js","popup/sign/ResetPopup.js","popup/voucher/VoucherAddedItem.js","popup/voucher/VoucherAddedList.js","popup/voucher/VoucherForm.js","redux/actions/popup/VoucherActions.js","popup/VoucherPopup.js","popup/PopupManager.js","Footer.js","redux/actions/shop/HomePanelActions.js","panel/shop/home/HomeCategoryItem.js","panel/shop/home/HomeCategoryList.js","panel/shop/category/CourseItem.js","panel/shop/home/HomeCourseList.js","panel/shop/home/HomeTabbar.js","resources/images/home/arrow-2.svg","panel/shop/HomePanel.js","redux/actions/shop/CategoryPanelActions.js","panel/shop/category/CategoryItem.js","panel/shop/CategoryPanel.js","redux/actions/shop/PreviewPanelActions.js","resources/constants/previewCourse.js","panel/shop/preview/PreviewMoreInformationButton.js","resources/images/logo/logo.png","resources/images/pdf/banner.png","resources/images/pdf/contact.png","resources/images/icon/check.png","resources/images/icon/star.png","resources/images/icon/bag.png","resources/fonts/Raleway-Bold-normal.js","resources/fonts/Raleway-Light-normal.js","services/CoursePreviewPDF.js","resources/fonts/Raleway-SemiBold-normal.js","panel/shop/preview/PreviewMoreInformation.js","panel/shop/preview/PreviewSpecification.js","panel/shop/preview/PreviewLecture.js","redux/actions/popup/PreviewActions.js","panel/shop/preview/PreviewSection.js","panel/shop/preview/PreviewDetail.js","panel/shop/PreviewPanel.js","HOC/IsLoggedHOC.js","resources/images/reunit.png","resources/images/signature.png","panel/dashboard/home/DashboardCertificateItem.js","services/CertificatePDF.js","panel/dashboard/home/DashboardCertificateList.js","panel/dashboard/home/DashboardCourseItem.js","panel/dashboard/home/DashboardCourseList.js","panel/dashboard/DashboardPanel.js","redux/actions/dashboard/DashboardActions.js","panel/dashboard/preference/PreferenceInformation.js","redux/actions/dashboard/PreferenceActions.js","panel/dashboard/preference/PreferenceMenu.js","panel/dashboard/preference/PreferencePhoto.js","panel/dashboard/preference/PreferenceSecuritySessionItem.js","panel/dashboard/preference/PreferenceSecuritySession.js","panel/dashboard/preference/PreferenceSecurity.js","panel/dashboard/PreferencePanel.js","redux/actions/dashboard/LectureActions.js","panel/dashboard/lecture/LectureAdditionalItem.js","panel/dashboard/lecture/LectureAdditional.js","panel/dashboard/lecture/LectureAddResource.js","panel/dashboard/lecture/LectureDocumentation.js","panel/dashboard/lecture/LectureDownloadFile.js","panel/dashboard/lecture/LectureDefaultContent.js","panel/dashboard/lecture/LectureDescription.js","redux/actions/dashboard/LectureSurveyActions.js","panel/dashboard/lecture/survey/LectureSurveyAdminAnswer.js","panel/dashboard/lecture/survey/LectureSurveyAdminNewAnswer.js","panel/dashboard/lecture/survey/LectureSurveyAdminQuestion.js","panel/dashboard/lecture/survey/LectureSurveyAdminResult.js","panel/dashboard/lecture/survey/LectureSurveyAdmin.js","services/surveyAdminPDF.js","panel/dashboard/lecture/survey/LectureSurveyResult.js","panel/dashboard/lecture/survey/LectureSurveyRunAnswer.js","panel/dashboard/lecture/survey/LectureSurveyRun.js","panel/dashboard/lecture/survey/LectureSurveyStart.js","panel/dashboard/lecture/LectureSurvey.js","panel/dashboard/lecture/LectureSurveyDescription.js","panel/dashboard/lecture/LectureContent.js","panel/dashboard/lecture/LectureItemContent.js","panel/dashboard/lecture/LectureItem.js","panel/dashboard/lecture/LectureSection.js","redux/actions/admin/CourseAdminActions.js","panel/dashboard/lecture/LectureMenu.js","panel/dashboard/LecturePanel.js","menu/LectureHeader.js","ScrollToTop.js","EmailConfirmationBanner.js","popup/sign/UpdatePasswordPopup.js","menu/AdminHeader.js","HOC/IsAdminHOC.js","HOC/AdminPanelHOC.js","panel/admin/category/CategoryItemAdminTree.js","panel/admin/CategoryAdminPanel.js","panel/admin/course/CourseAdminItemPeople.js","panel/admin/course/CourseAdminItem.js","panel/admin/course/CourseAdminList.js","panel/admin/CourseAdminPanel.js","redux/actions/admin/TracerAdminActions.js","panel/admin/tracer/TracerAdminItem.js","panel/admin/tracer/TracerAdminList.js","panel/admin/TracerAdminPanel.js","redux/actions/admin/UserAdminActions.js","panel/admin/user/UserAdminItem.js","panel/admin/user/UserAdminList.js","panel/admin/UserAdminPanel.js","redux/actions/admin/VoucherAdminActions.js","panel/admin/voucher/VoucherAdminItem.js","panel/admin/voucher/VoucherAdminList.js","panel/admin/VoucherAdminPanel.js","panel/admin/AdminPanel.js","panel/shop/TermsPanel.js","panel/shop/PrivacyPanel.js","resources/images/team/Radhouen.JPG","resources/images/team/Saber.JPG","resources/images/team/Yassine.JPG","resources/constants/team.js","resources/images/team/freddy-janssens.png","panel/shop/team/TeamItem.js","panel/shop/TeamPanel.js","panel/shop/solution/MainViewFive.js","panel/shop/solution/MainViewFour.js","resources/images/solution/company/telindus.png","resources/images/solution/company/next-media.png","resources/images/solution/company/aelion.png","resources/images/solution/company/arrow.png","panel/shop/solution/MainViewOne.js","panel/shop/solution/MainViewThree.js","panel/shop/solution/MainViewTwo.js","panel/shop/solution/SolutionFixedView.js","panel/shop/solution/SolutionInterviewItem.js","panel/shop/solution/TransitionViewFour.js","panel/shop/solution/TransitionViewOne.js","panel/shop/solution/TransitionViewThree.js","panel/shop/solution/TransitionViewTwo.js","panel/shop/SolutionPanel.js","panel/shop/SitemapPanel.js","CookiesPopup.js","panel/shop/BlogPanel.js","resources/images/home/computer.png","resources/images/home/whistle.png","resources/images/solution/clock.png","panel/inbound/InboundModelPanel.js","resources/images/solution/key.png","panel/inbound/MS030.js","index.js"],"names":["MENU_SET_RESULT_VISIBLE","MENU_SET_SEARCHING_VALUE","MENU_SET_MOBILE_MENU","MENU_SET_CATEGORIES_LOADING","MENU_SET_CATEGORIES","MENU_SET_SEARCHING_RESULT","MENU_SET_SEARCHING_LOADING","MENU_SET_LOADED","SIGN_POPUP_SET_ENABLED","SIGN_POPUP_SET_EMAIL","SIGN_POPUP_SET_PASSWORD","SIGN_POPUP_EMAIL_CHECK","SIGN_POPUP_PASSWORD_CHECK","SIGN_POPUP_SET_LOADING","SIGN_POPUP_SET_FIRSTNAME","SIGN_POPUP_SET_LASTNAME","SIGN_POPUP_SET_PHONE","SIGN_POPUP_SET_COMPANY","SIGN_POPUP_FIRSTNAME_CHECK","SIGN_POPUP_LASTNAME_CHECK","SIGN_POPUP_PHONE_CHECK","SIGN_POPUP_COMPANY_CHECK","SIGN_POPUP_SET_REGISTER_STEP","SIGN_POPUP_UPDATE_PASSWORD_SET_NEW_PASSWORD","SIGN_POPUP_UPDATE_PASSWORD_SET_RENEW_PASSWORD","SIGN_POPUP_UPDATE_PASSWORD_NEW_PASSWORD_CHECK","SIGN_POPUP_UPDATE_PASSWORD_RENEW_PASSWORD_CHECK","VOUCHER_POPUP_RESET","VOUCHER_POPUP_SET_ENABLED","VOUCHER_POPUP_SET_LOADING","VOUCHER_POPUP_SET_VOUCHERS_CODE","VOUCHER_POPUP_VOUCHER_CODE_CHECK","VOUCHER_POPUP_SET_VOUCHERS","PREVIEW_POPUP_SET_ENABLED","PREVIEW_POPUP_SET_LOADING","PREVIEW_POPUP_SET_LECTURE","INTERVIEW_POPUP_SET_INTERVIEW_ID","INBOUND_POPUP_SET_ENABLED","INBOUND_POPUP_RESET","INBOUND_POPUP_SET_EMAIL","INBOUND_POPUP_SET_FIRSTNAME","INBOUND_POPUP_SET_LASTNAME","INBOUND_POPUP_SET_PHONE","INBOUND_POPUP_SET_COMPANY","INBOUND_POPUP_SET_JOB_STATUS","INBOUND_POPUP_SET_SAVED","INBOUND_POPUP_SET_COURSE_TITLE","INBOUND_POPUP_SET_LOADING","INBOUND_POPUP_SET_COMPLETION","INBOUND_POPUP_EMAIL_CHECK","INBOUND_POPUP_FIRSTNAME_CHECK","INBOUND_POPUP_LASTNAME_CHECK","INBOUND_POPUP_PHONE_CHECK","INBOUND_POPUP_COMPANY_CHECK","USER_ADMIN_POPUP_RESET","USER_ADMIN_POPUP_SET_ENABLED","USER_ADMIN_POPUP_SET_POPUP_TITLE","USER_ADMIN_POPUP_SET_USER","USER_ADMIN_POPUP_SET_SOCIAL","USER_ADMIN_POPUP_SET_USER_ID","USER_ADMIN_POPUP_SET_LOADING","USER_ADMIN_POPUP_SET_PICTURE_LOADING","USER_ADMIN_POPUP_SET_SECURITY_LOADING","USER_ADMIN_POPUP_SET_INFORMATIONS_LOADING","USER_ADMIN_POPUP_TOGGLE_MENU_STATUS","USER_ADMIN_POPUP_SET_PICTURE","USER_ADMIN_POPUP_SET_EMAIL","USER_ADMIN_POPUP_SET_FIRSTNAME","USER_ADMIN_POPUP_SET_LASTNAME","USER_ADMIN_POPUP_SET_PHONE","USER_ADMIN_POPUP_SET_COMPANY","USER_ADMIN_POPUP_SET_CONFIRMED","USER_ADMIN_POPUP_SET_NEW_PASSWORD","USER_ADMIN_POPUP_SET_RENEW_PASSWORD","USER_ADMIN_POPUP_SET_COURSES_LOADING","USER_ADMIN_POPUP_SET_COURSES","USER_ADMIN_POPUP_SET_COURSE_LOADING","USER_ADMIN_POPUP_SET_COURSE_EXPIRY_DATE","USER_ADMIN_POPUP_SET_COURSE_UNIT_COMPLETE_LOCK","USER_ADMIN_POPUP_DELETE_COURSE","USER_ADMIN_POPUP_ADD_COURSE","USER_ADMIN_POPUP_SET_SURVEYS_LOADING","USER_ADMIN_POPUP_SET_SURVEYS","USER_ADMIN_POPUP_SET_SURVEY_LOADING","USER_ADMIN_POPUP_DELETE_SURVEY","USER_ADMIN_POPUP_SET_CERTIFICATES_LOADING","USER_ADMIN_POPUP_SET_CERTIFICATES","USER_ADMIN_POPUP_SET_CERTIFICATE_LOADING","USER_ADMIN_POPUP_ADD_CERTIFICATE","USER_ADMIN_POPUP_DELETE_CERTIFICATE","USER_ADMIN_POPUP_EMAIL_CHECK","USER_ADMIN_POPUP_FIRSTNAME_CHECK","USER_ADMIN_POPUP_LASTNAME_CHECK","USER_ADMIN_POPUP_PHONE_CHECK","USER_ADMIN_POPUP_COMPANY_CHECK","USER_ADMIN_POPUP_NEW_PASSWORD_CHECK","USER_ADMIN_POPUP_RENEW_PASSWORD_CHECK","VOUCHER_ADMIN_POPUP_RESET","VOUCHER_ADMIN_POPUP_SET_ENABLED","VOUCHER_ADMIN_POPUP_SET_POPUP_TITLE","VOUCHER_ADMIN_POPUP_SET_VOUCHER_ID","VOUCHER_ADMIN_POPUP_SET_VOUCHER","VOUCHER_ADMIN_POPUP_SET_LOADING","VOUCHER_ADMIN_POPUP_SET_INFORMATIONS_LOADING","VOUCHER_ADMIN_POPUP_SET_COURSES_LOADING","VOUCHER_ADMIN_POPUP_TOGGLE_MENU_STATUS","VOUCHER_ADMIN_POPUP_SET_START_DATE","VOUCHER_ADMIN_POPUP_SET_END_DATE","VOUCHER_ADMIN_POPUP_SET_PLACE_AVAILABLE","VOUCHER_ADMIN_POPUP_SET_COURSES","VOUCHER_ADMIN_POPUP_ADD_COURSE","VOUCHER_ADMIN_POPUP_DELETE_COURSE","VOUCHER_ADMIN_POPUP_DATES_CHECK","VOUCHER_ADMIN_POPUP_PLACE_AVAILABLE_CHECK","VOUCHER_ADMIN_POPUP_SET_USERS_LOADING","VOUCHER_ADMIN_POPUP_SET_USER_LOADING","VOUCHER_ADMIN_POPUP_SET_USERS","VOUCHER_ADMIN_POPUP_ADD_USERS","VOUCHER_ADMIN_POPUP_DELETE_USER","VOUCHER_ADMIN_POPUP_SET_USER_SEARCH_VALUE","VOUCHER_ADMIN_POPUP_SET_HAS_NEXT","VOUCHER_ADMIN_POPUP_SET_PAGING_PAGE","COURSE_ADMIN_POPUP_RESET","COURSE_ADMIN_POPUP_SET_POPUP_TITLE","COURSE_ADMIN_POPUP_SET_ENABLED","COURSE_ADMIN_POPUP_SET_COURSE","COURSE_ADMIN_POPUP_SET_COURSE_ID","COURSE_ADMIN_POPUP_SET_LOADING","COURSE_ADMIN_POPUP_SET_INFORMATIONS_LOADING","COURSE_ADMIN_POPUP_SET_PICTURE_LOADING","COURSE_ADMIN_POPUP_TOGGLE_MENU_STATUS","COURSE_ADMIN_POPUP_SET_ADVERTISEMENT_VISIBILITY","COURSE_ADMIN_POPUP_SET_PICTURE","COURSE_ADMIN_POPUP_SET_TITLE","COURSE_ADMIN_POPUP_SET_DESCRIPTION","COURSE_ADMIN_POPUP_SET_PRICE","COURSE_ADMIN_POPUP_SET_PREVIEW_VIDEO","COURSE_ADMIN_POPUP_SET_UNIT_COMPLETE_LOCK","COURSE_ADMIN_POPUP_SET_EXPIRY_VALUE","COURSE_ADMIN_POPUP_SET_EXPIRY_UNIT","COURSE_ADMIN_POPUP_SET_LANG","COURSE_ADMIN_POPUP_SET_OTHER_LANG_ID","COURSE_ADMIN_POPUP_SET_STATUS_ENABLED","COURSE_ADMIN_POPUP_SET_STATUS","COURSE_ADMIN_POPUP_SET_SEO_KEYWORDS","COURSE_ADMIN_POPUP_SET_SEO_LOCKED","COURSE_ADMIN_POPUP_TITLE_CHECK","COURSE_ADMIN_POPUP_DESCRIPTION_CHECK","COURSE_ADMIN_POPUP_PREVIEW_VIDEO_CHECK","COURSE_ADMIN_POPUP_EXPIRY_CHECK","COURSE_ADMIN_POPUP_PRICE_CHECK","COURSE_ADMIN_POPUP_SET_SPECIFICATIONS_LOADING","COURSE_ADMIN_POPUP_SET_SPECIFICATION_ACTION_LOADING","COURSE_ADMIN_POPUP_SET_OBJECTIVES","COURSE_ADMIN_POPUP_ADD_OBJECTIVE","COURSE_ADMIN_POPUP_SET_PUBLICS","COURSE_ADMIN_POPUP_ADD_PUBLIC","COURSE_ADMIN_POPUP_SET_PREREQUISITES","COURSE_ADMIN_POPUP_ADD_PREREQUISITE","COURSE_ADMIN_POPUP_DELETE_SPECIFICATION","COURSE_ADMIN_POPUP_SET_NEW_OBJECTIVE","COURSE_ADMIN_POPUP_SET_NEW_PUBLIC","COURSE_ADMIN_POPUP_SET_NEW_PREREQUISITE","COURSE_ADMIN_POPUP_OBJECTIVE_CHECK","COURSE_ADMIN_POPUP_PUBLIC_CHECK","COURSE_ADMIN_POPUP_PREREQUISITE_CHECK","COURSE_ADMIN_POPUP_SET_CATEGORIES_LOADING","COURSE_ADMIN_POPUP_SET_CATEGORY_LOADING","COURSE_ADMIN_POPUP_SET_CATEGORIES","COURSE_ADMIN_POPUP_ADD_CATEGORY","COURSE_ADMIN_POPUP_DELETE_CATEGORY","COURSE_ADMIN_POPUP_SET_USERS_LOADING","COURSE_ADMIN_POPUP_SET_USER_LOADING","COURSE_ADMIN_POPUP_SET_USER_EXPIRE_DATE","COURSE_ADMIN_POPUP_SET_USER_UNIT_COMPLETE_LOCK","COURSE_ADMIN_POPUP_SET_USERS","COURSE_ADMIN_POPUP_ADD_USERS","COURSE_ADMIN_POPUP_DELETE_USER","COURSE_ADMIN_POPUP_SET_USER_SEARCH_VALUE","COURSE_ADMIN_POPUP_SET_HAS_NEXT","COURSE_ADMIN_POPUP_SET_PAGING_PAGE","CATEGORY_ADMIN_POPUP_RESET","CATEGORY_ADMIN_POPUP_SET_ENABLED","CATEGORY_ADMIN_POPUP_SET_LOADING","CATEGORY_ADMIN_POPUP_SET_POPUP_TITLE","CATEGORY_ADMIN_POPUP_TOGGLE_MENU_STATUS","CATEGORY_ADMIN_POPUP_SET_INFORMATIONS_LOADING","CATEGORY_ADMIN_POPUP_SET_PICTURE_LOADING","CATEGORY_ADMIN_POPUP_SET_COURSES_LOADING","CATEGORY_ADMIN_POPUP_SET_CATEGORY_ID","CATEGORY_ADMIN_POPUP_SET_CATEGORY","CATEGORY_ADMIN_POPUP_SEO_KEYWORDS","CATEGORY_ADMIN_POPUP_SET_PICTURE","CATEGORY_ADMIN_POPUP_SET_TITLE","CATEGORY_ADMIN_POPUP_SET_TITLE_EN","CATEGORY_ADMIN_POPUP_SET_COURSES","CATEGORY_ADMIN_POPUP_TITLE_CHECK","CATEGORY_ADMIN_POPUP_TITLE_EN_CHECK","ASSIGN_ADDITIONAL_ADMIN_POPUP_RESET","ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_ENABLED","ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_LECTURE_ID","ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_LOADING","ASSIGN_ADDITIONAL_ADMIN_POPUP_ADD_FILE","ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_PROGRESS","ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_ERROR","ASSIGN_FILE_ADMIN_POPUP_RESET","ASSIGN_FILE_ADMIN_POPUP_SET_ENABLED","ASSIGN_FILE_ADMIN_POPUP_SET_LECTURE_ID","ASSIGN_FILE_ADMIN_POPUP_SET_LOADING","ASSIGN_FILE_ADMIN_POPUP_ADD_FILE","ASSIGN_FILE_ADMIN_POPUP_SET_FILE_LOADING","ASSIGN_FILE_ADMIN_POPUP_SET_FILE_NAME","ASSIGN_FILE_ADMIN_POPUP_SET_FILE_PROGRESS","ASSIGN_FILE_ADMIN_POPUP_SET_FILE_RESOURCE_ID","ASSIGN_FILE_ADMIN_POPUP_SET_FILE_ERROR","ASSIGN_CATEGORY_ADMIN_POPUP_RESET","ASSIGN_CATEGORY_ADMIN_POPUP_SET_ENABLED","ASSIGN_CATEGORY_ADMIN_POPUP_SET_LOADING","ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORY_LOADING","ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORIES","ASSIGN_CATEGORY_ADMIN_POPUP_SET_SELECTED_CATEGORIES","ASSIGN_CATEGORY_ADMIN_POPUP_ADD_SELECTED_CATEGORY","ASSIGN_CATEGORY_ADMIN_POPUP_SET_COURSE_ID","ASSIGN_CATEGORY_ADMIN_POPUP_SET_SEARCH_VALUE","ASSIGN_SECTION_ADMIN_POPUP_RESET","ASSIGN_SECTION_ADMIN_POPUP_SET_ENABLED","ASSIGN_SECTION_ADMIN_POPUP_SET_LOADING","ASSIGN_SECTION_ADMIN_POPUP_SET_COURSE_ID","ASSIGN_SECTION_ADMIN_POPUP_SET_SECTIONS","ASSIGN_SECTION_ADMIN_POPUP_ADD_SECTIONS","ASSIGN_SECTION_ADMIN_POPUP_ADD_SELECTED_SECTION","ASSIGN_SECTION_ADMIN_POPUP_SET_SECTION_LOADING","ASSIGN_SECTION_ADMIN_POPUP_SET_SEARCH_VALUE","ASSIGN_SECTION_ADMIN_POPUP_SET_HAS_NEXT","ASSIGN_SECTION_ADMIN_POPUP_SET_PAGING_PAGE","ASSIGN_LECTURE_ADMIN_POPUP_RESET","ASSIGN_LECTURE_ADMIN_POPUP_SET_ENABLED","ASSIGN_LECTURE_ADMIN_POPUP_SET_LOADING","ASSIGN_LECTURE_ADMIN_POPUP_SET_ADD_NEW_LOADING","ASSIGN_LECTURE_ADMIN_POPUP_SET_SECTION_ID","ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURES","ASSIGN_LECTURE_ADMIN_POPUP_ADD_LECTURES","ASSIGN_LECTURE_ADMIN_POPUP_ADD_SELECTED_LECTURE","ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURE_LOADING","ASSIGN_LECTURE_ADMIN_POPUP_SET_SEARCH_VALUE","ASSIGN_LECTURE_ADMIN_POPUP_SET_HAS_NEXT","ASSIGN_LECTURE_ADMIN_POPUP_SET_PAGING_PAGE","ASSIGN_VIDEO_ADMIN_POPUP_RESET","ASSIGN_VIDEO_ADMIN_POPUP_SET_ENABLED","ASSIGN_VIDEO_ADMIN_POPUP_SET_LOADING","ASSIGN_VIDEO_ADMIN_POPUP_SET_LECTURE_ID","ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEOS","ASSIGN_VIDEO_ADMIN_POPUP_ADD_VIDEOS","ASSIGN_VIDEO_ADMIN_POPUP_ADD_SELECTED_VIDEO","ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEO_LOADING","ASSIGN_VIDEO_ADMIN_POPUP_DELETE_VIDEO","ASSIGN_VIDEO_ADMIN_POPUP_SET_SEARCH_VALUE","ASSIGN_VIDEO_ADMIN_POPUP_SET_HAS_NEXT","ASSIGN_VIDEO_ADMIN_POPUP_SET_PAGING_PAGE","ASSIGN_EMBED_PAGE_ADMIN_POPUP_RESET","ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_ENABLED","ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LOADING","ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LECTURE_ID","ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_PREVIEW","ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_URL","ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_HOURS","ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_MINUTES","ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_SECONDS","ASSIGN_EMBED_PAGE_ADMIN_POPUP_URL_CHECK","ASSIGN_EMBED_PAGE_ADMIN_POPUP_DURATION_CHECK","ASSIGN_DOCUMENTATION_ADMIN_POPUP_RESET","ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_ENABLED","ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LOADING","ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LECTURE_ID","ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_URL","ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_TITLE","ASSIGN_DOCUMENTATION_ADMIN_POPUP_URL_CHECK","ASSIGN_DOCUMENTATION_ADMIN_POPUP_TITLE_CHECK","ASSIGN_COURSE_ADMIN_POPUP_RESET","ASSIGN_COURSE_ADMIN_POPUP_SET_ENABLED","ASSIGN_COURSE_ADMIN_POPUP_SET_LOADING","ASSIGN_COURSE_ADMIN_POPUP_SET_USER_ID","ASSIGN_COURSE_ADMIN_POPUP_SET_VOUCHER_ID","ASSIGN_COURSE_ADMIN_POPUP_SET_COURSES","ASSIGN_COURSE_ADMIN_POPUP_ADD_COURSES","ASSIGN_COURSE_ADMIN_POPUP_ADD_SELECTED_COURSE","ASSIGN_COURSE_ADMIN_POPUP_SET_COURSE_LOADING","ASSIGN_COURSE_ADMIN_POPUP_SET_SEARCH_VALUE","ASSIGN_COURSE_ADMIN_POPUP_SET_HAS_NEXT","ASSIGN_COURSE_ADMIN_POPUP_SET_PAGING_PAGE","ASSIGN_USER_ADMIN_POPUP_RESET","ASSIGN_USER_ADMIN_POPUP_SET_ENABLED","ASSIGN_USER_ADMIN_POPUP_SET_LOADING","ASSIGN_USER_ADMIN_POPUP_SET_COURSE_ID","ASSIGN_USER_ADMIN_POPUP_SET_USERS","ASSIGN_USER_ADMIN_POPUP_ADD_USERS","ASSIGN_USER_ADMIN_POPUP_ADD_SELECTED_USER","ASSIGN_USER_ADMIN_POPUP_SET_USER_LOADING","ASSIGN_USER_ADMIN_POPUP_SET_SEARCH_VALUE","ASSIGN_USER_ADMIN_POPUP_SET_HAS_NEXT","ASSIGN_USER_ADMIN_POPUP_SET_PAGING_PAGE","ASSIGN_CERTIFICATE_ADMIN_POPUP_RESET","ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_ENABLED","ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_LOADING","ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_USER_ID","ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSES","ASSIGN_CERTIFICATE_ADMIN_POPUP_ADD_COURSES","ASSIGN_CERTIFICATE_ADMIN_POPUP_ADD_SELECTED_COURSE","ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSE_LOADING","ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_SEARCH_VALUE","ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_HAS_NEXT","ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_PAGING_PAGE","SURVEY_ADMIN_POPUP_RESET","SURVEY_ADMIN_POPUP_SET_ENABLED","SURVEY_ADMIN_POPUP_SET_LOADING","SURVEY_ADMIN_POPUP_SET_ACTION_LOADING","SURVEY_ADMIN_POPUP_SET_POPUP_TITLE","SURVEY_ADMIN_POPUP_SET_SURVEY_ID","SURVEY_ADMIN_POPUP_SET_RESULTS","HOME_PANEL_SET_CATEGORIES_LOADING","HOME_PANEL_SET_CATEGORIES","HOME_PANEL_SET_SELECTED_CATEGORY_ID","HOME_PANEL_SET_COURSES_LOADING","HOME_PANEL_SET_COURSES","HOME_PANEL_ADD_COURSES","HOME_PANEL_SET_CURRENT_PAGE","HOME_PANEL_SET_HAS_NEXT","CATEGORY_PANEL_SET_LOADING","CATEGORY_PANEL_SET_CATEGORY","PREVIEW_PANEL_SET_LOADING","PREVIEW_PANEL_SET_COURSE","PREVIEW_PANEL_TOGGLE_SECTION","PREVIEW_PANEL_TOGGLE_EXTEND_SECTIONS","PREVIEW_PANEL_INTERVIEW_POPUP_SET_ENABLED","PREVIEW_PANEL_INTERVIEW_POPUP_SET_PDF_STATUS","DASHBOARD_PANEL_SET_COURSES_LOADING","DASHBOARD_PANEL_SET_COURSES","DASHBOARD_PANEL_ADD_COURSE","DASHBOARD_PANEL_SET_CERTIFICATES_LOADING","DASHBOARD_PANEL_SET_CERTIFICATES","PREFERENCE_PANEL_SET_INFORMATIONS_LOADING","PREFERENCE_PANEL_SET_SECURITY_LOADING","PREFERENCE_PANEL_SET_SESSION_LOADING","PREFERENCE_PANEL_SET_SESSION_ACTION_LOADING","PREFERENCE_PANEL_SET_INFORMATIONS","PREFERENCE_PANEL_SET_CONFIRMATION_EMAIL_LOADING","PREFERENCE_PANEL_SET_CONFIRMATION_EMAIL_STATUS","PREFERENCE_PANEL_SET_EMAIL","PREFERENCE_PANEL_SET_FIRSTNAME","PREFERENCE_PANEL_SET_LASTNAME","PREFERENCE_PANEL_SET_PHONE","PREFERENCE_PANEL_SET_COMPANY","PREFERENCE_PANEL_HAS_CURRENT_PASSWORD","PREFERENCE_PANEL_SET_CURRENT_PASSWORD","PREFERENCE_PANEL_SET_NEW_PASSWORD","PREFERENCE_PANEL_SET_RENEW_PASSWORD","PREFERENCE_PANEL_SET_SESSIONS","PREFERENCE_PANEL_DELETE_SESSION","PREFERENCE_PANEL_FIRSTNAME_CHECK","PREFERENCE_PANEL_LASTNAME_CHECK","PREFERENCE_PANEL_PHONE_CHECK","PREFERENCE_PANEL_COMPANY_CHECK","PREFERENCE_PANEL_CURRENT_PASSWORD_CHECK","PREFERENCE_PANEL_NEW_PASSWORD_CHECK","PREFERENCE_PANEL_RENEW_PASSWORD_CHECK","PREFERENCE_PANEL_SET_PICTURE_LOADING","PREFERENCE_PANEL_SET_PICTURE","LECTURE_PANEL_RESET","LECTURE_PANEL_SET_MENU_LOADING","LECTURE_PANEL_SET_LECTURE_LOADING","LECTURE_PANEL_SET_CREATING_LECTURE_LOADING","LECTURE_PANEL_SET_MENU","LECTURE_PANEL_SET_MENU_SECTIONS","LECTURE_PANEL_SET_LECTURE","LECTURE_PANEL_SET_MENU_LECTURES","LECTURE_PANEL_SET_CURRENT_LECTURE","LECTURE_PANEL_TOGGLE_SECTION","LECTURE_PANEL_SET_LECTURE_AS_COMPLETED","LECTURE_PANEL_SET_LECTURE_AS_UNLOCKED","LECTURE_PANEL_SET_LECTURE_AS_FREE","LECTURE_PANEL_SET_CURRENT_VIDEO_ID","LECTURE_PANEL_SURVEY_SET_STEP","LECTURE_PANEL_SURVEY_SET_LOADING","LECTURE_PANEL_SURVEY_SET_QUESTION_LOADING","LECTURE_PANEL_SURVEY_SET_ANSWER_LOADING","LECTURE_PANEL_SURVEY_SET_SURVEY","LECTURE_PANEL_SURVEY_SET_CURRENT_QUESTION_ID","LECTURE_PANEL_SURVEY_TOGGLE_SELECT_ANSWER","LECTURE_PANEL_SURVEY_SET_QUESTION_DONE","LECTURE_PANEL_SURVEY_SET_RESULTS","LECTURE_PANEL_SURVEY_DELETE_QUESTION","LECTURE_PANEL_SURVEY_SET_ANSWER_CORRECT","LECTURE_PANEL_SURVEY_ADD_ANSWER","LECTURE_PANEL_SURVEY_DELETE_ANSWER","LECTURE_PANEL_SURVEY_SET_ANSWERS","LECTURE_PANEL_SURVEY_SET_QUESTIONS","LECTURE_PANEL_SURVEY_ADD_QUESTION","LECTURE_PANEL_SURVEY_SET_QUESTION_REQUIRED","LECTURE_PANEL_SURVEY_SET_CREATING_LOADING","LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS","LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS_LOADING","LECTURE_PANEL_SURVEY_SET_ADMIN_RESULT_LOADING","LECTURE_PANEL_SURVEY_DELETE_ADMIN_RESULT","LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_UPDATE","LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_TITLE","LECTURE_PANEL_ADMIN_SET_NEW_SECTION_UPDATE","LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE","LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE_STATUS","LECTURE_PANEL_ADMIN_SET_EDITING_DESCRIPTION_STATUS","LECTURE_PANEL_ADMIN_SET_LECTURE_TITLE","LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE","LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_DESCRIPTION","LECTURE_PANEL_ADMIN_SET_LECTURE_DESCRIPTION","LECTURE_PANEL_ADMIN_SET_MENU_VISIBLE","LECTURE_PANEL_ADMIN_SET_MENU_LECTURE_TITLE","LECTURE_PANEL_ADMIN_ADD_MENU_SECTION","LECTURE_PANEL_ADMIN_DELETE_MENU_SECTION","LECTURE_PANEL_ADMIN_ADD_MENU_LECTURE","LECTURE_PANEL_ADMIN_DELETE_MENU_LECTURE","LECTURE_PANEL_ADMIN_SET_SECTION_TITLE","LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE_LOADING","LECTURE_PANEL_ADMIN_ADD_EMBED_PAGE","LECTURE_PANEL_ADMIN_DELETE_EMBED_PAGE","LECTURE_PANEL_ADMIN_ADD_DOCUMENTATION","LECTURE_PANEL_ADMIN_DELETE_DOCUMENTATION","LECTURE_PANEL_ADMIN_SET_DOCUMENTATIONS","LECTURE_PANEL_ADMIN_ADD_DOWNLOAD_FILE","LECTURE_PANEL_ADMIN_DELETE_DOWNLOAD_FILE","LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILES","LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILE_TITLE","LECTURE_PANEL_ADMIN_ADD_ADDITIONAL","LECTURE_PANEL_ADMIN_DELETE_ADDITIONAL","LECTURE_PANEL_ADMIN_SET_ADDITIONALS","LECTURE_PANEL_ADMIN_ADD_VIDEO","LECTURE_PANEL_ADMIN_DELETE_VIDEO","LECTURE_PANEL_ADMIN_SECTION_TITLE_CHECK","LECTURE_PANEL_ADMIN_NEW_SECTION_TITLE_CHECK","LECTURE_PANEL_ADMIN_LECTURE_TITLE_CHECK","LECTURE_PANEL_ADMIN_LECTURE_DESCRIPTION_CHECK","USER_ADMIN_PANEL_SET_LOADING","USER_ADMIN_PANEL_SET_HAS_NEXT","USER_ADMIN_PANEL_SET_PAGING_PAGE","USER_ADMIN_PANEL_SET_USERS","USER_ADMIN_PANEL_ADD_USERS","USER_ADMIN_PANEL_DELETE_USER","USER_ADMIN_PANEL_UPDATE_USER","USER_ADMIN_PANEL_UPDATE_USER_STATUS","USER_ADMIN_PANEL_UPDATE_USER_PICTURE","USER_ADMIN_PANEL_SET_SEARCH_VALUE","USER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY","COURSE_ADMIN_PANEL_SET_LOADING","COURSE_ADMIN_PANEL_SET_HAS_NEXT","COURSE_ADMIN_PANEL_SET_PAGING_PAGE","COURSE_ADMIN_PANEL_SET_COURSES","COURSE_ADMIN_PANEL_ADD_COURSES","COURSE_ADMIN_PANEL_DELETE_COURSE","COURSE_ADMIN_PANEL_UPDATE_COURSE","COURSE_ADMIN_PANEL_UPDATE_COURSE_STATUS","COURSE_ADMIN_PANEL_UPDATE_COURSE_MODEL","COURSE_ADMIN_PANEL_UPDATE_COURSE_PICTURE","COURSE_ADMIN_PANEL_SET_SEARCH_VALUE","COURSE_ADMIN_PANEL_ADD_USER_COURSE","COURSE_ADMIN_PANEL_DELETE_USER_COURSE","CATEGORY_ADMIN_PANEL_SET_LOADING","CATEGORY_ADMIN_PANEL_SET_CATEGORIES","CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY_PICTURE","CATEGORY_ADMIN_PANEL_ADD_CATEGORY","CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY","CATEGORY_ADMIN_PANEL_DELETE_CATEGORY","VOUCHER_ADMIN_PANEL_SET_LOADING","VOUCHER_ADMIN_PANEL_SET_HAS_NEXT","VOUCHER_ADMIN_PANEL_SET_PAGING_PAGE","VOUCHER_ADMIN_PANEL_SET_SEARCH_VALUE","VOUCHER_ADMIN_PANEL_SET_VOUCHERS","VOUCHER_ADMIN_PANEL_ADD_VOUCHERS","VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING","VOUCHER_ADMIN_PANEL_SET_VOUCHER_END_DATE","VOUCHER_ADMIN_PANEL_DELETE_VOUCHER","VOUCHER_ADMIN_PANEL_UPDATE_VOUCHER","VOUCHER_ADMIN_PANEL_ADD_COURSE_VOUCHER","VOUCHER_ADMIN_PANEL_DELETE_COURSE_VOUCHER","VOUCHER_ADMIN_PANEL_DELETE_USER_VOUCHER","TRACER_ADMIN_PANEL_SET_LOADING","TRACER_ADMIN_PANEL_SET_TRACERS","TRACER_ADMIN_PANEL_SET_SEARCH_VALUE","TRACER_ADMIN_PANEL_SET_TRACER_LOADING","TRACER_ADMIN_PANEL_SET_TRACER_CERTIFICATE_RECEIVED","TRACER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY","defaultState","isLoading","courses","pagingPage","hasNext","searchValue","users","showActiveUsersOnly","isCoursesLoading","isCertificatesLoading","certificates","LECTURE_SURVEY_STEP","menu","isMenuLoading","lecture","isLectureLoading","currentVideoId","currentLectureId","selectedSectionId","isMenuVisible","surveyStep","survey","currentQuestionId","isSurveyLoading","surveyResults","isQuestionCreating","adminSurveyResults","isAdminSurveyResultsLoading","onInputFocus","updateExistingSection","updateNewSection","isEditing","title","isValid","isSectionTitleValid","isEditingTitle","editingLectureTitle","isEditingLectureTitleValid","isEditingDescription","editingLectureDescription","isEditingLectureDescriptionValid","isCreatingLectureLoading","panel","isPanelLoading","user","email","firstname","lastname","phone","company","isConfirmedAccount","isConfirmationEmailLoading","isConfirmationEmailSent","isFirstnameValid","isLastnameValid","isPhoneValid","isCompanyValid","isInformationsLoading","hasCurrentPassword","currentPassword","newPassword","renewPassword","isCurrentPasswordValid","isNewPasswordValid","isRenewPasswordValid","isSecurityLoading","isSessionLoading","sessions","isSessionActionLoading","isPictureLoading","photoLink","isResultVisible","mobileMenu","searchingValue","searchingResults","isSearchingLoading","categories","isCategoriesLoading","loaded","popupEnabled","lectureId","files","courseId","selectedCategories","isAddNewLoading","sectionId","lectures","selectedLectures","sections","selectedSections","videos","selectedVideos","ADMIN_PANEL","ADMIN_USER_MENU_TYPE","ADMIN_USER_MENU","id","disabled","ADMIN_COURSE_MENU_TYPE","ADMIN_COURSE_MENU","ADMIN_CATEGORY_MENU_TYPE","ADMIN_CATEGORY_MENU","ADMIN_VOUCHER_MENU_TYPE","ADMIN_VOUCHER_MENU","DURATION_TYPE","DURATION_LBL","value","label","LANGUAGE_LBL","LECTURE_TYPE","VIDEO","EMBEDPAGE","ADDITIONAL","DOWNLOAD","DOCUMENTATION","SURVEY","landingZero","int","convertStringForUrl","name","Slug","createNotification","message","type","store","addNotification","insert","container","animationIn","animationOut","dismiss","duration","onScreen","pauseOnHover","isValidEmail","test","isValidPassword","password","convertStringToDate","str","date","Date","getDate","getMonth","getFullYear","convertStringToTime","getHours","getMinutes","convertSecondToTime","seconds","hour","Math","floor","minute","second","convertSecondToRemainingTime","convertSecondToAverageTime","timeRemainingForNow","currentDate","now","diffInMilliSeconds","abs","days","hours","isExpired","i18n","t","convertHourToDuration","time","convertDurationToHour","durationType","totalExpiryHour","popupTitle","showAdvertisement","picture","description","previewVideo","unitCompleteLock","expiryDurationValue","expiryDurationUnit","enabled","model","status","price","seoKeyword","locked","isTitleValid","isDescriptionValid","isPreviewVideoValid","isExpiryDurationValid","isPriceValid","activeUsers","lang","otherLangId","isSpecificationsLoading","isSpecificationActionLoading","objectives","publics","prerequisites","newObjective","newPublic","newPrerequisite","isNewObjectiveValid","isNewPublicValid","isNewPrerequisiteValid","isUsersLoading","userSearchValue","url","isUrlValid","minutes","isDurationValid","preview","userId","facebook","microsoft","confirmed","isEmailValid","surveys","isSurveysLoading","jobStatus","saved","courseTitle","completion","interviewId","SIGN_POPUP_POPUP_TYPE","REGISTER_POPUP_STEP","emailHelperText","isPasswordValid","passwordHelperText","registerStep","isEmailFree","voucherCode","isVoucherCodeValid","voucherHelperText","vouchers","category","selectedCategoryId","currentPage","course","isAllSectionExtended","isNameValid","isFormLoading","isFormSent","interviewPopupEnabled","pdfStatus","categoryId","titleEN","isTitleENValid","voucherId","selectedCourses","selectedUsers","code","startDate","endDate","setDate","placeAvailable","isDatesValid","isPlaceAvailableValid","isActionLoading","surveyId","results","tracers","rootReducer","combineReducers","state","action","payload","isVisible","isLoaded","signPopup","step","text","voucherPopup","isEnabled","previewPopup","interviewPopup","inboundPopup","console","log","userAdminPopup","map","i","undefined","enable","link","c","expireDate","filter","certificate","s","courseAdminPopup","expiryDurationHour","lbl","k","find","l","objective","public","prerequisite","u","userCourseId","concat","categoryAdminPopup","voucherAdminPopup","voucher","placesAvailable","userVoucherId","assignAdditionalAdminPopup","file","f","progress","error","assignFileAdminPopup","resourceId","assignCategoryAdminPopup","assignSectionAdminPopup","assignLectureAdminPopup","assignVideoAdminPopup","guid","v","AssignEmbedPageAdminPopup","assignDocumentationAdminPopup","assignCourseAdminPopup","assignUserAdminPopup","assignCertificateAdminPopup","surveyAdminPopup","homePanel","categoryPanel","previewPanel","includes","extend","section","dashboardPanel","preferencePanel","isSent","hasCurrent","lecturePanel","parseInt","open","isDone","isAvailable","free","isFree","embedPages","embedPage","ep","documentations","documentation","d","downloads","download","pictures","video","questionId","surveyQuestion","q","answerId","surveyAnswer","a","selectedAnswers","done","correct","answer","answers","questions","question","required","r","userAdminPanel","courseAdminPanel","activesUsers","categoryAdminPanel","voucherAdminPanel","voucherCourses","voucherCourse","vc","courseVoucherId","usersVoucher","tracerAdminPanel","certificateReceived","composedEnhancer","composeWithDevTools","applyMiddleware","thunk","createStore","reducers","Boolean","window","location","hostname","match","UAData","Parser","UAParser","getResult","AuthenticationService","BROWSER_ID","SetAuthenticationStorage","accessToken","expireIn","refreshToken","localStorage","setItem","setTime","getTime","IsLogged","getItem","SetUserData","JSON","stringify","SetToken","token","Login","Logout","Axios","post","finally","ClearSessionLocaleStorage","href","GetToken","RefreshToken","fetch","process","method","headers","body","request","json","response","GetSession","parse","GetRefreshToken","IsAdmin","role","IsSuperAdmin","GetDeviceInformations","browser","os","major","version","GetBrowserId","FingerprintJS","load","get","visitorId","removeItem","defaults","baseURL","interceptors","use","config","then","data","FormData","Promise","reject","BackgroundPopup","props","nodeRef","useRef","CSSTransition","in","mountOnEnter","unmountOnExit","timeout","classNames","ref","onClick","className","level","translucid","PREFERENCE_PANEL","MOBILE_MENU_TYPE","MENU","dynamicSubCategories","subCategories","PREFERENCES_MENU","ADMIN_MENU","SEARCH_RESULT_TYPE","loaderParams","speed","backgroundColor","foregroundColor","BasicLoader","width","height","radius","x","y","rx","ry","MenuItem","dispatch","useDispatch","menuStore","useSelector","useTranslation","to","MenuList","HeaderResultItemLoader","COURSE_STATUS","HeaderResultItem","result","dangerouslySetInnerHTML","__html","replace","HeaderResultList","length","item","loadCategories","language","confirmAccount","put","catch","resources","fr","translation","en","detector","initReactI18next","init","lng","navigator","split","fallbackLng","keySeparator","interpolation","escapeValue","_circle","_circle2","_circle3","Header","fixed","useState","selectedLanguage","setSelectedLanguage","connectedUser","searchInputTimer","setSearchInputTimer","useEffect","changeLanguage","animation","menu4","reverse","searchToX","placeholder","onChange","e","clearTimeout","target","setTimeout","params","loadSearchBarResult","src","Profile","alt","_excluded","_extends","Object","assign","arguments","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgLoading","_ref","svgRef","titleId","viewBox","xmlns","fill","cx","cy","attributeName","from","begin","dur","values","calcMode","repeatCount","fillOpacity","_g","ForwardRef","Button","buttonRef","buttonHeight","setButtonHeight","currentLoading","setCurrentLoading","setTitle","isConfirmationInProgress","setConfirmationInProgress","confirmationDelay","setConfirmationDelay","isConfirmed","setConfirmed","callback","delay","isRunning","savedCallback","current","setInterval","clearInterval","useInterval","newTime","offsetHeight","style","btnStyle","confirmationRequired","children","MobileMenu","options","PopupHOC","WrappedComponent","onClose","getAttribute","MenuAdminPopup","dispatchType","selectedMenu","ExtraComponent","AdminPopupHOC","subTitle","storeName","menuDispatchType","onBottom","HOC","onBottomStore","containerRef","useBottomScrollListener","AdditionalItemAssignAdditionalAdminPopup","assignAdditionalAdminStore","onDrop","useCallback","acceptedFiles","nbUploadedFiles","iFile","size","uploadId","reader","FileReader","onload","content","readAsDataURL","formData","append","onUploadProgress","total","uploadAdditionalAdminPopup","useDropzone","accept","getRootProps","getInputProps","isDragActive","InputHOC","isPasswordHidden","setPasswordHidden","typingTimer","setTypingTimer","passwordToggle","inputRef","isCalendarInput","onTypingDelay","autoComplete","autocomplete","maxLength","success","helperText","loadCategoryAdmin","getTreeFromFlatData","flatData","getKey","getParentKey","parentCategoryid","rootKey","checkCategoryInformations","categoryAdminStore","openCategoryAdminPopup","updateCourseCategoryPositionAdmin","courseCategoryId","position","CategoryItemAssignCategoryAdminPopup","isSelected","assignCategoryAdminStore","NoImage","Message","CategoryListAssignCategoryAdminPopup","searchResults","items","setSearchResults","checkUserInformations","userAdminStore","isValidPhoneNumber","openUserAdminPopup","unlinkSocialAdminPopup","confirmUserAdminPopup","loadUserCoursesAdminPopup","updateExpireDateUserCourseAdminPopup","updateUnitCompleteLockUserCourseAdminPopup","deleteUserCourseAdminPopup","delete","addCertificateAdminPopup","SPECIFICATION_TYPE","checkCourseInformations","courseAdminStore","openCourseAdminPopup","updateCourseModelAdminPopup","isModel","addSpecificationCourseAdminPopup","loadUsersCourseAdminPopup","pageIndex","paging","CourseItemAssignCertificateAdminPopup","nbLecturesDone","nbLectures","CourseListAssignCertificateAdminPopup","assignCertificateAdminStore","loadCourseAdminPopup","addCourseUserAdminPopup","userCourse","CourseItemAssignCourseAdminPopup","assignCourseAdminStore","CourseListAssignCourseAdminPopup","checkInformations","assignDocumentationAdminStore","onSubmit","preventDefault","addDocumentationAdminPopup","updateSectionTitleAdmin","deleteSectionAdmin","deleteResource","updateResourcePositionAdmin","LectureEmbedPage","page","admin","iFrameRef","rel","elem","requestFullscreen","webkitRequestFullscreen","msRequestFullscreen","assignEmbedPageAdminStore","secondDuration","substring","addEmbedPageAdminPopup","FileItemAssignFileAdminPopup","updateFileNameAdminPopup","assignFileAdminStore","uploadFileAdminPopup","loadLecturesAdminPopup","createNewLectureAdminPopup","isSurvey","duplicateLectureToSectionAdminPopup","LectureItemAssignLectureAdminPopup","assignLectureAdminStore","lectureStore","history","useHistory","onDuplicate","courseIdModel","sectionName","coursePicture","totalTime","nbVideos","LectureListAssignLectureAdminPopup","createNewLecture","newLectureId","loadSectionsAdminPopup","SectionItemAssignSectionAdminPopup","assignSectionAdminStore","courseIsModel","SectionListAssignSectionAdminPopup","loadUsersAdminPopup","UserAdminPanelItemLoader","UserItemAssignUserAdminPopup","assignUserAdminStore","business","Facebook","Microsoft","formationAcademy","Key","creationDate","UserListAssignUserAdminPopup","loadVideosAdminPopup","PlayerFetchLoader","fetchSetup","context","callbacks","stats","trequest","performance","retry","targetURL","initParams","headersObj","rangeEnd","rangeStart","String","Headers","Request","fetchPromise","ok","tfirst","max","responseType","arrayBuffer","onError","responseData","len","tload","byteLength","onSuccess","VideoPlayer","disableKeyEvent","autoPlay","disableHLS","playerContainerRef","progressBarRef","player","setPlayer","isPlaying","setPlaying","setLoading","percentPlayed","setPercentPlayed","percentLoaded","setPercentLoaded","volume","setVolume","volumeIcon","setVolumeIcon","remainingDuration","setRemainingDuration","progressCursorWidth","setProgressCursor","isOverlayVisible","setOverlayVisible","overlayIcon","setOverlayIcon","isFullScreen","setFullScreen","isConflict","setConflict","videoHeight","setVideoHeight","mouseMovingTimer","setMouseMovingTimer","cursorMoving","setCursorMoving","setSpeed","keyEffect","isMobile","userAgent","document","addEventListener","onFullScreenModeChange","onKeyDown","onCursorMoving","removeEventListener","onResize","getBoundingClientRect","fullscreenElement","onShowOverlay","overlay","updateVolume","onToggleVolume","onToggleFullScreen","exitFullscreen","webkitExitFullscreen","msExitFullscreen","onForward","seekTo","getCurrentTime","onBackward","onProgressCursorMove","clientX","left","onTogglePlaying","onDoubleClick","go","playing","controls","onProgress","played","getDuration","playedSeconds","_","onBuffer","onBufferEnd","onReady","forceHLS","hlsOptions","loader","hlsVersion","playsinline","playbackRate","Number","isNaN","axis","ymin","ymax","yreverse","onPointerEnter","onPointerLeave","marginLeft","index","VideoItemAssignVideoAdminPopup","assignVideoAdminStore","playerEnabled","setPlayerEnabled","videoGuid","VideoListAssignVideoAdminPopup","CourseItemCategoryAdminPopup","CourseListCategoryAdminPopup","onPositionUpdate","movedItem","newIndex","chosenClass","list","setList","onEnd","CourseCategoryAdminPopup","OverviewCategoryAdminPopup","filePickerRef","seoKeywords","updateCategoryAdminPopup","createCategoryAdminPopup","backgroundImage","click","display","onloadend","uploadCategoryPictureAdminPopup","tags","CategoryItemCourseAdminPopup","CategoryListCourseAdminPopup","SpecificationListCourseAdminPopup","icon","specificationId","DetailedInformationCourseAdminPopup","loadCategoriesCourseAdminPopup","marginTop","MultipleStateSwitch","choices","onSelect","selectedId","choice","SwitchButton","checked","uncheckedIcon","checkedIcon","offColor","isWhite","onColor","offHandleColor","handleDiameter","zoom","OverviewCourseAdminPopup","isHiddenModelButton","setHiddenModelButton","otherLanguageLinkedCourse","updateCourseAdminPopup","createCourseAdminPopup","uploadCoursePictureAdminPopup","option","isDisabled","nbActiveUsers","nbInactiveUsers","updateCourseLock","Datepicker","component","selected","selectsStart","selectsEnd","minDate","registerLocale","customInput","calendarClassName","locale","dateFormat","UserItemCourseAdminPopup","UserListCourseAdminPopup","UserCourseAdminPopup","updateStatusCourseAdminPopup","LectureSurveyResultAnswer","isCorrectAnswer","LectureSurveyResultQuestion","nb","openSurveyAdminPopup","surveyAdminStore","percentage","finalScore","finalScoreBase","diameter","background","stroke","wrong","userSurveyId","CertificateUserItemAdminPopup","certificateId","CertificateUserListAdminPopup","CertificateUserAdminPopup","CourseUserItemAdminPopup","CourseUserListAdminPopup","CourseUserAdminPopup","preferredCountries","searchNotFound","enableSearch","OverviewUserAdminPopup","isHiddenConfirmButton","setHiddenConfirmButton","updateUserAdminPopup","createUserAdminPopup","uploadUserPictureAdminPopup","PasswordStrength","strength","setStrength","passwordForce","score","SecurityUserAdminPopup","updatePasswordUserAdminPopup","SurveyUserItemAdminPopup","SurveyUserListAdminPopup","SurveyUserAdminPopup","checkVoucherInformations","voucherAdminStore","openVoucherAdminPopup","loadUserVoucherAdminPopup","CourseVoucherItemAdminPopup","courseVoucher","CourseVoucherListAdminPopup","CourseVoucherAdminPopup","OverviewVoucherAdminPopup","updateVoucherAdminPopup","createVoucherAdminPopup","UserItemVoucherAdminPopup","userVoucher","UserListVoucherAdminPopup","UserVoucherAdminPopup","hubspotParams","fields","hbToken","Cookies","hutk","isRegistration","push","showInboundPopup","downloadInboundCourse","JOB_STATUS","inboundStore","INTERVIEW","InterviewPopup","interviewStore","interview","previewStore","videoResourceId","registerGeneralChecking","signStore","registerPasswordChecking","registerExtraStepChecking","SignPopupHOC","SubTitleComponent","appId","cssClass","textButton","authData","onFailure","clientId","authCallback","err","alert","connectWithMicrosoft","MicrosoftIcon","connectWithEmail","RegisterPopupGeneral","emailInputTimer","setEmailInputTimer","registerEmailFree","RegisterPopupPassword","RegisterPopupExtra","registerNextStep","registerPreviousStep","resetPopupSendPassword","VoucherAddedItem","VoucherAddedList","voucherStore","uniqueVoucher","hidePopup","VoucherForm","isVoucherValid","toUpperCase","PopupManager","previewPanelStore","AssignUserAdminPopup","Footer","homePanelLoadCoursesCategory","HomeCategoryItem","HomeCategoryList","homeStore","CourseItem","HomeCourseList","reloadMore","setReloadMore","onScroll","scrollY","screen","offsetTop","HomeTabbar","SvgArrow1","transform","strokeWidth","SvgArrow2","HomePanel","objectBookRef","objectMarkerRef","objectCubeRef","objectHandRef","objectBatteryRef","objectRulerRef","velocities","min","random","generateArrayRandomValue","onMouseMoving","HalfScreenWidth","innerWidth","HalfScreenHeight","innerHeight","ratioScreenX","screenX","ratioScreenY","screenY","Helmet","categoryPanelLoadCategory","Error","CategoryItem","CategoryPanel","categoryStore","subcategories","join","backgroundSize","previewPanelLoadCourse","PREVIEW_COURSE_TYPE","PREVIEW_COURSE_PERIOD","PreviewMoreInformationButton","jsPDF","API","events","addFileToVFS","addFont","CoursePreviewPDF","doc","defineSpecsHeight","specs","CURRENT_Y","setFont","setFontSize","forEach","o","getTextDimensions","fontSize","maxWidth","MAX_WIDTH","h","writeSpecs","MARGIN","addImage","splitTextToSize","getLectureHeight","savePostion","lectureTitleHeight","objectivesHeight","finalHeight","newPage","addPage","addFooter","totalPages","internal","getNumberOfPages","setPage","Logo","PAGE_WIDTH","PAGE_HEIGHT","align","pageSize","getWidth","getHeight","positionObjectivesContainerTop","Check","Star","Bag","setFillColor","roundedRect","descriptionHeight","sectionTitleDimensions","rect","setDrawColor","lineWidth","w","line","totalMinutesSection","reduce","b","lectureHeight","startPosition","imageHeight","Banner","ContactBtn","save","PreviewMoreInformation","courseType","setCourseType","coursePeriod","setCoursePeriod","onSelectCourseType","onSelectCoursePeriod","manualPDF","discount","Intl","NumberFormat","format","calculatePrice","PreviewSpecification","descriptionRef","seeMoreAvailable","setSeeMoreAvailable","extended","setExtended","scrollHeight","PreviewLecture","inboundMode","PreviewSection","isExtended","PreviewDetail","PreviewPanel","isVisibleVideo","setVisibleVideo","playerRef","frenchLanguageLinkedCourse","englishCourseId","englishLanguageLinkedCourse","frenchCourseId","youtube","playerVars","IsLoggedHOC","mustBeLogged","DashboardCertificateItem","setLineWidth","setTextColor","Signature","durationHour","issueDate","Reunit","generatePDF","DashboardCertificateList","dashboardStore","DashboardCourseItem","progression","DashboardCourseList","PreferenceInformation","preferenceStore","updatePreferenceInformation","PreferenceMenu","warning","PreferencePhoto","uploadPreferencePhoto","PreferenceSecuritySessionItem","session","browserName","osName","isCurrent","latestUse","sessionId","PreferenceSecuritySession","PreferenceSecurity","hasPassword","updatePreferencePassword","loadLectureMenu","lastLectureId","some","loadLecture","markLectureAsDone","LectureAdditionalItem","image","LectureAdditional","LectureAddResource","onlyDelete","onDeleteLecture","nextLecture","flat","LectureDocumentation","LectureDownloadFile","LectureDefaultContent","isLast","groupedMainResources","setGroupedMainResources","lectureIndex","findIndex","sort","onDone","nextLectureId","forceFallback","LectureDescription","nextQuestionSurvey","userCourseSurveyId","answersId","nextQuestionId","addNewAnswerSurvey","LectureSurveyAdminAnswer","LectureSurveyAdminNewAnswer","LectureSurveyAdminQuestion","updateQuestionTitleSurvey","updateQuestionSurveyRequiredStatus","LectureSurveyAdminResult","LectureSurveyAdmin","questionHeightSize","SurveyAdminPDF","LectureSurveyResult","LectureSurveyRunAnswer","currentQuestion","LectureSurveyRun","positionCurrentQuestion","isLastQuestion","onNext","ignore","LectureSurveyStart","LectureSurvey","LectureSurveyDescription","marginBottom","LectureContent","updateLectureTitle","updateLectureTitleAdmin","LectureItemContent","LectureItem","LectureSection","isUnavailable","every","updateTitle","onDeleteSection","tagName","parentNode","group","itemId","newSectionId","parentId","loadCourseAdmin","LectureMenu","sectionTitleInputRef","sectionPanelRef","rightMarginSectionPanel","setRightMarginSectionPanel","focus","onAddSection","maxLevel","right","LectureHeader","ScrollToTop","pathname","useLocation","scrollTo","EmailConfirmationBanner","setSentStatus","withRouter","resetPopupUpdatePassword","AdminHeader","IsAdminHOC","AdminPanelHOC","CategoryItemAdminTree","treeData","isVirtualized","rowHeight","generateNodeProps","node","onMoveNode","parentCategoryId","updateCategoryPositionAdmin","treeIndex","nextParentNode","hand","CourseAdminItemPeople","people","firstFour","slice","extraUsers","CourseAdminItem","CourseAdminList","panelRef","loadTracerAdmin","ShowOnlyUsers","codes","codesStr","TracerAdminItem","tracer","userOnline","lastConnection","sectionTitle","lectureTitle","TracerAdminList","tracerAdminStore","coursesCode","setCoursesCode","flex","isMulti","cacheOptions","defaultOptions","loadOptions","inputValue","resolve","loadUserAdmin","UserAdminItem","UserAdminList","loadVoucherAdmin","VoucherAdminItem","uv","updateEndDateVoucherAdminPopup","placesLeft","VoucherAdminList","TermsPanel","PrivacyPanel","TEAM","linkedin","Radhouen","Yassine","Saber","TeamItem","member","TeamPanel","MainViewFive","mainViewRef","mainTitlemainViewRef","overlayTitlemainViewRef","MainViewFour","MainViewOne","MainViewThree","MainViewTwo","SolutionFixedView","mainIllustrationRef","objectClockRef","objectGamepadRef","objectKeyRef","objectSpiral1Ref","preserveAspectRatio","smooth","SolutionInterviewItem","comment","TransitionViewFour","transitionViewRef","transitionViewPathRef","transitionViewAdvantage1Ref","transitionViewAdvantage2Ref","transitionViewAdvantage3Ref","mainPanelRef","x1","y1","x2","y2","offset","stopColor","strokeLinecap","TransitionViewOne","TransitionViewThree","TransitionViewTwo","SolutionPanel","VIEWS","scrollableContainerRef","arrowsContainerRef","previousView","setPreviewView","nextView","setNextView","makeAppointmentBtnRef","mainView1Ref","mainTitlemainView1Ref","overlayTitlemainView1Ref","transitionView1Ref","transitionView1PathRef","transitionView1Advantage1Ref","transitionView1Advantage2Ref","transitionView1Advantage3Ref","mainView2Ref","mainTitlemainView2Ref","overlayTitlemainView2Ref","transitionView2Ref","transitionView2PathRef","transitionView2Advantage1Ref","transitionView2Advantage2Ref","transitionView2Advantage3Ref","mainView3Ref","mainTitlemainView3Ref","overlayTitlemainView3Ref","transitionView3Ref","transitionView3PathRef","transitionView3Advantage1Ref","transitionView3Advantage2Ref","transitionView3Advantage3Ref","mainView4Ref","mainTitlemainView4Ref","overlayTitlemainView4Ref","transitionView4Ref","transitionView4PathRef","transitionView4Advantage1Ref","transitionView4Advantage2Ref","transitionView4Advantage3Ref","mainView5Ref","mainTitlemainView5Ref","overlayTitlemainView5Ref","onVerticalScrolling","mainPanelProgress","top","transition1Progress","overflowY","borderRadius","opacity","overlayTitleMainPanelProgress","pow","velocity","scrollTop","pathLength","getTotalLength","strokeDasharray","drawLength","strokeDashoffset","classList","add","subPanel2Progress","transition2Progress","overlayTitleSubPanel2Progress","pathLength2","drawLength2","subPanel3Progress","transition3Progress","overlayTitleSubPanel3Progress","pathLength3","drawLength3","subPanel4Progress","transition4Progress","overlayTitleSubPanel4Progress","pathLength4","drawLength4","subPanel5Progress","overlayTitleSubPanel5Progress","containerId","SitemapPanel","Sitemap","Link","Title","CookiesPopup","acceptedCookies","setAcceptedCookies","confirm","BlogPanel","InboundModelPanel","detailExtended","setDetailExtended","isRegistered","setRegistered","showPopup","onRegister","askAnotherDate","Whistle","Computer","Clock","MS030","ReactDOM","render","StrictMode","path","AdminPanel","exact","DashboardPanel","PreferencePanel","LecturePanel","getElementById","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.5cae1fdd.chunk.js","sourcesContent":["// MENU\r\nexport const MENU_SET_RESULT_VISIBLE = 'MENU_SET_RESULT_VISIBLE';\r\nexport const MENU_SET_SEARCHING_VALUE = 'MENU_SET_SEARCHING_VALUE';\r\nexport const MENU_SET_MOBILE_MENU = 'MENU_SET_MOBILE_MENU';\r\n\r\nexport const MENU_SET_CATEGORIES_LOADING = 'MENU_SET_CATEGORIES_LOADING';\r\nexport const MENU_SET_CATEGORIES = 'MENU_SET_CATEGORIES';\r\n\r\nexport const MENU_SET_SEARCHING_RESULT = 'MENU_SET_SEARCHING_RESULT';\r\nexport const MENU_SET_SEARCHING_LOADING = 'MENU_SET_SEARCHING_LOADING';\r\nexport const MENU_SET_LOADED = 'MENU_SET_LOADED';\r\n\r\n// ------------- //\r\n// *** POPUP *** //\r\n// ------------- //\r\n\r\n// SignPopup\r\nexport const SIGN_POPUP_SET_ENABLED = 'SIGN_POPUP_SET_ENABLED';\r\nexport const SIGN_POPUP_SET_EMAIL = 'SIGN_POPUP_SET_EMAIL';\r\nexport const SIGN_POPUP_SET_PASSWORD = 'SIGN_POPUP_SET_PASSWORD';\r\nexport const SIGN_POPUP_EMAIL_CHECK = 'SIGN_POPUP_EMAIL_CHECK';\r\nexport const SIGN_POPUP_PASSWORD_CHECK = 'SIGN_POPUP_PASSWORD_CHECK';\r\nexport const SIGN_POPUP_SET_LOADING = 'SIGN_POPUP_SET_LOADING';\r\n\r\nexport const SIGN_POPUP_SET_FIRSTNAME = 'SIGN_POPUP_SET_FIRSTNAME';\r\nexport const SIGN_POPUP_SET_LASTNAME = 'SIGN_POPUP_SET_LASTNAME';\r\nexport const SIGN_POPUP_SET_PHONE = 'SIGN_POPUP_SET_PHONE';\r\nexport const SIGN_POPUP_SET_COMPANY = 'SIGN_POPUP_SET_COMPANY';\r\nexport const SIGN_POPUP_FIRSTNAME_CHECK = 'SIGN_POPUP_FIRSTNAME_CHECK';\r\nexport const SIGN_POPUP_LASTNAME_CHECK = 'SIGN_POPUP_LASTNAME_CHECK';\r\nexport const SIGN_POPUP_PHONE_CHECK = 'SIGN_POPUP_PHONE_CHECK';\r\nexport const SIGN_POPUP_COMPANY_CHECK = 'SIGN_POPUP_COMPANY_CHECK';\r\nexport const SIGN_POPUP_SET_REGISTER_STEP = 'SIGN_POPUP_SET_REGISTER_STEP';\r\n\r\nexport const SIGN_POPUP_UPDATE_PASSWORD_SET_NEW_PASSWORD = 'SIGN_POPUP_UPDATE_PASSWORD_SET_NEW_PASSWORD';\r\nexport const SIGN_POPUP_UPDATE_PASSWORD_SET_RENEW_PASSWORD = 'SIGN_POPUP_UPDATE_PASSWORD_SET_RENEW_PASSWORD';\r\nexport const SIGN_POPUP_UPDATE_PASSWORD_NEW_PASSWORD_CHECK = 'SIGN_POPUP_UPDATE_PASSWORD_NEW_PASSWORD_CHECK';\r\nexport const SIGN_POPUP_UPDATE_PASSWORD_RENEW_PASSWORD_CHECK = 'SIGN_POPUP_UPDATE_PASSWORD_RENEW_PASSWORD_CHECK';\r\n\r\n// VoucherPopup\r\nexport const VOUCHER_POPUP_RESET = 'VOUCHER_POPUP_RESET';\r\nexport const VOUCHER_POPUP_SET_ENABLED = 'VOUCHER_POPUP_SET_ENABLED';\r\nexport const VOUCHER_POPUP_SET_LOADING = 'VOUCHER_POPUP_SET_LOADING';\r\nexport const VOUCHER_POPUP_SET_VOUCHERS_CODE = 'VOUCHER_POPUP_SET_VOUCHERS_CODE';\r\nexport const VOUCHER_POPUP_VOUCHER_CODE_CHECK = 'VOUCHER_POPUP_VOUCHER_CODE_CHECK';\r\nexport const VOUCHER_POPUP_SET_VOUCHERS = 'VOUCHER_POPUP_SET_VOUCHERS';\r\n\r\n// PreviewPopup\r\nexport const PREVIEW_POPUP_SET_ENABLED = 'PREVIEW_POPUP_SET_ENABLED';\r\nexport const PREVIEW_POPUP_SET_LOADING = 'PREVIEW_POPUP_SET_LOADING';\r\nexport const PREVIEW_POPUP_SET_LECTURE = 'PREVIEW_POPUP_SET_LECTURE';\r\n\r\n// InterviewPopup\r\nexport const INTERVIEW_POPUP_SET_INTERVIEW_ID = 'INTERVIEW_POPUP_SET_INTERVIEW_ID';\r\n\r\n// InboundPopup\r\nexport const INBOUND_POPUP_SET_ENABLED = 'INBOUND_POPUP_SET_ENABLED';\r\nexport const INBOUND_POPUP_RESET = 'INBOUND_POPUP_RESET'\r\nexport const INBOUND_POPUP_SET_EMAIL = 'INBOUND_POPUP_SET_EMAIL';\r\nexport const INBOUND_POPUP_SET_FIRSTNAME = 'INBOUND_POPUP_SET_FIRSTNAME';\r\nexport const INBOUND_POPUP_SET_LASTNAME = 'INBOUND_POPUP_SET_LASTNAME';\r\nexport const INBOUND_POPUP_SET_PHONE = 'INBOUND_POPUP_SET_PHONE';\r\nexport const INBOUND_POPUP_SET_COMPANY = 'INBOUND_POPUP_SET_COMPANY';\r\nexport const INBOUND_POPUP_SET_JOB_STATUS = 'INBOUND_POPUP_SET_JOB_STATUS';\r\nexport const INBOUND_POPUP_SET_SAVED = 'INBOUND_POPUP_SET_SAVED';\r\nexport const INBOUND_POPUP_SET_COURSE_TITLE = 'INBOUND_POPUP_SET_COURSE_TITLE';\r\nexport const INBOUND_POPUP_SET_LOADING = 'INBOUND_POPUP_SET_LOADING';\r\nexport const INBOUND_POPUP_SET_COMPLETION = 'INBOUND_POPUP_SET_COMPLETION';\r\nexport const INBOUND_POPUP_EMAIL_CHECK = 'INBOUND_POPUP_EMAIL_CHECK';\r\nexport const INBOUND_POPUP_FIRSTNAME_CHECK = 'INBOUND_POPUP_FIRSTNAME_CHECK';\r\nexport const INBOUND_POPUP_LASTNAME_CHECK = 'INBOUND_POPUP_LASTNAME_CHECK';\r\nexport const INBOUND_POPUP_PHONE_CHECK = 'INBOUND_POPUP_PHONE_CHECK';\r\nexport const INBOUND_POPUP_COMPANY_CHECK = 'INBOUND_POPUP_COMPANY_CHECK';\r\n\r\n// UserAdminPopup\r\nexport const USER_ADMIN_POPUP_RESET = 'USER_ADMIN_POPUP_RESET';\r\nexport const USER_ADMIN_POPUP_SET_ENABLED = 'USER_ADMIN_POPUP_SET_ENABLED';\r\nexport const USER_ADMIN_POPUP_SET_POPUP_TITLE = 'USER_ADMIN_POPUP_SET_POPUP_TITLE';\r\nexport const USER_ADMIN_POPUP_SET_USER = 'USER_ADMIN_POPUP_SET_USER';\r\nexport const USER_ADMIN_POPUP_SET_SOCIAL = 'USER_ADMIN_POPUP_SET_SOCIAL';\r\nexport const USER_ADMIN_POPUP_SET_USER_ID = 'USER_ADMIN_POPUP_SET_USER_ID';\r\nexport const USER_ADMIN_POPUP_SET_LOADING = 'USER_ADMIN_POPUP_SET_LOADING';\r\nexport const USER_ADMIN_POPUP_SET_PICTURE_LOADING = 'USER_ADMIN_POPUP_SET_PICTURE_LOADING';\r\nexport const USER_ADMIN_POPUP_SET_SECURITY_LOADING = 'USER_ADMIN_POPUP_SET_SECURITY_LOADING';\r\nexport const USER_ADMIN_POPUP_SET_INFORMATIONS_LOADING = 'USER_ADMIN_POPUP_SET_INFORMATIONS_LOADING';\r\nexport const USER_ADMIN_POPUP_TOGGLE_MENU_STATUS = 'USER_ADMIN_POPUP_TOGGLE_MENU_STATUS';\r\nexport const USER_ADMIN_POPUP_SET_PICTURE = 'USER_ADMIN_POPUP_SET_PICTURE';\r\n\r\nexport const USER_ADMIN_POPUP_SET_EMAIL = 'USER_ADMIN_POPUP_SET_EMAIL';\r\nexport const USER_ADMIN_POPUP_SET_FIRSTNAME = 'USER_ADMIN_POPUP_SET_FIRSTNAME';\r\nexport const USER_ADMIN_POPUP_SET_LASTNAME = 'USER_ADMIN_POPUP_SET_LASTNAME';\r\nexport const USER_ADMIN_POPUP_SET_PHONE = 'USER_ADMIN_POPUP_SET_PHONE';\r\nexport const USER_ADMIN_POPUP_SET_COMPANY = 'USER_ADMIN_POPUP_SET_COMPANY';\r\nexport const USER_ADMIN_POPUP_SET_CONFIRMED = 'USER_ADMIN_POPUP_SET_CONFIRMED';\r\n\r\nexport const USER_ADMIN_POPUP_SET_NEW_PASSWORD = 'USER_ADMIN_POPUP_SET_NEW_PASSWORD';\r\nexport const USER_ADMIN_POPUP_SET_RENEW_PASSWORD = 'USER_ADMIN_POPUP_SET_RENEW_PASSWORD';\r\n\r\nexport const USER_ADMIN_POPUP_SET_COURSES_LOADING = 'USER_ADMIN_POPUP_SET_COURSES_LOADING';\r\nexport const USER_ADMIN_POPUP_SET_COURSES = 'USER_ADMIN_POPUP_SET_COURSES';\r\nexport const USER_ADMIN_POPUP_SET_COURSE_LOADING = 'USER_ADMIN_POPUP_SET_COURSE_LOADING';\r\nexport const USER_ADMIN_POPUP_SET_COURSE_EXPIRY_DATE = 'USER_ADMIN_POPUP_SET_COURSE_EXPIRY_DATE';\r\nexport const USER_ADMIN_POPUP_SET_COURSE_UNIT_COMPLETE_LOCK = 'USER_ADMIN_POPUP_SET_COURSE_UNIT_COMPLETE_LOCK';\r\nexport const USER_ADMIN_POPUP_DELETE_COURSE = 'USER_ADMIN_POPUP_DELETE_COURSE';\r\nexport const USER_ADMIN_POPUP_ADD_COURSE = 'USER_ADMIN_POPUP_ADD_COURSE';\r\n\r\nexport const USER_ADMIN_POPUP_SET_SURVEYS_LOADING = 'USER_ADMIN_POPUP_SET_SURVEYS_LOADING';\r\nexport const USER_ADMIN_POPUP_SET_SURVEYS = 'USER_ADMIN_POPUP_SET_SURVEYS';\r\nexport const USER_ADMIN_POPUP_SET_SURVEY_LOADING = 'USER_ADMIN_POPUP_SET_SURVEY_LOADING';\r\nexport const USER_ADMIN_POPUP_DELETE_SURVEY = 'USER_ADMIN_POPUP_DELETE_SURVEY';\r\n\r\nexport const USER_ADMIN_POPUP_SET_CERTIFICATES_LOADING = 'USER_ADMIN_POPUP_SET_CERTIFICATES_LOADING';\r\nexport const USER_ADMIN_POPUP_SET_CERTIFICATES = 'USER_ADMIN_POPUP_SET_CERTIFICATES';\r\nexport const USER_ADMIN_POPUP_SET_CERTIFICATE_LOADING = 'USER_ADMIN_POPUP_SET_CERTIFICATE_LOADING';\r\nexport const USER_ADMIN_POPUP_ADD_CERTIFICATE = 'USER_ADMIN_POPUP_ADD_CERTIFICATE';\r\nexport const USER_ADMIN_POPUP_DELETE_CERTIFICATE = 'USER_ADMIN_POPUP_DELETE_CERTIFICATE';\r\n\r\nexport const USER_ADMIN_POPUP_EMAIL_CHECK = 'USER_ADMIN_POPUP_EMAIL_CHECK';\r\nexport const USER_ADMIN_POPUP_FIRSTNAME_CHECK = 'USER_ADMIN_POPUP_FIRSTNAME_CHECK';\r\nexport const USER_ADMIN_POPUP_LASTNAME_CHECK = 'USER_ADMIN_POPUP_LASTNAME_CHECK';\r\nexport const USER_ADMIN_POPUP_PHONE_CHECK = 'USER_ADMIN_POPUP_PHONE_CHECK';\r\nexport const USER_ADMIN_POPUP_COMPANY_CHECK = 'USER_ADMIN_POPUP_COMPANY_CHECK';\r\n\r\nexport const USER_ADMIN_POPUP_NEW_PASSWORD_CHECK = 'USER_ADMIN_POPUP_NEW_PASSWORD_CHECK';\r\nexport const USER_ADMIN_POPUP_RENEW_PASSWORD_CHECK = 'USER_ADMIN_POPUP_RENEW_PASSWORD_CHECK';\r\n\r\n// VoucherAdminPopup\r\nexport const VOUCHER_ADMIN_POPUP_RESET = 'VOUCHER_ADMIN_POPUP_RESET';\r\nexport const VOUCHER_ADMIN_POPUP_SET_ENABLED = 'VOUCHER_ADMIN_POPUP_SET_ENABLED';\r\nexport const VOUCHER_ADMIN_POPUP_SET_POPUP_TITLE = 'VOUCHER_ADMIN_POPUP_SET_POPUP_TITLE';\r\nexport const VOUCHER_ADMIN_POPUP_SET_VOUCHER_ID = 'VOUCHER_ADMIN_POPUP_SET_VOUCHER_ID';\r\nexport const VOUCHER_ADMIN_POPUP_SET_VOUCHER = 'VOUCHER_ADMIN_POPUP_SET_VOUCHER';\r\nexport const VOUCHER_ADMIN_POPUP_SET_LOADING = 'VOUCHER_ADMIN_POPUP_SET_LOADING';\r\nexport const VOUCHER_ADMIN_POPUP_SET_INFORMATIONS_LOADING = 'VOUCHER_ADMIN_POPUP_SET_INFORMATIONS_LOADING';\r\nexport const VOUCHER_ADMIN_POPUP_SET_COURSES_LOADING = 'VOUCHER_ADMIN_POPUP_SET_COURSES_LOADING';\r\nexport const VOUCHER_ADMIN_POPUP_TOGGLE_MENU_STATUS = 'VOUCHER_ADMIN_POPUP_TOGGLE_MENU_STATUS';\r\n\r\nexport const VOUCHER_ADMIN_POPUP_SET_START_DATE = 'VOUCHER_ADMIN_POPUP_SET_START_DATE';\r\nexport const VOUCHER_ADMIN_POPUP_SET_END_DATE = 'VOUCHER_ADMIN_POPUP_SET_END_DATE';\r\nexport const VOUCHER_ADMIN_POPUP_SET_PLACE_AVAILABLE = 'VOUCHER_ADMIN_POPUP_SET_PLACE_AVAILABLE';\r\n\r\nexport const VOUCHER_ADMIN_POPUP_SET_COURSES = 'VOUCHER_ADMIN_POPUP_SET_COURSES';\r\nexport const VOUCHER_ADMIN_POPUP_ADD_COURSE = 'VOUCHER_ADMIN_POPUP_ADD_COURSE';\r\nexport const VOUCHER_ADMIN_POPUP_DELETE_COURSE = 'VOUCHER_ADMIN_POPUP_DELETE_COURSE';\r\n\r\nexport const VOUCHER_ADMIN_POPUP_DATES_CHECK = 'VOUCHER_ADMIN_POPUP_DATES_CHECK';\r\nexport const VOUCHER_ADMIN_POPUP_PLACE_AVAILABLE_CHECK = 'VOUCHER_ADMIN_POPUP_PLACE_AVAILABLE_CHECK';\r\n\r\nexport const VOUCHER_ADMIN_POPUP_SET_USERS_LOADING = 'VOUCHER_ADMIN_POPUP_SET_USERS_LOADING';\r\nexport const VOUCHER_ADMIN_POPUP_SET_USER_LOADING = 'VOUCHER_ADMIN_POPUP_SET_USER_LOADING';\r\nexport const VOUCHER_ADMIN_POPUP_SET_USERS = 'VOUCHER_ADMIN_POPUP_SET_USERS';\r\nexport const VOUCHER_ADMIN_POPUP_ADD_USERS = 'VOUCHER_ADMIN_POPUP_ADD_USERS';\r\nexport const VOUCHER_ADMIN_POPUP_DELETE_USER = 'VOUCHER_ADMIN_POPUP_DELETE_USER';\r\nexport const VOUCHER_ADMIN_POPUP_SET_USER_SEARCH_VALUE = 'VOUCHER_ADMIN_POPUP_SET_USER_SEARCH_VALUE';\r\nexport const VOUCHER_ADMIN_POPUP_SET_HAS_NEXT = 'VOUCHER_ADMIN_POPUP_SET_HAS_NEXT';\r\nexport const VOUCHER_ADMIN_POPUP_SET_PAGING_PAGE = 'VOUCHER_ADMIN_POPUP_SET_PAGING_PAGE';\r\n\r\n// CourseAdminPopup\r\nexport const COURSE_ADMIN_POPUP_RESET = 'COURSE_ADMIN_POPUP_RESET';\r\nexport const COURSE_ADMIN_POPUP_SET_POPUP_TITLE = 'COURSE_ADMIN_POPUP_SET_POPUP_TITLE';\r\nexport const COURSE_ADMIN_POPUP_SET_ENABLED = 'COURSE_ADMIN_POPUP_SET_ENABLED';\r\nexport const COURSE_ADMIN_POPUP_SET_COURSE = 'COURSE_ADMIN_POPUP_SET_COURSE';\r\nexport const COURSE_ADMIN_POPUP_SET_COURSE_ID = 'COURSE_ADMIN_POPUP_SET_COURSE_ID';\r\nexport const COURSE_ADMIN_POPUP_SET_LOADING = 'COURSE_ADMIN_POPUP_SET_LOADING';\r\nexport const COURSE_ADMIN_POPUP_SET_INFORMATIONS_LOADING = 'COURSE_ADMIN_POPUP_SET_INFORMATIONS_LOADING';\r\nexport const COURSE_ADMIN_POPUP_SET_PICTURE_LOADING = 'COURSE_ADMIN_POPUP_SET_PICTURE_LOADING';\r\nexport const COURSE_ADMIN_POPUP_TOGGLE_MENU_STATUS = 'COURSE_ADMIN_POPUP_TOGGLE_MENU_STATUS';\r\n\r\nexport const COURSE_ADMIN_POPUP_SET_ADVERTISEMENT_VISIBILITY = 'COURSE_ADMIN_POPUP_SET_ADVERTISEMENT_VISIBILITY';\r\n\r\nexport const COURSE_ADMIN_POPUP_SET_PICTURE = 'COURSE_ADMIN_POPUP_SET_PICTURE';\r\nexport const COURSE_ADMIN_POPUP_SET_TITLE = 'COURSE_ADMIN_POPUP_SET_TITLE';\r\nexport const COURSE_ADMIN_POPUP_SET_DESCRIPTION = 'COURSE_ADMIN_POPUP_SET_DESCRIPTION';\r\nexport const COURSE_ADMIN_POPUP_SET_PRICE = 'COURSE_ADMIN_POPUP_SET_PRICE';\r\nexport const COURSE_ADMIN_POPUP_SET_PREVIEW_VIDEO = 'COURSE_ADMIN_POPUP_SET_PREVIEW_VIDEO';\r\nexport const COURSE_ADMIN_POPUP_SET_UNIT_COMPLETE_LOCK = 'COURSE_ADMIN_POPUP_SET_UNIT_COMPLETE_LOCK';\r\nexport const COURSE_ADMIN_POPUP_SET_EXPIRY_VALUE = 'COURSE_ADMIN_POPUP_SET_EXPIRY_VALUE';\r\nexport const COURSE_ADMIN_POPUP_SET_EXPIRY_UNIT = 'COURSE_ADMIN_POPUP_SET_EXPIRY_UNIT';\r\nexport const COURSE_ADMIN_POPUP_SET_LANG = 'COURSE_ADMIN_POPUP_SET_LANG';\r\nexport const COURSE_ADMIN_POPUP_SET_OTHER_LANG_ID = 'COURSE_ADMIN_POPUP_SET_OTHER_LANG_ID';\r\nexport const COURSE_ADMIN_POPUP_SET_STATUS_ENABLED = 'COURSE_ADMIN_POPUP_SET_STATUS_ENABLED';\r\nexport const COURSE_ADMIN_POPUP_SET_STATUS = 'COURSE_ADMIN_POPUP_SET_STATUS';\r\nexport const COURSE_ADMIN_POPUP_SET_SEO_KEYWORDS = 'COURSE_ADMIN_POPUP_SET_SEO_KEYWORDS';\r\nexport const COURSE_ADMIN_POPUP_SET_SEO_LOCKED = 'COURSE_ADMIN_POPUP_SET_SEO_LOCKED';\r\n\r\nexport const COURSE_ADMIN_POPUP_TITLE_CHECK = 'COURSE_ADMIN_POPUP_TITLE_CHECK';\r\nexport const COURSE_ADMIN_POPUP_DESCRIPTION_CHECK = 'COURSE_ADMIN_POPUP_DESCRIPTION_CHECK';\r\nexport const COURSE_ADMIN_POPUP_PREVIEW_VIDEO_CHECK = 'COURSE_ADMIN_POPUP_PREVIEW_VIDEO_CHECK';\r\nexport const COURSE_ADMIN_POPUP_EXPIRY_CHECK = 'COURSE_ADMIN_POPUP_EXPIRY_CHECK';\r\nexport const COURSE_ADMIN_POPUP_PRICE_CHECK = 'COURSE_ADMIN_POPUP_PRICE_CHECK';\r\n\r\nexport const COURSE_ADMIN_POPUP_SET_SPECIFICATIONS_LOADING = 'COURSE_ADMIN_POPUP_SET_SPECIFICATIONS_LOADING';\r\nexport const COURSE_ADMIN_POPUP_SET_SPECIFICATION_ACTION_LOADING = 'COURSE_ADMIN_POPUP_SET_SPECIFICATION_ACTION_LOADING';\r\nexport const COURSE_ADMIN_POPUP_SET_OBJECTIVES = 'COURSE_ADMIN_POPUP_SET_OBJECTIVES';\r\nexport const COURSE_ADMIN_POPUP_ADD_OBJECTIVE = 'COURSE_ADMIN_POPUP_ADD_OBJECTIVE';\r\nexport const COURSE_ADMIN_POPUP_SET_PUBLICS = 'COURSE_ADMIN_POPUP_SET_PUBLICS';\r\nexport const COURSE_ADMIN_POPUP_ADD_PUBLIC = 'COURSE_ADMIN_POPUP_ADD_PUBLIC';\r\nexport const COURSE_ADMIN_POPUP_SET_PREREQUISITES = 'COURSE_ADMIN_POPUP_SET_PREREQUISITES';\r\nexport const COURSE_ADMIN_POPUP_ADD_PREREQUISITE = 'COURSE_ADMIN_POPUP_ADD_PREREQUISITE';\r\nexport const COURSE_ADMIN_POPUP_DELETE_SPECIFICATION = 'COURSE_ADMIN_POPUP_DELETE_SPECIFICATION';\r\n\r\nexport const COURSE_ADMIN_POPUP_SET_NEW_OBJECTIVE = 'COURSE_ADMIN_POPUP_SET_NEW_OBJECTIVE';\r\nexport const COURSE_ADMIN_POPUP_SET_NEW_PUBLIC = 'COURSE_ADMIN_POPUP_SET_NEW_PUBLIC';\r\nexport const COURSE_ADMIN_POPUP_SET_NEW_PREREQUISITE = 'COURSE_ADMIN_POPUP_SET_NEW_PREREQUISITE';\r\n\r\nexport const COURSE_ADMIN_POPUP_OBJECTIVE_CHECK = 'COURSE_ADMIN_POPUP_OBJECTIVE_CHECK';\r\nexport const COURSE_ADMIN_POPUP_PUBLIC_CHECK = 'COURSE_ADMIN_POPUP_PUBLIC_CHECK';\r\nexport const COURSE_ADMIN_POPUP_PREREQUISITE_CHECK = 'COURSE_ADMIN_POPUP_PREREQUISITE_CHECK';\r\n\r\nexport const COURSE_ADMIN_POPUP_SET_CATEGORIES_LOADING = 'COURSE_ADMIN_POPUP_SET_CATEGORIES_LOADING';\r\nexport const COURSE_ADMIN_POPUP_SET_CATEGORY_LOADING = 'COURSE_ADMIN_POPUP_SET_CATEGORY_LOADING';\r\nexport const COURSE_ADMIN_POPUP_SET_CATEGORIES = 'COURSE_ADMIN_POPUP_SET_CATEGORIES';\r\nexport const COURSE_ADMIN_POPUP_ADD_CATEGORY = 'COURSE_ADMIN_POPUP_ADD_CATEGORY';\r\nexport const COURSE_ADMIN_POPUP_DELETE_CATEGORY = 'COURSE_ADMIN_POPUP_DELETE_CATEGORY';\r\n\r\nexport const COURSE_ADMIN_POPUP_SET_USERS_LOADING = 'COURSE_ADMIN_POPUP_SET_USERS_LOADING';\r\nexport const COURSE_ADMIN_POPUP_SET_USER_LOADING = 'COURSE_ADMIN_POPUP_SET_USER_LOADING';\r\nexport const COURSE_ADMIN_POPUP_SET_USER_EXPIRE_DATE = 'COURSE_ADMIN_POPUP_SET_USER_EXPIRE_DATE';\r\nexport const COURSE_ADMIN_POPUP_SET_USER_UNIT_COMPLETE_LOCK = 'COURSE_ADMIN_POPUP_SET_USER_UNIT_COMPLETE_LOCK';\r\nexport const COURSE_ADMIN_POPUP_SET_USERS = 'COURSE_ADMIN_POPUP_SET_USERS';\r\nexport const COURSE_ADMIN_POPUP_ADD_USERS = 'COURSE_ADMIN_POPUP_ADD_USERS';\r\nexport const COURSE_ADMIN_POPUP_DELETE_USER = 'COURSE_ADMIN_POPUP_DELETE_USER';\r\nexport const COURSE_ADMIN_POPUP_SET_USER_SEARCH_VALUE = 'COURSE_ADMIN_POPUP_SET_USER_SEARCH_VALUE';\r\nexport const COURSE_ADMIN_POPUP_SET_HAS_NEXT = 'COURSE_ADMIN_POPUP_SET_HAS_NEXT';\r\nexport const COURSE_ADMIN_POPUP_SET_PAGING_PAGE = 'COURSE_ADMIN_POPUP_SET_PAGING_PAGE';\r\n\r\n// CategoryAdminPopup\r\nexport const CATEGORY_ADMIN_POPUP_RESET = 'CATEGORY_ADMIN_POPUP_RESET';\r\nexport const CATEGORY_ADMIN_POPUP_SET_ENABLED = 'CATEGORY_ADMIN_POPUP_SET_ENABLED';\r\nexport const CATEGORY_ADMIN_POPUP_SET_LOADING = 'CATEGORY_ADMIN_POPUP_SET_LOADING';\r\nexport const CATEGORY_ADMIN_POPUP_SET_POPUP_TITLE = 'CATEGORY_ADMIN_POPUP_SET_POPUP_TITLE';\r\nexport const CATEGORY_ADMIN_POPUP_TOGGLE_MENU_STATUS = 'CATEGORY_ADMIN_POPUP_TOGGLE_MENU_STATUS';\r\nexport const CATEGORY_ADMIN_POPUP_SET_INFORMATIONS_LOADING = 'CATEGORY_ADMIN_POPUP_SET_INFORMATIONS_LOADING';\r\nexport const CATEGORY_ADMIN_POPUP_SET_PICTURE_LOADING = 'CATEGORY_ADMIN_POPUP_SET_PICTURE_LOADING';\r\nexport const CATEGORY_ADMIN_POPUP_SET_COURSES_LOADING = 'CATEGORY_ADMIN_POPUP_SET_COURSES_LOADING';\r\nexport const CATEGORY_ADMIN_POPUP_SET_CATEGORY_ID = 'CATEGORY_ADMIN_POPUP_SET_CATEGORY_ID';\r\nexport const CATEGORY_ADMIN_POPUP_SET_CATEGORY = 'CATEGORY_ADMIN_POPUP_SET_CATEGORY';\r\nexport const CATEGORY_ADMIN_POPUP_SEO_KEYWORDS = 'CATEGORY_ADMIN_POPUP_SEO_KEYWORDS';\r\n\r\nexport const CATEGORY_ADMIN_POPUP_SET_PICTURE = 'CATEGORY_ADMIN_POPUP_SET_PICTURE';\r\nexport const CATEGORY_ADMIN_POPUP_SET_TITLE = 'CATEGORY_ADMIN_POPUP_SET_TITLE';\r\nexport const CATEGORY_ADMIN_POPUP_SET_TITLE_EN = 'CATEGORY_ADMIN_POPUP_SET_TITLE_EN';\r\n\r\nexport const CATEGORY_ADMIN_POPUP_SET_COURSES = 'CATEGORY_ADMIN_POPUP_SET_COURSES';\r\n\r\nexport const CATEGORY_ADMIN_POPUP_TITLE_CHECK = 'CATEGORY_ADMIN_POPUP_TITLE_CHECK';\r\nexport const CATEGORY_ADMIN_POPUP_TITLE_EN_CHECK = 'CATEGORY_ADMIN_POPUP_TITLE_EN_CHECK';\r\n\r\n// AddtionalAdminPopup\r\nexport const ASSIGN_ADDITIONAL_ADMIN_POPUP_RESET = 'ASSIGN_ADDITIONAL_ADMIN_POPUP_RESET';\r\nexport const ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_ENABLED = 'ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_ENABLED';\r\nexport const ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_LECTURE_ID = 'ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_LECTURE_ID';\r\nexport const ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_LOADING = 'ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_LOADING';\r\nexport const ASSIGN_ADDITIONAL_ADMIN_POPUP_ADD_FILE = 'ASSIGN_ADDITIONAL_ADMIN_POPUP_ADD_FILE';\r\nexport const ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_PROGRESS = 'ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_PROGRESS';\r\nexport const ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_ERROR = 'ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_ERROR';\r\n\r\n// FileAdminPopup\r\nexport const ASSIGN_FILE_ADMIN_POPUP_RESET = 'ASSIGN_FILE_ADMIN_POPUP_RESET';\r\nexport const ASSIGN_FILE_ADMIN_POPUP_SET_ENABLED = 'ASSIGN_FILE_ADMIN_POPUP_SET_ENABLED';\r\nexport const ASSIGN_FILE_ADMIN_POPUP_SET_LECTURE_ID = 'ASSIGN_FILE_ADMIN_POPUP_SET_LECTURE_ID';\r\nexport const ASSIGN_FILE_ADMIN_POPUP_SET_LOADING = 'ASSIGN_FILE_ADMIN_POPUP_SET_LOADING';\r\nexport const ASSIGN_FILE_ADMIN_POPUP_ADD_FILE = 'ASSIGN_FILE_ADMIN_POPUP_ADD_FILE';\r\nexport const ASSIGN_FILE_ADMIN_POPUP_SET_FILE_LOADING = 'ASSIGN_FILE_ADMIN_POPUP_SET_FILE_LOADING';\r\nexport const ASSIGN_FILE_ADMIN_POPUP_SET_FILE_NAME = 'ASSIGN_FILE_ADMIN_POPUP_SET_FILE_NAME';\r\nexport const ASSIGN_FILE_ADMIN_POPUP_SET_FILE_PROGRESS = 'ASSIGN_FILE_ADMIN_POPUP_SET_FILE_PROGRESS';\r\nexport const ASSIGN_FILE_ADMIN_POPUP_SET_FILE_RESOURCE_ID = 'ASSIGN_FILE_ADMIN_POPUP_SET_FILE_RESOURCE_ID';\r\nexport const ASSIGN_FILE_ADMIN_POPUP_SET_FILE_ERROR = 'ASSIGN_FILE_ADMIN_POPUP_SET_FILE_ERROR';\r\n\r\n// AssignCategoryAdminPopup\r\nexport const ASSIGN_CATEGORY_ADMIN_POPUP_RESET = 'ASSIGN_CATEGORY_ADMIN_POPUP_RESET';\r\nexport const ASSIGN_CATEGORY_ADMIN_POPUP_SET_ENABLED = 'ASSIGN_CATEGORY_ADMIN_POPUP_SET_ENABLED';\r\nexport const ASSIGN_CATEGORY_ADMIN_POPUP_SET_LOADING = 'ASSIGN_CATEGORY_ADMIN_POPUP_SET_LOADING';\r\nexport const ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORY_LOADING = 'ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORY_LOADING';\r\nexport const ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORIES = 'ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORIES';\r\nexport const ASSIGN_CATEGORY_ADMIN_POPUP_SET_SELECTED_CATEGORIES = 'ASSIGN_CATEGORY_ADMIN_POPUP_SET_SELECTED_CATEGORIES';\r\nexport const ASSIGN_CATEGORY_ADMIN_POPUP_ADD_SELECTED_CATEGORY = 'ASSIGN_CATEGORY_ADMIN_POPUP_ADD_SELECTED_CATEGORY';\r\nexport const ASSIGN_CATEGORY_ADMIN_POPUP_SET_COURSE_ID = 'ASSIGN_CATEGORY_ADMIN_POPUP_SET_COURSE_ID';\r\nexport const ASSIGN_CATEGORY_ADMIN_POPUP_SET_SEARCH_VALUE = 'ASSIGN_CATEGORY_ADMIN_POPUP_SET_SEARCH_VALUE';\r\n\r\n// AssignSectionAdminPopup\r\nexport const ASSIGN_SECTION_ADMIN_POPUP_RESET = 'ASSIGN_SECTION_ADMIN_POPUP_RESET';\r\nexport const ASSIGN_SECTION_ADMIN_POPUP_SET_ENABLED = 'ASSIGN_SECTION_ADMIN_POPUP_SET_ENABLED';\r\nexport const ASSIGN_SECTION_ADMIN_POPUP_SET_LOADING = 'ASSIGN_SECTION_ADMIN_POPUP_SET_LOADING';\r\nexport const ASSIGN_SECTION_ADMIN_POPUP_SET_COURSE_ID = 'ASSIGN_SECTION_ADMIN_POPUP_SET_COURSE_ID';\r\nexport const ASSIGN_SECTION_ADMIN_POPUP_SET_SECTIONS = 'ASSIGN_SECTION_ADMIN_POPUP_SET_SECTIONS';\r\nexport const ASSIGN_SECTION_ADMIN_POPUP_ADD_SECTIONS = 'ASSIGN_SECTION_ADMIN_POPUP_ADD_SECTIONS';\r\nexport const ASSIGN_SECTION_ADMIN_POPUP_ADD_SELECTED_SECTION = 'ASSIGN_SECTION_ADMIN_POPUP_ADD_SELECTED_SECTION';\r\nexport const ASSIGN_SECTION_ADMIN_POPUP_SET_SECTION_LOADING = 'ASSIGN_SECTION_ADMIN_POPUP_SET_SECTION_LOADING';\r\nexport const ASSIGN_SECTION_ADMIN_POPUP_SET_SEARCH_VALUE = 'ASSIGN_SECTION_ADMIN_POPUP_SET_SEARCH_VALUE';\r\nexport const ASSIGN_SECTION_ADMIN_POPUP_SET_HAS_NEXT = 'ASSIGN_SECTION_ADMIN_POPUP_SET_HAS_NEXT';\r\nexport const ASSIGN_SECTION_ADMIN_POPUP_SET_PAGING_PAGE = 'ASSIGN_SECTION_ADMIN_POPUP_SET_PAGING_PAGE';\r\n\r\n// AssignLectureAdminPopup\r\nexport const ASSIGN_LECTURE_ADMIN_POPUP_RESET = 'ASSIGN_LECTURE_ADMIN_POPUP_RESET';\r\nexport const ASSIGN_LECTURE_ADMIN_POPUP_SET_ENABLED = 'ASSIGN_LECTURE_ADMIN_POPUP_SET_ENABLED';\r\nexport const ASSIGN_LECTURE_ADMIN_POPUP_SET_LOADING = 'ASSIGN_LECTURE_ADMIN_POPUP_SET_LOADING';\r\nexport const ASSIGN_LECTURE_ADMIN_POPUP_SET_ADD_NEW_LOADING = 'ASSIGN_LECTURE_ADMIN_POPUP_SET_ADD_NEW_LOADING';\r\nexport const ASSIGN_LECTURE_ADMIN_POPUP_SET_SECTION_ID = 'ASSIGN_LECTURE_ADMIN_POPUP_SET_SECTION_ID';\r\nexport const ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURES = 'ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURES';\r\nexport const ASSIGN_LECTURE_ADMIN_POPUP_ADD_LECTURES = 'ASSIGN_LECTURE_ADMIN_POPUP_ADD_LECTURES';\r\nexport const ASSIGN_LECTURE_ADMIN_POPUP_ADD_SELECTED_LECTURE = 'ASSIGN_LECTURE_ADMIN_POPUP_ADD_SELECTED_LECTURE';\r\nexport const ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURE_LOADING = 'ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURE_LOADING';\r\nexport const ASSIGN_LECTURE_ADMIN_POPUP_SET_SEARCH_VALUE = 'ASSIGN_LECTURE_ADMIN_POPUP_SET_SEARCH_VALUE';\r\nexport const ASSIGN_LECTURE_ADMIN_POPUP_SET_HAS_NEXT = 'ASSIGN_LECTURE_ADMIN_POPUP_SET_HAS_NEXT';\r\nexport const ASSIGN_LECTURE_ADMIN_POPUP_SET_PAGING_PAGE = 'ASSIGN_LECTURE_ADMIN_POPUP_SET_PAGING_PAGE';\r\n\r\n// AssignVideoAdminPopup\r\nexport const ASSIGN_VIDEO_ADMIN_POPUP_RESET = 'ASSIGN_VIDEO_ADMIN_POPUP_RESET';\r\nexport const ASSIGN_VIDEO_ADMIN_POPUP_SET_ENABLED = 'ASSIGN_VIDEO_ADMIN_POPUP_SET_ENABLED';\r\nexport const ASSIGN_VIDEO_ADMIN_POPUP_SET_LOADING = 'ASSIGN_VIDEO_ADMIN_POPUP_SET_LOADING';\r\nexport const ASSIGN_VIDEO_ADMIN_POPUP_SET_LECTURE_ID = 'ASSIGN_VIDEO_ADMIN_POPUP_SET_LECTURE_ID';\r\nexport const ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEOS = 'ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEOS';\r\nexport const ASSIGN_VIDEO_ADMIN_POPUP_ADD_VIDEOS = 'ASSIGN_VIDEO_ADMIN_POPUP_ADD_VIDEOS';\r\nexport const ASSIGN_VIDEO_ADMIN_POPUP_ADD_SELECTED_VIDEO = 'ASSIGN_VIDEO_ADMIN_POPUP_ADD_SELECTED_VIDEO';\r\nexport const ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEO_LOADING = 'ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEO_LOADING';\r\nexport const ASSIGN_VIDEO_ADMIN_POPUP_DELETE_VIDEO = 'ASSIGN_VIDEO_ADMIN_POPUP_DELETE_VIDEO';\r\nexport const ASSIGN_VIDEO_ADMIN_POPUP_SET_SEARCH_VALUE = 'ASSIGN_VIDEO_ADMIN_POPUP_SET_SEARCH_VALUE';\r\nexport const ASSIGN_VIDEO_ADMIN_POPUP_SET_HAS_NEXT = 'ASSIGN_VIDEO_ADMIN_POPUP_SET_HAS_NEXT';\r\nexport const ASSIGN_VIDEO_ADMIN_POPUP_SET_PAGING_PAGE = 'ASSIGN_VIDEO_ADMIN_POPUP_SET_PAGING_PAGE';\r\n\r\n// AssignEmbedPageAdminPopup\r\nexport const ASSIGN_EMBED_PAGE_ADMIN_POPUP_RESET = 'ASSIGN_EMBED_PAGE_ADMIN_POPUP_RESET';\r\nexport const ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_ENABLED = 'ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_ENABLED';\r\nexport const ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LOADING = 'ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LOADING';\r\nexport const ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LECTURE_ID = 'ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LECTURE_ID';\r\nexport const ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_PREVIEW = 'ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_PREVIEW';\r\nexport const ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_URL = 'ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_URL';\r\nexport const ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_HOURS = 'ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_HOURS';\r\nexport const ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_MINUTES = 'ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_MINUTES';\r\nexport const ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_SECONDS = 'ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_SECONDS';\r\n\r\nexport const ASSIGN_EMBED_PAGE_ADMIN_POPUP_URL_CHECK = 'ASSIGN_EMBED_PAGE_ADMIN_POPUP_URL_CHECK';\r\nexport const ASSIGN_EMBED_PAGE_ADMIN_POPUP_DURATION_CHECK = 'ASSIGN_EMBED_PAGE_ADMIN_POPUP_DURATION_CHECK';\r\n\r\n// AssignDocumentationAdminPopup\r\nexport const ASSIGN_DOCUMENTATION_ADMIN_POPUP_RESET = 'ASSIGN_DOCUMENTATION_ADMIN_POPUP_RESET';\r\nexport const ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_ENABLED = 'ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_ENABLED';\r\nexport const ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LOADING = 'ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LOADING';\r\nexport const ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LECTURE_ID = 'ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LECTURE_ID';\r\nexport const ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_URL = 'ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_URL';\r\nexport const ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_TITLE = 'ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_TITLE';\r\n\r\nexport const ASSIGN_DOCUMENTATION_ADMIN_POPUP_URL_CHECK = 'ASSIGN_DOCUMENTATION_ADMIN_POPUP_URL_CHECK';\r\nexport const ASSIGN_DOCUMENTATION_ADMIN_POPUP_TITLE_CHECK = 'ASSIGN_DOCUMENTATION_ADMIN_POPUP_TITLE_CHECK';\r\n\r\n// AssignCourseAdminPopup\r\nexport const ASSIGN_COURSE_ADMIN_POPUP_RESET = 'ASSIGN_COURSE_ADMIN_POPUP_RESET';\r\nexport const ASSIGN_COURSE_ADMIN_POPUP_SET_ENABLED = 'ASSIGN_COURSE_ADMIN_POPUP_SET_ENABLED';\r\nexport const ASSIGN_COURSE_ADMIN_POPUP_SET_LOADING = 'ASSIGN_COURSE_ADMIN_POPUP_SET_LOADING';\r\n\r\nexport const ASSIGN_COURSE_ADMIN_POPUP_SET_USER_ID = 'ASSIGN_COURSE_ADMIN_POPUP_SET_USER_ID';\r\nexport const ASSIGN_COURSE_ADMIN_POPUP_SET_VOUCHER_ID = 'ASSIGN_COURSE_ADMIN_POPUP_SET_VOUCHER_ID';\r\n\r\nexport const ASSIGN_COURSE_ADMIN_POPUP_SET_COURSES = 'ASSIGN_COURSE_ADMIN_POPUP_SET_COURSES';\r\nexport const ASSIGN_COURSE_ADMIN_POPUP_ADD_COURSES = 'ASSIGN_COURSE_ADMIN_POPUP_ADD_COURSES';\r\nexport const ASSIGN_COURSE_ADMIN_POPUP_ADD_SELECTED_COURSE = 'ASSIGN_COURSE_ADMIN_POPUP_ADD_SELECTED_COURSE';\r\nexport const ASSIGN_COURSE_ADMIN_POPUP_SET_COURSE_LOADING = 'ASSIGN_COURSE_ADMIN_POPUP_SET_COURSE_LOADING';\r\n\r\nexport const ASSIGN_COURSE_ADMIN_POPUP_SET_SEARCH_VALUE = 'ASSIGN_COURSE_ADMIN_POPUP_SET_SEARCH_VALUE';\r\nexport const ASSIGN_COURSE_ADMIN_POPUP_SET_HAS_NEXT = 'ASSIGN_COURSE_ADMIN_POPUP_SET_HAS_NEXT';\r\nexport const ASSIGN_COURSE_ADMIN_POPUP_SET_PAGING_PAGE = 'ASSIGN_COURSE_ADMIN_POPUP_SET_PAGING_PAGE';\r\n\r\n// AssignUserAdminPopup\r\nexport const ASSIGN_USER_ADMIN_POPUP_RESET = 'ASSIGN_USER_ADMIN_POPUP_RESET';\r\nexport const ASSIGN_USER_ADMIN_POPUP_SET_ENABLED = 'ASSIGN_USER_ADMIN_POPUP_SET_ENABLED';\r\nexport const ASSIGN_USER_ADMIN_POPUP_SET_LOADING = 'ASSIGN_USER_ADMIN_POPUP_SET_LOADING';\r\n\r\nexport const ASSIGN_USER_ADMIN_POPUP_SET_COURSE_ID = 'ASSIGN_USER_ADMIN_POPUP_SET_COURSE_ID';\r\n\r\nexport const ASSIGN_USER_ADMIN_POPUP_SET_USERS = 'ASSIGN_USER_ADMIN_POPUP_SET_USERS';\r\nexport const ASSIGN_USER_ADMIN_POPUP_ADD_USERS = 'ASSIGN_USER_ADMIN_POPUP_ADD_USERS';\r\nexport const ASSIGN_USER_ADMIN_POPUP_ADD_SELECTED_USER = 'ASSIGN_USER_ADMIN_POPUP_ADD_SELECTED_USER';\r\nexport const ASSIGN_USER_ADMIN_POPUP_SET_USER_LOADING = 'ASSIGN_USER_ADMIN_POPUP_SET_USER_LOADING';\r\n\r\nexport const ASSIGN_USER_ADMIN_POPUP_SET_SEARCH_VALUE = 'ASSIGN_USER_ADMIN_POPUP_SET_SEARCH_VALUE';\r\nexport const ASSIGN_USER_ADMIN_POPUP_SET_HAS_NEXT = 'ASSIGN_USER_ADMIN_POPUP_SET_HAS_NEXT';\r\nexport const ASSIGN_USER_ADMIN_POPUP_SET_PAGING_PAGE = 'ASSIGN_USER_ADMIN_POPUP_SET_PAGING_PAGE';\r\n\r\n// AssignCertificateAdminPopup\r\nexport const ASSIGN_CERTIFICATE_ADMIN_POPUP_RESET = 'ASSIGN_CERTIFICATE_ADMIN_POPUP_RESET';\r\nexport const ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_ENABLED = 'ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_ENABLED';\r\nexport const ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_LOADING = 'ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_LOADING';\r\n\r\nexport const ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_USER_ID = 'ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_USER_ID';\r\n\r\nexport const ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSES = 'ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSES';\r\nexport const ASSIGN_CERTIFICATE_ADMIN_POPUP_ADD_COURSES = 'ASSIGN_CERTIFICATE_ADMIN_POPUP_ADD_COURSES';\r\nexport const ASSIGN_CERTIFICATE_ADMIN_POPUP_ADD_SELECTED_COURSE = 'ASSIGN_CERTIFICATE_ADMIN_POPUP_ADD_SELECTED_COURSE';\r\nexport const ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSE_LOADING = 'ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSE_LOADING';\r\n\r\nexport const ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_SEARCH_VALUE = 'ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_SEARCH_VALUE';\r\nexport const ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_HAS_NEXT = 'ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_HAS_NEXT';\r\nexport const ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_PAGING_PAGE = 'ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_PAGING_PAGE';\r\n\r\n// SurveyAdminPopup\r\nexport const SURVEY_ADMIN_POPUP_RESET = 'SURVEY_ADMIN_POPUP_RESET';\r\nexport const SURVEY_ADMIN_POPUP_SET_ENABLED = 'SURVEY_ADMIN_POPUP_SET_ENABLED';\r\nexport const SURVEY_ADMIN_POPUP_SET_LOADING = 'SURVEY_ADMIN_POPUP_SET_LOADING';\r\nexport const SURVEY_ADMIN_POPUP_SET_ACTION_LOADING = 'SURVEY_ADMIN_POPUP_SET_ACTION_LOADING';\r\nexport const SURVEY_ADMIN_POPUP_SET_POPUP_TITLE = 'SURVEY_ADMIN_POPUP_SET_POPUP_TITLE';\r\nexport const SURVEY_ADMIN_POPUP_SET_SURVEY_ID = 'SURVEY_ADMIN_POPUP_SET_SURVEY_ID';\r\nexport const SURVEY_ADMIN_POPUP_SET_RESULTS = 'SURVEY_ADMIN_POPUP_SET_RESULTS';\r\n\r\n\r\n// ------------- //\r\n// *** PANEL *** //\r\n// ------------- //\r\n\r\n// HomePanel\r\nexport const HOME_PANEL_SET_CATEGORIES_LOADING = 'HOME_PANEL_SET_CATEGORIES_LOADING';\r\nexport const HOME_PANEL_SET_CATEGORIES = 'HOME_PANEL_SET_CATEGORIES';\r\nexport const HOME_PANEL_SET_SELECTED_CATEGORY_ID = 'HOME_PANEL_SET_SELECTED_CATEGORY_ID';\r\nexport const HOME_PANEL_SET_COURSES_LOADING = 'HOME_PANEL_SET_COURSES_LOADING';\r\nexport const HOME_PANEL_SET_COURSES = 'HOME_PANEL_SET_COURSES';\r\nexport const HOME_PANEL_ADD_COURSES = 'HOME_PANEL_ADD_COURSES';\r\nexport const HOME_PANEL_SET_CURRENT_PAGE = 'HOME_PANEL_SET_CURRENT_PAGE';\r\nexport const HOME_PANEL_SET_HAS_NEXT = 'HOME_PANEL_SET_HAS_NEXT';\r\n\r\n// CategoryPanel\r\nexport const CATEGORY_PANEL_SET_LOADING = 'CATEGORY_PANEL_SET_LOADING';\r\nexport const CATEGORY_PANEL_SET_CATEGORY = 'CATEGORY_PANEL_SET_CATEGORY';\r\n\r\n// PreviewPanel\r\nexport const PREVIEW_PANEL_SET_LOADING = 'PREVIEW_PANEL_SET_LOADING';\r\nexport const PREVIEW_PANEL_SET_COURSE = 'PREVIEW_PANEL_SET_COURSE';\r\nexport const PREVIEW_PANEL_TOGGLE_SECTION = 'PREVIEW_PANEL_TOGGLE_SECTION';\r\nexport const PREVIEW_PANEL_TOGGLE_EXTEND_SECTIONS = 'PREVIEW_PANEL_TOGGLE_EXTEND_SECTIONS';\r\nexport const PREVIEW_PANEL_INTERVIEW_POPUP_SET_ENABLED = 'PREVIEW_PANEL_INTERVIEW_POPUP_SET_ENABLED';\r\nexport const PREVIEW_PANEL_INTERVIEW_POPUP_SET_PDF_STATUS = 'PREVIEW_PANEL_INTERVIEW_POPUP_SET_PDF_STATUS';\r\n\r\n// DashboardPanel\r\nexport const DASHBOARD_PANEL_SET_COURSES_LOADING = 'DASHBOARD_PANEL_SET_COURSES_LOADING';\r\nexport const DASHBOARD_PANEL_SET_COURSES = 'DASHBOARD_PANEL_SET_COURSES';\r\nexport const DASHBOARD_PANEL_ADD_COURSE = 'DASHBOARD_PANEL_ADD_COURSE';\r\n\r\nexport const DASHBOARD_PANEL_SET_CERTIFICATES_LOADING = 'DASHBOARD_PANEL_SET_CERTIFICATES_LOADING';\r\nexport const DASHBOARD_PANEL_SET_CERTIFICATES = 'DASHBOARD_PANEL_SET_CERTIFICATES';\r\n\r\n// PreferencePanel\r\nexport const PREFERENCE_PANEL_SET_PANEL = 'PREFERENCE_PANEL_SET_PANEL';\r\nexport const PREFERENCE_PANEL_SET_PANEL_LOADING = 'PREFERENCE_PANEL_SET_PANEL_LOADING';\r\nexport const PREFERENCE_PANEL_SET_INFORMATIONS_LOADING = 'PREFERENCE_PANEL_SET_INFORMATIONS_LOADING';\r\nexport const PREFERENCE_PANEL_SET_SECURITY_LOADING = 'PREFERENCE_PANEL_SET_SECURITY_LOADING';\r\nexport const PREFERENCE_PANEL_SET_SESSION_LOADING = 'PREFERENCE_PANEL_SET_SESSION_LOADING';\r\nexport const PREFERENCE_PANEL_SET_SESSION_ACTION_LOADING = 'PREFERENCE_PANEL_SET_SESSION_ACTION_LOADING';\r\n\r\nexport const PREFERENCE_PANEL_SET_INFORMATIONS = 'PREFERENCE_PANEL_SET_INFORMATIONS';\r\nexport const PREFERENCE_PANEL_SET_CONFIRMATION_EMAIL_LOADING = 'PREFERENCE_PANEL_SET_CONFIRMATION_EMAIL_LOADING';\r\nexport const PREFERENCE_PANEL_SET_CONFIRMATION_EMAIL_STATUS = 'PREFERENCE_PANEL_SET_CONFIRMATION_EMAIL_STATUS';\r\n\r\nexport const PREFERENCE_PANEL_SET_EMAIL = 'PREFERENCE_PANEL_SET_EMAIL';\r\nexport const PREFERENCE_PANEL_SET_FIRSTNAME = 'PREFERENCE_PANEL_SET_FIRSTNAME';\r\nexport const PREFERENCE_PANEL_SET_LASTNAME = 'PREFERENCE_PANEL_SET_LASTNAME';\r\nexport const PREFERENCE_PANEL_SET_PHONE = 'PREFERENCE_PANEL_SET_PHONE';\r\nexport const PREFERENCE_PANEL_SET_COMPANY = 'PREFERENCE_PANEL_SET_COMPANY';\r\n\r\nexport const PREFERENCE_PANEL_HAS_CURRENT_PASSWORD = 'PREFERENCE_PANEL_HAS_CURRENT_PASSWORD';\r\nexport const PREFERENCE_PANEL_SET_CURRENT_PASSWORD = 'PREFERENCE_PANEL_SET_CURRENT_PASSWORD';\r\nexport const PREFERENCE_PANEL_SET_NEW_PASSWORD = 'PREFERENCE_PANEL_SET_NEW_PASSWORD';\r\nexport const PREFERENCE_PANEL_SET_RENEW_PASSWORD = 'PREFERENCE_PANEL_SET_RENEW_PASSWORD';\r\n\r\nexport const PREFERENCE_PANEL_SET_SESSIONS = 'PREFERENCE_PANEL_SET_SESSIONS';\r\nexport const PREFERENCE_PANEL_DELETE_SESSION = 'PREFERENCE_PANEL_DELETE_SESSION';\r\n\r\nexport const PREFERENCE_PANEL_FIRSTNAME_CHECK = 'PREFERENCE_PANEL_FIRSTNAME_CHECK';\r\nexport const PREFERENCE_PANEL_LASTNAME_CHECK = 'PREFERENCE_PANEL_LASTNAME_CHECK';\r\nexport const PREFERENCE_PANEL_PHONE_CHECK = 'PREFERENCE_PANEL_PHONE_CHECK';\r\nexport const PREFERENCE_PANEL_COMPANY_CHECK = 'PREFERENCE_PANEL_COMPANY_CHECK';\r\n\r\nexport const PREFERENCE_PANEL_CURRENT_PASSWORD_CHECK = 'PREFERENCE_PANEL_CURRENT_PASSWORD_CHECK';\r\nexport const PREFERENCE_PANEL_NEW_PASSWORD_CHECK = 'PREFERENCE_PANEL_NEW_PASSWORD_CHECK';\r\nexport const PREFERENCE_PANEL_RENEW_PASSWORD_CHECK = 'PREFERENCE_PANEL_RENEW_PASSWORD_CHECK';\r\n\r\nexport const PREFERENCE_PANEL_SET_PICTURE_LOADING = 'PREFERENCE_PANEL_SET_PICTURE_LOADING';\r\nexport const PREFERENCE_PANEL_SET_PICTURE = 'PREFERENCE_PANEL_SET_PICTURE';\r\n\r\n// LecturePanel\r\nexport const LECTURE_PANEL_RESET = 'LECTURE_PANEL_RESET';\r\nexport const LECTURE_PANEL_SET_MENU_LOADING = 'LECTURE_PANEL_SET_MENU_LOADING';\r\nexport const LECTURE_PANEL_SET_LECTURE_LOADING = 'LECTURE_PANEL_SET_LECTURE_LOADING';\r\nexport const LECTURE_PANEL_SET_CREATING_LECTURE_LOADING = 'LECTURE_PANEL_SET_CREATING_LECTURE_LOADING';\r\nexport const LECTURE_PANEL_SET_MENU = 'LECTURE_PANEL_SET_MENU';\r\nexport const LECTURE_PANEL_SET_MENU_SECTIONS = 'LECTURE_PANEL_SET_MENU_SECTIONS';\r\nexport const LECTURE_PANEL_SET_LECTURE = 'LECTURE_PANEL_SET_LECTURE';\r\nexport const LECTURE_PANEL_SET_MENU_LECTURES = 'LECTURE_PANEL_SET_MENU_LECTURES';\r\nexport const LECTURE_PANEL_SET_CURRENT_LECTURE = 'LECTURE_PANEL_SET_CURRENT_LECTURE';\r\nexport const LECTURE_PANEL_TOGGLE_SECTION = 'LECTURE_PANEL_TOGGLE_SECTION';\r\nexport const LECTURE_PANEL_SET_LECTURE_AS_COMPLETED = 'LECTURE_PANEL_SET_LECTURE_AS_COMPLETED';\r\nexport const LECTURE_PANEL_SET_LECTURE_AS_UNLOCKED = 'LECTURE_PANEL_SET_LECTURE_AS_UNLOCKED';\r\nexport const LECTURE_PANEL_SET_LECTURE_AS_FREE = 'LECTURE_PANEL_SET_LECTURE_AS_FREE';\r\nexport const LECTURE_PANEL_SET_CURRENT_VIDEO_ID = 'LECTURE_PANEL_SET_CURRENT_VIDEO_ID';\r\n\r\n// [SURVEY] LecturePanel\r\nexport const LECTURE_PANEL_SURVEY_SET_STEP = 'LECTURE_PANEL_SURVEY_SET_STEP';\r\nexport const LECTURE_PANEL_SURVEY_SET_LOADING = 'LECTURE_PANEL_SURVEY_SET_LOADING';\r\nexport const LECTURE_PANEL_SURVEY_SET_QUESTION_LOADING = 'LECTURE_PANEL_SURVEY_SET_QUESTION_LOADING';\r\nexport const LECTURE_PANEL_SURVEY_SET_ANSWER_LOADING = 'LECTURE_PANEL_SURVEY_SET_ANSWER_LOADING';\r\nexport const LECTURE_PANEL_SURVEY_SET_SURVEY = 'LECTURE_PANEL_SURVEY_SET_SURVEY';\r\nexport const LECTURE_PANEL_SURVEY_SET_CURRENT_QUESTION_ID = 'LECTURE_PANEL_SURVEY_SET_CURRENT_QUESTION_ID';\r\nexport const LECTURE_PANEL_SURVEY_TOGGLE_SELECT_ANSWER = 'LECTURE_PANEL_SURVEY_TOGGLE_SELECT_ANSWER';\r\nexport const LECTURE_PANEL_SURVEY_SET_QUESTION_DONE = 'LECTURE_PANEL_SURVEY_SET_QUESTION_DONE';\r\nexport const LECTURE_PANEL_SURVEY_SET_RESULTS = 'LECTURE_PANEL_SURVEY_SET_RESULTS';\r\nexport const LECTURE_PANEL_SURVEY_DELETE_QUESTION = 'LECTURE_PANEL_SURVEY_DELETE_QUESTION';\r\nexport const LECTURE_PANEL_SURVEY_SET_ANSWER_CORRECT = 'LECTURE_PANEL_SURVEY_SET_ANSWER_CORRECT';\r\nexport const LECTURE_PANEL_SURVEY_ADD_ANSWER = 'LECTURE_PANEL_SURVEY_ADD_ANSWER';\r\nexport const LECTURE_PANEL_SURVEY_DELETE_ANSWER = 'LECTURE_PANEL_SURVEY_DELETE_ANSWER';\r\nexport const LECTURE_PANEL_SURVEY_SET_ANSWERS = 'LECTURE_PANEL_SURVEY_SET_ANSWERS';\r\nexport const LECTURE_PANEL_SURVEY_SET_QUESTIONS = 'LECTURE_PANEL_SURVEY_SET_QUESTIONS';\r\nexport const LECTURE_PANEL_SURVEY_ADD_QUESTION = 'LECTURE_PANEL_SURVEY_ADD_QUESTION';\r\nexport const LECTURE_PANEL_SURVEY_SET_QUESTION_REQUIRED = 'LECTURE_PANEL_SURVEY_SET_QUESTION_REQUIRED';\r\nexport const LECTURE_PANEL_SURVEY_SET_CREATING_LOADING = 'LECTURE_PANEL_SURVEY_SET_CREATING_LOADING';\r\n\r\nexport const LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS = 'LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS';\r\nexport const LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS_LOADING = 'LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS_LOADING';\r\nexport const LECTURE_PANEL_SURVEY_SET_ADMIN_RESULT_LOADING = 'LECTURE_PANEL_SURVEY_SET_ADMIN_RESULT_LOADING';\r\nexport const LECTURE_PANEL_SURVEY_DELETE_ADMIN_RESULT = 'LECTURE_PANEL_SURVEY_DELETE_ADMIN_RESULT';\r\n\r\n// [ADMIN] LecturePanel\r\nexport const LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_UPDATE = 'LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_UPDATE';\r\nexport const LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_TITLE = 'LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_TITLE';\r\n\r\nexport const LECTURE_PANEL_ADMIN_SET_NEW_SECTION_UPDATE = 'LECTURE_PANEL_ADMIN_SET_NEW_SECTION_UPDATE';\r\nexport const LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE = 'LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE';\r\n\r\nexport const LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE_STATUS = 'LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE_STATUS';\r\nexport const LECTURE_PANEL_ADMIN_SET_EDITING_DESCRIPTION_STATUS = 'LECTURE_PANEL_ADMIN_SET_EDITING_DESCRIPTION_STATUS';\r\n\r\nexport const LECTURE_PANEL_ADMIN_SET_LECTURE_TITLE = 'LECTURE_PANEL_ADMIN_SET_LECTURE_TITLE';\r\nexport const LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE = 'LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE';\r\n\r\nexport const LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_DESCRIPTION = 'LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_DESCRIPTION';\r\nexport const LECTURE_PANEL_ADMIN_SET_LECTURE_DESCRIPTION = 'LECTURE_PANEL_ADMIN_SET_LECTURE_DESCRIPTION';\r\n\r\nexport const LECTURE_PANEL_ADMIN_SET_MENU_VISIBLE = 'LECTURE_PANEL_ADMIN_SET_MENU_VISIBLE';\r\n\r\nexport const LECTURE_PANEL_ADMIN_SET_MENU_LECTURE_TITLE = 'LECTURE_PANEL_ADMIN_SET_MENU_LECTURE_TITLE';\r\nexport const LECTURE_PANEL_ADMIN_ADD_MENU_SECTION = 'LECTURE_PANEL_ADMIN_ADD_MENU_SECTION';\r\nexport const LECTURE_PANEL_ADMIN_DELETE_MENU_SECTION = 'LECTURE_PANEL_ADMIN_DELETE_MENU_SECTION';\r\nexport const LECTURE_PANEL_ADMIN_ADD_MENU_LECTURE = 'LECTURE_PANEL_ADMIN_ADD_MENU_LECTURE';\r\nexport const LECTURE_PANEL_ADMIN_DELETE_MENU_LECTURE = 'LECTURE_PANEL_ADMIN_DELETE_MENU_LECTURE';\r\n\r\nexport const LECTURE_PANEL_ADMIN_SET_SECTION_TITLE = 'LECTURE_PANEL_ADMIN_SET_SECTION_TITLE';\r\nexport const LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE_LOADING = 'LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE_LOADING';\r\n\r\nexport const LECTURE_PANEL_ADMIN_ADD_EMBED_PAGE = 'LECTURE_PANEL_ADMIN_ADD_EMBED_PAGE';\r\nexport const LECTURE_PANEL_ADMIN_DELETE_EMBED_PAGE = 'LECTURE_PANEL_ADMIN_DELETE_EMBED_PAGE';\r\n\r\nexport const LECTURE_PANEL_ADMIN_ADD_DOCUMENTATION = 'LECTURE_PANEL_ADMIN_ADD_DOCUMENTATION';\r\nexport const LECTURE_PANEL_ADMIN_DELETE_DOCUMENTATION = 'LECTURE_PANEL_ADMIN_DELETE_DOCUMENTATION';\r\nexport const LECTURE_PANEL_ADMIN_SET_DOCUMENTATIONS = 'LECTURE_PANEL_ADMIN_SET_DOCUMENTATIONS';\r\n\r\nexport const LECTURE_PANEL_ADMIN_ADD_DOWNLOAD_FILE = 'LECTURE_PANEL_ADMIN_ADD_DOWNLOAD_FILE';\r\nexport const LECTURE_PANEL_ADMIN_DELETE_DOWNLOAD_FILE = 'LECTURE_PANEL_ADMIN_DELETE_DOWNLOAD_FILE';\r\nexport const LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILES = 'LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILES';\r\nexport const LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILE_TITLE = 'LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILE_TITLE';\r\n\r\nexport const LECTURE_PANEL_ADMIN_ADD_ADDITIONAL = 'LECTURE_PANEL_ADMIN_ADD_ADDITIONAL';\r\nexport const LECTURE_PANEL_ADMIN_DELETE_ADDITIONAL = 'LECTURE_PANEL_ADMIN_DELETE_ADDITIONAL';\r\nexport const LECTURE_PANEL_ADMIN_SET_ADDITIONALS = 'LECTURE_PANEL_ADMIN_SET_ADDITIONALS';\r\n\r\nexport const LECTURE_PANEL_ADMIN_ADD_VIDEO = 'LECTURE_PANEL_ADMIN_ADD_VIDEO';\r\nexport const LECTURE_PANEL_ADMIN_DELETE_VIDEO = 'LECTURE_PANEL_ADMIN_DELETE_VIDEO';\r\n\r\nexport const LECTURE_PANEL_ADMIN_SECTION_TITLE_CHECK = 'LECTURE_PANEL_ADMIN_SECTION_TITLE_CHECK';\r\nexport const LECTURE_PANEL_ADMIN_NEW_SECTION_TITLE_CHECK = 'LECTURE_PANEL_ADMIN_NEW_SECTION_TITLE_CHECK';\r\nexport const LECTURE_PANEL_ADMIN_LECTURE_TITLE_CHECK = 'LECTURE_PANEL_ADMIN_LECTURE_TITLE_CHECK';\r\nexport const LECTURE_PANEL_ADMIN_LECTURE_DESCRIPTION_CHECK = 'LECTURE_PANEL_ADMIN_LECTURE_DESCRIPTION_CHECK';\r\n\r\n// ------------- //\r\n// *** ADMIN *** //\r\n// ------------- //\r\n// User\r\nexport const USER_ADMIN_PANEL_SET_LOADING = 'USER_ADMIN_PANEL_SET_LOADING';\r\nexport const USER_ADMIN_PANEL_SET_HAS_NEXT = 'USER_ADMIN_PANEL_SET_HAS_NEXT';\r\nexport const USER_ADMIN_PANEL_SET_PAGING_PAGE = 'USER_ADMIN_PANEL_SET_PAGING_PAGE';\r\nexport const USER_ADMIN_PANEL_SET_USERS = 'USER_ADMIN_PANEL_SET_USERS';\r\nexport const USER_ADMIN_PANEL_ADD_USERS = 'USER_ADMIN_PANEL_ADD_USERS';\r\nexport const USER_ADMIN_PANEL_DELETE_USER = 'USER_ADMIN_PANEL_DELETE_USER';\r\nexport const USER_ADMIN_PANEL_UPDATE_USER = 'USER_ADMIN_PANEL_UPDATE_USER';\r\nexport const USER_ADMIN_PANEL_UPDATE_USER_STATUS = 'USER_ADMIN_PANEL_UPDATE_USER_STATUS';\r\nexport const USER_ADMIN_PANEL_UPDATE_USER_PICTURE = 'USER_ADMIN_PANEL_UPDATE_USER_PICTURE';\r\nexport const USER_ADMIN_PANEL_SET_SEARCH_VALUE = 'USER_ADMIN_PANEL_SET_SEARCH_VALUE';\r\nexport const USER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY = 'USER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY';\r\n\r\n// Course\r\nexport const COURSE_ADMIN_PANEL_SET_LOADING = 'COURSE_ADMIN_PANEL_SET_LOADING';\r\nexport const COURSE_ADMIN_PANEL_SET_HAS_NEXT = 'COURSE_ADMIN_PANEL_SET_HAS_NEXT';\r\nexport const COURSE_ADMIN_PANEL_SET_PAGING_PAGE = 'COURSE_ADMIN_PANEL_SET_PAGING_PAGE';\r\nexport const COURSE_ADMIN_PANEL_SET_COURSES = 'COURSE_ADMIN_PANEL_SET_COURSES';\r\nexport const COURSE_ADMIN_PANEL_ADD_COURSES = 'COURSE_ADMIN_PANEL_ADD_COURSES';\r\nexport const COURSE_ADMIN_PANEL_DELETE_COURSE = 'COURSE_ADMIN_PANEL_DELETE_COURSE';\r\nexport const COURSE_ADMIN_PANEL_UPDATE_COURSE = 'COURSE_ADMIN_PANEL_UPDATE_COURSE';\r\nexport const COURSE_ADMIN_PANEL_UPDATE_COURSE_STATUS = 'COURSE_ADMIN_PANEL_UPDATE_COURSE_STATUS';\r\nexport const COURSE_ADMIN_PANEL_UPDATE_COURSE_MODEL = 'COURSE_ADMIN_PANEL_UPDATE_COURSE_MODEL';\r\nexport const COURSE_ADMIN_PANEL_UPDATE_COURSE_PICTURE = 'COURSE_ADMIN_PANEL_UPDATE_COURSE_PICTURE';\r\nexport const COURSE_ADMIN_PANEL_SET_SEARCH_VALUE = 'COURSE_ADMIN_PANEL_SET_SEARCH_VALUE';\r\n\r\nexport const COURSE_ADMIN_PANEL_ADD_USER_COURSE = 'COURSE_ADMIN_PANEL_ADD_USER_COURSE';\r\nexport const COURSE_ADMIN_PANEL_DELETE_USER_COURSE = 'COURSE_ADMIN_PANEL_DELETE_USER_COURSE';\r\n\r\n// Category\r\nexport const CATEGORY_ADMIN_PANEL_SET_LOADING = 'CATEGORY_ADMIN_PANEL_SET_LOADING';\r\nexport const CATEGORY_ADMIN_PANEL_SET_CATEGORIES = 'CATEGORY_ADMIN_PANEL_SET_CATEGORIES';\r\nexport const CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY_PICTURE = 'CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY_PICTURE';\r\nexport const CATEGORY_ADMIN_PANEL_ADD_CATEGORY = 'CATEGORY_ADMIN_PANEL_ADD_CATEGORY';\r\nexport const CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY = 'CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY';\r\nexport const CATEGORY_ADMIN_PANEL_DELETE_CATEGORY = 'CATEGORY_ADMIN_PANEL_DELETE_CATEGORY';\r\n\r\n// Voucher\r\nexport const VOUCHER_ADMIN_PANEL_SET_LOADING = 'VOUCHER_ADMIN_PANEL_SET_LOADING';\r\nexport const VOUCHER_ADMIN_PANEL_SET_HAS_NEXT = 'VOUCHER_ADMIN_PANEL_SET_HAS_NEXT';\r\nexport const VOUCHER_ADMIN_PANEL_SET_PAGING_PAGE = 'VOUCHER_ADMIN_PANEL_SET_PAGING_PAGE';\r\nexport const VOUCHER_ADMIN_PANEL_SET_SEARCH_VALUE = 'VOUCHER_ADMIN_PANEL_SET_SEARCH_VALUE';\r\nexport const VOUCHER_ADMIN_PANEL_SET_VOUCHERS = 'VOUCHER_ADMIN_PANEL_SET_VOUCHERS';\r\nexport const VOUCHER_ADMIN_PANEL_ADD_VOUCHERS = 'VOUCHER_ADMIN_PANEL_ADD_VOUCHERS';\r\nexport const VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING = 'VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING';\r\nexport const VOUCHER_ADMIN_PANEL_SET_VOUCHER_END_DATE = 'VOUCHER_ADMIN_PANEL_SET_VOUCHER_END_DATE';\r\nexport const VOUCHER_ADMIN_PANEL_DELETE_VOUCHER = 'VOUCHER_ADMIN_PANEL_DELETE_VOUCHER';\r\nexport const VOUCHER_ADMIN_PANEL_UPDATE_VOUCHER = 'VOUCHER_ADMIN_PANEL_UPDATE_VOUCHER';\r\nexport const VOUCHER_ADMIN_PANEL_ADD_COURSE_VOUCHER = 'VOUCHER_ADMIN_PANEL_ADD_COURSE_VOUCHER';\r\nexport const VOUCHER_ADMIN_PANEL_DELETE_COURSE_VOUCHER = 'VOUCHER_ADMIN_PANEL_DELETE_COURSE_VOUCHER';\r\nexport const VOUCHER_ADMIN_PANEL_DELETE_USER_VOUCHER = 'VOUCHER_ADMIN_PANEL_DELETE_USER_VOUCHER';\r\n\r\n// Tracer\r\nexport const TRACER_ADMIN_PANEL_SET_LOADING = 'TRACER_ADMIN_PANEL_SET_LOADING';\r\nexport const TRACER_ADMIN_PANEL_SET_TRACERS = 'TRACER_ADMIN_PANEL_SET_TRACERS';\r\nexport const TRACER_ADMIN_PANEL_SET_SEARCH_VALUE = 'TRACER_ADMIN_PANEL_SET_SEARCH_VALUE';\r\nexport const TRACER_ADMIN_PANEL_SET_TRACER_LOADING = 'TRACER_ADMIN_PANEL_SET_TRACER_LOADING';\r\nexport const TRACER_ADMIN_PANEL_SET_TRACER_CERTIFICATE_RECEIVED = 'TRACER_ADMIN_PANEL_SET_TRACER_CERTIFICATE_RECEIVED';\r\nexport const TRACER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY = 'TRACER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY';","import { COURSE_ADMIN_PANEL_SET_LOADING, COURSE_ADMIN_PANEL_SET_COURSES, COURSE_ADMIN_PANEL_ADD_COURSES, COURSE_ADMIN_PANEL_SET_SEARCH_VALUE, COURSE_ADMIN_PANEL_SET_HAS_NEXT, COURSE_ADMIN_PANEL_SET_PAGING_PAGE, COURSE_ADMIN_PANEL_UPDATE_COURSE_STATUS, COURSE_ADMIN_PANEL_UPDATE_COURSE_MODEL, COURSE_ADMIN_PANEL_UPDATE_COURSE_PICTURE, COURSE_ADMIN_PANEL_DELETE_COURSE, COURSE_ADMIN_PANEL_UPDATE_COURSE, COURSE_ADMIN_PANEL_ADD_USER_COURSE, COURSE_ADMIN_PANEL_DELETE_USER_COURSE } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n isLoading: true,\r\n\r\n courses: [],\r\n pagingPage: 0,\r\n hasNext: true,\r\n\r\n searchValue: ''\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case COURSE_ADMIN_PANEL_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case COURSE_ADMIN_PANEL_SET_HAS_NEXT: {\r\n return { ...state, hasNext: action.payload.hasNext };\r\n }\r\n case COURSE_ADMIN_PANEL_SET_PAGING_PAGE: {\r\n return { ...state, pagingPage: action.payload.pagingPage };\r\n }\r\n\r\n case COURSE_ADMIN_PANEL_SET_COURSES: {\r\n return { ...state, courses: action.payload.courses };\r\n }\r\n case COURSE_ADMIN_PANEL_ADD_COURSES: {\r\n return { ...state, courses: [...state.courses.concat(action.payload.courses)] };\r\n }\r\n case COURSE_ADMIN_PANEL_DELETE_COURSE: {\r\n return { ...state, courses: state.courses.filter(c => c.id !== action.payload.id) };\r\n }\r\n case COURSE_ADMIN_PANEL_UPDATE_COURSE: {\r\n return {\r\n ...state, courses: [...state.courses.map(c => {\r\n if (c.id !== action.payload.id)\r\n return c;\r\n\r\n return action.payload.course;\r\n })]\r\n }\r\n }\r\n case COURSE_ADMIN_PANEL_UPDATE_COURSE_STATUS: {\r\n const { id, enabled } = action.payload;\r\n return {\r\n ...state, courses: [...state.courses.map(c => {\r\n if (c.id !== id)\r\n return c;\r\n\r\n return { ...c, enabled };\r\n })]\r\n }\r\n }\r\n case COURSE_ADMIN_PANEL_UPDATE_COURSE_MODEL: {\r\n const { id, model } = action.payload;\r\n return {\r\n ...state, courses: [...state.courses.map(c => {\r\n if (c.id !== id)\r\n return c;\r\n\r\n return { ...c, model };\r\n })]\r\n }\r\n }\r\n case COURSE_ADMIN_PANEL_UPDATE_COURSE_PICTURE: {\r\n const { id, picture } = action.payload;\r\n return {\r\n ...state, courses: [...state.courses.map(c => {\r\n if (c.id !== id)\r\n return c;\r\n\r\n return { ...c, picture };\r\n })]\r\n }\r\n }\r\n\r\n case COURSE_ADMIN_PANEL_SET_SEARCH_VALUE: {\r\n return { ...state, searchValue: action.payload.searchValue };\r\n }\r\n\r\n case COURSE_ADMIN_PANEL_ADD_USER_COURSE: {\r\n const { courseId, user } = action.payload;\r\n return {\r\n ...state, courses: state.courses.map(c => {\r\n if (c.id !== courseId)\r\n return c;\r\n\r\n return { ...c, activesUsers: [...c.activesUsers, user] };\r\n })\r\n }\r\n }\r\n case COURSE_ADMIN_PANEL_DELETE_USER_COURSE: {\r\n const { courseId, userId } = action.payload;\r\n return {\r\n ...state, courses: state.courses.map(c => {\r\n if (c.id !== courseId)\r\n return c;\r\n\r\n return { ...c, activesUsers: c.activesUsers.filter(u => u.id !== userId) };\r\n })\r\n }\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { USER_ADMIN_PANEL_ADD_USERS, USER_ADMIN_PANEL_DELETE_USER, USER_ADMIN_PANEL_SET_HAS_NEXT, USER_ADMIN_PANEL_SET_LOADING, USER_ADMIN_PANEL_SET_PAGING_PAGE, USER_ADMIN_PANEL_SET_SEARCH_VALUE, USER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY, USER_ADMIN_PANEL_SET_USERS, USER_ADMIN_PANEL_UPDATE_USER, USER_ADMIN_PANEL_UPDATE_USER_PICTURE, USER_ADMIN_PANEL_UPDATE_USER_STATUS } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n isLoading: true,\r\n\r\n users: [],\r\n hasNext: true,\r\n pagingPage: 0,\r\n\r\n searchValue: '',\r\n showActiveUsersOnly: false,\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case USER_ADMIN_PANEL_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case USER_ADMIN_PANEL_SET_HAS_NEXT: {\r\n return { ...state, hasNext: action.payload.hasNext };\r\n }\r\n case USER_ADMIN_PANEL_SET_PAGING_PAGE: {\r\n return { ...state, pagingPage: action.payload.pagingPage };\r\n }\r\n\r\n case USER_ADMIN_PANEL_SET_SEARCH_VALUE: {\r\n return { ...state, searchValue: action.payload.searchValue };\r\n }\r\n case USER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY: {\r\n return { ...state, showActiveUsersOnly: action.payload.showActiveUsersOnly };\r\n }\r\n\r\n case USER_ADMIN_PANEL_SET_USERS: {\r\n return { ...state, users: action.payload.users };\r\n }\r\n case USER_ADMIN_PANEL_ADD_USERS: {\r\n return { ...state, users: [...state.users.concat(action.payload.users)] };\r\n }\r\n case USER_ADMIN_PANEL_UPDATE_USER: {\r\n return {\r\n ...state, users: [...state.users.map(u => {\r\n if (u.id !== action.payload.id)\r\n return u;\r\n\r\n return action.payload.user;\r\n })]\r\n }\r\n }\r\n case USER_ADMIN_PANEL_UPDATE_USER_STATUS: {\r\n const { id, confirmed } = action.payload;\r\n return {\r\n ...state, users: [...state.users.map(u => {\r\n if (u.id !== id)\r\n return u;\r\n\r\n return { ...u, confirmed };\r\n })]\r\n }\r\n }\r\n case USER_ADMIN_PANEL_UPDATE_USER_PICTURE: {\r\n const { id, picture } = action.payload;\r\n return {\r\n ...state, users: [...state.users.map(u => {\r\n if (u.id !== id)\r\n return u;\r\n\r\n return { ...u, picture };\r\n })]\r\n }\r\n }\r\n\r\n case USER_ADMIN_PANEL_DELETE_USER: {\r\n return { ...state, users: state.users.filter(u => u.id !== action.payload.id) };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { DASHBOARD_PANEL_ADD_COURSE, DASHBOARD_PANEL_SET_CERTIFICATES, DASHBOARD_PANEL_SET_CERTIFICATES_LOADING, DASHBOARD_PANEL_SET_COURSES, DASHBOARD_PANEL_SET_COURSES_LOADING } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n isCoursesLoading: true,\r\n courses: [],\r\n\r\n isCertificatesLoading: true,\r\n certificates: []\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case DASHBOARD_PANEL_SET_COURSES_LOADING: {\r\n return { ...state, isCoursesLoading: action.payload.isLoading };\r\n }\r\n case DASHBOARD_PANEL_SET_COURSES: {\r\n return { ...state, courses: action.payload.courses };\r\n }\r\n case DASHBOARD_PANEL_ADD_COURSE: {\r\n return { ...state, courses: [...state.courses, action.payload.course] };\r\n }\r\n\r\n case DASHBOARD_PANEL_SET_CERTIFICATES_LOADING: {\r\n return { ...state, isCertificatesLoading: action.payload.isLoading };\r\n }\r\n case DASHBOARD_PANEL_SET_CERTIFICATES: {\r\n return { ...state, certificates: action.payload.certificates };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","export const LECTURE_SURVEY_STEP = {\r\n START: 0,\r\n RUN: 1,\r\n RESULT: 2,\r\n ADMIN: 3\r\n};","import { LECTURE_SURVEY_STEP } from \"../../../resources/constants/lectureSurvey\";\r\nimport { LECTURE_PANEL_SET_LECTURE_LOADING, LECTURE_PANEL_SET_MENU_LOADING, LECTURE_PANEL_SET_MENU, LECTURE_PANEL_SET_LECTURE, LECTURE_PANEL_RESET, LECTURE_PANEL_SET_CURRENT_LECTURE, LECTURE_PANEL_TOGGLE_SECTION, LECTURE_PANEL_SET_LECTURE_AS_COMPLETED, LECTURE_PANEL_SET_LECTURE_AS_UNLOCKED, LECTURE_PANEL_SET_CURRENT_VIDEO_ID, LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_UPDATE, LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_TITLE, LECTURE_PANEL_ADMIN_SET_NEW_SECTION_UPDATE, LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE, LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE_STATUS, LECTURE_PANEL_ADMIN_SET_EDITING_DESCRIPTION_STATUS, LECTURE_PANEL_ADMIN_SET_SECTION_TITLE, LECTURE_PANEL_ADMIN_SECTION_TITLE_CHECK, LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE, LECTURE_PANEL_ADMIN_LECTURE_TITLE_CHECK, LECTURE_PANEL_ADMIN_SET_LECTURE_TITLE, LECTURE_PANEL_ADMIN_SET_MENU_LECTURE_TITLE, LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_DESCRIPTION, LECTURE_PANEL_ADMIN_LECTURE_DESCRIPTION_CHECK, LECTURE_PANEL_ADMIN_SET_LECTURE_DESCRIPTION, LECTURE_PANEL_ADMIN_NEW_SECTION_TITLE_CHECK, LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE_LOADING, LECTURE_PANEL_ADMIN_ADD_MENU_SECTION, LECTURE_PANEL_SET_MENU_SECTIONS, LECTURE_PANEL_ADMIN_DELETE_MENU_SECTION, LECTURE_PANEL_SET_MENU_LECTURES, LECTURE_PANEL_SET_LECTURE_AS_FREE, LECTURE_PANEL_ADMIN_ADD_MENU_LECTURE, LECTURE_PANEL_ADMIN_DELETE_MENU_LECTURE, LECTURE_PANEL_ADMIN_ADD_EMBED_PAGE, LECTURE_PANEL_ADMIN_DELETE_EMBED_PAGE, LECTURE_PANEL_ADMIN_ADD_DOCUMENTATION, LECTURE_PANEL_ADMIN_DELETE_DOCUMENTATION, LECTURE_PANEL_ADMIN_SET_DOCUMENTATIONS, LECTURE_PANEL_ADMIN_ADD_DOWNLOAD_FILE, LECTURE_PANEL_ADMIN_DELETE_DOWNLOAD_FILE, LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILES, LECTURE_PANEL_ADMIN_ADD_ADDITIONAL, LECTURE_PANEL_ADMIN_DELETE_ADDITIONAL, LECTURE_PANEL_ADMIN_SET_ADDITIONALS, LECTURE_PANEL_ADMIN_ADD_VIDEO, LECTURE_PANEL_ADMIN_DELETE_VIDEO, LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILE_TITLE, LECTURE_PANEL_SET_CREATING_LECTURE_LOADING, LECTURE_PANEL_ADMIN_SET_MENU_VISIBLE, LECTURE_PANEL_SURVEY_SET_STEP, LECTURE_PANEL_SURVEY_SET_SURVEY, LECTURE_PANEL_SURVEY_SET_LOADING, LECTURE_PANEL_SURVEY_SET_CURRENT_QUESTION_ID, LECTURE_PANEL_SURVEY_TOGGLE_SELECT_ANSWER, LECTURE_PANEL_SURVEY_SET_QUESTION_DONE, LECTURE_PANEL_SURVEY_SET_RESULTS, LECTURE_PANEL_SURVEY_SET_QUESTION_LOADING, LECTURE_PANEL_SURVEY_DELETE_QUESTION, LECTURE_PANEL_SURVEY_SET_ANSWER_CORRECT, LECTURE_PANEL_SURVEY_DELETE_ANSWER, LECTURE_PANEL_SURVEY_SET_ANSWER_LOADING, LECTURE_PANEL_SURVEY_ADD_ANSWER, LECTURE_PANEL_SURVEY_SET_ANSWERS, LECTURE_PANEL_SURVEY_SET_QUESTIONS, LECTURE_PANEL_SURVEY_SET_CREATING_LOADING, LECTURE_PANEL_SURVEY_ADD_QUESTION, LECTURE_PANEL_SURVEY_SET_QUESTION_REQUIRED, LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS, LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS_LOADING, LECTURE_PANEL_SURVEY_SET_ADMIN_RESULT_LOADING, LECTURE_PANEL_SURVEY_DELETE_ADMIN_RESULT } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n menu: null,\r\n isMenuLoading: true,\r\n\r\n lecture: null,\r\n isLectureLoading: true,\r\n currentVideoId: null,\r\n\r\n currentLectureId: null,\r\n selectedSectionId: [],\r\n\r\n isMenuVisible: false,\r\n\r\n // SURVEY\r\n surveyStep: LECTURE_SURVEY_STEP.START,\r\n survey: null,\r\n currentQuestionId: null,\r\n isSurveyLoading: false,\r\n surveyResults: null,\r\n isQuestionCreating: false,\r\n adminSurveyResults: null,\r\n isAdminSurveyResultsLoading: true,\r\n\r\n // ADMIN\r\n onInputFocus: false,\r\n updateExistingSection: null, // { id: X, title: YYY }\r\n updateNewSection: {\r\n isEditing: false,\r\n title: null,\r\n isValid: false,\r\n isLoading: true,\r\n },\r\n isSectionTitleValid: true,\r\n\r\n isEditingTitle: false,\r\n editingLectureTitle: '',\r\n isEditingLectureTitleValid: true,\r\n\r\n isEditingDescription: false,\r\n editingLectureDescription: '',\r\n isEditingLectureDescriptionValid: true,\r\n isCreatingLectureLoading: false,\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case LECTURE_PANEL_SET_MENU_LOADING: {\r\n return { ...state, isMenuLoading: action.payload.isLoading };\r\n }\r\n case LECTURE_PANEL_SET_LECTURE_LOADING: {\r\n return { ...state, isLectureLoading: action.payload.isLoading };\r\n }\r\n case LECTURE_PANEL_SET_CREATING_LECTURE_LOADING: {\r\n return { ...state, isCreatingLectureLoading: action.payload.isLoading };\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_CREATING_LOADING: {\r\n return { ...state, isQuestionCreating: action.payload.isLoading };\r\n }\r\n\r\n case LECTURE_PANEL_ADMIN_SET_MENU_VISIBLE: {\r\n return { ...state, isMenuVisible: action.payload.isVisible };\r\n }\r\n case LECTURE_PANEL_SET_MENU: {\r\n return { ...state, menu: action.payload.menu };\r\n }\r\n case LECTURE_PANEL_SET_MENU_SECTIONS: {\r\n return { ...state, menu: { ...state.menu, sections: action.payload.sections } };\r\n }\r\n case LECTURE_PANEL_SET_LECTURE: {\r\n const { lecture } = action.payload;\r\n return { ...state, lecture, currentVideoId: lecture.videos[0] ? lecture.videos[0].id : null };\r\n }\r\n case LECTURE_PANEL_SET_MENU_LECTURES: {\r\n return {\r\n ...state, menu: {\r\n ...state.menu, sections: state.menu.sections.map(s => {\r\n if (s.id !== action.payload.id)\r\n return s;\r\n\r\n return { ...s, lectures: action.payload.lectures };\r\n })\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_MENU_LECTURE_TITLE: {\r\n return {\r\n ...state, menu: {\r\n ...state.menu, sections: state.menu.sections.map(s => {\r\n return {\r\n ...s, lectures: s.lectures.map(l => {\r\n // eslint-disable-next-line eqeqeq\r\n if (l.id != action.payload.id)\r\n return l;\r\n\r\n return { ...l, title: action.payload.title };\r\n })\r\n };\r\n })\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_ADMIN_ADD_MENU_SECTION: {\r\n return {\r\n ...state, menu: {\r\n ...state.menu, sections: [...state.menu.sections, action.payload.section]\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_ADMIN_DELETE_MENU_SECTION: {\r\n return {\r\n ...state, menu: {\r\n ...state.menu, sections: state.menu.sections.filter(s => s.id !== action.payload.id)\r\n }\r\n };\r\n }\r\n\r\n case LECTURE_PANEL_ADMIN_ADD_MENU_LECTURE: {\r\n return {\r\n ...state, menu: {\r\n ...state.menu, sections: state.menu.sections.map(s => {\r\n if (s.id !== action.payload.sectionId)\r\n return s;\r\n\r\n return { ...s, lectures: [...s.lectures, action.payload.lecture] };\r\n })\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_ADMIN_DELETE_MENU_LECTURE: {\r\n return {\r\n ...state, menu: {\r\n ...state.menu, sections: state.menu.sections.map(s => {\r\n return { ...s, lectures: s.lectures.filter(l => l.id !== action.payload.id) }\r\n })\r\n }\r\n };\r\n }\r\n\r\n case LECTURE_PANEL_SET_CURRENT_LECTURE: {\r\n return { ...state, currentLectureId: parseInt(action.payload.id) };\r\n }\r\n case LECTURE_PANEL_TOGGLE_SECTION: {\r\n if (action.payload.open && !state.selectedSectionId.includes(action.payload.id)) {\r\n return { ...state, selectedSectionId: [...state.selectedSectionId, action.payload.id] };\r\n }\r\n\r\n if (!action.payload.open && state.selectedSectionId.includes(action.payload.id)) {\r\n return { ...state, selectedSectionId: state.selectedSectionId.filter(id => id !== action.payload.id) };\r\n }\r\n\r\n return state;\r\n }\r\n\r\n case LECTURE_PANEL_SET_LECTURE_AS_COMPLETED: {\r\n return {\r\n ...state, menu: {\r\n ...state.menu, sections: state.menu.sections.map(s => {\r\n return {\r\n ...s, lectures: s.lectures.map(l => {\r\n if (l.id === action.payload.id) {\r\n return { ...l, isDone: true };\r\n }\r\n\r\n return l;\r\n })\r\n };\r\n })\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_SET_LECTURE_AS_UNLOCKED: {\r\n return {\r\n ...state, menu: {\r\n ...state.menu, sections: state.menu.sections.map(s => {\r\n return {\r\n ...s, lectures: s.lectures.map(l => {\r\n if (l.id === action.payload.id) {\r\n return { ...l, isAvailable: true };\r\n }\r\n\r\n return l;\r\n })\r\n };\r\n })\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_SET_LECTURE_AS_FREE: {\r\n return { ...state, lecture: { ...state.lecture, free: action.payload.isFree } };\r\n }\r\n\r\n case LECTURE_PANEL_SET_CURRENT_VIDEO_ID: {\r\n return { ...state, currentVideoId: action.payload.id };\r\n }\r\n\r\n // ADMIN\r\n\r\n // Lecture : title\r\n case LECTURE_PANEL_ADMIN_SET_LECTURE_TITLE: {\r\n return { ...state, lecture: { ...state.lecture, title: action.payload.title } };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE_STATUS: {\r\n return { ...state, onInputFocus: action.payload.isEditing, isEditingTitle: action.payload.isEditing };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE: {\r\n return { ...state, editingLectureTitle: action.payload.title, isEditingLectureTitleValid: true };\r\n }\r\n\r\n // Lecture : description\r\n case LECTURE_PANEL_ADMIN_SET_EDITING_DESCRIPTION_STATUS: {\r\n return { ...state, onInputFocus: action.payload.isEditing, isEditingDescription: action.payload.isEditing };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_DESCRIPTION: {\r\n return { ...state, editingLectureDescription: action.payload.description, isEditingLectureDescriptionValid: true };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_LECTURE_DESCRIPTION: {\r\n return { ...state, lecture: { ...state.lecture, description: action.payload.description } };\r\n }\r\n\r\n // section\r\n case LECTURE_PANEL_ADMIN_SET_SECTION_TITLE: {\r\n return {\r\n ...state, menu: {\r\n ...state.menu, sections: [...state.menu.sections.map(s => {\r\n if (s.id !== action.payload.id)\r\n return s;\r\n\r\n return { ...s, name: action.payload.title };\r\n })]\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_NEW_SECTION_UPDATE: {\r\n return { ...state, onInputFocus: action.payload.isEditing, updateNewSection: { isEditing: action.payload.isEditing, isValid: true } };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE: {\r\n return { ...state, updateNewSection: { ...state.updateNewSection, title: action.payload.title, isValid: true } };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_TITLE: {\r\n if (!state.updateExistingSection)\r\n return state;\r\n\r\n return {\r\n ...state,\r\n updateExistingSection: { ...state.updateExistingSection, title: action.payload.title },\r\n isSectionTitleValid: true\r\n };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_UPDATE: {\r\n if (action.payload.id)\r\n return { ...state, onInputFocus: true, updateExistingSection: { id: action.payload.id, title: action.payload.title } };\r\n\r\n return { ...state, onInputFocus: false, updateExistingSection: null };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE_LOADING: {\r\n return { ...state, updateNewSection: { ...state.updateNewSection, isLoading: action.payload.isLoading } };\r\n }\r\n\r\n // Resources\r\n case LECTURE_PANEL_ADMIN_ADD_EMBED_PAGE: {\r\n return { ...state, lecture: { ...state.lecture, embedPages: [...state.lecture.embedPages, action.payload.embedPage] } };\r\n }\r\n case LECTURE_PANEL_ADMIN_DELETE_EMBED_PAGE: {\r\n return { ...state, lecture: { ...state.lecture, embedPages: state.lecture.embedPages.filter(ep => ep.id !== action.payload.id) } };\r\n }\r\n\r\n case LECTURE_PANEL_ADMIN_ADD_DOCUMENTATION: {\r\n return { ...state, lecture: { ...state.lecture, documentations: [...state.lecture.documentations, action.payload.documentation] } };\r\n }\r\n case LECTURE_PANEL_ADMIN_DELETE_DOCUMENTATION: {\r\n return { ...state, lecture: { ...state.lecture, documentations: state.lecture.documentations.filter(d => d.id !== action.payload.id) } };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_DOCUMENTATIONS: {\r\n return { ...state, lecture: { ...state.lecture, documentations: action.payload.documentations } };\r\n }\r\n\r\n case LECTURE_PANEL_ADMIN_ADD_DOWNLOAD_FILE: {\r\n return { ...state, lecture: { ...state.lecture, downloads: [...state.lecture.downloads, action.payload.download] } };\r\n }\r\n case LECTURE_PANEL_ADMIN_DELETE_DOWNLOAD_FILE: {\r\n return { ...state, lecture: { ...state.lecture, downloads: state.lecture.downloads.filter(d => d.id !== action.payload.id) } };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILES: {\r\n return { ...state, lecture: { ...state.lecture, downloads: action.payload.downloads } };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILE_TITLE: {\r\n return {\r\n ...state, lecture: {\r\n ...state.lecture, downloads: state.lecture.downloads.map(d => {\r\n if (d.id !== action.payload.id)\r\n return d;\r\n\r\n return { ...d, title: action.payload.title };\r\n })\r\n }\r\n }\r\n }\r\n\r\n case LECTURE_PANEL_ADMIN_ADD_ADDITIONAL: {\r\n return { ...state, lecture: { ...state.lecture, pictures: [...state.lecture.pictures, action.payload.picture] } };\r\n }\r\n case LECTURE_PANEL_ADMIN_DELETE_ADDITIONAL: {\r\n return { ...state, lecture: { ...state.lecture, pictures: state.lecture.pictures.filter(d => d.id !== action.payload.id) } };\r\n }\r\n case LECTURE_PANEL_ADMIN_SET_ADDITIONALS: {\r\n return { ...state, lecture: { ...state.lecture, pictures: action.payload.pictures } };\r\n }\r\n\r\n case LECTURE_PANEL_ADMIN_ADD_VIDEO: {\r\n return { ...state, lecture: { ...state.lecture, videos: [...state.lecture.videos, action.payload.video] } };\r\n }\r\n case LECTURE_PANEL_ADMIN_DELETE_VIDEO: {\r\n return { ...state, lecture: { ...state.lecture, videos: state.lecture.videos.filter(v => v.id !== action.payload.id) } };\r\n }\r\n\r\n // CHECK\r\n case LECTURE_PANEL_ADMIN_SECTION_TITLE_CHECK: {\r\n return { ...state, isSectionTitleValid: action.payload.isValid };\r\n }\r\n case LECTURE_PANEL_ADMIN_NEW_SECTION_TITLE_CHECK: {\r\n return { ...state, updateNewSection: { ...state.updateNewSection, isValid: action.payload.isValid } };\r\n }\r\n case LECTURE_PANEL_ADMIN_LECTURE_TITLE_CHECK: {\r\n return { ...state, isEditingLectureTitleValid: action.payload.isValid };\r\n }\r\n case LECTURE_PANEL_ADMIN_LECTURE_DESCRIPTION_CHECK: {\r\n return { ...state, isEditingLectureDescriptionValid: action.payload.isValid };\r\n }\r\n\r\n case LECTURE_PANEL_RESET: {\r\n return defaultState;\r\n }\r\n\r\n\r\n // SURVEY\r\n case LECTURE_PANEL_SURVEY_SET_STEP: {\r\n return { ...state, surveyStep: action.payload.step };\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_LOADING: {\r\n return { ...state, isSurveyLoading: action.payload.isLoading };\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_QUESTION_LOADING: {\r\n const { questionId, isLoading } = action.payload;\r\n return {\r\n ...state, survey: {\r\n ...state.survey, surveyQuestion: state.survey.surveyQuestion.map(q => {\r\n if (q.id === questionId) {\r\n return { ...q, isLoading };\r\n }\r\n\r\n return q;\r\n })\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_ANSWER_LOADING: {\r\n const { answerId, isLoading } = action.payload;\r\n return {\r\n ...state, survey: {\r\n ...state.survey, surveyQuestion: state.survey.surveyQuestion.map(q => {\r\n return {\r\n ...q, surveyAnswer: q.surveyAnswer.map(a => {\r\n if (a.id === answerId)\r\n return { ...a, isLoading };\r\n\r\n return a;\r\n })\r\n };\r\n })\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_SURVEY: {\r\n const { survey } = action.payload;\r\n\r\n if (survey === null)\r\n return { ...state, survey: null }\r\n \r\n return {\r\n ...state, survey: {\r\n ...survey, surveyQuestion: survey.surveyQuestion.map(q => {\r\n return { ...q, selectedAnswers: [] };\r\n })\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_CURRENT_QUESTION_ID: {\r\n return { ...state, currentQuestionId: action.payload.id };\r\n }\r\n case LECTURE_PANEL_SURVEY_TOGGLE_SELECT_ANSWER: {\r\n const { questionId, answerId } = action.payload;\r\n return {\r\n ...state, survey: {\r\n ...state.survey, surveyQuestion: state.survey.surveyQuestion.map(q => {\r\n if (q.id === questionId) {\r\n if (q.selectedAnswers?.includes(answerId))\r\n return { ...q, selectedAnswers: q.selectedAnswers.filter(q => q !== answerId) };\r\n\r\n return { ...q, selectedAnswers: [...q.selectedAnswers, answerId] };\r\n }\r\n\r\n return q;\r\n })\r\n }\r\n }\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_QUESTION_DONE: {\r\n const { questionId, done } = action.payload;\r\n return {\r\n ...state, survey: {\r\n ...state.survey, surveyQuestion: state.survey.surveyQuestion.map(q => {\r\n if (q.id === questionId)\r\n return { ...q, done };\r\n\r\n return q;\r\n })\r\n }\r\n }\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_RESULTS: {\r\n return { ...state, surveyResults: action.payload.results };\r\n }\r\n case LECTURE_PANEL_SURVEY_DELETE_QUESTION: {\r\n return {\r\n ...state, survey: {\r\n ...state.survey,\r\n surveyQuestion: state.survey.surveyQuestion.filter(q => q.id !== action.payload.questionId)\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_ANSWER_CORRECT: {\r\n const { answerId, correct } = action.payload;\r\n return {\r\n ...state, survey: {\r\n ...state.survey, surveyQuestion: state.survey.surveyQuestion.map(q => {\r\n return {\r\n ...q, surveyAnswer: q.surveyAnswer.map(a => {\r\n if (a.id === answerId)\r\n return { ...a, correct };\r\n\r\n return a;\r\n })\r\n };\r\n })\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_SURVEY_ADD_ANSWER: {\r\n return {\r\n ...state, survey: {\r\n ...state.survey, surveyQuestion: state.survey.surveyQuestion.map(q => {\r\n if (q.id === action.payload.questionId)\r\n return { ...q, surveyAnswer: [...q.surveyAnswer, action.payload.answer] };\r\n\r\n return q;\r\n })\r\n }\r\n }\r\n }\r\n case LECTURE_PANEL_SURVEY_DELETE_ANSWER: {\r\n return {\r\n ...state, survey: {\r\n ...state.survey, surveyQuestion: state.survey.surveyQuestion.map(q => {\r\n return {\r\n ...q, surveyAnswer: q.surveyAnswer.filter(a => a.id !== action.payload.answerId)\r\n };\r\n })\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_ANSWERS: {\r\n return {\r\n ...state, survey: {\r\n ...state.survey, surveyQuestion: state.survey.surveyQuestion.map(q => {\r\n if (q.id === action.payload.questionId)\r\n return {\r\n ...q, surveyAnswer: action.payload.answers\r\n };\r\n\r\n return q;\r\n })\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_QUESTIONS: {\r\n return {\r\n ...state, survey: {\r\n ...state.survey, surveyQuestion: action.payload.questions\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_SURVEY_ADD_QUESTION: {\r\n return {\r\n ...state, survey: {\r\n ...state.survey, surveyQuestion: [...state.survey.surveyQuestion, action.payload.question]\r\n }\r\n };\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_QUESTION_REQUIRED: {\r\n return {\r\n ...state, survey: {\r\n ...state.survey, surveyQuestion: state.survey.surveyQuestion.map(q => {\r\n if (q.id === action.payload.questionId)\r\n return {\r\n ...q, required: action.payload.required\r\n };\r\n\r\n return q;\r\n })\r\n }\r\n };\r\n }\r\n\r\n case LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS_LOADING: {\r\n return { ...state, isAdminSurveyResultsLoading: action.payload.isLoading };\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS: {\r\n return { ...state, adminSurveyResults: action.payload.results };\r\n }\r\n case LECTURE_PANEL_SURVEY_SET_ADMIN_RESULT_LOADING: {\r\n return {\r\n ...state, adminSurveyResults: state.adminSurveyResults.map(r => {\r\n if (r.id === action.payload.id)\r\n return { ...r, isLoading: action.payload.isLoading };\r\n\r\n return r;\r\n })\r\n }\r\n }\r\n case LECTURE_PANEL_SURVEY_DELETE_ADMIN_RESULT: {\r\n return {\r\n ...state, adminSurveyResults: state.adminSurveyResults.filter(r => r.id !== action.payload.id)\r\n }\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { PREFERENCE_PANEL_COMPANY_CHECK, PREFERENCE_PANEL_CURRENT_PASSWORD_CHECK, PREFERENCE_PANEL_FIRSTNAME_CHECK, PREFERENCE_PANEL_HAS_CURRENT_PASSWORD, PREFERENCE_PANEL_LASTNAME_CHECK, PREFERENCE_PANEL_NEW_PASSWORD_CHECK, PREFERENCE_PANEL_PHONE_CHECK, PREFERENCE_PANEL_RENEW_PASSWORD_CHECK, PREFERENCE_PANEL_SET_COMPANY, PREFERENCE_PANEL_SET_CURRENT_PASSWORD, PREFERENCE_PANEL_SET_EMAIL, PREFERENCE_PANEL_SET_FIRSTNAME, PREFERENCE_PANEL_SET_INFORMATIONS_LOADING, PREFERENCE_PANEL_SET_LASTNAME, PREFERENCE_PANEL_SET_NEW_PASSWORD, PREFERENCE_PANEL_SET_PHONE, PREFERENCE_PANEL_SET_RENEW_PASSWORD, PREFERENCE_PANEL_SET_INFORMATIONS, PREFERENCE_PANEL_SET_CONFIRMATION_EMAIL_LOADING, PREFERENCE_PANEL_SET_CONFIRMATION_EMAIL_STATUS, PREFERENCE_PANEL_SET_SECURITY_LOADING, PREFERENCE_PANEL_SET_PICTURE_LOADING, PREFERENCE_PANEL_SET_PICTURE, PREFERENCE_PANEL_SET_SESSIONS, PREFERENCE_PANEL_SET_SESSION_LOADING, PREFERENCE_PANEL_SET_SESSION_ACTION_LOADING, PREFERENCE_PANEL_DELETE_SESSION } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n panel: null,\r\n isPanelLoading: true,\r\n\r\n user: null,\r\n\r\n // Informations\r\n email: '',\r\n firstname: '',\r\n lastname: '',\r\n phone: '',\r\n company: '',\r\n isConfirmedAccount: true,\r\n isConfirmationEmailLoading: false,\r\n isConfirmationEmailSent: false,\r\n\r\n isFirstnameValid: true,\r\n isLastnameValid: true,\r\n isPhoneValid: true,\r\n isCompanyValid: true,\r\n isInformationsLoading: false,\r\n\r\n // Password\r\n hasCurrentPassword: false,\r\n currentPassword: '',\r\n newPassword: '',\r\n renewPassword: '',\r\n\r\n isCurrentPasswordValid: true,\r\n isNewPasswordValid: true,\r\n isRenewPasswordValid: true,\r\n\r\n isSecurityLoading: false,\r\n\r\n // Session,\r\n isSessionLoading: true,\r\n sessions: [],\r\n isSessionActionLoading: false,\r\n\r\n // Photo\r\n isPictureLoading: false,\r\n photoLink: null\r\n}\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case PREFERENCE_PANEL_SET_INFORMATIONS_LOADING: {\r\n return { ...state, isInformationsLoading: action.payload.isLoading };\r\n }\r\n\r\n case PREFERENCE_PANEL_SET_INFORMATIONS: {\r\n const { email, firstname, lastname, phone, company, confirmed } = action.payload.user;\r\n return {\r\n ...state,\r\n email: email || '',\r\n firstname: firstname || '',\r\n lastname: lastname || '',\r\n phone: phone || '',\r\n company: company || '',\r\n isConfirmedAccount: confirmed\r\n };\r\n }\r\n case PREFERENCE_PANEL_SET_CONFIRMATION_EMAIL_LOADING: {\r\n return { ...state, isConfirmationEmailLoading: action.payload.isLoading };\r\n }\r\n case PREFERENCE_PANEL_SET_CONFIRMATION_EMAIL_STATUS: {\r\n return { ...state, isConfirmationEmailSent: action.payload.isSent };\r\n }\r\n\r\n case PREFERENCE_PANEL_SET_EMAIL: {\r\n return { ...state, email: action.payload.email };\r\n }\r\n case PREFERENCE_PANEL_SET_FIRSTNAME: {\r\n return { ...state, firstname: action.payload.firstname, isFirstnameValid: true };\r\n }\r\n case PREFERENCE_PANEL_SET_LASTNAME: {\r\n return { ...state, lastname: action.payload.lastname, isLastnameValid: true };\r\n }\r\n case PREFERENCE_PANEL_SET_PHONE: {\r\n return { ...state, phone: action.payload.phone, isPhoneValid: true };\r\n }\r\n case PREFERENCE_PANEL_SET_COMPANY: {\r\n return { ...state, company: action.payload.company, isCompanyValid: true };\r\n }\r\n\r\n case PREFERENCE_PANEL_SET_SECURITY_LOADING: {\r\n return { ...state, isSecurityLoading: action.payload.isLoading };\r\n }\r\n\r\n case PREFERENCE_PANEL_HAS_CURRENT_PASSWORD: {\r\n return { ...state, hasCurrentPassword: action.payload.hasCurrent };\r\n }\r\n case PREFERENCE_PANEL_SET_CURRENT_PASSWORD: {\r\n return { ...state, currentPassword: action.payload.password, isCurrentPasswordValid: true };\r\n }\r\n case PREFERENCE_PANEL_SET_NEW_PASSWORD: {\r\n return { ...state, newPassword: action.payload.password, isNewPasswordValid: true };\r\n }\r\n case PREFERENCE_PANEL_SET_RENEW_PASSWORD: {\r\n return { ...state, renewPassword: action.payload.password, isRenewPasswordValid: true };\r\n }\r\n\r\n case PREFERENCE_PANEL_SET_SESSION_LOADING: {\r\n return { ...state, isSessionLoading: action.payload.isLoading };\r\n }\r\n case PREFERENCE_PANEL_SET_SESSION_ACTION_LOADING: {\r\n return { ...state, isSessionActionLoading: action.payload.isLoading };\r\n }\r\n case PREFERENCE_PANEL_SET_SESSIONS: {\r\n return { ...state, sessions: action.payload.sessions };\r\n }\r\n case PREFERENCE_PANEL_DELETE_SESSION: {\r\n return { ...state, sessions: state.sessions.filter(s => s.id !== action.payload.id) };\r\n }\r\n\r\n case PREFERENCE_PANEL_SET_PICTURE_LOADING: {\r\n return { ...state, isPictureLoading: action.payload.isLoading };\r\n }\r\n case PREFERENCE_PANEL_SET_PICTURE: {\r\n return { ...state, photoLink: action.payload.link };\r\n }\r\n\r\n\r\n // CHECK\r\n case PREFERENCE_PANEL_FIRSTNAME_CHECK: {\r\n return { ...state, isFirstnameValid: action.payload.isValid };\r\n }\r\n case PREFERENCE_PANEL_LASTNAME_CHECK: {\r\n return { ...state, isLastnameValid: action.payload.isValid };\r\n }\r\n case PREFERENCE_PANEL_PHONE_CHECK: {\r\n return { ...state, isPhoneValid: action.payload.isValid };\r\n }\r\n case PREFERENCE_PANEL_COMPANY_CHECK: {\r\n return { ...state, isCompanyValid: action.payload.isValid };\r\n }\r\n\r\n case PREFERENCE_PANEL_CURRENT_PASSWORD_CHECK: {\r\n return { ...state, isCurrentPasswordValid: action.payload.isValid };\r\n }\r\n case PREFERENCE_PANEL_NEW_PASSWORD_CHECK: {\r\n return { ...state, isNewPasswordValid: action.payload.isValid };\r\n }\r\n case PREFERENCE_PANEL_RENEW_PASSWORD_CHECK: {\r\n return { ...state, isRenewPasswordValid: action.payload.isValid };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { MENU_SET_RESULT_VISIBLE, MENU_SET_SEARCHING_VALUE, MENU_SET_CATEGORIES_LOADING, MENU_SET_CATEGORIES, MENU_SET_MOBILE_MENU, MENU_SET_SEARCHING_RESULT, MENU_SET_SEARCHING_LOADING, MENU_SET_LOADED } from \"../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n isResultVisible: false,\r\n mobileMenu: null,\r\n\r\n searchingValue: '',\r\n searchingResults: [],\r\n isSearchingLoading: true,\r\n\r\n categories: [],\r\n isCategoriesLoading: true,\r\n\r\n loaded: false\r\n}\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case MENU_SET_RESULT_VISIBLE: {\r\n return { ...state, isResultVisible: action.payload.isVisible };\r\n }\r\n case MENU_SET_MOBILE_MENU: {\r\n return { ...state, mobileMenu: action.payload.menu };\r\n }\r\n\r\n case MENU_SET_SEARCHING_VALUE: {\r\n return { ...state, searchingValue: action.payload.value };\r\n }\r\n case MENU_SET_SEARCHING_RESULT: {\r\n return { ...state, searchingResults: action.payload.results };\r\n }\r\n case MENU_SET_SEARCHING_LOADING: {\r\n return { ...state, isSearchingLoading: action.payload.isLoading };\r\n }\r\n\r\n case MENU_SET_CATEGORIES_LOADING: {\r\n return { ...state, isCategoriesLoading: action.payload.isLoading };\r\n }\r\n case MENU_SET_CATEGORIES: {\r\n return { ...state, categories: action.payload.categories };\r\n }\r\n\r\n case MENU_SET_LOADED: {\r\n return { ...state, isLoaded: action.payload.isLoaded };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { ASSIGN_ADDITIONAL_ADMIN_POPUP_ADD_FILE, ASSIGN_ADDITIONAL_ADMIN_POPUP_RESET, ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_ENABLED, ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_ERROR, ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_PROGRESS, ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_LECTURE_ID, ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_LOADING } from \"../../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: false,\r\n\r\n lectureId: null,\r\n\r\n files: []\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case ASSIGN_ADDITIONAL_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.popupEnabled };\r\n }\r\n case ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_LECTURE_ID: {\r\n return { ...state, lectureId: action.payload.id };\r\n }\r\n case ASSIGN_ADDITIONAL_ADMIN_POPUP_ADD_FILE: {\r\n return { ...state, files: [...state.files, action.payload.file] }\r\n }\r\n case ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_PROGRESS: {\r\n return {\r\n ...state, files: state.files.map(f => {\r\n if (f.id !== action.payload.id)\r\n return f;\r\n\r\n return { ...f, progress: action.payload.progress };\r\n })\r\n }\r\n }\r\n case ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_ERROR: {\r\n return {\r\n ...state, files: state.files.map(f => {\r\n if (f.id !== action.payload.id)\r\n return f;\r\n\r\n return { ...f, error: action.payload.error };\r\n })\r\n }\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ASSIGN_CATEGORY_ADMIN_POPUP_ADD_SELECTED_CATEGORY, ASSIGN_CATEGORY_ADMIN_POPUP_RESET, ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORIES, ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORY_LOADING, ASSIGN_CATEGORY_ADMIN_POPUP_SET_COURSE_ID, ASSIGN_CATEGORY_ADMIN_POPUP_SET_ENABLED, ASSIGN_CATEGORY_ADMIN_POPUP_SET_LOADING, ASSIGN_CATEGORY_ADMIN_POPUP_SET_SEARCH_VALUE, ASSIGN_CATEGORY_ADMIN_POPUP_SET_SELECTED_CATEGORIES } from \"../../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: true,\r\n\r\n categories: [],\r\n\r\n courseId: null,\r\n selectedCategories: [],\r\n\r\n searchValue: ''\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case ASSIGN_CATEGORY_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case ASSIGN_CATEGORY_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.popupEnabled };\r\n }\r\n case ASSIGN_CATEGORY_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case ASSIGN_CATEGORY_ADMIN_POPUP_SET_SEARCH_VALUE: {\r\n return { ...state, searchValue: action.payload.searchValue };\r\n }\r\n\r\n case ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORIES: {\r\n return { ...state, categories: action.payload.categories };\r\n }\r\n case ASSIGN_CATEGORY_ADMIN_POPUP_SET_SELECTED_CATEGORIES: {\r\n return { ...state, selectedCategories: action.payload.categories };\r\n }\r\n case ASSIGN_CATEGORY_ADMIN_POPUP_ADD_SELECTED_CATEGORY: {\r\n return { ...state, selectedCategories: [...state.selectedCategories, action.payload.id] };\r\n }\r\n case ASSIGN_CATEGORY_ADMIN_POPUP_SET_COURSE_ID: {\r\n return { ...state, courseId: action.payload.id };\r\n }\r\n case ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORY_LOADING: {\r\n return {\r\n ...state, categories: state.categories.map(c => {\r\n if (c.id !== action.payload.id)\r\n return c;\r\n\r\n return { ...c, isLoading: action.payload.isLoading };\r\n })\r\n }\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ASSIGN_LECTURE_ADMIN_POPUP_RESET, ASSIGN_LECTURE_ADMIN_POPUP_SET_ENABLED, ASSIGN_LECTURE_ADMIN_POPUP_SET_LOADING, ASSIGN_LECTURE_ADMIN_POPUP_SET_SECTION_ID, ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURES, ASSIGN_LECTURE_ADMIN_POPUP_ADD_LECTURES, ASSIGN_LECTURE_ADMIN_POPUP_SET_SEARCH_VALUE, ASSIGN_LECTURE_ADMIN_POPUP_SET_HAS_NEXT, ASSIGN_LECTURE_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_LECTURE_ADMIN_POPUP_SET_ADD_NEW_LOADING, ASSIGN_LECTURE_ADMIN_POPUP_ADD_SELECTED_LECTURE, ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURE_LOADING } from \"../../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: true,\r\n isAddNewLoading: false,\r\n\r\n sectionId: null,\r\n lectures: [],\r\n selectedLectures: [],\r\n\r\n hasNext: true,\r\n pagingPage: 0,\r\n\r\n searchValue: '',\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case ASSIGN_LECTURE_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case ASSIGN_LECTURE_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.popupEnabled };\r\n }\r\n case ASSIGN_LECTURE_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case ASSIGN_LECTURE_ADMIN_POPUP_SET_ADD_NEW_LOADING: {\r\n return { ...state, isAddNewLoading: action.payload.isLoading };\r\n }\r\n\r\n case ASSIGN_LECTURE_ADMIN_POPUP_SET_SECTION_ID: {\r\n return { ...state, sectionId: action.payload.id };\r\n }\r\n\r\n case ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURES: {\r\n return { ...state, lectures: action.payload.lectures };\r\n }\r\n case ASSIGN_LECTURE_ADMIN_POPUP_ADD_LECTURES: {\r\n return { ...state, lectures: state.lectures.concat(action.payload.lectures) };\r\n }\r\n\r\n case ASSIGN_LECTURE_ADMIN_POPUP_ADD_SELECTED_LECTURE: {\r\n return { ...state, selectedLectures: [...state.selectedLectures, action.payload.id] }\r\n }\r\n case ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURE_LOADING: {\r\n return {\r\n ...state, lectures: state.lectures.map(l => {\r\n if(l.id !== action.payload.id)\r\n return l;\r\n\r\n return {...l, isLoading: action.payload.isLoading};\r\n })\r\n }\r\n }\r\n\r\n case ASSIGN_LECTURE_ADMIN_POPUP_SET_SEARCH_VALUE: {\r\n return { ...state, searchValue: action.payload.searchValue };\r\n }\r\n case ASSIGN_LECTURE_ADMIN_POPUP_SET_HAS_NEXT: {\r\n return { ...state, hasNext: action.payload.hasNext };\r\n }\r\n case ASSIGN_LECTURE_ADMIN_POPUP_SET_PAGING_PAGE: {\r\n return { ...state, pagingPage: action.payload.pagingPage };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ASSIGN_SECTION_ADMIN_POPUP_RESET, ASSIGN_SECTION_ADMIN_POPUP_SET_ENABLED, ASSIGN_SECTION_ADMIN_POPUP_SET_LOADING, ASSIGN_SECTION_ADMIN_POPUP_SET_COURSE_ID, ASSIGN_SECTION_ADMIN_POPUP_SET_SECTIONS, ASSIGN_SECTION_ADMIN_POPUP_ADD_SECTIONS, ASSIGN_SECTION_ADMIN_POPUP_SET_SEARCH_VALUE, ASSIGN_SECTION_ADMIN_POPUP_SET_HAS_NEXT, ASSIGN_SECTION_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_SECTION_ADMIN_POPUP_ADD_SELECTED_SECTION, ASSIGN_SECTION_ADMIN_POPUP_SET_SECTION_LOADING } from \"../../../actions/ActionTypes\";\r\n\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: true,\r\n\r\n courseId: null,\r\n sections: [],\r\n selectedSections: [],\r\n\r\n hasNext: true,\r\n pagingPage: 0,\r\n\r\n searchValue: '',\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case ASSIGN_SECTION_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case ASSIGN_SECTION_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.popupEnabled };\r\n }\r\n case ASSIGN_SECTION_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case ASSIGN_SECTION_ADMIN_POPUP_SET_COURSE_ID: {\r\n return { ...state, courseId: action.payload.id };\r\n }\r\n\r\n case ASSIGN_SECTION_ADMIN_POPUP_SET_SECTIONS: {\r\n return { ...state, sections: action.payload.sections };\r\n }\r\n case ASSIGN_SECTION_ADMIN_POPUP_ADD_SECTIONS: {\r\n return { ...state, sections: state.sections.concat(action.payload.sections) };\r\n }\r\n\r\n case ASSIGN_SECTION_ADMIN_POPUP_ADD_SELECTED_SECTION: {\r\n return { ...state, selectedSections: [...state.selectedSections, action.payload.id] };\r\n }\r\n case ASSIGN_SECTION_ADMIN_POPUP_SET_SECTION_LOADING: {\r\n return {\r\n ...state, sections: state.sections.map(s => {\r\n if(s.id !== action.payload.id)\r\n return s;\r\n\r\n return {...s, isLoading: action.payload.isLoading};\r\n })\r\n }\r\n }\r\n\r\n case ASSIGN_SECTION_ADMIN_POPUP_SET_SEARCH_VALUE: {\r\n return { ...state, searchValue: action.payload.searchValue };\r\n }\r\n case ASSIGN_SECTION_ADMIN_POPUP_SET_HAS_NEXT: {\r\n return { ...state, hasNext: action.payload.hasNext };\r\n }\r\n case ASSIGN_SECTION_ADMIN_POPUP_SET_PAGING_PAGE: {\r\n return { ...state, pagingPage: action.payload.pagingPage };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ASSIGN_VIDEO_ADMIN_POPUP_ADD_SELECTED_VIDEO, ASSIGN_VIDEO_ADMIN_POPUP_ADD_VIDEOS, ASSIGN_VIDEO_ADMIN_POPUP_DELETE_VIDEO, ASSIGN_VIDEO_ADMIN_POPUP_RESET, ASSIGN_VIDEO_ADMIN_POPUP_SET_ENABLED, ASSIGN_VIDEO_ADMIN_POPUP_SET_HAS_NEXT, ASSIGN_VIDEO_ADMIN_POPUP_SET_LECTURE_ID, ASSIGN_VIDEO_ADMIN_POPUP_SET_LOADING, ASSIGN_VIDEO_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_VIDEO_ADMIN_POPUP_SET_SEARCH_VALUE, ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEOS, ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEO_LOADING } from \"../../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: true,\r\n\r\n lectureId: null,\r\n videos: [],\r\n selectedVideos: [],\r\n\r\n hasNext: true,\r\n pagingPage: 0,\r\n\r\n searchValue: ''\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case ASSIGN_VIDEO_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case ASSIGN_VIDEO_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.popupEnabled };\r\n }\r\n case ASSIGN_VIDEO_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case ASSIGN_VIDEO_ADMIN_POPUP_SET_LECTURE_ID: {\r\n return { ...state, lectureId: action.payload.id };\r\n }\r\n\r\n case ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEOS: {\r\n return { ...state, videos: action.payload.videos };\r\n }\r\n case ASSIGN_VIDEO_ADMIN_POPUP_ADD_VIDEOS: {\r\n return { ...state, videos: state.videos.concat(action.payload.videos) };\r\n }\r\n\r\n case ASSIGN_VIDEO_ADMIN_POPUP_ADD_SELECTED_VIDEO: {\r\n return { ...state, selectedVideos: [...state.selectedVideos, action.payload.id] }\r\n }\r\n case ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEO_LOADING: {\r\n return {\r\n ...state, videos: state.videos.map(l => {\r\n if (l.guid !== action.payload.id)\r\n return l;\r\n\r\n return { ...l, isLoading: action.payload.isLoading };\r\n })\r\n }\r\n }\r\n case ASSIGN_VIDEO_ADMIN_POPUP_DELETE_VIDEO: {\r\n return {\r\n ...state, videos: state.videos.filter(v => v.guid !== action.payload.id)\r\n }\r\n }\r\n\r\n case ASSIGN_VIDEO_ADMIN_POPUP_SET_SEARCH_VALUE: {\r\n return { ...state, searchValue: action.payload.searchValue };\r\n }\r\n case ASSIGN_VIDEO_ADMIN_POPUP_SET_HAS_NEXT: {\r\n return { ...state, hasNext: action.payload.hasNext };\r\n }\r\n case ASSIGN_VIDEO_ADMIN_POPUP_SET_PAGING_PAGE: {\r\n return { ...state, pagingPage: action.payload.pagingPage };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","export const ADMIN_PANEL = {\r\n COURSES: 'courses',\r\n USERS: 'users',\r\n CATEGORIES: 'categories',\r\n VOUCHERS: 'vouchers',\r\n TRACER: 'tracer'\r\n};\r\n\r\n// USERS\r\nexport const ADMIN_USER_MENU_TYPE = {\r\n OVERVIEW: 0,\r\n SECURITY: 1,\r\n COURSES: 2,\r\n CERTIFICATES: 3,\r\n SURVEYS: 4\r\n};\r\n\r\nexport const ADMIN_USER_MENU = [\r\n {\r\n id: ADMIN_USER_MENU_TYPE.OVERVIEW,\r\n title: 'Vue générale',\r\n },\r\n {\r\n id: ADMIN_USER_MENU_TYPE.SECURITY,\r\n title: 'Sécurité',\r\n disabled: true\r\n },\r\n {\r\n id: ADMIN_USER_MENU_TYPE.COURSES,\r\n title: 'Formations assignées',\r\n disabled: true\r\n },\r\n {\r\n id: ADMIN_USER_MENU_TYPE.CERTIFICATES,\r\n title: 'Certificats',\r\n disabled: true\r\n },\r\n {\r\n id: ADMIN_USER_MENU_TYPE.SURVEYS,\r\n title: 'Questionnaires',\r\n disabled: true\r\n }\r\n];\r\n\r\n// COURSES\r\nexport const ADMIN_COURSE_MENU_TYPE = {\r\n OVERVIEW: 0,\r\n DETAILS: 1,\r\n USERS: 2\r\n};\r\n\r\nexport const ADMIN_COURSE_MENU = [\r\n {\r\n id: ADMIN_COURSE_MENU_TYPE.OVERVIEW,\r\n title: 'Vue générale'\r\n },\r\n {\r\n id: ADMIN_COURSE_MENU_TYPE.DETAILS,\r\n title: 'Informations détaillées',\r\n disabled: true\r\n },\r\n {\r\n id: ADMIN_COURSE_MENU_TYPE.USERS,\r\n title: 'Etudiants assignés',\r\n disabled: true\r\n }\r\n];\r\n\r\n// CATEGORY\r\nexport const ADMIN_CATEGORY_MENU_TYPE = {\r\n OVERVIEW: 0,\r\n COURSES: 1,\r\n};\r\n\r\nexport const ADMIN_CATEGORY_MENU = [\r\n {\r\n id: ADMIN_CATEGORY_MENU_TYPE.OVERVIEW,\r\n title: 'Vue générale'\r\n },\r\n {\r\n id: ADMIN_CATEGORY_MENU_TYPE.COURSES,\r\n title: 'Formations',\r\n disabled: true\r\n }\r\n];\r\n\r\n// VOUCHER\r\nexport const ADMIN_VOUCHER_MENU_TYPE = {\r\n OVERVIEW: 0,\r\n COURSES: 1,\r\n USERS: 2\r\n};\r\n\r\nexport const ADMIN_VOUCHER_MENU = [\r\n {\r\n id: ADMIN_VOUCHER_MENU_TYPE.OVERVIEW,\r\n title: 'Vue générale'\r\n },\r\n {\r\n id: ADMIN_VOUCHER_MENU_TYPE.COURSES,\r\n title: 'Formations',\r\n disabled: true\r\n },\r\n {\r\n id: ADMIN_VOUCHER_MENU_TYPE.USERS,\r\n title: 'Etudiants assignés',\r\n disabled: true\r\n }\r\n];","export const DURATION_TYPE = {\r\n HOUR: 0,\r\n DAY: 1,\r\n MONTH: 2,\r\n YEAR: 3\r\n};\r\n\r\nexport const DURATION_LBL = [\r\n { value: DURATION_TYPE.HOUR, label: 'heures' },\r\n { value: DURATION_TYPE.DAY, label: 'jours' },\r\n { value: DURATION_TYPE.MONTH, label: 'mois' },\r\n { value: DURATION_TYPE.YEAR, label: 'ans' }\r\n];","export const LANGUAGE_TYPE = {\r\n FR: 'fr',\r\n EN: 'en',\r\n};\r\n\r\nexport const LANGUAGE_LBL = [\r\n { value: LANGUAGE_TYPE.FR, label: 'Français' },\r\n { value: LANGUAGE_TYPE.EN, label: 'Anglais' },\r\n];","export const LECTURE_TYPE = {\r\n VIDEO : 0,\r\n EMBEDPAGE : 1,\r\n ADDITIONAL : 2,\r\n DOWNLOAD: 3,\r\n DOCUMENTATION: 4,\r\n SURVEY: 5\r\n};","import Slug from 'speakingurl';\r\nimport { LECTURE_TYPE } from './resources/constants/lectureType';\r\nimport { store } from 'react-notifications-component';\r\nimport { DURATION_TYPE } from './resources/constants/durationType';\r\nimport i18n from 'i18next';\r\n\r\nexport const landingZero = int => {\r\n return int < 10 ? `0${int}` : int\r\n}\r\n\r\nexport const convertStringForUrl = name => {\r\n return Slug(name);\r\n}\r\n\r\nexport const getIconLecture = (lectureType) => {\r\n switch (lectureType) {\r\n case LECTURE_TYPE.Video:\r\n return 'play_circle_outline';\r\n case LECTURE_TYPE.EmbedPage:\r\n return 'pageview';\r\n case LECTURE_TYPE.Annexe:\r\n return 'attach_file';\r\n case LECTURE_TYPE.Resource:\r\n return 'attach_file';\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nexport const createNotification = (title, message, type) => {\r\n store.addNotification({\r\n title: title,\r\n message: message,\r\n type: type,\r\n insert: \"top\",\r\n container: \"top-right\",\r\n animationIn: [\"animate__animated\", \"animate__bounceIn\"],\r\n animationOut: [\"animate__animated\", \"animate__bounceOut\"],\r\n dismiss: {\r\n duration: 5000,\r\n onScreen: true,\r\n pauseOnHover: true\r\n }\r\n });\r\n}\r\n\r\nexport const isValidEmail = email => {\r\n return (/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/).test(email); //eslint-disable-line\r\n}\r\n\r\nexport const isValidPassword = password => {\r\n return (/^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[a-zA-Z]).{8,}$/).test(password); //eslint-disable-line\r\n}\r\n\r\nexport const convertStringToDate = (str) => {\r\n const date = new Date(str);\r\n\r\n return `${landingZero(date.getDate())}/${landingZero(date.getMonth() + 1)}/${landingZero(date.getFullYear())}`;\r\n}\r\n\r\nexport const convertStringToTime = (str) => {\r\n const date = new Date(str);\r\n\r\n return `${landingZero(date.getHours())}:${landingZero(date.getMinutes())}`;\r\n}\r\n\r\nexport const convertSecondToTime = seconds => {\r\n const hour = Math.floor(seconds / 3600);\r\n const minute = Math.floor(seconds % 3600 / 60);\r\n const second = Math.floor(seconds % 3600 % 60);\r\n\r\n if (!seconds)\r\n return '0';\r\n\r\n if (hour > 0)\r\n return `${landingZero(hour)}:${landingZero(minute)}:${landingZero(second)}`;\r\n\r\n if (minute > 0)\r\n return `${landingZero(minute)}:${landingZero(second)}`;\r\n\r\n return `${second} sec.`;\r\n}\r\n\r\nexport const convertSecondToRemainingTime = (seconds) => {\r\n if (!seconds || seconds <= 0)\r\n return `--:--`;\r\n\r\n const hour = Math.floor(seconds / 3600);\r\n const minute = Math.floor(seconds % 3600 / 60);\r\n const second = Math.floor(seconds % 3600 % 60);\r\n\r\n let str = '';\r\n if (hour)\r\n str = `${hour}:`;\r\n\r\n return `${str}${landingZero(minute)}:${landingZero(second)}`;\r\n}\r\n\r\nexport const convertSecondToAverageTime = (seconds) => {\r\n const hour = Math.floor(seconds / 3600);\r\n const minute = Math.floor(seconds % 3600 / 60);\r\n const second = Math.floor(seconds % 3600 % 60);\r\n\r\n if (seconds === 0)\r\n return '0';\r\n\r\n if (hour > 0)\r\n return `${landingZero(hour)}:${landingZero(minute)}`;\r\n\r\n if (minute > 0)\r\n return `${minute} min`;\r\n\r\n return `${second} sec.`;\r\n}\r\n\r\nexport const timeRemainingForNow = (date) => {\r\n const currentDate = new Date(date);\r\n const now = new Date();\r\n let diffInMilliSeconds = Math.abs(currentDate - now) / 1000;\r\n\r\n const days = Math.floor(diffInMilliSeconds / 86400);\r\n diffInMilliSeconds -= days * 86400;\r\n\r\n // calculate hours\r\n const hours = Math.floor(diffInMilliSeconds / 3600) % 24;\r\n diffInMilliSeconds -= hours * 3600;\r\n\r\n const isExpired = currentDate < now;\r\n let str = isExpired ? `${i18n.t(\"EXPIRED_FOR\")} ` : `${i18n.t(\"EXPIRES_IN\")} `;\r\n\r\n if (days > 0) {\r\n str += `${days} ${days > 1 ? `${i18n.t(\"DAYS\")}` : `${i18n.t(\"DAY\")}`}`;\r\n } else {\r\n str += `${hours} ${hours > 1 ? `${i18n.t(\"HOURS\")}` : `${i18n.t(\"HOUR\")}`}`;\r\n }\r\n\r\n return {\r\n isExpired,\r\n str\r\n };\r\n}\r\n\r\nexport const elemParentContainsClassNames = (elem, className) => {\r\n const classes = elem.path.map(e => {\r\n if (!e || !e.getAttribute)\r\n return null;\r\n\r\n let classes = e.getAttribute('class');\r\n if (!classes)\r\n return null;\r\n\r\n return classes.split(' ');\r\n }).flat(1);\r\n\r\n return classes.includes(className);\r\n}\r\n\r\nexport const convertHourToDuration = (time) => {\r\n if (time % 21600 === 0) // Year\r\n return { type: DURATION_TYPE.YEAR, value: time / 21600 };\r\n\r\n if (time % 720 === 0) // Month\r\n return { type: DURATION_TYPE.MONTH, value: time / 720 };\r\n\r\n if (time % 24 === 0) // Day\r\n return { type: DURATION_TYPE.DAY, value: time / 24 };\r\n\r\n return { type: DURATION_TYPE.HOUR, value: time };\r\n}\r\n\r\nexport const convertDurationToHour = (value, durationType) => {\r\n let totalExpiryHour = value;\r\n\r\n if (!durationType)\r\n return totalExpiryHour;\r\n\r\n if (durationType.value === DURATION_TYPE.DAY)\r\n totalExpiryHour *= 24;\r\n\r\n if (durationType.value === DURATION_TYPE.MONTH)\r\n totalExpiryHour *= (24 * 30);\r\n\r\n if (durationType.value === DURATION_TYPE.YEAR)\r\n totalExpiryHour *= (24 * 30 * 365);\r\n\r\n return totalExpiryHour;\r\n}\r\n\r\nexport const generateArrayRandomValue = (nb = 5, min = 5, max = 10) => {\r\n let values = [];\r\n\r\n for (let i = 0; i < nb; i++) {\r\n values.push(Math.floor(Math.random() * max) + min);\r\n }\r\n\r\n return values;\r\n}\r\n\r\nexport const formatPrice = (price) => {\r\n return new Intl.NumberFormat('fr-BE').format(price);\r\n}","import { ADMIN_COURSE_MENU } from \"../../../../resources/constants/adminPanel\";\r\nimport { DURATION_LBL } from \"../../../../resources/constants/durationType\";\r\nimport { LANGUAGE_LBL } from \"../../../../resources/constants/lang\";\r\nimport { convertHourToDuration } from \"../../../../Utils\";\r\nimport { COURSE_ADMIN_POPUP_ADD_OBJECTIVE, COURSE_ADMIN_POPUP_ADD_PREREQUISITE, COURSE_ADMIN_POPUP_ADD_PUBLIC, COURSE_ADMIN_POPUP_DESCRIPTION_CHECK, COURSE_ADMIN_POPUP_EXPIRY_CHECK, COURSE_ADMIN_POPUP_OBJECTIVE_CHECK, COURSE_ADMIN_POPUP_PREREQUISITE_CHECK, COURSE_ADMIN_POPUP_PUBLIC_CHECK, COURSE_ADMIN_POPUP_RESET, COURSE_ADMIN_POPUP_SET_COURSE, COURSE_ADMIN_POPUP_SET_COURSE_ID, COURSE_ADMIN_POPUP_SET_DESCRIPTION, COURSE_ADMIN_POPUP_SET_ENABLED, COURSE_ADMIN_POPUP_SET_EXPIRY_UNIT, COURSE_ADMIN_POPUP_SET_EXPIRY_VALUE, COURSE_ADMIN_POPUP_SET_INFORMATIONS_LOADING, COURSE_ADMIN_POPUP_SET_LOADING, COURSE_ADMIN_POPUP_SET_NEW_OBJECTIVE, COURSE_ADMIN_POPUP_SET_NEW_PREREQUISITE, COURSE_ADMIN_POPUP_SET_NEW_PUBLIC, COURSE_ADMIN_POPUP_SET_OBJECTIVES, COURSE_ADMIN_POPUP_SET_PICTURE, COURSE_ADMIN_POPUP_SET_PICTURE_LOADING, COURSE_ADMIN_POPUP_SET_POPUP_TITLE, COURSE_ADMIN_POPUP_SET_PREREQUISITES, COURSE_ADMIN_POPUP_SET_PUBLICS, COURSE_ADMIN_POPUP_SET_SPECIFICATIONS_LOADING, COURSE_ADMIN_POPUP_SET_STATUS_ENABLED, COURSE_ADMIN_POPUP_SET_TITLE, COURSE_ADMIN_POPUP_SET_UNIT_COMPLETE_LOCK, COURSE_ADMIN_POPUP_TITLE_CHECK, COURSE_ADMIN_POPUP_TOGGLE_MENU_STATUS, COURSE_ADMIN_POPUP_SET_SPECIFICATION_ACTION_LOADING, COURSE_ADMIN_POPUP_DELETE_SPECIFICATION, COURSE_ADMIN_POPUP_SET_CATEGORIES_LOADING, COURSE_ADMIN_POPUP_SET_CATEGORIES, COURSE_ADMIN_POPUP_SET_CATEGORY_LOADING, COURSE_ADMIN_POPUP_ADD_CATEGORY, COURSE_ADMIN_POPUP_DELETE_CATEGORY, COURSE_ADMIN_POPUP_SET_USERS, COURSE_ADMIN_POPUP_ADD_USERS, COURSE_ADMIN_POPUP_SET_USERS_LOADING, COURSE_ADMIN_POPUP_SET_USER_LOADING, COURSE_ADMIN_POPUP_SET_USER_SEARCH_VALUE, COURSE_ADMIN_POPUP_SET_HAS_NEXT, COURSE_ADMIN_POPUP_SET_PAGING_PAGE, COURSE_ADMIN_POPUP_DELETE_USER, COURSE_ADMIN_POPUP_SET_PREVIEW_VIDEO, COURSE_ADMIN_POPUP_PREVIEW_VIDEO_CHECK, COURSE_ADMIN_POPUP_SET_STATUS, COURSE_ADMIN_POPUP_SET_ADVERTISEMENT_VISIBILITY, COURSE_ADMIN_POPUP_SET_PRICE, COURSE_ADMIN_POPUP_PRICE_CHECK, COURSE_ADMIN_POPUP_SET_SEO_KEYWORDS, COURSE_ADMIN_POPUP_SET_USER_EXPIRE_DATE, COURSE_ADMIN_POPUP_SET_USER_UNIT_COMPLETE_LOCK, COURSE_ADMIN_POPUP_SET_SEO_LOCKED, COURSE_ADMIN_POPUP_SET_LANG, COURSE_ADMIN_POPUP_SET_OTHER_LANG_ID } from \"../../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: null,\r\n isLoading: false,\r\n\r\n menu: ADMIN_COURSE_MENU,\r\n\r\n courseId: null,\r\n popupTitle: 'Chargement',\r\n\r\n showAdvertisement: false,\r\n\r\n // Informations\r\n picture: null,\r\n title: '',\r\n description: '',\r\n previewVideo: '',\r\n unitCompleteLock: false,\r\n expiryDurationValue: '',\r\n expiryDurationUnit: null,\r\n enabled: true,\r\n model: false,\r\n status: 0,\r\n price: null,\r\n seoKeyword: [],\r\n locked: false,\r\n\r\n isTitleValid: true,\r\n isDescriptionValid: true,\r\n isPreviewVideoValid: true,\r\n isExpiryDurationValid: true,\r\n isPriceValid: true,\r\n\r\n isInformationsLoading: false,\r\n isPictureLoading: false,\r\n activeUsers: null,\r\n\r\n lang: LANGUAGE_LBL[0],\r\n otherLangId: null,\r\n\r\n // Specification\r\n isSpecificationsLoading: true,\r\n isSpecificationActionLoading: false,\r\n objectives: [],\r\n publics: [],\r\n prerequisites: [],\r\n\r\n newObjective: '',\r\n newPublic: '',\r\n newPrerequisite: '',\r\n\r\n isNewObjectiveValid: true,\r\n isNewPublicValid: true,\r\n isNewPrerequisiteValid: true,\r\n\r\n // Category\r\n isCategoriesLoading: true,\r\n categories: [],\r\n\r\n // User\r\n isUsersLoading: true,\r\n users: [],\r\n hasNext: true,\r\n pagingPage: 0,\r\n userSearchValue: ''\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case COURSE_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case COURSE_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.type };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_POPUP_TITLE: {\r\n return { ...state, popupTitle: action.payload.title };\r\n }\r\n\r\n case COURSE_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_INFORMATIONS_LOADING: {\r\n return { ...state, isInformationsLoading: action.payload.isLoading };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_PICTURE_LOADING: {\r\n return { ...state, isPictureLoading: action.payload.isLoading };\r\n }\r\n\r\n case COURSE_ADMIN_POPUP_SET_ADVERTISEMENT_VISIBILITY: {\r\n return { ...state, showAdvertisement: action.payload.showAdvertisement };\r\n }\r\n\r\n case COURSE_ADMIN_POPUP_TOGGLE_MENU_STATUS: {\r\n return {\r\n ...state, menu: state.menu.map(i => {\r\n if (i.disabled === undefined)\r\n return i;\r\n\r\n i.disabled = !action.payload.enable\r\n return i;\r\n })\r\n };\r\n }\r\n\r\n case COURSE_ADMIN_POPUP_SET_COURSE: {\r\n const { course } = action.payload;\r\n const duration = convertHourToDuration(course.expiryDurationHour);\r\n\r\n return {\r\n ...state,\r\n courseId: course.id,\r\n enabled: course.enabled,\r\n model: course.model,\r\n picture: course.picture,\r\n title: course.title,\r\n description: course.description,\r\n previewVideo: course.previewVideo,\r\n unitCompleteLock: course.unitCompleteLock,\r\n expiryDurationValue: duration.value,\r\n expiryDurationUnit: DURATION_LBL.filter(lbl => lbl.value === duration.type)[0],\r\n activeUsers: course.activeUsers,\r\n status: course.status,\r\n price: course.price,\r\n locked: course.locked,\r\n seoKeyword: course.seoKeyword?.map(k => k.label) || [],\r\n lang: LANGUAGE_LBL.find(l => l.value === course.lang),\r\n otherLangId: course.otherLangId\r\n };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_COURSE_ID: {\r\n return { ...state, courseId: action.payload.courseId };\r\n }\r\n\r\n // Informations\r\n case COURSE_ADMIN_POPUP_SET_SPECIFICATIONS_LOADING: {\r\n return { ...state, isSpecificationsLoading: action.payload.isLoading };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_SPECIFICATION_ACTION_LOADING: {\r\n return { ...state, isSpecificationActionLoading: action.payload.isLoading };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_PICTURE: {\r\n return { ...state, picture: action.payload.picture };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_TITLE: {\r\n return { ...state, title: action.payload.title, isTitleValid: true };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_DESCRIPTION: {\r\n return { ...state, description: action.payload.description, isDescriptionValid: true };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_PREVIEW_VIDEO: {\r\n return { ...state, previewVideo: action.payload.previewVideo, isPreviewVideoValid: true };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_PRICE: {\r\n return { ...state, price: action.payload.price, isPriceValid: true };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_UNIT_COMPLETE_LOCK: {\r\n return { ...state, unitCompleteLock: action.payload.unitCompleteLock };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_EXPIRY_VALUE: {\r\n return { ...state, expiryDurationValue: action.payload.expiryDurationValue, isExpiryDurationValid: true };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_EXPIRY_UNIT: {\r\n return { ...state, expiryDurationUnit: action.payload.expiryDurationUnit, isExpiryDurationValid: true };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_LANG: {\r\n return { ...state, lang: action.payload.lang };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_OTHER_LANG_ID: {\r\n return { ...state, otherLangId: action.payload.otherLangId };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_STATUS_ENABLED: {\r\n return { ...state, enabled: action.payload.enabled };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_STATUS: {\r\n return { ...state, status: action.payload.status };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_SEO_KEYWORDS: {\r\n return { ...state, seoKeyword: action.payload.seoKeyword };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_SEO_LOCKED: {\r\n return { ...state, locked: action.payload.locked };\r\n }\r\n\r\n // Specifications\r\n case COURSE_ADMIN_POPUP_SET_OBJECTIVES: {\r\n return { ...state, objectives: action.payload.objectives };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_PUBLICS: {\r\n return { ...state, publics: action.payload.publics };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_PREREQUISITES: {\r\n return { ...state, prerequisites: action.payload.prerequisites };\r\n }\r\n case COURSE_ADMIN_POPUP_ADD_OBJECTIVE: {\r\n return { ...state, objectives: [...state.objectives, action.payload.objective] };\r\n }\r\n case COURSE_ADMIN_POPUP_ADD_PUBLIC: {\r\n return { ...state, publics: [...state.publics, action.payload.public] };\r\n }\r\n case COURSE_ADMIN_POPUP_ADD_PREREQUISITE: {\r\n return { ...state, prerequisites: [...state.prerequisites, action.payload.prerequisite] };\r\n }\r\n case COURSE_ADMIN_POPUP_DELETE_SPECIFICATION: {\r\n return {\r\n ...state,\r\n objectives: state.objectives.filter(s => s.id !== action.payload.id),\r\n publics: state.publics.filter(s => s.id !== action.payload.id),\r\n prerequisites: state.prerequisites.filter(s => s.id !== action.payload.id)\r\n };\r\n }\r\n\r\n\r\n case COURSE_ADMIN_POPUP_SET_NEW_OBJECTIVE: {\r\n return { ...state, newObjective: action.payload.newObjective, isNewObjectiveValid: true };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_NEW_PUBLIC: {\r\n return { ...state, newPublic: action.payload.newPublic, isNewPublicValid: true };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_NEW_PREREQUISITE: {\r\n return { ...state, newPrerequisite: action.payload.newPrerequisite, isNewPrerequisiteValid: true };\r\n }\r\n\r\n // Categories\r\n case COURSE_ADMIN_POPUP_SET_CATEGORIES_LOADING: {\r\n return { ...state, isCategoriesLoading: action.payload.isLoading };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_CATEGORIES: {\r\n return { ...state, categories: action.payload.categories };\r\n }\r\n case COURSE_ADMIN_POPUP_ADD_CATEGORY: {\r\n return { ...state, categories: [...state.categories, action.payload.category] };\r\n }\r\n case COURSE_ADMIN_POPUP_DELETE_CATEGORY: {\r\n return { ...state, categories: state.categories.filter(c => c.id !== action.payload.id) }\r\n }\r\n case COURSE_ADMIN_POPUP_SET_CATEGORY_LOADING: {\r\n return {\r\n ...state, categories: state.categories.map(c => {\r\n if (c.id !== action.payload.id)\r\n return c;\r\n\r\n return { ...c, isLoading: action.payload.isLoading };\r\n })\r\n };\r\n }\r\n\r\n // Users\r\n case COURSE_ADMIN_POPUP_SET_USERS_LOADING: {\r\n return { ...state, isUsersLoading: action.payload.isLoading };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_USER_LOADING: {\r\n return {\r\n ...state, users: state.users.map(u => {\r\n if (u.userCourseId !== action.payload.id)\r\n return u;\r\n\r\n return { ...u, isLoading: action.payload.isLoading };\r\n })\r\n }\r\n }\r\n case COURSE_ADMIN_POPUP_SET_USER_EXPIRE_DATE: {\r\n return {\r\n ...state, users: state.users.map(u => {\r\n if (u.userCourseId !== action.payload.id)\r\n return u;\r\n\r\n return { ...u, user: { ...u.user, expireDate: action.payload.date } };\r\n })\r\n }\r\n }\r\n case COURSE_ADMIN_POPUP_SET_USER_UNIT_COMPLETE_LOCK: {\r\n return {\r\n ...state, users: state.users.map(u => {\r\n if (u.userCourseId !== action.payload.id)\r\n return u;\r\n\r\n return { ...u, user: { ...u.user, unitCompleteLock: action.payload.unitCompleteLock } };\r\n })\r\n }\r\n }\r\n case COURSE_ADMIN_POPUP_SET_USERS: {\r\n return { ...state, users: action.payload.users };\r\n }\r\n case COURSE_ADMIN_POPUP_ADD_USERS: {\r\n return { ...state, users: state.users.concat(action.payload.users) };\r\n }\r\n case COURSE_ADMIN_POPUP_DELETE_USER: {\r\n return { ...state, users: state.users.filter(u => u.userCourseId !== action.payload.id) };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_USER_SEARCH_VALUE: {\r\n return { ...state, userSearchValue: action.payload.userSearchValue };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_HAS_NEXT: {\r\n return { ...state, hasNext: action.payload.hasNext };\r\n }\r\n case COURSE_ADMIN_POPUP_SET_PAGING_PAGE: {\r\n return { ...state, pagingPage: action.payload.pagingPage };\r\n }\r\n\r\n // Check\r\n case COURSE_ADMIN_POPUP_TITLE_CHECK: {\r\n return { ...state, isTitleValid: action.payload.isValid };\r\n }\r\n case COURSE_ADMIN_POPUP_DESCRIPTION_CHECK: {\r\n return { ...state, isDescriptionValid: action.payload.isValid };\r\n }\r\n case COURSE_ADMIN_POPUP_PREVIEW_VIDEO_CHECK: {\r\n return { ...state, isPreviewVideoValid: action.payload.isValid };\r\n }\r\n case COURSE_ADMIN_POPUP_EXPIRY_CHECK: {\r\n return { ...state, isExpiryDurationValid: action.payload.isValid };\r\n }\r\n case COURSE_ADMIN_POPUP_PRICE_CHECK: {\r\n return { ...state, isPriceValid: action.payload.isValid };\r\n }\r\n\r\n case COURSE_ADMIN_POPUP_OBJECTIVE_CHECK: {\r\n return { ...state, isNewObjectiveValid: action.payload.isValid };\r\n }\r\n case COURSE_ADMIN_POPUP_PUBLIC_CHECK: {\r\n return { ...state, isNewPublicValid: action.payload.isValid };\r\n }\r\n case COURSE_ADMIN_POPUP_PREREQUISITE_CHECK: {\r\n return { ...state, isNewPrerequisiteValid: action.payload.isValid };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ASSIGN_DOCUMENTATION_ADMIN_POPUP_RESET, ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_ENABLED, ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LECTURE_ID, ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LOADING, ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_TITLE, ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_URL, ASSIGN_DOCUMENTATION_ADMIN_POPUP_TITLE_CHECK, ASSIGN_DOCUMENTATION_ADMIN_POPUP_URL_CHECK } from \"../../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: false,\r\n\r\n title: '',\r\n url: '',\r\n\r\n isTitleValid: true,\r\n isUrlValid: true,\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case ASSIGN_DOCUMENTATION_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.popupEnabled };\r\n }\r\n case ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LECTURE_ID: {\r\n return { ...state, lectureId: action.payload.id };\r\n }\r\n\r\n case ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_URL: {\r\n return { ...state, url: action.payload.url, isUrlValid: true };\r\n }\r\n case ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_TITLE: {\r\n return { ...state, title: action.payload.title, isTitleValid: true };\r\n }\r\n\r\n\r\n case ASSIGN_DOCUMENTATION_ADMIN_POPUP_URL_CHECK: {\r\n return { ...state, isUrlValid: action.payload.isValid };\r\n }\r\n case ASSIGN_DOCUMENTATION_ADMIN_POPUP_TITLE_CHECK: {\r\n return { ...state, isTitleValid: action.payload.isValid };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ASSIGN_EMBED_PAGE_ADMIN_POPUP_RESET, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_ENABLED, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LOADING, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_PREVIEW, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_URL, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_HOURS, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_MINUTES, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_SECONDS, ASSIGN_EMBED_PAGE_ADMIN_POPUP_URL_CHECK, ASSIGN_EMBED_PAGE_ADMIN_POPUP_DURATION_CHECK, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LECTURE_ID } from \"../../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: false,\r\n\r\n lectureId: null,\r\n url: '',\r\n duration: {\r\n hours: null,\r\n minutes: null,\r\n seconds: null,\r\n\r\n isDurationValid: true\r\n },\r\n isUrlValid: true,\r\n\r\n preview: null\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case ASSIGN_EMBED_PAGE_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.popupEnabled };\r\n }\r\n case ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LECTURE_ID: {\r\n return { ...state, lectureId: action.payload.id };\r\n }\r\n\r\n case ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_URL: {\r\n return { ...state, url: action.payload.url, isUrlValid: true };\r\n }\r\n case ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_HOURS: {\r\n return {\r\n ...state, duration: {\r\n ...state.duration,\r\n hours: action.payload.hours,\r\n isDurationValid: true\r\n }\r\n };\r\n }\r\n case ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_MINUTES: {\r\n return {\r\n ...state, duration: {\r\n ...state.duration,\r\n minutes: action.payload.minutes,\r\n isDurationValid: true\r\n }\r\n };\r\n }\r\n case ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_SECONDS: {\r\n return {\r\n ...state, duration: {\r\n ...state.duration,\r\n seconds: action.payload.seconds,\r\n isDurationValid: true\r\n }\r\n };\r\n }\r\n\r\n case ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_PREVIEW: {\r\n return { ...state, preview: action.payload.preview };\r\n }\r\n\r\n case ASSIGN_EMBED_PAGE_ADMIN_POPUP_URL_CHECK: {\r\n return { ...state, isUrlValid: action.payload.isValid };\r\n }\r\n case ASSIGN_EMBED_PAGE_ADMIN_POPUP_DURATION_CHECK: {\r\n return {\r\n ...state, duration: {\r\n ...state.duration,\r\n isDurationValid: action.payload.isValid\r\n }\r\n }\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ADMIN_USER_MENU } from \"../../../../resources/constants/adminPanel\";\r\nimport { USER_ADMIN_POPUP_COMPANY_CHECK, USER_ADMIN_POPUP_EMAIL_CHECK, USER_ADMIN_POPUP_FIRSTNAME_CHECK, USER_ADMIN_POPUP_LASTNAME_CHECK, USER_ADMIN_POPUP_PHONE_CHECK, USER_ADMIN_POPUP_RESET, USER_ADMIN_POPUP_SET_COMPANY, USER_ADMIN_POPUP_SET_EMAIL, USER_ADMIN_POPUP_SET_ENABLED, USER_ADMIN_POPUP_SET_FIRSTNAME, USER_ADMIN_POPUP_SET_LASTNAME, USER_ADMIN_POPUP_SET_LOADING, USER_ADMIN_POPUP_SET_NEW_PASSWORD, USER_ADMIN_POPUP_SET_SECURITY_LOADING, USER_ADMIN_POPUP_SET_PHONE, USER_ADMIN_POPUP_SET_RENEW_PASSWORD, USER_ADMIN_POPUP_SET_USER, USER_ADMIN_POPUP_SET_USER_ID, USER_ADMIN_POPUP_TOGGLE_MENU_STATUS, USER_ADMIN_POPUP_NEW_PASSWORD_CHECK, USER_ADMIN_POPUP_RENEW_PASSWORD_CHECK, USER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, USER_ADMIN_POPUP_SET_COURSES, USER_ADMIN_POPUP_SET_COURSES_LOADING, USER_ADMIN_POPUP_SET_COURSE_EXPIRY_DATE, USER_ADMIN_POPUP_SET_COURSE_LOADING, USER_ADMIN_POPUP_SET_CERTIFICATES_LOADING, USER_ADMIN_POPUP_SET_CERTIFICATES, USER_ADMIN_POPUP_SET_CERTIFICATE_LOADING, USER_ADMIN_POPUP_DELETE_CERTIFICATE, USER_ADMIN_POPUP_DELETE_COURSE, USER_ADMIN_POPUP_SET_SOCIAL, USER_ADMIN_POPUP_SET_PICTURE_LOADING, USER_ADMIN_POPUP_SET_PICTURE, USER_ADMIN_POPUP_SET_CONFIRMED, USER_ADMIN_POPUP_SET_POPUP_TITLE, USER_ADMIN_POPUP_SET_COURSE_UNIT_COMPLETE_LOCK, USER_ADMIN_POPUP_ADD_COURSE, USER_ADMIN_POPUP_ADD_CERTIFICATE, USER_ADMIN_POPUP_SET_SURVEYS_LOADING, USER_ADMIN_POPUP_SET_SURVEYS, USER_ADMIN_POPUP_SET_SURVEY_LOADING, USER_ADMIN_POPUP_DELETE_SURVEY } from \"../../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: null,\r\n isLoading: true,\r\n\r\n menu: ADMIN_USER_MENU,\r\n\r\n userId: null,\r\n popupTitle: 'Chargement',\r\n\r\n // Informations\r\n email: '',\r\n firstname: '',\r\n lastname: '',\r\n phone: '',\r\n company: '',\r\n facebook: false,\r\n microsoft: false,\r\n confirmed: false,\r\n\r\n isEmailValid: true,\r\n isFirstnameValid: true,\r\n isLastnameValid: true,\r\n isPhoneValid: true,\r\n isCompanyValid: true,\r\n\r\n isInformationsLoading: false,\r\n\r\n // Password\r\n newPassword: '',\r\n renewPassword: '',\r\n\r\n isNewPasswordValid: true,\r\n isRenewPasswordValid: true,\r\n\r\n isSecurityLoading: false,\r\n\r\n // Photo\r\n isPictureLoading: true,\r\n photoLink: null,\r\n\r\n // course\r\n courses: [],\r\n isCoursesLoading: true,\r\n\r\n // certificates\r\n certificates: [],\r\n isCertificatesLoading: true,\r\n\r\n // Surveys\r\n surveys: [],\r\n isSurveysLoading: true,\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case USER_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case USER_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.type };\r\n }\r\n case USER_ADMIN_POPUP_SET_POPUP_TITLE: {\r\n return { ...state, popupTitle: action.payload.title };\r\n }\r\n case USER_ADMIN_POPUP_TOGGLE_MENU_STATUS: {\r\n return {\r\n ...state, menu: state.menu.map(i => {\r\n if (i.disabled === undefined)\r\n return i;\r\n\r\n i.disabled = !action.payload.enable\r\n return i;\r\n })\r\n };\r\n }\r\n\r\n case USER_ADMIN_POPUP_SET_USER_ID: {\r\n return { ...state, userId: action.payload.userId };\r\n }\r\n\r\n case USER_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case USER_ADMIN_POPUP_SET_SECURITY_LOADING: {\r\n return { ...state, isSecurityLoading: action.payload.isLoading }\r\n }\r\n case USER_ADMIN_POPUP_SET_INFORMATIONS_LOADING: {\r\n return { ...state, isInformationsLoading: action.payload.isLoading }\r\n }\r\n case USER_ADMIN_POPUP_SET_COURSES_LOADING: {\r\n return { ...state, isCoursesLoading: action.payload.isLoading };\r\n }\r\n case USER_ADMIN_POPUP_SET_CERTIFICATES_LOADING: {\r\n return { ...state, isCertificatesLoading: action.payload.isLoading };\r\n }\r\n case USER_ADMIN_POPUP_SET_SURVEYS_LOADING: {\r\n return { ...state, isSurveysLoading: action.payload.isLoading };\r\n }\r\n case USER_ADMIN_POPUP_SET_PICTURE_LOADING: {\r\n return { ...state, isPictureLoading: action.payload.isLoading };\r\n }\r\n\r\n case USER_ADMIN_POPUP_SET_USER: {\r\n const { user } = action.payload;\r\n return {\r\n ...state,\r\n userId: user.id,\r\n isPictureLoading: false,\r\n photoLink: user.picture,\r\n email: user.email,\r\n firstname: user.firstname,\r\n lastname: user.lastname,\r\n phone: user.phone,\r\n company: user.company,\r\n facebook: user.facebook,\r\n microsoft: user.microsoft,\r\n confirmed: user.confirmed\r\n };\r\n }\r\n case USER_ADMIN_POPUP_SET_PICTURE: {\r\n return { ...state, photoLink: action.payload.link };\r\n }\r\n\r\n // Data\r\n case USER_ADMIN_POPUP_SET_EMAIL: {\r\n return { ...state, email: action.payload.email, isEmailValid: true };\r\n }\r\n case USER_ADMIN_POPUP_SET_FIRSTNAME: {\r\n return { ...state, firstname: action.payload.firstname, isFirstnameValid: true };\r\n }\r\n case USER_ADMIN_POPUP_SET_LASTNAME: {\r\n return { ...state, lastname: action.payload.lastname, isLastnameValid: true };\r\n }\r\n case USER_ADMIN_POPUP_SET_PHONE: {\r\n return { ...state, phone: action.payload.phone, isPhoneValid: true };\r\n }\r\n case USER_ADMIN_POPUP_SET_COMPANY: {\r\n return { ...state, company: action.payload.company, isCompanyValid: true };\r\n }\r\n case USER_ADMIN_POPUP_SET_CONFIRMED: {\r\n return { ...state, confirmed: action.payload.confirmed };\r\n }\r\n\r\n case USER_ADMIN_POPUP_SET_NEW_PASSWORD: {\r\n return { ...state, newPassword: action.payload.password, isNewPasswordValid: true };\r\n }\r\n case USER_ADMIN_POPUP_SET_RENEW_PASSWORD: {\r\n return { ...state, renewPassword: action.payload.password, isRenewPasswordValid: true };\r\n }\r\n case USER_ADMIN_POPUP_SET_SOCIAL: {\r\n return {\r\n ...state,\r\n facebook: action.payload.facebook === null ? state.facebook : action.payload.facebook,\r\n microsoft: action.payload.microsoft === null ? state.microsoft : action.payload.microsoft\r\n };\r\n }\r\n\r\n case USER_ADMIN_POPUP_SET_COURSES: {\r\n return { ...state, courses: action.payload.courses };\r\n }\r\n case USER_ADMIN_POPUP_SET_COURSE_LOADING: {\r\n return {\r\n ...state, courses: state.courses.map(c => {\r\n if (c.id !== action.payload.id)\r\n return c;\r\n\r\n return { ...c, isLoading: action.payload.isLoading };\r\n })\r\n }\r\n }\r\n case USER_ADMIN_POPUP_SET_COURSE_EXPIRY_DATE: {\r\n return {\r\n ...state, courses: state.courses.map(c => {\r\n if (c.id !== action.payload.id)\r\n return c;\r\n\r\n return { ...c, expireDate: action.payload.date };\r\n })\r\n }\r\n }\r\n case USER_ADMIN_POPUP_SET_COURSE_UNIT_COMPLETE_LOCK: {\r\n return {\r\n ...state, courses: state.courses.map(c => {\r\n if (c.id !== action.payload.id)\r\n return c;\r\n\r\n return { ...c, unitCompleteLock: action.payload.unitCompleteLock };\r\n })\r\n }\r\n }\r\n case USER_ADMIN_POPUP_DELETE_COURSE: {\r\n return { ...state, courses: state.courses.filter(c => c.id !== action.payload.id) };\r\n }\r\n case USER_ADMIN_POPUP_ADD_COURSE: {\r\n return { ...state, courses: [...state.courses, action.payload.course] };\r\n }\r\n\r\n case USER_ADMIN_POPUP_SET_CERTIFICATES: {\r\n return { ...state, certificates: action.payload.certificates };\r\n }\r\n case USER_ADMIN_POPUP_SET_CERTIFICATE_LOADING: {\r\n return {\r\n ...state, certificates: state.certificates.map(c => {\r\n if (c.id !== action.payload.id)\r\n return c;\r\n\r\n return { ...c, isLoading: action.payload.isLoading };\r\n })\r\n }\r\n }\r\n case USER_ADMIN_POPUP_ADD_CERTIFICATE: {\r\n return { ...state, certificates: [...state.certificates, action.payload.certificate] };\r\n }\r\n case USER_ADMIN_POPUP_DELETE_CERTIFICATE: {\r\n return { ...state, certificates: state.certificates.filter(c => c.id !== action.payload.id) }\r\n }\r\n\r\n case USER_ADMIN_POPUP_SET_SURVEYS: {\r\n return { ...state, surveys: action.payload.surveys };\r\n }\r\n case USER_ADMIN_POPUP_SET_SURVEY_LOADING: {\r\n return {\r\n ...state, surveys: state.surveys.map(s => {\r\n if (s.id !== action.payload.id)\r\n return s;\r\n\r\n return { ...s, isLoading: action.payload.isLoading };\r\n })\r\n }\r\n }\r\n case USER_ADMIN_POPUP_DELETE_SURVEY: {\r\n return { ...state, surveys: state.surveys.filter(s => s.id !== action.payload.id) }\r\n }\r\n\r\n\r\n\r\n // Check\r\n case USER_ADMIN_POPUP_EMAIL_CHECK: {\r\n return { ...state, isEmailValid: action.payload.isValid };\r\n }\r\n case USER_ADMIN_POPUP_FIRSTNAME_CHECK: {\r\n return { ...state, isFirstnameValid: action.payload.isValid };\r\n }\r\n case USER_ADMIN_POPUP_LASTNAME_CHECK: {\r\n return { ...state, isLastnameValid: action.payload.isValid };\r\n }\r\n case USER_ADMIN_POPUP_PHONE_CHECK: {\r\n return { ...state, isPhoneValid: action.payload.isValid };\r\n }\r\n case USER_ADMIN_POPUP_COMPANY_CHECK: {\r\n return { ...state, isCompanyValid: action.payload.isValid };\r\n }\r\n\r\n case USER_ADMIN_POPUP_NEW_PASSWORD_CHECK: {\r\n return { ...state, isNewPasswordValid: action.payload.isValid };\r\n }\r\n case USER_ADMIN_POPUP_RENEW_PASSWORD_CHECK: {\r\n return { ...state, isRenewPasswordValid: action.payload.isValid };\r\n }\r\n\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { PREVIEW_POPUP_SET_ENABLED, PREVIEW_POPUP_SET_LECTURE, PREVIEW_POPUP_SET_LOADING } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n\r\n isLoading: true,\r\n lecture: null\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case PREVIEW_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.isEnabled };\r\n }\r\n\r\n case PREVIEW_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case PREVIEW_POPUP_SET_LECTURE: {\r\n return { ...state, lecture: action.payload.lecture };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { INBOUND_POPUP_EMAIL_CHECK, INBOUND_POPUP_SET_EMAIL, INBOUND_POPUP_SET_ENABLED, INBOUND_POPUP_SET_LOADING, INBOUND_POPUP_SET_SAVED, INBOUND_POPUP_SET_COURSE_TITLE, INBOUND_POPUP_SET_COMPLETION, INBOUND_POPUP_RESET, INBOUND_POPUP_SET_FIRSTNAME, INBOUND_POPUP_SET_LASTNAME, INBOUND_POPUP_SET_PHONE, INBOUND_POPUP_SET_COMPANY, INBOUND_POPUP_FIRSTNAME_CHECK, INBOUND_POPUP_LASTNAME_CHECK, INBOUND_POPUP_PHONE_CHECK, INBOUND_POPUP_COMPANY_CHECK, INBOUND_POPUP_SET_JOB_STATUS } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: false,\r\n\r\n email: '',\r\n firstname: '',\r\n lastname: '',\r\n phone: '',\r\n company: '',\r\n jobStatus: null,\r\n\r\n isEmailValid: true,\r\n isFirstnameValid: true,\r\n isLastnameValid: true,\r\n isPhoneValid: true,\r\n isCompanyValid: true,\r\n\r\n saved: false,\r\n courseTitle: '',\r\n completion: null,\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case INBOUND_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.isEnabled };\r\n }\r\n case INBOUND_POPUP_RESET: {\r\n return defaultState\r\n }\r\n\r\n case INBOUND_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case INBOUND_POPUP_SET_EMAIL: {\r\n return { ...state, email: action.payload.email, isEmailValid: true };\r\n }\r\n case INBOUND_POPUP_SET_FIRSTNAME: {\r\n return { ...state, firstname: action.payload.firstname, isFirstnameValid: true };\r\n }\r\n case INBOUND_POPUP_SET_LASTNAME: {\r\n return { ...state, lastname: action.payload.lastname, isLastnameValid: true };\r\n }\r\n case INBOUND_POPUP_SET_PHONE: {\r\n return { ...state, phone: action.payload.phone, isPhoneValid: true };\r\n }\r\n case INBOUND_POPUP_SET_COMPANY: {\r\n return { ...state, company: action.payload.company, isCompanyValid: true };\r\n }\r\n case INBOUND_POPUP_SET_JOB_STATUS: {\r\n console.log(action.payload.jobStatus);\r\n return { ...state, jobStatus: action.payload.jobStatus };\r\n }\r\n\r\n case INBOUND_POPUP_EMAIL_CHECK: {\r\n return { ...state, isEmailValid: action.payload.isValid };\r\n }\r\n case INBOUND_POPUP_FIRSTNAME_CHECK: {\r\n return { ...state, isFirstnameValid: action.payload.isValid };\r\n }\r\n case INBOUND_POPUP_LASTNAME_CHECK: {\r\n return { ...state, isLastnameValid: action.payload.isValid };\r\n }\r\n case INBOUND_POPUP_PHONE_CHECK: {\r\n return { ...state, isPhoneValid: action.payload.isValid };\r\n }\r\n case INBOUND_POPUP_COMPANY_CHECK: {\r\n return { ...state, isCompanyValid: action.payload.isValid };\r\n }\r\n\r\n case INBOUND_POPUP_SET_SAVED: {\r\n return { ...state, saved: action.payload.saved };\r\n }\r\n case INBOUND_POPUP_SET_COURSE_TITLE: {\r\n return { ...state, courseTitle: action.payload.title };\r\n }\r\n case INBOUND_POPUP_SET_COMPLETION: {\r\n return { ...state, completion: action.payload.completion };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { INTERVIEW_POPUP_SET_INTERVIEW_ID } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n interviewId: null\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case INTERVIEW_POPUP_SET_INTERVIEW_ID: {\r\n return { ...state, interviewId: action.payload.interviewId };\r\n }\r\n default:\r\n return state;\r\n }\r\n}","export const SIGN_POPUP_POPUP_TYPE = {\r\n LOGIN: 0,\r\n REGISTER: 1,\r\n RESET_PASSWORD: 2\r\n};\r\n\r\nexport const REGISTER_POPUP_STEP = {\r\n GENERAL: 0,\r\n PASSWORD: 1,\r\n EXTRA: 2\r\n};","import { REGISTER_POPUP_STEP } from \"../../../resources/constants/signPopupType\";\r\nimport { SIGN_POPUP_SET_EMAIL, SIGN_POPUP_SET_PASSWORD, SIGN_POPUP_SET_LOADING, SIGN_POPUP_EMAIL_CHECK, SIGN_POPUP_PASSWORD_CHECK, SIGN_POPUP_SET_ENABLED, SIGN_POPUP_SET_FIRSTNAME, SIGN_POPUP_SET_LASTNAME, SIGN_POPUP_SET_PHONE, SIGN_POPUP_SET_COMPANY, SIGN_POPUP_FIRSTNAME_CHECK, SIGN_POPUP_LASTNAME_CHECK, SIGN_POPUP_PHONE_CHECK, SIGN_POPUP_COMPANY_CHECK, SIGN_POPUP_SET_REGISTER_STEP, SIGN_POPUP_UPDATE_PASSWORD_SET_NEW_PASSWORD, SIGN_POPUP_UPDATE_PASSWORD_SET_RENEW_PASSWORD, SIGN_POPUP_UPDATE_PASSWORD_NEW_PASSWORD_CHECK, SIGN_POPUP_UPDATE_PASSWORD_RENEW_PASSWORD_CHECK } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: null,\r\n isLoading: false,\r\n\r\n email: '',\r\n password: '',\r\n\r\n isEmailValid: true,\r\n emailHelperText: '',\r\n isPasswordValid: true,\r\n passwordHelperText: '',\r\n\r\n // Register\r\n registerStep: REGISTER_POPUP_STEP.GENERAL,\r\n firstname: '',\r\n lastname: '',\r\n phone: '',\r\n company: '',\r\n\r\n isFirstnameValid: true,\r\n isLastnameValid: true,\r\n isPhoneValid: true,\r\n isCompanyValid: true,\r\n isEmailFree: null,\r\n\r\n // Update Password\r\n newPassword: '',\r\n renewPassword: '',\r\n\r\n isNewPasswordValid: true,\r\n isRenewPasswordValid: true\r\n}\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case SIGN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.type };\r\n }\r\n case SIGN_POPUP_SET_REGISTER_STEP: {\r\n return { ...state, registerStep: action.payload.step };\r\n }\r\n\r\n case SIGN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case SIGN_POPUP_SET_EMAIL: {\r\n return { ...state, email: action.payload.email, isEmailValid: true };\r\n }\r\n case SIGN_POPUP_SET_PASSWORD: {\r\n return { ...state, password: action.payload.password, isPasswordValid: true };\r\n }\r\n\r\n case SIGN_POPUP_SET_FIRSTNAME: {\r\n return { ...state, firstname: action.payload.firstname, isFirstnameValid: true };\r\n }\r\n case SIGN_POPUP_SET_LASTNAME: {\r\n return { ...state, lastname: action.payload.lastname, isLastnameValid: true };\r\n }\r\n case SIGN_POPUP_SET_PHONE: {\r\n return { ...state, phone: action.payload.phone, isPhoneValid: true };\r\n }\r\n case SIGN_POPUP_SET_COMPANY: {\r\n return { ...state, company: action.payload.company, isCompanyValid: true };\r\n }\r\n\r\n case SIGN_POPUP_UPDATE_PASSWORD_SET_NEW_PASSWORD: {\r\n return { ...state, newPassword: action.payload.password, isNewPasswordValid: true };\r\n }\r\n case SIGN_POPUP_UPDATE_PASSWORD_SET_RENEW_PASSWORD: {\r\n return { ...state, renewPassword: action.payload.password, isRenewPasswordValid: true };\r\n }\r\n\r\n // CHECK\r\n case SIGN_POPUP_EMAIL_CHECK: {\r\n return { ...state, isEmailValid: action.payload.isValid, emailHelperText: action.payload.text, isEmailFree: action.payload.isEmailFree };\r\n }\r\n case SIGN_POPUP_PASSWORD_CHECK: {\r\n return { ...state, isPasswordValid: action.payload.isValid, passwordHelperText: action.payload.text };\r\n }\r\n case SIGN_POPUP_FIRSTNAME_CHECK: {\r\n return { ...state, isFirstnameValid: action.payload.isValid };\r\n }\r\n case SIGN_POPUP_LASTNAME_CHECK: {\r\n return { ...state, isLastnameValid: action.payload.isValid };\r\n }\r\n case SIGN_POPUP_PHONE_CHECK: {\r\n return { ...state, isPhoneValid: action.payload.isValid };\r\n }\r\n case SIGN_POPUP_COMPANY_CHECK: {\r\n return { ...state, isCompanyValid: action.payload.isValid };\r\n }\r\n case SIGN_POPUP_UPDATE_PASSWORD_NEW_PASSWORD_CHECK: {\r\n return { ...state, isNewPasswordValid: action.payload.isValid };\r\n }\r\n case SIGN_POPUP_UPDATE_PASSWORD_RENEW_PASSWORD_CHECK: {\r\n return { ...state, isRenewPasswordValid: action.payload.isValid };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { VOUCHER_POPUP_SET_ENABLED, VOUCHER_POPUP_SET_LOADING, VOUCHER_POPUP_SET_VOUCHERS_CODE, VOUCHER_POPUP_VOUCHER_CODE_CHECK, VOUCHER_POPUP_SET_VOUCHERS, VOUCHER_POPUP_RESET } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: false,\r\n\r\n voucherCode: '',\r\n isVoucherCodeValid: true,\r\n voucherHelperText: '',\r\n\r\n vouchers: null\r\n}\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case VOUCHER_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case VOUCHER_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.isEnabled };\r\n }\r\n case VOUCHER_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case VOUCHER_POPUP_SET_VOUCHERS_CODE: {\r\n return { ...state, voucherCode: action.payload.code, isVoucherCodeValid: true };\r\n }\r\n case VOUCHER_POPUP_SET_VOUCHERS: {\r\n return { ...state, vouchers: action.payload.vouchers };\r\n }\r\n\r\n // CHECK\r\n case VOUCHER_POPUP_VOUCHER_CODE_CHECK: {\r\n return { ...state, isVoucherCodeValid: action.payload.isValid, voucherHelperText: action.payload.text };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { CATEGORY_PANEL_SET_CATEGORY, CATEGORY_PANEL_SET_LOADING } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n isLoading: true,\r\n\r\n category: null\r\n}\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case CATEGORY_PANEL_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case CATEGORY_PANEL_SET_CATEGORY: {\r\n return { ...state, category: action.payload.category };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { HOME_PANEL_ADD_COURSES, HOME_PANEL_SET_CATEGORIES, HOME_PANEL_SET_CATEGORIES_LOADING, HOME_PANEL_SET_COURSES, HOME_PANEL_SET_COURSES_LOADING, HOME_PANEL_SET_CURRENT_PAGE, HOME_PANEL_SET_HAS_NEXT, HOME_PANEL_SET_SELECTED_CATEGORY_ID } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n isCategoriesLoading: true,\r\n categories: [],\r\n selectedCategoryId: null,\r\n\r\n isCoursesLoading: true,\r\n courses: [],\r\n hasNext: true,\r\n currentPage: 0\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case HOME_PANEL_SET_CATEGORIES_LOADING: {\r\n return { ...state, isCategoriesLoading: action.payload.isLoading };\r\n }\r\n case HOME_PANEL_SET_COURSES_LOADING: {\r\n return { ...state, isCoursesLoading: action.payload.isLoading };\r\n }\r\n\r\n case HOME_PANEL_SET_CATEGORIES: {\r\n return { ...state, categories: action.payload.categories };\r\n }\r\n case HOME_PANEL_SET_SELECTED_CATEGORY_ID: {\r\n return { ...state, selectedCategoryId: action.payload.id };\r\n }\r\n case HOME_PANEL_SET_COURSES: {\r\n return { ...state, courses: action.payload.courses };\r\n }\r\n case HOME_PANEL_ADD_COURSES: {\r\n return { ...state, courses: state.courses.concat(action.payload.courses) };\r\n }\r\n case HOME_PANEL_SET_CURRENT_PAGE: {\r\n return { ...state, currentPage: action.payload.currentPage };\r\n }\r\n case HOME_PANEL_SET_HAS_NEXT: {\r\n return { ...state, hasNext: action.payload.hasNext };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { PREVIEW_PANEL_INTERVIEW_POPUP_SET_ENABLED, PREVIEW_PANEL_INTERVIEW_POPUP_SET_PDF_STATUS, PREVIEW_PANEL_SET_COURSE, PREVIEW_PANEL_SET_LOADING, PREVIEW_PANEL_TOGGLE_EXTEND_SECTIONS, PREVIEW_PANEL_TOGGLE_SECTION } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n isLoading: true,\r\n\r\n course: null,\r\n selectedSectionId: [],\r\n isAllSectionExtended: false,\r\n\r\n // Need more information\r\n name: '',\r\n isNameValid: true,\r\n email: '',\r\n isEmailValid: true,\r\n isFormLoading: false,\r\n isFormSent: false,\r\n\r\n interviewPopupEnabled: false,\r\n pdfStatus: 0 // 0 : Not downloaded | 1 : Downloading | 2 : Downloaded\r\n}\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case PREVIEW_PANEL_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case PREVIEW_PANEL_SET_COURSE: {\r\n return { ...state, course: action.payload.course, pdfStatus: 0 };\r\n }\r\n case PREVIEW_PANEL_TOGGLE_SECTION: {\r\n if (state.selectedSectionId.includes(action.payload.id))\r\n return { ...state, selectedSectionId: state.selectedSectionId.filter(id => id !== action.payload.id) };\r\n\r\n return { ...state, selectedSectionId: [...state.selectedSectionId, action.payload.id] };\r\n }\r\n case PREVIEW_PANEL_TOGGLE_EXTEND_SECTIONS: {\r\n return {\r\n ...state,\r\n selectedSectionId: action.payload.extend ? state.course.section.map(s => s.id) : [],\r\n isAllSectionExtended: !state.isAllSectionExtended\r\n };\r\n }\r\n\r\n case PREVIEW_PANEL_INTERVIEW_POPUP_SET_ENABLED: {\r\n return { ...state, interviewPopupEnabled: action.payload.popupEnabled };\r\n }\r\n\r\n case PREVIEW_PANEL_INTERVIEW_POPUP_SET_PDF_STATUS: {\r\n return { ...state, pdfStatus: action.payload.status };\r\n }\r\n\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { CATEGORY_ADMIN_PANEL_ADD_CATEGORY, CATEGORY_ADMIN_PANEL_DELETE_CATEGORY, CATEGORY_ADMIN_PANEL_SET_CATEGORIES, CATEGORY_ADMIN_PANEL_SET_LOADING, CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY, CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY_PICTURE } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n isLoading: true,\r\n\r\n categories: [],\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case CATEGORY_ADMIN_PANEL_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case CATEGORY_ADMIN_PANEL_SET_CATEGORIES: {\r\n return { ...state, categories: action.payload.categories };\r\n }\r\n\r\n case CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY_PICTURE: {\r\n return {\r\n ...state, categories: state.categories.map(c => {\r\n if (c.id !== action.payload.id)\r\n return c;\r\n\r\n return { ...c, picture: action.payload.picture };\r\n })\r\n }\r\n }\r\n case CATEGORY_ADMIN_PANEL_ADD_CATEGORY: {\r\n return { ...state, categories: [...state.categories, action.payload.category] };\r\n }\r\n case CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY: {\r\n return {\r\n ...state, categories: state.categories.map(c => {\r\n if (c.id !== action.payload.id)\r\n return c;\r\n\r\n return action.payload.category;\r\n })\r\n }\r\n }\r\n case CATEGORY_ADMIN_PANEL_DELETE_CATEGORY: {\r\n return { ...state, categories: state.categories.filter(c => c.id !== action.payload.id) };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ADMIN_CATEGORY_MENU } from \"../../../../resources/constants/adminPanel\";\r\nimport { CATEGORY_ADMIN_POPUP_RESET, CATEGORY_ADMIN_POPUP_SEO_KEYWORDS, CATEGORY_ADMIN_POPUP_SET_CATEGORY, CATEGORY_ADMIN_POPUP_SET_CATEGORY_ID, CATEGORY_ADMIN_POPUP_SET_COURSES, CATEGORY_ADMIN_POPUP_SET_COURSES_LOADING, CATEGORY_ADMIN_POPUP_SET_ENABLED, CATEGORY_ADMIN_POPUP_SET_INFORMATIONS_LOADING, CATEGORY_ADMIN_POPUP_SET_LOADING, CATEGORY_ADMIN_POPUP_SET_PICTURE, CATEGORY_ADMIN_POPUP_SET_PICTURE_LOADING, CATEGORY_ADMIN_POPUP_SET_POPUP_TITLE, CATEGORY_ADMIN_POPUP_SET_TITLE, CATEGORY_ADMIN_POPUP_SET_TITLE_EN, CATEGORY_ADMIN_POPUP_TITLE_CHECK, CATEGORY_ADMIN_POPUP_TITLE_EN_CHECK, CATEGORY_ADMIN_POPUP_TOGGLE_MENU_STATUS } from \"../../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: null,\r\n isLoading: false,\r\n\r\n menu: ADMIN_CATEGORY_MENU,\r\n\r\n categoryId: null,\r\n popupTitle: 'Chargement',\r\n\r\n // Informations\r\n title: '',\r\n titleEN: '',\r\n picture: null,\r\n seoKeyword: [],\r\n\r\n isTitleValid: true,\r\n isTitleENValid: true,\r\n\r\n isInformationsLoading: false,\r\n isPictureLoading: false,\r\n\r\n // Courses\r\n courses: [],\r\n isCoursesLoading: true,\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case CATEGORY_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case CATEGORY_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.type };\r\n }\r\n case CATEGORY_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case CATEGORY_ADMIN_POPUP_SET_POPUP_TITLE: {\r\n return { ...state, popupTitle: action.payload.title };\r\n }\r\n case CATEGORY_ADMIN_POPUP_SEO_KEYWORDS: {\r\n return { ...state, seoKeyword: action.payload.seoKeyword };\r\n }\r\n\r\n case CATEGORY_ADMIN_POPUP_SET_INFORMATIONS_LOADING: {\r\n return { ...state, isInformationsLoading: action.payload.isLoading };\r\n }\r\n case CATEGORY_ADMIN_POPUP_SET_PICTURE_LOADING: {\r\n return { ...state, isPictureLoading: action.payload.isLoading };\r\n }\r\n case CATEGORY_ADMIN_POPUP_SET_COURSES_LOADING: {\r\n return { ...state, isCoursesLoading: action.payload.isLoading };\r\n }\r\n case CATEGORY_ADMIN_POPUP_SET_CATEGORY_ID: {\r\n return { ...state, categoryId: action.payload.id };\r\n }\r\n\r\n case CATEGORY_ADMIN_POPUP_TOGGLE_MENU_STATUS: {\r\n return {\r\n ...state, menu: state.menu.map(i => {\r\n if (i.disabled === undefined)\r\n return i;\r\n\r\n i.disabled = !action.payload.enable\r\n return i;\r\n })\r\n };\r\n }\r\n\r\n case CATEGORY_ADMIN_POPUP_SET_PICTURE: {\r\n return { ...state, picture: action.payload.picture };\r\n }\r\n case CATEGORY_ADMIN_POPUP_SET_CATEGORY: {\r\n const { category } = action.payload;\r\n return {\r\n ...state,\r\n title: category.title,\r\n titleEN: category.titleEN,\r\n picture: category.picture,\r\n seoKeyword: category.seoKeyword.map(k => k.label)\r\n }\r\n }\r\n\r\n case CATEGORY_ADMIN_POPUP_SET_TITLE: {\r\n return { ...state, title: action.payload.title, isTitleValid: true };\r\n }\r\n case CATEGORY_ADMIN_POPUP_SET_TITLE_EN: {\r\n return { ...state, titleEN: action.payload.title, isTitleENValid: true };\r\n }\r\n\r\n case CATEGORY_ADMIN_POPUP_SET_COURSES: {\r\n return { ...state, courses: action.payload.courses };\r\n }\r\n\r\n // Check\r\n case CATEGORY_ADMIN_POPUP_TITLE_CHECK: {\r\n return { ...state, isTitleValid: action.payload.isValid };\r\n }\r\n case CATEGORY_ADMIN_POPUP_TITLE_EN_CHECK: {\r\n return { ...state, isTitleENValid: action.payload.isValid };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ASSIGN_COURSE_ADMIN_POPUP_ADD_COURSES, ASSIGN_COURSE_ADMIN_POPUP_ADD_SELECTED_COURSE, ASSIGN_COURSE_ADMIN_POPUP_RESET, ASSIGN_COURSE_ADMIN_POPUP_SET_COURSES, ASSIGN_COURSE_ADMIN_POPUP_SET_COURSE_LOADING, ASSIGN_COURSE_ADMIN_POPUP_SET_ENABLED, ASSIGN_COURSE_ADMIN_POPUP_SET_HAS_NEXT, ASSIGN_COURSE_ADMIN_POPUP_SET_LOADING, ASSIGN_COURSE_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_COURSE_ADMIN_POPUP_SET_SEARCH_VALUE, ASSIGN_COURSE_ADMIN_POPUP_SET_USER_ID, ASSIGN_COURSE_ADMIN_POPUP_SET_VOUCHER_ID } from \"../../../actions/ActionTypes\";\r\n\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: true,\r\n\r\n userId: null,\r\n voucherId: null,\r\n\r\n courses: [],\r\n selectedCourses: [],\r\n\r\n hasNext: true,\r\n pagingPage: 0,\r\n\r\n searchValue: '',\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case ASSIGN_COURSE_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case ASSIGN_COURSE_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.popupEnabled };\r\n }\r\n case ASSIGN_COURSE_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case ASSIGN_COURSE_ADMIN_POPUP_SET_USER_ID: {\r\n return { ...state, userId: action.payload.id };\r\n }\r\n case ASSIGN_COURSE_ADMIN_POPUP_SET_VOUCHER_ID: {\r\n return { ...state, voucherId: action.payload.id };\r\n }\r\n\r\n case ASSIGN_COURSE_ADMIN_POPUP_SET_COURSES: {\r\n return { ...state, courses: action.payload.courses };\r\n }\r\n case ASSIGN_COURSE_ADMIN_POPUP_ADD_COURSES: {\r\n return { ...state, courses: state.courses.concat(action.payload.courses) };\r\n }\r\n\r\n case ASSIGN_COURSE_ADMIN_POPUP_ADD_SELECTED_COURSE: {\r\n return { ...state, selectedCourses: [...state.selectedCourses, action.payload.id] };\r\n }\r\n case ASSIGN_COURSE_ADMIN_POPUP_SET_COURSE_LOADING: {\r\n return {\r\n ...state, courses: state.courses.map(c => {\r\n if(c.id !== action.payload.id)\r\n return c;\r\n\r\n return {...c, isLoading: action.payload.isLoading};\r\n })\r\n }\r\n }\r\n\r\n case ASSIGN_COURSE_ADMIN_POPUP_SET_SEARCH_VALUE: {\r\n return { ...state, searchValue: action.payload.searchValue };\r\n }\r\n case ASSIGN_COURSE_ADMIN_POPUP_SET_HAS_NEXT: {\r\n return { ...state, hasNext: action.payload.hasNext };\r\n }\r\n case ASSIGN_COURSE_ADMIN_POPUP_SET_PAGING_PAGE: {\r\n return { ...state, pagingPage: action.payload.pagingPage };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { VOUCHER_ADMIN_PANEL_ADD_COURSE_VOUCHER, VOUCHER_ADMIN_PANEL_ADD_VOUCHERS, VOUCHER_ADMIN_PANEL_DELETE_COURSE_VOUCHER, VOUCHER_ADMIN_PANEL_DELETE_USER_VOUCHER, VOUCHER_ADMIN_PANEL_DELETE_VOUCHER, VOUCHER_ADMIN_PANEL_SET_HAS_NEXT, VOUCHER_ADMIN_PANEL_SET_LOADING, VOUCHER_ADMIN_PANEL_SET_PAGING_PAGE, VOUCHER_ADMIN_PANEL_SET_SEARCH_VALUE, VOUCHER_ADMIN_PANEL_SET_VOUCHERS, VOUCHER_ADMIN_PANEL_SET_VOUCHER_END_DATE, VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING, VOUCHER_ADMIN_PANEL_UPDATE_VOUCHER } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n isLoading: true,\r\n\r\n vouchers: [],\r\n pagingPage: 0,\r\n hasNext: true,\r\n\r\n searchValue: ''\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case VOUCHER_ADMIN_PANEL_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case VOUCHER_ADMIN_PANEL_SET_HAS_NEXT: {\r\n return { ...state, hasNext: action.payload.hasNext };\r\n }\r\n case VOUCHER_ADMIN_PANEL_SET_PAGING_PAGE: {\r\n return { ...state, pagingPage: action.payload.pagingPage };\r\n }\r\n case VOUCHER_ADMIN_PANEL_SET_SEARCH_VALUE: {\r\n return { ...state, searchValue: action.payload.searchValue };\r\n }\r\n\r\n case VOUCHER_ADMIN_PANEL_SET_VOUCHERS: {\r\n return { ...state, vouchers: action.payload.vouchers };\r\n }\r\n case VOUCHER_ADMIN_PANEL_ADD_VOUCHERS: {\r\n return { ...state, vouchers: [...state.vouchers.concat(action.payload.vouchers)] };\r\n }\r\n\r\n case VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING: {\r\n return {\r\n ...state, vouchers: state.vouchers.map(v => {\r\n if (v.id !== action.payload.id)\r\n return v;\r\n\r\n return { ...v, isLoading: action.payload.isLoading };\r\n })\r\n }\r\n }\r\n case VOUCHER_ADMIN_PANEL_SET_VOUCHER_END_DATE: {\r\n return {\r\n ...state, vouchers: state.vouchers.map(v => {\r\n if (v.id !== action.payload.id)\r\n return v;\r\n\r\n return { ...v, endDate: action.payload.date };\r\n })\r\n }\r\n }\r\n case VOUCHER_ADMIN_PANEL_DELETE_VOUCHER: {\r\n return { ...state, vouchers: state.vouchers.filter(v => v.id !== action.payload.id) };\r\n }\r\n case VOUCHER_ADMIN_PANEL_UPDATE_VOUCHER: {\r\n return {\r\n ...state, vouchers: state.vouchers.map(v => {\r\n if (v.id !== action.payload.id)\r\n return v;\r\n\r\n return action.payload.voucher;\r\n })\r\n }\r\n }\r\n case VOUCHER_ADMIN_PANEL_ADD_COURSE_VOUCHER: {\r\n return {\r\n ...state, vouchers: state.vouchers.map(v => {\r\n if (v.id !== action.payload.voucherId)\r\n return v;\r\n\r\n return { ...v, voucherCourses: [...v.voucherCourses, action.payload.voucherCourse] };\r\n })\r\n }\r\n }\r\n case VOUCHER_ADMIN_PANEL_DELETE_COURSE_VOUCHER: {\r\n return {\r\n ...state, vouchers: state.vouchers.map(v => {\r\n if (v.id !== action.payload.voucherId)\r\n return v;\r\n\r\n return { ...v, voucherCourses: v.voucherCourses.filter(vc => vc.id !== action.payload.courseVoucherId) };\r\n })\r\n }\r\n }\r\n case VOUCHER_ADMIN_PANEL_DELETE_USER_VOUCHER: {\r\n return {\r\n ...state, vouchers: state.vouchers.map(v => {\r\n if (v.id !== action.payload.voucherId)\r\n return v;\r\n\r\n return { ...v, usersVoucher: v.usersVoucher.filter(vc => vc.id !== action.payload.userVoucherId) };\r\n })\r\n }\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ASSIGN_FILE_ADMIN_POPUP_ADD_FILE, ASSIGN_FILE_ADMIN_POPUP_RESET, ASSIGN_FILE_ADMIN_POPUP_SET_ENABLED, ASSIGN_FILE_ADMIN_POPUP_SET_FILE_ERROR, ASSIGN_FILE_ADMIN_POPUP_SET_FILE_LOADING, ASSIGN_FILE_ADMIN_POPUP_SET_FILE_NAME, ASSIGN_FILE_ADMIN_POPUP_SET_FILE_PROGRESS, ASSIGN_FILE_ADMIN_POPUP_SET_FILE_RESOURCE_ID, ASSIGN_FILE_ADMIN_POPUP_SET_LECTURE_ID, ASSIGN_FILE_ADMIN_POPUP_SET_LOADING } from \"../../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: false,\r\n\r\n lectureId: null,\r\n\r\n files: []\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case ASSIGN_FILE_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case ASSIGN_FILE_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.popupEnabled };\r\n }\r\n case ASSIGN_FILE_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case ASSIGN_FILE_ADMIN_POPUP_SET_LECTURE_ID: {\r\n return { ...state, lectureId: action.payload.id };\r\n }\r\n case ASSIGN_FILE_ADMIN_POPUP_ADD_FILE: {\r\n return { ...state, files: [...state.files, action.payload.file] }\r\n }\r\n case ASSIGN_FILE_ADMIN_POPUP_SET_FILE_LOADING: {\r\n return {\r\n ...state, files: state.files?.map(f => {\r\n if (f.id !== action.payload.id)\r\n return f;\r\n\r\n return { ...f, isLoading: action.payload.isLoading };\r\n })\r\n }\r\n }\r\n case ASSIGN_FILE_ADMIN_POPUP_SET_FILE_NAME: {\r\n return {\r\n ...state, files: state.files?.map(f => {\r\n if (f.id !== action.payload.id)\r\n return f;\r\n\r\n return { ...f, name: action.payload.name };\r\n })\r\n }\r\n }\r\n case ASSIGN_FILE_ADMIN_POPUP_SET_FILE_PROGRESS: {\r\n return {\r\n ...state, files: state.files.map(f => {\r\n if (f.id !== action.payload.id)\r\n return f;\r\n\r\n return { ...f, progress: action.payload.progress };\r\n })\r\n }\r\n }\r\n case ASSIGN_FILE_ADMIN_POPUP_SET_FILE_RESOURCE_ID: {\r\n return {\r\n ...state, files: state.files.map(f => {\r\n if (f.id !== action.payload.id)\r\n return f;\r\n\r\n return { ...f, resourceId: action.payload.resourceId };\r\n })\r\n }\r\n }\r\n case ASSIGN_FILE_ADMIN_POPUP_SET_FILE_ERROR: {\r\n return {\r\n ...state, files: state.files.map(f => {\r\n if (f.id !== action.payload.id)\r\n return f;\r\n\r\n return { ...f, error: action.payload.error };\r\n })\r\n }\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ASSIGN_USER_ADMIN_POPUP_ADD_SELECTED_USER, ASSIGN_USER_ADMIN_POPUP_ADD_USERS, ASSIGN_USER_ADMIN_POPUP_RESET, ASSIGN_USER_ADMIN_POPUP_SET_COURSE_ID, ASSIGN_USER_ADMIN_POPUP_SET_ENABLED, ASSIGN_USER_ADMIN_POPUP_SET_HAS_NEXT, ASSIGN_USER_ADMIN_POPUP_SET_LOADING, ASSIGN_USER_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_USER_ADMIN_POPUP_SET_SEARCH_VALUE, ASSIGN_USER_ADMIN_POPUP_SET_USERS, ASSIGN_USER_ADMIN_POPUP_SET_USER_LOADING } from \"../../../actions/ActionTypes\";\r\n\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: true,\r\n\r\n courseId: null,\r\n\r\n users: [],\r\n selectedUsers: [],\r\n\r\n hasNext: true,\r\n pagingPage: 0,\r\n\r\n searchValue: '',\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case ASSIGN_USER_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case ASSIGN_USER_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.popupEnabled };\r\n }\r\n case ASSIGN_USER_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case ASSIGN_USER_ADMIN_POPUP_SET_COURSE_ID: {\r\n return { ...state, courseId: action.payload.id };\r\n }\r\n\r\n case ASSIGN_USER_ADMIN_POPUP_SET_USERS: {\r\n return { ...state, users: action.payload.users };\r\n }\r\n case ASSIGN_USER_ADMIN_POPUP_ADD_USERS: {\r\n return { ...state, users: state.users.concat(action.payload.users) };\r\n }\r\n\r\n case ASSIGN_USER_ADMIN_POPUP_ADD_SELECTED_USER: {\r\n return { ...state, selectedUsers: [...state.selectedUsers, action.payload.id] };\r\n }\r\n case ASSIGN_USER_ADMIN_POPUP_SET_USER_LOADING: {\r\n return {\r\n ...state, users: state.users.map(u => {\r\n if (u.id !== action.payload.id)\r\n return u;\r\n\r\n return { ...u, isLoading: action.payload.isLoading };\r\n })\r\n }\r\n }\r\n\r\n case ASSIGN_USER_ADMIN_POPUP_SET_SEARCH_VALUE: {\r\n return { ...state, searchValue: action.payload.searchValue };\r\n }\r\n case ASSIGN_USER_ADMIN_POPUP_SET_HAS_NEXT: {\r\n return { ...state, hasNext: action.payload.hasNext };\r\n }\r\n case ASSIGN_USER_ADMIN_POPUP_SET_PAGING_PAGE: {\r\n return { ...state, pagingPage: action.payload.pagingPage };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ADMIN_VOUCHER_MENU } from \"../../../../resources/constants/adminPanel\";\r\nimport { VOUCHER_ADMIN_POPUP_DATES_CHECK, VOUCHER_ADMIN_POPUP_PLACE_AVAILABLE_CHECK, VOUCHER_ADMIN_POPUP_RESET, VOUCHER_ADMIN_POPUP_SET_ENABLED, VOUCHER_ADMIN_POPUP_SET_END_DATE, VOUCHER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, VOUCHER_ADMIN_POPUP_SET_LOADING, VOUCHER_ADMIN_POPUP_SET_PLACE_AVAILABLE, VOUCHER_ADMIN_POPUP_SET_POPUP_TITLE, VOUCHER_ADMIN_POPUP_SET_START_DATE, VOUCHER_ADMIN_POPUP_SET_VOUCHER_ID, VOUCHER_ADMIN_POPUP_TOGGLE_MENU_STATUS, VOUCHER_ADMIN_POPUP_SET_VOUCHER, VOUCHER_ADMIN_POPUP_SET_COURSES_LOADING, VOUCHER_ADMIN_POPUP_SET_COURSES, VOUCHER_ADMIN_POPUP_DELETE_COURSE, VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING, VOUCHER_ADMIN_POPUP_ADD_COURSE, VOUCHER_ADMIN_POPUP_SET_USERS_LOADING, VOUCHER_ADMIN_POPUP_SET_USER_LOADING, VOUCHER_ADMIN_POPUP_SET_USERS, VOUCHER_ADMIN_POPUP_ADD_USERS, VOUCHER_ADMIN_POPUP_DELETE_USER, VOUCHER_ADMIN_POPUP_SET_USER_SEARCH_VALUE, VOUCHER_ADMIN_POPUP_SET_HAS_NEXT, VOUCHER_ADMIN_POPUP_SET_PAGING_PAGE } from \"../../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: null,\r\n isLoading: true,\r\n\r\n menu: ADMIN_VOUCHER_MENU,\r\n\r\n voucherId: null,\r\n popupTitle: 'Chargement',\r\n\r\n // Informations\r\n code: null,\r\n startDate: new Date(),\r\n endDate: new Date().setDate(new Date().getDate() + 1),\r\n placeAvailable: 1,\r\n\r\n isDatesValid: true,\r\n isPlaceAvailableValid: true,\r\n\r\n isInformationsLoading: false,\r\n\r\n // Courses\r\n courses: [],\r\n isCoursesLoading: true,\r\n\r\n // Users\r\n isUsersLoading: true,\r\n users: [],\r\n hasNext: true,\r\n pagingPage: 0,\r\n userSearchValue: ''\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case VOUCHER_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.type };\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_POPUP_TITLE: {\r\n return { ...state, popupTitle: action.payload.title };\r\n }\r\n case VOUCHER_ADMIN_POPUP_TOGGLE_MENU_STATUS: {\r\n return {\r\n ...state, menu: state.menu.map(i => {\r\n if (i.disabled === undefined)\r\n return i;\r\n\r\n i.disabled = !action.payload.enable\r\n return i;\r\n })\r\n };\r\n }\r\n\r\n case VOUCHER_ADMIN_POPUP_SET_VOUCHER_ID: {\r\n return { ...state, voucherId: action.payload.voucherId };\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_VOUCHER: {\r\n const { voucher } = action.payload;\r\n return {\r\n ...state,\r\n voucherId: voucher.id,\r\n code: voucher.code,\r\n startDate: new Date(voucher.startDate),\r\n endDate: new Date(voucher.endDate),\r\n placeAvailable: voucher.placesAvailable\r\n };\r\n }\r\n\r\n case VOUCHER_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_INFORMATIONS_LOADING: {\r\n return { ...state, isInformationsLoading: action.payload.isLoading };\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_COURSES_LOADING: {\r\n return { ...state, isCoursesLoading: action.payload.isLoading };\r\n }\r\n\r\n case VOUCHER_ADMIN_POPUP_SET_START_DATE: {\r\n return { ...state, startDate: action.payload.date, isDatesValid: true };\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_END_DATE: {\r\n return { ...state, endDate: action.payload.date, isDatesValid: true };\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_PLACE_AVAILABLE: {\r\n return { ...state, placeAvailable: action.payload.placeAvailable, isPlaceAvailableValid: true };\r\n }\r\n\r\n case VOUCHER_ADMIN_POPUP_DATES_CHECK: {\r\n return { ...state, isDatesValid: action.payload.isValid }\r\n }\r\n case VOUCHER_ADMIN_POPUP_PLACE_AVAILABLE_CHECK: {\r\n return { ...state, isPlaceAvailableValid: action.payload.isValid }\r\n }\r\n\r\n case VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING: {\r\n return {\r\n ...state, courses: state.courses.map(c => {\r\n if (c.id !== action.payload.id)\r\n return c;\r\n\r\n return { ...c, isLoading: action.payload.isLoading };\r\n })\r\n }\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_COURSES: {\r\n return { ...state, courses: action.payload.courses };\r\n }\r\n case VOUCHER_ADMIN_POPUP_ADD_COURSE: {\r\n return { ...state, courses: [...state.courses, action.payload.course] };\r\n }\r\n case VOUCHER_ADMIN_POPUP_DELETE_COURSE: {\r\n return { ...state, courses: state.courses.filter(c => c.id !== action.payload.id) }\r\n }\r\n\r\n // Users\r\n case VOUCHER_ADMIN_POPUP_SET_USERS_LOADING: {\r\n return { ...state, isUsersLoading: action.payload.isLoading };\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_USER_LOADING: {\r\n return {\r\n ...state, users: state.users.map(u => {\r\n if (u.id !== action.payload.userVoucherId)\r\n return u;\r\n\r\n return { ...u, isLoading: action.payload.isLoading };\r\n })\r\n }\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_USERS: {\r\n return { ...state, users: action.payload.users };\r\n }\r\n case VOUCHER_ADMIN_POPUP_ADD_USERS: {\r\n return { ...state, users: state.users.concat(action.payload.users) };\r\n }\r\n case VOUCHER_ADMIN_POPUP_DELETE_USER: {\r\n return { ...state, users: state.users.filter(u => u.id !== action.payload.userVoucherId) };\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_USER_SEARCH_VALUE: {\r\n return { ...state, userSearchValue: action.payload.userSearchValue };\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_HAS_NEXT: {\r\n return { ...state, hasNext: action.payload.hasNext };\r\n }\r\n case VOUCHER_ADMIN_POPUP_SET_PAGING_PAGE: {\r\n return { ...state, pagingPage: action.payload.pagingPage };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { ASSIGN_CERTIFICATE_ADMIN_POPUP_ADD_COURSES, ASSIGN_CERTIFICATE_ADMIN_POPUP_ADD_SELECTED_COURSE, ASSIGN_CERTIFICATE_ADMIN_POPUP_RESET, ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSES, ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSE_LOADING, ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_ENABLED, ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_HAS_NEXT, ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_LOADING, ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_SEARCH_VALUE, ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_USER_ID } from \"../../../actions/ActionTypes\";\r\n\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: true,\r\n\r\n userId: 1,\r\n\r\n courses: [],\r\n selectedCourses: [],\r\n\r\n hasNext: true,\r\n pagingPage: 0,\r\n\r\n searchValue: '',\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case ASSIGN_CERTIFICATE_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.popupEnabled };\r\n }\r\n case ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_USER_ID: {\r\n return { ...state, userId: action.payload.id };\r\n }\r\n\r\n case ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSES: {\r\n return { ...state, courses: action.payload.courses };\r\n }\r\n case ASSIGN_CERTIFICATE_ADMIN_POPUP_ADD_COURSES: {\r\n return { ...state, courses: state.courses.concat(action.payload.courses) };\r\n }\r\n\r\n case ASSIGN_CERTIFICATE_ADMIN_POPUP_ADD_SELECTED_COURSE: {\r\n return { ...state, selectedCourses: [...state.selectedCourses, action.payload.id] };\r\n }\r\n case ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSE_LOADING: {\r\n return {\r\n ...state, courses: state.courses.map(c => {\r\n if(c.id !== action.payload.id)\r\n return c;\r\n\r\n return {...c, isLoading: action.payload.isLoading};\r\n })\r\n }\r\n }\r\n\r\n case ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_SEARCH_VALUE: {\r\n return { ...state, searchValue: action.payload.searchValue };\r\n }\r\n case ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_HAS_NEXT: {\r\n return { ...state, hasNext: action.payload.hasNext };\r\n }\r\n case ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_PAGING_PAGE: {\r\n return { ...state, pagingPage: action.payload.pagingPage };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { SURVEY_ADMIN_POPUP_RESET, SURVEY_ADMIN_POPUP_SET_ENABLED, SURVEY_ADMIN_POPUP_SET_LOADING, SURVEY_ADMIN_POPUP_SET_POPUP_TITLE, SURVEY_ADMIN_POPUP_SET_RESULTS, SURVEY_ADMIN_POPUP_SET_SURVEY_ID, SURVEY_ADMIN_POPUP_SET_ACTION_LOADING } from \"../../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n popupEnabled: false,\r\n isLoading: true,\r\n isActionLoading: false,\r\n\r\n surveyId: null,\r\n popupTitle: 'Chargement',\r\n\r\n results: null,\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case SURVEY_ADMIN_POPUP_RESET: {\r\n return defaultState;\r\n }\r\n case SURVEY_ADMIN_POPUP_SET_ENABLED: {\r\n return { ...state, popupEnabled: action.payload.popupEnabled };\r\n }\r\n case SURVEY_ADMIN_POPUP_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n case SURVEY_ADMIN_POPUP_SET_ACTION_LOADING: {\r\n return { ...state, isActionLoading: action.payload.isLoading };\r\n }\r\n case SURVEY_ADMIN_POPUP_SET_POPUP_TITLE: {\r\n return { ...state, popupTitle: action.payload.title };\r\n }\r\n\r\n case SURVEY_ADMIN_POPUP_SET_SURVEY_ID: {\r\n return { ...state, surveyId: action.payload.id };\r\n }\r\n case SURVEY_ADMIN_POPUP_SET_RESULTS: {\r\n return { ...state, results: action.payload.results };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { TRACER_ADMIN_PANEL_SET_LOADING, TRACER_ADMIN_PANEL_SET_SEARCH_VALUE, TRACER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY, TRACER_ADMIN_PANEL_SET_TRACERS, TRACER_ADMIN_PANEL_SET_TRACER_CERTIFICATE_RECEIVED, TRACER_ADMIN_PANEL_SET_TRACER_LOADING } from \"../../actions/ActionTypes\";\r\n\r\nconst defaultState = {\r\n isLoading: true,\r\n\r\n tracers: [],\r\n\r\n searchValue: '',\r\n showActiveUsersOnly: true,\r\n};\r\n\r\nexport default function appReducer(state = defaultState, action) {\r\n switch (action.type) {\r\n case TRACER_ADMIN_PANEL_SET_LOADING: {\r\n return { ...state, isLoading: action.payload.isLoading };\r\n }\r\n\r\n case TRACER_ADMIN_PANEL_SET_SEARCH_VALUE: {\r\n return { ...state, searchValue: action.payload.searchValue };\r\n }\r\n\r\n case TRACER_ADMIN_PANEL_SET_TRACERS: {\r\n return { ...state, tracers: action.payload.tracers };\r\n }\r\n\r\n case TRACER_ADMIN_PANEL_SET_TRACER_LOADING: {\r\n return {\r\n ...state, tracers: state.tracers.map(t => {\r\n if (t.id === action.payload.id)\r\n return { ...t, isLoading: action.payload.isLoading };\r\n\r\n return t;\r\n })\r\n }\r\n }\r\n case TRACER_ADMIN_PANEL_SET_TRACER_CERTIFICATE_RECEIVED: {\r\n return {\r\n ...state, tracers: state.tracers.map(t => {\r\n if (t.id === action.payload.id)\r\n return { ...t, certificateReceived: action.payload.certificateReceived };\r\n\r\n return t;\r\n })\r\n }\r\n }\r\n case TRACER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY: {\r\n return { ...state, showActiveUsersOnly: action.payload.showActiveUsersOnly };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { combineReducers } from 'redux';\r\nimport CourseAdminPanelReducer from './admin/CourseAdminPanelReducer';\r\nimport UserAdminPanelReducer from './admin/UserAdminPanelReducer';\r\nimport DashboardReducer from './dashboard/DashboardPanelReducer';\r\nimport LecturePanelReducer from './dashboard/LecturePanelReducer';\r\nimport PreferencePanelReducer from './dashboard/PreferencePanelReducer';\r\nimport MenuReducer from './MenuReducer';\r\nimport AssignAdditionalAdminPopupReducer from './popup/admin/AssignAdditionalAdminPopupReducer';\r\nimport AssignCategoryAdminPopupReducer from './popup/admin/AssignCategoryAdminPopupReducer';\r\nimport AssignLectureAdminPopupReducer from './popup/admin/AssignLectureAdminPopupReducer';\r\nimport AssignSectionAdminPopupReducer from './popup/admin/AssignSectionAdminPopupReducer';\r\nimport AssignVideoAdminPopupReducer from './popup/admin/AssignVideoAdminPopupReducer';\r\nimport CourseAdminPopupReducer from './popup/admin/CourseAdminPopupReducer';\r\nimport AssignDocumentationAdminPopupReducer from './popup/admin/AssignDocumentationAdminPopupReducer';\r\nimport AssignEmbedPageAdminPopupReducer from './popup/admin/AssignEmbedPageAdminPopupReducer';\r\nimport UserAdminPopupReducer from './popup/admin/UserAdminPopupReducer';\r\nimport PreviewPopupReducer from './popup/PreviewPopupReducer';\r\nimport InboundPopupReducer from './popup/InboundPopupReducer';\r\nimport InterviewPopupReducer from './popup/InterviewPopupReducer';\r\nimport SignPopupReducer from './popup/SignPopupReducer';\r\nimport VoucherPopupReducer from './popup/VoucherPopupReducer';\r\nimport CategoryPanelReducer from './shop/CategoryPanelReducer';\r\nimport HomePanelReducer from './shop/HomePanelReducer';\r\nimport PreviewPanelReducer from './shop/PreviewPanelReducer';\r\nimport CategoryAdminPanelReducer from './admin/CategoryAdminPanelReducer';\r\nimport CategoryAdminPopupReducer from './popup/admin/CategoryAdminPopupReducer';\r\nimport AssignCourseAdminPopupReducer from './popup/admin/AssignCourseAdminPopupReducer';\r\nimport VoucherAdminPanelReducer from './admin/VoucherAdminPanelReducer';\r\nimport AssignFileAdminPopupReducer from './popup/admin/AssignFileAdminPopupReducer';\r\nimport AssignUserAdminPopupReducer from './popup/admin/AssignUserAdminPopupReducer';\r\nimport VoucherAdminPopupReducer from './popup/admin/VoucherAdminPopupReducer';\r\nimport AssignCertificateAdminPopupReducer from './popup/admin/AssignCertificateAdminPopupReducer';\r\nimport SurveyAdminPopupReducer from './popup/admin/SurveyAdminPopupReducer';\r\nimport TracerAdminPanelReducer from './admin/TracerAdminPanelReducer';\r\n\r\nconst rootReducer = combineReducers({\r\n menu: MenuReducer,\r\n\r\n signPopup: SignPopupReducer,\r\n voucherPopup: VoucherPopupReducer,\r\n previewPopup: PreviewPopupReducer,\r\n interviewPopup: InterviewPopupReducer,\r\n inboundPopup: InboundPopupReducer,\r\n\r\n userAdminPopup: UserAdminPopupReducer,\r\n courseAdminPopup: CourseAdminPopupReducer,\r\n categoryAdminPopup: CategoryAdminPopupReducer,\r\n voucherAdminPopup: VoucherAdminPopupReducer,\r\n assignAdditionalAdminPopup: AssignAdditionalAdminPopupReducer,\r\n assignFileAdminPopup: AssignFileAdminPopupReducer,\r\n assignCategoryAdminPopup: AssignCategoryAdminPopupReducer,\r\n assignSectionAdminPopup: AssignSectionAdminPopupReducer,\r\n assignLectureAdminPopup: AssignLectureAdminPopupReducer,\r\n assignVideoAdminPopup: AssignVideoAdminPopupReducer,\r\n AssignEmbedPageAdminPopup: AssignEmbedPageAdminPopupReducer,\r\n assignDocumentationAdminPopup: AssignDocumentationAdminPopupReducer,\r\n assignCourseAdminPopup: AssignCourseAdminPopupReducer,\r\n assignUserAdminPopup: AssignUserAdminPopupReducer,\r\n assignCertificateAdminPopup: AssignCertificateAdminPopupReducer,\r\n surveyAdminPopup: SurveyAdminPopupReducer,\r\n\r\n homePanel: HomePanelReducer,\r\n categoryPanel: CategoryPanelReducer,\r\n previewPanel: PreviewPanelReducer,\r\n dashboardPanel: DashboardReducer,\r\n preferencePanel: PreferencePanelReducer,\r\n lecturePanel: LecturePanelReducer,\r\n\r\n userAdminPanel: UserAdminPanelReducer,\r\n courseAdminPanel: CourseAdminPanelReducer,\r\n categoryAdminPanel: CategoryAdminPanelReducer,\r\n voucherAdminPanel: VoucherAdminPanelReducer,\r\n tracerAdminPanel: TracerAdminPanelReducer,\r\n});\r\n\r\nexport default rootReducer;\r\n","import { createStore, applyMiddleware } from 'redux';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\nimport thunk from 'redux-thunk';\r\nimport reducers from './reducers';\r\n\r\nconst composedEnhancer = composeWithDevTools(applyMiddleware(thunk));\r\n\r\nconst store = createStore(reducers, {}, composedEnhancer);\r\n\r\nexport default store;","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import Axios from 'axios';\r\nimport { ADMIN, SUPER_ADMIN } from '../resources/constants/role';\r\nimport Parser from 'ua-parser-js';\r\nimport FingerprintJS from '@fingerprintjs/fingerprintjs';\r\nconst UAData = new Parser.UAParser().getResult();\r\n\r\nclass AuthenticationService {\r\n static BROWSER_ID = null;\r\n\r\n static SetAuthenticationStorage = (accessToken, expireIn, refreshToken = null) => {\r\n const currentDate = new Date();\r\n localStorage.setItem('access_token', accessToken);\r\n localStorage.setItem('expire_date', currentDate.setTime(currentDate.getTime() + expireIn * 1000));\r\n if (refreshToken) localStorage.setItem('refresh_token', refreshToken);\r\n }\r\n\r\n static IsLogged = () => {\r\n return localStorage.getItem('user') !== null\r\n }\r\n\r\n static SetUserData = (user) => {\r\n localStorage.setItem('user', JSON.stringify(user));\r\n }\r\n\r\n static SetToken = (token) => {\r\n const { accessToken, expireIn, refreshToken } = token;\r\n this.SetAuthenticationStorage(accessToken, expireIn, refreshToken);\r\n }\r\n\r\n static Login = (user, token) => {\r\n this.SetToken(token);\r\n this.SetUserData(user);\r\n }\r\n\r\n static Logout = () => {\r\n // no response required\r\n const refreshToken = localStorage.getItem('refresh_token');\r\n Axios.post('user/logout', { refreshToken: refreshToken })\r\n .finally(() => {\r\n this.ClearSessionLocaleStorage();\r\n window.location.href = '/';\r\n });\r\n }\r\n\r\n static GetToken = () => {\r\n return localStorage.getItem('access_token');\r\n }\r\n\r\n static RefreshToken = async () => {\r\n const expireDate = localStorage.getItem('expire_date');\r\n const refreshToken = localStorage.getItem('refresh_token');\r\n const user = localStorage.getItem('user');\r\n const accessToken = localStorage.getItem('access_token');\r\n\r\n if (!refreshToken || !user) {\r\n this.ClearSessionLocaleStorage();\r\n return false;\r\n }\r\n\r\n if (!expireDate || new Date(parseInt(expireDate) - 10000).getTime() <= new Date().getTime()) {\r\n // Must use fetch to avoid axios interceptors constraint (infinite loop)\r\n const request = await fetch(`${process.env.REACT_APP_API_URL}/user/refresh`, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({ refreshToken: refreshToken })\r\n });\r\n const response = await request.json();\r\n\r\n if (request.status === 200) {\r\n const { token } = response;\r\n this.SetAuthenticationStorage(token.accessToken, token.expireIn);\r\n return token.accessToken;\r\n } else {\r\n this.ClearSessionLocaleStorage();\r\n return false;\r\n }\r\n }\r\n\r\n return accessToken;\r\n }\r\n\r\n\r\n static GetSession = () => {\r\n return JSON.parse(localStorage.getItem('user'));\r\n }\r\n\r\n static GetRefreshToken = () => {\r\n return localStorage.getItem('refresh_token');\r\n }\r\n\r\n static IsAdmin = () => {\r\n return this.GetSession().role.includes(ADMIN);\r\n }\r\n\r\n static IsSuperAdmin = () => {\r\n return this.GetSession().role.includes(SUPER_ADMIN);\r\n }\r\n\r\n static GetDeviceInformations = () => {\r\n const { browser, os } = UAData;\r\n\r\n return ({\r\n browser: `${browser.name} ${browser.major}`,\r\n os: `${os.name} ${os.version}`\r\n });\r\n }\r\n\r\n static GetBrowserId = async () => {\r\n if (this.BROWSER_ID === null)\r\n this.BROWSER_ID = (await (await FingerprintJS.load()).get()).visitorId;\r\n\r\n return this.BROWSER_ID;\r\n }\r\n\r\n static ClearSessionLocaleStorage = () => {\r\n localStorage.removeItem('access_token');\r\n localStorage.removeItem('refresh_token');\r\n localStorage.removeItem('expire_date');\r\n localStorage.removeItem('user');\r\n }\r\n}\r\n\r\nexport default AuthenticationService","export const ADMIN = 'ADMIN';\r\nexport const SUPER_ADMIN = 'SUPER_ADMIN';\r\n","import Axios from 'axios';\r\nimport AuthenticationService from './Authentication';\r\n\r\nAxios.defaults.baseURL = `${process.env.REACT_APP_API_URL}/`;\r\n\r\nAxios.interceptors.request.use(async function (config) {\r\n await AuthenticationService.RefreshToken().then((token) => {\r\n config.headers['Content-Type'] = 'application/json';\r\n if (token) config.headers['Authorization'] = `Bearer ${token}`;\r\n });\r\n\r\n if (!(config.data instanceof FormData))\r\n config.data = JSON.stringify(config.data);\r\n\r\n return config;\r\n}, function (error) {\r\n return Promise.reject(error);\r\n});\r\n\r\nAxios.interceptors.response.use(function (response) {\r\n return response;\r\n}, function (error) {\r\n if (error.response) {\r\n // if (error.response.status === 401 || error.response.status === 403)\r\n // window.location.replace('/');\r\n\r\n // if (error.response.status === 401)\r\n // localStorage.clear();\r\n }\r\n\r\n return Promise.reject(error);\r\n});\r\n","import React, { useRef } from 'react';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport propTypes from 'prop-types';\r\n\r\n// Level signification\r\n// 1 : Z-INDEX : 1000 (Au dessus de tout)\r\n// 2 : Z-INDEX : 900 (Laisse apparaitre le header et le menu)\r\n// 3 : Z-INDEX : 800\r\n// 4 : Z-INDEX : 700\r\n// 5 : Z-INDEX : 600\r\n\r\nconst BackgroundPopup = (props) => {\r\n const nodeRef = useRef(null);\r\n\r\n return (\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nBackgroundPopup.propTypes = {\r\n enabled: propTypes.bool.isRequired,\r\n level: propTypes.number.isRequired,\r\n onClick: propTypes.func\r\n}\r\n\r\nexport default BackgroundPopup;","export const PREFERENCE_PANEL = {\r\n PHOTO: 'photo',\r\n INFORMATIONS: 'informations',\r\n SECURITY: 'security',\r\n DISABLE_ACCOUNT: 'disable-account'\r\n};","import { ADMIN_PANEL } from \"./adminPanel\";\r\nimport { PREFERENCE_PANEL } from \"./preferencePanel\";\r\n\r\nexport const MOBILE_MENU_TYPE = {\r\n MENU: 0,\r\n SEARCH: 1\r\n};\r\n\r\nexport const MENU = [\r\n {\r\n id: 'HOME',\r\n name: \"HOME\",\r\n link: '/',\r\n },\r\n {\r\n id: 'CATEGORIES',\r\n name: \"COURSES\",\r\n dynamicSubCategories: true\r\n },\r\n {\r\n id: 'METHOD',\r\n name: 'WHY_US',\r\n subCategories: [\r\n {\r\n name: \"CENTER_AND_COURSES\",\r\n link: '/centre'\r\n },\r\n {\r\n name: \"CERTIFIED_TUTORS\",\r\n link: '/team'\r\n }\r\n ]\r\n }\r\n];\r\n\r\nexport const PREFERENCES_MENU = [\r\n {\r\n id: PREFERENCE_PANEL.INFORMATIONS,\r\n name: \"INFORMATIONS\",\r\n link: '/dashboard/preference/informations'\r\n },\r\n {\r\n id: PREFERENCE_PANEL.PHOTO,\r\n name: \"PHOTO\",\r\n link: '/dashboard/preference/photo'\r\n },\r\n {\r\n id: PREFERENCE_PANEL.SECURITY,\r\n name: \"SECURITY\",\r\n link: '/dashboard/preference/security'\r\n }\r\n]\r\n\r\nexport const ADMIN_MENU = [\r\n {\r\n id: ADMIN_PANEL.COURSES,\r\n name: \"COURSES\",\r\n link: '/admin/courses'\r\n },\r\n {\r\n id: ADMIN_PANEL.USERS,\r\n name: \"USERS\",\r\n link: '/admin/users'\r\n },\r\n {\r\n id: ADMIN_PANEL.CATEGORIES,\r\n name: \"CATEGORIES\",\r\n link: '/admin/categories'\r\n },\r\n {\r\n id: ADMIN_PANEL.VOUCHERS,\r\n name: \"VOUCHERS\",\r\n link: '/admin/vouchers'\r\n },\r\n {\r\n id: ADMIN_PANEL.TRACER,\r\n name: \"TRACER\",\r\n link: '/admin/tracer'\r\n }\r\n]\r\n\r\nexport const SEARCH_RESULT_TYPE = {\r\n COURSE: 0,\r\n CATEGORY: 1\r\n};","export const loaderParams = {\r\n speed: 2,\r\n backgroundColor: '#f3f3f3',\r\n foregroundColor: '#ecebeb',\r\n title: 'Chargement...'\r\n}","import React from 'react';\r\nimport ContentLoader from 'react-content-loader';\r\nimport { loaderParams } from '../resources/constants/loader';\r\nimport propTypes from 'prop-types';\r\n\r\nconst BasicLoader = ({width, height, radius}) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nBasicLoader.propTypes = {\r\n width: propTypes.any.isRequired,\r\n height: propTypes.any.isRequired,\r\n radius: propTypes.oneOfType([propTypes.string, propTypes.number]).isRequired\r\n}\r\n\r\nexport default BasicLoader;","import React from 'react';\r\nimport propTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { convertStringForUrl } from '../Utils';\r\nimport BasicLoader from '../loader/BasicLoader';\r\nimport { MENU_SET_MOBILE_MENU } from '../redux/actions/ActionTypes';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst MenuItem = ({ menu }) => {\r\n const dispatch = useDispatch();\r\n const menuStore = useSelector(store => store.menu);\r\n const { t } = useTranslation()\r\n\r\n if (menu.dynamicSubCategories)\r\n return (\r\n
\r\n
\r\n {t(menu.name)}\r\n
\r\n
\r\n
\r\n
\r\n {menuStore.isCategoriesLoading ?\r\n <>\r\n
\r\n
\r\n
\r\n : menuStore.categories.map((category, i) => dispatch({ type: MENU_SET_MOBILE_MENU, payload: { menu: null } })}>{category.title})\r\n }\r\n
\r\n
\r\n
\r\n );\r\n\r\n if (menu.subCategories)\r\n return (\r\n
\r\n
\r\n {t(menu.name)}\r\n
\r\n
\r\n
\r\n
\r\n {menu.subCategories.map((category, i) => dispatch({ type: MENU_SET_MOBILE_MENU, payload: { menu: null } })}>{t(category.name)})}\r\n
\r\n
\r\n
\r\n );\r\n\r\n return (\r\n dispatch({ type: MENU_SET_MOBILE_MENU, payload: { menu: null } })}>{t(menu.name)}\r\n );\r\n}\r\n\r\nMenuItem.propTypes = {\r\n menu: propTypes.object.isRequired\r\n};\r\n\r\nexport default MenuItem","import React from 'react';\r\nimport { MENU } from '../resources/constants/menu';\r\nimport MenuItem from './MenuItem';\r\n\r\nconst MenuList = () => {\r\n return (\r\n
\r\n {MENU.map(menu => )}\r\n
\r\n );\r\n}\r\n\r\nexport default MenuList;","import React from 'react';\r\nimport ContentLoader from 'react-content-loader';\r\nimport { loaderParams } from '../resources/constants/loader';\r\n\r\nconst HeaderResultItemLoader = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default HeaderResultItemLoader;","export const COURSE_STATUS = [\r\n {\r\n id: 1,\r\n label: 'Nouveau'\r\n },\r\n {\r\n id: 0,\r\n label: 'Neutre'\r\n },\r\n {\r\n id: 2,\r\n label: 'Obselète'\r\n }\r\n]","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport propTypes from 'prop-types'\r\nimport { SEARCH_RESULT_TYPE } from '../resources/constants/menu';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { convertStringForUrl } from '../Utils';\r\nimport { MENU_SET_RESULT_VISIBLE, MENU_SET_SEARCHING_VALUE } from '../redux/actions/ActionTypes';\r\nimport { COURSE_STATUS } from '../resources/constants/courseStatus';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst HeaderResultItem = ({ type, result }) => {\r\n const dispatch = useDispatch();\r\n const menuStore = useSelector(store => store.menu);\r\n const { t } = useTranslation();\r\n\r\n const onSelect = () => {\r\n dispatch({ type: MENU_SET_RESULT_VISIBLE, payload: { isVisible: false } });\r\n dispatch({ type: MENU_SET_SEARCHING_VALUE, payload: { value: result.title } });\r\n }\r\n\r\n return (\r\n \r\n
\r\n\r\n
\r\n ${menuStore.searchingValue}`) }}>\r\n {type === SEARCH_RESULT_TYPE.COURSE && result.status === COURSE_STATUS[0].id ? {t(\"NEW\")} : null}\r\n {type === SEARCH_RESULT_TYPE.COURSE && result.status === COURSE_STATUS[2].id ? {t(\"SOON_EXPIRED_SHORT\")} : null}\r\n
\r\n \r\n );\r\n}\r\n\r\nHeaderResultItem.propTypes = {\r\n type: propTypes.number.isRequired,\r\n result: propTypes.object.isRequired\r\n};\r\n\r\nexport default HeaderResultItem;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport HeaderResultItemLoader from '../loader/HeaderResultItemLoader';\r\nimport { SEARCH_RESULT_TYPE } from '../resources/constants/menu';\r\nimport HeaderResultItem from './HeaderResultItem';\r\n\r\nconst HeaderResultList = () => {\r\n const menuStore = useSelector(store => store.menu);\r\n\r\n if (menuStore.isSearchingLoading)\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n\r\n \r\n if (!menuStore.searchingResults || !menuStore.searchingResults.categories || !menuStore.searchingResults.courses || (!menuStore.searchingResults.categories.length && !menuStore.searchingResults.courses.length))\r\n return null;\r\n\r\n return (\r\n
\r\n
\r\n {menuStore.searchingResults.courses.map(item => )}\r\n {menuStore.searchingResults.categories.map(item => )}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default HeaderResultList;","import Axios from \"axios\"\r\nimport { createNotification } from \"../../Utils\";\r\nimport { HOME_PANEL_SET_CATEGORIES, HOME_PANEL_SET_CATEGORIES_LOADING, HOME_PANEL_SET_SELECTED_CATEGORY_ID, MENU_SET_CATEGORIES, MENU_SET_CATEGORIES_LOADING, MENU_SET_LOADED, MENU_SET_SEARCHING_LOADING, MENU_SET_SEARCHING_RESULT } from \"./ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const loadCategories = () => async dispatch => {\r\n dispatch({ type: MENU_SET_CATEGORIES_LOADING, payload: { isLoading: true } });\r\n dispatch({ type: HOME_PANEL_SET_CATEGORIES_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`category/main?lang=${i18n.language}`).then(({ data }) => {\r\n dispatch({ type: MENU_SET_CATEGORIES, payload: { categories: data } });\r\n dispatch({ type: HOME_PANEL_SET_CATEGORIES, payload: { categories: data } });\r\n dispatch({ type: MENU_SET_LOADED, payload: { isLoaded: true } });\r\n\r\n if (data[0] && data[0].id)\r\n dispatch({ type: HOME_PANEL_SET_SELECTED_CATEGORY_ID, payload: { id: data[0].id } });\r\n\r\n }).finally(() => {\r\n dispatch({ type: MENU_SET_CATEGORIES_LOADING, payload: { isLoading: false } });\r\n dispatch({ type: HOME_PANEL_SET_CATEGORIES_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const loadSearchBarResult = (value) => async dispatch => {\r\n dispatch({ type: MENU_SET_SEARCHING_LOADING, payload: { isLoading: true } });\r\n Axios.get(`category/search`, {\r\n params: {\r\n name: value,\r\n lang: i18n.language\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: MENU_SET_SEARCHING_RESULT, payload: { results: data } });\r\n }).finally(() => {\r\n dispatch({ type: MENU_SET_SEARCHING_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const confirmAccount = (email, code) => async dispatch => {\r\n return Axios.put(`user/email/confirm`, {\r\n email, code\r\n }).then(() => {\r\n return true\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"CONFIRM_ACCOUNT_CODE_ERROR\"), 'danger');\r\n return false;\r\n });\r\n}","import i18n from \"i18next\";\r\nimport detector from \"i18next-browser-languagedetector\";\r\nimport { initReactI18next } from 'react-i18next';\r\n\r\nimport translationFR from './translations/fr.json';\r\nimport translationEN from './translations/en.json';\r\n\r\n// the translations\r\nconst resources = {\r\n fr: {\r\n translation: translationFR\r\n },\r\n en: {\r\n translation: translationEN\r\n }\r\n};\r\n\r\ni18n\r\n .use(detector)\r\n .use(initReactI18next) // passes i18n down to react-i18next\r\n .init({\r\n resources,\r\n lng: localStorage.getItem('lang') || window.navigator.language.split('-')[0],\r\n fallbackLng: 'fr', // use en if detected lng is not available\r\n\r\n keySeparator: false, // we do not use keys in form messages.welcome\r\n\r\n interpolation: {\r\n escapeValue: false // react already safes from xss\r\n }\r\n });\r\n\r\nexport default i18n;","var _circle, _circle2, _circle3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLoading(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 120,\n height: 30,\n viewBox: \"0 0 120 30\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"#fff\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 15,\n cy: 15,\n r: 15\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"r\",\n from: 15,\n to: 15,\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"15;9;15\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }), /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n from: 1,\n to: 1,\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"1;.5;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }))), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 60,\n cy: 15,\n r: 9,\n fillOpacity: 0.3\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"r\",\n from: 9,\n to: 9,\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"9;15;9\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }), /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n from: 0.5,\n to: 0.5,\n begin: \"0s\",\n dur: \"0.8s\",\n values: \".5;1;.5\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }))), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 105,\n cy: 15,\n r: 15\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"r\",\n from: 15,\n to: 15,\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"15;9;15\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }), /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n from: 1,\n to: 1,\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"1;.5;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLoading);\nexport default __webpack_public_path__ + \"static/media/loading.d495cf01.svg\";\nexport { ForwardRef as ReactComponent };","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAACXBIWXMAAC4jAAAuIwF4pT92AAAF92lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMTAtMjZUMTU6MzQ6MzUrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMTAtMjZUMTU6MzQ6MzUrMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTEwLTI2VDE1OjM0OjM1KzAxOjAwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjkyNDA4ZjRmLTE3YTEtNDJjNS1iMmMzLTZjMmRlZTU3N2Y0NiIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmFmNDQ1OTM3LWE5NjYtNjg0MS04ZjhlLWYwMjY2ODIxZDg2YiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmMwY2FmOTU0LTg3NTQtNGMxYi1hMDNmLWRmODkxZWNmZGRlYyIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YzBjYWY5NTQtODc1NC00YzFiLWEwM2YtZGY4OTFlY2ZkZGVjIiBzdEV2dDp3aGVuPSIyMDIwLTEwLTI2VDE1OjM0OjM1KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OTI0MDhmNGYtMTdhMS00MmM1LWIyYzMtNmMyZGVlNTc3ZjQ2IiBzdEV2dDp3aGVuPSIyMDIwLTEwLTI2VDE1OjM0OjM1KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7D5GSSAAAbHUlEQVR4nO3dd3CUh5nH8XdXq9WqoV5RRQUJ0ZvBFGNjjCh2Ehdc4ztPjAlJJsll5uLkWpziuczFd5c4Ts6Xs2+cs018riH22UBcQWA6oqlQJKGCEBJCva527w8YY4gwAnbf5109389/mYm1v5HEfrXvvu+7tpWrnzAAAPrYpQcAAGQQAABQigAAgFIEAACUIgAAoBQBAAClCAAAKEUAAEApAgAAShEAAFCKAACAUgQAAJQiAACgFAEAAKUIAAAoRQAAQCkCAABKEQAA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AABKEQAAUIoAAIBSBAAAlCIAAKAUAQAApQgAAChFAABAKQIAAEoRAABQigAAgFIEAACUIgAAoBQBAAClCAAAKEUAAEApAgAAShEAAFCKAACAUgQAAJQiAACgFAEAAKUIAAAoRQAAQCkCAABKEQAAUIoAAIBSBAAAlCIAAKAUAQAApQgAAChFAABAKQIAAEoRAABQigAAgFIEAACUIgAAoBQBAAClCAAAKEUAAEApAgAAShEAAFCKAACAUgQAAJQiAACgFAEAAKUIAAAoRQAAQCkCAABKEQAAUIoAAIBSBAAAlCIAAKAUAQAApQgAAChFAABAKQIAAEoRAABQigAAgFIEAACUIgAAoBQBAAClCAAAKEUAAEApAgAAShEAAFCKAACAUgQAAJQiAACgFAEAAKUIAAAoRQAAQCkCAABKEQAAUIoAAIBSBAAAlCIAAKAUAQAApQgAAChFAABAKQIAAEoRAABQigAAgFIEAACUIgAAoBQBAAClCAAAKEUAAEApAgAAShEAAFCKAACAUgQAAJQiAACgFAEAAKUIAAAoRQAAQCkCAABKEQAAUIoAAIBSBAAAlPp/ozsUsVgXMSIAAAAASUVORK5CYII=\"","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport UseAnimations from 'react-useanimations';\r\nimport menu4 from 'react-useanimations/lib/menu4';\r\nimport searchToX from 'react-useanimations/lib/searchToX';\r\nimport BackgroundPopup from '../BackgroundPopup';\r\nimport { MENU_SET_MOBILE_MENU, MENU_SET_RESULT_VISIBLE, MENU_SET_SEARCHING_VALUE, SIGN_POPUP_SET_ENABLED, VOUCHER_POPUP_SET_ENABLED } from '../redux/actions/ActionTypes';\r\nimport MenuList from './MenuList';\r\nimport HeaderResultList from './HeaderResultList';\r\nimport { loadCategories, loadSearchBarResult } from '../redux/actions/MainActions';\r\nimport { SIGN_POPUP_POPUP_TYPE } from '../resources/constants/signPopupType';\r\nimport AuthenticationService from '../services/Authentication';\r\nimport { MOBILE_MENU_TYPE } from '../resources/constants/menu';\r\nimport i18n from '../i18n';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n// Images\r\nimport Profile from '../resources/images/profile.png';\r\n\r\nconst Header = ({ fixed }) => {\r\n const { t } = useTranslation()\r\n\r\n const [selectedLanguage, setSelectedLanguage] = useState(i18n.language)\r\n const dispatch = useDispatch();\r\n const menuStore = useSelector(store => store.menu);\r\n let connectedUser = null;\r\n const [searchInputTimer, setSearchInputTimer] = useState(null);\r\n\r\n if (AuthenticationService.IsLogged())\r\n connectedUser = AuthenticationService.GetSession();\r\n\r\n useEffect(() => {\r\n if (!menuStore.isLoaded)\r\n dispatch(loadCategories());\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n dispatch(loadCategories());\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [i18n.language]);\r\n\r\n const onSearching = (e) => {\r\n clearTimeout(searchInputTimer);\r\n dispatch({ type: MENU_SET_SEARCHING_VALUE, payload: { value: e.target.value } });\r\n dispatch({ type: MENU_SET_RESULT_VISIBLE, payload: { isVisible: Boolean(e.target.value && e.target.value.length >= 3) } });\r\n\r\n if (e.target.value && e.target.value.length >= 3) {\r\n const value = e.target.value;\r\n setSearchInputTimer(setTimeout(() => dispatch(loadSearchBarResult(value)), 500));\r\n }\r\n }\r\n\r\n const changeLanguage = (lng) => {\r\n setSelectedLanguage(lng);\r\n i18n.changeLanguage(lng);\r\n localStorage.setItem('lang', lng)\r\n }\r\n\r\n return (\r\n <>\r\n dispatch({ type: MENU_SET_RESULT_VISIBLE, payload: { isVisible: false } })} />\r\n\r\n
\r\n
\r\n
\r\n dispatch({ type: MENU_SET_MOBILE_MENU, payload: { menu: menuStore.mobileMenu === MOBILE_MENU_TYPE.MENU ? null : MOBILE_MENU_TYPE.MENU } })} />\r\n
\r\n dispatch({ type: MENU_SET_MOBILE_MENU, payload: { menu: menuStore.mobileMenu === MOBILE_MENU_TYPE.SEARCH ? null : MOBILE_MENU_TYPE.SEARCH } })} />\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n {menuStore.isResultVisible && }\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
changeLanguage('fr')}>\r\n
\r\n Français\r\n
\r\n\r\n
changeLanguage('en')}>\r\n
\r\n English\r\n
\r\n
\r\n
\r\n
\r\n\r\n {!AuthenticationService.IsLogged() ?
\r\n
dispatch({ type: SIGN_POPUP_SET_ENABLED, payload: { type: SIGN_POPUP_POPUP_TYPE.REGISTER } })}>{t(\"REGISTRATION\")}
\r\n
dispatch({ type: SIGN_POPUP_SET_ENABLED, payload: { type: SIGN_POPUP_POPUP_TYPE.LOGIN } })}>{t(\"CONNECTION\")}
\r\n
:
\r\n {t(\"MY_COURSES\")}\r\n
\r\n
profile{`${connectedUser.firstname} ${connectedUser.lastname}`}
\r\n\r\n
\r\n
\r\n {t(\"PREFERENCES\")}\r\n
dispatch({ type: VOUCHER_POPUP_SET_ENABLED, payload: { isEnabled: true } })}>{t(\"USE_CODE\")}
\r\n {AuthenticationService.IsAdmin() && {t(\"ADMINISTRATION\")} }\r\n
AuthenticationService.Logout()}>{t(\"LOGOUT\")}
\r\n
\r\n
\r\n
\r\n
}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default Header;","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrow1(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 23.727,\n height: 33.117,\n viewBox: \"0 0 23.727 33.117\",\n className: \"arrow-1\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_316\",\n \"data-name\": \"Group 316\",\n transform: \"translate(-84.318 -403.705)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_653\",\n \"data-name\": \"Path 653\",\n d: \"M-19654.2,4127.549s-21.754,18.755,4.428,25.125\",\n transform: \"translate(19748 -3723.087)\",\n fill: \"none\",\n stroke: \"#000\",\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Polygon_6\",\n \"data-name\": \"Polygon 6\",\n transform: \"translate(108.045 427.55) rotate(112)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 8.300490379333496 8.499997138977051 L 1.699509978294373 8.499997138977051 C 1.441439986228943 8.499997138977051 1.312180042266846 8.327656745910645 1.268579959869385 8.253556251525879 C 1.224979996681213 8.179466247558594 1.137109994888306 7.982776641845703 1.262439966201782 7.757176876068115 L 4.562920093536377 1.816306710243225 C 4.691880226135254 1.584186673164368 4.911540031433105 1.559126734733582 5 1.559126734733582 C 5.088459968566895 1.559126734733582 5.308119773864746 1.584186673164368 5.437079906463623 1.816306710243225 L 8.737560272216797 7.757176876068115 C 8.862890243530273 7.982776641845703 8.775019645690918 8.179466247558594 8.731419563293457 8.253556251525879 C 8.687820434570312 8.327656745910645 8.558560371398926 8.499997138977051 8.300490379333496 8.499997138977051 Z\",\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 5 2.059126853942871 L 1.699509620666504 7.999996662139893 L 8.300479888916016 7.999996662139893 L 5.000010013580322 2.059136867523193 C 5.000008106231689 2.059133529663086 5.000006198883057 2.059130191802979 5.000004291534424 2.059126853942871 C 5.000002861022949 2.059126853942871 5.000001430511475 2.059126853942871 5 2.059126853942871 M 5 1.059128761291504 C 5.341827392578125 1.059128761291504 5.68365478515625 1.230581283569336 5.874159812927246 1.573486328125 L 9.174639701843262 7.51435661315918 C 9.544939994812012 8.180887222290039 9.062970161437988 8.999996185302734 8.300490379333496 8.999996185302734 L 1.699509620666504 8.999996185302734 C 0.9370298385620117 8.999996185302734 0.4550600051879883 8.180887222290039 0.8253602981567383 7.51435661315918 L 4.125840187072754 1.573486328125 C 4.31634521484375 1.230581283569336 4.658172607421875 1.059128761291504 5 1.059128761291504 Z\",\n stroke: \"none\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrow1);\nexport default __webpack_public_path__ + \"static/media/arrow-1.6878b88f.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useRef, useState } from 'react';\r\nimport propTypes from 'prop-types';\r\nimport { useInterval } from './hook/UseInterval';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n// Images\r\nimport { ReactComponent as Loading } from './resources/images/loading.svg';\r\n\r\nconst Button = (props) => {\r\n const buttonRef = useRef(null);\r\n const [buttonHeight, setButtonHeight] = useState(null);\r\n const [currentLoading, setCurrentLoading] = useState(false);\r\n const [title, setTitle] = useState(null);\r\n const [isConfirmationInProgress, setConfirmationInProgress] = useState(false);\r\n const [confirmationDelay, setConfirmationDelay] = useState(3);\r\n const [isConfirmed, setConfirmed] = useState(false);\r\n const { t } = useTranslation()\r\n\r\n useInterval(() => {\r\n const newTime = confirmationDelay - 1;\r\n setConfirmationDelay(newTime);\r\n setTitle(`${t(\"CONFIRMATION\")} dans ${newTime}...`);\r\n\r\n if (!newTime) {\r\n setTitle(`Confirmer`);\r\n setConfirmed(true);\r\n setConfirmationInProgress(false);\r\n }\r\n }, 1000, isConfirmationInProgress && confirmationDelay)\r\n\r\n useEffect(() => {\r\n if (props.isLoading && buttonRef && buttonRef.current) {\r\n setButtonHeight(buttonRef.current.offsetHeight);\r\n }\r\n\r\n setCurrentLoading(props.isLoading);\r\n }, [props.isLoading]);\r\n\r\n const onClick = () => {\r\n if (!props.confirmationRequired || isConfirmed) {\r\n if (props.onClick)\r\n props.onClick();\r\n } else {\r\n setTitle(`${t(\"CONFIRMATION\")} dans 3...`);\r\n setConfirmationInProgress(true);\r\n }\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nButton.propTypes = {\r\n title: propTypes.string,\r\n onClick: propTypes.func,\r\n isLoading: propTypes.bool,\r\n disabled: propTypes.bool,\r\n btnStyle: propTypes.string,\r\n type: propTypes.string,\r\n confirmationRequired: propTypes.bool\r\n};\r\n\r\nexport default Button;","import { useEffect, useRef } from 'react';\r\n\r\nexport function useInterval(callback, delay, isRunning) {\r\n const savedCallback = useRef();\r\n\r\n // Remember the latest function.\r\n useEffect(() => {\r\n savedCallback.current = callback;\r\n }, [callback]);\r\n\r\n // Set up the interval.\r\n useEffect(() => {\r\n function tick() {\r\n savedCallback.current();\r\n }\r\n if (isRunning && delay !== null) {\r\n let id = setInterval(tick, delay);\r\n return () => clearInterval(id);\r\n }\r\n }, [delay, isRunning]);\r\n};","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../Button';\r\nimport { MENU_SET_MOBILE_MENU, SIGN_POPUP_SET_ENABLED, VOUCHER_POPUP_SET_ENABLED } from '../redux/actions/ActionTypes';\r\nimport { MOBILE_MENU_TYPE, PREFERENCES_MENU } from '../resources/constants/menu';\r\nimport { SIGN_POPUP_POPUP_TYPE } from '../resources/constants/signPopupType';\r\nimport MenuList from './MenuList';\r\nimport AuthenticationService from '../services/Authentication';\r\nimport { Link } from 'react-router-dom';\r\nimport Select from 'react-select';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n// Images\r\nimport Profile from '../resources/images/profile.png';\r\n\r\nconst MobileMenu = () => {\r\n const { t } = useTranslation()\r\n \r\n const dispatch = useDispatch();\r\n const menuStore = useSelector(store => store.menu);\r\n let connectedUser = null;\r\n const LANGUAGES = [\r\n { value: 'fr', label: 'Français' },\r\n { value: 'en', label: 'English' },\r\n ]\r\n\r\n if (AuthenticationService.IsLogged())\r\n connectedUser = AuthenticationService.GetSession();\r\n\r\n if (menuStore.mobileMenu !== MOBILE_MENU_TYPE.MENU)\r\n return null;\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {connectedUser &&\r\n
\r\n
\r\n profile\r\n
\r\n {t(\"HELLO\")}, \r\n {`${connectedUser.firstname} ${connectedUser.lastname}`}\r\n
\r\n
\r\n\r\n
\r\n dispatch({ type: MENU_SET_MOBILE_MENU, payload: { menu: null } })}>Mes formations\r\n\r\n
\r\n
\r\n {t(\"PREFERENCES\")}\r\n
\r\n
\r\n
\r\n
\r\n {PREFERENCES_MENU.map(item => dispatch({ type: MENU_SET_MOBILE_MENU, payload: { menu: null } })}>{item.name})}\r\n
\r\n
\r\n
\r\n\r\n
dispatch({ type: VOUCHER_POPUP_SET_ENABLED, payload: { isEnabled: true } })}>{t(\"USE_CODE\")}
\r\n\r\n {AuthenticationService.IsAdmin() && {t(\"ADMINISTRATION\")} }\r\n
\r\n
}\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n {!connectedUser ?\r\n
\r\n
:
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default MobileMenu;","import React, { useRef } from 'react';\r\nimport propTypes from 'prop-types';\r\nimport BackgroundPopup from '../BackgroundPopup';\r\nimport { CSSTransition } from 'react-transition-group';\r\n\r\nconst PopupHOC = (WrappedComponent, classNames) => {\r\n const HOC = (props) => {\r\n const nodeRef = useRef(null);\r\n\r\n const onClickPopupContainer = (e) => {\r\n if (e.target.getAttribute('data-role') === 'close-popup')\r\n props.onClose();\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n HOC.propTypes = {\r\n enabled: propTypes.bool.isRequired,\r\n onClose: propTypes.func.isRequired\r\n };\r\n\r\n return HOC;\r\n}\r\n\r\nexport default PopupHOC","import React from 'react';\r\nimport propTypes from 'prop-types';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nconst MenuAdminPopup = ({ menu, dispatchType, selectedMenu, isLoading, ExtraComponent }) => {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {menu.map(item =>
\r\n
dispatch({ type: dispatchType, payload: { type: item.id } })}>\r\n {item.title}\r\n
\r\n
)}\r\n
\r\n\r\n {ExtraComponent &&
\r\n \r\n
}\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nMenuAdminPopup.propTypes = {\r\n menu: propTypes.array.isRequired,\r\n dispatchType: propTypes.string.isRequired,\r\n selectedMenu: propTypes.number,\r\n isLoading: propTypes.bool,\r\n extraComponent: propTypes.object\r\n};\r\n\r\nexport default MenuAdminPopup;","import React from 'react';\r\nimport propTypes from 'prop-types';\r\nimport PopupHOC from './PopupHOC';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport MenuAdminPopup from '../popup/admin/MenuAdminPopup';\r\nimport { useBottomScrollListener } from 'react-bottom-scroll-listener';\r\n\r\nconst AdminPopupHOC = (WrappedComponent, title = null, subTitle, storeName = null, menuDispatchType = null, ExtraComponent = null, onBottom = null) => {\r\n const HOC = (props) => {\r\n const dispatch = useDispatch();\r\n const store = useSelector(store => store[storeName]);\r\n let onBottomStore = useSelector(store => store[onBottom ? onBottom.storeName : null]);\r\n \r\n let containerRef = useBottomScrollListener(onBottom ? () => {\r\n onBottom.completion(dispatch, onBottomStore)\r\n } : () => { });\r\n\r\n return (\r\n
\r\n
\r\n \r\n {subTitle}\r\n \r\n\r\n
\r\n

{title || store.popupTitle}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n {store && store.menu ? : null}\r\n\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n HOC.propTypes = {\r\n isLoading: propTypes.bool\r\n };\r\n\r\n return PopupHOC(HOC, 'admin');\r\n}\r\n\r\nexport default AdminPopupHOC;","import React from 'react';\r\nimport propTypes from 'prop-types';\r\n\r\nconst AdditionalItemAssignAdditionalAdminPopup = ({ file }) => {\r\n return (\r\n
\r\n {'additional'}\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nAdditionalItemAssignAdditionalAdminPopup.propTypes = {\r\n file: propTypes.object.isRequired\r\n};\r\n\r\nexport default AdditionalItemAssignAdditionalAdminPopup;","import React, { useCallback, useEffect } from 'react';\r\nimport { useDropzone } from 'react-dropzone';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport { ASSIGN_ADDITIONAL_ADMIN_POPUP_RESET } from '../../redux/actions/ActionTypes';\r\nimport { uploadAdditionalAdminPopup } from '../../redux/actions/popup/admin/AssignAdditionalPopupActions';\r\nimport AdditionalItemAssignAdditionalAdminPopup from './assignAdditional/AdditionalItemAssignAdditionalAdminPopup';\r\n\r\nconst AssignAdditionalAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const assignAdditionalAdminStore = useSelector(store => store.assignAdditionalAdminPopup);\r\n\r\n const onDrop = useCallback(acceptedFiles => {\r\n dispatch(uploadAdditionalAdminPopup(assignAdditionalAdminStore.lectureId, acceptedFiles, assignAdditionalAdminStore.files?.length));\r\n }, [dispatch, assignAdditionalAdminStore.lectureId, assignAdditionalAdminStore.files]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n dispatch({ type: ASSIGN_ADDITIONAL_ADMIN_POPUP_RESET });\r\n }\r\n }, [dispatch]);\r\n\r\n const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop, accept: 'image/jpeg, image/jpg, image/png, image/gif, image/heic' });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n {!isDragActive ? 'Cliquez ou glissez les éléments à uploader' : 'Lachez...'}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {assignAdditionalAdminStore.files?.map((file) => )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(AssignAdditionalAdminPopup, 'Ajouter des ressources', 'Création d\\'images supplémentaires');","import Axios from \"axios\";\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { ASSIGN_ADDITIONAL_ADMIN_POPUP_ADD_FILE, ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_ENABLED, ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_ERROR, ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_PROGRESS, ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_LECTURE_ID, LECTURE_PANEL_ADMIN_ADD_ADDITIONAL } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const openAdditionalAdminPopup = (lectureId) => async dispatch => {\r\n dispatch({ type: ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } });\r\n dispatch({ type: ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_LECTURE_ID, payload: { id: lectureId } });\r\n}\r\n\r\nexport const uploadAdditionalAdminPopup = (lectureId, files, nbUploadedFiles = 0) => async dispatch => {\r\n for (const iFile in files) {\r\n const file = files[iFile];\r\n if (file.size < 2000000) {\r\n\r\n const uploadId = parseInt(nbUploadedFiles) + parseInt(iFile);\r\n var reader = new FileReader();\r\n reader.onload = (e) => {\r\n var content = e.target.result;\r\n dispatch({ type: ASSIGN_ADDITIONAL_ADMIN_POPUP_ADD_FILE, payload: { file: { ...file, id: uploadId, link: content, progress: 0 } } });\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n\r\n const formData = new FormData();\r\n formData.append('Picture', file);\r\n\r\n Axios.put(`resource/${lectureId}/add/picture/admin`, formData, {\r\n headers: { 'content-type': 'multipart/form-data' },\r\n onUploadProgress: (progress) => {\r\n dispatch({ type: ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_PROGRESS, payload: { id: uploadId, progress: (progress.total / progress.loaded) * 100 } });\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: LECTURE_PANEL_ADMIN_ADD_ADDITIONAL, payload: { picture: data } });\r\n }).catch(() => {\r\n dispatch({ type: ASSIGN_ADDITIONAL_ADMIN_POPUP_SET_FILE_ERROR, payload: { id: uploadId, error: true } });\r\n });\r\n } else {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), `${i18n.t(\"IMAGE_TOO_WEIGHT\")}. (Maximum 2MB)`, 'danger');\r\n }\r\n }\r\n}","import React from 'react';\r\nimport propTypes from 'prop-types';\r\n\r\nconst InputHOC = (WrappedComponent) => {\r\n const HOC = (props) => {\r\n return \r\n };\r\n\r\n HOC.propTypes = {\r\n value: propTypes.string,\r\n onChange: propTypes.func,\r\n placeholder: propTypes.string,\r\n title: propTypes.string,\r\n type: propTypes.string,\r\n autocomplete: propTypes.string,\r\n disabled: propTypes.bool,\r\n error: propTypes.bool,\r\n helperText: propTypes.string,\r\n success: propTypes.bool,\r\n inputRef: propTypes.any\r\n }\r\n\r\n return HOC;\r\n}\r\n\r\n\r\nexport default InputHOC;","import React, { useState } from 'react';\r\nimport InputHOC from './HOC/InputHOC';\r\nimport propTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst Input = (props) => {\r\n const [isPasswordHidden, setPasswordHidden] = useState(true);\r\n const [typingTimer, setTypingTimer] = useState(null);\r\n const { t } = useTranslation();\r\n\r\n const onChange = (e) => {\r\n props.onChange(e.target.value)\r\n\r\n if (props.onTypingDelay) {\r\n clearTimeout(typingTimer);\r\n\r\n const value = e.target.value;\r\n setTypingTimer(setTimeout(() => props.onTypingDelay(value), 500));\r\n }\r\n }\r\n\r\n const onClick = () => {\r\n if(props.onClick)\r\n props.onClick()\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {props.title && {props.title}}\r\n {props.type && props.passwordToggle && setPasswordHidden(!isPasswordHidden) : null}>{isPasswordHidden ? t(\"SHOW\") : t(\"HIDE\")}}\r\n
\r\n
\r\n {props.children ? props.children : }\r\n {props.error &&
}\r\n {props.success &&
}\r\n
\r\n {props.error && props.helperText && {props.helperText}}\r\n
\r\n );\r\n}\r\n\r\nInput.propTypes = {\r\n passwordToggle: propTypes.bool,\r\n onTypingDelay: propTypes.func,\r\n isCalendarInput: propTypes.bool\r\n};\r\n\r\nexport default InputHOC(Input);","import Axios from \"axios\";\r\nimport { getTreeFromFlatData } from \"react-sortable-tree\";\r\nimport { createNotification } from \"../../../Utils\";\r\nimport { CATEGORY_ADMIN_PANEL_SET_CATEGORIES, CATEGORY_ADMIN_PANEL_SET_LOADING } from \"../ActionTypes\"\r\nimport i18n from 'i18next';\r\n\r\nexport const loadCategoryAdmin = () => async dispatch => {\r\n dispatch({ type: CATEGORY_ADMIN_PANEL_SET_LOADING, payload: { isLoading: true } });\r\n dispatch({ type: CATEGORY_ADMIN_PANEL_SET_CATEGORIES, payload: { categories: [] } });\r\n\r\n return Axios.get(`category/all`)\r\n .then(({ data }) => {\r\n dispatch({\r\n type: CATEGORY_ADMIN_PANEL_SET_CATEGORIES, payload: {\r\n categories: getTreeFromFlatData({\r\n flatData: data,\r\n getKey: c => c.id,\r\n getParentKey: c => c.parentCategoryid,\r\n rootKey: null\r\n })\r\n }\r\n });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: CATEGORY_ADMIN_PANEL_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const updateCategoryPositionAdmin = (categoryId, position, parentCategoryId = null) => async dispatch => {\r\n Axios.put(`category/position/change/admin`, {\r\n id: categoryId,\r\n level: position + 1,\r\n parentId: parentCategoryId\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}","import Axios from \"axios\";\r\nimport { ADMIN_CATEGORY_MENU_TYPE } from \"../../../../resources/constants/adminPanel\";\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { CATEGORY_ADMIN_PANEL_ADD_CATEGORY, CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY, CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY_PICTURE, CATEGORY_ADMIN_POPUP_SET_CATEGORY, CATEGORY_ADMIN_POPUP_SET_CATEGORY_ID, CATEGORY_ADMIN_POPUP_SET_COURSES, CATEGORY_ADMIN_POPUP_SET_COURSES_LOADING, CATEGORY_ADMIN_POPUP_SET_ENABLED, CATEGORY_ADMIN_POPUP_SET_INFORMATIONS_LOADING, CATEGORY_ADMIN_POPUP_SET_LOADING, CATEGORY_ADMIN_POPUP_SET_PICTURE, CATEGORY_ADMIN_POPUP_SET_PICTURE_LOADING, CATEGORY_ADMIN_POPUP_SET_POPUP_TITLE, CATEGORY_ADMIN_POPUP_TITLE_CHECK, CATEGORY_ADMIN_POPUP_TITLE_EN_CHECK, CATEGORY_ADMIN_POPUP_TOGGLE_MENU_STATUS } from \"../../ActionTypes\";\r\nimport { loadCategoryAdmin } from \"../../admin/CategoryAdminActions\";\r\nimport i18n from 'i18next';\r\n\r\nconst checkCategoryInformations = (categoryAdminStore) => async dispatch => {\r\n const isTitleValid = categoryAdminStore.title && categoryAdminStore.title.length >= 3 && categoryAdminStore.title.length <= 50;\r\n const isTitleENValid = categoryAdminStore.titleEN && categoryAdminStore.titleEN.length >= 3 && categoryAdminStore.titleEN.length <= 50;\r\n\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_TITLE_CHECK, payload: { isValid: isTitleValid } });\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_TITLE_EN_CHECK, payload: { isValid: isTitleENValid } });\r\n\r\n return isTitleValid && isTitleENValid;\r\n}\r\n\r\nexport const openCategoryAdminPopup = (categoryId = null) => async dispatch => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_ENABLED, payload: { type: ADMIN_CATEGORY_MENU_TYPE.OVERVIEW } });\r\n\r\n if (categoryId) {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_CATEGORY_ID, payload: { id: categoryId } });\r\n } else {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_POPUP_TITLE, payload: { title: 'Création d\\'une catégorie' } });\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: false } });\r\n }\r\n}\r\n\r\nexport const loadCategoryAdminPopup = (categoryId) => async dispatch => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: true } });\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`category/${categoryId}`)\r\n .then(({ data }) => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_CATEGORY, payload: { category: data } });\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_POPUP_TITLE, payload: { title: `${data.title}` } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n }).finally(() => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const loadCourseCategoryAdminPopup = (categoryId) => async dispatch => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_COURSES_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`category/${categoryId}/list/model/courses/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_COURSES, payload: { courses: data } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_COURSES_LOADING, payload: { isLoading: false } });\r\n })\r\n}\r\n\r\nexport const createCategoryAdminPopup = (categoryAdminStore) => async dispatch => {\r\n if (await dispatch(checkCategoryInformations(categoryAdminStore))) {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.post(`category/add/admin`, {\r\n title: categoryAdminStore.title,\r\n titleEN: categoryAdminStore.titleEN,\r\n seoKeywords: categoryAdminStore.seoKeyword\r\n }).then(({ data }) => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_CATEGORY_ID, payload: { id: data.id } });\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: true } });\r\n dispatch({ type: CATEGORY_ADMIN_PANEL_ADD_CATEGORY, payload: { category: data } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const updateCategoryAdminPopup = (categoryAdminStore) => async dispatch => {\r\n if (await dispatch(checkCategoryInformations(categoryAdminStore))) {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.put(`category/${categoryAdminStore.categoryId}/update/admin`, {\r\n title: categoryAdminStore.title,\r\n titleEN: categoryAdminStore.titleEN,\r\n seoKeywords: categoryAdminStore.seoKeyword\r\n }).then(({ data }) => {\r\n dispatch({ type: CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY, payload: { id: categoryAdminStore.categoryId, category: data } });\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"ADMIN_CATEGORY_UPDATED\"), 'success');\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const uploadCategoryPictureAdminPopup = (categoryId, file) => async dispatch => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_PICTURE_LOADING, payload: { isLoading: true } });\r\n\r\n const formData = new FormData();\r\n formData.append('Picture', file);\r\n\r\n Axios.put(`category/${categoryId}/update/picture/admin`, formData, {\r\n headers: { 'content-type': 'multipart/form-data' }\r\n }).then(({ data }) => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_PICTURE, payload: { picture: data.picture } });\r\n dispatch({ type: CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY_PICTURE, payload: { id: categoryId, picture: data.picture } });\r\n }).finally(() => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_PICTURE_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const updateCourseCategoryPositionAdmin = (courseCategoryId, position) => async dispatch => {\r\n Axios.put(`coursecategory/position/change/admin`, {\r\n id: courseCategoryId,\r\n level: position + 1\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const deleteCategoryPictureAdminPopup = (categoryId) => async dispatch => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_PICTURE_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.delete(`/category/${categoryId}/delete/picture/admin`)\r\n .then(() => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_PICTURE, payload: { picture: null } });\r\n dispatch({ type: CATEGORY_ADMIN_PANEL_UPDATE_CATEGORY_PICTURE, payload: { id: categoryId, picture: null } });\r\n }).finally(() => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_PICTURE_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const deleteCategoryAdminPopup = (categoryId) => async dispatch => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.delete(`category/${categoryId}/delete/admin`)\r\n .then(() => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n dispatch(loadCategoryAdmin());\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: false } });\r\n });\r\n}","export default __webpack_public_path__ + \"static/media/no-image.dc4292b7.png\";","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport { addCourseCategoryAdminPopup } from '../../../redux/actions/popup/admin/AssignCategoryPopupActions';\r\n// Images\r\nimport NoImage from '../../../resources/images/no-image.png';\r\n\r\nconst CategoryItemAssignCategoryAdminPopup = ({ category, isSelected }) => {\r\n const dispatch = useDispatch();\r\n const assignCategoryAdminStore = useSelector(store => store.assignCategoryAdminPopup);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Modifier la catégorie
\r\n
\r\n
\r\n
\r\n
\r\n {category.title}\r\n\r\n
\r\n {category.title}\r\n\r\n {assignCategoryAdminStore.courseId &&
\r\n
\r\n );\r\n}\r\n\r\nCategoryItemAssignCategoryAdminPopup.propTypes = {\r\n category: propTypes.object.isRequired,\r\n isSelected: propTypes.bool\r\n};\r\n\r\nexport default CategoryItemAssignCategoryAdminPopup;","import Axios from \"axios\"\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { ASSIGN_CATEGORY_ADMIN_POPUP_ADD_SELECTED_CATEGORY, ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORIES, ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORY_LOADING, ASSIGN_CATEGORY_ADMIN_POPUP_SET_COURSE_ID, ASSIGN_CATEGORY_ADMIN_POPUP_SET_ENABLED, ASSIGN_CATEGORY_ADMIN_POPUP_SET_LOADING, ASSIGN_CATEGORY_ADMIN_POPUP_SET_SELECTED_CATEGORIES, COURSE_ADMIN_POPUP_ADD_CATEGORY } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const openAssignCategoryAdminPopup = (courseId, selectedCategories) => async dispatch => {\r\n dispatch({ type: ASSIGN_CATEGORY_ADMIN_POPUP_SET_COURSE_ID, payload: { id: courseId } });\r\n dispatch({ type: ASSIGN_CATEGORY_ADMIN_POPUP_SET_SELECTED_CATEGORIES, payload: { categories: selectedCategories } });\r\n dispatch({ type: ASSIGN_CATEGORY_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } });\r\n}\r\n\r\nexport const loadCategoriesAdminPopup = () => async dispatch => {\r\n dispatch({ type: ASSIGN_CATEGORY_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`category/all`)\r\n .then(({ data }) => {\r\n dispatch({ type: ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORIES, payload: { categories: data } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_CATEGORY_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const addCourseCategoryAdminPopup = (courseId, categoryId) => async dispatch => {\r\n dispatch({ type: ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORY_LOADING, payload: { id: categoryId, isLoading: true } });\r\n\r\n Axios.post(`coursecategory/add/admin`, {\r\n courseId,\r\n categoryId\r\n }).then(({ data }) => {\r\n dispatch({ type: ASSIGN_CATEGORY_ADMIN_POPUP_ADD_SELECTED_CATEGORY, payload: { id: categoryId } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_ADD_CATEGORY, payload: { category: data } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_CATEGORY_ADMIN_POPUP_SET_CATEGORY_LOADING, payload: { id: categoryId, isLoading: false } });\r\n });\r\n}","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport CategoryItemAssignCategoryAdminPopup from './CategoryItemAssignCategoryAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst CategoryListAssignCategoryAdminPopup = ({ searchResults }) => {\r\n const assignCategoryAdminStore = useSelector(store => store.assignCategoryAdminPopup);\r\n const items = searchResults || assignCategoryAdminStore.categories;\r\n const { t } = useTranslation();\r\n\r\n if (assignCategoryAdminStore.isLoading)\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n\r\n if (!items.length)\r\n return (\r\n
\r\n {t(\"NO_CATEGORIES_FOUND\")}\r\n
\r\n );\r\n\r\n return (\r\n
\r\n {items.map(category => )}\r\n
\r\n );\r\n}\r\n\r\nexport default CategoryListAssignCategoryAdminPopup","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport Input from '../../Input';\r\nimport { ASSIGN_CATEGORY_ADMIN_POPUP_RESET, ASSIGN_CATEGORY_ADMIN_POPUP_SET_ENABLED, ASSIGN_CATEGORY_ADMIN_POPUP_SET_SEARCH_VALUE } from '../../redux/actions/ActionTypes';\r\nimport { loadCategoriesAdminPopup } from '../../redux/actions/popup/admin/AssignCategoryPopupActions';\r\nimport { openCategoryAdminPopup } from '../../redux/actions/popup/admin/CategoryPopupActions';\r\nimport CategoryListAssignCategoryAdminPopup from './assignCategory/CategoryListAssignCategoryAdminPopup';\r\n\r\nconst AssignCategoryAdminPopup = () => {\r\n const assignCategoryAdminStore = useSelector(store => store.assignCategoryAdminPopup);\r\n const dispatch = useDispatch();\r\n const [searchResults, setSearchResults] = useState(null);\r\n\r\n useEffect(() => {\r\n dispatch(loadCategoriesAdminPopup());\r\n\r\n return () => {\r\n dispatch({ type: ASSIGN_CATEGORY_ADMIN_POPUP_RESET });\r\n }\r\n }, [dispatch]);\r\n\r\n const onTyping = (value) => {\r\n setSearchResults(assignCategoryAdminStore.categories.filter(c => c.title.includes(value)));\r\n }\r\n\r\n const openCreateCategoryPopup = () => {\r\n dispatch({ type: ASSIGN_CATEGORY_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: false } });\r\n dispatch(openCategoryAdminPopup())\r\n }\r\n\r\n return (\r\n
\r\n
\r\n dispatch({ type: ASSIGN_CATEGORY_ADMIN_POPUP_SET_SEARCH_VALUE, payload: { searchValue } })} onTypingDelay={onTyping} />\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(AssignCategoryAdminPopup, 'Assigner une catégorie', 'Création ou assignation d\\'une catégorie');","import Axios from \"axios\";\r\nimport { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport { ADMIN_USER_MENU_TYPE } from '../../../../resources/constants/adminPanel';\r\nimport { createNotification, isValidEmail, isValidPassword } from \"../../../../Utils\";\r\nimport { ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSES, ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_LOADING, COURSE_ADMIN_PANEL_DELETE_USER_COURSE, COURSE_ADMIN_POPUP_DELETE_USER, COURSE_ADMIN_POPUP_SET_USER_EXPIRE_DATE, COURSE_ADMIN_POPUP_SET_USER_LOADING, COURSE_ADMIN_POPUP_SET_USER_UNIT_COMPLETE_LOCK, USER_ADMIN_PANEL_ADD_USERS, USER_ADMIN_PANEL_DELETE_USER, USER_ADMIN_PANEL_UPDATE_USER, USER_ADMIN_PANEL_UPDATE_USER_PICTURE, USER_ADMIN_PANEL_UPDATE_USER_STATUS, USER_ADMIN_POPUP_COMPANY_CHECK, USER_ADMIN_POPUP_DELETE_CERTIFICATE, USER_ADMIN_POPUP_DELETE_COURSE, USER_ADMIN_POPUP_EMAIL_CHECK, USER_ADMIN_POPUP_FIRSTNAME_CHECK, USER_ADMIN_POPUP_LASTNAME_CHECK, USER_ADMIN_POPUP_NEW_PASSWORD_CHECK, USER_ADMIN_POPUP_PHONE_CHECK, USER_ADMIN_POPUP_RENEW_PASSWORD_CHECK, USER_ADMIN_POPUP_SET_CERTIFICATES, USER_ADMIN_POPUP_SET_CERTIFICATES_LOADING, USER_ADMIN_POPUP_SET_CERTIFICATE_LOADING, USER_ADMIN_POPUP_SET_CONFIRMED, USER_ADMIN_POPUP_SET_COURSES, USER_ADMIN_POPUP_SET_COURSES_LOADING, USER_ADMIN_POPUP_SET_COURSE_EXPIRY_DATE, USER_ADMIN_POPUP_SET_COURSE_LOADING, USER_ADMIN_POPUP_SET_COURSE_UNIT_COMPLETE_LOCK, USER_ADMIN_POPUP_SET_ENABLED, USER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, USER_ADMIN_POPUP_SET_LOADING, USER_ADMIN_POPUP_SET_PICTURE, USER_ADMIN_POPUP_SET_PICTURE_LOADING, USER_ADMIN_POPUP_SET_POPUP_TITLE, USER_ADMIN_POPUP_SET_SECURITY_LOADING, USER_ADMIN_POPUP_SET_SOCIAL, USER_ADMIN_POPUP_SET_SURVEYS, USER_ADMIN_POPUP_SET_SURVEYS_LOADING, USER_ADMIN_POPUP_SET_USER, USER_ADMIN_POPUP_SET_USER_ID, USER_ADMIN_POPUP_TOGGLE_MENU_STATUS } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nconst checkUserInformations = (userAdminStore) => async dispatch => {\r\n const isEmailValid = isValidEmail(userAdminStore.email);\r\n const isFirstnameValid = userAdminStore.firstname && userAdminStore.firstname.length >= 3 && userAdminStore.firstname.length <= 50;\r\n const isLastnameValid = userAdminStore.lastname && userAdminStore.lastname.length >= 3 && userAdminStore.lastname.length <= 50;\r\n const isPhoneValid = !userAdminStore.phone || isValidPhoneNumber(`+${userAdminStore.phone}`);\r\n const isCompanyValid = !userAdminStore.company || (userAdminStore.company.length >= 3 && userAdminStore.company.length <= 50);\r\n\r\n dispatch({ type: USER_ADMIN_POPUP_EMAIL_CHECK, payload: { isValid: isEmailValid } });\r\n dispatch({ type: USER_ADMIN_POPUP_FIRSTNAME_CHECK, payload: { isValid: isFirstnameValid } });\r\n dispatch({ type: USER_ADMIN_POPUP_LASTNAME_CHECK, payload: { isValid: isLastnameValid } });\r\n dispatch({ type: USER_ADMIN_POPUP_PHONE_CHECK, payload: { isValid: isPhoneValid } });\r\n dispatch({ type: USER_ADMIN_POPUP_COMPANY_CHECK, payload: { isValid: isCompanyValid } });\r\n\r\n return isEmailValid && isFirstnameValid && isLastnameValid && isPhoneValid && isCompanyValid;\r\n}\r\n\r\nexport const openUserAdminPopup = (userId = null) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_ENABLED, payload: { type: ADMIN_USER_MENU_TYPE.OVERVIEW } });\r\n\r\n if (userId) {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_USER_ID, payload: { userId } });\r\n } else {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_POPUP_TITLE, payload: { title: 'Création d\\'un utilisateur' } });\r\n dispatch({ type: USER_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n dispatch({ type: USER_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: false } });\r\n }\r\n}\r\n\r\nexport const loadUserAdminPopup = (userId) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: true } });\r\n dispatch({ type: USER_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`user/${userId}/infos/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_POPUP_TITLE, payload: { title: `Modification de ${data.firstname} ${data.lastname}` } });\r\n dispatch({ type: USER_ADMIN_POPUP_SET_USER, payload: { user: data } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n dispatch({ type: USER_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const createUserAdminPopup = (userAdminStore) => async dispatch => {\r\n if (await dispatch(checkUserInformations(userAdminStore))) {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.post(`user/create/admin`, {\r\n email: userAdminStore.email,\r\n firstname: userAdminStore.firstname,\r\n lastname: userAdminStore.lastname,\r\n phone: userAdminStore.phone || null,\r\n company: userAdminStore.company || null\r\n }).then(({ data }) => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_USER, payload: { user: data } });\r\n dispatch({ type: USER_ADMIN_PANEL_ADD_USERS, payload: { users: [data] } });\r\n dispatch({ type: USER_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: true } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: false } });\r\n })\r\n }\r\n}\r\n\r\nexport const uploadUserPictureAdminPopup = (userId, file) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_PICTURE_LOADING, payload: { isLoading: true } });\r\n\r\n const formData = new FormData();\r\n formData.append('Picture', file);\r\n\r\n Axios.put(`user/${userId}/update/picture/admin`, formData, {\r\n headers: { 'content-type': 'multipart/form-data' }\r\n }).then(({ data }) => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_PICTURE, payload: { link: data.picture } });\r\n dispatch({ type: USER_ADMIN_PANEL_UPDATE_USER_PICTURE, payload: { id: userId, picture: data.picture } });\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_PICTURE_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const deleteUserPictureAdminPopup = (userId) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_PICTURE_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.delete(`user/${userId}/delete/picture/admin`)\r\n .then(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_PICTURE, payload: { link: null } });\r\n dispatch({ type: USER_ADMIN_PANEL_UPDATE_USER_PICTURE, payload: { id: userId, picture: null } });\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_PICTURE_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const updatePasswordUserAdminPopup = (userAdminStore) => async dispatch => {\r\n const isNewPasswordValid = isValidPassword(userAdminStore.newPassword);\r\n const isRenewPasswordValid = userAdminStore.newPassword === userAdminStore.renewPassword;\r\n\r\n dispatch({ type: USER_ADMIN_POPUP_NEW_PASSWORD_CHECK, payload: { isValid: isNewPasswordValid } });\r\n dispatch({ type: USER_ADMIN_POPUP_RENEW_PASSWORD_CHECK, payload: { isValid: isRenewPasswordValid } });\r\n\r\n if (isNewPasswordValid && isRenewPasswordValid) {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_SECURITY_LOADING, payload: { isLoading: true } });\r\n\r\n const { newPassword } = userAdminStore;\r\n Axios.put(`user/${userAdminStore.userId}/password/change/admin`, {\r\n newPassword\r\n }).then(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"PREFERENCES_UPDATED_PASSWORD_SUCCESS_ADMIN\"), 'success');\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_SECURITY_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const unlinkSocialAdminPopup = (userId, facebook = null, microsoft = null) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_SECURITY_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.put(`user/${userId}/social/unlink/admin`, {\r\n facebook,\r\n microsoft\r\n }).then(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_SOCIAL, payload: { facebook, microsoft } });\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_SECURITY_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const updateUserAdminPopup = (userAdminStore) => async dispatch => {\r\n if (await dispatch(checkUserInformations(userAdminStore))) {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: true } });\r\n\r\n const { email, firstname, lastname, phone, company } = userAdminStore;\r\n\r\n Axios.put(`user/${userAdminStore.userId}/update/information/admin`, {\r\n email: email || null,\r\n firstname: firstname || null,\r\n lastname: lastname || null,\r\n phone: phone || null,\r\n company: company || null,\r\n password: 'Passw0rd'\r\n }).then(({ data }) => {\r\n dispatch({ type: USER_ADMIN_PANEL_UPDATE_USER, payload: { id: userAdminStore.userId, user: data } });\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"PREFERENCES_UPDATED_SUCCESS_ADMIN\"), 'success');\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const confirmUserAdminPopup = (userId, confirmed = true) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n return Axios.put(`user/${userId}/manage/confirmed/admin`, {\r\n confirmed\r\n }).then(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_CONFIRMED, payload: { confirmed } });\r\n dispatch({ type: USER_ADMIN_PANEL_UPDATE_USER_STATUS, payload: { id: userId, confirmed } });\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"PREFERENCES_CONFIRM_SUCCESS_ADMIN\"), 'success');\r\n return true;\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const loadUserCoursesAdminPopup = (userId) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_COURSES_LOADING, payload: { isLoading: true } });\r\n dispatch({ type: ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`usercourse/courses/${userId}/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_COURSES, payload: { courses: data } });\r\n dispatch({ type: ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSES, payload: { courses: data } });\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_COURSES_LOADING, payload: { isLoading: false } });\r\n dispatch({ type: ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const updateExpireDateUserCourseAdminPopup = (userCourseId, date) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_COURSE_LOADING, payload: { id: userCourseId, isLoading: true } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USER_LOADING, payload: { id: userCourseId, isLoading: true } });\r\n\r\n Axios.put(`usercourse/changeExpiryDate/${userCourseId}/admin`, {\r\n endDate: date\r\n }).then(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_COURSE_EXPIRY_DATE, payload: { id: userCourseId, date } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USER_EXPIRE_DATE, payload: { id: userCourseId, date } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_COURSE_LOADING, payload: { id: userCourseId, isLoading: false } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USER_LOADING, payload: { id: userCourseId, isLoading: false } });\r\n });\r\n}\r\n\r\nexport const updateUnitCompleteLockUserCourseAdminPopup = (userCourseId, unitCompleteLock) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_COURSE_UNIT_COMPLETE_LOCK, payload: { id: userCourseId, unitCompleteLock } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USER_UNIT_COMPLETE_LOCK, payload: { id: userCourseId, unitCompleteLock } });\r\n // Mettre loading carte\r\n\r\n Axios.put(`usercourse/${userCourseId}/change/locked`, {\r\n unitCompleteLock\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n dispatch({ type: USER_ADMIN_POPUP_SET_COURSE_UNIT_COMPLETE_LOCK, payload: { id: userCourseId, unitCompleteLock: !unitCompleteLock } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USER_UNIT_COMPLETE_LOCK, payload: { id: userCourseId, unitCompleteLock: !unitCompleteLock } });\r\n });\r\n}\r\n\r\nexport const deleteUserCourseAdminPopup = (userCourseId) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_COURSE_LOADING, payload: { id: userCourseId, isLoading: true } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USER_LOADING, payload: { id: userCourseId, isLoading: true } });\r\n\r\n Axios.delete(`usercourse/unassign/${userCourseId}/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: USER_ADMIN_POPUP_DELETE_COURSE, payload: { id: userCourseId } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_DELETE_USER, payload: { id: userCourseId } });\r\n dispatch({ type: COURSE_ADMIN_PANEL_DELETE_USER_COURSE, payload: { courseId: data.courseId, userId: data.userId } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_COURSE_LOADING, payload: { id: userCourseId, isLoading: false } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USER_LOADING, payload: { id: userCourseId, isLoading: false } });\r\n });\r\n}\r\n\r\nexport const loadUserCertificatesAdminPopup = (userId) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_CERTIFICATES_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`user/${userId}/certificates/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_CERTIFICATES, payload: { certificates: data } });\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_CERTIFICATES_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const deleteUserCertificateAdminPopup = (certificateId) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_CERTIFICATE_LOADING, payload: { id: certificateId, isLoading: true } });\r\n\r\n Axios.delete(`certificate/${certificateId}/delete/admin`)\r\n .then(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_DELETE_CERTIFICATE, payload: { id: certificateId } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n dispatch({ type: USER_ADMIN_POPUP_SET_CERTIFICATE_LOADING, payload: { id: certificateId, isLoading: false } });\r\n });\r\n}\r\n\r\nexport const deleteUserAdminPopup = (userId) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.delete(`user/${userId}/delete/admin`)\r\n .then(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n dispatch({ type: USER_ADMIN_PANEL_DELETE_USER, payload: { id: userId } });\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"ADMIN_USER_DELETED\"), 'success');\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n })\r\n}\r\n\r\nexport const loadUserSurveysAdminPopup = (userId) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_SURVEYS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`survey/user/${userId}/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_SURVEYS, payload: { surveys: data } });\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_SURVEYS_LOADING, payload: { isLoading: false } });\r\n });\r\n}","import Axios from \"axios\";\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { ASSIGN_CERTIFICATE_ADMIN_POPUP_ADD_SELECTED_COURSE, ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSE_LOADING, ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_ENABLED, ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_USER_ID, TRACER_ADMIN_PANEL_SET_TRACER_CERTIFICATE_RECEIVED, TRACER_ADMIN_PANEL_SET_TRACER_LOADING, USER_ADMIN_POPUP_ADD_CERTIFICATE } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const openAssignCertificateAdminPopup = (userId) => async dispatch => {\r\n dispatch({ type: ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_USER_ID, payload: { id: userId } });\r\n dispatch({ type: ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } });\r\n}\r\n\r\n\r\nexport const addCertificateAdminPopup = (userCourseId) => async dispatch => {\r\n dispatch({ type: ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSE_LOADING, payload: { id: userCourseId, isLoading: true } });\r\n dispatch({ type: TRACER_ADMIN_PANEL_SET_TRACER_LOADING, payload: { id: userCourseId, isLoading: true } });\r\n\r\n Axios.post(`certificate/assign/admin`, {\r\n userCourseId\r\n }).then(({ data }) => {\r\n dispatch({ type: ASSIGN_CERTIFICATE_ADMIN_POPUP_ADD_SELECTED_COURSE, payload: { id: userCourseId } });\r\n dispatch({ type: USER_ADMIN_POPUP_ADD_CERTIFICATE, payload: { certificate: data } });\r\n dispatch({ type: TRACER_ADMIN_PANEL_SET_TRACER_CERTIFICATE_RECEIVED, payload: { id: userCourseId, certificateReceived: true } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_COURSE_LOADING, payload: { id: userCourseId, isLoading: false } });\r\n dispatch({ type: TRACER_ADMIN_PANEL_SET_TRACER_LOADING, payload: { id: userCourseId, isLoading: false } });\r\n });\r\n}","export const SPECIFICATION_TYPE = {\r\n PREREQUISITE: 0,\r\n OBJECTIVE: 1,\r\n PUBLIC: 2\r\n};","import Axios from \"axios\";\r\nimport { ADMIN_COURSE_MENU_TYPE } from \"../../../../resources/constants/adminPanel\";\r\nimport { SPECIFICATION_TYPE } from \"../../../../resources/constants/specificationType\";\r\nimport { convertDurationToHour, createNotification } from \"../../../../Utils\";\r\nimport { COURSE_ADMIN_PANEL_ADD_COURSES, COURSE_ADMIN_PANEL_DELETE_COURSE, COURSE_ADMIN_PANEL_UPDATE_COURSE, COURSE_ADMIN_PANEL_UPDATE_COURSE_MODEL, COURSE_ADMIN_PANEL_UPDATE_COURSE_PICTURE, COURSE_ADMIN_PANEL_UPDATE_COURSE_STATUS, COURSE_ADMIN_POPUP_ADD_OBJECTIVE, COURSE_ADMIN_POPUP_ADD_PREREQUISITE, COURSE_ADMIN_POPUP_ADD_PUBLIC, COURSE_ADMIN_POPUP_DELETE_CATEGORY, COURSE_ADMIN_POPUP_DELETE_SPECIFICATION, COURSE_ADMIN_POPUP_DESCRIPTION_CHECK, COURSE_ADMIN_POPUP_EXPIRY_CHECK, COURSE_ADMIN_POPUP_OBJECTIVE_CHECK, COURSE_ADMIN_POPUP_PREREQUISITE_CHECK, COURSE_ADMIN_POPUP_PREVIEW_VIDEO_CHECK, COURSE_ADMIN_POPUP_PRICE_CHECK, COURSE_ADMIN_POPUP_PUBLIC_CHECK, COURSE_ADMIN_POPUP_SET_CATEGORIES, COURSE_ADMIN_POPUP_SET_CATEGORIES_LOADING, COURSE_ADMIN_POPUP_SET_CATEGORY_LOADING, COURSE_ADMIN_POPUP_SET_COURSE, COURSE_ADMIN_POPUP_SET_COURSE_ID, COURSE_ADMIN_POPUP_SET_ENABLED, COURSE_ADMIN_POPUP_SET_HAS_NEXT, COURSE_ADMIN_POPUP_SET_INFORMATIONS_LOADING, COURSE_ADMIN_POPUP_SET_LOADING, COURSE_ADMIN_POPUP_SET_NEW_OBJECTIVE, COURSE_ADMIN_POPUP_SET_NEW_PREREQUISITE, COURSE_ADMIN_POPUP_SET_NEW_PUBLIC, COURSE_ADMIN_POPUP_SET_OBJECTIVES, COURSE_ADMIN_POPUP_SET_PAGING_PAGE, COURSE_ADMIN_POPUP_SET_PICTURE, COURSE_ADMIN_POPUP_SET_PICTURE_LOADING, COURSE_ADMIN_POPUP_SET_POPUP_TITLE, COURSE_ADMIN_POPUP_SET_PREREQUISITES, COURSE_ADMIN_POPUP_SET_PUBLICS, COURSE_ADMIN_POPUP_SET_SEO_LOCKED, COURSE_ADMIN_POPUP_SET_SPECIFICATIONS_LOADING, COURSE_ADMIN_POPUP_SET_SPECIFICATION_ACTION_LOADING, COURSE_ADMIN_POPUP_SET_STATUS, COURSE_ADMIN_POPUP_SET_STATUS_ENABLED, COURSE_ADMIN_POPUP_SET_USERS, COURSE_ADMIN_POPUP_SET_USERS_LOADING, COURSE_ADMIN_POPUP_TITLE_CHECK, COURSE_ADMIN_POPUP_TOGGLE_MENU_STATUS } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nconst checkCourseInformations = (courseAdminStore) => async dispatch => {\r\n const isTitleValid = courseAdminStore.title && courseAdminStore.title.length >= 3 && courseAdminStore.title.length <= 200;\r\n const isDescriptionValid = courseAdminStore.description && courseAdminStore.description.length >= 3 && courseAdminStore.description.length <= 30000;\r\n const isPreviewVideoValid = !courseAdminStore.previewVideo || (courseAdminStore.previewVideo.length >= 3 && courseAdminStore.previewVideo.length <= 30000)\r\n const isExpiryDurationValid = courseAdminStore.expiryDurationValue >= 1 && (courseAdminStore.expiryDurationUnit !== null);\r\n const isPriceValid = !courseAdminStore.price || courseAdminStore.price >= 0;\r\n\r\n dispatch({ type: COURSE_ADMIN_POPUP_TITLE_CHECK, payload: { isValid: isTitleValid } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_DESCRIPTION_CHECK, payload: { isValid: isDescriptionValid } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_PREVIEW_VIDEO_CHECK, payload: { isValid: isPreviewVideoValid } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_EXPIRY_CHECK, payload: { isValid: isExpiryDurationValid } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_PRICE_CHECK, payload: { isValid: isPriceValid } });\r\n\r\n return isTitleValid && isDescriptionValid && isPreviewVideoValid && isExpiryDurationValid && isPriceValid;\r\n}\r\n\r\nexport const openCourseAdminPopup = (courseId = null) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_ENABLED, payload: { type: ADMIN_COURSE_MENU_TYPE.OVERVIEW } });\r\n\r\n if (courseId) {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_COURSE_ID, payload: { courseId } });\r\n } else {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_POPUP_TITLE, payload: { title: 'Création d\\'une formation' } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: false } });\r\n }\r\n}\r\n\r\nexport const loadCourseAdminPopup = (courseId) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: true } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`course/${courseId}/full`)\r\n .then(({ data }) => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_COURSE, payload: { course: data } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_POPUP_TITLE, payload: { title: `${data.title}` } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const createCourseAdminPopup = (courseAdminStore) => async dispatch => {\r\n if (await dispatch(checkCourseInformations(courseAdminStore))) {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.post(`course/add/admin`, {\r\n title: courseAdminStore.title,\r\n description: courseAdminStore.description,\r\n previewVideo: courseAdminStore.previewVideo || null,\r\n unitCompleteLock: courseAdminStore.unitCompleteLock,\r\n expiryDurationHour: convertDurationToHour(courseAdminStore.expiryDurationValue, courseAdminStore.expiryDurationUnit),\r\n price: courseAdminStore.price || null,\r\n seoKeywords: courseAdminStore.seoKeyword,\r\n lang: courseAdminStore.lang?.value,\r\n }).then(({ data }) => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_COURSE, payload: { course: data } });\r\n dispatch({ type: COURSE_ADMIN_PANEL_ADD_COURSES, payload: { courses: [data] } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: true } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const updateCourseAdminPopup = (courseAdminStore) => async dispatch => {\r\n if (await dispatch(checkCourseInformations(courseAdminStore))) {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.put(`course/${courseAdminStore.courseId}/update/admin`, {\r\n title: courseAdminStore.title,\r\n description: courseAdminStore.description,\r\n previewVideo: courseAdminStore.previewVideo || null,\r\n unitCompleteLock: courseAdminStore.unitCompleteLock,\r\n expiryDurationHour: convertDurationToHour(courseAdminStore.expiryDurationValue, courseAdminStore.expiryDurationUnit),\r\n price: courseAdminStore.price || null,\r\n seoKeywords: courseAdminStore.seoKeyword,\r\n lang: courseAdminStore.lang?.value,\r\n otherLanguageLinkedCourse: courseAdminStore.otherLangId\r\n }).then(({ data }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"PREFERENCES_UPDATED_SUCCESS_ADMIN\"), 'success');\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_COURSE, payload: { course: data } });\r\n dispatch({ type: COURSE_ADMIN_PANEL_UPDATE_COURSE, payload: { id: courseAdminStore.courseId, course: data } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const updateStatusCourseAdminPopup = (courseId, enabled) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_STATUS_ENABLED, payload: { enabled } });\r\n dispatch({ type: COURSE_ADMIN_PANEL_UPDATE_COURSE_STATUS, payload: { id: courseId, enabled } });\r\n\r\n Axios.put(`course/${courseId}/update/enabled/admin`, {\r\n isEnabled: enabled\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_STATUS_ENABLED, payload: { enabled: !enabled } });\r\n dispatch({ type: COURSE_ADMIN_PANEL_UPDATE_COURSE_STATUS, payload: { id: courseId, enabled: !enabled } });\r\n });\r\n}\r\n\r\nexport const updateCourseModelAdminPopup = (courseId, model) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n return Axios.put(`course/${courseId}/update/model/admin`, {\r\n isModel: model\r\n }).then(() => {\r\n dispatch({ type: COURSE_ADMIN_PANEL_UPDATE_COURSE_MODEL, payload: { id: courseId, model } });\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"PREFERENCES_UPDATED_SUCCESS_ADMIN\"), 'success');\r\n return true;\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const updateCourseStatusAdminPopup = (courseId, status) => async dispatch => {\r\n Axios.put(`course/${courseId}/update/status/admin`, {\r\n status\r\n }).then(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_STATUS, payload: { status } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const uploadCoursePictureAdminPopup = (courseId, file) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PICTURE_LOADING, payload: { isLoading: true } });\r\n\r\n const formData = new FormData();\r\n formData.append('Picture', file);\r\n\r\n Axios.put(`course/${courseId}/update/picture/admin`, formData, {\r\n headers: { 'content-type': 'multipart/form-data' }\r\n }).then(({ data }) => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PICTURE, payload: { picture: data.picture } });\r\n dispatch({ type: COURSE_ADMIN_PANEL_UPDATE_COURSE_PICTURE, payload: { id: courseId, picture: data.picture } });\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PICTURE_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const deleteCoursePictureAdminPopup = (courseId) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PICTURE_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.delete(`course/${courseId}/delete/picture/admin`)\r\n .then(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PICTURE, payload: { picture: null } });\r\n dispatch({ type: COURSE_ADMIN_PANEL_UPDATE_COURSE_PICTURE, payload: { id: courseId, picture: null } });\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PICTURE_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const deleteCourseAdminPopup = (courseId) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.delete(`course/${courseId}/delete/admin`)\r\n .then(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n dispatch({ type: COURSE_ADMIN_PANEL_DELETE_COURSE, payload: { id: courseId } });\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"ADMIN_COURSE_DELETED\"), 'success');\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const loadSpecificationsCourseAdminPopup = (courseId) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_SPECIFICATIONS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`specification/${courseId}/list/all/admin`)\r\n .then(({ data }) => {\r\n const { objectives, publics, prerequisites } = data;\r\n\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_OBJECTIVES, payload: { objectives } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PUBLICS, payload: { publics } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PREREQUISITES, payload: { prerequisites } });\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_SPECIFICATIONS_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const addSpecificationCourseAdminPopup = (courseId, label, type) => async dispatch => {\r\n let isValid = true;\r\n\r\n if (type === SPECIFICATION_TYPE.OBJECTIVE) {\r\n isValid = label && label.length >= 3 && label.length <= 200;\r\n dispatch({ type: COURSE_ADMIN_POPUP_OBJECTIVE_CHECK, payload: { isValid } });\r\n }\r\n\r\n if (type === SPECIFICATION_TYPE.PUBLIC) {\r\n isValid = label && label.length >= 3 && label.length <= 200;\r\n dispatch({ type: COURSE_ADMIN_POPUP_PUBLIC_CHECK, payload: { isValid } });\r\n }\r\n\r\n if (type === SPECIFICATION_TYPE.PREREQUISITE) {\r\n isValid = label && label.length >= 3 && label.length <= 200;\r\n dispatch({ type: COURSE_ADMIN_POPUP_PREREQUISITE_CHECK, payload: { isValid } });\r\n }\r\n\r\n if (!isValid)\r\n return;\r\n\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_SPECIFICATION_ACTION_LOADING, payload: { isLoading: true } });\r\n Axios.post(`specification/add/admin`, {\r\n courseId,\r\n label,\r\n type\r\n }).then(({ data }) => {\r\n switch (type) {\r\n case SPECIFICATION_TYPE.OBJECTIVE:\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_NEW_OBJECTIVE, payload: { newObjective: '' } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_ADD_OBJECTIVE, payload: { objective: data } });\r\n break;\r\n case SPECIFICATION_TYPE.PUBLIC:\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_NEW_PUBLIC, payload: { newPublic: '' } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_ADD_PUBLIC, payload: { public: data } });\r\n break;\r\n case SPECIFICATION_TYPE.PREREQUISITE:\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_NEW_PREREQUISITE, payload: { newPrerequisite: '' } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_ADD_PREREQUISITE, payload: { prerequisite: data } });\r\n break;\r\n default:\r\n break;\r\n }\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_SPECIFICATION_ACTION_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const updatePositionSpecificationCourseAdminPopup = (specificationId, position) => async dispatch => {\r\n Axios.put(`specification/position/change/admin`, {\r\n id: specificationId,\r\n level: position + 1\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const deleteSpecificationCourseAdminPopup = (specificationId) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_SPECIFICATION_ACTION_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.delete(`specification/${specificationId}/delete/admin`)\r\n .then(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_DELETE_SPECIFICATION, payload: { id: specificationId } });\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_SPECIFICATION_ACTION_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const loadCategoriesCourseAdminPopup = (courseId) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_CATEGORIES_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`coursecategory/${courseId}/list/all/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_CATEGORIES, payload: { categories: data } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_CATEGORIES_LOADING, payload: { isLoading: false } });\r\n })\r\n}\r\n\r\nexport const deleteCategoryCourseAdminPopup = (courseCategoryId) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_CATEGORY_LOADING, payload: { id: courseCategoryId, isLoading: true } });\r\n\r\n Axios.delete(`coursecategory/${courseCategoryId}/delete/admin`)\r\n .then(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_DELETE_CATEGORY, payload: { id: courseCategoryId } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_CATEGORY_LOADING, payload: { id: courseCategoryId, isLoading: false } });\r\n });\r\n}\r\n\r\n\r\nexport const loadUsersCourseAdminPopup = (courseId, pagingPage = 0, value = null) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USERS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`course/${courseId}/students/all/admin`, {\r\n params: {\r\n pageIndex: pagingPage,\r\n name: value\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USERS, payload: { users: data.paging } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PAGING_PAGE, payload: { pagingPage: data.pageIndex } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_HAS_NEXT, payload: { hasNext: data.hasNext } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USERS_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const updateCourseLock = (courseId, locked) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_SEO_LOCKED, payload: { locked } });\r\n\r\n Axios.put(`course/${courseId}/update/lock/admin`, {\r\n locked\r\n }).catch(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_SEO_LOCKED, payload: { locked: !locked } });\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport { ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_ENABLED } from '../../../redux/actions/ActionTypes';\r\nimport { addCertificateAdminPopup } from '../../../redux/actions/popup/admin/AssignCertificatePopupActions';\r\nimport { openCourseAdminPopup } from '../../../redux/actions/popup/admin/CoursePopupActions';\r\nimport { timeRemainingForNow } from '../../../Utils';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst CourseItemAssignCertificateAdminPopup = ({ course, isSelected }) => {\r\n const dispatch = useDispatch();\r\n const expireDate = timeRemainingForNow(course.expireDate);\r\n const { t } = useTranslation();\r\n\r\n const onEdit = () => {\r\n dispatch(openCourseAdminPopup(course.courseId));\r\n dispatch({ type: ASSIGN_CERTIFICATE_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: false } });\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {!course.isLoading &&
Modifier la formation
}\r\n
\r\n
\r\n
\r\n
\r\n {course.title}\r\n\r\n
\r\n {course.title}\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n {course.nbLecturesDone} / {course.nbLectures} {course.nbLecturesDone > 1 ? t(\"COURSES_DONE\") : t(\"COURSE_DONE\")}\r\n\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nCourseItemAssignCertificateAdminPopup.propTypes = {\r\n course: propTypes.object.isRequired\r\n};\r\n\r\nexport default CourseItemAssignCertificateAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport CourseItemAssignCertificateAdminPopup from './CourseItemAssignCertificateAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst CourseListAssignCertificateAdminPopup = () => {\r\n const assignCertificateAdminStore = useSelector(store => store.assignCertificateAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (assignCertificateAdminStore.isLoading)\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n\r\n if (!assignCertificateAdminStore.courses || !assignCertificateAdminStore.courses.length)\r\n return (\r\n
\r\n {t(\"NO_COURSES_FOUND\")}\r\n
\r\n )\r\n\r\n return (\r\n
\r\n {assignCertificateAdminStore.courses?.map((course) => )}\r\n
\r\n );\r\n}\r\n\r\nexport default CourseListAssignCertificateAdminPopup;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport { ASSIGN_CERTIFICATE_ADMIN_POPUP_RESET } from '../../redux/actions/ActionTypes';\r\nimport { loadUserCoursesAdminPopup } from '../../redux/actions/popup/admin/UserPopupActions';\r\nimport CourseListAssignCertificateAdminPopup from './assignCertificate/CourseListAssignCertificateAdminPopup';\r\n\r\nconst AssignCertificateAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const assignCertificateAdminStore = useSelector(store => store.assignCertificateAdminPopup);\r\n\r\n useEffect(() => {\r\n dispatch(loadUserCoursesAdminPopup(assignCertificateAdminStore.userId));\r\n\r\n return () => {\r\n dispatch({ type: ASSIGN_CERTIFICATE_ADMIN_POPUP_RESET });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dispatch]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(AssignCertificateAdminPopup, 'Générer un certificat', 'Génération d\\'un certificat', null, null, null);","import Axios from \"axios\";\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { ASSIGN_COURSE_ADMIN_POPUP_ADD_COURSES, ASSIGN_COURSE_ADMIN_POPUP_ADD_SELECTED_COURSE, ASSIGN_COURSE_ADMIN_POPUP_SET_COURSE_LOADING, ASSIGN_COURSE_ADMIN_POPUP_SET_ENABLED, ASSIGN_COURSE_ADMIN_POPUP_SET_HAS_NEXT, ASSIGN_COURSE_ADMIN_POPUP_SET_LOADING, ASSIGN_COURSE_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_COURSE_ADMIN_POPUP_SET_USER_ID, ASSIGN_COURSE_ADMIN_POPUP_SET_VOUCHER_ID, ASSIGN_USER_ADMIN_POPUP_ADD_SELECTED_USER, ASSIGN_USER_ADMIN_POPUP_SET_USER_LOADING, COURSE_ADMIN_PANEL_ADD_USER_COURSE, COURSE_ADMIN_POPUP_ADD_USERS, USER_ADMIN_POPUP_ADD_COURSE, VOUCHER_ADMIN_PANEL_ADD_COURSE_VOUCHER, VOUCHER_ADMIN_POPUP_ADD_COURSE } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const openCourseAsUserAdminPopup = (userId) => async dispatch => {\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } });\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_USER_ID, payload: { id: userId } });\r\n}\r\n\r\nexport const openCourseAsVoucherAdminPopup = (voucherId) => async dispatch => {\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } });\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_VOUCHER_ID, payload: { id: voucherId } });\r\n}\r\n\r\nexport const loadCourseAdminPopup = (pagingPage = 0, value = null) => async dispatch => {\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`course/list/all/admin`, {\r\n params: {\r\n pageIndex: pagingPage,\r\n name: value\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_ADD_COURSES, payload: { courses: data.paging } });\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_HAS_NEXT, payload: { hasNext: data.hasNext } });\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_PAGING_PAGE, payload: { pagingPage: data.pageIndex } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const addCourseUserAdminPopup = (courseId, userId) => async dispatch => {\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_COURSE_LOADING, payload: { id: courseId, isLoading: true } });\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_USER_LOADING, payload: { id: userId, isLoading: true } });\r\n\r\n if (userId && courseId) {\r\n Axios.post(`usercourse/assignCourse/admin`, {\r\n userId,\r\n courseId\r\n }).then(({ data }) => {\r\n dispatch({ type: COURSE_ADMIN_PANEL_ADD_USER_COURSE, payload: { courseId, user: data.userCourse.user } });\r\n\r\n dispatch({ type: USER_ADMIN_POPUP_ADD_COURSE, payload: { course: data.course } });\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_ADD_SELECTED_COURSE, payload: { id: courseId } });\r\n\r\n dispatch({ type: COURSE_ADMIN_POPUP_ADD_USERS, payload: { users: [data.userCourse] } });\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_ADD_SELECTED_USER, payload: { id: userId } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_COURSE_LOADING, payload: { id: courseId, isLoading: false } });\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_USER_LOADING, payload: { id: userId, isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const addCourseVoucherAdminPopup = (courseId, voucherId) => async dispatch => {\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_COURSE_LOADING, payload: { id: courseId, isLoading: true } });\r\n\r\n if (voucherId && courseId) {\r\n Axios.post(`coursevoucher/${voucherId}/course/${courseId}/add/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_ADD_COURSE, payload: { course: data } });\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_ADD_SELECTED_COURSE, payload: { id: courseId } });\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_ADD_COURSE_VOUCHER, payload: { voucherId, voucherCourse: data } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_COURSE_LOADING, payload: { id: courseId, isLoading: false } });\r\n });\r\n }\r\n}","import React from 'react';\r\nimport propTypes from 'prop-types';\r\nimport Button from '../../../Button';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { openCourseAdminPopup } from '../../../redux/actions/popup/admin/CoursePopupActions';\r\nimport { ASSIGN_COURSE_ADMIN_POPUP_SET_ENABLED } from '../../../redux/actions/ActionTypes';\r\nimport { addCourseUserAdminPopup, addCourseVoucherAdminPopup } from '../../../redux/actions/popup/admin/AssignCoursePopupActions';\r\n\r\n// Images\r\nimport NoImage from '../../../resources/images/no-image.png';\r\n\r\nconst CourseItemAssignCourseAdminPopup = ({ course, isSelected }) => {\r\n const dispatch = useDispatch();\r\n const assignCourseAdminStore = useSelector(store => store.assignCourseAdminPopup);\r\n\r\n const onEdit = () => {\r\n dispatch(openCourseAdminPopup(course.id));\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: false } });\r\n }\r\n\r\n const onAdd = () => {\r\n if(assignCourseAdminStore.voucherId) {\r\n dispatch(addCourseVoucherAdminPopup(course.id, assignCourseAdminStore.voucherId));\r\n } else {\r\n dispatch(addCourseUserAdminPopup(course.id, assignCourseAdminStore.userId))\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {course.model ? Modèle :
}\r\n
\r\n
\r\n
\r\n
\r\n
Modifier la formation
\r\n
\r\n
\r\n
\r\n
\r\n {course.title}\r\n\r\n
\r\n {course.title}\r\n\r\n
\r\n
\r\n );\r\n}\r\n\r\nCourseItemAssignCourseAdminPopup.propTypes = {\r\n course: propTypes.object.isRequired,\r\n isSelected: propTypes.bool\r\n};\r\n\r\nexport default CourseItemAssignCourseAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport CourseItemAssignCourseAdminPopup from './CourseItemAssignCourseAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst CourseListAssignCourseAdminPopup = () => {\r\n const assignCourseAdminStore = useSelector(store => store.assignCourseAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (!assignCourseAdminStore.isLoading && !assignCourseAdminStore.courses?.length)\r\n return (\r\n
\r\n {t(\"NO_COURSES_FOUND\")}\r\n
\r\n );\r\n\r\n return (\r\n
\r\n {assignCourseAdminStore.courses.map(course => )}\r\n\r\n {assignCourseAdminStore.isLoading && <>\r\n
\r\n
\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default CourseListAssignCourseAdminPopup","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport Input from '../../Input';\r\nimport { ASSIGN_COURSE_ADMIN_POPUP_RESET, ASSIGN_COURSE_ADMIN_POPUP_SET_COURSES, ASSIGN_COURSE_ADMIN_POPUP_SET_ENABLED, ASSIGN_COURSE_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_COURSE_ADMIN_POPUP_SET_SEARCH_VALUE, COURSE_ADMIN_POPUP_SET_ENABLED, USER_ADMIN_POPUP_SET_ENABLED } from '../../redux/actions/ActionTypes';\r\nimport { loadCourseAdminPopup } from '../../redux/actions/popup/admin/AssignCoursePopupActions';\r\nimport { ADMIN_COURSE_MENU_TYPE } from '../../resources/constants/adminPanel';\r\nimport CourseListAssignCourseAdminPopup from './assignCourse/CourseListAssignCourseAdminPopup';\r\n\r\nconst AssignCourseAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const assignCourseAdminStore = useSelector(store => store.assignCourseAdminPopup);\r\n\r\n useEffect(() => {\r\n dispatch(loadCourseAdminPopup(0, null));\r\n\r\n return () => {\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_RESET });\r\n }\r\n }, [dispatch]);\r\n\r\n const createNewSection = () => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: false } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_ENABLED, payload: { type: ADMIN_COURSE_MENU_TYPE.OVERVIEW } });\r\n }\r\n\r\n const onTyping = (value) => {\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_COURSES, payload: { courses: [] } });\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_PAGING_PAGE, payload: { pagingPage: 0 } });\r\n dispatch(loadCourseAdminPopup(0, value));\r\n }\r\n\r\n return (\r\n
\r\n
\r\n dispatch({ type: ASSIGN_COURSE_ADMIN_POPUP_SET_SEARCH_VALUE, payload: { searchValue } })} onTypingDelay={onTyping} />\r\n
\r\n\r\n
\r\n \r\n\r\n {assignCourseAdminStore.hasNext &&
}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(AssignCourseAdminPopup, 'Assigner une formation', 'Création ou ajout d\\'une formation', null, null, null, {\r\n storeName: 'assignCourseAdminPopup',\r\n completion: (dispatch, store) => {\r\n if (!store.isLoading && store.hasNext) {\r\n dispatch(loadCourseAdminPopup(store.pagingPage + 1, store.searchValue));\r\n }\r\n }\r\n});","import Axios from \"axios\";\r\nimport { LECTURE_TYPE } from \"../../../../resources/constants/lectureType\";\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_ENABLED, ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LECTURE_ID, ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LOADING, ASSIGN_DOCUMENTATION_ADMIN_POPUP_TITLE_CHECK, ASSIGN_DOCUMENTATION_ADMIN_POPUP_URL_CHECK, LECTURE_PANEL_ADMIN_ADD_DOCUMENTATION } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nconst checkInformations = (url, title) => async dispatch => {\r\n const isUrlValid = url && url.length <= 30000;\r\n const isTitleValid = title && title.length >= 3 && title.length <= 500;\r\n\r\n dispatch({ type: ASSIGN_DOCUMENTATION_ADMIN_POPUP_URL_CHECK, payload: { isValid: isUrlValid } });\r\n dispatch({ type: ASSIGN_DOCUMENTATION_ADMIN_POPUP_TITLE_CHECK, payload: { isValid: isTitleValid } });\r\n\r\n return isUrlValid && isTitleValid;\r\n}\r\n\r\nexport const openDocumentationAdminPopup = (lectureId) => async dispatch => {\r\n dispatch({ type: ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } });\r\n dispatch({ type: ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LECTURE_ID, payload: { id: lectureId } });\r\n}\r\n\r\nexport const addDocumentationAdminPopup = (assignDocumentationAdminStore) => async dispatch => {\r\n if (await dispatch(checkInformations(assignDocumentationAdminStore.url, assignDocumentationAdminStore.title))) {\r\n dispatch({ type: ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.post(`resource/add/admin`, {\r\n lectureId: assignDocumentationAdminStore.lectureId,\r\n title: assignDocumentationAdminStore.title,\r\n link: assignDocumentationAdminStore.url,\r\n type: LECTURE_TYPE.DOCUMENTATION\r\n }).then(({ data }) => {\r\n dispatch({ type: LECTURE_PANEL_ADMIN_ADD_DOCUMENTATION, payload: { documentation: data } });\r\n dispatch({ type: ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: false } });\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"ADMIN_RESOURCE_ADDED\"), 'success');\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n });\r\n }\r\n}","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport Input from '../../Input';\r\nimport { ASSIGN_DOCUMENTATION_ADMIN_POPUP_RESET, ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_TITLE, ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_URL } from '../../redux/actions/ActionTypes';\r\nimport { addDocumentationAdminPopup } from '../../redux/actions/popup/admin/AssignDocumentationPopupActions';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst AssignDocumentationAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const assignDocumentationAdminStore = useSelector(store => store.assignDocumentationAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n dispatch(addDocumentationAdminPopup(assignDocumentationAdminStore));\r\n }\r\n\r\n useEffect(() => {\r\n return () => {\r\n dispatch({ type: ASSIGN_DOCUMENTATION_ADMIN_POPUP_RESET });\r\n }\r\n }, [dispatch]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n dispatch({ type: ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_URL, payload: { url } })} type={'text'} disabled={assignDocumentationAdminStore.isLoading} error={!assignDocumentationAdminStore.isUrlValid} helperText={t(\"HELPER_URL\")} />\r\n dispatch({ type: ASSIGN_DOCUMENTATION_ADMIN_POPUP_SET_TITLE, payload: { title } })} type={'text'} disabled={assignDocumentationAdminStore.isLoading} error={!assignDocumentationAdminStore.isTitleValid} helperText={t(\"HELPER_TITLE_RESOURCE\")} />\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(AssignDocumentationAdminPopup, 'Référencer une documentation', 'Ajout d\\'une page de documentation');","import Axios from \"axios\";\r\nimport { LECTURE_TYPE } from \"../../../resources/constants/lectureType\";\r\nimport { createNotification } from \"../../../Utils\";\r\nimport { LECTURE_PANEL_ADMIN_DELETE_ADDITIONAL, LECTURE_PANEL_ADMIN_DELETE_DOCUMENTATION, LECTURE_PANEL_ADMIN_DELETE_DOWNLOAD_FILE, LECTURE_PANEL_ADMIN_DELETE_EMBED_PAGE, LECTURE_PANEL_ADMIN_DELETE_MENU_LECTURE, LECTURE_PANEL_ADMIN_DELETE_MENU_SECTION, LECTURE_PANEL_ADMIN_DELETE_VIDEO, LECTURE_PANEL_ADMIN_LECTURE_DESCRIPTION_CHECK, LECTURE_PANEL_ADMIN_LECTURE_TITLE_CHECK, LECTURE_PANEL_ADMIN_SECTION_TITLE_CHECK, LECTURE_PANEL_ADMIN_SET_EDITING_DESCRIPTION_STATUS, LECTURE_PANEL_ADMIN_SET_LECTURE_DESCRIPTION, LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE_STATUS, LECTURE_PANEL_ADMIN_SET_LECTURE_TITLE, LECTURE_PANEL_ADMIN_SET_MENU_LECTURE_TITLE, LECTURE_PANEL_ADMIN_SET_SECTION_TITLE, LECTURE_PANEL_SET_LECTURE_AS_FREE, LECTURE_PANEL_SET_LECTURE_LOADING } from \"../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const updateSectionTitleAdmin = (sectionId, title) => async dispatch => {\r\n const isTitleValid = title && title.length >= 3 && title.length <= 500;\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SECTION_TITLE_CHECK, payload: { isValid: isTitleValid } });\r\n\r\n if (!isTitleValid)\r\n return false;\r\n\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_SECTION_TITLE, payload: { id: sectionId, title } });\r\n\r\n return Axios.put(`section/${sectionId}/change/name/admin`, {\r\n name: title\r\n }).then(() => {\r\n return true;\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n return false;\r\n });\r\n}\r\n\r\nexport const updateLectureTitleAdmin = (lectureId, title) => async dispatch => {\r\n const isTitleValid = title && title.length >= 3 && title.length <= 500;\r\n dispatch({ type: LECTURE_PANEL_ADMIN_LECTURE_TITLE_CHECK, payload: { isValid: isTitleValid } });\r\n\r\n if (!isTitleValid)\r\n return false;\r\n\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_LECTURE_TITLE, payload: { title } });\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE_STATUS, payload: { isEditing: false } });\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_MENU_LECTURE_TITLE, payload: { id: lectureId, title } });\r\n\r\n Axios.put(`lecture/${lectureId}/update/title/admin`, {\r\n title\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const updateLectureDescriptionAdmin = (lectureId, description) => async dispatch => {\r\n const isDescriptionValid = !description || (description.length >= 3 && description.length <= 3000);\r\n\r\n dispatch({ type: LECTURE_PANEL_ADMIN_LECTURE_DESCRIPTION_CHECK, payload: { isValid: isDescriptionValid } });\r\n\r\n if (!isDescriptionValid)\r\n return false;\r\n\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_LECTURE_DESCRIPTION, payload: { description } });\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_EDITING_DESCRIPTION_STATUS, payload: { isEditing: false } });\r\n Axios.put(`lecture/${lectureId}/update/description/admin`, {\r\n description: description || null\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const updateSectionPositionAdmin = (sectionId, position) => async dispatch => {\r\n Axios.put(`section/position/change/admin`, {\r\n id: sectionId,\r\n level: position + 1\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const deleteSectionAdmin = (sectionId) => async dispatch => {\r\n await dispatch({ type: LECTURE_PANEL_ADMIN_DELETE_MENU_SECTION, payload: { id: sectionId } });\r\n\r\n return Axios.delete(`section/${sectionId}/delete/admin`)\r\n .then(() => {\r\n return true;\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n return false;\r\n });\r\n}\r\n\r\nexport const updateLecturePositionAdmin = (lectureId, sectionId, position) => async dispatch => {\r\n Axios.put(`lecture/position/change/admin`, {\r\n id: lectureId,\r\n parentId: sectionId,\r\n level: position + 1\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const updateLectureFreeAdmin = (lectureId, isFree) => async dispatch => {\r\n dispatch({ type: LECTURE_PANEL_SET_LECTURE_AS_FREE, payload: { isFree } });\r\n\r\n Axios.put(`lecture/${lectureId}/update/free/admin`, {\r\n free: isFree\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const deleteLectureAdmin = (lectureId) => async dispatch => {\r\n dispatch({ type: LECTURE_PANEL_SET_LECTURE_LOADING, payload: { isLoading: true } });\r\n\r\n return Axios.delete(`lecture/${lectureId}/delete/admin`)\r\n .then(() => {\r\n dispatch({ type: LECTURE_PANEL_ADMIN_DELETE_MENU_LECTURE, payload: { id: lectureId } });\r\n return true;\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n return false;\r\n });\r\n}\r\n\r\nexport const deleteResource = (resourceId, type) => async dispatch => {\r\n Axios.delete(`resource/${resourceId}/delete/admin`)\r\n .then(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"ADMIN_RESOURCE_DELETED\"), 'success');\r\n\r\n switch (type) {\r\n case LECTURE_TYPE.EMBEDPAGE:\r\n dispatch({ type: LECTURE_PANEL_ADMIN_DELETE_EMBED_PAGE, payload: { id: resourceId } });\r\n break;\r\n case LECTURE_TYPE.DOCUMENTATION:\r\n dispatch({ type: LECTURE_PANEL_ADMIN_DELETE_DOCUMENTATION, payload: { id: resourceId } });\r\n break;\r\n case LECTURE_TYPE.DOWNLOAD:\r\n dispatch({ type: LECTURE_PANEL_ADMIN_DELETE_DOWNLOAD_FILE, payload: { id: resourceId } });\r\n break;\r\n case LECTURE_TYPE.ADDITIONAL:\r\n dispatch({ type: LECTURE_PANEL_ADMIN_DELETE_ADDITIONAL, payload: { id: resourceId } });\r\n break;\r\n case LECTURE_TYPE.VIDEO:\r\n dispatch({ type: LECTURE_PANEL_ADMIN_DELETE_VIDEO, payload: { id: resourceId } });\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const updateResourcePositionAdmin = (resourceId, position) => async dispatch => {\r\n Axios.put(`resource/position/change/admin`, {\r\n id: resourceId,\r\n level: position + 1\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}","import React, { useRef } from 'react';\r\nimport propTypes from 'prop-types';\r\nimport Button from '../../../Button';\r\nimport { useDispatch } from 'react-redux';\r\nimport { deleteResource } from '../../../redux/actions/admin/LectureAdminActions';\r\nimport { LECTURE_TYPE } from '../../../resources/constants/lectureType';\r\n\r\nconst LectureEmbedPage = ({ page, admin }) => {\r\n const dispatch = useDispatch();\r\n const iFrameRef = useRef(null);\r\n\r\n const onFullScreen = () => {\r\n if (iFrameRef) {\r\n const elem = iFrameRef.current;\r\n\r\n if (elem.requestFullscreen) {\r\n elem.requestFullscreen();\r\n } else if (elem.webkitRequestFullscreen) {\r\n elem.webkitRequestFullscreen();\r\n } else if (elem.msRequestFullscreen) {\r\n elem.msRequestFullscreen();\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n {admin &&
}\r\n
\r\n
\r\n {admin &&
}\r\n
\r\n
\r\n );\r\n}\r\n\r\nLectureEmbedPage.propTypes = {\r\n page: propTypes.object.isRequired,\r\n admin: propTypes.bool\r\n};\r\n\r\nexport default LectureEmbedPage;","import Axios from \"axios\";\r\nimport { LECTURE_TYPE } from \"../../../../resources/constants/lectureType\";\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_ENABLED, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LECTURE_ID, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LOADING, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_PREVIEW, ASSIGN_EMBED_PAGE_ADMIN_POPUP_URL_CHECK, LECTURE_PANEL_ADMIN_ADD_EMBED_PAGE } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nconst checkInformations = (url) => async dispatch => {\r\n const isUrlValid = url && url.length <= 30000;\r\n\r\n dispatch({ type: ASSIGN_EMBED_PAGE_ADMIN_POPUP_URL_CHECK, payload: { isValid: isUrlValid } });\r\n\r\n return isUrlValid;\r\n}\r\n\r\nexport const openEmbedPageAdminPopup = (lectureId) => async dispatch => {\r\n dispatch({ type: ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } });\r\n dispatch({ type: ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LECTURE_ID, payload: { id: lectureId } });\r\n}\r\n\r\nexport const previewEmbedPageAdminPopup = (url) => async dispatch => {\r\n if (await dispatch(checkInformations(url)))\r\n dispatch({ type: ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_PREVIEW, payload: { preview: url } });\r\n}\r\n\r\nexport const addEmbedPageAdminPopup = (assignEmbedPageAdminStore) => async dispatch => {\r\n if (await dispatch(checkInformations(assignEmbedPageAdminStore.url))) {\r\n dispatch({ type: ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n let secondDuration = 0;\r\n if (assignEmbedPageAdminStore.duration?.hours)\r\n secondDuration += assignEmbedPageAdminStore.duration.hours * 3600;\r\n\r\n if (assignEmbedPageAdminStore.duration?.minutes)\r\n secondDuration += assignEmbedPageAdminStore.duration.minutes * 60;\r\n\r\n if (assignEmbedPageAdminStore.duration?.seconds)\r\n secondDuration += assignEmbedPageAdminStore.duration.seconds;\r\n\r\n Axios.post(`resource/add/admin`, {\r\n lectureId: assignEmbedPageAdminStore.lectureId,\r\n title: assignEmbedPageAdminStore.url.substring(0, 100),\r\n link: assignEmbedPageAdminStore.url,\r\n secondDuration,\r\n type: LECTURE_TYPE.EMBEDPAGE\r\n }).then(({ data }) => {\r\n dispatch({ type: LECTURE_PANEL_ADMIN_ADD_EMBED_PAGE, payload: { embedPage: data } });\r\n dispatch({ type: ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: false } });\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"ADMIN_EMBEDPAGE_ADDED\"), 'success');\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport Input from '../../Input';\r\nimport LectureEmbedPage from '../../panel/dashboard/lecture/LectureEmbedPage';\r\nimport { ASSIGN_EMBED_PAGE_ADMIN_POPUP_RESET, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_HOURS, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_MINUTES, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_SECONDS, ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_URL } from '../../redux/actions/ActionTypes';\r\nimport { addEmbedPageAdminPopup, previewEmbedPageAdminPopup } from '../../redux/actions/popup/admin/AssignEmbedPagePopupActions';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst AssignEmbedPageAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const assignEmbedPageAdminStore = useSelector(store => store.AssignEmbedPageAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n dispatch(previewEmbedPageAdminPopup(assignEmbedPageAdminStore.url));\r\n }\r\n\r\n useEffect(() => {\r\n return () => {\r\n dispatch({ type: ASSIGN_EMBED_PAGE_ADMIN_POPUP_RESET });\r\n }\r\n }, [dispatch]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n dispatch({ type: ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_URL, payload: { url } })} type={'text'} error={!assignEmbedPageAdminStore.isUrlValid} helperText={t(\"HELPER_URL\")} />\r\n\r\n
\r\n dispatch({ type: ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_HOURS, payload: { hours } })} error={!assignEmbedPageAdminStore.duration.isDurationValid} />\r\n dispatch({ type: ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_MINUTES, payload: { minutes } })} error={!assignEmbedPageAdminStore.duration.isDurationValid} />\r\n dispatch({ type: ASSIGN_EMBED_PAGE_ADMIN_POPUP_SET_SECONDS, payload: { seconds } })} error={!assignEmbedPageAdminStore.duration.isDurationValid} />\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n {assignEmbedPageAdminStore.preview &&\r\n
\r\n \r\n
}\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(AssignEmbedPageAdminPopup, 'Ajouter un laboratoire', 'Création d\\'une page imbriquée');","import React from 'react';\r\nimport propTypes from 'prop-types';\r\nimport Input from '../../../Input';\r\nimport { useDispatch } from 'react-redux';\r\nimport { ASSIGN_FILE_ADMIN_POPUP_SET_FILE_NAME } from '../../../redux/actions/ActionTypes';\r\nimport { updateFileNameAdminPopup } from '../../../redux/actions/popup/admin/AssignFilePopupActions';\r\n\r\nconst FileItemAssignFileAdminPopup = ({ file }) => {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n
\r\n dispatch({ type: ASSIGN_FILE_ADMIN_POPUP_SET_FILE_NAME, payload: { id: file.id, name } })} onTypingDelay={(name) => dispatch(updateFileNameAdminPopup(file.resourceId, name))} />\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nFileItemAssignFileAdminPopup.propTypes = {\r\n file: propTypes.object.isRequired\r\n};\r\n\r\nexport default FileItemAssignFileAdminPopup;","import Axios from \"axios\";\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { ASSIGN_FILE_ADMIN_POPUP_ADD_FILE, ASSIGN_FILE_ADMIN_POPUP_SET_ENABLED, ASSIGN_FILE_ADMIN_POPUP_SET_FILE_ERROR, ASSIGN_FILE_ADMIN_POPUP_SET_FILE_LOADING, ASSIGN_FILE_ADMIN_POPUP_SET_FILE_PROGRESS, ASSIGN_FILE_ADMIN_POPUP_SET_FILE_RESOURCE_ID, ASSIGN_FILE_ADMIN_POPUP_SET_LECTURE_ID, LECTURE_PANEL_ADMIN_ADD_DOWNLOAD_FILE, LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILE_TITLE } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const openFileAdminPopup = (lectureId) => async dispatch => {\r\n dispatch({ type: ASSIGN_FILE_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } });\r\n dispatch({ type: ASSIGN_FILE_ADMIN_POPUP_SET_LECTURE_ID, payload: { id: lectureId } });\r\n}\r\n\r\nexport const uploadFileAdminPopup = (lectureId, files, nbUploadedFiles = 0) => async dispatch => {\r\n for (const iFile in files) {\r\n const file = files[iFile];\r\n\r\n const uploadId = parseInt(nbUploadedFiles) + parseInt(iFile);\r\n var reader = new FileReader();\r\n reader.onload = (e) => {\r\n var content = e.target.result;\r\n dispatch({ type: ASSIGN_FILE_ADMIN_POPUP_ADD_FILE, payload: { file: { ...file, name: file.name, id: uploadId, link: content, progress: 0, isLoading: true, resourceId: null } } });\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n\r\n const formData = new FormData();\r\n formData.append('File', file);\r\n formData.append('title', file.name)\r\n\r\n Axios.put(`resource/${lectureId}/add/file/admin`, formData, {\r\n headers: { 'content-type': 'multipart/form-data' },\r\n onUploadProgress: (progress) => {\r\n dispatch({ type: ASSIGN_FILE_ADMIN_POPUP_SET_FILE_PROGRESS, payload: { id: uploadId, progress: (progress.total / progress.loaded) * 100 } });\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: LECTURE_PANEL_ADMIN_ADD_DOWNLOAD_FILE, payload: { download: data } });\r\n dispatch({ type: ASSIGN_FILE_ADMIN_POPUP_SET_FILE_RESOURCE_ID, payload: { id: uploadId, resourceId: data.id } });\r\n }).catch(() => {\r\n dispatch({ type: ASSIGN_FILE_ADMIN_POPUP_SET_FILE_ERROR, payload: { id: uploadId, error: true } });\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_FILE_ADMIN_POPUP_SET_FILE_LOADING, payload: { id: uploadId, isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const updateFileNameAdminPopup = (resourceId, name) => async dispatch => {\r\n Axios.put(`resource/${resourceId}/change/name/admin`, {\r\n title: name\r\n }).then(() => {\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILE_TITLE, payload: { id: resourceId, title: name } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}","import React, { useCallback, useEffect } from 'react';\r\nimport { useDropzone } from 'react-dropzone';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport { ASSIGN_FILE_ADMIN_POPUP_RESET } from '../../redux/actions/ActionTypes';\r\nimport { uploadFileAdminPopup } from '../../redux/actions/popup/admin/AssignFilePopupActions';\r\nimport FileItemAssignFileAdminPopup from './assignFile/FileItemAssignFileAdminPopup';\r\n\r\nconst AssignFileAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const assignFileAdminStore = useSelector(store => store.assignFileAdminPopup);\r\n\r\n const onDrop = useCallback(acceptedFiles => {\r\n dispatch(uploadFileAdminPopup(assignFileAdminStore.lectureId, acceptedFiles, assignFileAdminStore.files?.length));\r\n }, [dispatch, assignFileAdminStore.lectureId, assignFileAdminStore.files]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n dispatch({ type: ASSIGN_FILE_ADMIN_POPUP_RESET });\r\n }\r\n }, [dispatch]);\r\n\r\n const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n {!isDragActive ? 'Cliquez ou glissez les éléments à uploader' : 'Lachez...'}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {assignFileAdminStore.files?.map((file) => )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(AssignFileAdminPopup, 'Ajouter des fichiers', 'Création de fichiers supplémentaires');","import Axios from \"axios\";\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { ASSIGN_LECTURE_ADMIN_POPUP_ADD_LECTURES, ASSIGN_LECTURE_ADMIN_POPUP_ADD_SELECTED_LECTURE, ASSIGN_LECTURE_ADMIN_POPUP_SET_ADD_NEW_LOADING, ASSIGN_LECTURE_ADMIN_POPUP_SET_ENABLED, ASSIGN_LECTURE_ADMIN_POPUP_SET_HAS_NEXT, ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURE_LOADING, ASSIGN_LECTURE_ADMIN_POPUP_SET_LOADING, ASSIGN_LECTURE_ADMIN_POPUP_SET_PAGING_PAGE, LECTURE_PANEL_ADMIN_ADD_MENU_LECTURE, LECTURE_PANEL_ADMIN_SET_EDITING_DESCRIPTION_STATUS, LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_DESCRIPTION, LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE, LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE_STATUS } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const loadLecturesAdminPopup = (pagingPage = 0, value = null) => async dispatch => {\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`lecture/all/admin`, {\r\n params: {\r\n pageIndex: pagingPage,\r\n name: value\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_ADD_LECTURES, payload: { lectures: data.paging } });\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_HAS_NEXT, payload: { hasNext: data.hasNext } });\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_PAGING_PAGE, payload: { pagingPage: data.pageIndex } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const createNewLectureAdminPopup = (sectionId, isSurvey = false) => async dispatch => {\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_ADD_NEW_LOADING, payload: { isLoading: true } });\r\n\r\n return Axios.post(`lecture/add/admin`, {\r\n sectionId,\r\n isSurvey\r\n }).then(({ data }) => {\r\n dispatch({ type: LECTURE_PANEL_ADMIN_ADD_MENU_LECTURE, payload: { sectionId, lecture: data } });\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: false } });\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE_STATUS, payload: { isEditing: true } });\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE, payload: { title: data.title } });\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_DESCRIPTION, payload: { description: '' } });\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_EDITING_DESCRIPTION_STATUS, payload: { isEditing: false } });\r\n\r\n return data.id;\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n\r\n return null;\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_ADD_NEW_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const duplicateLectureToSectionAdminPopup = (lectureId, sectionId) => async dispatch => {\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURE_LOADING, payload: { id: lectureId, isLoading: true } });\r\n\r\n return Axios.post(`lecture/${lectureId}/to/section/${sectionId}/duplicate/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_ADD_SELECTED_LECTURE, payload: { id: lectureId } });\r\n dispatch({ type: LECTURE_PANEL_ADMIN_ADD_MENU_LECTURE, payload: { sectionId, lecture: data } });\r\n\r\n return data.id;\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n return false;\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURE_LOADING, payload: { id: lectureId, isLoading: false } });\r\n });\r\n}","import React from 'react';\r\nimport Button from '../../../Button';\r\nimport propTypes from 'prop-types';\r\nimport { convertSecondToAverageTime, convertStringForUrl } from '../../../Utils';\r\n\r\n// Images\r\nimport NoImage from '../../../resources/images/no-image.png';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { duplicateLectureToSectionAdminPopup } from '../../../redux/actions/popup/admin/AssignLecturePopupActions';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst LectureItemAssignLectureAdminPopup = ({ lecture, isSelected }) => {\r\n const dispatch = useDispatch();\r\n const assignLectureAdminStore = useSelector(store => store.assignLectureAdminPopup);\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const history = useHistory();\r\n\r\n const onDuplicate = async () => {\r\n if (!isSelected) {\r\n const lectureId = await dispatch(duplicateLectureToSectionAdminPopup(lecture.id, assignLectureAdminStore.sectionId));\r\n\r\n if (lectureId)\r\n history.replace(`/course/${lectureStore.menu.id}-${convertStringForUrl(lectureStore.menu.title)}/lecture/${lectureId}/admin`);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {lecture.name}\r\n\r\n
\r\n
\r\n \r\n {lecture.courseIdModel && Modèle}\r\n
\r\n\r\n
\r\n {lecture.sectionName}\r\n
\r\n\r\n \r\n
\r\n {lecture.courseTitle}\r\n {lecture.courseTitle}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
    \r\n
  • {lecture.totalTime ? convertSecondToAverageTime(lecture.totalTime) : '00:00'}
  • \r\n
  • {lecture.nbVideos} vidéo{lecture.nbVideos > 1 ? 's' : ''}
  • \r\n
\r\n\r\n
\r\n );\r\n}\r\n\r\nLectureItemAssignLectureAdminPopup.propTypes = {\r\n lecture: propTypes.object.isRequired,\r\n isSelected: propTypes.bool\r\n};\r\n\r\nexport default LectureItemAssignLectureAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport LectureItemAssignLectureAdminPopup from './LectureItemAssignLectureAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst LectureListAssignLectureAdminPopup = () => {\r\n const assignLectureAdminStore = useSelector(store => store.assignLectureAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (!assignLectureAdminStore.isLoading && !assignLectureAdminStore.lectures?.length)\r\n return (\r\n
\r\n {t(\"NO_LECTURES_FOUND\")}\r\n
\r\n );\r\n\r\n return (\r\n
\r\n {assignLectureAdminStore.lectures?.map(lecture => )}\r\n\r\n {assignLectureAdminStore.isLoading && <>\r\n
\r\n
\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default LectureListAssignLectureAdminPopup","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Button from '../../Button';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport Input from '../../Input';\r\nimport { ASSIGN_LECTURE_ADMIN_POPUP_RESET, ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURES, ASSIGN_LECTURE_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_LECTURE_ADMIN_POPUP_SET_SEARCH_VALUE } from '../../redux/actions/ActionTypes';\r\nimport { createNewLectureAdminPopup, loadLecturesAdminPopup } from '../../redux/actions/popup/admin/AssignLecturePopupActions';\r\nimport { convertStringForUrl } from '../../Utils';\r\nimport LectureListAssignLectureAdminPopup from './assignLecture/LectureListAssignLectureAdminPopup';\r\n\r\nconst AssignLectureAdminPopup = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const assignLectureAdminPopup = useSelector(store => store.assignLectureAdminPopup);\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n\r\n useEffect(() => {\r\n dispatch(loadLecturesAdminPopup(0, null));\r\n\r\n return () => {\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_RESET });\r\n }\r\n }, [dispatch]);\r\n\r\n const createNewLecture = async () => {\r\n const newLectureId = await dispatch(createNewLectureAdminPopup(assignLectureAdminPopup.sectionId));\r\n\r\n if (newLectureId)\r\n history.replace(`/course/${lectureStore.menu.id}-${convertStringForUrl(lectureStore.menu.title)}/lecture/${newLectureId}/admin`);\r\n }\r\n\r\n const onTyping = (value) => {\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_LECTURES, payload: { lectures: [] } });\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_PAGING_PAGE, payload: { pagingPage: 0 } });\r\n dispatch(loadLecturesAdminPopup(0, value));\r\n }\r\n\r\n return (\r\n
\r\n
\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_SEARCH_VALUE, payload: { searchValue } })} onTypingDelay={onTyping} />\r\n
\r\n\r\n
\r\n \r\n\r\n {assignLectureAdminPopup.hasNext &&
}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(AssignLectureAdminPopup, 'Ajouter une leçon', 'Création ou ajout d\\'une leçon', null, null, null, {\r\n storeName: 'assignLectureAdminPopup',\r\n completion: (dispatch, store) => {\r\n if (!store.isLoading && store.hasNext) {\r\n dispatch(loadLecturesAdminPopup(store.pagingPage + 1, store.searchValue));\r\n }\r\n }\r\n});","import Axios from \"axios\"\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { ASSIGN_SECTION_ADMIN_POPUP_ADD_SECTIONS, ASSIGN_SECTION_ADMIN_POPUP_ADD_SELECTED_SECTION, ASSIGN_SECTION_ADMIN_POPUP_SET_HAS_NEXT, ASSIGN_SECTION_ADMIN_POPUP_SET_LOADING, ASSIGN_SECTION_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_SECTION_ADMIN_POPUP_SET_SECTION_LOADING, LECTURE_PANEL_ADMIN_ADD_MENU_SECTION, LECTURE_PANEL_TOGGLE_SECTION } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const loadSectionsAdminPopup = (pagingPage = 0, value = null) => async dispatch => {\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`section/list/all/admin`, {\r\n params: {\r\n pageIndex: pagingPage,\r\n name: value\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_ADD_SECTIONS, payload: { sections: data.paging } });\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_SET_HAS_NEXT, payload: { hasNext: data.hasNext } });\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_SET_PAGING_PAGE, payload: { pagingPage: data.pageIndex } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const duplicateSectionToCourseAdminPopup = (sectionId, courseId) => async dispatch => {\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_SET_SECTION_LOADING, payload: { id: sectionId, isLoading: true } });\r\n\r\n Axios.post(`section/${sectionId}/to/course/${courseId}/duplicate/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_ADD_SELECTED_SECTION, payload: { id: sectionId } });\r\n dispatch({ type: LECTURE_PANEL_ADMIN_ADD_MENU_SECTION, payload: { section: data } });\r\n dispatch({ type: LECTURE_PANEL_TOGGLE_SECTION, payload: { open: true, id: data.id } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n return false;\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_SET_SECTION_LOADING, payload: { id: sectionId, isLoading: false } });\r\n });\r\n}","import React from 'react';\r\nimport Button from '../../../Button';\r\nimport propTypes from 'prop-types';\r\nimport { convertSecondToAverageTime } from '../../../Utils';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { duplicateSectionToCourseAdminPopup } from '../../../redux/actions/popup/admin/AssignSectionPopupActions';\r\n\r\n// Images\r\nimport NoImage from '../../../resources/images/no-image.png';\r\n\r\nconst SectionItemAssignSectionAdminPopup = ({ section, isSelected }) => {\r\n const dispatch = useDispatch();\r\n const assignSectionAdminStore = useSelector(store => store.assignSectionAdminPopup);\r\n\r\n return (\r\n
\r\n {section.name}\r\n\r\n
\r\n
\r\n \r\n {section.courseIsModel && Modèle}\r\n
\r\n\r\n
\r\n {section.courseTitle}\r\n {section.courseTitle}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
    \r\n
  • {section.totalTime ? convertSecondToAverageTime(section.totalTime) : '00:00'}
  • \r\n
  • {section.nbVideos} vidéo{section.nbVideos > 1 ? 's' : ''}
  • \r\n
\r\n\r\n
\r\n );\r\n}\r\n\r\nSectionItemAssignSectionAdminPopup.propTypes = {\r\n section: propTypes.object.isRequired\r\n};\r\n\r\nexport default SectionItemAssignSectionAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport SectionItemAssignSectionAdminPopup from './SectionItemAssignSectionAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst SectionListAssignSectionAdminPopup = () => {\r\n const assignSectionAdminStore = useSelector(store => store.assignSectionAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (!assignSectionAdminStore.isLoading && !assignSectionAdminStore.sections?.length)\r\n return (\r\n
\r\n {t(\"NO_SECTIONS_FOUND\")}\r\n
\r\n );\r\n\r\n return (\r\n
\r\n {assignSectionAdminStore.sections?.map(section => )}\r\n\r\n {assignSectionAdminStore.isLoading && <>\r\n
\r\n
\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default SectionListAssignSectionAdminPopup","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport Input from '../../Input';\r\nimport { ASSIGN_SECTION_ADMIN_POPUP_RESET, ASSIGN_SECTION_ADMIN_POPUP_SET_ENABLED, ASSIGN_SECTION_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_SECTION_ADMIN_POPUP_SET_SEARCH_VALUE, ASSIGN_SECTION_ADMIN_POPUP_SET_SECTIONS, LECTURE_PANEL_ADMIN_SET_NEW_SECTION_UPDATE } from '../../redux/actions/ActionTypes';\r\nimport { loadSectionsAdminPopup } from '../../redux/actions/popup/admin/AssignSectionPopupActions';\r\nimport SectionListAssignSectionAdminPopup from './assignSection/SectionListAssignSectionAdminPopup';\r\n\r\nconst AssignSectionAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const assignSectionAdminStore = useSelector(store => store.assignSectionAdminPopup);\r\n\r\n useEffect(() => {\r\n dispatch(loadSectionsAdminPopup(0, null));\r\n\r\n return () => {\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_RESET });\r\n }\r\n }, [dispatch]);\r\n\r\n const createNewSection = () => {\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: false } });\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_NEW_SECTION_UPDATE, payload: { isEditing: true } });\r\n }\r\n\r\n const onTyping = (value) => {\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_SET_SECTIONS, payload: { sections: [] } });\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_SET_PAGING_PAGE, payload: { pagingPage: 0 } });\r\n dispatch(loadSectionsAdminPopup(0, value));\r\n }\r\n\r\n return (\r\n
\r\n
\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_SET_SEARCH_VALUE, payload: { searchValue } })} onTypingDelay={onTyping} />\r\n
\r\n\r\n
\r\n \r\n\r\n {assignSectionAdminStore.hasNext &&
}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(AssignSectionAdminPopup, 'Ajouter un chapitre', 'Création ou ajout d\\'un chapitre', null, null, null, {\r\n storeName: 'assignSectionAdminPopup',\r\n completion: (dispatch, store) => {\r\n if (!store.isLoading && store.hasNext) {\r\n dispatch(loadSectionsAdminPopup(store.pagingPage + 1, store.searchValue));\r\n }\r\n }\r\n});","import Axios from \"axios\";\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { ASSIGN_USER_ADMIN_POPUP_ADD_USERS, ASSIGN_USER_ADMIN_POPUP_SET_COURSE_ID, ASSIGN_USER_ADMIN_POPUP_SET_ENABLED, ASSIGN_USER_ADMIN_POPUP_SET_HAS_NEXT, ASSIGN_USER_ADMIN_POPUP_SET_LOADING, ASSIGN_USER_ADMIN_POPUP_SET_PAGING_PAGE } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const openUserAsCourseAdminPopup = (courseId) => async dispatch => {\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } });\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_COURSE_ID, payload: { id: courseId } });\r\n}\r\n\r\nexport const loadUsersAdminPopup = (pagingPage = 0, value = null) => async dispatch => {\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`user/list/all/admin`, {\r\n params: {\r\n pageIndex: pagingPage,\r\n name: value\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_ADD_USERS, payload: { users: data.paging } });\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_HAS_NEXT, payload: { hasNext: data.hasNext } });\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_PAGING_PAGE, payload: { pagingPage: data.pageIndex } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}","import React from 'react';\r\nimport ContentLoader from 'react-content-loader';\r\nimport { loaderParams } from '../resources/constants/loader';\r\n\r\nconst UserAdminPanelItemLoader = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default UserAdminPanelItemLoader;","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/key.1b402a70.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAsASURBVHic7d0xb1RnFoDh49FKoKzpY4mKjiJl5A5FiCqSBdT8ApfUG1GgbE3JL6DGCCnVCkXpUMoUdK6QnB6DTOUtxt4FAgQB9gje55GmuTNjn2q+d+7M3G/t8PBwPsTzK5tnZubyzFydmYszs3F0W/+gPwB8dv/8z+O1Vf7/rZ3rH/YCApyE/ZnZO7o9mZkHM/Po4bX7Lz/kyWt/FwDPr2xuzMytmbkxM+c+aVTgsxIAwBuezcy9mbn98Nr9vfc98J0B8PzK5tmZ+Wlmbs7MN597QuDTCQDgHV7MzJ2Z+fnhtfsHb3vA4m0Hn1/Z/HZmfp2Zf43FHwC+NN/Mcg3/dWvn+rdve8BfAuD5lc3vZub3mdk82dkAgBO2OTO/b+1c/+7NO14LgKN3/r/MzPlTGgwAOFnnZ+aXN88E/C8Ajj7z3xmLPwB8bc7PzM7WzvWzxwdePQPw0zjtDwBfq81ZrvUzcxQARz/1u7mqiQCAU3Fza+f6xsz/zwDcGt/2B4Cv3TezXPNncXSFvxurnQcAOCU3tnaun1nM8vK+rvAHAA3nZubyYpbX9gcAOq4uZrmxDwDQcXExyx39AICODQEAAD0bi5lZX/UUAMCpWn/rboAAwNdNAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIWjs8PFz1DADAKXMGAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAoH9cuLt/uOohgI+zu72+ttIBfjvr9QO+UM4AAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQtJiZ/VUPAQCcqv3FzOytegoA4FTtCQAA6NlbzMyTVU8BAJyqJ4uZebDqKQCAU/VgMTOPZubZqicBAE7Fs5l5tNjdXn85M/dWPQ0AcCruzaWDl8fXAbg9My9WOQ0AcOJezHLNX14IaHd7fW9m7qxyIgDgxN2ZSwd7M69fCfDnmXm8mnkAgBP2eJZr/cy8EgC72+sHM3NtZp6uYCgA4OQ8nZlrc+ng4PjAa3sB7G6v/zkzP44IAICvxdOZ+XEuHfz56sG/bAa0u73+x8x8Pz4OAIAv3eOZ+X4uHfzx5h1v3Q3w6EzADzPz7/HrAAD40ryY5Rr+w5vv/I+tHR4evvcvXLi7vzEzt2bmxsyc+9wTAh9vd3t9baUD/Hb2/S8gwGl7Nstr+9w+/rb/u/xtABy7cHf/zMxcnpmrM3NxZjaObuufNCrw0QQApO3PckO/vVnu6/NgZh7NpYOXH/Lk/wKQAq5eW3YI8AAAAABJRU5ErkJggg==\"","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport { ASSIGN_USER_ADMIN_POPUP_SET_ENABLED } from '../../../redux/actions/ActionTypes';\r\nimport { addCourseUserAdminPopup } from '../../../redux/actions/popup/admin/AssignCoursePopupActions';\r\nimport { openUserAdminPopup } from '../../../redux/actions/popup/admin/UserPopupActions';\r\nimport Facebook from '../../../resources/images/authentication/facebook-blue.png';\r\nimport Key from '../../../resources/images/authentication/key.png';\r\nimport Microsoft from '../../../resources/images/authentication/microsoft.png';\r\nimport Profile from '../../../resources/images/profile.png';\r\nimport { convertStringToDate } from '../../../Utils';\r\n\r\n\r\nconst UserItemAssignUserAdminPopup = ({ user, isSelected }) => {\r\n const dispatch = useDispatch();\r\n const assignUserAdminStore = useSelector(store => store.assignUserAdminPopup);\r\n\r\n const onEdit = () => {\r\n dispatch(openUserAdminPopup(user.id))\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: false } });\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {`${user.firstname}\r\n\r\n
\r\n
\r\n {user.confirmed &&
}\r\n {user.firstname} {user.lastname}\r\n
\r\n\r\n {user.business && {user.business}}\r\n\r\n
\r\n {user.facebook && facebook}\r\n {user.microsoft && microsoft}\r\n {user.formationAcademy && email}\r\n
\r\n
\r\n
\r\n\r\n
    \r\n {user.email &&
  • {user.email}
  • }\r\n {user.phone &&
  • {user.phone}
  • }\r\n
  • Inscrit le {convertStringToDate(user.creationDate)}
  • \r\n
\r\n
\r\n\r\n
\r\n
\r\n );\r\n}\r\n\r\nUserItemAssignUserAdminPopup.propTypes = {\r\n user: propTypes.object.isRequired,\r\n isSelected: propTypes.bool\r\n};\r\n\r\nexport default UserItemAssignUserAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport UserAdminPanelItemLoader from '../../../loader/UserAdminPanelItemLoader';\r\nimport UserItemAssignUserAdminPopup from './UserItemAssignUserAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst UserListAssignUserAdminPopup = () => {\r\n const assignUserAdminStore = useSelector(store => store.assignUserAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (!assignUserAdminStore.isLoading && !assignUserAdminStore.users?.length)\r\n return (\r\n
\r\n {t(\"NO_USERS_FOUND\")}\r\n
\r\n );\r\n\r\n return (\r\n
\r\n {assignUserAdminStore.users.map(user => )}\r\n\r\n {assignUserAdminStore.isLoading && <>\r\n
\r\n
\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default UserListAssignUserAdminPopup","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport Input from '../../Input';\r\nimport { ASSIGN_USER_ADMIN_POPUP_RESET, ASSIGN_USER_ADMIN_POPUP_SET_ENABLED, ASSIGN_USER_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_USER_ADMIN_POPUP_SET_SEARCH_VALUE, ASSIGN_USER_ADMIN_POPUP_SET_USERS } from '../../redux/actions/ActionTypes';\r\nimport { loadUsersAdminPopup } from '../../redux/actions/popup/admin/AssignUserPopupActions';\r\nimport { openUserAdminPopup } from '../../redux/actions/popup/admin/UserPopupActions';\r\nimport UserListAssignUserAdminPopup from './assignUser/UserListAssignUserAdminPopup';\r\n\r\nconst AssignCourseAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const assignUserAdminStore = useSelector(store => store.assignUserAdminPopup);\r\n\r\n useEffect(() => {\r\n dispatch(loadUsersAdminPopup(0, null));\r\n\r\n return () => {\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_RESET });\r\n }\r\n }, [dispatch]);\r\n\r\n const createNewUser = () => {\r\n dispatch(openUserAdminPopup());\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: false } });\r\n }\r\n\r\n const onTyping = (value) => {\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_USERS, payload: { users: [] } });\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_PAGING_PAGE, payload: { pagingPage: 0 } });\r\n dispatch(loadUsersAdminPopup(0, value));\r\n }\r\n\r\n return (\r\n
\r\n
\r\n dispatch({ type: ASSIGN_USER_ADMIN_POPUP_SET_SEARCH_VALUE, payload: { searchValue } })} onTypingDelay={onTyping} />\r\n
\r\n\r\n
\r\n \r\n\r\n {assignUserAdminStore.hasNext &&
}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(AssignCourseAdminPopup, 'Assigner un étudiant', 'Création ou ajout d\\'un étudiant', null, null, null, {\r\n storeName: 'assignUserAdminPopup',\r\n completion: (dispatch, store) => {\r\n if (!store.isLoading && store.hasNext) {\r\n dispatch(loadUsersAdminPopup(store.pagingPage + 1, store.searchValue));\r\n }\r\n }\r\n});","import Axios from \"axios\";\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { ASSIGN_VIDEO_ADMIN_POPUP_ADD_SELECTED_VIDEO, ASSIGN_VIDEO_ADMIN_POPUP_ADD_VIDEOS, ASSIGN_VIDEO_ADMIN_POPUP_DELETE_VIDEO, ASSIGN_VIDEO_ADMIN_POPUP_SET_HAS_NEXT, ASSIGN_VIDEO_ADMIN_POPUP_SET_LOADING, ASSIGN_VIDEO_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEO_LOADING, LECTURE_PANEL_ADMIN_ADD_VIDEO } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const loadVideosAdminPopup = (pagingPage = 0, value = null) => async dispatch => {\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`videoblob/list/all/admin`, {\r\n params: {\r\n pageIndex: pagingPage,\r\n name: value\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_ADD_VIDEOS, payload: { videos: data.paging } });\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_HAS_NEXT, payload: { hasNext: data.hasNext } });\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_PAGING_PAGE, payload: { pagingPage: data.pageIndex } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const addVideoAdminPopup = (lectureId, videoGuid) => async dispatch => {\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEO_LOADING, payload: { id: videoGuid, isLoading: true } });\r\n\r\n Axios.post(`resource/video/add/admin`, {\r\n lectureId,\r\n videoGuid\r\n }).then(({ data }) => {\r\n dispatch({ type: LECTURE_PANEL_ADMIN_ADD_VIDEO, payload: { video: data } });\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_ADD_SELECTED_VIDEO, payload: { id: videoGuid } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEO_LOADING, payload: { id: videoGuid, isLoading: false } });\r\n })\r\n}\r\n\r\nexport const deleteVideoAdminPopup = (videoGuid) => async dispatch => {\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEO_LOADING, payload: { id: videoGuid, isLoading: true } });\r\n\r\n Axios.delete(`videoblob/${videoGuid}/delete`)\r\n .then(() => {\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_DELETE_VIDEO, payload: { id: videoGuid } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEO_LOADING, payload: { id: videoGuid, isLoading: false } });\r\n });\r\n\r\n}","/**\r\n * Fetch based loader\r\n * timeout / abort / onprogress not supported for now\r\n * timeout / abort : some ideas here : https://github.com/whatwg/fetch/issues/20#issuecomment-196113354\r\n * but still it is not bullet proof as it fails to avoid data waste....\r\n*/\r\n\r\nimport AuthenticationService from \"./Authentication\";\r\n\r\nclass PlayerFetchLoader {\r\n constructor(config) {\r\n\r\n this.fetchSetup = config.fetchSetup;\r\n }\r\n\r\n destroy() { }\r\n\r\n abort() { }\r\n\r\n async load(context, config, callbacks) {\r\n let stats = {\r\n trequest: window.performance.now(),\r\n retry: 0\r\n };\r\n\r\n let targetURL = `${context.url}/${await AuthenticationService.GetBrowserId()}`;\r\n let request;\r\n\r\n const initParams = {\r\n method: 'GET'\r\n };\r\n\r\n const headersObj = {\r\n 'Authorization': `Bearer ${await AuthenticationService.RefreshToken()}`\r\n };\r\n\r\n if (context.rangeEnd) {\r\n headersObj['Range'] = 'bytes=' + context.rangeStart + '-' + String(context.rangeEnd - 1);\r\n } /* jshint ignore:line */\r\n\r\n initParams.headers = new window.Headers(headersObj);\r\n\r\n if (this.fetchSetup) {\r\n request = this.fetchSetup(context, initParams);\r\n } else {\r\n request = new window.Request(targetURL, initParams);\r\n }\r\n\r\n let fetchPromise = window.fetch(request, initParams);\r\n\r\n // process fetchPromise\r\n let responsePromise = fetchPromise.then(function (response) {\r\n if (response.ok) {\r\n stats.tfirst = Math.max(stats.trequest, window.performance.now());\r\n targetURL = response.url;\r\n if (context.responseType === 'arraybuffer') {\r\n return response.arrayBuffer();\r\n } else {\r\n return response.text();\r\n }\r\n } else {\r\n switch (response.status) {\r\n case 409:\r\n callbacks.onError({ text: 'Conflict', type: 409 }, context);\r\n break;\r\n default:\r\n callbacks.onError({ text: 'Une erreur est survenue. Veuillez-réessayer' }, context);\r\n break;\r\n }\r\n }\r\n }).catch(function (error) {\r\n callbacks.onError({ text: error.message }, context);\r\n });\r\n // process response Promise\r\n responsePromise.then(function (responseData) {\r\n if (responseData) {\r\n stats.tload = Math.max(stats.tfirst, window.performance.now());\r\n let len;\r\n if (typeof responseData === 'string') {\r\n len = responseData.length;\r\n } else {\r\n len = responseData.byteLength;\r\n }\r\n\r\n stats.loaded = stats.total = len;\r\n let response = { url: targetURL, data: responseData };\r\n callbacks.onSuccess(response, stats, context);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default PlayerFetchLoader;","import React, { useEffect, useRef, useState } from 'react';\r\nimport PlayerFetchLoader from './services/PlayerFetchLoader';\r\nimport ReactPlayer from 'react-player';\r\nimport Slider from 'react-input-slider';\r\nimport { convertSecondToRemainingTime } from './Utils';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport Button from './Button';\r\nimport { useHistory } from 'react-router';\r\nimport { useDispatch } from 'react-redux';\r\nimport { LECTURE_PANEL_SET_CURRENT_VIDEO_ID } from './redux/actions/ActionTypes';\r\nimport propTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport { deleteResource } from './redux/actions/admin/LectureAdminActions';\r\nimport { LECTURE_TYPE } from './resources/constants/lectureType';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n// Images\r\nimport { ReactComponent as Loading } from './resources/images/loading.svg';\r\n\r\nconst VideoPlayer = ({ isSelected, video, admin, disableKeyEvent = false, autoPlay = false, disableHLS = false }) => {\r\n const { t } = useTranslation()\r\n \r\n // Refs\r\n const playerContainerRef = useRef(null);\r\n const progressBarRef = useRef(null);\r\n const nodeRef = useRef(null);\r\n\r\n // State\r\n const [player, setPlayer] = useState(null);\r\n const [isPlaying, setPlaying] = useState(autoPlay);\r\n const [isLoading, setLoading] = useState(true);\r\n const [percentPlayed, setPercentPlayed] = useState(0);\r\n const [percentLoaded, setPercentLoaded] = useState(0);\r\n const [volume, setVolume] = useState(100);\r\n const [volumeIcon, setVolumeIcon] = useState('high');\r\n const [remainingDuration, setRemainingDuration] = useState(null);\r\n const [progressCursorWidth, setProgressCursor] = useState(null);\r\n const [isOverlayVisible, setOverlayVisible] = useState(false);\r\n const [overlayIcon, setOverlayIcon] = useState(null);\r\n const [isFullScreen, setFullScreen] = useState(false);\r\n const [isConflict, setConflict] = useState(false);\r\n const [videoHeight, setVideoHeight] = useState(400);\r\n const [mouseMovingTimer, setMouseMovingTimer] = useState(null);\r\n const [cursorMoving, setCursorMoving] = useState(false);\r\n const [speed, setSpeed] = useState(1);\r\n\r\n // Others\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const keyEffect = ['Space', 'ArrowUp', 'ArrowDown', 'ArrowRight', 'ArrowLeft', 'm', 'f'];\r\n const isMobile = (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\r\n const speeds = [0.5, 0.75, 1, 1.25, 1.5];\r\n\r\n useEffect(() => {\r\n if (isSelected) {\r\n document.addEventListener('fullscreenchange', onFullScreenModeChange);\r\n document.addEventListener('keydown', onKeyDown);\r\n\r\n if (isFullScreen)\r\n document.addEventListener('mousemove', onCursorMoving);\r\n }\r\n\r\n return () => {\r\n if (isSelected) {\r\n document.removeEventListener('fullscreenchange', onFullScreenModeChange);\r\n document.removeEventListener('keydown', onKeyDown);\r\n document.removeEventListener('mousemove', onCursorMoving);\r\n }\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n onResize();\r\n window.addEventListener('resize', onResize);\r\n\r\n return () => {\r\n window.removeEventListener('resize', onResize);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (volume === 0) {\r\n setVolumeIcon('off');\r\n } else if (volume > 60) {\r\n setVolumeIcon('high');\r\n } else if (volume > 30) {\r\n setVolumeIcon('medium');\r\n } else {\r\n setVolumeIcon('low');\r\n }\r\n }, [volume]);\r\n\r\n const onResize = () => {\r\n setVideoHeight(playerContainerRef.current.getBoundingClientRect().width * 0.427631578947368);\r\n }\r\n\r\n const onFullScreenModeChange = () => {\r\n setFullScreen(document.fullscreenElement);\r\n }\r\n\r\n const onShowOverlay = (overlay) => {\r\n setOverlayIcon(overlay);\r\n setOverlayVisible(true);\r\n\r\n setTimeout(() => {\r\n setOverlayVisible(false);\r\n }, 500);\r\n }\r\n\r\n const updateVolume = (value) => {\r\n if (value > 100) {\r\n setVolume(100);\r\n } else if (value < 0) {\r\n setVolume(0);\r\n } else {\r\n setVolume(value);\r\n }\r\n }\r\n\r\n const onToggleVolume = () => {\r\n setVolume(volume > 0 ? 0 : 50);\r\n }\r\n\r\n const onProgress = (progress) => {\r\n setPercentPlayed(progress.played * 100);\r\n setPercentLoaded(progress.loaded * 100);\r\n setRemainingDuration(player.getDuration() - progress.playedSeconds);\r\n }\r\n\r\n const onError = (_, c) => {\r\n if (c && c.response && c.response.type === 409)\r\n setConflict(true);\r\n }\r\n\r\n const onToggleFullScreen = (open = true) => {\r\n setFullScreen(open);\r\n\r\n if (open) {\r\n const elem = playerContainerRef.current;\r\n\r\n if (elem.requestFullscreen) {\r\n elem.requestFullscreen();\r\n } else if (elem.webkitRequestFullscreen) {\r\n elem.webkitRequestFullscreen();\r\n } else if (elem.msRequestFullscreen) {\r\n elem.msRequestFullscreen();\r\n }\r\n } else {\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n } else if (document.webkitExitFullscreen) {\r\n document.webkitExitFullscreen();\r\n } else if (document.msExitFullscreen) {\r\n document.msExitFullscreen();\r\n }\r\n }\r\n }\r\n\r\n const onForward = () => {\r\n player.seekTo(player.getCurrentTime() + 10, 'seconds');\r\n onShowOverlay('forward');\r\n }\r\n\r\n const onBackward = () => {\r\n player.seekTo(player.getCurrentTime() - 10, 'seconds');\r\n onShowOverlay('backward');\r\n }\r\n\r\n const onProgressClick = (e) => {\r\n const left = e.clientX - progressBarRef.current.getBoundingClientRect().left;\r\n const width = progressBarRef.current.getBoundingClientRect().width;\r\n\r\n player.seekTo((left / width) * player.getDuration(), 'seconds');\r\n }\r\n\r\n const onProgressCursorMove = (e) => {\r\n setProgressCursor(e.clientX - progressBarRef.current.getBoundingClientRect().left);\r\n }\r\n\r\n const onProgressEnter = () => {\r\n progressBarRef.current.addEventListener('mousemove', onProgressCursorMove);\r\n }\r\n\r\n const onProgressLeave = () => {\r\n setProgressCursor(null);\r\n progressBarRef.current.removeEventListener('mousemove', onProgressCursorMove);\r\n }\r\n\r\n const onTogglePlaying = () => {\r\n setPlaying(!isPlaying);\r\n onShowOverlay(!isPlaying ? 'play' : 'pause');\r\n }\r\n\r\n const onKeyDown = (key) => {\r\n if (disableKeyEvent)\r\n return;\r\n\r\n if (key.code === 'Space') {\r\n onTogglePlaying();\r\n }\r\n\r\n switch (key.key) {\r\n case 'ArrowUp':\r\n updateVolume(volume + 10);\r\n onShowOverlay(`volume high`);\r\n break;\r\n case 'ArrowDown':\r\n updateVolume(volume - 10);\r\n onShowOverlay(volume - 10 <= 0 ? `volume off` : `volume medium`);\r\n break;\r\n case 'ArrowRight':\r\n onForward();\r\n break;\r\n case 'ArrowLeft':\r\n onBackward();\r\n break;\r\n case 'm':\r\n onToggleVolume();\r\n onShowOverlay(volume > 0 ? 'volume medium' : 'volume off');\r\n break;\r\n case 'f':\r\n onToggleFullScreen(!isFullScreen);\r\n onShowOverlay(!isFullScreen ? 'full-screen white' : 'full-screen exit white');\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if ((keyEffect.includes(key.code) || keyEffect.includes(key.key)) && key.target === document.body)\r\n key.preventDefault();\r\n }\r\n\r\n const onCursorMoving = () => {\r\n setCursorMoving(true);\r\n clearTimeout(mouseMovingTimer);\r\n\r\n setMouseMovingTimer(setTimeout(() => setCursorMoving(false), 1500));\r\n }\r\n\r\n return (\r\n
dispatch({ type: LECTURE_PANEL_SET_CURRENT_VIDEO_ID, payload: { id: video.id } })}>\r\n {admin ?
{video.title}
: null}\r\n {!isMobile &&
{\r\n onShowOverlay(!isFullScreen ? 'full-screen white' : 'full-screen exit white');\r\n onToggleFullScreen(!isFullScreen);\r\n }}>\r\n
\r\n {isConflict &&
\r\n

{t(\"MAX_SCREEN_REACHED\")}

\r\n

{t(\"MAX_SCREEN_REACHED_SUBTITLE\")}

\r\n\r\n
\r\n
\r\n
}\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n {isLoading && !isConflict &&
}\r\n
\r\n
}\r\n\r\n setPlayer(player)}\r\n url={`${process.env.REACT_APP_API_URL}/video/${video.id}`}\r\n playing={isPlaying}\r\n controls={isMobile}\r\n onProgress={onProgress}\r\n onError={onError}\r\n onBuffer={() => setLoading(true)}\r\n onBufferEnd={() => setLoading(false)}\r\n onReady={() => setLoading(false)}\r\n volume={volume / 100}\r\n config={disableHLS ? undefined :\r\n {\r\n file: {\r\n forceHLS: true,\r\n hlsOptions: {\r\n loader: PlayerFetchLoader,\r\n },\r\n hlsVersion: '0.13.1'\r\n }\r\n }\r\n }\r\n width={'100%'}\r\n height={'100%'}\r\n playsinline={true}\r\n playbackRate={speed}\r\n />\r\n\r\n {!isMobile &&
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {\r\n if (!Number.isNaN(y))\r\n setVolume(y)\r\n }} axis={'y'} ymin={0} ymax={100} y={volume} yreverse />\r\n
\r\n
\r\n
\r\n\r\n
\r\n {progressCursorWidth &&
\r\n {convertSecondToRemainingTime((progressCursorWidth / progressBarRef.current.getBoundingClientRect().width) * player.getDuration())}\r\n
}\r\n\r\n
\r\n
\r\n
\r\n\r\n {progressCursorWidth &&\r\n
\r\n
\r\n
}\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n - {convertSecondToRemainingTime(remainingDuration)}\r\n
\r\n
\r\n
\r\n
    \r\n {speeds.map((s, index) =>
  • setSpeed(s)}>x {s}
  • )}\r\n
\r\n
\r\n
\r\n
onToggleFullScreen(!isFullScreen)}>
\r\n\r\n {admin &&
\r\n
}\r\n
\r\n );\r\n}\r\n\r\nVideoPlayer.propTypes = {\r\n isSelected: propTypes.bool,\r\n video: propTypes.object.isRequired,\r\n disableKeyEvent: propTypes.bool\r\n};\r\n\r\nexport default VideoPlayer;","import propTypes from 'prop-types';\r\nimport React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport { addVideoAdminPopup, deleteVideoAdminPopup } from '../../../redux/actions/popup/admin/AssignVideoPopupActions';\r\nimport { convertSecondToRemainingTime } from '../../../Utils';\r\nimport VideoPlayer from '../../../VideoPlayer';\r\n\r\nconst VideoItemAssignVideoAdminPopup = ({ video, isSelected }) => {\r\n const dispatch = useDispatch();\r\n const assignVideoAdminStore = useSelector(store => store.assignVideoAdminPopup);\r\n const [playerEnabled, setPlayerEnabled] = useState(false);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {video.name}\r\n\r\n
    \r\n
  • {convertSecondToRemainingTime(video.secondDuration)}
  • \r\n
\r\n\r\n
\r\n {!playerEnabled ? <>\r\n
setPlayerEnabled(true)}>\r\n
\r\n
\r\n : }\r\n
\r\n\r\n
\r\n );\r\n}\r\n\r\nVideoItemAssignVideoAdminPopup.propTypes = {\r\n video: propTypes.object.isRequired\r\n};\r\n\r\nexport default VideoItemAssignVideoAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport { ASSIGN_VIDEO_ADMIN_POPUP_SET_ENABLED, ASSIGN_VIDEO_ADMIN_POPUP_SET_LECTURE_ID } from '../../../redux/actions/ActionTypes';\r\nimport VideoItemAssignVideoAdminPopup from './VideoItemAssignVideoAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport const openVideoAdminPopup = (lectureId) => async dispatch => {\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } });\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_LECTURE_ID, payload: { id: lectureId } });\r\n}\r\n\r\nconst VideoListAssignVideoAdminPopup = () => {\r\n const assignVideoAdminStore = useSelector(store => store.assignVideoAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (!assignVideoAdminStore.isLoading && !assignVideoAdminStore.videos?.length)\r\n return (\r\n
\r\n {t(\"NO_VIDEOS_FOUND\")}\r\n
\r\n );\r\n\r\n return (\r\n
\r\n {assignVideoAdminStore.videos?.map(video => )}\r\n\r\n {assignVideoAdminStore.isLoading && <>\r\n
\r\n
\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default VideoListAssignVideoAdminPopup","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport Input from '../../Input';\r\nimport { ASSIGN_VIDEO_ADMIN_POPUP_RESET, ASSIGN_VIDEO_ADMIN_POPUP_SET_PAGING_PAGE, ASSIGN_VIDEO_ADMIN_POPUP_SET_SEARCH_VALUE, ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEOS } from '../../redux/actions/ActionTypes';\r\nimport { loadVideosAdminPopup } from '../../redux/actions/popup/admin/AssignVideoPopupActions';\r\nimport VideoListAssignVideoAdminPopup from './assignVideo/VideoListAssignVideoAdminPopup';\r\n\r\nconst AssignVideoAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const assignVideoAdminStore = useSelector(store => store.assignVideoAdminPopup);\r\n\r\n useEffect(() => {\r\n dispatch(loadVideosAdminPopup(0, null));\r\n\r\n return () => {\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_RESET });\r\n }\r\n }, [dispatch]);\r\n\r\n const onTyping = (value) => {\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_VIDEOS, payload: { videos: [] } });\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_PAGING_PAGE, payload: { pagingPage: 0 } });\r\n dispatch(loadVideosAdminPopup(0, value));\r\n }\r\n\r\n return (\r\n
\r\n
\r\n dispatch({ type: ASSIGN_VIDEO_ADMIN_POPUP_SET_SEARCH_VALUE, payload: { searchValue } })} onTypingDelay={onTyping} />\r\n
\r\n\r\n
\r\n \r\n\r\n {assignVideoAdminStore.hasNext &&
}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(AssignVideoAdminPopup, 'Assigner une vidéo', 'Insertion d\\'une vidéo', null, null, null, {\r\n storeName: 'assignVideoAdminPopup',\r\n completion: (dispatch, store) => {\r\n if (!store.isLoading && store.hasNext) {\r\n dispatch(loadVideosAdminPopup(store.pagingPage + 1, store.searchValue));\r\n }\r\n }\r\n});","import React from 'react';\r\nimport propTypes from 'prop-types';\r\n\r\n// Images\r\nimport NoImage from '../../../../resources/images/no-image.png';\r\nimport { useDispatch } from 'react-redux';\r\nimport { openCourseAdminPopup } from '../../../../redux/actions/popup/admin/CoursePopupActions';\r\nimport { CATEGORY_ADMIN_POPUP_SET_ENABLED } from '../../../../redux/actions/ActionTypes';\r\n\r\nconst CourseItemCategoryAdminPopup = ({ course }) => {\r\n const dispatch = useDispatch();\r\n\r\n const onEdit = () => {\r\n dispatch(openCourseAdminPopup(course.id));\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {course.model ? Modèle :
}\r\n
\r\n
\r\n
\r\n
\r\n
Modifier la formation
\r\n
\r\n
\r\n
\r\n
\r\n {course.title}\r\n\r\n
\r\n {course.title}\r\n
\r\n
\r\n );\r\n}\r\n\r\nCourseItemCategoryAdminPopup.propTypes = {\r\n course: propTypes.object.isRequired\r\n};\r\n\r\nexport default CourseItemCategoryAdminPopup;","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { ReactSortable } from 'react-sortablejs';\r\nimport BasicLoader from '../../../../loader/BasicLoader';\r\nimport { CATEGORY_ADMIN_POPUP_SET_COURSES } from '../../../../redux/actions/ActionTypes';\r\nimport { updateCourseCategoryPositionAdmin } from '../../../../redux/actions/popup/admin/CategoryPopupActions';\r\nimport CourseItemCategoryAdminPopup from './CourseItemCategoryAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst CourseListCategoryAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const categoryAdminStore = useSelector(store => store.categoryAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n const onPositionUpdate = async (e) => {\r\n const movedItem = categoryAdminStore.courses[e.newIndex];\r\n await dispatch(updateCourseCategoryPositionAdmin(movedItem.courseCategoryId, e.newIndex))\r\n }\r\n\r\n if (categoryAdminStore.isCoursesLoading)\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n\r\n if (!categoryAdminStore.courses?.length)\r\n return (\r\n
\r\n {t(\"NO_COURSES_FOUND\")}\r\n
\r\n );\r\n\r\n return (\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_COURSES, payload: { courses } })} onEnd={onPositionUpdate}>\r\n {categoryAdminStore.courses.map(course => )}\r\n \r\n );\r\n}\r\n\r\nexport default CourseListCategoryAdminPopup;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { CATEGORY_ADMIN_POPUP_SET_COURSES } from '../../../redux/actions/ActionTypes';\r\nimport { loadCourseCategoryAdminPopup } from '../../../redux/actions/popup/admin/CategoryPopupActions';\r\nimport CourseListCategoryAdminPopup from './course/CourseListCategoryAdminPopup';\r\n\r\nconst CourseCategoryAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const categoryAdminStore = useSelector(store => store.categoryAdminPopup);\r\n\r\n useEffect(() => {\r\n dispatch(loadCourseCategoryAdminPopup(categoryAdminStore.categoryId));\r\n\r\n return () => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_COURSES, payload: { courses: null } });\r\n }\r\n }, [dispatch, categoryAdminStore.categoryId]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Formations modèles

\r\n
\r\n

\r\n Vous voyez apparaitre l'ensemble des formations modèle présent dans cette catégorie. C'est-à-dire, les formations qui seront visible dans la partie vitrine de l'application.
\r\n Pour ajouter une formation dans la vitrine, rendez-vous dans Formations » Modifier une formation » Marquer comme modèle.
\r\n Assurez-vous que celui est bien inclus dans cette catégorie en vous rendant dans l'onglet Informations détaillées » Catégories parentes.
\r\n Vous pouvez organiser l'ordre en maintenant appuyez et en déplaçant les vignettes.\r\n

\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CourseCategoryAdminPopup;","import React, { useRef } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport Input from '../../../Input';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport { CATEGORY_ADMIN_POPUP_SEO_KEYWORDS, CATEGORY_ADMIN_POPUP_SET_TITLE, CATEGORY_ADMIN_POPUP_SET_TITLE_EN } from '../../../redux/actions/ActionTypes';\r\nimport { createCategoryAdminPopup, deleteCategoryAdminPopup, deleteCategoryPictureAdminPopup, updateCategoryAdminPopup, uploadCategoryPictureAdminPopup } from '../../../redux/actions/popup/admin/CategoryPopupActions';\r\nimport { createNotification } from '../../../Utils';\r\nimport ReactTagInput from \"@pathofdev/react-tag-input\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst OverviewCategoryAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const categoryAdminStore = useSelector(store => store.categoryAdminPopup);\r\n const filePickerRef = useRef(null);\r\n const { t } = useTranslation();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n if (categoryAdminStore.categoryId) {\r\n dispatch(updateCategoryAdminPopup(categoryAdminStore))\r\n } else {\r\n dispatch(createCategoryAdminPopup(categoryAdminStore));\r\n }\r\n }\r\n\r\n const onImageChoosen = (e) => {\r\n let reader = new FileReader();\r\n let file = e.target.files[0];\r\n\r\n if (file) {\r\n reader.onloadend = () => {\r\n if (file.size < 2000000) {\r\n dispatch(uploadCategoryPictureAdminPopup(categoryAdminStore.categoryId, file));\r\n } else {\r\n createNotification(t(\"NOTIFICATION_ERROR_TITLE\"), `${t(\"IMAGE_TOO_WEIGHT\")}. (Maximum 2MB)`, 'danger');\r\n }\r\n }\r\n\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

Présentation

\r\n
\r\n\r\n
\r\n {categoryAdminStore.categoryId && <>\r\n

Image

\r\n\r\n
\r\n {categoryAdminStore.isLoading ? :\r\n
\r\n
}\r\n
\r\n }\r\n\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_TITLE, payload: { title } })} error={!categoryAdminStore.isTitleValid} helperText={t(\"HELPER_TITLE_SECTION\")} />\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SET_TITLE_EN, payload: { title } })} error={!categoryAdminStore.isTitleENValid} helperText={t(\"HELPER_TITLE_SECTION\")} />\r\n \r\n
\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_SEO_KEYWORDS, payload: { seoKeyword } })}\r\n placeholder={'Mot-clé'}\r\n />\r\n
\r\n \r\n
\r\n\r\n
\r\n {categoryAdminStore.categoryId ?
\r\n
\r\n
\r\n\r\n {categoryAdminStore.categoryId &&\r\n <>\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Zone de danger

\r\n
\r\n
\r\n
\r\n
\r\n

Supprimer la formation

\r\n \r\n Toutes les catégories enfants deviendront sans parent et deviendront donc une categorie principale
\r\n Cette opération est irréversible.\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default OverviewCategoryAdminPopup;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport { CATEGORY_ADMIN_POPUP_RESET, CATEGORY_ADMIN_POPUP_SET_ENABLED } from '../../redux/actions/ActionTypes';\r\nimport { loadCategoryAdminPopup } from '../../redux/actions/popup/admin/CategoryPopupActions';\r\nimport { ADMIN_CATEGORY_MENU_TYPE } from '../../resources/constants/adminPanel';\r\nimport CourseCategoryAdminPopup from './category/CourseCategoryAdminPopup';\r\nimport OverviewCategoryAdminPopup from './category/OverviewCategoryAdminPopup';\r\n\r\nconst CategoryAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const categoryAdminStore = useSelector(store => store.categoryAdminPopup);\r\n\r\n useEffect(() => {\r\n if (categoryAdminStore.categoryId)\r\n dispatch(loadCategoryAdminPopup(categoryAdminStore.categoryId));\r\n\r\n return () => {\r\n dispatch({ type: CATEGORY_ADMIN_POPUP_RESET });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dispatch]);\r\n\r\n return (\r\n
\r\n {categoryAdminStore.popupEnabled === ADMIN_CATEGORY_MENU_TYPE.OVERVIEW && }\r\n {categoryAdminStore.popupEnabled === ADMIN_CATEGORY_MENU_TYPE.COURSES && }\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(CategoryAdminPopup, null, 'Opération sur une categorie', 'categoryAdminPopup', CATEGORY_ADMIN_POPUP_SET_ENABLED);","import React from 'react';\r\nimport propTypes from 'prop-types';\r\nimport Button from '../../../../Button';\r\nimport { useDispatch } from 'react-redux';\r\nimport { deleteCategoryCourseAdminPopup } from '../../../../redux/actions/popup/admin/CoursePopupActions';\r\n\r\n// Images\r\nimport NoImage from '../../../../resources/images/no-image.png';\r\nimport { openCategoryAdminPopup } from '../../../../redux/actions/popup/admin/CategoryPopupActions';\r\n\r\nconst CategoryItemCourseAdminPopup = ({ category }) => {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
dispatch(openCategoryAdminPopup(category.categoryId))}>Modifier la catégorie
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {category.title}\r\n\r\n
\r\n {category.title}\r\n
\r\n
\r\n );\r\n}\r\n\r\nCategoryItemCourseAdminPopup.propTypes = {\r\n category: propTypes.object.isRequired\r\n};\r\n\r\nexport default CategoryItemCourseAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../../loader/BasicLoader';\r\nimport CategoryItemCourseAdminPopup from './CategoryItemCourseAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst CategoryListCourseAdminPopup = () => {\r\n const courseAdminStore = useSelector(store => store.courseAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (courseAdminStore.isCategoriesLoading)\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n\r\n if (!courseAdminStore.categories?.length)\r\n return (\r\n
\r\n {t(\"NO_CATEGORIES_FOUND\")}\r\n
\r\n )\r\n\r\n return (\r\n
\r\n {courseAdminStore.categories.map(category => )}\r\n
\r\n );\r\n}\r\n\r\nexport default CategoryListCourseAdminPopup;","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { ReactSortable } from 'react-sortablejs';\r\nimport Button from '../../../../Button';\r\nimport BasicLoader from '../../../../loader/BasicLoader';\r\nimport { COURSE_ADMIN_POPUP_SET_OBJECTIVES, COURSE_ADMIN_POPUP_SET_PREREQUISITES, COURSE_ADMIN_POPUP_SET_PUBLICS } from '../../../../redux/actions/ActionTypes';\r\nimport { deleteSpecificationCourseAdminPopup, updatePositionSpecificationCourseAdminPopup } from '../../../../redux/actions/popup/admin/CoursePopupActions';\r\nimport { SPECIFICATION_TYPE } from '../../../../resources/constants/specificationType';\r\n\r\nconst SpecificationListCourseAdminPopup = ({ type, isLoading, isActionLoading, icon, items }) => {\r\n const dispatch = useDispatch();\r\n\r\n const onUpdatePosition = (e) => {\r\n const movedItem = items[e.newIndex];\r\n dispatch(updatePositionSpecificationCourseAdminPopup(movedItem.id, e.newIndex));\r\n }\r\n\r\n const onObjectivesSort = (objectives) => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_OBJECTIVES, payload: { objectives } });\r\n }\r\n\r\n const onPublicsSort = (publics) => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PUBLICS, payload: { publics } });\r\n }\r\n\r\n const onPrerequisitesSort = (prerequisites) => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PREREQUISITES, payload: { prerequisites } });\r\n }\r\n\r\n const onSort = (e) => {\r\n switch (type) {\r\n case SPECIFICATION_TYPE.OBJECTIVE:\r\n onObjectivesSort(e);\r\n break;\r\n case SPECIFICATION_TYPE.PUBLIC:\r\n onPublicsSort(e);\r\n break;\r\n case SPECIFICATION_TYPE.PREREQUISITE:\r\n onPrerequisitesSort(e);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n if (isLoading)\r\n return (\r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n );\r\n\r\n return (\r\n
    \r\n \r\n {items.map(i =>
  • \r\n
    \r\n {i.label}\r\n
  • )}\r\n
    \r\n
\r\n );\r\n}\r\n\r\nSpecificationListCourseAdminPopup.propTypes = {\r\n type: propTypes.number.isRequired,\r\n icon: propTypes.string.isRequired,\r\n items: propTypes.array.isRequired,\r\n isLoading: propTypes.bool,\r\n isActionLoading: propTypes.bool\r\n}\r\n\r\nexport default SpecificationListCourseAdminPopup;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport Input from '../../../Input';\r\nimport { COURSE_ADMIN_POPUP_SET_CATEGORIES, COURSE_ADMIN_POPUP_SET_NEW_OBJECTIVE, COURSE_ADMIN_POPUP_SET_NEW_PREREQUISITE, COURSE_ADMIN_POPUP_SET_NEW_PUBLIC, COURSE_ADMIN_POPUP_SET_OBJECTIVES, COURSE_ADMIN_POPUP_SET_PREREQUISITES, COURSE_ADMIN_POPUP_SET_PUBLICS } from '../../../redux/actions/ActionTypes';\r\nimport { openAssignCategoryAdminPopup } from '../../../redux/actions/popup/admin/AssignCategoryPopupActions';\r\nimport { addSpecificationCourseAdminPopup, loadCategoriesCourseAdminPopup, loadSpecificationsCourseAdminPopup } from '../../../redux/actions/popup/admin/CoursePopupActions';\r\nimport { SPECIFICATION_TYPE } from '../../../resources/constants/specificationType';\r\nimport CategoryListCourseAdminPopup from './detailedInformation/CategoryListCourseAdminPopup';\r\nimport SpecificationListCourseAdminPopup from './detailedInformation/SpecificationListCourseAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst DetailedInformationCourseAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const courseAdminStore = useSelector(store => store.courseAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n dispatch(loadSpecificationsCourseAdminPopup(courseAdminStore.courseId));\r\n dispatch(loadCategoriesCourseAdminPopup(courseAdminStore.courseId));\r\n\r\n return () => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_OBJECTIVES, payload: { objectives: [] } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PUBLICS, payload: { publics: [] } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PREREQUISITES, payload: { prerequisites: [] } });\r\n\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_CATEGORIES, payload: { categories: [] } });\r\n }\r\n }, [dispatch, courseAdminStore.courseId]);\r\n\r\n const onObjectiveSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n dispatch(addSpecificationCourseAdminPopup(courseAdminStore.courseId, courseAdminStore.newObjective, SPECIFICATION_TYPE.OBJECTIVE));\r\n }\r\n\r\n const onPublicSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n dispatch(addSpecificationCourseAdminPopup(courseAdminStore.courseId, courseAdminStore.newPublic, SPECIFICATION_TYPE.PUBLIC));\r\n }\r\n\r\n const onPrerequisiteSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n dispatch(addSpecificationCourseAdminPopup(courseAdminStore.courseId, courseAdminStore.newPrerequisite, SPECIFICATION_TYPE.PREREQUISITE));\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Caractéristiques

\r\n
\r\n\r\n
\r\n
\r\n
\r\n

{t(\"PREVIEW_OBJECTIVES\")}

\r\n \r\n\r\n
\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_NEW_OBJECTIVE, payload: { newObjective } })} error={!courseAdminStore.isNewObjectiveValid} helperText={t(\"HELPER_SPECIFICATION\")} />\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n

{t(\"PREVIEW_PUBLIC\")}

\r\n \r\n\r\n
\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_NEW_PUBLIC, payload: { newPublic } })} error={!courseAdminStore.isNewPublicValid} helperText={t(\"HELPER_SPECIFICATION\")} />\r\n \r\n
\r\n\r\n

{t(\"PREVIEW_PREREQUISITES\")}

\r\n \r\n\r\n
\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_NEW_PREREQUISITE, payload: { newPrerequisite } })} error={!courseAdminStore.isNewPrerequisiteValid} helperText={t(\"HELPER_SPECIFICATION\")} />\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Catégories parentes

\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default DetailedInformationCourseAdminPopup;","import React from 'react';\r\nimport propTypes from 'prop-types';\r\n\r\nconst MultipleStateSwitch = ({ choices, onSelect, disabled, selectedId }) => {\r\n return (\r\n
\r\n {choices.map((choice) =>
onSelect(choice) : null}>{choice.label}
)}\r\n
\r\n );\r\n}\r\n\r\nMultipleStateSwitch.propTypes = {\r\n choices: propTypes.array.isRequired,\r\n onSelect: propTypes.func.isRequired,\r\n disabled: propTypes.bool,\r\n selectedId: propTypes.number\r\n};\r\n\r\nexport default MultipleStateSwitch;","import React from 'react';\r\nimport Switch from 'react-switch';\r\nimport propTypes from 'prop-types';\r\n\r\nconst SwitchButton = (props) => {\r\n return (\r\n \r\n );\r\n}\r\n\r\nSwitchButton.propTypes = {\r\n disabled: propTypes.bool,\r\n onChange: propTypes.func,\r\n checked: propTypes.bool,\r\n className: propTypes.string,\r\n isWhite: propTypes.bool,\r\n zoom: propTypes.number\r\n}\r\n\r\nexport default SwitchButton;","import React, { useRef, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Select from 'react-select';\r\nimport Button from '../../../Button';\r\nimport Input from '../../../Input';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport MultipleStateSwitch from '../../../MultipleStateSwitch';\r\nimport { COURSE_ADMIN_POPUP_SET_DESCRIPTION, COURSE_ADMIN_POPUP_SET_EXPIRY_UNIT, COURSE_ADMIN_POPUP_SET_EXPIRY_VALUE, COURSE_ADMIN_POPUP_SET_LANG, COURSE_ADMIN_POPUP_SET_OTHER_LANG_ID, COURSE_ADMIN_POPUP_SET_PREVIEW_VIDEO, COURSE_ADMIN_POPUP_SET_PRICE, COURSE_ADMIN_POPUP_SET_SEO_KEYWORDS, COURSE_ADMIN_POPUP_SET_TITLE, COURSE_ADMIN_POPUP_SET_UNIT_COMPLETE_LOCK } from '../../../redux/actions/ActionTypes';\r\nimport { createCourseAdminPopup, deleteCourseAdminPopup, deleteCoursePictureAdminPopup, updateCourseAdminPopup, updateCourseLock, updateCourseModelAdminPopup, updateCourseStatusAdminPopup, uploadCoursePictureAdminPopup } from '../../../redux/actions/popup/admin/CoursePopupActions';\r\nimport { COURSE_STATUS } from '../../../resources/constants/courseStatus';\r\nimport { DURATION_LBL } from '../../../resources/constants/durationType';\r\nimport { LANGUAGE_LBL } from '../../../resources/constants/lang';\r\nimport SwitchButton from '../../../SwitchButton';\r\nimport { createNotification } from '../../../Utils';\r\nimport ReactTagInput from \"@pathofdev/react-tag-input\";\r\nimport AuthenticationService from '../../../services/Authentication';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst OverviewCourseAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const courseAdminStore = useSelector(store => store.courseAdminPopup);\r\n const [isHiddenModelButton, setHiddenModelButton] = useState(false);\r\n const filePickerRef = useRef(null);\r\n const { t } = useTranslation();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n if (courseAdminStore.courseId) {\r\n dispatch(updateCourseAdminPopup(courseAdminStore))\r\n } else {\r\n dispatch(createCourseAdminPopup(courseAdminStore));\r\n }\r\n }\r\n\r\n const onImageChoosen = (e) => {\r\n let reader = new FileReader();\r\n let file = e.target.files[0];\r\n\r\n if (file) {\r\n reader.onloadend = () => {\r\n if (file.size < 2000000) {\r\n dispatch(uploadCoursePictureAdminPopup(courseAdminStore.courseId, file));\r\n } else {\r\n createNotification(t(\"NOTIFICATION_ERROR_TITLE\"), `${t(\"IMAGE_TOO_WEIGHT\")}. (Maximum 2MB)`, 'danger');\r\n }\r\n }\r\n\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n const onCourseStatusSelect = (choice) => {\r\n dispatch(updateCourseStatusAdminPopup(courseAdminStore.courseId, choice.id));\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

Présentation

\r\n
\r\n\r\n
\r\n {courseAdminStore.courseId && <>\r\n

Image

\r\n\r\n
\r\n {courseAdminStore.isLoading ? :\r\n
\r\n
}\r\n
\r\n }\r\n\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_TITLE, payload: { title } })} error={!courseAdminStore.isTitleValid} helperText={t(\"HELPER_TITLE_COURSE\")} />\r\n \r\n \r\n \r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PREVIEW_VIDEO, payload: { previewVideo } })} error={!courseAdminStore.isPreviewVideoValid} helperText={t(\"HELPER_URL\")} />\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_PRICE, payload: { price } })} error={!courseAdminStore.isPriceValid} helperText={t(\"HELPER_PRICE\")} />\r\n \r\n
\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_SEO_KEYWORDS, payload: { seoKeyword } })}\r\n placeholder={'Mot-clé'}\r\n />\r\n
\r\n \r\n\r\n
\r\n

Configuration par défaut

\r\n
\r\n
\r\n
\r\n
\r\n

Formation ordonnée

\r\n Ce cours doit être suivi leçon par leçon\r\n
\r\n\r\n
\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_UNIT_COMPLETE_LOCK, payload: { unitCompleteLock } })} checked={courseAdminStore.unitCompleteLock} />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Durée d'expiration

\r\n Durée par défaut de disponibilité\r\n
\r\n\r\n
\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_EXPIRY_VALUE, payload: { expiryDurationValue } })} />\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_EXPIRY_UNIT, payload: { expiryDurationUnit: option } })}\r\n options={DURATION_LBL}\r\n placeholder={'Durée...'}\r\n className={'selector'}\r\n isDisabled={courseAdminStore.isLoading || courseAdminStore.isInformationsLoading}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Langue

\r\n
\r\n\r\n
\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_OTHER_LANG_ID, payload: { otherLangId } })} />\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_LANG, payload: { lang: option } })}\r\n options={LANGUAGE_LBL}\r\n placeholder={'Langue...'}\r\n className={'selector'}\r\n isDisabled={courseAdminStore.isLoading || courseAdminStore.isInformationsLoading}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {courseAdminStore.courseId ?
\r\n
\r\n
\r\n\r\n {courseAdminStore.courseId &&\r\n <>\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Zone de danger

\r\n
\r\n
\r\n
\r\n
\r\n

Statut de la formation

\r\n Un badge affiché en fonction du statut\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n

Marquer comme modèle

\r\n La formation sera affichée dans le catalogue public\r\n
\r\n\r\n {!isHiddenModelButton &&
\r\n\r\n {!courseAdminStore.locked || AuthenticationService.IsSuperAdmin() ?\r\n
\r\n
\r\n

Supprimer la formation

\r\n \r\n Cette opération est irréversible.
\r\n Les élèves associés perdront l'accès à ce cours : {courseAdminStore.activeUsers && <>{courseAdminStore.activeUsers.nbActiveUsers} actif{courseAdminStore.activeUsers.nbActiveUsers > 1 ? 's' : ''} | {courseAdminStore.activeUsers.nbInactiveUsers} inactif{courseAdminStore.activeUsers.nbInactiveUsers > 1 ? 's' : ''}}\r\n
\r\n
\r\n\r\n
: null}\r\n\r\n {AuthenticationService.IsSuperAdmin() ?\r\n
\r\n
\r\n

Formation bloquée

\r\n N'autorise que les super-admin a supprimer la formation\r\n
\r\n\r\n
\r\n dispatch(updateCourseLock(courseAdminStore.courseId, locked))} checked={courseAdminStore.locked} />\r\n
\r\n
: null}\r\n
\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default OverviewCourseAdminPopup;","import React from 'react';\r\nimport DatePicker, { registerLocale } from \"react-datepicker\";\r\nimport fr from \"date-fns/locale/fr\";\r\nimport propTypes from 'prop-types';\r\n\r\nconst Datepicker = ({ component, selected, onChange, disabled, startDate, endDate, selectsStart, selectsEnd, minDate }) => {\r\n registerLocale(\"fr\", fr);\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nDatepicker.propTypes = {\r\n component: propTypes.object.isRequired,\r\n selected: propTypes.instanceOf(Date).isRequired,\r\n onChange: propTypes.func.isRequired,\r\n disabled: propTypes.bool,\r\n startDate: propTypes.instanceOf(Date),\r\n endDate: propTypes.instanceOf(Date),\r\n selectsStart: propTypes.bool,\r\n selectsEnd: propTypes.bool,\r\n minDate: propTypes.instanceOf(Date)\r\n};\r\n\r\nexport default Datepicker;","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Button from '../../../../Button';\r\nimport Datepicker from '../../../../Datepicker';\r\nimport { deleteUserCourseAdminPopup, openUserAdminPopup, updateExpireDateUserCourseAdminPopup, updateUnitCompleteLockUserCourseAdminPopup } from '../../../../redux/actions/popup/admin/UserPopupActions';\r\nimport Profile from '../../../../resources/images/profile.png';\r\nimport SwitchButton from '../../../../SwitchButton';\r\nimport { timeRemainingForNow } from '../../../../Utils';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst UserItemCourseAdminPopup = ({ userCourse }) => {\r\n const dispatch = useDispatch();\r\n const { user } = userCourse;\r\n const expireDate = timeRemainingForNow(user.expireDate);\r\n const { t } = useTranslation();\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
dispatch(openUserAdminPopup(user.id))}>Modifier l'utilisateur
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {`${user.firstname}\r\n\r\n
\r\n
\r\n {user.confirmed &&
}\r\n {user.firstname} {user.lastname}\r\n
\r\n\r\n {user.business && {user.business}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {user.nbLecturesDone} / {user.nbLectures} {user.nbLecturesDone > 1 ? t(\"COURSES_DONE\") : t(\"COURSE_DONE\")}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n {expireDate.str}\r\n Modifier} selected={new Date(user.expireDate)} onChange={(date) => dispatch(updateExpireDateUserCourseAdminPopup(userCourse.userCourseId, date))} disabled={userCourse.isLoading} />\r\n
\r\n\r\n
\r\n Cours ordonné\r\n dispatch(updateUnitCompleteLockUserCourseAdminPopup(userCourse.userCourseId, !user.unitCompleteLock))} zoom={0.8} />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nUserItemCourseAdminPopup.propTypes = {\r\n userCourse: propTypes.object.isRequired\r\n};\r\n\r\nexport default UserItemCourseAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport UserAdminPanelItemLoader from '../../../../loader/UserAdminPanelItemLoader';\r\nimport UserItemCourseAdminPopup from './UserItemCourseAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst UserListCourseAdminPopup = () => {\r\n const courseAdminStore = useSelector(store => store.courseAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (!courseAdminStore.isUsersLoading && !courseAdminStore.users?.length)\r\n return (\r\n
\r\n {t(\"NO_USERS_FOUND\")}\r\n
\r\n );\r\n\r\n return (\r\n
\r\n {courseAdminStore.users.map(userCourse => )}\r\n\r\n {courseAdminStore.isUsersLoading && <>\r\n
\r\n
\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default UserListCourseAdminPopup;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport Input from '../../../Input';\r\nimport { COURSE_ADMIN_POPUP_SET_USERS, COURSE_ADMIN_POPUP_SET_USER_SEARCH_VALUE } from '../../../redux/actions/ActionTypes';\r\nimport { openUserAsCourseAdminPopup } from '../../../redux/actions/popup/admin/AssignUserPopupActions';\r\nimport { loadUsersCourseAdminPopup } from '../../../redux/actions/popup/admin/CoursePopupActions';\r\nimport UserListCourseAdminPopup from './user/UserListCourseAdminPopup';\r\n\r\nconst UserCourseAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const courseAdminStore = useSelector(store => store.courseAdminPopup);\r\n\r\n useEffect(() => {\r\n dispatch(loadUsersCourseAdminPopup(courseAdminStore.courseId, 0, null));\r\n\r\n return () => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USERS, payload: { users: [] } });\r\n }\r\n }, [dispatch, courseAdminStore.courseId]);\r\n\r\n const onTyping = (value) => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USERS, payload: { users: [] } });\r\n dispatch(loadUsersCourseAdminPopup(courseAdminStore.courseId, 0, value));\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Etudiants

\r\n
\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_USER_SEARCH_VALUE, payload: { userSearchValue } })} onTypingDelay={onTyping} />\r\n\r\n
\r\n \r\n\r\n {courseAdminStore.hasNext &&
}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default UserCourseAdminPopup;","import React, { useEffect } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport { COURSE_ADMIN_POPUP_RESET, COURSE_ADMIN_POPUP_SET_ENABLED } from '../../redux/actions/ActionTypes';\r\nimport { ADMIN_COURSE_MENU_TYPE } from '../../resources/constants/adminPanel';\r\nimport DetailedInformationCourseAdminPopup from './course/DetailedInformationCourseAdminPopup';\r\nimport OverviewCourseAdminPopup from './course/OverviewCourseAdminPopup';\r\nimport UserCourseAdminPopup from './course/UserCourseAdminPopup';\r\nimport SwitchButton from '../../SwitchButton';\r\nimport { loadCourseAdminPopup, loadUsersCourseAdminPopup, updateStatusCourseAdminPopup } from '../../redux/actions/popup/admin/CoursePopupActions';\r\nimport Button from '../../Button';\r\nimport { Link } from 'react-router-dom';\r\nimport { convertStringForUrl } from '../../Utils';\r\n\r\nconst ExtraComponentCourseAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const courseAdminStore = useSelector(store => store.courseAdminPopup);\r\n\r\n if (!courseAdminStore.courseId)\r\n return null;\r\n\r\n return (\r\n
\r\n
\r\n \r\n dispatch(updateStatusCourseAdminPopup(courseAdminStore.courseId, enabled))} checked={courseAdminStore.enabled} />\r\n
\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_ENABLED, payload: { type: null } })}>
\r\n )\r\n}\r\n\r\nconst CourseAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const courseAdminStore = useSelector(store => store.courseAdminPopup);\r\n\r\n useEffect(() => {\r\n if (courseAdminStore.courseId)\r\n dispatch(loadCourseAdminPopup(courseAdminStore.courseId));\r\n\r\n return () => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_RESET });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dispatch]);\r\n\r\n return (\r\n
\r\n {courseAdminStore.showAdvertisement &&
⚠️ Certaines modifications peuvent ne pas apparaitre sur la page d'édition mais alors qu'elles ont bien été effectuées. ⚠️
}\r\n {courseAdminStore.popupEnabled === ADMIN_COURSE_MENU_TYPE.OVERVIEW && }\r\n {courseAdminStore.popupEnabled === ADMIN_COURSE_MENU_TYPE.DETAILS && }\r\n {courseAdminStore.popupEnabled === ADMIN_COURSE_MENU_TYPE.USERS && }\r\n
\r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(CourseAdminPopup, null, 'Opération sur une formation', 'courseAdminPopup', COURSE_ADMIN_POPUP_SET_ENABLED, ExtraComponentCourseAdminPopup, {\r\n storeName: 'courseAdminPopup',\r\n completion: (dispatch, store) => {\r\n if (store.popupEnabled === ADMIN_COURSE_MENU_TYPE.USERS) {\r\n if (!store.isUsersLoading && store.hasNext) {\r\n dispatch(loadUsersCourseAdminPopup(store.courseId, store.pagingPage + 1, store.userSearchValue));\r\n }\r\n }\r\n }\r\n});","import React from 'react';\r\n\r\nconst LectureSurveyResultAnswer = ({ answer }) => {\r\n return (\r\n
  • {answer.title}
  • \r\n );\r\n}\r\n\r\nexport default LectureSurveyResultAnswer;","import React from 'react';\r\nimport LectureSurveyResultAnswer from './LectureSurveyResultAnswer';\r\n\r\nconst LectureSurveyResultQuestion = ({ question }) => {\r\n return (\r\n
    \r\n {question.nb}. {question.title}\r\n
      \r\n {question.surveyAnswer.map(a => )}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default LectureSurveyResultQuestion;","import Axios from \"axios\";\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { LECTURE_PANEL_SURVEY_DELETE_ADMIN_RESULT, LECTURE_PANEL_SURVEY_SET_ADMIN_RESULT_LOADING, SURVEY_ADMIN_POPUP_SET_ACTION_LOADING, SURVEY_ADMIN_POPUP_SET_ENABLED, SURVEY_ADMIN_POPUP_SET_LOADING, SURVEY_ADMIN_POPUP_SET_POPUP_TITLE, SURVEY_ADMIN_POPUP_SET_RESULTS, SURVEY_ADMIN_POPUP_SET_SURVEY_ID, USER_ADMIN_POPUP_DELETE_SURVEY, USER_ADMIN_POPUP_SET_SURVEY_LOADING } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const openSurveyAdminPopup = (surveyId) => async dispatch => {\r\n dispatch({ type: SURVEY_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } });\r\n dispatch({ type: SURVEY_ADMIN_POPUP_SET_SURVEY_ID, payload: { id: surveyId } });\r\n}\r\n\r\nexport const loadSurveyResultAdminPopup = (surveyId) => async dispatch => {\r\n dispatch({ type: SURVEY_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n dispatch({ type: SURVEY_ADMIN_POPUP_SET_POPUP_TITLE, payload: { title: 'Chargement' } });\r\n\r\n Axios.get(`survey/user/${surveyId}/details/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: SURVEY_ADMIN_POPUP_SET_RESULTS, payload: { results: data } });\r\n dispatch({ type: SURVEY_ADMIN_POPUP_SET_POPUP_TITLE, payload: { title: data.title } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: SURVEY_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n })\r\n}\r\n\r\nexport const deleteUserSurveyAdminPopup = (userSurveyId) => async dispatch => {\r\n dispatch({ type: SURVEY_ADMIN_POPUP_SET_ACTION_LOADING, payload: { isLoading: true } });\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_ADMIN_RESULT_LOADING, payload: { id: userSurveyId, isLoading: true } });\r\n Axios.delete(`survey/${userSurveyId}/delete/admin`)\r\n .then(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_DELETE_SURVEY, payload: { id: userSurveyId } });\r\n dispatch({ type: LECTURE_PANEL_SURVEY_DELETE_ADMIN_RESULT, payload: { id: userSurveyId } });\r\n dispatch({ type: SURVEY_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: false } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_SURVEY_LOADING, payload: { id: userSurveyId, isLoading: false } });\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_ADMIN_RESULT_LOADING, payload: { id: userSurveyId, isLoading: false } });\r\n dispatch({ type: SURVEY_ADMIN_POPUP_SET_ACTION_LOADING, payload: { isLoading: false } });\r\n });\r\n}","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport SemiCircleProgressBar from \"react-progressbar-semicircle\";\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport BasicLoader from '../../loader/BasicLoader';\r\nimport LectureSurveyResultQuestion from '../../panel/dashboard/lecture/survey/LectureSurveyResultQuestion';\r\nimport { SURVEY_ADMIN_POPUP_RESET } from '../../redux/actions/ActionTypes';\r\nimport { deleteUserSurveyAdminPopup, loadSurveyResultAdminPopup } from '../../redux/actions/popup/admin/SurveyPopupActions';\r\nimport Button from '../../Button';\r\n\r\nconst SurveyAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const surveyAdminStore = useSelector(store => store.surveyAdminPopup);\r\n\r\n useEffect(() => {\r\n if (surveyAdminStore.surveyId)\r\n dispatch(loadSurveyResultAdminPopup(surveyAdminStore.surveyId));\r\n\r\n return () => {\r\n dispatch({ type: SURVEY_ADMIN_POPUP_RESET });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dispatch]);\r\n\r\n if (surveyAdminStore.isLoading)\r\n return (\r\n \r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n {surveyAdminStore.results.finalScore}/{surveyAdminStore.results.finalScoreBase}\r\n
    \r\n\r\n

    Rapport

    \r\n
    \r\n {surveyAdminStore.results.wrong?.length ?\r\n
    \r\n Mauvaises réponses\r\n
    \r\n
    \r\n {surveyAdminStore.results.wrong.map(q => )}\r\n
    \r\n
    : null}\r\n\r\n {surveyAdminStore.results.correct?.length ?\r\n
    \r\n Bonnes réponses\r\n
    \r\n
    \r\n {surveyAdminStore.results.correct.map(q => )}\r\n
    \r\n
    : null}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Zone de danger

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Supprimer la formation

    \r\n Cette opération est irréversible.\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(SurveyAdminPopup, null, 'Détails du questionnaire', 'surveyAdminPopup');","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Button from '../../../../Button';\r\nimport { deleteUserCertificateAdminPopup } from '../../../../redux/actions/popup/admin/UserPopupActions';\r\n\r\n// Images\r\nimport NoImage from '../../../../resources/images/no-image.png';\r\n\r\nconst CertificateUserItemAdminPopup = ({ certificate }) => {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n
    \r\n
    \r\n {certificate.title}\r\n\r\n
    \r\n {certificate.title}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nCertificateUserItemAdminPopup.propTypes = {\r\n certificate: propTypes.object.isRequired\r\n};\r\n\r\nexport default CertificateUserItemAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../../loader/BasicLoader';\r\nimport CertificateUserItemAdminPopup from './CertificateUserItemAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst CertificateUserListAdminPopup = () => {\r\n const userAdminStore = useSelector(store => store.userAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (userAdminStore.isCertificatesLoading)\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n if (!userAdminStore.certificates || !userAdminStore.certificates.length)\r\n return (\r\n
    \r\n {t(\"NO_CERTIFICATES_FOUND\")}\r\n
    \r\n )\r\n\r\n return (\r\n
    \r\n {userAdminStore.certificates && userAdminStore.certificates.map((certificate) => )}\r\n
    \r\n );\r\n}\r\n\r\nexport default CertificateUserListAdminPopup;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport { USER_ADMIN_POPUP_SET_CERTIFICATES } from '../../../redux/actions/ActionTypes';\r\nimport { openAssignCertificateAdminPopup } from '../../../redux/actions/popup/admin/AssignCertificatePopupActions';\r\nimport { loadUserCertificatesAdminPopup } from '../../../redux/actions/popup/admin/UserPopupActions';\r\nimport CertificateUserListAdminPopup from './certificate/CertificateUserListAdminPopup';\r\n\r\nconst CertificateUserAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const userAdminStore = useSelector(store => store.userAdminPopup);\r\n\r\n useEffect(() => {\r\n dispatch(loadUserCertificatesAdminPopup(userAdminStore.userId));\r\n\r\n return () => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_CERTIFICATES, payload: { certificates: [] } });\r\n }\r\n }, [dispatch, userAdminStore.userId]);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Certificats

    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default CertificateUserAdminPopup;","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Button from '../../../../Button';\r\nimport Datepicker from '../../../../Datepicker';\r\nimport { USER_ADMIN_POPUP_SET_ENABLED } from '../../../../redux/actions/ActionTypes';\r\nimport { openCourseAdminPopup } from '../../../../redux/actions/popup/admin/CoursePopupActions';\r\nimport { deleteUserCourseAdminPopup, updateExpireDateUserCourseAdminPopup, updateUnitCompleteLockUserCourseAdminPopup } from '../../../../redux/actions/popup/admin/UserPopupActions';\r\nimport SwitchButton from '../../../../SwitchButton';\r\nimport { timeRemainingForNow } from '../../../../Utils';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n// Images\r\nimport NoImage from '../../../../resources/images/no-image.png';\r\n\r\nconst CourseUserItemAdminPopup = ({ course }) => {\r\n const dispatch = useDispatch();\r\n const expireDate = timeRemainingForNow(course.expireDate);\r\n const { t } = useTranslation();\r\n\r\n const onEdit = () => {\r\n dispatch(openCourseAdminPopup(course.courseId));\r\n dispatch({ type: USER_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!course.isLoading &&
    Modifier la formation
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {course.title}\r\n\r\n
    \r\n {course.title}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {course.nbLecturesDone} / {course.nbLectures} {course.nbLecturesDone > 1 ? t(\"COURSES_DONE\") : t(\"COURSE_DONE\")}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {expireDate.str}\r\n Modifier} selected={new Date(course.expireDate)} onChange={(date) => dispatch(updateExpireDateUserCourseAdminPopup(course.id, date))} disabled={course.isLoading} />\r\n
    \r\n\r\n
    \r\n Cours ordonné\r\n dispatch(updateUnitCompleteLockUserCourseAdminPopup(course.id, !course.unitCompleteLock))} zoom={0.8} />\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nCourseUserItemAdminPopup.propTypes = {\r\n course: propTypes.object.isRequired\r\n};\r\n\r\nexport default CourseUserItemAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../../loader/BasicLoader';\r\nimport CourseUserItemAdminPopup from './CourseUserItemAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst CourseUserListAdminPopup = () => {\r\n const userAdminStore = useSelector(store => store.userAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (userAdminStore.isCoursesLoading)\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n if (!userAdminStore.courses || !userAdminStore.courses.length)\r\n return (\r\n
    \r\n {t(\"NO_COURSES_FOUND\")}\r\n
    \r\n )\r\n\r\n return (\r\n
    \r\n {userAdminStore.courses && userAdminStore.courses.map((course) => )}\r\n
    \r\n );\r\n}\r\n\r\nexport default CourseUserListAdminPopup;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport { USER_ADMIN_POPUP_SET_COURSES } from '../../../redux/actions/ActionTypes';\r\nimport { openCourseAsUserAdminPopup } from '../../../redux/actions/popup/admin/AssignCoursePopupActions';\r\nimport { loadUserCoursesAdminPopup } from '../../../redux/actions/popup/admin/UserPopupActions';\r\nimport CourseUserListAdminPopup from './course/CourseUserListAdminPopup';\r\n\r\nconst CourseUserAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const userAdminStore = useSelector(store => store.userAdminPopup);\r\n\r\n useEffect(() => {\r\n dispatch(loadUserCoursesAdminPopup(userAdminStore.userId));\r\n\r\n return () => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_COURSES, payload: { courses: null } });\r\n }\r\n }, [dispatch, userAdminStore.userId]);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Formations

    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default CourseUserAdminPopup;","import React from 'react';\r\nimport PhoneInput from 'react-phone-input-2';\r\nimport InputHOC from './HOC/InputHOC';\r\nimport Input from './Input';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst InputPhone = (props) => {\r\n const { t } = useTranslation()\r\n \r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default InputHOC(InputPhone);","import React, { useRef, useState } from 'react';\r\nimport Button from '../../../Button';\r\nimport Input from '../../../Input';\r\nimport InputPhone from '../../../InputPhone';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { USER_ADMIN_POPUP_SET_COMPANY, USER_ADMIN_POPUP_SET_EMAIL, USER_ADMIN_POPUP_SET_FIRSTNAME, USER_ADMIN_POPUP_SET_LASTNAME, USER_ADMIN_POPUP_SET_PHONE } from '../../../redux/actions/ActionTypes';\r\nimport { confirmUserAdminPopup, createUserAdminPopup, deleteUserPictureAdminPopup, deleteUserAdminPopup, updateUserAdminPopup, uploadUserPictureAdminPopup } from '../../../redux/actions/popup/admin/UserPopupActions';\r\nimport { createNotification } from '../../../Utils';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n// Images\r\nimport Profile from '../../../resources/images/profile.png';\r\n\r\nconst OverviewUserAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const userAdminStore = useSelector(store => store.userAdminPopup);\r\n const filePickerRef = useRef(null);\r\n const [isHiddenConfirmButton, setHiddenConfirmButton] = useState(false);\r\n const { t } = useTranslation();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n if (userAdminStore.userId) {\r\n dispatch(updateUserAdminPopup(userAdminStore));\r\n } else {\r\n dispatch(createUserAdminPopup(userAdminStore))\r\n }\r\n }\r\n\r\n const onImageChoosen = (e) => {\r\n let reader = new FileReader();\r\n let file = e.target.files[0];\r\n\r\n if (file) {\r\n reader.onloadend = () => {\r\n if (file.size < 2000000) {\r\n dispatch(uploadUserPictureAdminPopup(userAdminStore.userId, file));\r\n } else {\r\n createNotification(t(\"NOTIFICATION_ERROR_TITLE\"), `${t(\"IMAGE_TOO_WEIGHT\")}. (Maximum 2MB)`, 'danger');\r\n }\r\n }\r\n\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Présentation

    \r\n
    \r\n\r\n\r\n {userAdminStore.userId &&\r\n
    \r\n

    Image

    \r\n
    \r\n
    \r\n {userAdminStore.isPictureLoading ? : {`${userAdminStore.firstname}}\r\n
    \r\n\r\n
    \r\n \r\n \r\n {!userAdminStore.isPictureLoading && userAdminStore.photoLink &&
    \r\n
    \r\n
    }\r\n\r\n
    \r\n dispatch({ type: USER_ADMIN_POPUP_SET_EMAIL, payload: { email } })} type={'text'} autocomplete={'email'} disabled={userAdminStore.isLoading || userAdminStore.isInformationsLoading} error={!userAdminStore.isEmailValid} helperText={t(\"HELPER_EMAIL\")} />\r\n\r\n
    \r\n dispatch({ type: USER_ADMIN_POPUP_SET_FIRSTNAME, payload: { firstname } })} type={'text'} autocomplete={'given-name'} disabled={userAdminStore.isLoading || userAdminStore.isInformationsLoading} error={!userAdminStore.isFirstnameValid} helperText={t(\"HELPER_FIRSTNAME\")} />\r\n dispatch({ type: USER_ADMIN_POPUP_SET_LASTNAME, payload: { lastname } })} type={'text'} autocomplete={'family-name'} disabled={userAdminStore.isLoading || userAdminStore.isInformationsLoading} error={!userAdminStore.isLastnameValid} helperText={t(\"HELPER_LASTNAME\")} />\r\n
    \r\n\r\n
    \r\n dispatch({ type: USER_ADMIN_POPUP_SET_PHONE, payload: { phone } })} error={!userAdminStore.isPhoneValid} helperText={t(\"HELPER_PHONE\")} disabled={userAdminStore.isLoading || userAdminStore.isInformationsLoading} />\r\n dispatch({ type: USER_ADMIN_POPUP_SET_COMPANY, payload: { company } })} type={'text'} autocomplete={'organization'} disabled={userAdminStore.isLoading || userAdminStore.isInformationsLoading} error={!userAdminStore.isCompanyValid} helperText={t(\"HELPER_COMPANY\")} />\r\n
    \r\n
    \r\n\r\n
    \r\n {userAdminStore.userId ?
    \r\n
    \r\n
    \r\n\r\n {userAdminStore.userId &&\r\n <>\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Zone de danger

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Membre confirmé

    \r\n Modification le statut du compte\r\n
    \r\n\r\n {!isHiddenConfirmButton &&
    \r\n\r\n
    \r\n
    \r\n

    Supprimer l'utilisateur

    \r\n Cette opération est irréversible\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default OverviewUserAdminPopup;","import React, { useEffect, useState } from 'react';\r\nimport propTypes from 'prop-types';\r\nimport passwordForce from 'zxcvbn';\r\n\r\nconst PasswordStrength = (props) => {\r\n const [strength, setStrength] = useState(0);\r\n\r\n useEffect(() => {\r\n setStrength(passwordForce(props.password).score + 1);\r\n\r\n if (!props.password)\r\n setStrength(0);\r\n }, [props.password])\r\n\r\n return (\r\n
    \r\n
    = 1 ? 'active' : ''}`}>
    \r\n
    = 2 ? 'active' : ''}`}>
    \r\n
    = 3 ? 'active' : ''}`}>
    \r\n
    \r\n );\r\n}\r\n\r\nPasswordStrength.propTypes = {\r\n password: propTypes.string.isRequired\r\n};\r\n\r\nexport default PasswordStrength;","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport Input from '../../../Input';\r\nimport PasswordStrength from '../../../PasswordStrength';\r\nimport { USER_ADMIN_POPUP_SET_NEW_PASSWORD, USER_ADMIN_POPUP_SET_RENEW_PASSWORD } from '../../../redux/actions/ActionTypes';\r\nimport { unlinkSocialAdminPopup, updatePasswordUserAdminPopup } from '../../../redux/actions/popup/admin/UserPopupActions';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst SecurityUserAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const userAdminStore = useSelector(store => store.userAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n dispatch(updatePasswordUserAdminPopup(userAdminStore));\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Définir un mot de passe

    \r\n
    \r\n\r\n
    \r\n
    \r\n dispatch({ type: USER_ADMIN_POPUP_SET_NEW_PASSWORD, payload: { password } })} type={'password'} autocomplete={'new-password'} disabled={userAdminStore.isSecurityLoading} error={!userAdminStore.isNewPasswordValid} helperText={t(\"HELPER_PASSWORD_MUST_BE_STRONGER\")} passwordToggle />\r\n \r\n\r\n dispatch({ type: USER_ADMIN_POPUP_SET_RENEW_PASSWORD, payload: { password } })} type={'password'} autocomplete={'new-password'} disabled={userAdminStore.isSecurityLoading} error={!userAdminStore.isRenewPasswordValid} helperText={t(\"HELPER_PASSWORD_SAME\")} passwordToggle />\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Réseaux sociaux

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Facebook

    \r\n {userAdminStore.facebook ? 'Connecté' : 'Non connecté'}\r\n
    \r\n\r\n {userAdminStore.facebook &&
    \r\n\r\n
    \r\n
    \r\n

    Microsoft

    \r\n {userAdminStore.microsoft ? 'Connecté' : 'Non connecté'}\r\n
    \r\n\r\n {userAdminStore.microsoft &&
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SecurityUserAdminPopup;","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { openSurveyAdminPopup } from '../../../../redux/actions/popup/admin/SurveyPopupActions';\r\n\r\n// Images\r\nimport NoImage from '../../../../resources/images/no-image.png';\r\n\r\n\r\nconst SurveyUserItemAdminPopup = ({ survey }) => {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n
    dispatch(openSurveyAdminPopup(survey.id))}>\r\n
    \r\n {survey.course?.title}\r\n\r\n
    \r\n {survey?.title}\r\n
    {survey?.course?.title}
    \r\n
    {survey.finalScore}/{survey.finalScoreBase}
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nSurveyUserItemAdminPopup.propTypes = {\r\n survey: propTypes.object.isRequired\r\n};\r\n\r\nexport default SurveyUserItemAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../../loader/BasicLoader';\r\nimport SurveyUserItemAdminPopup from './SurveyUserItemAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst SurveyUserListAdminPopup = () => {\r\n const userAdminStore = useSelector(store => store.userAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (userAdminStore.isSurveysLoading)\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n if (!userAdminStore.surveys || !userAdminStore.surveys.length)\r\n return (\r\n
    \r\n {t(\"NO_SURVEYS_FOUND\")}\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n {userAdminStore.surveys && userAdminStore.surveys.map((survey) => )}\r\n
    \r\n );\r\n}\r\n\r\nexport default SurveyUserListAdminPopup;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { USER_ADMIN_POPUP_SET_SURVEYS } from '../../../redux/actions/ActionTypes';\r\nimport { loadUserSurveysAdminPopup } from '../../../redux/actions/popup/admin/UserPopupActions';\r\nimport SurveyUserListAdminPopup from './survey/SurveyUserListAdminPopup';\r\n\r\nconst SurveyUserAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const userAdminStore = useSelector(store => store.userAdminPopup);\r\n\r\n useEffect(() => {\r\n dispatch(loadUserSurveysAdminPopup(userAdminStore.userId));\r\n\r\n return () => {\r\n dispatch({ type: USER_ADMIN_POPUP_SET_SURVEYS, payload: { courses: null } });\r\n }\r\n }, [dispatch, userAdminStore.userId]);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Questionnaires

    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SurveyUserAdminPopup;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport { USER_ADMIN_POPUP_RESET, USER_ADMIN_POPUP_SET_ENABLED } from '../../redux/actions/ActionTypes';\r\nimport { loadUserAdminPopup } from '../../redux/actions/popup/admin/UserPopupActions';\r\nimport { ADMIN_USER_MENU_TYPE } from '../../resources/constants/adminPanel';\r\nimport CertificateUserAdminPopup from './user/CertificateUserAdminPopup';\r\nimport CourseUserAdminPopup from './user/CourseUserAdminPopup';\r\nimport OverviewUserAdminPopup from './user/OverviewUserAdminPopup';\r\nimport SecurityUserAdminPopup from './user/SecurityUserAdminPopup';\r\nimport SurveyUserAdminPopup from './user/SurveyUserAdminPopup';\r\n\r\nconst UserAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const userAdminStore = useSelector(store => store.userAdminPopup);\r\n\r\n useEffect(() => {\r\n if (userAdminStore.userId)\r\n dispatch(loadUserAdminPopup(userAdminStore.userId));\r\n\r\n return () => {\r\n dispatch({ type: USER_ADMIN_POPUP_RESET });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dispatch]);\r\n\r\n return (\r\n
    \r\n {userAdminStore.popupEnabled === ADMIN_USER_MENU_TYPE.OVERVIEW && }\r\n {userAdminStore.popupEnabled === ADMIN_USER_MENU_TYPE.SECURITY && }\r\n {userAdminStore.popupEnabled === ADMIN_USER_MENU_TYPE.COURSES && }\r\n {userAdminStore.popupEnabled === ADMIN_USER_MENU_TYPE.CERTIFICATES && }\r\n {userAdminStore.popupEnabled === ADMIN_USER_MENU_TYPE.SURVEYS && }\r\n
    \r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(UserAdminPopup, null, 'Opération sur un utilisateur', 'userAdminPopup', USER_ADMIN_POPUP_SET_ENABLED);","import Axios from \"axios\";\r\nimport { ADMIN_USER_MENU_TYPE } from \"../../../../resources/constants/adminPanel\";\r\nimport { createNotification } from \"../../../../Utils\";\r\nimport { VOUCHER_ADMIN_PANEL_ADD_VOUCHERS, VOUCHER_ADMIN_PANEL_DELETE_COURSE_VOUCHER, VOUCHER_ADMIN_PANEL_DELETE_USER_VOUCHER, VOUCHER_ADMIN_PANEL_DELETE_VOUCHER, VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING, VOUCHER_ADMIN_PANEL_UPDATE_VOUCHER, VOUCHER_ADMIN_POPUP_ADD_USERS, VOUCHER_ADMIN_POPUP_DATES_CHECK, VOUCHER_ADMIN_POPUP_DELETE_COURSE, VOUCHER_ADMIN_POPUP_DELETE_USER, VOUCHER_ADMIN_POPUP_PLACE_AVAILABLE_CHECK, VOUCHER_ADMIN_POPUP_SET_COURSES, VOUCHER_ADMIN_POPUP_SET_COURSES_LOADING, VOUCHER_ADMIN_POPUP_SET_ENABLED, VOUCHER_ADMIN_POPUP_SET_HAS_NEXT, VOUCHER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, VOUCHER_ADMIN_POPUP_SET_LOADING, VOUCHER_ADMIN_POPUP_SET_PAGING_PAGE, VOUCHER_ADMIN_POPUP_SET_POPUP_TITLE, VOUCHER_ADMIN_POPUP_SET_USERS_LOADING, VOUCHER_ADMIN_POPUP_SET_USER_LOADING, VOUCHER_ADMIN_POPUP_SET_VOUCHER, VOUCHER_ADMIN_POPUP_SET_VOUCHER_ID, VOUCHER_ADMIN_POPUP_TOGGLE_MENU_STATUS } from \"../../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nconst checkVoucherInformations = (voucherAdminStore) => async dispatch => {\r\n const isDatesValid = new Date(voucherAdminStore.startDate) && new Date(voucherAdminStore.endDate) && (new Date(voucherAdminStore.startDate) <= new Date(voucherAdminStore.endDate));\r\n const isPlaceAvailableValid = voucherAdminStore.placeAvailable >= 1;\r\n\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_DATES_CHECK, payload: { isValid: isDatesValid } });\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_PLACE_AVAILABLE_CHECK, payload: { isValid: isPlaceAvailableValid } });\r\n\r\n return isDatesValid && isPlaceAvailableValid;\r\n}\r\n\r\nexport const openVoucherAdminPopup = (voucherId = null) => async dispatch => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_ENABLED, payload: { type: ADMIN_USER_MENU_TYPE.OVERVIEW } });\r\n\r\n if (voucherId) {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_VOUCHER_ID, payload: { voucherId } });\r\n } else {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_POPUP_TITLE, payload: { title: 'Création d\\'un bon d\\'accès' } });\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: false } });\r\n }\r\n}\r\n\r\nexport const loadVoucherAdminPopup = (voucherId) => async dispatch => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: true } });\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`voucher/${voucherId}/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_POPUP_TITLE, payload: { title: `Modification de ${data.code}` } });\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_VOUCHER, payload: { voucher: data } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n }).finally(() => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const createVoucherAdminPopup = (voucherAdminStore) => async dispatch => {\r\n if (await dispatch(checkVoucherInformations(voucherAdminStore))) {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.post(`voucher/create/admin`, {\r\n placesAvailable: voucherAdminStore.placeAvailable,\r\n startDate: new Date(voucherAdminStore.startDate),\r\n endDate: new Date(voucherAdminStore.endDate)\r\n }).then(({ data }) => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_ADD_VOUCHERS, payload: { vouchers: [data] } });\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_VOUCHER, payload: { voucher: data } });\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: true } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const updateVoucherAdminPopup = (voucherAdminStore) => async dispatch => {\r\n if (await dispatch(checkVoucherInformations(voucherAdminStore))) {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.put(`voucher/${voucherAdminStore.voucherId}/update/admin`, {\r\n placesAvailable: voucherAdminStore.placeAvailable,\r\n startDate: new Date(voucherAdminStore.startDate),\r\n endDate: new Date(voucherAdminStore.endDate)\r\n }).then(({ data }) => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_UPDATE_VOUCHER, payload: { id: voucherAdminStore.voucherId, voucher: data } });\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"PREFERENCES_UPDATED_SUCCESS_ADMIN\"), 'success');\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const deleteVoucherAdminPopup = (voucherId) => async dispatch => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.delete(`voucher/${voucherId}/delete/admin`)\r\n .then(() => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_DELETE_VOUCHER, payload: { id: voucherId } });\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_INFORMATIONS_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const deleteUserVoucherAdminPopup = (userVoucherId) => async dispatch => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_USER_LOADING, payload: { userVoucherId, isLoading: true } });\r\n\r\n Axios.delete(`voucher/user/${userVoucherId}/delete/admin`)\r\n .then(() => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_DELETE_USER, payload: { userVoucherId } });\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_DELETE_USER_VOUCHER, payload: { voucherId: 41, userVoucherId } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_USER_LOADING, payload: { userVoucherId, isLoading: false } });\r\n });\r\n}\r\n\r\nexport const loadCourseVoucherAdminPopup = (voucherId) => async dispatch => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_COURSES_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`voucher/${voucherId}/course/all/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_COURSES, payload: { courses: data } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_COURSES_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const loadUserVoucherAdminPopup = (voucherId, pageIndex = null, name = null) => async dispatch => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_USERS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`voucher/${voucherId}/user/all/admin`, {\r\n params: {\r\n pageIndex,\r\n name\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_PAGING_PAGE, payload: { pagingPage: data.pageIndex } });\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_HAS_NEXT, payload: { hasNext: data.hasNext } });\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_ADD_USERS, payload: { users: data.paging } });\r\n }).finally(() => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_USERS_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const deleteCourseVoucherAdminPopup = (courseVoucherId) => async dispatch => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING, payload: { id: courseVoucherId, isLoading: true } });\r\n\r\n Axios.delete(`courseVoucher/${courseVoucherId}/delete/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_DELETE_COURSE, payload: { id: courseVoucherId } });\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_DELETE_COURSE_VOUCHER, payload: { voucherId: data.id, courseVoucherId } })\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING, payload: { id: courseVoucherId, isLoading: false } });\r\n });\r\n}","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Button from '../../../../Button';\r\nimport { VOUCHER_ADMIN_POPUP_SET_ENABLED } from '../../../../redux/actions/ActionTypes';\r\nimport { openCourseAdminPopup } from '../../../../redux/actions/popup/admin/CoursePopupActions';\r\nimport { deleteCourseVoucherAdminPopup } from '../../../../redux/actions/popup/admin/VoucherPopupActions';\r\n\r\nconst CourseVoucherItemAdminPopup = ({ courseVoucher }) => {\r\n const { course } = courseVoucher;\r\n const dispatch = useDispatch();\r\n\r\n const onEdit = () => {\r\n dispatch(openCourseAdminPopup(course.id));\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!course.isLoading &&
    Modifier la formation
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {course.title}\r\n\r\n
    \r\n {course.title}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nCourseVoucherItemAdminPopup.propTypes = {\r\n courseVoucher: propTypes.object.isRequired\r\n};\r\n\r\nexport default CourseVoucherItemAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../../loader/BasicLoader';\r\nimport CourseVoucherItemAdminPopup from './CourseVoucherItemAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst CourseVoucherListAdminPopup = () => {\r\n const voucherAdminStore = useSelector(store => store.voucherAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (voucherAdminStore.isCoursesLoading)\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n if (!voucherAdminStore.courses || !voucherAdminStore.courses.length)\r\n return (\r\n
    \r\n {t(\"NO_COURSES_FOUND\")}\r\n
    \r\n )\r\n\r\n return (\r\n
    \r\n {voucherAdminStore.courses && voucherAdminStore.courses.map((course) => )}\r\n
    \r\n );\r\n}\r\n\r\nexport default CourseVoucherListAdminPopup;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport { VOUCHER_ADMIN_POPUP_SET_COURSES } from '../../../redux/actions/ActionTypes';\r\nimport { openCourseAsVoucherAdminPopup } from '../../../redux/actions/popup/admin/AssignCoursePopupActions';\r\nimport { loadCourseVoucherAdminPopup } from '../../../redux/actions/popup/admin/VoucherPopupActions';\r\nimport CourseVoucherListAdminPopup from './course/CourseVoucherListAdminPopup';\r\n\r\nconst CourseVoucherAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const voucherAdminStore = useSelector(store => store.voucherAdminPopup);\r\n\r\n useEffect(() => {\r\n dispatch(loadCourseVoucherAdminPopup(voucherAdminStore.voucherId));\r\n\r\n return () => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_COURSES, payload: { courses: null } });\r\n }\r\n }, [dispatch, voucherAdminStore.voucherId]);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Formations

    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default CourseVoucherAdminPopup;","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport Datepicker from '../../../Datepicker';\r\nimport Input from '../../../Input';\r\nimport { VOUCHER_ADMIN_POPUP_SET_END_DATE, VOUCHER_ADMIN_POPUP_SET_PLACE_AVAILABLE, VOUCHER_ADMIN_POPUP_SET_START_DATE } from '../../../redux/actions/ActionTypes';\r\nimport { createVoucherAdminPopup, deleteVoucherAdminPopup, updateVoucherAdminPopup } from '../../../redux/actions/popup/admin/VoucherPopupActions';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst OverviewVoucherAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const voucherAdminStore = useSelector(store => store.voucherAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n if (voucherAdminStore.voucherId) {\r\n dispatch(updateVoucherAdminPopup(voucherAdminStore));\r\n } else {\r\n dispatch(createVoucherAdminPopup(voucherAdminStore))\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Présentation

    \r\n
    \r\n\r\n
    \r\n {voucherAdminStore.voucherId && }\r\n\r\n

    Dates

    \r\n
    \r\n } disabled={voucherAdminStore.isLoading || voucherAdminStore.isInformationsLoading} selected={new Date(voucherAdminStore.startDate)} onChange={date => dispatch({type: VOUCHER_ADMIN_POPUP_SET_START_DATE, payload: { date }})} selectsStart startDate={new Date(voucherAdminStore.startDate)} endDate={new Date(voucherAdminStore.endDate)} />\r\n } disabled={voucherAdminStore.isLoading || voucherAdminStore.isInformationsLoading} selected={new Date(voucherAdminStore.endDate)} onChange={date => dispatch({type: VOUCHER_ADMIN_POPUP_SET_END_DATE, payload: { date }})} selectsEnd startDate={new Date(voucherAdminStore.startDate)} endDate={new Date(voucherAdminStore.endDate)} minDate={new Date(voucherAdminStore.startDate)} />\r\n
    \r\n\r\n
    \r\n
    \r\n

    Places disponibles

    \r\n Nombre de fois que ce bon peut être utilisé\r\n
    \r\n\r\n
    \r\n dispatch({type: VOUCHER_ADMIN_POPUP_SET_PLACE_AVAILABLE, payload: { placeAvailable }})} />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {voucherAdminStore.voucherId ?
    \r\n
    \r\n
    \r\n\r\n {voucherAdminStore.voucherId &&\r\n <>\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Zone de danger

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Supprimer le bon d'accès

    \r\n Cette opération est irréversible\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default OverviewVoucherAdminPopup;","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Button from '../../../../Button';\r\nimport { VOUCHER_ADMIN_POPUP_SET_ENABLED } from '../../../../redux/actions/ActionTypes';\r\nimport { openUserAdminPopup } from '../../../../redux/actions/popup/admin/UserPopupActions';\r\nimport { deleteUserVoucherAdminPopup } from '../../../../redux/actions/popup/admin/VoucherPopupActions';\r\n// Images\r\nimport Facebook from '../../../../resources/images/authentication/facebook-blue.png';\r\nimport Key from '../../../../resources/images/authentication/key.png';\r\nimport Microsoft from '../../../../resources/images/authentication/microsoft.png';\r\nimport Profile from '../../../../resources/images/profile.png';\r\nimport { convertStringToDate } from '../../../../Utils';\r\n\r\n\r\nconst UserItemVoucherAdminPopup = ({ userVoucher }) => {\r\n const dispatch = useDispatch();\r\n const { user } = userVoucher;\r\n\r\n const showUser = () => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n dispatch(openUserAdminPopup(user.id));\r\n }\r\n\r\n return (\r\n
    \r\n {`${user.firstname}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Modifier l'utilisateur
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {user.confirmed &&
    }\r\n {user.firstname} {user.lastname}\r\n
    \r\n\r\n {user.business && {user.business}}\r\n\r\n
    \r\n {user.facebook && facebook}\r\n {user.microsoft && microsoft}\r\n {user.formationAcademy && email}\r\n
    \r\n\r\n
      \r\n {user.email &&
    • {user.email}
    • }\r\n {user.phone &&
    • {user.phone}
    • }\r\n
    • Inscrit le {convertStringToDate(user.creationDate)}
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nUserItemVoucherAdminPopup.propTypes = {\r\n userVoucher: propTypes.object.isRequired\r\n};\r\n\r\nexport default UserItemVoucherAdminPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport UserAdminPanelItemLoader from '../../../../loader/UserAdminPanelItemLoader';\r\nimport UserItemVoucherAdminPopup from './UserItemVoucherAdminPopup';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst UserListVoucherAdminPopup = () => {\r\n const voucherAdminStore = useSelector(store => store.voucherAdminPopup);\r\n const { t } = useTranslation();\r\n\r\n if (!voucherAdminStore.isUsersLoading && !voucherAdminStore.users?.length)\r\n return (\r\n
    \r\n {t(\"NO_USERS_FOUND\")}\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n {voucherAdminStore.users.map(userVoucher => )}\r\n\r\n {voucherAdminStore.isUsersLoading && <>\r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default UserListVoucherAdminPopup;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport Input from '../../../Input';\r\nimport { VOUCHER_ADMIN_POPUP_SET_USERS, VOUCHER_ADMIN_POPUP_SET_USER_SEARCH_VALUE } from '../../../redux/actions/ActionTypes';\r\nimport { loadUserVoucherAdminPopup } from '../../../redux/actions/popup/admin/VoucherPopupActions';\r\nimport UserListVoucherAdminPopup from './user/UserListVoucherAdminPopup';\r\n\r\nconst UserVoucherAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const voucherAdminStore = useSelector(store => store.voucherAdminPopup);\r\n\r\n useEffect(() => {\r\n dispatch(loadUserVoucherAdminPopup(voucherAdminStore.voucherId, 0, null));\r\n\r\n return () => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_USERS, payload: { users: [] } });\r\n }\r\n }, [dispatch, voucherAdminStore.voucherId]);\r\n\r\n const onTyping = (value) => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_USERS, payload: { users: [] } });\r\n dispatch(loadUserVoucherAdminPopup(voucherAdminStore.voucherId, 0, value));\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Etudiants

    \r\n
    \r\n dispatch({ type: VOUCHER_ADMIN_POPUP_SET_USER_SEARCH_VALUE, payload: { userSearchValue } })} onTypingDelay={onTyping} />\r\n\r\n
    \r\n \r\n\r\n {voucherAdminStore.hasNext &&
    }\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default UserVoucherAdminPopup;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport AdminPopupHOC from '../../HOC/AdminPopupHOC';\r\nimport { VOUCHER_ADMIN_POPUP_RESET, VOUCHER_ADMIN_POPUP_SET_ENABLED } from '../../redux/actions/ActionTypes';\r\nimport { loadUserVoucherAdminPopup, loadVoucherAdminPopup } from '../../redux/actions/popup/admin/VoucherPopupActions';\r\nimport { ADMIN_VOUCHER_MENU_TYPE } from '../../resources/constants/adminPanel';\r\nimport CourseVoucherAdminPopup from './voucher/CourseVoucherAdminPopup';\r\nimport OverviewVoucherAdminPopup from './voucher/OverviewVoucherAdminPopup';\r\nimport UserVoucherAdminPopup from './voucher/UserVoucherAdminPopup';\r\n\r\nconst VoucherAdminPopup = () => {\r\n const dispatch = useDispatch();\r\n const voucherAdminStore = useSelector(store => store.voucherAdminPopup);\r\n\r\n useEffect(() => {\r\n if (voucherAdminStore.voucherId)\r\n dispatch(loadVoucherAdminPopup(voucherAdminStore.voucherId));\r\n\r\n return () => {\r\n dispatch({ type: VOUCHER_ADMIN_POPUP_RESET });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dispatch]);\r\n\r\n return (\r\n
    \r\n {voucherAdminStore.popupEnabled === ADMIN_VOUCHER_MENU_TYPE.OVERVIEW && }\r\n {voucherAdminStore.popupEnabled === ADMIN_VOUCHER_MENU_TYPE.COURSES && }\r\n {voucherAdminStore.popupEnabled === ADMIN_VOUCHER_MENU_TYPE.USERS && }\r\n
    \r\n );\r\n}\r\n\r\nexport default AdminPopupHOC(VoucherAdminPopup, null, 'Opération sur un bon d\\'accès', 'voucherAdminPopup', VOUCHER_ADMIN_POPUP_SET_ENABLED, null, {\r\n storeName: 'voucherAdminPopup',\r\n completion: (dispatch, store) => {\r\n if (store.popupEnabled === ADMIN_VOUCHER_MENU_TYPE.USERS) {\r\n if (!store.isUsersLoading && store.hasNext) {\r\n dispatch(loadUserVoucherAdminPopup(store.voucherId, store.pagingPage + 1, store.userSearchValue));\r\n }\r\n }\r\n }\r\n});","import React from 'react';\r\nimport { InlineWidget } from \"react-calendly\";\r\nimport PopupHOC from '../HOC/PopupHOC';\r\n\r\nconst AppointmentPopup = (props) => {\r\n return (\r\n
    \r\n
    \r\n Rencontrez le coach pour créer votre parcours\r\n
    \r\n
    \r\n

    Il est l'heure de se rencontrer

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default PopupHOC(AppointmentPopup);","import Axios from 'axios';\r\nimport { isValidPhoneNumber } from 'react-phone-number-input';\r\nimport { createNotification, isValidEmail } from '../../../Utils';\r\nimport { INBOUND_POPUP_COMPANY_CHECK, INBOUND_POPUP_EMAIL_CHECK, INBOUND_POPUP_FIRSTNAME_CHECK, INBOUND_POPUP_LASTNAME_CHECK, INBOUND_POPUP_PHONE_CHECK, INBOUND_POPUP_SET_COMPLETION, INBOUND_POPUP_SET_COURSE_TITLE, INBOUND_POPUP_SET_ENABLED, INBOUND_POPUP_SET_LOADING, INBOUND_POPUP_SET_SAVED } from '../ActionTypes'\r\nimport Cookies from 'js-cookie';\r\nimport i18n from 'i18next';\r\n\r\nconst hubspotParams = (state) => {\r\n console.log(state);\r\n const params = {};\r\n\r\n params.fields = [\r\n {\r\n name: 'email',\r\n value: state.email\r\n },\r\n {\r\n name: 'firstname',\r\n value: state.firstname\r\n },\r\n {\r\n name: 'lastname',\r\n value: state.lastname\r\n },\r\n {\r\n name: 'phone',\r\n value: state.phone\r\n },\r\n {\r\n name: 'company',\r\n value: state.company\r\n },\r\n {\r\n name: 'nom_formation',\r\n value: state.courseTitle\r\n }\r\n ]\r\n\r\n const hbToken = Cookies.get('hubspotutk');\r\n if (hbToken)\r\n params.context = {\r\n hutk: hbToken\r\n }\r\n\r\n if (state.isRegistration)\r\n params.fields.push({\r\n name: 'inscription',\r\n value: state.isRegistration\r\n })\r\n\r\n if (state.jobStatus && state.jobStatus.label)\r\n params.fields.push({\r\n name: 'job_status',\r\n value: state.jobStatus.label\r\n })\r\n\r\n return params\r\n}\r\n\r\nexport const showInboundPopup = (state, courseTitle, action) => async dispatch => {\r\n if (!state.saved || !state.email) {\r\n dispatch({ type: INBOUND_POPUP_SET_COURSE_TITLE, payload: { title: courseTitle } });\r\n dispatch({ type: INBOUND_POPUP_SET_ENABLED, payload: { isEnabled: true } });\r\n dispatch({ type: INBOUND_POPUP_SET_COMPLETION, payload: { completion: action } });\r\n } else {\r\n action();\r\n\r\n Axios.post(`https://api.hsforms.com/submissions/v3/integration/submit/19635892/8c9a6c9f-2321-4de6-91d0-8b3cbe91c2c4`, hubspotParams(state))\r\n }\r\n}\r\n\r\nexport const downloadInboundCourse = (state, completion) => async dispatch => {\r\n const isEmailValid = isValidEmail(state.email);\r\n const isFirstnameValid = !state.firstname || (state.firstname.length >= 3 && state.firstname.length <= 50);\r\n const isLastnameValid = !state.lastname || (state.lastname.length >= 3 && state.lastname.length <= 50);\r\n const isPhoneValid = !state.phone || isValidPhoneNumber(`+${state.phone}`);\r\n const isCompanyValid = !state.company || (state.company.length >= 3 && state.company.length <= 50);\r\n\r\n dispatch({ type: INBOUND_POPUP_EMAIL_CHECK, payload: { isValid: isEmailValid } });\r\n dispatch({ type: INBOUND_POPUP_FIRSTNAME_CHECK, payload: { isValid: isFirstnameValid } });\r\n dispatch({ type: INBOUND_POPUP_LASTNAME_CHECK, payload: { isValid: isLastnameValid } });\r\n dispatch({ type: INBOUND_POPUP_PHONE_CHECK, payload: { isValid: isPhoneValid } });\r\n dispatch({ type: INBOUND_POPUP_COMPANY_CHECK, payload: { isValid: isCompanyValid } });\r\n\r\n if (isEmailValid && isFirstnameValid && isLastnameValid && isPhoneValid && isCompanyValid) {\r\n dispatch({ type: INBOUND_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n dispatch({ type: INBOUND_POPUP_SET_SAVED, payload: { saved: true } });\r\n dispatch({ type: INBOUND_POPUP_SET_ENABLED, payload: { isEnabled: false } });\r\n\r\n if (completion) completion();\r\n }\r\n}","export const JOB_STATUS = [\r\n { value: 'Indépendant/Freelance', label: 'Indépendant/Freelance' },\r\n { value: 'Responsable/Manager', label: 'Responsable/Manager' },\r\n { value: 'Employé', label: 'Employé' },\r\n { value: 'Autres', label: 'Autres' }\r\n];","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../Button';\r\nimport PopupHOC from '../HOC/PopupHOC';\r\nimport Input from '../Input';\r\nimport InputPhone from '../InputPhone';\r\nimport { INBOUND_POPUP_SET_COMPANY, INBOUND_POPUP_SET_EMAIL, INBOUND_POPUP_SET_FIRSTNAME, INBOUND_POPUP_SET_JOB_STATUS, INBOUND_POPUP_SET_LASTNAME, INBOUND_POPUP_SET_PHONE } from '../redux/actions/ActionTypes';\r\nimport { downloadInboundCourse } from '../redux/actions/popup/InboundActions';\r\nimport Select from 'react-select';\r\nimport { JOB_STATUS } from '../resources/constants/job';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst InboundPopup = (props) => {\r\n const dispatch = useDispatch();\r\n const inboundStore = useSelector(store => store.inboundPopup);\r\n const { t } = useTranslation();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n dispatch(downloadInboundCourse(inboundStore, inboundStore.completion))\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n Entrez vos informations pour obtenir le programme\r\n
    \r\n
    \r\n

    Vous y êtes presque...

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n dispatch({ type: INBOUND_POPUP_SET_EMAIL, payload: { email } })} type={'text'} autocomplete={'email'} disabled={inboundStore.isLoading} error={!inboundStore.isEmailValid} helperText={t(\"HELPER_EMAIL\")} />\r\n\r\n
    \r\n dispatch({ type: INBOUND_POPUP_SET_FIRSTNAME, payload: { firstname } })} type={'text'} autocomplete={'given-name'} disabled={inboundStore.isLoading} error={!inboundStore.isFirstnameValid} helperText={t(\"HELPER_FIRSTNAME\")} />\r\n dispatch({ type: INBOUND_POPUP_SET_LASTNAME, payload: { lastname } })} type={'text'} autocomplete={'family-name'} disabled={inboundStore.isLoading} error={!inboundStore.isLastnameValid} helperText={t(\"HELPER_LASTNAME\")} />\r\n
    \r\n\r\n
    \r\n dispatch({ type: INBOUND_POPUP_SET_PHONE, payload: { phone } })} error={!inboundStore.isPhoneValid} helperText={t(\"HELPER_PHONE\")} disabled={inboundStore.isLoading} />\r\n dispatch({ type: INBOUND_POPUP_SET_COMPANY, payload: { company } })} type={'text'} autocomplete={'organization'} disabled={inboundStore.isLoading} error={!inboundStore.isCompanyValid} helperText={t(\"HELPER_COMPANY\")} />\r\n\r\n \r\n
    \r\n dispatch({ type: INBOUND_POPUP_SET_JOB_STATUS, payload: { jobStatus: option } })}\r\n options={JOB_STATUS}\r\n placeholder={'Fonction dans l\\'entreprise'}\r\n className={'selector'}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n );\r\n}\r\n\r\nexport default PopupHOC(InboundPopup);","import Guillaume from '../images/solution/interview/guillaume-2.png';\r\nimport Patrice from '../images/solution/interview/patrice-2.png';\r\nimport Sarah from '../images/solution/interview/sarah-2.png';\r\n\r\nexport const INTERVIEW = [\r\n {\r\n 'name': \"Guillaume\",\r\n 'picture': Guillaume,\r\n 'comment': 'Quand tu n’as pas compris certains points, tu peux revenir en arrière quand tu as envie et ça, c’est top !',\r\n 'video': 'https://www.youtube.com/watch?v=5aO4p5t_qOY'\r\n },\r\n {\r\n 'name': \"Patrice\",\r\n 'picture': Patrice,\r\n 'comment': 'Ça donne la niac! Les méthodes données par le formateur sont plus que des clés. Les trucs se sont clarifiés et j’aurai désormais plus facile à mettre en place les concepts.',\r\n 'video': 'https://www.youtube.com/watch?v=CDrqFDv7fEo'\r\n },\r\n {\r\n 'name': \"Sarah\",\r\n 'picture': Sarah,\r\n 'comment': 'Si il y a des jours où j’ai plus de travail, je peux décaler la formation & m’y remettre plus tard. C’est important que le formateur soit disponible comme il l’a été.',\r\n 'video': 'https://www.youtube.com/watch?v=ZRYcFErJaug'\r\n }\r\n]","export default __webpack_public_path__ + \"static/media/guillaume-2.abb8f903.png\";","export default __webpack_public_path__ + \"static/media/patrice-2.a31bc400.png\";","export default __webpack_public_path__ + \"static/media/sarah-2.c7c82080.png\";","import React, { useRef } from 'react';\r\nimport ReactPlayer from 'react-player';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport { INTERVIEW_POPUP_SET_INTERVIEW_ID } from '../redux/actions/ActionTypes';\r\nimport { INTERVIEW } from '../resources/constants/interview';\r\n\r\nconst InterviewPopup = ({ enabled }) => {\r\n const interviewStore = useSelector(store => store.interviewPopup);\r\n const dispatch = useDispatch();\r\n const nodeRef = useRef(null);\r\n\r\n const interview = INTERVIEW[interviewStore.interviewId];\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n

    \r\n Témoignage de {interview?.name}\r\n \r\n
    \r\n

    Témoignage de {interview?.name}

    \r\n
    \r\n

    \r\n\r\n
    dispatch({type: INTERVIEW_POPUP_SET_INTERVIEW_ID, payload: { interviewId: null }})}>
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default InterviewPopup;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport PopupHOC from '../HOC/PopupHOC';\r\nimport BasicLoader from '../loader/BasicLoader';\r\nimport VideoPlayer from '../VideoPlayer';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst PreviewPopup = (props) => {\r\n const previewStore = useSelector(store => store.previewPopup);\r\n const { t } = useTranslation();\r\n\r\n if (previewStore.isLoading || !previewStore.lecture)\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n {t(\"PREVIEW_LECTURE\")}\r\n
    \r\n
    \r\n

    {previewStore.lecture.title}

    \r\n
    \r\n
    \r\n
    \r\n\r\n {previewStore.lecture?.description ?
    \r\n Objectifs\r\n\r\n

    {previewStore.lecture.description}

    \r\n
    : null}\r\n\r\n {previewStore.lecture?.videoResourceId ? : null}\r\n
    \r\n );\r\n}\r\n\r\nexport default PopupHOC(PreviewPopup);","import Axios from 'axios';\r\nimport { REGISTER_POPUP_STEP } from '../../../resources/constants/signPopupType';\r\nimport AuthenticationService from '../../../services/Authentication';\r\nimport { createNotification, isValidEmail, isValidPassword } from '../../../Utils';\r\nimport { SIGN_POPUP_COMPANY_CHECK, SIGN_POPUP_EMAIL_CHECK, SIGN_POPUP_FIRSTNAME_CHECK, SIGN_POPUP_LASTNAME_CHECK, SIGN_POPUP_PASSWORD_CHECK, SIGN_POPUP_PHONE_CHECK, SIGN_POPUP_SET_ENABLED, SIGN_POPUP_SET_LOADING, SIGN_POPUP_SET_REGISTER_STEP, SIGN_POPUP_UPDATE_PASSWORD_NEW_PASSWORD_CHECK, SIGN_POPUP_UPDATE_PASSWORD_RENEW_PASSWORD_CHECK } from '../ActionTypes';\r\nimport { isValidPhoneNumber } from 'react-phone-number-input';\r\nimport i18n from 'i18next';\r\n\r\n// LOGIN\r\nexport const connectWithEmail = (signStore) => async dispatch => {\r\n const isEmailValid = isValidEmail(signStore.email);\r\n const isValidPassword = signStore.password && signStore.password.length >= 6 && signStore.password.length <= 100;\r\n\r\n if (!isEmailValid)\r\n dispatch({ type: SIGN_POPUP_EMAIL_CHECK, payload: { isValid: false, text: i18n.t(\"HELPER_EMAIL\") } });\r\n\r\n if (!isValidPassword)\r\n dispatch({ type: SIGN_POPUP_PASSWORD_CHECK, payload: { isValid: false, text: i18n.t(\"HELPER_PASSWORD_WRONG\") } });\r\n\r\n if (isEmailValid && isValidPassword) {\r\n dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.post(`user/connect/email`, {\r\n email: signStore.email,\r\n password: signStore.password,\r\n ...AuthenticationService.GetDeviceInformations()\r\n }).then(({ data }) => {\r\n AuthenticationService.Login(data.user, data.token);\r\n window.location.href = '/dashboard';\r\n }).catch(({ response }) => {\r\n dispatch({ type: SIGN_POPUP_EMAIL_CHECK, payload: { isValid: false } });\r\n dispatch({ type: SIGN_POPUP_PASSWORD_CHECK, payload: { isValid: false, text: (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\") } });\r\n }).finally(() => {\r\n dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const connectWithFacebook = (data) => async dispatch => {\r\n Axios.post(`user/connect/facebook`,\r\n { token: data.accessToken, ...AuthenticationService.GetDeviceInformations() }\r\n ).then(({ data }) => {\r\n AuthenticationService.Login(data.user, data.token);\r\n window.location.href = '/dashboard';\r\n }).finally(() => {\r\n dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const connectWithMicrosoft = (err, authData) => async dispatch => {\r\n if (err) {\r\n alert('Ce navigateur bloque les popup. Désactiver cette restriction dans les préférences ou changer de navigateur.');\r\n dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n } else {\r\n Axios.post(`user/connect/microsoft`, {\r\n token: authData.accessToken, ...AuthenticationService.GetDeviceInformations()\r\n }).then(({ data }) => {\r\n AuthenticationService.Login(data.user, data.token);\r\n window.location.href = '/dashboard';\r\n }).finally(() => {\r\n dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\n// REGISTER\r\nexport const registerEmailFree = (email) => async dispatch => {\r\n Axios.get(`user/email/free`, {\r\n params: {\r\n email\r\n }\r\n }).then(({ data }) => {\r\n if (data.isFree) {\r\n dispatch({ type: SIGN_POPUP_EMAIL_CHECK, payload: { isValid: true, isEmailFree: true } });\r\n } else {\r\n dispatch({ type: SIGN_POPUP_EMAIL_CHECK, payload: { isValid: false, isEmailFree: false, text: `Cette adresse email a déjà été utilisée.` } });\r\n }\r\n })\r\n}\r\n\r\nconst registerGeneralChecking = (signStore) => async dispatch => {\r\n const isFirstnameValid = signStore.firstname && signStore.firstname.length >= 3 && signStore.firstname.length <= 50;\r\n const isLastnameValid = signStore.lastname && signStore.lastname.length >= 3 && signStore.lastname.length <= 50;\r\n\r\n dispatch({ type: SIGN_POPUP_FIRSTNAME_CHECK, payload: { isValid: isFirstnameValid } });\r\n dispatch({ type: SIGN_POPUP_LASTNAME_CHECK, payload: { isValid: isLastnameValid } });\r\n\r\n if (!signStore.isEmailFree) {\r\n dispatch({ type: SIGN_POPUP_EMAIL_CHECK, payload: { isValid: false, text: `Cette adresse email n'est pas correcte.` } });\r\n }\r\n\r\n return isFirstnameValid && isLastnameValid && signStore.isEmailFree;\r\n}\r\n\r\nconst registerPasswordChecking = (signStore) => async dispatch => {\r\n const isPasswordValid = isValidPassword(signStore.password);\r\n\r\n dispatch({ type: SIGN_POPUP_PASSWORD_CHECK, payload: { isValid: isPasswordValid, text: `Le mot de de passe doit être plus sécurisé.` } });\r\n\r\n return isPasswordValid;\r\n}\r\n\r\nconst registerExtraStepChecking = (signStore) => async dispatch => {\r\n const isPhoneValid = !signStore.phone || isValidPhoneNumber(`+${signStore.phone}`);\r\n const isCompanyValid = !signStore.company || (signStore.company.length >= 3 && signStore.company.length <= 50);\r\n\r\n dispatch({ type: SIGN_POPUP_PHONE_CHECK, payload: { isValid: isPhoneValid } });\r\n dispatch({ type: SIGN_POPUP_COMPANY_CHECK, payload: { isValid: isCompanyValid } });\r\n\r\n if (isPhoneValid && isCompanyValid) {\r\n dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n Axios.post(`user/register/email`, {\r\n email: signStore.email,\r\n firstname: signStore.firstname,\r\n lastname: signStore.lastname,\r\n password: signStore.password,\r\n phone: signStore.phone || null,\r\n company: signStore.company || null,\r\n ...AuthenticationService.GetDeviceInformations()\r\n }).then(({ data }) => {\r\n AuthenticationService.Login(data.user, data.token);\r\n window.location.href = '/dashboard';\r\n }).finally(() => {\r\n dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const registerNextStep = (signStore) => async dispatch => {\r\n switch (signStore.registerStep) {\r\n case REGISTER_POPUP_STEP.GENERAL:\r\n if (await dispatch(registerGeneralChecking(signStore)))\r\n dispatch({ type: SIGN_POPUP_SET_REGISTER_STEP, payload: { step: REGISTER_POPUP_STEP.PASSWORD } });\r\n break;\r\n case REGISTER_POPUP_STEP.PASSWORD:\r\n if (await dispatch(registerPasswordChecking(signStore)))\r\n dispatch({ type: SIGN_POPUP_SET_REGISTER_STEP, payload: { step: REGISTER_POPUP_STEP.EXTRA } });\r\n break;\r\n case REGISTER_POPUP_STEP.EXTRA:\r\n await dispatch(registerExtraStepChecking(signStore));\r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\nexport const registerPreviousStep = signStore => async dispatch => {\r\n if (signStore.registerStep > 0)\r\n dispatch({ type: SIGN_POPUP_SET_REGISTER_STEP, payload: { step: signStore.registerStep - 1 } });\r\n}\r\n\r\n// RESET\r\nexport const resetPopupSendPassword = (signStore) => async dispatch => {\r\n const isEmailValid = isValidEmail(signStore.email);\r\n\r\n if (!isEmailValid)\r\n dispatch({ type: SIGN_POPUP_EMAIL_CHECK, payload: { isValid: false, text: i18n.t(\"HELPER_EMAIL\") } });\r\n\r\n if (isEmailValid) {\r\n dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.post(`user/password/recovery`, {\r\n email: signStore.email\r\n }).then(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_SUCCESS_TITLE\"), i18n.t(\"RESET_PASSWORD_EMAIL_SENT\"), 'success');\r\n dispatch({ type: SIGN_POPUP_SET_ENABLED, payload: { type: null } });\r\n }).catch(({ response }) => {\r\n dispatch({ type: SIGN_POPUP_EMAIL_CHECK, payload: { isValid: false, text: (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\") } });\r\n }).finally(() => {\r\n dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}\r\n\r\nexport const resetPopupUpdatePassword = (signStore, token) => async dispatch => {\r\n const isNewPasswordValid = isValidPassword(signStore.newPassword);\r\n const isRenewPasswordValid = signStore.newPassword === signStore.renewPassword;\r\n\r\n dispatch({ type: SIGN_POPUP_UPDATE_PASSWORD_NEW_PASSWORD_CHECK, payload: { isValid: isNewPasswordValid } });\r\n dispatch({ type: SIGN_POPUP_UPDATE_PASSWORD_RENEW_PASSWORD_CHECK, payload: { isValid: isRenewPasswordValid } });\r\n\r\n if (isNewPasswordValid && isRenewPasswordValid) {\r\n dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.post(`user/password/recovery/change`, {\r\n token,\r\n newPassword: signStore.newPassword\r\n }).then(({ data }) => {\r\n AuthenticationService.Login(data.user, data.token);\r\n window.location.href = '/dashboard';\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n }\r\n}","import React from 'react';\r\nimport MicrosoftLogin from 'react-microsoft-login';\r\nimport FacebookLogin from 'react-facebook-login';\r\nimport propTypes from 'prop-types';\r\nimport PopupHOC from './PopupHOC';\r\nimport { useDispatch } from 'react-redux';\r\nimport { SIGN_POPUP_SET_LOADING } from '../redux/actions/ActionTypes';\r\nimport { connectWithFacebook, connectWithMicrosoft } from '../redux/actions/popup/SignActions';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n// Images\r\nimport FacebookIcon from '../resources/images/authentication/facebook.png';\r\nimport MicrosoftIcon from '../resources/images/authentication/microsoft.png';\r\n\r\nconst SignPopupHOC = (WrappedComponent, title, SubTitleComponent) => {\r\n const HOC = (props) => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const { t } = useTranslation()\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {t(title)}

    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n OU\r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n textButton={'Facebook'}\r\n callback={(authData) => dispatch(connectWithFacebook(authData))}\r\n isDisabled={props.isLoading}\r\n onClick={() => dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: true } })}\r\n onFailure={() => dispatch({ type: SIGN_POPUP_SET_LOADING, payload: { isLoading: false } })}\r\n isMobile={false}\r\n />\r\n\r\n
    history.push('/')}>\r\n dispatch(connectWithMicrosoft(err, authData))}\r\n children={}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n HOC.propTypes = {\r\n isLoading: propTypes.bool\r\n };\r\n\r\n return PopupHOC(HOC);\r\n}\r\n\r\nexport default SignPopupHOC;","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport SignPopupHOC from '../../HOC/SignPopupHOC';\r\nimport Input from '../../Input';\r\nimport { SIGN_POPUP_SET_EMAIL, SIGN_POPUP_SET_PASSWORD, SIGN_POPUP_SET_ENABLED } from '../../redux/actions/ActionTypes';\r\nimport { connectWithEmail } from '../../redux/actions/popup/SignActions';\r\nimport { SIGN_POPUP_POPUP_TYPE } from '../../resources/constants/signPopupType';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst LoginPopup = () => {\r\n const dispatch = useDispatch();\r\n const signStore = useSelector(store => store.signPopup);\r\n const { t } = useTranslation();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n dispatch(connectWithEmail(signStore));\r\n }\r\n\r\n return (\r\n
    \r\n dispatch({ type: SIGN_POPUP_SET_EMAIL, payload: { email } })} type={'text'} autocomplete={'email'} disabled={signStore.isLoading} error={!signStore.isEmailValid} helperText={signStore.emailHelperText} />\r\n dispatch({ type: SIGN_POPUP_SET_PASSWORD, payload: { password } })} type={'password'} autocomplete={'current-password'} disabled={signStore.isLoading} error={!signStore.isPasswordValid} helperText={signStore.passwordHelperText} passwordToggle />\r\n\r\n
    \r\n \r\n );\r\n}\r\n\r\nconst SignUpSubTitle = () => {\r\n const dispatch = useDispatch();\r\n const { t } = useTranslation();\r\n \r\n return ({t(\"SIGN_ALREADY_REGISTERED\")} dispatch({ type: SIGN_POPUP_SET_ENABLED, payload: { type: SIGN_POPUP_POPUP_TYPE.LOGIN } })}>{t(\"LOGIN\")})\r\n}\r\n\r\nexport default SignPopupHOC(RegisterPopup, 'REGISTRATION', SignUpSubTitle);","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport SignPopupHOC from '../../HOC/SignPopupHOC';\r\nimport Input from '../../Input';\r\nimport { SIGN_POPUP_SET_EMAIL, SIGN_POPUP_SET_ENABLED } from '../../redux/actions/ActionTypes';\r\nimport { resetPopupSendPassword } from '../../redux/actions/popup/SignActions';\r\nimport { SIGN_POPUP_POPUP_TYPE } from '../../resources/constants/signPopupType';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst ResetPopup = () => {\r\n const dispatch = useDispatch();\r\n const signStore = useSelector(store => store.signPopup);\r\n const { t } = useTranslation();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n dispatch(resetPopupSendPassword(signStore));\r\n }\r\n\r\n return (\r\n
    \r\n dispatch({ type: SIGN_POPUP_SET_EMAIL, payload: { email } })} type={'text'} autocomplete={'email'} disabled={signStore.isLoading} error={!signStore.isEmailValid} helperText={signStore.emailHelperText} />\r\n\r\n
    \r\n );\r\n}\r\n\r\nexport default VoucherAddedList;","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport Input from '../../Input';\r\nimport { VOUCHER_POPUP_SET_VOUCHERS_CODE } from '../../redux/actions/ActionTypes';\r\nimport { voucherPopupApplyCode } from '../../redux/actions/popup/VoucherActions';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst VoucherForm = () => {\r\n const dispatch = useDispatch();\r\n const voucherStore = useSelector(store => store.voucherPopup);\r\n const { t } = useTranslation();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n dispatch(voucherPopupApplyCode(voucherStore.voucherCode));\r\n }\r\n\r\n return (\r\n
    \r\n dispatch({ type: VOUCHER_POPUP_SET_VOUCHERS_CODE, payload: { code } })} type={'text'} disabled={voucherStore.isLoading} error={!voucherStore.isVoucherCodeValid} helperText={voucherStore.voucherHelperText} />\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nPreviewMoreInformation.propTypes = {\r\n courseId: propTypes.string.isRequired\r\n};\r\n\r\nexport default PreviewMoreInformation;","import React, { useEffect, useRef, useState } from 'react';\r\nimport propTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst PreviewSpecification = ({ title, icon, items }) => {\r\n const descriptionRef = useRef();\r\n const [seeMoreAvailable, setSeeMoreAvailable] = useState(false);\r\n const [extended, setExtended] = useState(false);\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n if (descriptionRef.current.scrollHeight > descriptionRef.current.offsetHeight)\r\n setSeeMoreAvailable(true);\r\n }, [descriptionRef]);\r\n\r\n return (\r\n
    \r\n

    {title}

    \r\n
      \r\n {items.map(item =>
    • {item.label}
    • )}\r\n
    \r\n {seeMoreAvailable ?
    setExtended(!extended)}>{extended ? t(\"SEE_LESS\") : t(\"SEE_MORE\")}
    : null}\r\n
    \r\n );\r\n}\r\n\r\nPreviewSpecification.propTypes = {\r\n title: propTypes.string.isRequired,\r\n icon: propTypes.string.isRequired,\r\n items: propTypes.array.isRequired\r\n};\r\n\r\nexport default PreviewSpecification;","import React from 'react';\r\nimport propTypes from 'prop-types';\r\nimport { convertSecondToTime } from '../../../Utils';\r\nimport { useDispatch } from 'react-redux';\r\nimport { loadPreviewLecture } from '../../../redux/actions/popup/PreviewActions';\r\nimport ReactMarkdown from 'react-markdown';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst PreviewLecture = ({ lecture, inboundMode = false }) => {\r\n const dispatch = useDispatch();\r\n const { t } = useTranslation();\r\n\r\n const onClick = () => {\r\n if (lecture.free)\r\n dispatch(loadPreviewLecture(lecture.id));\r\n }\r\n\r\n return (\r\n
  • \r\n
    \r\n {!inboundMode &&
    }\r\n {lecture.title}\r\n\r\n {lecture.description && inboundMode &&
    {lecture.description}
    }\r\n
    \r\n\r\n
    \r\n {lecture.free && {t(\"FREE\")}}\r\n {lecture.secondDuration ? {convertSecondToTime(lecture.secondDuration)} : null}\r\n
    \r\n
  • \r\n );\r\n}\r\n\r\nPreviewLecture.propTypes = {\r\n lecture: propTypes.object.isRequired\r\n};\r\n\r\nexport default PreviewLecture;","import Axios from \"axios\";\r\nimport { createNotification } from \"../../../Utils\";\r\nimport { PREVIEW_POPUP_SET_ENABLED, PREVIEW_POPUP_SET_LECTURE, PREVIEW_POPUP_SET_LOADING } from \"../ActionTypes\"\r\nimport i18n from 'i18next';\r\n\r\nexport const loadPreviewLecture = (lectureId) => async dispatch => {\r\n dispatch({ type: PREVIEW_POPUP_SET_ENABLED, payload: { isEnabled: true } });\r\n dispatch({ type: PREVIEW_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`lecture/${lectureId}/preview`)\r\n .then(({ data }) => {\r\n dispatch({ type: PREVIEW_POPUP_SET_LECTURE, payload: { lecture: data } });\r\n }).catch(() => {\r\n dispatch({ type: PREVIEW_POPUP_SET_ENABLED, payload: { isEnabled: false } });\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"PREVIEW_LECTURE_NOT_FOUND\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: PREVIEW_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n })\r\n}","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useDispatch } from 'react-redux';\r\nimport { convertSecondToAverageTime } from '../../../Utils';\r\nimport { PREVIEW_PANEL_TOGGLE_SECTION } from '../../../redux/actions/ActionTypes';\r\nimport PreviewLecture from './PreviewLecture';\r\n\r\nconst PreviewSection = ({ section, isExtended, inboundMode = false }) => {\r\n const dispatch = useDispatch();\r\n const totalMinutesSection = section.lecture.map(lecture => parseInt(lecture.secondDuration)).reduce((a, b) => a + b, 0);\r\n const { t } = useTranslation();\r\n\r\n // if (!totalMinutesSection)\r\n // return (\r\n //
    \r\n //
    \r\n //
    \r\n // {section.name}\r\n //
    \r\n //
    \r\n //
    \r\n // );\r\n\r\n return (\r\n
    \r\n
    dispatch({ type: PREVIEW_PANEL_TOGGLE_SECTION, payload: { id: section.id } })}>\r\n
    \r\n {section.name}\r\n {totalMinutesSection ? <>\r\n
    \r\n {section.lecture.length} {section.lecture.length > 1 ? t(\"LECTURES\") : t(\"LECTURE\")} {totalMinutesSection ? `- ${convertSecondToAverageTime(totalMinutesSection)}` : null}\r\n : null}\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
      \r\n {section.lecture.map(lecture => )}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nPreviewSection.propTypes = {\r\n section: propTypes.object.isRequired,\r\n isExtended: propTypes.bool\r\n};\r\n\r\nexport default PreviewSection;","import React from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport { PREVIEW_PANEL_TOGGLE_EXTEND_SECTIONS } from '../../../redux/actions/ActionTypes';\r\nimport PreviewSection from './PreviewSection';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst PreviewDetail = () => {\r\n const dispatch = useDispatch();\r\n const previewStore = useSelector(store => store.previewPanel);\r\n const { t } = useTranslation();\r\n\r\n if (previewStore.course.section.length)\r\n return (\r\n
    \r\n dispatch({ type: PREVIEW_PANEL_TOGGLE_EXTEND_SECTIONS, payload: { extend: !previewStore.isAllSectionExtended } })}>{previewStore.isAllSectionExtended ? t(\"PREVIEW_REDUCE_SECTIONS\") : t(\"PREVIEW_EXTEND_SECTIONS\")}\r\n { previewStore.course.section.map(section => )}\r\n
    \r\n );\r\n\r\n if (previewStore.course.manualPDF)\r\n return \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n

    Paramètres

    \r\n
    \r\n
    \r\n

    Leçon gratuite

    \r\n \r\n Déterminez si cette leçon est accessible à toutes personnes souhaitant la visionner\r\n \r\n
    \r\n\r\n dispatch(updateLectureFreeAdmin(lectureStore.lecture.id, !lectureStore.lecture.free))} />\r\n
    \r\n\r\n
    \r\n
    \r\n

    Supprimer la leçon

    \r\n \r\n Cette opération est irréversible.\r\n \r\n
    \r\n\r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default LectureAddResource;","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport propTypes from 'prop-types';\r\nimport Button from '../../../Button';\r\nimport { deleteResource, updateResourcePositionAdmin } from '../../../redux/actions/admin/LectureAdminActions';\r\nimport { LECTURE_TYPE } from '../../../resources/constants/lectureType';\r\nimport { ReactSortable } from 'react-sortablejs';\r\nimport { LECTURE_PANEL_ADMIN_SET_DOCUMENTATIONS } from '../../../redux/actions/ActionTypes';\r\n\r\nconst LectureDocumentation = ({ admin }) => {\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const dispatch = useDispatch();\r\n\r\n const onPositionUpdate = (e) => {\r\n const movedItem = lectureStore.lecture.documentations[e.newIndex];\r\n dispatch(updateResourcePositionAdmin(movedItem.id, e.newIndex));\r\n }\r\n\r\n return (\r\n
    \r\n
    Documentation
    \r\n\r\n
      \r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_DOCUMENTATIONS, payload: { documentations } })} onEnd={onPositionUpdate}>\r\n {lectureStore.lecture.documentations.map(documentation =>\r\n
    • \r\n \r\n
      \r\n {documentation.title}\r\n
      \r\n\r\n {admin &&
    • )}\r\n
      \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nLectureDocumentation.propTypes = {\r\n admin: propTypes.bool\r\n};\r\n\r\nexport default LectureDocumentation;","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport propTypes from 'prop-types';\r\nimport { ReactSortable } from 'react-sortablejs';\r\nimport Button from '../../../Button';\r\nimport { LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILES } from '../../../redux/actions/ActionTypes';\r\nimport { deleteResource, updateResourcePositionAdmin } from '../../../redux/actions/admin/LectureAdminActions';\r\nimport { LECTURE_TYPE } from '../../../resources/constants/lectureType';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst LectureDownloadFile = ({ admin }) => {\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const { t } = useTranslation();\r\n\r\n const onPositionUpdate = (e) => {\r\n const movedItem = lectureStore.lecture.downloads[e.newIndex];\r\n dispatch(updateResourcePositionAdmin(movedItem.id, e.newIndex));\r\n }\r\n\r\n return (\r\n
    \r\n
    {t(\"FILES_TO_DOWNLOAD\")}
    \r\n\r\n
      \r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_DOWNLOAD_FILES, payload: { downloads } })} onEnd={onPositionUpdate}>\r\n {lectureStore.lecture.downloads.map(file =>\r\n
    • \r\n \r\n
      \r\n {file.title}\r\n
      \r\n\r\n {admin &&
    • )}\r\n
      \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nLectureDownloadFile.propTypes = {\r\n admin: propTypes.bool\r\n};\r\n\r\nexport default LectureDownloadFile;","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { ReactSortable } from 'react-sortablejs';\r\nimport Button from '../../../Button';\r\nimport { updateResourcePositionAdmin } from '../../../redux/actions/admin/LectureAdminActions';\r\nimport { markLectureAsDone } from '../../../redux/actions/dashboard/LectureActions';\r\nimport { LECTURE_TYPE } from '../../../resources/constants/lectureType';\r\nimport { createNotification } from '../../../Utils';\r\nimport VideoPlayer from '../../../VideoPlayer';\r\nimport LectureAdditional from './LectureAdditional';\r\nimport LectureAddResource from './LectureAddResource';\r\nimport LectureDocumentation from './LectureDocumentation';\r\nimport LectureDownloadFile from './LectureDownloadFile';\r\nimport LectureEmbedPage from './LectureEmbedPage';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst LectureDefaultContent = ({ admin, lectureId, userCourseId }) => {\r\n const { t } = useTranslation();\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const history = useHistory();\r\n const [groupedMainResources, setGroupedMainResources] = useState([]);\r\n const lectures = lectureStore.menu?.sections?.map(s => s.lectures).flat(1);\r\n let isLast;\r\n if (lectures) {\r\n const lectureIndex = lectures.findIndex(l => l.id === parseInt(lectureId))\r\n isLast = lectureIndex < 0 || !lectures[lectureIndex + 1];\r\n }\r\n\r\n useEffect(() => {\r\n if (lectureStore.lecture)\r\n setGroupedMainResources(lectureStore.lecture.videos.concat(lectureStore.lecture.embedPages).sort((a, b) => (a.level > b.level) ? 1 : -1));\r\n }, [lectureStore.lecture]);\r\n\r\n const onDone = async () => {\r\n const nextLectureId = await dispatch(markLectureAsDone(userCourseId, lectureStore.currentLectureId));\r\n\r\n if (nextLectureId) {\r\n history.push(`${nextLectureId}`);\r\n } else {\r\n history.push('/dashboard');\r\n createNotification(t(\"NOTIFICATION_SUCCESS_TITLE\"), t(\"LECTURE_DONE\"), 'success');\r\n }\r\n }\r\n\r\n const onPositionUpdate = (e) => {\r\n const movedItem = groupedMainResources[e.newIndex];\r\n dispatch(updateResourcePositionAdmin(movedItem.id, e.newIndex));\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n {!admin && !lectureStore.lecture.isDone &&
    \r\n\r\n setGroupedMainResources(e)} onEnd={onPositionUpdate}>\r\n {groupedMainResources.map(r => {\r\n if (r.type === LECTURE_TYPE.VIDEO)\r\n return \r\n\r\n if (r.type === LECTURE_TYPE.EMBEDPAGE)\r\n return ;\r\n\r\n return null\r\n })}\r\n \r\n\r\n {lectureStore.lecture.pictures && lectureStore.lecture.pictures.length ? : null}\r\n {lectureStore.lecture.downloads && lectureStore.lecture.downloads.length ? : null}\r\n {lectureStore.lecture.documentations && lectureStore.lecture.documentations.length ? : null}\r\n\r\n {admin && }\r\n\r\n
    \r\n {!admin && !lectureStore.lecture.isDone &&
    \r\n \r\n )\r\n}\r\n\r\nexport default LectureDefaultContent;","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Input from '../../../Input';\r\nimport propTypes from 'prop-types';\r\nimport { LECTURE_PANEL_ADMIN_SET_EDITING_DESCRIPTION_STATUS, LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_DESCRIPTION } from '../../../redux/actions/ActionTypes';\r\nimport { updateLectureDescriptionAdmin } from '../../../redux/actions/admin/LectureAdminActions';\r\nimport ReactMarkdown from 'react-markdown';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst LectureDescription = ({ admin }) => {\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const { t } = useTranslation();\r\n\r\n const onLectureDescriptionEditing = () => {\r\n if (!lectureStore.isEditingDescription)\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_DESCRIPTION, payload: { description: lectureStore.lecture.description } });\r\n\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_EDITING_DESCRIPTION_STATUS, payload: { isEditing: !lectureStore.isEditingDescription } });\r\n }\r\n\r\n const updateLectureDescription = (e) => {\r\n e.preventDefault();\r\n\r\n dispatch(updateLectureDescriptionAdmin(lectureStore.lecture.id, lectureStore.editingLectureDescription));\r\n }\r\n\r\n if (!admin && (!lectureStore.lecture || !lectureStore.lecture.description))\r\n return null;\r\n\r\n return (\r\n
    \r\n {t(\"GOAL\")}\r\n {admin && En laissant ce champ vide, le bloc 'Avant-propos' ne sera pas visible}\r\n\r\n {admin && lectureStore.isEditingDescription ?\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    :
    {lectureStore.lecture.description}
    }\r\n\r\n {admin && <>\r\n {lectureStore.isEditingDescription && Besoin d'aide pour le markdown ? Cliquez ici}\r\n {lectureStore.isEditingDescription ? 'Annuler' : 'Modifier'}\r\n }\r\n
    \r\n );\r\n}\r\n\r\nLectureDescription.propTypes = {\r\n admin: propTypes.bool\r\n}\r\n\r\nexport default LectureDescription;","import Axios from \"axios\";\r\nimport { LECTURE_SURVEY_STEP } from \"../../../resources/constants/lectureSurvey\";\r\nimport { createNotification } from \"../../../Utils\";\r\nimport { LECTURE_PANEL_SURVEY_ADD_ANSWER, LECTURE_PANEL_SURVEY_ADD_QUESTION, LECTURE_PANEL_SURVEY_DELETE_ANSWER, LECTURE_PANEL_SURVEY_DELETE_QUESTION, LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS, LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS_LOADING, LECTURE_PANEL_SURVEY_SET_ANSWER_CORRECT, LECTURE_PANEL_SURVEY_SET_ANSWER_LOADING, LECTURE_PANEL_SURVEY_SET_CREATING_LOADING, LECTURE_PANEL_SURVEY_SET_CURRENT_QUESTION_ID, LECTURE_PANEL_SURVEY_SET_LOADING, LECTURE_PANEL_SURVEY_SET_QUESTION_DONE, LECTURE_PANEL_SURVEY_SET_QUESTION_LOADING, LECTURE_PANEL_SURVEY_SET_QUESTION_REQUIRED, LECTURE_PANEL_SURVEY_SET_RESULTS, LECTURE_PANEL_SURVEY_SET_STEP, LECTURE_PANEL_SURVEY_SET_SURVEY } from \"../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\n\r\nexport const startSurvey = (surveyId, userCourseId) => async dispatch => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`survey/${surveyId}/start`, {\r\n params: {\r\n userCourseId\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_SURVEY, payload: { survey: data } });\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_STEP, payload: { step: LECTURE_SURVEY_STEP.RUN } });\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_CURRENT_QUESTION_ID, payload: { id: data.surveyQuestion[0]?.id } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const nextQuestionSurvey = (questionId, userCourseSurveyId, answersId) => async dispatch => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.post(`survey/${questionId}/${userCourseSurveyId}/next`, {\r\n answersId\r\n }).then(({ data }) => {\r\n if (data.nextQuestionId) {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_CURRENT_QUESTION_ID, payload: { id: data.nextQuestionId } });\r\n } else {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_STEP, payload: { step: LECTURE_SURVEY_STEP.RESULT } });\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_RESULTS, payload: { results: data } });\r\n }\r\n\r\n if (answersId?.length)\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_QUESTION_DONE, payload: { questionId, done: true } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_LOADING, payload: { isLoading: false } });\r\n })\r\n}\r\n\r\nexport const updateQuestionTitleSurvey = (questionId, title) => async dispatch => {\r\n Axios.put(`survey/question/${questionId}/update/admin`, {\r\n title: title || ''\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const deleteQuestionSurvey = (questionId) => async dispatch => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_QUESTION_LOADING, payload: { questionId, isLoading: true } });\r\n\r\n Axios.delete(`survey/question/${questionId}/delete/admin`)\r\n .then(() => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_DELETE_QUESTION, payload: { questionId } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_QUESTION_LOADING, payload: { questionId, isLoading: false } });\r\n })\r\n}\r\n\r\nexport const updateAnswerSurveyCorrect = (answerId, correct) => async dispatch => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_ANSWER_CORRECT, payload: { answerId, correct } });\r\n\r\n Axios.put(`survey/answer/${answerId}/update/correct/admin`, {\r\n correct\r\n }).catch(({ response }) => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_ANSWER_CORRECT, payload: { answerId, correct: !correct } });\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const deleteAnswerSurvey = (answerId) => async dispatch => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_ANSWER_LOADING, payload: { answerId, isLoading: true } });\r\n\r\n Axios.delete(`survey/answer/${answerId}/delete/admin`)\r\n .then(() => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_DELETE_ANSWER, payload: { answerId } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_ANSWER_LOADING, payload: { answerId, isLoading: false } });\r\n })\r\n}\r\n\r\nexport const addNewAnswerSurvey = (questionId, title) => async dispatch => {\r\n return await Axios.post(`survey/question/${questionId}/new/answer/admin`, {\r\n title\r\n }).then(({ data }) => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_ADD_ANSWER, payload: { questionId, answer: data } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n throw Error();\r\n });\r\n}\r\n\r\nexport const updateSurveyAnswerPosition = (answerId, position) => async dispatch => {\r\n Axios.put('survey/answer/update/position/admin', {\r\n id: answerId,\r\n level: position\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const updateSurveyQuestionPosition = (questionId, position) => async dispatch => {\r\n Axios.put('survey/question/update/position/admin', {\r\n id: questionId,\r\n level: position\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const addNewQuestionSurvey = (surveyId) => async dispatch => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_CREATING_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.post(`survey/${surveyId}/new/question/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_ADD_QUESTION, payload: { question: data } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_CREATING_LOADING, payload: { isLoading: false } });\r\n })\r\n}\r\n\r\nexport const updateQuestionSurveyRequiredStatus = (questionId, required) => async dispatch => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_QUESTION_REQUIRED, payload: { questionId, required } });\r\n\r\n Axios.put(`survey/question/${questionId}/update/required/admin`, {\r\n required\r\n }).catch(({ response }) => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_QUESTION_REQUIRED, payload: { questionId, required: !required } });\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n });\r\n}\r\n\r\nexport const loadUserCourseSurveyResults = (surveyId) => async dispatch => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`survey/${surveyId}/results/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS, payload: { results: data } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_ADMIN_RESULTS_LOADING, payload: { isLoading: false } });\r\n })\r\n}","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Button from '../../../../Button';\r\nimport { deleteAnswerSurvey, updateAnswerSurveyCorrect } from '../../../../redux/actions/dashboard/LectureSurveyActions';\r\n\r\nconst LectureSurveyAdminAnswer = ({ index, answer }) => {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n
    dispatch(updateAnswerSurveyCorrect(answer.id, !answer.correct))}>\r\n
    \r\n {index + 1}\r\n
    \r\n\r\n
    {answer.title}
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default LectureSurveyAdminAnswer;","import React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Button from '../../../../Button';\r\nimport Input from '../../../../Input';\r\nimport { addNewAnswerSurvey } from '../../../../redux/actions/dashboard/LectureSurveyActions';\r\n\r\nconst LectureSurveyAdminNewAnswer = ({ index, questionId }) => {\r\n const dispatch = useDispatch();\r\n const [title, setTitle] = useState('');\r\n const [isLoading, setLoading] = useState(false);\r\n\r\n const onSubmit = async (e) => {\r\n e.preventDefault();\r\n\r\n setLoading(true);\r\n try {\r\n await dispatch(addNewAnswerSurvey(questionId, title));\r\n setTitle('');\r\n } catch { }\r\n setLoading(false);\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n {index + 1}\r\n
    \r\n\r\n
    \r\n setTitle(value)} disabled={isLoading} maxLength={2000} />\r\n
    \r\n );\r\n}\r\n\r\nexport default LectureSurveyAdminNewAnswer;","import React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { ReactSortable } from 'react-sortablejs';\r\nimport Button from '../../../../Button';\r\nimport Input from '../../../../Input';\r\nimport { LECTURE_PANEL_SURVEY_SET_ANSWERS } from '../../../../redux/actions/ActionTypes';\r\nimport { deleteQuestionSurvey, updateQuestionSurveyRequiredStatus, updateQuestionTitleSurvey, updateSurveyAnswerPosition } from '../../../../redux/actions/dashboard/LectureSurveyActions';\r\nimport SwitchButton from '../../../../SwitchButton';\r\nimport LectureSurveyAdminAnswer from './LectureSurveyAdminAnswer';\r\nimport LectureSurveyAdminNewAnswer from './LectureSurveyAdminNewAnswer';\r\n\r\nconst LectureSurveyAdminQuestion = ({ index, question }) => {\r\n const dispatch = useDispatch();\r\n const [title, setTitle] = useState(question.title);\r\n\r\n const onTyping = (title) => {\r\n dispatch(updateQuestionTitleSurvey(question.id, title));\r\n }\r\n\r\n const onUpdatePosition = (e) => {\r\n const movedItem = question.surveyAnswer[e.newIndex];\r\n dispatch(updateSurveyAnswerPosition(movedItem.id, e.newIndex));\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {index + 1}.\r\n
    \r\n\r\n setTitle(title)} onTypingDelay={onTyping} disabled={question.isLoading} maxLength={2000} />\r\n
    \r\n\r\n
    \r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_ANSWERS, payload: { questionId: question.id, answers } })} onEnd={onUpdatePosition}>\r\n {question.surveyAnswer?.map((a, index) => )}\r\n \r\n\r\n \r\n
    \r\n\r\n
    \r\n dispatch(updateQuestionSurveyRequiredStatus(question.id, required))} />\r\n {question.required ? Question obligatoire : Question non obligatoire}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default LectureSurveyAdminQuestion;","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../../loader/BasicLoader';\r\nimport { openSurveyAdminPopup } from '../../../../redux/actions/popup/admin/SurveyPopupActions';\r\n\r\n// Images\r\nimport Profile from '../../../../resources/images/profile.png';\r\n\r\nconst LectureSurveyAdminResult = () => {\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n\r\n if (lectureStore.isAdminSurveyResultsLoading)\r\n return (\r\n
    \r\n

    Résultats

    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n if (!lectureStore.adminSurveyResults?.length)\r\n return (\r\n
    \r\n

    Résultats

    \r\n\r\n Aucun questionnaire n'a été réalisé.\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n

    Résultats

    \r\n\r\n
    \r\n {lectureStore.adminSurveyResults.map(r => {\r\n return (\r\n
    dispatch(openSurveyAdminPopup(r.id))}>\r\n
    \r\n {`${r.user?.firstname}\r\n {r.user?.firstname} {r.user?.lastname}\r\n
    \r\n\r\n
    {r.finalScore}/{r.finalScoreBase}
    \r\n
    )\r\n })}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default LectureSurveyAdminResult;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { ReactSortable } from 'react-sortablejs';\r\nimport { LECTURE_PANEL_SURVEY_SET_QUESTIONS } from '../../../../redux/actions/ActionTypes';\r\nimport { addNewQuestionSurvey, loadUserCourseSurveyResults, updateSurveyQuestionPosition } from '../../../../redux/actions/dashboard/LectureSurveyActions';\r\nimport LectureAddResource from '../LectureAddResource';\r\nimport LectureSurveyAdminQuestion from './LectureSurveyAdminQuestion';\r\nimport LectureSurveyAdminResult from './LectureSurveyAdminResult';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Button from '../../../../Button';\r\nimport SurveyAdminPDF from '../../../../services/surveyAdminPDF';\r\n\r\nconst LectureSurveyAdmin = () => {\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const { t } = useTranslation()\r\n\r\n const onUpdatePosition = (e) => {\r\n const movedItem = lectureStore.survey?.surveyQuestion[e.newIndex];\r\n dispatch(updateSurveyQuestionPosition(movedItem.id, e.newIndex));\r\n }\r\n\r\n useEffect(() => {\r\n dispatch(loadUserCourseSurveyResults(lectureStore.survey.id));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const downloadPDF = () => {\r\n console.log(lectureStore.lecture, lectureStore.survey);\r\n SurveyAdminPDF(lectureStore.lecture, lectureStore.survey)\r\n }\r\n\r\n return (\r\n
    \r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_QUESTIONS, payload: { questions } })} onEnd={onUpdatePosition}>\r\n {lectureStore.survey?.surveyQuestion?.map((q, index) => )}\r\n \r\n\r\n
    dispatch(addNewQuestionSurvey(lectureStore.survey.id))}>\r\n Ajouter une question\r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default LectureSurveyAdmin;","import jsPDF from 'jspdf';\r\nimport Logo from '../resources/images/logo/logo.png';\r\nimport Banner from '../resources/images/pdf/banner.png';\r\nimport ContactBtn from '../resources/images/pdf/contact.png';\r\nimport Check from '../resources/images/icon/check.png';\r\nimport Star from '../resources/images/icon/star.png';\r\nimport Bag from '../resources/images/icon/bag.png';\r\nimport '../resources/fonts/Raleway-Bold-normal';\r\nimport '../resources/fonts/Raleway-Light-normal';\r\nimport '../resources/fonts/Raleway-SemiBold-normal';\r\nimport { convertSecondToAverageTime, convertSecondToTime, convertStringForUrl } from '../Utils';\r\nimport i18n from 'i18next';\r\n\r\nexport default function SurveyAdminPDF(lecture, survey, completion = null) {\r\n let doc = new jsPDF();\r\n\r\n const newPage = () => {\r\n doc.addPage();\r\n CURRENT_Y = MARGIN * 2;\r\n }\r\n\r\n const MARGIN = 10;\r\n const MAX_WIDTH = doc.internal.pageSize.getWidth() - (2 * MARGIN);\r\n const PAGE_HEIGHT = doc.internal.pageSize.getHeight();\r\n const PAGE_WIDTH = doc.internal.pageSize.getWidth();\r\n let CURRENT_Y = MARGIN;\r\n\r\n doc.setFont(\"Raleway-Bold\");\r\n doc.setFontSize(18);\r\n\r\n doc.text(lecture.title, MARGIN, CURRENT_Y, { maxWidth: MAX_WIDTH });\r\n CURRENT_Y += doc.getTextDimensions(lecture.title, {\r\n fontSize: 18,\r\n maxWidth: MAX_WIDTH\r\n }).h + 4;\r\n\r\n\r\n for (const question of survey.surveyQuestion) {\r\n // Calculer si ça passe sur la page\r\n let questionHeightSize = doc.getTextDimensions(question.title, {\r\n fontSize: 10,\r\n maxWidth: MAX_WIDTH\r\n }).h + 4;\r\n for (const answer of question.surveyAnswer) {\r\n questionHeightSize += doc.getTextDimensions(answer.title, {\r\n fontSize: 10,\r\n maxWidth: MAX_WIDTH\r\n }).h + 3;\r\n }\r\n\r\n if (questionHeightSize + 10 > PAGE_HEIGHT) {\r\n newPage()\r\n }\r\n\r\n doc.setFont(\"Raleway-SemiBold\");\r\n doc.setFontSize(10);\r\n doc.setTextColor(0, 0, 0);\r\n\r\n doc.text(question.title, MARGIN, CURRENT_Y, { maxWidth: MAX_WIDTH });\r\n CURRENT_Y += doc.getTextDimensions(question.title, {\r\n fontSize: 10,\r\n maxWidth: MAX_WIDTH\r\n }).h + 4;\r\n\r\n for (const answer of question.surveyAnswer) {\r\n doc.setFont(\"Raleway-Light\");\r\n\r\n answer.correct ? doc.setTextColor(0, 120, 0) : doc.setTextColor(255, 0, 0);\r\n\r\n doc.text(answer.title, MARGIN, CURRENT_Y, { maxWidth: MAX_WIDTH });\r\n CURRENT_Y += doc.getTextDimensions(answer.title, {\r\n fontSize: 10,\r\n maxWidth: MAX_WIDTH\r\n }).h + 3;\r\n }\r\n\r\n CURRENT_Y += 4\r\n }\r\n\r\n doc.save(`TITRE`);\r\n if (completion) completion();\r\n}","import React from 'react';\r\nimport SemiCircleProgressBar from \"react-progressbar-semicircle\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Button from '../../../../Button';\r\nimport { LECTURE_PANEL_SURVEY_SET_STEP } from '../../../../redux/actions/ActionTypes';\r\nimport { markLectureAsDone } from '../../../../redux/actions/dashboard/LectureActions';\r\nimport { LECTURE_SURVEY_STEP } from '../../../../resources/constants/lectureSurvey';\r\nimport { createNotification } from '../../../../Utils';\r\nimport LectureSurveyResultQuestion from './LectureSurveyResultQuestion';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst LectureSurveyResult = ({ admin, lectureId, userCourseId }) => {\r\n const { t } = useTranslation();\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const history = useHistory();\r\n const results = lectureStore.surveyResults;\r\n const lectures = lectureStore.menu?.sections?.map(s => s.lectures).flat(1);\r\n let isLast;\r\n if (lectures) {\r\n const lectureIndex = lectures.findIndex(l => l.id === parseInt(lectureId))\r\n isLast = lectureIndex < 0 || !lectures[lectureIndex + 1];\r\n }\r\n\r\n const onDone = async () => {\r\n const nextLectureId = await dispatch(markLectureAsDone(userCourseId, lectureStore.currentLectureId));\r\n\r\n if (nextLectureId) {\r\n history.push(`${nextLectureId}`);\r\n } else {\r\n history.push('/dashboard');\r\n createNotification(t(\"NOTIFICATION_SUCCESS_TITLE\"), t(\"LECTURE_DONE\"), 'success');\r\n }\r\n }\r\n\r\n if (!results)\r\n return null;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {t(\"RESULTS\")}

    \r\n\r\n
    \r\n \r\n {results.finalScore}/{results.finalScoreBase}\r\n
    \r\n\r\n

    {t(\"REPORT\")}

    \r\n
    \r\n {results.wrong?.length ?\r\n
    \r\n {t(\"WRONG_ANSWERS\")}\r\n
    \r\n
    \r\n {results.wrong.map(q => )}\r\n
    \r\n
    : null}\r\n\r\n {results.correct?.length ?\r\n
    \r\n {t(\"RIGHT_ANSWERS\")}\r\n
    \r\n
    \r\n {results.correct.map(q => )}\r\n
    \r\n
    : null}\r\n
    \r\n
    \r\n\r\n
    \r\n dispatch({ type: LECTURE_PANEL_SURVEY_SET_STEP, payload: { step: LECTURE_SURVEY_STEP.START } })}>{t(\"RESTART_TEST\")}\r\n {!admin && !lectureStore.lecture.isDone &&
    \r\n
    \r\n );\r\n}\r\n\r\nexport default LectureSurveyResult;","import React, { useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { LECTURE_PANEL_SURVEY_TOGGLE_SELECT_ANSWER } from '../../../../redux/actions/ActionTypes';\r\n\r\nconst LectureSurveyRunAnswer = ({ answer, currentQuestion, index }) => {\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n document.addEventListener('keydown', onKeyDown);\r\n\r\n return () => {\r\n document.removeEventListener('keydown', onKeyDown);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const onKeyDown = (key) => {\r\n if(key.key === `${index}`) {\r\n dispatch({ type: LECTURE_PANEL_SURVEY_TOGGLE_SELECT_ANSWER, payload: { questionId: currentQuestion.id, answerId: answer.id } })\r\n }\r\n }\r\n\r\n return (\r\n
    dispatch({ type: LECTURE_PANEL_SURVEY_TOGGLE_SELECT_ANSWER, payload: { questionId: currentQuestion.id, answerId: answer.id } })}>\r\n
    \r\n {index}\r\n
    \r\n\r\n
    {answer.title}
    \r\n
    \r\n );\r\n}\r\n\r\nexport default LectureSurveyRunAnswer;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../../Button';\r\nimport { nextQuestionSurvey } from '../../../../redux/actions/dashboard/LectureSurveyActions';\r\nimport LectureSurveyRunAnswer from './LectureSurveyRunAnswer';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst LectureSurveyRun = () => {\r\n const dispatch = useDispatch();\r\n const { t } = useTranslation();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const positionCurrentQuestion = lectureStore.survey.surveyQuestion.findIndex(q => q.id === lectureStore.currentQuestionId);\r\n const currentQuestion = lectureStore.survey.surveyQuestion[positionCurrentQuestion];\r\n const isLastQuestion = positionCurrentQuestion === lectureStore.survey.surveyQuestion.length - 1 && lectureStore.survey.surveyQuestion.filter(q => !q.done).length <= 1;\r\n\r\n useEffect(() => {\r\n document.addEventListener('keydown', onKeyDown);\r\n\r\n return () => {\r\n document.removeEventListener('keydown', onKeyDown);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentQuestion?.selectedAnswers]);\r\n\r\n const onKeyDown = (key) => {\r\n if (key.key === 'Enter') {\r\n dispatch(nextQuestionSurvey(currentQuestion.id, lectureStore.survey.userCourseSurveyId, currentQuestion.selectedAnswers));\r\n }\r\n }\r\n\r\n const onNext = (ignore = false) => {\r\n dispatch(nextQuestionSurvey(currentQuestion.id, lectureStore.survey.userCourseSurveyId, !ignore ? currentQuestion.selectedAnswers : []));\r\n }\r\n\r\n if (!currentQuestion)\r\n return null;\r\n\r\n return (\r\n
    \r\n
    \r\n {lectureStore.survey.surveyQuestion.map(q =>
    )}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {positionCurrentQuestion + 1}.\r\n
    \r\n\r\n {currentQuestion.title}\r\n
    \r\n\r\n
    \r\n
    \r\n {currentQuestion.surveyAnswer.map((a, index) => )}\r\n
    \r\n
    \r\n\r\n
    \r\n {!currentQuestion.required && onNext(true)}>{t(\"SKIP_QUESTION\")}}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default LectureSurveyRun;","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../../../Button';\r\nimport { startSurvey } from '../../../../redux/actions/dashboard/LectureSurveyActions';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst LectureSurveyStart = () => {\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const { t } = useTranslation();\r\n\r\n const onStart = () => {\r\n dispatch(startSurvey(lectureStore.lecture.surveyId, lectureStore.menu.id));\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default LectureSurveyStart;","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { markLectureAsDone } from '../../../redux/actions/dashboard/LectureActions';\r\nimport { LECTURE_SURVEY_STEP } from '../../../resources/constants/lectureSurvey';\r\nimport LectureSurveyAdmin from './survey/LectureSurveyAdmin';\r\nimport LectureSurveyResult from './survey/LectureSurveyResult';\r\nimport LectureSurveyRun from './survey/LectureSurveyRun';\r\nimport LectureSurveyStart from './survey/LectureSurveyStart';\r\nimport { createNotification } from '../../../Utils';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Button from '../../../Button';\r\n\r\nconst LectureSurvey = ({ admin, lectureId, userCourseId }) => {\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const history = useHistory();\r\n const { t } = useTranslation();\r\n\r\n const onDone = async () => {\r\n const nextLectureId = await dispatch(markLectureAsDone(userCourseId, lectureStore.currentLectureId));\r\n\r\n if (nextLectureId) {\r\n history.push(`${nextLectureId}`);\r\n } else {\r\n history.push('/dashboard');\r\n createNotification(t(\"NOTIFICATION_SUCCESS_TITLE\"), t(\"LECTURE_DONE\"), 'success');\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {lectureStore.surveyStep === LECTURE_SURVEY_STEP.START && }\r\n {lectureStore.surveyStep === LECTURE_SURVEY_STEP.RUN && }\r\n {lectureStore.surveyStep === LECTURE_SURVEY_STEP.RESULT && }\r\n {lectureStore.surveyStep === LECTURE_SURVEY_STEP.ADMIN && }\r\n\r\n
    \r\n {!admin && !lectureStore.lecture.isDone &&
    \r\n
    \r\n );\r\n}\r\n\r\nexport default LectureSurvey;","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst LectureSurveyDescription = () => {\r\n const { t } = useTranslation();\r\n\r\n return (\r\n
    \r\n {t(\"BEFORE_STARTING\")}\r\n\r\n
    \r\n
      \r\n
    \r\n
    \r\n\r\n {t(\"GOOD_LUCK\")}\r\n
    \r\n );\r\n}\r\n\r\nexport default LectureSurveyDescription;","import propTypes from 'prop-types';\r\nimport React, { useEffect } from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Input from '../../../Input';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport { LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE, LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE_STATUS } from '../../../redux/actions/ActionTypes';\r\nimport { updateLectureTitleAdmin } from '../../../redux/actions/admin/LectureAdminActions';\r\nimport { loadLecture } from '../../../redux/actions/dashboard/LectureActions';\r\nimport { LECTURE_SURVEY_STEP } from '../../../resources/constants/lectureSurvey';\r\nimport { convertSecondToAverageTime } from '../../../Utils';\r\nimport LectureDefaultContent from './LectureDefaultContent';\r\nimport LectureDescription from './LectureDescription';\r\nimport LectureSurvey from './LectureSurvey';\r\nimport LectureSurveyDescription from './LectureSurveyDescription';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst LectureContent = ({ lectureId, userCourseId, admin }) => {\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const history = useHistory();\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n const fetch = async () => {\r\n try {\r\n await dispatch(loadLecture(lectureStore, userCourseId, lectureId, admin));\r\n } catch {\r\n history.push('/dashboard');\r\n }\r\n }\r\n\r\n if (lectureId && userCourseId)\r\n fetch();\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dispatch, lectureId, userCourseId, history]);\r\n\r\n const onLectureTitleEditing = () => {\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE_STATUS, payload: { isEditing: true } });\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE, payload: { title: lectureStore.lecture.title } });\r\n }\r\n\r\n const updateLectureTitle = (e) => {\r\n e.preventDefault();\r\n\r\n dispatch(updateLectureTitleAdmin(lectureId, lectureStore.editingLectureTitle));\r\n }\r\n\r\n if (lectureStore.isLectureLoading || lectureStore.isMenuLoading || !lectureId)\r\n return (\r\n
    \r\n \r\n

    \r\n \r\n \r\n
    \r\n );\r\n\r\n if (!lectureStore.lecture)\r\n return null;\r\n\r\n return (\r\n <>\r\n \r\n {lectureStore.lecture.title} · FormationAcademy\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n {!lectureStore.isEditingTitle ?\r\n <>\r\n

    {lectureStore.lecture.title}

    \r\n {admin && Modifier}\r\n :\r\n
    \r\n
    \r\n
    \r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE, payload: { title } })} error={!lectureStore.isEditingLectureTitleValid} helperText={t(\"HELPER_TITLE_LECTURE\")} />\r\n
    \r\n
    \r\n
    \r\n\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_LECTURE_EDITING_TITLE_STATUS, payload: { isEditing: false } })}>Annuler\r\n
    }\r\n
    \r\n\r\n {!admin && lectureStore.lecture.totalTime > 0 ?
    {convertSecondToAverageTime(lectureStore.lecture.totalTime)}
    : null}\r\n
    \r\n\r\n {lectureStore.lecture.type === 0 && <>\r\n \r\n \r\n }\r\n\r\n {lectureStore.lecture.type === 1 && <>\r\n {!admin && lectureStore.surveyStep === LECTURE_SURVEY_STEP.START && }\r\n \r\n }\r\n
    \r\n \r\n );\r\n}\r\n\r\nLectureContent.propTypes = {\r\n lectureId: propTypes.string,\r\n userCourseId: propTypes.string,\r\n admin: propTypes.bool,\r\n};\r\n\r\nexport default LectureContent;","import propTypes from 'prop-types';\r\nimport React, { useRef } from 'react';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport { convertSecondToRemainingTime } from '../../../Utils';\r\n\r\nconst LectureItemContent = ({ lecture, isSelected, admin }) => {\r\n const nodeRef = useRef(null);\r\n\r\n return (\r\n <>\r\n
    \r\n {!admin ?
    :
    }\r\n {lecture.title}\r\n
    \r\n\r\n
    \r\n \r\n Bloqué\r\n \r\n\r\n\r\n {lecture.secondDuration ? {convertSecondToRemainingTime(lecture.secondDuration)} : null}\r\n
    \r\n \r\n );\r\n}\r\n\r\nLectureItemContent.propTypes = {\r\n lecture: propTypes.object.isRequired,\r\n isSelected: propTypes.bool.isRequired,\r\n admin: propTypes.bool\r\n};\r\n\r\nexport default LectureItemContent;","import React from 'react';\r\nimport propTypes from 'prop-types';\r\nimport { useSelector } from 'react-redux';\r\nimport LectureItemContent from './LectureItemContent';\r\nimport { Link } from 'react-router-dom';\r\nimport { convertStringForUrl } from '../../../Utils';\r\n\r\nconst LectureItem = ({ lecture, admin }) => {\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const isSelected = lectureStore.currentLectureId === lecture.id;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nLectureItem.propTypes = {\r\n lecture: propTypes.object.isRequired,\r\n admin: propTypes.bool\r\n};\r\n\r\nexport default LectureItem;","import propTypes from 'prop-types';\r\nimport React, { useRef } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { ReactSortable } from 'react-sortablejs';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport Button from '../../../Button';\r\nimport Input from '../../../Input';\r\nimport { ASSIGN_LECTURE_ADMIN_POPUP_SET_ENABLED, ASSIGN_LECTURE_ADMIN_POPUP_SET_SECTION_ID, LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_TITLE, LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_UPDATE, LECTURE_PANEL_SET_CREATING_LECTURE_LOADING, LECTURE_PANEL_SET_MENU_LECTURES, LECTURE_PANEL_TOGGLE_SECTION } from '../../../redux/actions/ActionTypes';\r\nimport { deleteSectionAdmin, updateLecturePositionAdmin, updateSectionTitleAdmin } from '../../../redux/actions/admin/LectureAdminActions';\r\nimport { createNewLectureAdminPopup } from '../../../redux/actions/popup/admin/AssignLecturePopupActions';\r\nimport { convertStringForUrl } from '../../../Utils';\r\nimport LectureItem from './LectureItem';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst LectureSection = ({ section, admin }) => {\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const nodeRef = useRef(null);\r\n const history = useHistory();\r\n const { t } = useTranslation();\r\n\r\n const isEditing = lectureStore.updateExistingSection && lectureStore.updateExistingSection.id === section.id;\r\n const isUnavailable = section.lectures.every(l => !l.isAvailable);\r\n\r\n const updateTitle = async (e) => {\r\n e.preventDefault();\r\n if (await dispatch(updateSectionTitleAdmin(lectureStore.updateExistingSection.id, lectureStore.updateExistingSection.title)))\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_UPDATE, payload: { id: null } });\r\n }\r\n\r\n const onToggle = (e) => {\r\n if (e.target.tagName !== 'INPUT' && e.target.parentNode.getAttribute('class') !== 'editable' && !e.target.getAttribute('class').split(' ').includes('check'))\r\n dispatch({ type: LECTURE_PANEL_TOGGLE_SECTION, payload: { open: !lectureStore.selectedSectionId.includes(section.id), id: section.id } })\r\n }\r\n\r\n const onLectureUpdatePosition = (e) => {\r\n const itemId = e.item.getAttribute('data-lectureId');\r\n const newSectionId = lectureStore.menu.sections?.filter(s => s.lectures.some(l => l.id === parseInt(itemId)))[0]?.id;\r\n\r\n if (itemId && newSectionId)\r\n dispatch(updateLecturePositionAdmin(itemId, newSectionId, e.newIndex));\r\n }\r\n\r\n const onDeleteSection = async () => {\r\n if (dispatch(deleteSectionAdmin(section.id))) {\r\n const nextLecture = lectureStore.menu.sections?.filter(s => s.id !== section.id)?.map(s => s.lectures)?.flat(1)[0];\r\n if (nextLecture) {\r\n history.replace(`/course/${lectureStore.menu.id}-${convertStringForUrl(lectureStore.menu.title)}/lecture/${nextLecture.id}/admin`);\r\n }\r\n }\r\n }\r\n\r\n const createNewLecture = async (isSurvey = false) => {\r\n dispatch({ type: LECTURE_PANEL_SET_CREATING_LECTURE_LOADING, payload: { isLoading: true } });\r\n const newLectureId = await dispatch(createNewLectureAdminPopup(section.id, isSurvey));\r\n\r\n if (newLectureId) {\r\n history.replace(`/course/${lectureStore.menu.id}-${convertStringForUrl(lectureStore.menu.title)}/lecture/${newLectureId}/admin`);\r\n dispatch({ type: LECTURE_PANEL_SET_CREATING_LECTURE_LOADING, payload: { isLoading: false } });\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {admin &&
    }\r\n\r\n
    \r\n {!isEditing ?\r\n <>\r\n {section.name}\r\n {admin &&\r\n <>\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_UPDATE, payload: { id: section.id, title: section.name } })}>Modifier\r\n }\r\n :\r\n <>\r\n
    \r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_EXISTING_SECTION_TITLE, payload: { title } })} error={!lectureStore.isSectionTitleValid} helperText={t(\"HELPER_TITLE_SECTION\")} />\r\n
    \r\n }\r\n
    \r\n\r\n \r\n Bloqué\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n dispatch({ type: LECTURE_PANEL_SET_MENU_LECTURES, payload: { id: section.id, lectures } })} onEnd={onLectureUpdatePosition}>\r\n {section.lectures.map(lecture => )}\r\n \r\n\r\n {admin &&\r\n <>\r\n
    createNewLecture(false) : null}>\r\n
    \r\n
    \r\n
    \r\n
    \r\n {lectureStore.isCreatingLectureLoading ? 'Création en cours...' : 'Créer une leçon'}\r\n
    \r\n
    \r\n\r\n
    createNewLecture(true) : null}>\r\n
    \r\n
    \r\n
    \r\n
    \r\n {lectureStore.isCreatingLectureLoading ? 'Création en cours...' : 'Créer un questionnaire'}\r\n
    \r\n
    \r\n\r\n
    {\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } });\r\n dispatch({ type: ASSIGN_LECTURE_ADMIN_POPUP_SET_SECTION_ID, payload: { id: section.id } });\r\n }}>\r\n
    \r\n
    \r\n
    \r\n
    \r\n Ajouter une leçon\r\n
    \r\n
    \r\n }\r\n
    \r\n\r\n {admin &&
    \r\n );\r\n}\r\n\r\nLectureSection.propTypes = {\r\n section: propTypes.object.isRequired,\r\n admin: propTypes.bool\r\n};\r\n\r\nexport default LectureSection;","import Axios from \"axios\";\r\nimport { ADMIN_COURSE_MENU_TYPE } from \"../../../resources/constants/adminPanel\";\r\nimport { createNotification } from \"../../../Utils\";\r\nimport { COURSE_ADMIN_PANEL_ADD_COURSES, COURSE_ADMIN_PANEL_SET_HAS_NEXT, COURSE_ADMIN_PANEL_SET_LOADING, COURSE_ADMIN_PANEL_SET_PAGING_PAGE, COURSE_ADMIN_POPUP_SET_COURSE, COURSE_ADMIN_POPUP_SET_ENABLED, COURSE_ADMIN_POPUP_SET_LOADING, COURSE_ADMIN_POPUP_SET_POPUP_TITLE, COURSE_ADMIN_POPUP_TOGGLE_MENU_STATUS, LECTURE_PANEL_ADMIN_ADD_MENU_SECTION, LECTURE_PANEL_ADMIN_NEW_SECTION_TITLE_CHECK, LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE_LOADING, LECTURE_PANEL_ADMIN_SET_NEW_SECTION_UPDATE, LECTURE_PANEL_TOGGLE_SECTION } from \"../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const loadCourseAdmin = (pageIndex = null, name = null) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_PANEL_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`course/list/all/admin`, {\r\n params: {\r\n pageIndex,\r\n name\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: COURSE_ADMIN_PANEL_SET_PAGING_PAGE, payload: { pagingPage: data.pageIndex } });\r\n dispatch({ type: COURSE_ADMIN_PANEL_SET_HAS_NEXT, payload: { hasNext: data.hasNext } });\r\n dispatch({ type: COURSE_ADMIN_PANEL_ADD_COURSES, payload: { courses: data.paging } });\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_PANEL_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const duplicateCourseAdmin = (courseId) => async dispatch => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_ENABLED, payload: { type: ADMIN_COURSE_MENU_TYPE.OVERVIEW } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_TOGGLE_MENU_STATUS, payload: { enable: true } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.post(`course/${courseId}/duplicate/admin`)\r\n .then(({ data }) => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_COURSE, payload: { course: data } });\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_POPUP_TITLE, payload: { title: `${data.title}` } });\r\n dispatch({ type: COURSE_ADMIN_PANEL_ADD_COURSES, payload: { courses: [data] } });\r\n }).catch((e) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_ENABLED, payload: { type: null } });\r\n }).finally(() => {\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const addNewSectionCourseAdmin = (courseId, title) => async dispatch => {\r\n const isTitleValid = title && title.length >= 3 && title.length <= 500;\r\n dispatch({ type: LECTURE_PANEL_ADMIN_NEW_SECTION_TITLE_CHECK, payload: { isValid: isTitleValid } });\r\n\r\n if (!isTitleValid)\r\n return false;\r\n\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE_LOADING, payload: { isLoading: true } });\r\n Axios.post(`section/add/admin`, {\r\n courseId,\r\n name: title\r\n }).then(({ data }) => {\r\n dispatch({ type: LECTURE_PANEL_ADMIN_ADD_MENU_SECTION, payload: { section: { ...data, lectures: [] } } });\r\n dispatch({ type: LECTURE_PANEL_TOGGLE_SECTION, payload: { open: true, id: data.id } });\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_NEW_SECTION_UPDATE, payload: { isEditing: false } });\r\n }).catch(() => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE_LOADING, payload: { isLoading: false } });\r\n });\r\n}","import React, { useEffect, useRef, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport BackgroundPopup from '../../../BackgroundPopup';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport LectureSection from './LectureSection';\r\nimport propTypes from 'prop-types';\r\nimport { ReactSortable } from 'react-sortablejs';\r\nimport { ASSIGN_SECTION_ADMIN_POPUP_SET_COURSE_ID, ASSIGN_SECTION_ADMIN_POPUP_SET_ENABLED, LECTURE_PANEL_ADMIN_SET_MENU_VISIBLE, LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE, LECTURE_PANEL_ADMIN_SET_NEW_SECTION_UPDATE, LECTURE_PANEL_SET_MENU_SECTIONS } from '../../../redux/actions/ActionTypes';\r\nimport Input from '../../../Input';\r\nimport { addNewSectionCourseAdmin } from '../../../redux/actions/admin/CourseAdminActions';\r\nimport { updateSectionPositionAdmin } from '../../../redux/actions/admin/LectureAdminActions';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst LectureMenu = ({ admin }) => {\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const sectionTitleInputRef = useRef(null);\r\n const sectionPanelRef = useRef();\r\n const [rightMarginSectionPanel, setRightMarginSectionPanel] = useState(null);\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n if (lectureStore.updateNewSection.isEditing && sectionTitleInputRef) {\r\n sectionTitleInputRef.current.focus();\r\n }\r\n }, [lectureStore.updateNewSection.isEditing]);\r\n\r\n const onToggleMenu = () => {\r\n if (!lectureStore.isMenuVisible && sectionPanelRef?.current) {\r\n setRightMarginSectionPanel(sectionPanelRef.current.getBoundingClientRect().width + 10);\r\n }\r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_MENU_VISIBLE, payload: { isVisible: !lectureStore.isMenuVisible } });\r\n }\r\n\r\n const onAddSection = (e) => {\r\n e.preventDefault();\r\n\r\n dispatch(addNewSectionCourseAdmin(lectureStore.menu.id, lectureStore.updateNewSection.title));\r\n }\r\n\r\n const onSectionUpdatePosition = (e) => {\r\n const movedItem = lectureStore.menu.sections[e.newIndex];\r\n dispatch(updateSectionPositionAdmin(movedItem.id, e.newIndex));\r\n }\r\n\r\n if (lectureStore.isMenuLoading)\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n
    dispatch({ type: LECTURE_PANEL_ADMIN_SET_MENU_VISIBLE, payload: { isVisible: !lectureStore.isMenuVisible } })}>\r\n
    \r\n
    \r\n {!lectureStore.isMenuVisible ? t(\"COURSE_CONTENT\") : t(\"CLICK_TO_CLOSE\")}\r\n
    \r\n
    \r\n\r\n
    \r\n {lectureStore.menu?.sections &&\r\n dispatch({ type: LECTURE_PANEL_SET_MENU_SECTIONS, payload: { sections } })} onEnd={onSectionUpdatePosition}>\r\n {lectureStore.menu.sections.map(section => )}\r\n }\r\n\r\n {admin &&\r\n
    {\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_SET_ENABLED, payload: { popupEnabled: true } })\r\n dispatch({ type: ASSIGN_SECTION_ADMIN_POPUP_SET_COURSE_ID, payload: { id: lectureStore.menu.id } });\r\n } : null}>\r\n
    \r\n
    \r\n {!lectureStore.updateNewSection.isEditing &&\r\n
    \r\n
    \r\n
    }\r\n\r\n
    \r\n {!lectureStore.updateNewSection.isEditing ?\r\n Ajouter un chapitre :\r\n <>\r\n
    \r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_NEW_SECTION_TITLE, payload: { title } })} error={!lectureStore.updateNewSection.isValid} helperText={t(\"HELPER_TITLE_SECTION\")} disabled={lectureStore.updateNewSection.isLoading} />\r\n
    \r\n dispatch({ type: LECTURE_PANEL_ADMIN_SET_NEW_SECTION_UPDATE, payload: { isEditing: false } })}>Annuler\r\n }\r\n
    \r\n
    \r\n\r\n {lectureStore.updateNewSection.isEditing &&
    }\r\n
    \r\n
    }\r\n
    \r\n\r\n
    \r\n
    \r\n {lectureStore.isMenuVisible ? t(\"CLOSE_MENU\") : t(\"OPEN_MENU\")}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nLectureMenu.propTypes = {\r\n admin: propTypes.bool\r\n};\r\n\r\nexport default LectureMenu;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Redirect, useHistory } from 'react-router-dom';\r\nimport IsLoggedHOC from '../../HOC/IsLoggedHOC';\r\nimport { LECTURE_PANEL_RESET } from '../../redux/actions/ActionTypes';\r\nimport { loadLectureMenu } from '../../redux/actions/dashboard/LectureActions';\r\nimport AuthenticationService from '../../services/Authentication';\r\nimport { convertStringForUrl } from '../../Utils';\r\nimport LectureContent from './lecture/LectureContent';\r\nimport LectureMenu from './lecture/LectureMenu';\r\n\r\nconst LecturePanel = (props) => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n const { userCourseId, title, lectureId } = props.match.params;\r\n\r\n useEffect(() => {\r\n const fetch = async () => {\r\n if (lectureStore.isMenuLoading || !lectureStore.menu) {\r\n try {\r\n const data = await dispatch(loadLectureMenu(userCourseId, props.admin));\r\n\r\n if (!props.admin && !props.match.params.lectureId)\r\n history.replace(`/course/${userCourseId}-${convertStringForUrl(title)}/lecture/${data.lastLectureId}`);\r\n\r\n if (props.admin && !props.match.params.lectureId && data.sections && data.sections[0] && data.sections[0].lectures[0] && data.sections[0].lectures[0].id) {\r\n history.replace(`/course/${userCourseId}-${convertStringForUrl(title)}/lecture/${data.sections[0].lectures[0].id}/admin`);\r\n }\r\n } catch {\r\n history.replace('/dashboard');\r\n }\r\n }\r\n }\r\n\r\n fetch();\r\n // eslint-disable-next-line\r\n }, [props.match.params, lectureStore.isMenuLoading])\r\n\r\n useEffect(() => {\r\n return () => {\r\n dispatch({ type: LECTURE_PANEL_RESET });\r\n }\r\n }, [dispatch])\r\n\r\n if (props.admin && (!AuthenticationService.IsLogged() || !AuthenticationService.IsAdmin()))\r\n return \r\n\r\n return (\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default IsLoggedHOC(LecturePanel);","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport Button from '../Button';\r\nimport { COURSE_ADMIN_POPUP_SET_ADVERTISEMENT_VISIBILITY } from '../redux/actions/ActionTypes';\r\nimport { openCourseAdminPopup } from '../redux/actions/popup/admin/CoursePopupActions';\r\n\r\nconst LectureHeader = ({ admin }) => {\r\n const dispatch = useDispatch();\r\n const lectureStore = useSelector(store => store.lecturePanel);\r\n\r\n const onEdit = () => {\r\n dispatch(openCourseAdminPopup(lectureStore.menu.id))\r\n dispatch({ type: COURSE_ADMIN_POPUP_SET_ADVERTISEMENT_VISIBILITY, payload: { showAdvertisement: true } });\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {lectureStore && lectureStore.menu && lectureStore.menu.title &&

    {lectureStore.menu.title}

    }\r\n
    \r\n\r\n
    \r\n {admin ?
    \r\n
    \r\n );\r\n}\r\n\r\nexport default LectureHeader;","import { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nconst ScrollToTop = (props) => {\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, [pathname]);\r\n\r\n return null;\r\n}\r\n\r\nexport default ScrollToTop;","import React, { useRef, useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport { confirmAccount } from './redux/actions/MainActions';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst EmailConfirmationBanner = (props) => {\r\n const dispatch = useDispatch();\r\n const nodeRef = useRef(null);\r\n const { email, code } = props.match.params;\r\n const [isSent, setSentStatus] = useState(true);\r\n const { t } = useTranslation()\r\n\r\n useEffect(() => {\r\n const fetch = async () => {\r\n setSentStatus(await dispatch(confirmAccount(email, code)));\r\n }\r\n\r\n fetch();\r\n }, [dispatch, code, email]);\r\n\r\n if (isSent === false)\r\n return \r\n\r\n if (isSent === true)\r\n return (\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {t(\"CONGRULATION\")} 🎉
    \r\n {t(\"YOUR_ACCOUNT_HAS_BEEN_ACTIVATED\")}\r\n
    \r\n\r\n
    setSentStatus(false)}>
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default EmailConfirmationBanner;","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { withRouter } from 'react-router-dom';\r\nimport Button from '../../Button';\r\nimport PopupHOC from '../../HOC/PopupHOC';\r\nimport Input from '../../Input';\r\nimport PasswordStrength from '../../PasswordStrength';\r\nimport { SIGN_POPUP_UPDATE_PASSWORD_SET_NEW_PASSWORD, SIGN_POPUP_UPDATE_PASSWORD_SET_RENEW_PASSWORD } from '../../redux/actions/ActionTypes';\r\nimport { resetPopupUpdatePassword } from '../../redux/actions/popup/SignActions';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst UpdatePasswordPopup = (props) => {\r\n const dispatch = useDispatch();\r\n const signStore = useSelector(store => store.signPopup);\r\n const { t } = useTranslation();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n dispatch(resetPopupUpdatePassword(signStore, props.match.params.token));\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {t(\"SIGN_RESET\")}

    \r\n
    \r\n
    \r\n {t(\"RESET_PASSWORD\")}\r\n
    \r\n\r\n
    \r\n
    \r\n dispatch({ type: SIGN_POPUP_UPDATE_PASSWORD_SET_NEW_PASSWORD, payload: { password } })} type={'password'} autocomplete={'current-password'} disabled={signStore.isLoading} error={!signStore.isNewPasswordValid} helperText={t(\"HELPER_PASSWORD_MUST_BE_STRONGER\")} passwordToggle />\r\n \r\n dispatch({ type: SIGN_POPUP_UPDATE_PASSWORD_SET_RENEW_PASSWORD, payload: { password } })} type={'password'} autocomplete={'current-password'} disabled={signStore.isLoading} error={!signStore.isRenewPasswordValid} helperText={t(\"HELPER_PASSWORD_SAME\")} passwordToggle />\r\n\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default PopupHOC(withRouter(UpdatePasswordPopup));","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport AuthenticationService from '../services/Authentication';\r\nimport { VOUCHER_POPUP_SET_ENABLED } from '../redux/actions/ActionTypes';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n// Images\r\nimport Profile from '../resources/images/profile.png';\r\n\r\nconst AdminHeader = () => {\r\n const { t } = useTranslation()\r\n \r\n const dispatch = useDispatch();\r\n let connectedUser = null;\r\n\r\n if (AuthenticationService.IsLogged())\r\n connectedUser = AuthenticationService.GetSession();\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n Revenir à la plateforme\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    profile{`${connectedUser.firstname} ${connectedUser.lastname}`}
    \r\n\r\n
    \r\n
    \r\n {t(\"DASHBOARD\")}\r\n {t(\"PREFERENCES\")}\r\n
    dispatch({ type: VOUCHER_POPUP_SET_ENABLED, payload: { isEnabled: true } })}>{t(\"USE_CODE\")}
    \r\n {t(\"ADMINISTRATION\")} \r\n
    AuthenticationService.Logout()}>{t(\"LOGOUT\")}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default AdminHeader;","import React from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport AuthenticationService from '../services/Authentication';\r\n\r\nconst IsAdminHOC = (WrappedComponent) => {\r\n return (props) => {\r\n if(!AuthenticationService.IsLogged() || !AuthenticationService.IsAdmin()) {\r\n return \r\n }\r\n\r\n return (\r\n \r\n );\r\n };\r\n};\r\n\r\nexport default IsAdminHOC;","import React from 'react'\r\n\r\nconst AdminPanelHOC = (WrappedComponent, title, subTitle) => {\r\n const HOC = (props) => {\r\n return (\r\n <>\r\n
    \r\n

    {title}

    \r\n {subTitle}\r\n
    \r\n\r\n \r\n \r\n )\r\n }\r\n\r\n return HOC\r\n}\r\n\r\nexport default AdminPanelHOC","import React from 'react';\r\nimport propTypes from 'prop-types';\r\nimport { useDispatch } from 'react-redux';\r\nimport { openCategoryAdminPopup } from '../../../redux/actions/popup/admin/CategoryPopupActions';\r\n\r\n// Images\r\nimport NoImage from '../../../resources/images/no-image.png';\r\n\r\nconst CategoryItemAdminTree = ({ category }) => {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    dispatch(openCategoryAdminPopup(category.id))}>\r\n
    \r\n
    \r\n
    \r\n
    \r\n {category.title}\r\n
    \r\n )\r\n}\r\n\r\nCategoryItemAdminTree.propTypes = {\r\n category: propTypes.object.isRequired\r\n};\r\n\r\nexport default CategoryItemAdminTree;","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport SortableTree from 'react-sortable-tree';\r\nimport Button from '../../Button';\r\nimport AdminPanelHOC from '../../HOC/AdminPanelHOC';\r\nimport Input from '../../Input';\r\nimport BasicLoader from '../../loader/BasicLoader';\r\nimport { CATEGORY_ADMIN_PANEL_SET_CATEGORIES } from '../../redux/actions/ActionTypes';\r\nimport { loadCategoryAdmin, updateCategoryPositionAdmin } from '../../redux/actions/admin/CategoryAdminActions';\r\nimport { openCategoryAdminPopup } from '../../redux/actions/popup/admin/CategoryPopupActions';\r\nimport CategoryItemAdminTree from './category/CategoryItemAdminTree';\r\n\r\nconst CategoryAdminPanel = () => {\r\n const dispatch = useDispatch();\r\n const categoryAdminStore = useSelector(store => store.categoryAdminPanel);\r\n\r\n useEffect(() => {\r\n dispatch(loadCategoryAdmin());\r\n\r\n return () => {\r\n dispatch({ type: CATEGORY_ADMIN_PANEL_SET_CATEGORIES, payload: { categories: [] } });\r\n }\r\n }, [dispatch]);\r\n\r\n const onNodeMoved = (e) => {\r\n dispatch(updateCategoryPositionAdmin(e.node.id, e.treeIndex, e.nextParentNode?.id));\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {categoryAdminStore.isLoading ? :\r\n dispatch({ type: CATEGORY_ADMIN_PANEL_SET_CATEGORIES, payload: { categories } })}\r\n isVirtualized={false}\r\n rowHeight={150}\r\n generateNodeProps={({ node }) => {\r\n return {\r\n title: \r\n }\r\n }}\r\n onMoveNode={onNodeMoved}\r\n hand\r\n />}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default AdminPanelHOC(CategoryAdminPanel, 'Categories', 'Gestion des catégories');","import React from 'react';\r\nimport propTypes from 'prop-types';\r\n\r\n// Images\r\nimport Profile from '../../../resources/images/profile.png';\r\n\r\nconst CourseAdminItemPeople = ({ people }) => {\r\n const firstFour = people.slice(0, 4);\r\n const extraUsers = people.slice(4, 24);\r\n\r\n return (\r\n <>\r\n
    \r\n {firstFour.map(user =>\r\n
    \r\n
    \r\n {user.firstname} {user.lastname}\r\n
    \r\n
    \r\n {`${user.firstname}\r\n
    \r\n )}\r\n\r\n {extraUsers && extraUsers.length ?\r\n
    \r\n
    \r\n
    \r\n {extraUsers.map(user => {user.firstname} {user.lastname})}\r\n
    \r\n
    \r\n
    \r\n
    +{extraUsers.length}
    \r\n
    : null}\r\n
    \r\n \r\n );\r\n}\r\n\r\nCourseAdminItemPeople.propTypes = {\r\n people: propTypes.array.isRequired\r\n}\r\n\r\nexport default CourseAdminItemPeople;","import React from 'react';\r\nimport propTypes from 'prop-types';\r\nimport CourseAdminItemPeople from './CourseAdminItemPeople';\r\nimport { useDispatch } from 'react-redux';\r\nimport { openCourseAdminPopup } from '../../../redux/actions/popup/admin/CoursePopupActions';\r\nimport { duplicateCourseAdmin } from '../../../redux/actions/admin/CourseAdminActions';\r\nimport { Link } from 'react-router-dom';\r\nimport { convertStringForUrl } from '../../../Utils';\r\n\r\n// Images\r\nimport NoImage from '../../../resources/images/no-image.png';\r\n\r\nconst CourseAdminItem = ({ course }) => {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n
    \r\n
    \r\n {course.model ? Modèle :
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    dispatch(openCourseAdminPopup(course.id))}>Modifier la formation
    \r\n Editer la structure\r\n
    dispatch(duplicateCourseAdmin(course.id))}>Dupliquer
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {course.title}\r\n\r\n
    \r\n {course.title}\r\n\r\n {course.activesUsers && course.activesUsers.length ?\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n : null}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nCourseAdminItem.propTypes = {\r\n course: propTypes.object.isRequired\r\n};\r\n\r\nexport default CourseAdminItem;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport CourseAdminItem from './CourseAdminItem';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst CourseAdminList = () => {\r\n const { t } = useTranslation()\r\n const courseAdminStore = useSelector(store => store.courseAdminPanel);\r\n\r\n if (!courseAdminStore.isLoading && (!courseAdminStore.courses || !courseAdminStore.courses.length))\r\n return (\r\n
    \r\n {t(\"NO_COURSES_FOUND\")}\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n {courseAdminStore.courses.map(course => )}\r\n\r\n {courseAdminStore.isLoading && <>\r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default CourseAdminList;","import React, { useEffect, useRef, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport AdminPanelHOC from '../../HOC/AdminPanelHOC';\r\nimport Input from '../../Input';\r\nimport { COURSE_ADMIN_PANEL_SET_COURSES, COURSE_ADMIN_PANEL_SET_SEARCH_VALUE } from '../../redux/actions/ActionTypes';\r\nimport { loadCourseAdmin } from '../../redux/actions/admin/CourseAdminActions';\r\nimport { openCourseAdminPopup } from '../../redux/actions/popup/admin/CoursePopupActions';\r\nimport CourseAdminList from './course/CourseAdminList';\r\n\r\nconst CourseAdminPanel = () => {\r\n const dispatch = useDispatch();\r\n const courseAdminStore = useSelector(store => store.courseAdminPanel);\r\n const panelRef = useRef();\r\n const [reloadMore, setReloadMore] = useState(false);\r\n\r\n const onScroll = () => {\r\n if (panelRef) {\r\n const scrollFromBottom = window.scrollY + window.screen.height;\r\n const bottomContainerPosition = panelRef.current.offsetTop + panelRef.current.offsetHeight + 250;\r\n\r\n if (scrollFromBottom > bottomContainerPosition) {\r\n setReloadMore(true);\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n dispatch(loadCourseAdmin(0, null));\r\n\r\n document.addEventListener('scroll', onScroll);\r\n\r\n return () => {\r\n dispatch({ type: COURSE_ADMIN_PANEL_SET_COURSES, payload: { courses: [] } });\r\n document.removeEventListener('scroll', onScroll);\r\n }\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n const fetch = async () => {\r\n if (reloadMore && !courseAdminStore.isLoading && courseAdminStore.hasNext) {\r\n await dispatch(loadCourseAdmin(courseAdminStore.pagingPage + 1, courseAdminStore.searchValue));\r\n setReloadMore(false);\r\n }\r\n }\r\n\r\n fetch();\r\n // eslint-disable-next-line\r\n }, [reloadMore, courseAdminStore.isLoading, courseAdminStore.hasNext]);\r\n\r\n const onTyping = (value) => {\r\n dispatch({ type: COURSE_ADMIN_PANEL_SET_COURSES, payload: { courses: [] } });\r\n dispatch(loadCourseAdmin(0, value));\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n dispatch({ type: COURSE_ADMIN_PANEL_SET_SEARCH_VALUE, payload: { searchValue } })} onTypingDelay={onTyping} />\r\n
    \r\n\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default AdminPanelHOC(CourseAdminPanel, 'Formations', 'Gestion du catalogue de formations');","import Axios from \"axios\"\r\nimport { createNotification } from \"../../../Utils\";\r\nimport { TRACER_ADMIN_PANEL_SET_LOADING, TRACER_ADMIN_PANEL_SET_TRACERS } from \"../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const loadTracerAdmin = (ShowOnlyUsers, codes = []) => async dispatch => {\r\n console.log();\r\n dispatch({ type: TRACER_ADMIN_PANEL_SET_LOADING, payload: { isLoading: true } });\r\n\r\n const codesStr = codes.map((c, i) => `CourseIds[${i}]=${c}`).join('&')\r\n\r\n Axios.get(`usercourse/tracer?ShowOnlyUsers=${ShowOnlyUsers}&${codesStr}`)\r\n .then(({ data }) => {\r\n dispatch({ type: TRACER_ADMIN_PANEL_SET_TRACERS, payload: { tracers: data } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: TRACER_ADMIN_PANEL_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport { addCertificateAdminPopup } from '../../../redux/actions/popup/admin/AssignCertificatePopupActions';\r\nimport { convertStringToDate, convertStringToTime } from '../../../Utils';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n// Images\r\nimport NoImage from '../../../resources/images/no-image.png';\r\nimport Profile from '../../../resources/images/profile.png';\r\n\r\nconst TracerAdminItem = ({ tracer }) => {\r\n const { t } = useTranslation()\r\n const dispatch = useDispatch();\r\n const progression = (tracer.nbLecturesDone / tracer.nbLectures) * 100;\r\n\r\n return (\r\n
    \r\n {tracer.course?.title}\r\n\r\n
    \r\n
    \r\n {`${tracer.user?.firstname}\r\n
    \r\n {!tracer.userOnline && {convertStringToDate(tracer.lastConnection)} {convertStringToTime(tracer.lastConnection)}}\r\n
    \r\n
    \r\n {tracer.user?.firstname} {tracer.user?.lastname}\r\n {tracer.course?.title}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {tracer.nbLecturesDone} / {tracer.nbLectures} {tracer.nbLecturesDone > 1 ? t(\"COURSES_DONE\") : t(\"COURSE_DONE\")} ({Math.floor(progression)}%)\r\n
    \r\n\r\n
    \r\n Section\r\n {tracer.sectionTitle}\r\n\r\n Leçon actuelle\r\n {tracer.lectureTitle}\r\n
    \r\n\r\n
    \r\n );\r\n}\r\n\r\nTracerAdminItem.propTypes = {\r\n tracer: propTypes.object.isRequired\r\n};\r\n\r\nexport default TracerAdminItem;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport TracerAdminItem from './TracerAdminItem';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst TracerAdminList = () => {\r\n const tracerAdminStore = useSelector(store => store.tracerAdminPanel);\r\n const { t } = useTranslation()\r\n\r\n if (tracerAdminStore.isLoading)\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n if (!tracerAdminStore.tracers?.length)\r\n return (\r\n
    \r\n {t(\"NO_TRACERS_FOUND\")}\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n {tracerAdminStore.tracers.map(tracer => )}\r\n
    \r\n );\r\n}\r\n\r\nexport default TracerAdminList;","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport AdminPanelHOC from '../../HOC/AdminPanelHOC';\r\nimport Input from '../../Input';\r\nimport { TRACER_ADMIN_PANEL_SET_SEARCH_VALUE, TRACER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY } from '../../redux/actions/ActionTypes';\r\nimport { loadTracerAdmin } from '../../redux/actions/admin/TracerAdminActions';\r\nimport TracerAdminList from './tracer/TracerAdminList';\r\nimport AsyncSelect from 'react-select/async';\r\nimport { debounce } from 'lodash'\r\nimport Axios from 'axios';\r\n\r\nconst TracerAdminPanel = () => {\r\n const dispatch = useDispatch();\r\n const tracerAdminStore = useSelector(store => store.tracerAdminPanel);\r\n const [coursesCode, setCoursesCode] = useState([])\r\n\r\n const onTyping = (value) => {\r\n // dispatch(loadUserAdmin(0, value, userAdminStore.showActiveUsersOnly));\r\n }\r\n\r\n useEffect(() => {\r\n dispatch(loadTracerAdmin(tracerAdminStore.showActiveUsersOnly));\r\n Axios.get(`course/list/all/code`).then(({ data }) => {\r\n setCoursesCode(data.map(d => {\r\n return { value: d.id, label: d.title }\r\n }))\r\n })\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(loadTracerAdmin(tracerAdminStore.showActiveUsersOnly));\r\n }, [tracerAdminStore.showActiveUsersOnly])\r\n\r\n const promiseOptions = (inputValue) =>\r\n new Promise((resolve) => {\r\n resolve(coursesCode.filter(c => c.label.includes(inputValue)))\r\n });\r\n\r\n const onCoursesCodeChange = (e) => {\r\n console.log(e);\r\n dispatch(loadTracerAdmin(tracerAdminStore.showActiveUsersOnly, e?.map(e => e.value) || []));\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n dispatch({ type: TRACER_ADMIN_PANEL_SET_SEARCH_VALUE, payload: { searchValue } })} onTypingDelay={onTyping} />\r\n
    \r\n
    dispatch({ type: TRACER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY, payload: { showActiveUsersOnly: !tracerAdminStore.showActiveUsersOnly } })}>\r\n Voir uniquement les non-administrateurs\r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default AdminPanelHOC(TracerAdminPanel, 'Suivi', 'Progression des élèves en apprentissage');","import Axios from \"axios\";\r\nimport { USER_ADMIN_PANEL_ADD_USERS, USER_ADMIN_PANEL_SET_HAS_NEXT, USER_ADMIN_PANEL_SET_LOADING, USER_ADMIN_PANEL_SET_PAGING_PAGE } from \"../ActionTypes\";\r\n\r\nexport const loadUserAdmin = (pageIndex = null, name = null, showActiveUsersOnly) => async dispatch => {\r\n dispatch({ type: USER_ADMIN_PANEL_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`user/list/all/admin`, {\r\n params: {\r\n pageIndex,\r\n name: name || null,\r\n showActiveUsersOnly\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: USER_ADMIN_PANEL_SET_PAGING_PAGE, payload: { pagingPage: data.pageIndex } });\r\n dispatch({ type: USER_ADMIN_PANEL_SET_HAS_NEXT, payload: { hasNext: data.hasNext } });\r\n dispatch({ type: USER_ADMIN_PANEL_ADD_USERS, payload: { users: data.paging } });\r\n }).finally(() => {\r\n dispatch({ type: USER_ADMIN_PANEL_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { openUserAdminPopup } from '../../../redux/actions/popup/admin/UserPopupActions';\r\nimport { convertStringToDate } from '../../../Utils';\r\n\r\n// Images\r\nimport Facebook from '../../../resources/images/authentication/facebook-blue.png';\r\nimport Key from '../../../resources/images/authentication/key.png';\r\nimport Microsoft from '../../../resources/images/authentication/microsoft.png';\r\nimport Profile from '../../../resources/images/profile.png';\r\n\r\nconst UserAdminItem = ({ user }) => {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    dispatch(openUserAdminPopup(user.id))}>
    \r\n
    \r\n\r\n
    \r\n
    \r\n {`${user.firstname}\r\n\r\n
    \r\n
    \r\n {user.confirmed &&
    }\r\n {user.firstname} {user.lastname}\r\n
    \r\n {user.business && {user.business}}\r\n\r\n
    \r\n {user.facebook && facebook}\r\n {user.microsoft && microsoft}\r\n {user.formationAcademy && email}\r\n
    \r\n
    \r\n
    \r\n\r\n
      \r\n {user.email &&
    • {user.email}
    • }\r\n {user.phone &&
    • {user.phone}
    • }\r\n
    • Inscrit le {convertStringToDate(user.creationDate)}
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nUserAdminItem.propTypes = {\r\n user: propTypes.object.isRequired\r\n};\r\n\r\nexport default UserAdminItem;","import React from 'react';\r\nimport UserAdminPanelItemLoader from '../../../loader/UserAdminPanelItemLoader';\r\nimport { useSelector } from 'react-redux';\r\nimport UserAdminItem from './UserAdminItem';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst UserAdminList = () => {\r\n const userAdminStore = useSelector(store => store.userAdminPanel);\r\n const { t } = useTranslation()\r\n\r\n if (!userAdminStore.isLoading && !userAdminStore.users?.length)\r\n return (\r\n
    \r\n {t(\"NO_USERS_FOUND\")}\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n {userAdminStore.users.map(user => )}\r\n\r\n {userAdminStore.isLoading && <>\r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default UserAdminList;","import React, { useEffect, useRef, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport AdminPanelHOC from '../../HOC/AdminPanelHOC';\r\nimport Input from '../../Input';\r\nimport { USER_ADMIN_PANEL_SET_SEARCH_VALUE, USER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY, USER_ADMIN_PANEL_SET_USERS } from '../../redux/actions/ActionTypes';\r\nimport { loadUserAdmin } from '../../redux/actions/admin/UserAdminActions';\r\nimport { openUserAdminPopup } from '../../redux/actions/popup/admin/UserPopupActions';\r\nimport UserAdminList from './user/UserAdminList';\r\n\r\nconst UserAdminPanel = () => {\r\n const dispatch = useDispatch();\r\n const userAdminStore = useSelector(store => store.userAdminPanel);\r\n const panelRef = useRef();\r\n const [reloadMore, setReloadMore] = useState(false);\r\n\r\n const onScroll = () => {\r\n const scrollFromBottom = window.scrollY + window.screen.height;\r\n const bottomContainerPosition = panelRef.current.offsetTop + panelRef.current.offsetHeight + 250;\r\n\r\n if (scrollFromBottom > bottomContainerPosition) {\r\n setReloadMore(true);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n // dispatch(loadUserAdmin(0, null, false));\r\n\r\n document.addEventListener('scroll', onScroll);\r\n\r\n return () => {\r\n dispatch({ type: USER_ADMIN_PANEL_SET_USERS, payload: { users: [] } });\r\n document.removeEventListener('scroll', onScroll);\r\n }\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n const fetch = async () => {\r\n if (reloadMore && !userAdminStore.isLoading && userAdminStore.hasNext) {\r\n await dispatch(loadUserAdmin(userAdminStore.pagingPage + 1, userAdminStore.searchValue, userAdminStore.showActiveUsersOnly));\r\n setReloadMore(false);\r\n }\r\n }\r\n\r\n fetch();\r\n // eslint-disable-next-line\r\n }, [reloadMore, userAdminStore.isLoading, userAdminStore.hasNext]);\r\n\r\n const onTyping = (value) => {\r\n dispatch({ type: USER_ADMIN_PANEL_SET_USERS, payload: { users: [] } });\r\n dispatch(loadUserAdmin(0, value, userAdminStore.showActiveUsersOnly));\r\n }\r\n\r\n useEffect(() => {\r\n dispatch({ type: USER_ADMIN_PANEL_SET_USERS, payload: { users: [] } });\r\n dispatch(loadUserAdmin(0, userAdminStore.searchValue, userAdminStore.showActiveUsersOnly));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [userAdminStore.showActiveUsersOnly])\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n dispatch({ type: USER_ADMIN_PANEL_SET_SEARCH_VALUE, payload: { searchValue } })} onTypingDelay={onTyping} />\r\n
    \r\n
    dispatch({ type: USER_ADMIN_PANEL_SET_SHOW_ACTIVE_USERS_ONLY, payload: { showActiveUsersOnly: !userAdminStore.showActiveUsersOnly } })}>\r\n Voir uniquement les membres actifs\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default AdminPanelHOC(UserAdminPanel, 'Utilisateurs', 'Gestion de la communauté');","import Axios from \"axios\";\r\nimport { createNotification } from \"../../../Utils\";\r\nimport { VOUCHER_ADMIN_PANEL_ADD_VOUCHERS, VOUCHER_ADMIN_PANEL_SET_HAS_NEXT, VOUCHER_ADMIN_PANEL_SET_LOADING, VOUCHER_ADMIN_PANEL_SET_PAGING_PAGE, VOUCHER_ADMIN_PANEL_SET_VOUCHER_END_DATE, VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING } from \"../ActionTypes\";\r\nimport i18n from 'i18next';\r\n\r\nexport const loadVoucherAdmin = (pageIndex = null, name = null) => async dispatch => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_SET_LOADING, payload: { isLoading: true } });\r\n\r\n Axios.get(`voucher/list/all/admin`, {\r\n params: {\r\n pageIndex,\r\n name\r\n }\r\n }).then(({ data }) => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_ADD_VOUCHERS, payload: { vouchers: data.paging } });\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_SET_PAGING_PAGE, payload: { pagingPage: data.pageIndex } });\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_SET_HAS_NEXT, payload: { hasNext: data.hasNext } });\r\n }).finally(() => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_SET_LOADING, payload: { isLoading: false } });\r\n });\r\n}\r\n\r\nexport const updateEndDateVoucherAdminPopup = (voucherId, date) => async dispatch => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING, payload: { id: voucherId, isLoading: true } });\r\n\r\n Axios.put(`voucher/${voucherId}/change/dates/admin`, {\r\n endDate: date\r\n }).then(() => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_SET_VOUCHER_END_DATE, payload: { id: voucherId, date } });\r\n }).catch(({ response }) => {\r\n createNotification(i18n.t(\"NOTIFICATION_ERROR_TITLE\"), (response && response.data && response.data.Message) || i18n.t(\"ERROR_MESSAGE\"), 'danger');\r\n }).finally(() => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_SET_VOUCHER_LOADING, payload: { id: voucherId, isLoading: false } });\r\n });\r\n}","import React from 'react';\r\nimport propTypes from 'prop-types';\r\nimport Datepicker from '../../../Datepicker';\r\nimport { timeRemainingForNow } from '../../../Utils';\r\nimport { updateEndDateVoucherAdminPopup } from '../../../redux/actions/admin/VoucherAdminActions';\r\nimport { useDispatch } from 'react-redux';\r\nimport CourseAdminItemPeople from '../course/CourseAdminItemPeople';\r\nimport { openVoucherAdminPopup } from '../../../redux/actions/popup/admin/VoucherPopupActions';\r\n\r\nconst VoucherAdminItem = ({ voucher }) => {\r\n const dispatch = useDispatch();\r\n const expireDate = timeRemainingForNow(voucher.endDate);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    dispatch(openVoucherAdminPopup(voucher.id))}>\r\n
    \r\n
    \r\n
    \r\n
    {voucher.code}
    \r\n\r\n
    \r\n
    \r\n
    \r\n {voucher.voucherCourses?.map((voucherCourse, index) =>
    \r\n
    \r\n {voucherCourse.course.title}\r\n
    \r\n
    \r\n {voucherCourse.id}\r\n
    )}\r\n
    \r\n\r\n {voucher.usersVoucher && voucher.usersVoucher.length ? uv.user)} /> : null}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {expireDate.str}\r\n Modifier} selected={new Date(voucher.endDate)} onChange={(date) => dispatch(updateEndDateVoucherAdminPopup(voucher.id, date))} />\r\n
    \r\n\r\n
    \r\n {voucher.placesAvailable - voucher.placesLeft} / {voucher.placesAvailable}\r\n Places utilisées\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nVoucherAdminItem.propTypes = {\r\n voucher: propTypes.object.isRequired\r\n};\r\n\r\nexport default VoucherAdminItem;","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport BasicLoader from '../../../loader/BasicLoader';\r\nimport VoucherAdminItem from './VoucherAdminItem';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst VoucherAdminList = () => {\r\n const voucherAdminStore = useSelector(store => store.voucherAdminPanel);\r\n const { t } = useTranslation()\r\n\r\n if (!voucherAdminStore.isLoading && !voucherAdminStore.vouchers?.length)\r\n return (\r\n
    \r\n {t(\"NO_VOUCHERS_FOUND\")}\r\n
    \r\n );\r\n\r\n\r\n return (\r\n
    \r\n {voucherAdminStore.vouchers?.map(voucher => )}\r\n\r\n {voucherAdminStore.isLoading && <>\r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default VoucherAdminList;","import React, { useEffect, useRef, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '../../Button';\r\nimport AdminPanelHOC from '../../HOC/AdminPanelHOC';\r\nimport Input from '../../Input';\r\nimport { VOUCHER_ADMIN_PANEL_SET_SEARCH_VALUE, VOUCHER_ADMIN_PANEL_SET_VOUCHERS } from '../../redux/actions/ActionTypes';\r\nimport { loadVoucherAdmin } from '../../redux/actions/admin/VoucherAdminActions';\r\nimport { openVoucherAdminPopup } from '../../redux/actions/popup/admin/VoucherPopupActions';\r\nimport VoucherAdminList from './voucher/VoucherAdminList';\r\n\r\nconst VoucherAdminPanel = () => {\r\n const dispatch = useDispatch();\r\n const voucherAdminStore = useSelector(store => store.voucherAdminPanel);\r\n const panelRef = useRef();\r\n const [reloadMore, setReloadMore] = useState(false);\r\n\r\n const onScroll = () => {\r\n const scrollFromBottom = window.scrollY + window.screen.height;\r\n const bottomContainerPosition = panelRef.current.offsetTop + panelRef.current.offsetHeight + 250;\r\n\r\n if (scrollFromBottom > bottomContainerPosition) {\r\n setReloadMore(true);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n dispatch(loadVoucherAdmin(0, null));\r\n\r\n document.addEventListener('scroll', onScroll);\r\n\r\n return () => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_SET_VOUCHERS, payload: { vouchers: [] } });\r\n document.removeEventListener('scroll', onScroll);\r\n }\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n const fetch = async () => {\r\n if (reloadMore && !voucherAdminStore.isLoading && voucherAdminStore.hasNext) {\r\n await dispatch(loadVoucherAdmin(voucherAdminStore.pagingPage + 1, voucherAdminStore.searchValue));\r\n setReloadMore(false);\r\n }\r\n }\r\n\r\n fetch();\r\n // eslint-disable-next-line\r\n }, [reloadMore, voucherAdminStore.isLoading, voucherAdminStore.hasNext]);\r\n\r\n const onTyping = (value) => {\r\n dispatch({ type: VOUCHER_ADMIN_PANEL_SET_VOUCHERS, payload: { vouchers: [] } });\r\n dispatch(loadVoucherAdmin(0, value));\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n dispatch({ type: VOUCHER_ADMIN_PANEL_SET_SEARCH_VALUE, payload: { searchValue } })} onTypingDelay={onTyping} />\r\n
    \r\n\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default AdminPanelHOC(VoucherAdminPanel, 'Bon d\\'accès', 'Gestion des vouchers');","import React from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { Link } from 'react-router-dom';\r\nimport IsAdminHOC from '../../HOC/IsAdminHOC';\r\nimport { ADMIN_PANEL } from '../../resources/constants/adminPanel';\r\nimport { ADMIN_MENU } from '../../resources/constants/menu';\r\nimport CategoryAdminPanel from './CategoryAdminPanel';\r\nimport CourseAdminPanel from './CourseAdminPanel';\r\nimport TracerAdminPanel from './TracerAdminPanel';\r\nimport UserAdminPanel from './UserAdminPanel';\r\nimport VoucherAdminPanel from './VoucherAdminPanel';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst AdminPanel = (props) => {\r\n const { menu } = props.match.params;\r\n const { t } = useTranslation()\r\n\r\n return (\r\n <>\r\n \r\n {t(\"ADMINISTRATION\")} · FormationAcademy\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {t(\"ADMINISTRATION\")}

    \r\n\r\n
    \r\n {ADMIN_MENU.map(item => {t(item.name)})}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {menu === ADMIN_PANEL.COURSES && }\r\n {menu === ADMIN_PANEL.USERS && }\r\n {menu === ADMIN_PANEL.CATEGORIES && }\r\n {menu === ADMIN_PANEL.VOUCHERS && }\r\n {menu === ADMIN_PANEL.TRACER && }\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default IsAdminHOC(AdminPanel);","import React from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst TermsPanel = () => {\r\n const { t } = useTranslation();\r\n \r\n return (\r\n <>\r\n \r\n {t(\"LEGAL_MENTIONS\")} · FormationAcademy\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {t(\"LEGAL_MENTIONS\")}

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    {t(\"COMPANY\")}

    \r\n

    \r\n REUNIT SA

    \r\n RCSL B 91.973

    \r\n 12, rue de bastogne
    \r\n L-1217 Luxembourg
    \r\n Grand-duché du Luxembourg\r\n

    \r\n\r\n

    Conditions d’utilisation

    \r\n

    \r\n Le site et chacun des éléments, y compris mais sans limitation les marques, les logos, icônes, infographies, photographies, qui le composent sont protégés au titre de la législation internationale de la propriété intellectuelle. Les contenus figurant sur le site sont la propriété de Reunit ou d’autres entreprises. Toute utilisation, reproduction ou représentation, par quelque procédé que ce soit, et sur quelque support que ce soit, de tout ou partie du site et/ou des éléments qui le composent n’est pas autorisée sans le consentement expresse de Reunit.
    \r\n Veuillez trouver ci-dessous la liste des marques déposées et enregistrées par REUNIT. Veuillez noter que cette liste n’est pas exhaustive et l’absence d’une marque sur cette liste ne constitue pas une renonciation de la part de Reunit sur ses droits de propriété intellectuelle.
    \r\n
    \r\n Formation.academy
    \r\n Entreprises.academy
    \r\n Janssens.academy
    \r\n Sage.lu
    \r\n Reunit.eu
    \r\n Reunit.net
    \r\n Reunit.org
    \r\n Reunit.fr
    \r\n Reunit.be
    \r\n Reunit.lu
    \r\n
    \r\n Les autres marques et logos apparaissant sur le site sont la propriété exclusive des parties tiers et REUNIT ne détient aucun droit dessus. Ils sont soumis à la protection du droit de la propriété intellectuelle. Vous ne pouvez pas utiliser ou reproduire les marques de ces partenaires sans leur autorisation expresse, nous vous prions de vous référer aux différentes directives des parties tiers sur l’utilisation de ces marques.\r\n

    \r\n\r\n

    Données personnelles

    \r\n

    \r\n D’une façon générale, vous pouvez visiter notre site sur Internet sans avoir à décliner votre identité et à fournir des informations personnelles vous concernant. Cependant, nous pouvons parfois vous demander des informations. Par exemple, pour traiter une commande, établir une correspondance, fournir un abonnement ou soumettre une candidature à un poste. Nous pouvons compléter ces informations pour conclure une transaction ou offrir un meilleur service.\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default TermsPanel;","import React from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst PrivacyPanel = () => {\r\n const { t } = useTranslation();\r\n \r\n return (\r\n <>\r\n \r\n {t(\"PRIVACY\")} · FormationAcademy\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {t(\"PRIVACY\")}

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Politique de confidentialité mise à jour le 10-02-2021.

    \r\n

    \r\n Merci d'avoir rejoint la communauté d’apprentissage francophone ReunIT !

    \r\n Chez ReunIT S.A (\"ReunIT\", \"nous\", \"notre\") nous respectons votre vie privée et voulons que vous compreniez comment nous recueillons, utilisons et partageons les données vous concernant. Cette politique de confidentialité couvre nos pratiques de collecte de données et décrit vos droits d'accès, de rectification ou de restriction de l'utilisation de vos données personnelles.
    \r\n Sauf lien vers une autre politique ou indication contraire, la présente Politique de confidentialité s'applique lorsque vous visitez ou utilisez le site Web de ReunIT, les applications mobiles, les API ou les services connexes (les \"Services\").
    \r\n En utilisant les Services, vous acceptez les termes de cette Politique de confidentialité. Vous ne devriez pas utiliser les Services si vous n'êtes pas d'accord avec cette Politique de confidentialité ou tout autre accord qui régit votre utilisation des Services.
    \r\n Pour toutes questions concernant la confidentialité et la vie privée, veuillez nous envoyer un message à l’adresse : privacy@reunit.eu\r\n

    \r\n\r\n

    Identité du responsable du traitement et coordonnées

    \r\n

    \r\n Le responsable du traitement est :
    \r\n ReunIT S.A.
    \r\n 12, Rue de Bastogne
    \r\n Grand-duché du Luxembourg\r\n

    \r\n\r\n

    Quelles sont les données que nous collectons ?

    \r\n

    Nous recueillons certaines données vous concernant directement, telles que les informations que vous saisissez vous-même, les données relatives à votre participation à des cours. Nous recueillons également certaines données automatiquement, comme des informations sur votre appareil et sur les parties de nos Services avec lesquelles vous interagissez ou passez du temps à utiliser.

    \r\n

    Nous pouvons recueillir des données à votre sujet selon la façon dont vous utilisez les Services. Lorsque vous créez un compte et utilisez les Services, y compris par l'intermédiaire d'une plate-forme tierce, nous recueillons toutes les données que vous fournissez directement, y compris :

    \r\n
      \r\n
    • Nom, prénom
    • \r\n
    • Adresse, ville, pays
    • \r\n
    • Adresse e-mail, téléphone
    • \r\n
    • Données sur le paiement des clients
    • \r\n
    \r\n\r\n

    Pourquoi nous utilisons vos données ?

    \r\n

    Nous utilisons vos données pour fournir nos services, communiquer avec vous, résoudre des problèmes, vous protégez contre la fraude et les abus, améliorer et mettre à jour nos services, et tel que requis par la loi ou nécessaire pour la sécurité et l'intégrité.

    \r\n

    Nous utilisons aussi les données que nous recueillons par le biais de votre utilisation des Services :

    \r\n
      \r\n
    • Fournir et administrer les Services, y compris pour afficher un contenu personnalisé et faciliter la communication avec les autres utilisateurs ;
    • \r\n
    • Traiter vos demandes et commandes de cours, de produits, de services spécifiques, d'informations ou de fonctionnalités ;
    • \r\n
    • Communiquer avec vous au sujet de votre compte pour :
    • \r\n
    • Répondre à vos questions et préoccupations ;
    • \r\n
    • Vous envoyez des messages administratifs et des informations, y compris des messages des instructeurs et des assistants d'enseignement, des notifications sur les changements apportés à notre service et des mises à jour de nos accords ;
    • \r\n
    • Vous envoyez de l'information et des messages sur vos progrès dans les cours, les nouveaux services, les nouvelles fonctions, les promotions, les bulletins d'information et autres cours disponibles (dont vous pouvez vous retirer en tout temps) ;
    • \r\n
    • Gérer les préférences de votre compte ;
    • \r\n
    • Faciliter le fonctionnement technique des Services, y compris le dépannage et la résolution de problèmes, la sécurisation des Services et la prévention de la fraude et des abus ;
    • \r\n
    • Solliciter les commentaires des utilisateurs ;
    • \r\n
    • Identifier les utilisateurs uniques d'un appareil à l'autre ;
    • \r\n
    • Améliorer nos services et développer de nouveaux produits, services et fonctionnalités ;
    • \r\n
    • Analysez les tendances et le trafic, suivez les achats et suivez les données d'utilisation ;
    • \r\n
    • Annoncer les Services sur les sites Web et applications de tiers.
    • \r\n
    \r\n\r\n

    Avec qui nous partageons vos données ?

    \r\n

    Nous partageons certaines données vous concernant avec des instructeurs, des entreprises qui fournissent des services pour nous, nos partenaires commerciaux, des fournisseurs d'analyse et d'enrichissement de données, vos fournisseurs de médias sociaux, des entreprises qui nous aident à faire des promotions et des sondages, et des entreprises de publicité qui nous aident à promouvoir nos services. Nous pouvons également partager vos données si nécessaires pour des raisons de sécurité, de conformité légale ou dans le cadre d'une restructuration d'entreprise. Enfin, nous pouvons partager les données d'autres façons si elles sont agrégées ou dépersonnalisées ou si nous obtenons votre consentement.

    \r\n\r\n

    Combien de temps nous gardons vos données ?

    \r\n

    Nous gardons vos données concernant la facturation, le paiement et tous autres documents comptables 10 ans comme imposé par la loi du commerce Luxembourgeoise.

    \r\n

    Pour les données autre que comptable nous les gardons autant que cela soit nécessaire au traitement. Vous pouvez à tout moment nous demander la suppression de vos données personnelles en envoyant un message à l’adresse : privacy@reunit.eu.

    \r\n\r\n

    Sécurité

    \r\n

    Nous utilisons une sécurité appropriée en fonction du type et de la sensibilité des données stockées. Il est donc important de protéger votre mot de passe et de nous contacter si vous soupçonnez un accès non autorisé à votre compte.

    \r\n\r\n

    Quelles sont vos droits ?

    \r\n

    En tant que personne concernées, vous pouvez faire valoir les droits suivants :

    \r\n

    Le droit à l’accès : Vous avez le droit d’obtenir de notre part la confirmation que les données personnelles vous concernant font l’objet d’un traitement et, le cas échéant, l’accès aux données personnelles et à certaines informations.

    \r\n

    Le droit à la rectification : Vous avez le droit d’obtenir de notre part, sans retard injustifié, la rectification de données personnelles inexactes vous concernant. Compte tenu des finalités du traitement, vous avez le droit de faire compléter des données personnelles incomplètes, y compris en fournissant une déclaration supplémentaire.

    \r\n

    Le droit à l’effacement : Vous avez le droit d’obtenir de notre part l’effacement des données personnelles vous concernant sans retard injustifié.

    \r\n

    Le droit de limiter le traitement : Vous avez le droit d’obtenir de notre part la restriction de traitement.

    \r\n

    Le droit de faire opposition : Vous avez le droit de vous opposer, pour des motifs liés à votre situation particulière, à tout moment au traitement des données personnelles vous concernant, qui est fondé sur des intérêts légitimes ou pour l’exécution d’une mission effectuée dans l’intérêt public ou dans l’exercice de l’autorité publique dont est investi le responsable de traitement.

    \r\n

    Le droit à la portabilité : Vous avez le droit de recevoir les données personnelles vous concernant, que vous nous avez fournies, dans un format structuré, couramment utilisé et lisible par un ordinateur.

    \r\n

    Le droit de remonté une plainte à l’autorité indépendante de contrôle : Sans préjudice de tout autre recours administratifs ou judiciaire, vous avez le droit de déposer une plainte auprès de l’autorité de contrôle, notamment dans l’Etat membre de votre résidence habituelle, de votre lieu de travail ou du lieu de l’infraction alléguée, si vous estimez que le traitement de données à caractère personnel qui vous est renvoyé viole le Règlement Général sur la Protection des Données (RGPD).

    \r\n

    Lorsque le traitement est fondé sur votre consentement éclairé, vous avez le droit de retirer votre consentement à tout moment, sans que cela n’affecte la licéité du traitement fondé sur le consentement avant son retrait. Par conséquent, vous pouvez nous renvoyer un message à privacy@reunit.eu.

    \r\n\r\n

    Votre obligation de nous fournir des données personnelles

    \r\n

    Vous n’avez aucune obligation légale ou contractuelle de nous fournir des données personnelles. Toutefois, nous pourrions ne pas être en mesure de vous fournir nos services si vous décidez de ne pas le faire.

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default PrivacyPanel;","export default __webpack_public_path__ + \"static/media/Radhouen.7f6588ea.JPG\";","export default __webpack_public_path__ + \"static/media/Saber.150fc96f.JPG\";","export default __webpack_public_path__ + \"static/media/Yassine.f7f2f3c5.JPG\";","// Images\r\nimport Radhouen from \"../../resources/images/team/Radhouen.JPG\";\r\nimport Saber from \"../../resources/images/team/Saber.JPG\";\r\nimport Yassine from \"../../resources/images/team/Yassine.JPG\";\r\nimport Freddy from \"../../resources/images/team/freddy-janssens.png\";\r\n\r\nexport const TEAM = [\r\n {\r\n picture: Freddy,\r\n name: \"Freddy\",\r\n status: \"Architecte de Solution IT & Responsable pédagogique\",\r\n description: [\r\n \"✨ Expert certifié Microsoft et VMware\",\r\n \"👨🏼‍💻 6 ans d'expérience en formation à distance\",\r\n \"🗣 Mentor Cloud auprès de OpenClassRoom\",\r\n \"🧠 7 ans d'expérience dans les neurosciences et la neuropédagogie\",\r\n \"👨🏼‍🏫 30 ans d'expérience en tant que formateur\",\r\n \"🏅 Marathonien, Triathlète IRONMAN (🏊🏻 3,8km, 🚴🏻‍♂️ 180km, 🏃 42km)\",\r\n ],\r\n linkedin: \"https://www.linkedin.com/in/freddy-janssens/\",\r\n style: {\r\n background:\r\n \"linear-gradient(125deg, rgba(47,234,168,0.1) 0%, rgba(2,140,243,0.1) 100%)\",\r\n },\r\n },\r\n {\r\n picture: Radhouen,\r\n name: \"Radhouen\",\r\n status: \"Architecte de Solution IT et formateur certifié Microsoft\",\r\n description: [\r\n \"✨ 15 ans d'expériences\",\r\n \"👨🏼‍💻 Expert certifié Microsoft\",\r\n \"👨🏼‍🏫 4 ans d'expérience en tant que formateur\",\r\n \"🏅 Amateur astronomie\",\r\n ],\r\n style: {\r\n background:\r\n \"linear-gradient(125deg, rgba(251,171,126,0.1) 0%, rgba(247,206,104,0.1) 100%)\",\r\n },\r\n },\r\n {\r\n picture: Yassine,\r\n name: \"Yassine\",\r\n status: \"Consultant et formateur certifié Microsoft\",\r\n description: [\r\n \"✨ Expert certifié Microsoft\",\r\n \"👨🏼‍💻 5 ans d'expérience en formation à distance\",\r\n \"👨🏼‍🏫 10 ans d'expérience en tant que formateur\",\r\n \"🏅 Basketball\",\r\n ],\r\n style: {\r\n background:\r\n \"linear-gradient(125deg, rgba(242, 146, 237, 0.1) 0%, rgba(243, 99, 100, 0.1) 100%)\",\r\n },\r\n },\r\n {\r\n picture: Saber,\r\n name: \"Saber\",\r\n status: \"Microsoft Office Specialist\",\r\n description: [\r\n \"👨🏼‍🏫 5 ans d'expérience en tant que formateur bureautique\",\r\n \"🏅 Gastronomie\",\r\n ],\r\n style: {\r\n background:\r\n \"linear-gradient(125deg, rgba(149,236,176,0.1) 0%, rgba(243,249,138,0.1) 100%)\",\r\n },\r\n },\r\n];\r\n","export default __webpack_public_path__ + \"static/media/freddy-janssens.1f0400b0.png\";","import propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Button from '../../../Button';\r\nimport { PREVIEW_PANEL_INTERVIEW_POPUP_SET_ENABLED } from '../../../redux/actions/ActionTypes';\r\n\r\nconst TeamItem = ({ member }) => {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {member.name}\r\n {member.status}\r\n\r\n
      \r\n {member.description?.map((d, index) =>
    • {d}
    • )}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nTeamItem.propTypes = {\r\n member: propTypes.object.isRequired\r\n};\r\n\r\nexport default TeamItem;","import React from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { TEAM } from '../../resources/constants/team';\r\nimport TeamItem from './team/TeamItem';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst TeamPanel = (props) => {\r\n const { t } = useTranslation();\r\n \r\n return (\r\n <>\r\n \r\n {t(\"TEAM\")} · FormationAcademy\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {t(\"TEAM\")}

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {TEAM.map((member, index) => )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default TeamPanel;","import React from 'react';\r\nimport { InlineWidget } from \"react-calendly\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst MainViewFive = ({ mainViewRef, mainTitlemainViewRef, overlayTitlemainViewRef }) => {\r\n const { t } = useTranslation()\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {t(\"MAKE_PROGRAM\")}\r\n\r\n
    \r\n

    {t(\"MAKE_PROGRAM\")}

    \r\n
    \r\n

    \r\n
    \r\n\r\n

    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default MainViewFive;","import React from 'react';\r\n\r\n// Images\r\nimport Telindus from '../../../resources/images/solution/company/telindus.png';\r\nimport NextMedia from '../../../resources/images/solution/company/next-media.png';\r\nimport Aelion from '../../../resources/images/solution/company/aelion.png';\r\nimport Arrow from '../../../resources/images/solution/company/arrow.png';\r\nimport { useDispatch } from 'react-redux';\r\nimport { PREVIEW_PANEL_INTERVIEW_POPUP_SET_ENABLED } from '../../../redux/actions/ActionTypes';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst MainViewFour = ({ mainViewRef, mainTitlemainViewRef, overlayTitlemainViewRef }) => {\r\n const dispatch = useDispatch();\r\n const { t } = useTranslation()\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {t(\"TRUST_US\")}\r\n\r\n
    \r\n

    {t(\"TRUST_US\")}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n telindus\r\n next media\r\n aelion\r\n arrow\r\n
    \r\n\r\n
    dispatch({ type: PREVIEW_PANEL_INTERVIEW_POPUP_SET_ENABLED, payload: { popupEnabled: true } })} className='cto-button-container'>\r\n
    {t(\"DISCOVER_EXP\")}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default MainViewFour;","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJcAAAA/CAYAAADt0Fr6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA25pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxYzQ4YjMxOC1lMjliLTM1NGMtYTMxYS1jNzlhOTU5NTRiYjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTMyMjZFOTdDOUY5MTFFN0IwMkFBMjhCM0ZDQTVEMkMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTMyMjZFOTZDOUY5MTFFN0IwMkFBMjhCM0ZDQTVEMkMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzIxOTdDMkFDOTNEMTFFNzhDREFDOUM0MjMwRURCRTYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzIxOTdDMkJDOTNEMTFFNzhDREFDOUM0MjMwRURCRTYiLz4gPC9yZGY6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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlsAAACFCAYAAABsbj0HAAAACXBIWXMAAC4jAAAuIwF4pT92AAAGX2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDMgNzkuMTY0NTI3LCAyMDIwLzEwLzE1LTE3OjQ4OjMyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjIuMSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMDEtMjJUMDk6MjA6NTcrMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIxLTAxLTIyVDA5OjIxOjMyKzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIxLTAxLTIyVDA5OjIxOjMyKzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmUxN2FhNDJlLTI2YjMtNDdiZC04ZGY2LWIyMGVjYTkzN2Y5ZSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmI5NmVlNWM4LTVlZWYtOWE0ZC1hYWQ2LTM1Mzk1ZmM4ZDcwZSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjM2OTYyMDZhLTU0ZjgtNGY4NS1hZGQzLWRhOWFhZjExNjU0OCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MzY5NjIwNmEtNTRmOC00Zjg1LWFkZDMtZGE5YWFmMTE2NTQ4IiBzdEV2dDp3aGVuPSIyMDIxLTAxLTIyVDA5OjIwOjU3KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjIuMSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplMTdhYTQyZS0yNmIzLTQ3YmQtOGRmNi1iMjBlY2E5MzdmOWUiIHN0RXZ0OndoZW49IjIwMjEtMDEtMjJUMDk6MjE6MzIrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMi4xIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpSDCdgAABj+SURBVHic7d3/ceNGtgXgs682AGRgbATbGbhfBKsMLEdgOYLhRqDZCCRHMOMI1I5AvREMHIGQwbw/KL6hOSSIH/fgdoPnq0LVjEQcXDZAstVoAoCIiIiIiIiIiIiIiIiIbEcD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\"","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst MainViewOne = ({ mainViewRef, mainTitlemainViewRef, overlayTitlemainViewRef }) => {\r\n const { t } = useTranslation()\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {t(\"EXPERT_WITH_YOU\")}\r\n\r\n
    \r\n

    {t(\"EXPERT_WITH_YOU\")}

    \r\n
    \r\n

    \r\n
    \r\n\r\n \r\n
    {t(\"MEET_EXPERTS\")}
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default MainViewOne;","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useDispatch } from 'react-redux';\r\nimport { PREVIEW_PANEL_INTERVIEW_POPUP_SET_ENABLED } from '../../../redux/actions/ActionTypes';\r\n\r\nconst MainViewThree = ({ mainViewRef, mainTitlemainViewRef, overlayTitlemainViewRef }) => {\r\n const dispatch = useDispatch();\r\n const { t } = useTranslation()\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {t(\"PRO_LABS\")}\r\n\r\n
    \r\n

    {t(\"PRO_LABS\")}

    \r\n
    \r\n

    \r\n
    \r\n\r\n
    dispatch({ type: PREVIEW_PANEL_INTERVIEW_POPUP_SET_ENABLED, payload: { popupEnabled: true } })} className='cto-button-container'>\r\n
    {t(\"SEE_MORE_LABS\")}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default MainViewThree;","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst MainViewTwo = ({ mainViewRef, mainTitlemainViewRef, overlayTitlemainViewRef }) => {\r\n const { t } = useTranslation()\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {t(\"CUSTOM_COURSE\")}\r\n\r\n
    \r\n

    {t(\"CUSTOM_COURSE\")}

    \r\n
    \r\n

    \r\n
    \r\n\r\n \r\n
    {t(\"SEE_CATALOG\")}
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default MainViewTwo;","import React from 'react';\r\nimport { Link } from 'react-scroll';\r\n\r\nconst SolutionFixedView = ({ mainIllustrationRef, objectBookRef, objectClockRef, objectGamepadRef, objectKeyRef, objectBatteryRef, objectSpiral1Ref }) => {\r\n return (\r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n

    Jamais une formation n'a été aussi\r\n
    \r\n
    efficace
    \r\n
    adaptée à vos besoins
    \r\n
    personalisée
    \r\n
    rythmée
    \r\n
    \r\n

    \r\n

    Conçue selon vos besoins, rythmée selon votre disponibilité et adaptée selon vos connaissances

    \r\n\r\n
    \r\n \r\n
    \r\n En savoir plus\r\n
    \r\n \r\n\r\n \r\n \r\n Prendre rendez-vous maintenant\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SolutionFixedView;","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport propTypes from 'prop-types';\r\nimport { INTERVIEW_POPUP_SET_INTERVIEW_ID } from '../../../redux/actions/ActionTypes';\r\n\r\nconst SolutionInterviewItem = ({ interview, index }) => {\r\n const dispatch = useDispatch();\r\n\r\n const onShowPopup = () => {\r\n dispatch({ type: INTERVIEW_POPUP_SET_INTERVIEW_ID, payload: { interviewId: index } });\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {interview.name}\r\n
    \r\n
    \r\n\r\n
    \r\n

    {interview.comment}

    \r\n {interview.name}\r\n\r\n
    \r\n
    \r\n
    \r\n Visionner le témoignage\r\n
    \r\n \r\n );\r\n}\r\n\r\nSolutionInterviewItem.propTypes = {\r\n interview: propTypes.object.isRequired\r\n};\r\n\r\nexport default SolutionInterviewItem;","import React from 'react';\r\nimport { INTERVIEW } from '../../../resources/constants/interview';\r\nimport SolutionInterviewItem from './SolutionInterviewItem';\r\n\r\nconst TransitionViewFour = ({ transitionViewRef, transitionViewPathRef, transitionViewAdvantage1Ref, transitionViewAdvantage2Ref, transitionViewAdvantage3Ref, mainPanelRef }) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default TransitionViewFour;","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst TransitionViewOne = ({ transitionViewRef, transitionViewPathRef, transitionViewAdvantage1Ref, transitionViewAdvantage2Ref, transitionViewAdvantage3Ref }) => {\r\n const { t } = useTranslation()\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {t(\"GIVE_SKILLS\")}\r\n

    {t(\"GIVE_SKILLS_DESC\")}

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {t(\"EASY_CERTIFICATION\")}\r\n

    {t(\"EASY_CERTIFICATION_DESC\")}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {t(\"365DAYS_TEACHER\")}\r\n

    {t(\"365DAYS_TEACHER_DESC\")}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default TransitionViewOne;","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst TransitionViewThree = ({ transitionViewRef, transitionViewPathRef, transitionViewAdvantage1Ref, transitionViewAdvantage2Ref, transitionViewAdvantage3Ref }) => {\r\n const { t } = useTranslation()\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {t(\"TRAIN_ON_MACHINE\")}\r\n

    {t(\"TRAIN_ON_MACHINE_DESC\")}

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {t(\"HIGH_YOUR_BRAIN\")}\r\n

    {t(\"HIGH_YOUR_BRAIN_DESC\")}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {t(\"HIGH_PRODUCTIVITY\")}\r\n

    {t(\"HIGH_PRODUCTIVITY_DESC\")}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default TransitionViewThree;","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst TransitionViewTwo = ({ transitionViewRef, transitionViewPathRef, transitionViewAdvantage1Ref, transitionViewAdvantage2Ref, transitionViewAdvantage3Ref }) => {\r\n const { t } = useTranslation()\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {t(\"ACCORD_YOUR_AGENDA\")}\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {t(\"WORTH_TAILORED\")}\r\n

    {t(\"WORTH_TAILORED_DESC\")}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {t(\"LEARN_RYTHME\")}\r\n

    {t(\"LEARN_RYTHME_DESC\")}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default TransitionViewTwo;","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Element } from 'react-scroll';\r\nimport { PREVIEW_PANEL_INTERVIEW_POPUP_SET_ENABLED } from '../../redux/actions/ActionTypes';\r\nimport MainViewFive from './solution/MainViewFive';\r\nimport MainViewFour from './solution/MainViewFour';\r\nimport MainViewOne from './solution/MainViewOne';\r\nimport MainViewThree from './solution/MainViewThree';\r\nimport MainViewTwo from './solution/MainViewTwo';\r\nimport SolutionFixedView from './solution/SolutionFixedView';\r\nimport TransitionViewFour from './solution/TransitionViewFour';\r\nimport TransitionViewOne from './solution/TransitionViewOne';\r\nimport TransitionViewThree from './solution/TransitionViewThree';\r\nimport TransitionViewTwo from './solution/TransitionViewTwo';\r\n\r\nconst SolutionPanel = () => {\r\n const dispatch = useDispatch();\r\n const { t } = useTranslation()\r\n\r\n // CONSTANTS\r\n const VIEWS = [\r\n 'view-1', 'transition-1',\r\n 'view-2', 'transition-2',\r\n 'view-3', 'transition-3',\r\n 'view-4', 'transition-4',\r\n 'view-5'\r\n ];\r\n\r\n const scrollableContainerRef = useRef();\r\n const arrowsContainerRef = useRef();\r\n const [previousView, setPreviewView] = useState(null);\r\n const [nextView, setNextView] = useState(VIEWS[1]);\r\n\r\n // Fixed panel\r\n const makeAppointmentBtnRef = useRef();\r\n const mainPanelRef = useRef();\r\n const mainIllustrationRef = useRef();\r\n const objectBookRef = useRef();\r\n const objectClockRef = useRef();\r\n const objectGamepadRef = useRef();\r\n const objectKeyRef = useRef();\r\n const objectBatteryRef = useRef();\r\n const objectSpiral1Ref = useRef();\r\n\r\n // SubPanel1\r\n const mainView1Ref = useRef();\r\n const mainTitlemainView1Ref = useRef();\r\n const overlayTitlemainView1Ref = useRef();\r\n\r\n // TransitionView1\r\n const transitionView1Ref = useRef();\r\n const transitionView1PathRef = useRef();\r\n const transitionView1Advantage1Ref = useRef();\r\n const transitionView1Advantage2Ref = useRef();\r\n const transitionView1Advantage3Ref = useRef();\r\n\r\n // SubPanel2\r\n const mainView2Ref = useRef();\r\n const mainTitlemainView2Ref = useRef();\r\n const overlayTitlemainView2Ref = useRef();\r\n\r\n // TransitionView2\r\n const transitionView2Ref = useRef();\r\n const transitionView2PathRef = useRef();\r\n const transitionView2Advantage1Ref = useRef();\r\n const transitionView2Advantage2Ref = useRef();\r\n const transitionView2Advantage3Ref = useRef();\r\n\r\n // SubPanel3\r\n const mainView3Ref = useRef();\r\n const mainTitlemainView3Ref = useRef();\r\n const overlayTitlemainView3Ref = useRef();\r\n\r\n // TransitionView3\r\n const transitionView3Ref = useRef();\r\n const transitionView3PathRef = useRef();\r\n const transitionView3Advantage1Ref = useRef();\r\n const transitionView3Advantage2Ref = useRef();\r\n const transitionView3Advantage3Ref = useRef();\r\n\r\n // SubPanel4\r\n const mainView4Ref = useRef();\r\n const mainTitlemainView4Ref = useRef();\r\n const overlayTitlemainView4Ref = useRef();\r\n\r\n // TransitionView3\r\n const transitionView4Ref = useRef();\r\n const transitionView4PathRef = useRef();\r\n const transitionView4Advantage1Ref = useRef();\r\n const transitionView4Advantage2Ref = useRef();\r\n const transitionView4Advantage3Ref = useRef();\r\n\r\n // SubPanel5\r\n const mainView5Ref = useRef();\r\n const mainTitlemainView5Ref = useRef();\r\n const overlayTitlemainView5Ref = useRef();\r\n\r\n const onVerticalScrolling = () => {\r\n // Fixed panel\r\n const mainPanelProgress = 1 - Math.min(Math.max((mainPanelRef.current.getBoundingClientRect().top / window.innerHeight), 0), 1);\r\n if (mainPanelProgress >= 0 && mainPanelProgress <= 1) {\r\n const transition1Progress = Math.min(Math.max(-(transitionView1Ref.current.getBoundingClientRect().left - window.innerWidth) / transitionView1Ref.current.getBoundingClientRect().width, 0), 1);\r\n if (mainPanelProgress >= 1 || transition1Progress > 0) {\r\n mainPanelRef.current.style.overflowY = 'auto';\r\n mainPanelRef.current.style.borderRadius = '0';\r\n arrowsContainerRef.current.style.opacity = '1';\r\n makeAppointmentBtnRef.current.style.opacity = '0.5';\r\n } else {\r\n mainPanelRef.current.style.borderRadius = '40px';\r\n mainPanelRef.current.style.overflowY = 'hidden';\r\n arrowsContainerRef.current.style.opacity = '0';\r\n makeAppointmentBtnRef.current.style.opacity = '0';\r\n }\r\n\r\n mainIllustrationRef.current.style.transform = `translateX(${mainPanelProgress * 1000}px) translateY(${mainPanelProgress * 500}px)`;\r\n objectBookRef.current.style.transform = `translateY(-${mainPanelProgress * 500}px)`;\r\n objectClockRef.current.style.transform = `translateY(-${mainPanelProgress * 300}px)`;\r\n objectGamepadRef.current.style.transform = `translateY(-${mainPanelProgress * 400}px)`;\r\n objectKeyRef.current.style.transform = `translateY(-${mainPanelProgress * 500}px)`;\r\n objectBatteryRef.current.style.transform = `translateY(-${mainPanelProgress * 300}px)`;\r\n objectSpiral1Ref.current.style.transform = `translateY(-${mainPanelProgress * 200}px)`;\r\n\r\n // SubPanel1\r\n const overlayTitleMainPanelProgress = Math.pow(mainPanelProgress, 2);\r\n mainTitlemainView1Ref.current.style.width = `${(overlayTitleMainPanelProgress * 100)}%`;\r\n overlayTitlemainView1Ref.current.style.width = `${(1 / overlayTitleMainPanelProgress) * 100}%`;\r\n }\r\n }\r\n\r\n const onHorizontalScrolling = (e) => {\r\n // Transition 1\r\n const transition1Progress = Math.min(Math.max(-(transitionView1Ref.current.getBoundingClientRect().left - window.innerWidth) / transitionView1Ref.current.getBoundingClientRect().width, 0), 1);\r\n\r\n if (transition1Progress > 0) {\r\n mainPanelRef.current.style.marginTop = 0;\r\n\r\n // Reset illustrations\r\n mainIllustrationRef.current.style.transform = `translateX(0px) translateY(0px)`;\r\n objectBookRef.current.style.transform = `translateY(0px)`;\r\n objectClockRef.current.style.transform = `translateY(0px)`;\r\n objectGamepadRef.current.style.transform = `translateY(0px)`;\r\n objectKeyRef.current.style.transform = `translateY(0px)`;\r\n objectBatteryRef.current.style.transform = `translateY(0px)`;\r\n objectSpiral1Ref.current.style.transform = `translateY(0px)`;\r\n } else {\r\n mainPanelRef.current.style.marginTop = `${window.innerHeight}px`;\r\n scrollableContainerRef.current.scrollTop = window.innerHeight;\r\n arrowsContainerRef.current.style.opacity = '0';\r\n makeAppointmentBtnRef.current.style.opacity = '0';\r\n }\r\n\r\n if (transition1Progress >= 0 && transition1Progress <= 1) {\r\n var pathLength = transitionView1PathRef.current.getTotalLength();\r\n transitionView1PathRef.current.style.strokeDasharray = pathLength + ' ' + pathLength;\r\n var drawLength = pathLength * (Math.pow(transition1Progress, 2));\r\n transitionView1PathRef.current.style.strokeDashoffset = pathLength - drawLength;\r\n\r\n if (transition1Progress >= 0.25) transitionView1Advantage1Ref.current.classList.add('visible');\r\n if (transition1Progress >= 0.50) transitionView1Advantage2Ref.current.classList.add('visible');\r\n if (transition1Progress >= 0.75) transitionView1Advantage3Ref.current.classList.add('visible');\r\n }\r\n\r\n // SubPanel 2\r\n const subPanel2Progress = 1 - Math.min(Math.max((mainView2Ref.current.getBoundingClientRect().left / e.target.getBoundingClientRect().width), 0), 1);\r\n const transition2Progress = Math.min(Math.max(-(transitionView2Ref.current.getBoundingClientRect().left - window.innerWidth) / transitionView2Ref.current.getBoundingClientRect().width, 0), 1);\r\n if (subPanel2Progress >= 0 && subPanel2Progress <= 1) {\r\n const overlayTitleSubPanel2Progress = Math.pow(subPanel2Progress, 3);\r\n mainTitlemainView2Ref.current.style.width = `${(overlayTitleSubPanel2Progress * 100)}%`;\r\n overlayTitlemainView2Ref.current.style.width = `${(1 / overlayTitleSubPanel2Progress) * 100}%`;\r\n\r\n // Transition 2\r\n var pathLength2 = transitionView2PathRef.current.getTotalLength();\r\n transitionView2PathRef.current.style.strokeDasharray = pathLength2 + ' ' + pathLength2;\r\n var drawLength2 = pathLength2 * (Math.pow(transition2Progress, 2));\r\n transitionView2PathRef.current.style.strokeDashoffset = pathLength2 - drawLength2;\r\n\r\n if (transition2Progress >= 0.25) transitionView2Advantage1Ref.current.classList.add('visible');\r\n if (transition2Progress >= 0.50) transitionView2Advantage2Ref.current.classList.add('visible');\r\n if (transition2Progress >= 0.75) transitionView2Advantage3Ref.current.classList.add('visible');\r\n }\r\n\r\n // SubPanel 3\r\n const subPanel3Progress = 1 - Math.min(Math.max((mainView3Ref.current.getBoundingClientRect().left / e.target.getBoundingClientRect().width), 0), 1);\r\n const transition3Progress = Math.min(Math.max(-(transitionView3Ref.current.getBoundingClientRect().left - window.innerWidth) / transitionView3Ref.current.getBoundingClientRect().width, 0), 1);\r\n if (subPanel3Progress >= 0 && subPanel3Progress <= 1) {\r\n const overlayTitleSubPanel3Progress = Math.pow(subPanel3Progress, 3);\r\n mainTitlemainView3Ref.current.style.width = `${(overlayTitleSubPanel3Progress * 100)}%`;\r\n overlayTitlemainView3Ref.current.style.width = `${(1 / overlayTitleSubPanel3Progress) * 100}%`;\r\n\r\n // Transition 3\r\n var pathLength3 = transitionView3PathRef.current.getTotalLength();\r\n transitionView3PathRef.current.style.strokeDasharray = pathLength3 + ' ' + pathLength3;\r\n var drawLength3 = pathLength3 * (Math.pow(transition3Progress, 2));\r\n transitionView3PathRef.current.style.strokeDashoffset = pathLength3 - drawLength3;\r\n\r\n if (transition3Progress >= 0.20) transitionView3Advantage1Ref.current.classList.add('visible');\r\n if (transition3Progress >= 0.50) transitionView3Advantage2Ref.current.classList.add('visible');\r\n if (transition3Progress >= 0.75) transitionView3Advantage3Ref.current.classList.add('visible');\r\n }\r\n\r\n // SubPanel 4\r\n const subPanel4Progress = 1 - Math.min(Math.max((mainView4Ref.current.getBoundingClientRect().left / e.target.getBoundingClientRect().width), 0), 1);\r\n const transition4Progress = Math.min(Math.max(-(transitionView4Ref.current.getBoundingClientRect().left - window.innerWidth) / transitionView4Ref.current.getBoundingClientRect().width, 0), 1);\r\n if (subPanel4Progress >= 0 && subPanel4Progress <= 1) {\r\n const overlayTitleSubPanel4Progress = Math.pow(subPanel4Progress, 3);\r\n mainTitlemainView4Ref.current.style.width = `${(overlayTitleSubPanel4Progress * 100)}%`;\r\n overlayTitlemainView4Ref.current.style.width = `${(1 / overlayTitleSubPanel4Progress) * 100}%`;\r\n\r\n // Transition 4\r\n var pathLength4 = transitionView4PathRef.current.getTotalLength();\r\n transitionView4PathRef.current.style.strokeDasharray = pathLength4 + ' ' + pathLength4;\r\n var drawLength4 = pathLength4 * (Math.pow(transition4Progress, 2));\r\n transitionView4PathRef.current.style.strokeDashoffset = pathLength4 - drawLength4;\r\n\r\n if (transition4Progress >= 0.25) transitionView4Advantage1Ref.current.classList.add('visible');\r\n if (transition4Progress >= 0.50) transitionView4Advantage2Ref.current.classList.add('visible');\r\n if (transition4Progress >= 0.75) transitionView4Advantage3Ref.current.classList.add('visible');\r\n }\r\n\r\n // SubPanel 5\r\n const subPanel5Progress = 1 - Math.min(Math.max((mainView5Ref.current.getBoundingClientRect().left / e.target.getBoundingClientRect().width), 0), 1);\r\n if (subPanel5Progress >= 0 && subPanel5Progress <= 1) {\r\n const overlayTitleSubPanel5Progress = Math.pow(subPanel5Progress, 3);\r\n mainTitlemainView5Ref.current.style.width = `${(overlayTitleSubPanel5Progress * 100)}%`;\r\n overlayTitlemainView5Ref.current.style.width = `${(1 / overlayTitleSubPanel5Progress) * 100}%`;\r\n }\r\n\r\n if (transition1Progress < 1) {\r\n setPreviewView(null);\r\n setNextView(VIEWS[1]);\r\n } else if (subPanel2Progress < 1) {\r\n setPreviewView(VIEWS[0]);\r\n setNextView(VIEWS[2]);\r\n } else if (transition2Progress < 1) {\r\n setPreviewView(VIEWS[1]);\r\n setNextView(VIEWS[3]);\r\n } else if (subPanel3Progress < 1) {\r\n setPreviewView(VIEWS[2]);\r\n setNextView(VIEWS[4]);\r\n } else if (transition3Progress < 1) {\r\n setPreviewView(VIEWS[3]);\r\n setNextView(VIEWS[5]);\r\n } else if (subPanel4Progress < 1) {\r\n setPreviewView(VIEWS[4]);\r\n setNextView(VIEWS[6]);\r\n } else if (transition4Progress < 1) {\r\n setPreviewView(VIEWS[5]);\r\n setNextView(VIEWS[7]);\r\n } else if (subPanel5Progress < 1) {\r\n setPreviewView(VIEWS[6]);\r\n setNextView(VIEWS[8]);\r\n } else {\r\n setPreviewView(VIEWS[7]);\r\n setNextView(null);\r\n }\r\n }\r\n\r\n const onMouseMoving = (e) => {\r\n const HalfScreenWidth = (window.innerWidth / 2);\r\n const HalfScreenHeight = (window.innerHeight / 2);\r\n const ratioScreenX = (e.screenX - HalfScreenWidth) / HalfScreenWidth\r\n const ratioScreenY = (e.screenY - HalfScreenHeight) / HalfScreenHeight;\r\n const velocity = 15;\r\n\r\n objectClockRef.current.style.transform = `translateX(${ratioScreenX * velocity}px) translateY(${ratioScreenY * velocity}px)`;\r\n objectGamepadRef.current.style.transform = `translateX(${ratioScreenX * velocity}px) translateY(${ratioScreenY * velocity}px)`;\r\n objectKeyRef.current.style.transform = `translateX(${ratioScreenX * velocity}px) translateY(${ratioScreenY * velocity}px)`;\r\n objectKeyRef.current.style.transform = `translateX(${ratioScreenX * velocity}px) translateY(${ratioScreenY * velocity}px)`;\r\n objectSpiral1Ref.current.style.transform = `translateX(${ratioScreenX * velocity}px) translateY(${ratioScreenY * velocity}px)`;\r\n }\r\n\r\n useEffect(() => {\r\n document.addEventListener('scroll', onVerticalScrolling);\r\n document.addEventListener('mousemove', onMouseMoving);\r\n\r\n return () => {\r\n document.removeEventListener('scroll', onVerticalScrolling);\r\n document.removeEventListener('mousemove', onMouseMoving);\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n {t(\"TRAINING_CENTER\")} · FormationAcademy\r\n \r\n \r\n\r\n
    \r\n
    dispatch({ type: PREVIEW_PANEL_INTERVIEW_POPUP_SET_ENABLED, payload: { popupEnabled: true } })}>\r\n {t(\"MAKE_APPOINTMENT_WITH_COACH\")}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default SolutionPanel;","import React from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { Link } from 'react-router-dom';\r\nimport Sitemap from '../../resources/constants/sitemap.json';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst SitemapPanel = () => {\r\n const { t } = useTranslation();\r\n \r\n return (\r\n <>\r\n \r\n {t(\"SITEMAP\")} · FormationAcademy\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {t(\"SITEMAP\")}

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Catégories

    \r\n
    \r\n {Sitemap.categories.map((c, i) => {c.Title})}\r\n
    \r\n\r\n

    Formations

    \r\n
    \r\n {Sitemap.courses.map((c, i) => {c.Title})}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default SitemapPanel;","import React, { useRef, useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport Button from './Button';\r\n\r\nconst CookiesPopup = () => {\r\n const nodeRef = useRef(null);\r\n const [acceptedCookies, setAcceptedCookies] = useState(localStorage.getItem(`accept_cookies`));\r\n\r\n const onAgree = () => {\r\n localStorage.setItem('accept_cookies', true);\r\n setAcceptedCookies(true);\r\n }\r\n\r\n const onDecline = () => {\r\n if (window.confirm(\"FormationAcademy ne peut fonctionner correctement sans les cookies. En confirmant la non utilisation de ceux-ci vous serez redirigé vers Google. Voulez-vous continuer ?\")) {\r\n window.location.href = \"https://google.com\";\r\n }\r\n }\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n Nous utilisons les cookies\r\n

    En cliquant sur « Accepter les cookies », vous acceptez de stocker des cookies sur votre appareil afin d'améliorer votre navigation sur le site et d'analyser votre utilisation du site. Politique de confidentialité

    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default CookiesPopup;","import React from 'react';\r\n\r\nconst BlogPanel = () => {\r\n return (\r\n <>\r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default BlogPanel;","export default __webpack_public_path__ + \"static/media/computer.f8f818ea.png\";","export default __webpack_public_path__ + \"static/media/whistle.3b158cdd.png\";","export default __webpack_public_path__ + \"static/media/clock.c33dae0c.png\";","import React, { useEffect, useState } from 'react'\r\nimport { Link as ScrollLink } from 'react-scroll';\r\nimport Button from '../../Button';\r\nimport PreviewSection from '../shop/preview/PreviewSection';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { INBOUND_POPUP_SET_COMPANY, INBOUND_POPUP_SET_EMAIL, INBOUND_POPUP_SET_FIRSTNAME, INBOUND_POPUP_SET_JOB_STATUS, INBOUND_POPUP_SET_LASTNAME, INBOUND_POPUP_SET_PHONE, PREVIEW_PANEL_TOGGLE_SECTION } from '../../redux/actions/ActionTypes';\r\nimport SolutionInterviewItem from '../shop/solution/SolutionInterviewItem';\r\nimport { INTERVIEW } from '../../resources/constants/interview';\r\nimport CoursePreviewPDF from '../../services/CoursePreviewPDF';\r\nimport { Element } from 'react-scroll';\r\nimport ReactPlayer from 'react-player';\r\nimport { downloadInboundCourse, showInboundPopup } from '../../redux/actions/popup/InboundActions';\r\nimport Input from '../../Input';\r\nimport InputPhone from '../../InputPhone';\r\nimport { convertStringForUrl } from '../../Utils';\r\nimport Select from 'react-select';\r\nimport { JOB_STATUS } from '../../resources/constants/job';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport data from '../../resources/inbound/ms-030.json'\r\n\r\n// Images\r\nimport { ReactComponent as Arrow1 } from '../../resources/images/home/arrow-1.svg';\r\n// import { ReactComponent as Arrow2 } from '../../resources/images/home/arrow-2.svg';\r\nimport Computer from '../../resources/images/home/computer.png';\r\nimport Whistle from '../../resources/images/home/whistle.png';\r\nimport Clock from '../../resources/images/solution/clock.png';\r\n\r\nconst InboundModelPanel = () => {\r\n const { t } = useTranslation();\r\n const dispatch = useDispatch();\r\n const previewStore = useSelector(store => store.previewPanel);\r\n const inboundStore = useSelector(store => store.inboundPopup);\r\n const [detailExtended, setDetailExtended] = useState(false);\r\n const [isRegistered, setRegistered] = useState(false);\r\n const courseTitle = 'MS-030 : Administrateur Microsoft 365';\r\n\r\n useEffect(() => {\r\n console.log(convertStringForUrl(\"Profitez d’une formation officiel Administrateur Microsoft 365\"));\r\n if (!previewStore.selectedSectionId.length) {\r\n const sectionsId = data.section.slice(0, 4).map(s => s.id);\r\n sectionsId.forEach(id => {\r\n dispatch({ type: PREVIEW_PANEL_TOGGLE_SECTION, payload: { id } });\r\n });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const showPopup = (action) => {\r\n dispatch(showInboundPopup(inboundStore, courseTitle, action))\r\n }\r\n\r\n const onRegister = async (e) => {\r\n e.preventDefault();\r\n dispatch(downloadInboundCourse({ ...inboundStore, courseTitle, isRegistration: 'Inscription au cours' }, () => setRegistered(true)));\r\n }\r\n\r\n const askAnotherDate = async () => {\r\n dispatch(downloadInboundCourse({ ...inboundStore, courseTitle, isRegistration: 'Demande une autre date' }, () => setRegistered(true)));\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Profitez d’une formation officiel Administrateur Microsoft 365

    \r\n Une formation clé en main pour les administrateurs et consultants qui doivent ou qui ont migré sur Microsoft 365\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n Début de la formation\r\n 17 mai 2021 10:00\r\n Durée: 5 jours\r\n\r\n
    \r\n
    \r\n 1.950€\r\n 2.525€\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n

    Une formation qui vous convient

    \r\n L’idéal pour les administrateurs système et consultants Microsoft 365.\r\n
    \r\n
    \r\n
    \r\n
    \r\n telescope\r\n
    \r\n\r\n

    Un expert à vos cotés

    \r\n

    Un formateur expérimenté de terrain et certifié est dédié à votre apprentissage pendant toute la durée de la formation.

    \r\n
    \r\n\r\n
    \r\n
    \r\n computer\r\n
    \r\n\r\n

    Laboratoires inclus

    \r\n

    Chaque module est joint d'un laboratoire vous permettant de directement appliquer la théorie.

    \r\n
    \r\n\r\n
    \r\n
    \r\n clock\r\n
    \r\n\r\n

    1 an de d'accompagnement

    \r\n

    Le coach reste disponible durant 365 jours pour vous épauler lors de la mise en place de votre migration.

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n

    Un coach dédié

    \r\n Cette formation est animéé par un des formateurs francophone les plus expérimentés qui vous divulguera ses expériences du terrain.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Freddy Janssens\r\n Senior System Engineer Solution Architect\r\n\r\n
      \r\n
    • 🏆 Expert certifié Microsoft & VMWare
    • \r\n
    • 💪🏻 30 ans d’expérience
    • \r\n
    • 🧠 7 années d'expérience dans les neurosciences et la neuropédagogie
    • \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n

    Accédez au contenu de la formation

    \r\n Découvrez ou téléchargez le contenu de la formation\r\n
    \r\n\r\n
    \r\n A la fin de cette formation, vous serez capable de :\r\n\r\n
      \r\n
    • ✅ Paramétrer AD connect
    • \r\n
    • ✅ Savoir pourquoi et comment utiliser AD connect avec ADFS
    • \r\n
    • ✅ Appliquer les bonnes pratiques du terrain
    • \r\n
    • ✅ Gagner du temps dans vos migrations ou dans l’automatisation des tâches dans Microsoft 365
    • \r\n
    • ✅ Planifier et configurer les services Exchange Online, sharepoint et Teams
    • \r\n
    • ✅ Surveiller et résoudre les problèmes liés à 365
    • \r\n
    \r\n
    \r\n\r\n
    \r\n {data.section.slice(0, detailExtended ? data.section.length : 4).map(section => )}\r\n\r\n {!detailExtended &&
    }\r\n
    \r\n {!detailExtended &&\r\n
    \r\n
    }\r\n
    \r\n showPopup(() => CoursePreviewPDF(data))}>Télécharger en PDF\r\n
    \r\n\r\n
    \r\n

    Ils ont réussi la certification

    \r\n Découvrez les avis des stagiaires qui vont ont précédés\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {!isRegistered ?\r\n <>\r\n \r\n
    \r\n

    Réservez votre place

    \r\n \r\n Vous souhaitez assister à cette formation ?
    \r\n Il vous manque des informations pratiques pour être totalement convaincu ?
    \r\n Contactez-nous ou prenez rendez-vous avec le mentor\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n dispatch({ type: INBOUND_POPUP_SET_EMAIL, payload: { email } })} type={'text'} autocomplete={'email'} disabled={inboundStore.isLoading} error={!inboundStore.isEmailValid} helperText={t(\"HELPER_EMAIL\")} />\r\n\r\n
    \r\n dispatch({ type: INBOUND_POPUP_SET_FIRSTNAME, payload: { firstname } })} type={'text'} autocomplete={'given-name'} disabled={inboundStore.isLoading} error={!inboundStore.isFirstnameValid} helperText={t(\"HELPER_FIRSTNAME\")} />\r\n dispatch({ type: INBOUND_POPUP_SET_LASTNAME, payload: { lastname } })} type={'text'} autocomplete={'family-name'} disabled={inboundStore.isLoading} error={!inboundStore.isLastnameValid} helperText={t(\"HELPER_LASTNAME\")} />\r\n
    \r\n\r\n
    \r\n dispatch({ type: INBOUND_POPUP_SET_PHONE, payload: { phone } })} error={!inboundStore.isPhoneValid} helperText={t(\"HELPER_PHONE\")} disabled={inboundStore.isLoading} />\r\n dispatch({ type: INBOUND_POPUP_SET_COMPANY, payload: { company } })} type={'text'} autocomplete={'organization'} disabled={inboundStore.isLoading} error={!inboundStore.isCompanyValid} helperText={t(\"HELPER_COMPANY\")} />\r\n\r\n \r\n
    \r\n dispatch({ type: INBOUND_POPUP_SET_JOB_STATUS, payload: { jobStatus: option } })}\r\n options={JOB_STATUS}\r\n placeholder={'Fonction dans l\\'entreprise'}\r\n className={'selector'}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n :
    \r\n

    Félicitation ! 🎉

    \r\n \r\n Votre candidature a bien été prise en compte.
    \r\n Le coach prendra bientôt contact avec vous afin de finaliser votre inscription.
    \r\n A bientôt ! 👋\r\n
    \r\n
    }\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default InboundModelPanel","export default __webpack_public_path__ + \"static/media/key.8b71ff84.png\";","import React, { useEffect, useState } from 'react'\r\nimport { Link as ScrollLink } from 'react-scroll';\r\nimport Button from '../../Button';\r\nimport PreviewSection from '../shop/preview/PreviewSection';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { INBOUND_POPUP_SET_COMPANY, INBOUND_POPUP_SET_EMAIL, INBOUND_POPUP_SET_FIRSTNAME, INBOUND_POPUP_SET_JOB_STATUS, INBOUND_POPUP_SET_LASTNAME, INBOUND_POPUP_SET_PHONE, PREVIEW_PANEL_TOGGLE_SECTION } from '../../redux/actions/ActionTypes';\r\nimport SolutionInterviewItem from '../shop/solution/SolutionInterviewItem';\r\nimport { INTERVIEW } from '../../resources/constants/interview';\r\nimport CoursePreviewPDF from '../../services/CoursePreviewPDF';\r\nimport { Element } from 'react-scroll';\r\nimport ReactPlayer from 'react-player';\r\nimport { downloadInboundCourse, showInboundPopup } from '../../redux/actions/popup/InboundActions';\r\nimport Input from '../../Input';\r\nimport InputPhone from '../../InputPhone';\r\nimport { convertStringForUrl } from '../../Utils';\r\nimport Select from 'react-select';\r\nimport { JOB_STATUS } from '../../resources/constants/job';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport data from '../../resources/inbound/ms-030.json'\r\n\r\n// Images\r\nimport { ReactComponent as Arrow1 } from '../../resources/images/home/arrow-1.svg';\r\n// import { ReactComponent as Arrow2 } from '../../resources/images/home/arrow-2.svg';\r\nimport Computer from '../../resources/images/home/computer.png';\r\nimport Whistle from '../../resources/images/solution/key.png';\r\nimport Clock from '../../resources/images/solution/clock.png';\r\n\r\nconst MS030 = () => {\r\n const dispatch = useDispatch();\r\n const previewStore = useSelector(store => store.previewPanel);\r\n const inboundStore = useSelector(store => store.inboundPopup);\r\n const [detailExtended, setDetailExtended] = useState(false);\r\n const [isRegistered, setRegistered] = useState(false);\r\n const courseTitle = 'MS-030 : Administrateur Microsoft 365';\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n console.log(convertStringForUrl(\"Profitez d’une formation officielle Administrateur Microsoft 365\"));\r\n if (!previewStore.selectedSectionId.length) {\r\n const sectionsId = data.section.slice(0, 4).map(s => s.id);\r\n sectionsId.forEach(id => {\r\n dispatch({ type: PREVIEW_PANEL_TOGGLE_SECTION, payload: { id } });\r\n });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const showPopup = (action) => {\r\n dispatch(showInboundPopup(inboundStore, courseTitle, action))\r\n }\r\n\r\n const onRegister = async (e) => {\r\n e.preventDefault();\r\n dispatch(downloadInboundCourse({ ...inboundStore, courseTitle, isRegistration: 'Inscription au cours' }, () => setRegistered(true)));\r\n }\r\n\r\n const askAnotherDate = async () => {\r\n dispatch(downloadInboundCourse({ ...inboundStore, courseTitle, isRegistration: 'Demande une autre date' }, () => setRegistered(true)));\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Profitez d’une formation officielle Administrateur Microsoft 365

    \r\n Une formation clé en main pour les administrateurs et consultants qui migrent sur Microsoft 365\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n Début de la formation\r\n 17 mai 2021 10:00\r\n Durée: 5 jours\r\n\r\n
    \r\n
    \r\n 1.950€\r\n 2.525€\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n

    Une formation qui vous convient

    \r\n L’idéal pour les administrateurs système et consultants Microsoft 365.\r\n
    \r\n
    \r\n
    \r\n
    \r\n telescope\r\n
    \r\n\r\n

    Un expert à vos cotés

    \r\n

    Un formateur expérimenté de terrain et certifié est dédié à votre apprentissage pendant toute la durée de la formation.

    \r\n
    \r\n\r\n
    \r\n
    \r\n computer\r\n
    \r\n\r\n

    Ateliers inclus

    \r\n

    Chaque module est joint d'un atelier vous permettant de directement appliquer la théorie.

    \r\n
    \r\n\r\n
    \r\n
    \r\n clock\r\n
    \r\n\r\n

    1 an d'accompagnement

    \r\n

    Le coach reste disponible durant 365 jours pour vous épauler lors de la mise en place de votre migration.

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n

    Un coach dédié

    \r\n Cette formation est animéé par un des formateurs francophones les plus expérimentés qui vous divulguera ses expériences du terrain.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Freddy Janssens\r\n Senior System Engineer Solution Architect\r\n\r\n
      \r\n
    • 🏆 Expert certifié Microsoft & VMWare
    • \r\n
    • 💪🏻 30 ans d’expérience
    • \r\n
    • 🧠 7 années d'expérience dans les neurosciences et la neuropédagogie
    • \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Accédez au contenu de la formation

    \r\n Découvrez ou téléchargez le contenu de la formation\r\n
    \r\n\r\n
    \r\n A la fin de cette formation, vous serez capable de :\r\n\r\n
      \r\n
    • ✅ Paramétrer AD connect
    • \r\n
    • ✅ Savoir pourquoi et comment utiliser AD connect avec ADFS
    • \r\n
    • ✅ Appliquer les bonnes pratiques du terrain
    • \r\n
    • ✅ Gagner du temps dans vos migrations ou dans l’automatisation des tâches dans Microsoft 365
    • \r\n
    • ✅ Planifier et configurer les services Exchange Online, sharepoint et Teams
    • \r\n
    • ✅ Surveiller et résoudre les problèmes liés à Microsoft 365
    • \r\n
    \r\n
    \r\n\r\n
    \r\n {data.section.slice(0, detailExtended ? data.section.length : 4).map(section => )}\r\n\r\n {!detailExtended &&
    }\r\n
    \r\n {!detailExtended &&\r\n
    \r\n
    }\r\n
    \r\n showPopup(() => CoursePreviewPDF(data))}>Télécharger en PDF\r\n
    \r\n\r\n
    \r\n

    Ils ont réussi la certification

    \r\n Découvrez les avis des participants qui vont ont précédés\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {!isRegistered ?\r\n <>\r\n \r\n
    \r\n

    Réservez votre place

    \r\n \r\n Vous souhaitez assister à cette formation ?
    \r\n Il vous manque des informations pratiques pour être totalement convaincu ?
    \r\n Contactez-nous ou prenez rendez-vous avec le mentor\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n dispatch({ type: INBOUND_POPUP_SET_EMAIL, payload: { email } })} type={'text'} autocomplete={'email'} disabled={inboundStore.isLoading} error={!inboundStore.isEmailValid} helperText={t(\"HELPER_EMAIL\")} />\r\n\r\n
    \r\n dispatch({ type: INBOUND_POPUP_SET_FIRSTNAME, payload: { firstname } })} type={'text'} autocomplete={'given-name'} disabled={inboundStore.isLoading} error={!inboundStore.isFirstnameValid} helperText={t(\"HELPER_FIRSTNAME\")} />\r\n dispatch({ type: INBOUND_POPUP_SET_LASTNAME, payload: { lastname } })} type={'text'} autocomplete={'family-name'} disabled={inboundStore.isLoading} error={!inboundStore.isLastnameValid} helperText={t(\"HELPER_LASTNAME\")} />\r\n
    \r\n\r\n
    \r\n dispatch({ type: INBOUND_POPUP_SET_PHONE, payload: { phone } })} error={!inboundStore.isPhoneValid} helperText={t(\"HELPER_PHONE\")} disabled={inboundStore.isLoading} />\r\n dispatch({ type: INBOUND_POPUP_SET_COMPANY, payload: { company } })} type={'text'} autocomplete={'organization'} disabled={inboundStore.isLoading} error={!inboundStore.isCompanyValid} helperText={t(\"HELPER_COMPANY\")} />\r\n\r\n \r\n
    \r\n dispatch({ type: INBOUND_POPUP_SET_JOB_STATUS, payload: { jobStatus: option } })}\r\n options={JOB_STATUS}\r\n placeholder={'Fonction dans l\\'entreprise'}\r\n className={'selector'}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n :
    \r\n

    Félicitation ! 🎉

    \r\n \r\n Votre candidature a bien été prise en compte.
    \r\n Le coach prendra bientôt contact avec vous afin de finaliser votre inscription.
    \r\n A bientôt ! 👋\r\n
    \r\n
    }\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default MS030","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { BrowserRouter, Route, Switch } from 'react-router-dom';\r\nimport store from './redux/store';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport ReactNotification from 'react-notifications-component';\r\nimport './services/AxiosConfiguration';\r\nimport './css/main.scss';\r\n\r\nimport Header from './menu/Header';\r\nimport MobileMenu from './menu/MobileMenu';\r\nimport PopupManager from './popup/PopupManager';\r\nimport Footer from './Footer';\r\nimport HomePanel from './panel/shop/HomePanel';\r\nimport CategoryPanel from './panel/shop/CategoryPanel';\r\nimport PreviewPanel from './panel/shop/PreviewPanel';\r\nimport DashboardPanel from './panel/dashboard/DashboardPanel';\r\nimport PreferencePanel from './panel/dashboard/PreferencePanel';\r\nimport LecturePanel from './panel/dashboard/LecturePanel';\r\nimport LectureHeader from './menu/LectureHeader';\r\nimport ScrollToTop from './ScrollToTop';\r\nimport EmailConfirmationBanner from './EmailConfirmationBanner';\r\nimport UpdatePasswordPopup from './popup/sign/UpdatePasswordPopup';\r\nimport AdminHeader from './menu/AdminHeader';\r\nimport AdminPanel from './panel/admin/AdminPanel';\r\nimport TermsPanel from './panel/shop/TermsPanel';\r\nimport PrivacyPanel from './panel/shop/PrivacyPanel';\r\nimport TeamPanel from './panel/shop/TeamPanel';\r\nimport SolutionPanel from './panel/shop/SolutionPanel';\r\nimport SitemapPanel from './panel/shop/SitemapPanel';\r\nimport CookiesPopup from './CookiesPopup';\r\nimport BlogPanel from './panel/shop/BlogPanel';\r\nimport InboundModelPanel from './panel/inbound/InboundModelPanel';\r\nimport MS030 from './panel/inbound/MS030';\r\n\r\nimport './i18n';\r\n\r\nReactDOM.render(\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t }>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    }>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t window.location.href = '/'} />}>\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t }>\r\n\t\t\t\t\t\t }>\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* */}\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t
    ,\r\n\tdocument.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}