{"version":3,"sources":["webpack:///src/app/stores/app.reducers.ts","webpack:///src/app/landing-pages/ebooks/download-ebook/download-ebook.component.ts","webpack:///src/app/landing-pages/ebooks/download-ebook/download-ebook.component.html","webpack:///src/app/login-guard.service.ts","webpack:///src/app/home-page/shared/free-trial-details/free-trial-expiry/free-trial-expiry.component.ts","webpack:///src/app/home-page/shared/free-trial-details/free-trial-expiry/free-trial-expiry.component.html","webpack:///src/app/home-page/shared/home-search/home-search.component.ts","webpack:///src/app/home-page/shared/home-search/home-search.component.html","webpack:///src/app/shared/components/myplan-popup/myplan-popup.component.ts","webpack:///src/app/shared/components/myplan-popup/myplan-popup.component.html","webpack:///src/app/home-page/shared/selected-card-loader/selected-card-loader.component.html","webpack:///src/app/home-page/shared/selected-card-loader/selected-card-loader.component.ts","webpack:///src/app/home-page/services/assigned-tests.service.ts","webpack:///src/app/shared/components/header-after-login/profile-dropdown/profile-dropdown.component.ts","webpack:///src/app/shared/components/header-after-login/profile-dropdown/profile-dropdown.component.html","webpack:///src/app/shared/components/profile-user-info/profile-user-info.component.html","webpack:///src/app/shared/components/profile-user-info/profile-user-info.component.ts","webpack:///src/app/shared/services/g-lite-utility.service.ts","webpack:///src/app/on-spot-test/on-spot-test.constants.ts","webpack:///src/app/application-survey/application-survey.component.ts","webpack:///src/app/application-survey/application-survey.component.html","webpack:///src/app/shared/components/otp-verify-modal/otp-verify-modal.component.ts","webpack:///src/app/shared/components/otp-verify-modal/otp-verify-modal.component.html","webpack:///src/app/shared/pipes/convert-seconds.pipe.ts","webpack:///src/app/shared/directives/captcha.directive.ts","webpack:///src/app/auth-guard.service.ts","webpack:///src/app/shared/components/loader/loader.component.ts","webpack:///src/app/shared/components/loader/loader.component.html","webpack:///src/app/goal-setting/services/goal-setting.service.ts","webpack:///src/app/help-and-support/services/help.service.ts","webpack:///src/app/test/shared/components/auto-proctor-dialog/auto-proctor-dialog.component.ts","webpack:///src/app/test/shared/components/auto-proctor-dialog/auto-proctor-dialog.component.html","webpack:///src/app/stores/auth/auth.actions.ts","webpack:///src/app/shared/components/courses-we-offer/courses.constant.ts","webpack:///src/app/shared/pipes/date-difference.pipe.ts","webpack:///src/app/shared/services/notification.service.ts","webpack:///src/app/shared/services/utility.service.ts","webpack:///src/app/components/header-before-login/headermenus.constant.ts","webpack:///src/app/utility/extra-edge-v3.service.ts","webpack:///src/app/shared/services/extra-edge.service.ts","webpack:///src/environments/environment.prod.ts","webpack:///src/app/components/footer-before-login/ebook.constant.ts","webpack:///src/app/shared/services/alert.service.ts","webpack:///src/app/shared/directives/zoom.directive.ts","webpack:///src/app/home-page/services/upcoming-tests.service.ts","webpack:///src/app/stores/profile/user-profile.reducers.ts","webpack:///src/app/auth/fiit-jee-login/service/fiit-jee.service.ts","webpack:///src/app/stores/auth/auth.reducers.ts","webpack:///src/app/shared/services/detect-location.service.ts","webpack:///src/app/landing-pages/ebooks/ebooks.service.ts","webpack:///src/app/stores/proforma/proforma.actions.ts","webpack:///src/app/shared/pipes/safe.pipe.ts","webpack:///src/app/home-page/cards-detail/right-selected-card/buy-courses/actions.enum.ts","webpack:///src/app/shared/components/header-after-login/notification/notification.component.html","webpack:///src/app/shared/components/header-after-login/notification/notification.component.ts","webpack:///src/app/home-page/shared/test-filters/date-filter/date-filter.component.ts","webpack:///src/app/home-page/shared/test-filters/date-filter/date-filter.component.html","webpack:///src/app/home-page/shared/api-failed-for-cards/api-failed-for-cards.component.ts","webpack:///src/app/home-page/shared/api-failed-for-cards/api-failed-for-cards.component.html","webpack:///src/app/shared/constants/previous-year-papers.constant.ts","webpack:///src/app/shared/directives/detect-visibility.directive.ts","webpack:///src/app/stores/proforma/proforma.reducers.ts","webpack:///src/app/shared/components/report-an-issue-idea/report-an-issue-idea.component.ts","webpack:///src/app/shared/components/report-an-issue-idea/report-an-issue-idea.component.html","webpack:///src/app/shared/components/report-an-issue/report-an-issue.component.ts","webpack:///src/app/shared/components/report-an-issue/report-an-issue.component.html","webpack:///src/app/shared/components/primary-goal-popup/primary-goal-popup.component.html","webpack:///src/app/shared/components/primary-goal-popup/primary-goal-popup.component.ts","webpack:///src/app/shared/components/tag-creator-shared/tag-creator-shared.component.ts","webpack:///src/app/shared/components/tag-creator-shared/tag-creator-shared.component.html","webpack:///src/app/shared/components/testimonial-home/testimonial-home.component.ts","webpack:///src/app/shared/components/testimonial-home/testimonial-home.component.html","webpack:///src/app/shared/components/courses-we-offer/courses-we-offer.component.ts","webpack:///src/app/shared/components/courses-we-offer/courses-we-offer.component.html","webpack:///src/app/components/footer-before-login/footer-before-login.component.ts","webpack:///src/app/components/footer-before-login/footer-before-login.component.html","webpack:///src/app/models/profile.model.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/app/auth/signup-login-master/shared/services/signup.service.ts","webpack:///src/app/shared/components/logout-confirm/logout-confirm.component.ts","webpack:///src/app/shared/components/logout-confirm/logout-confirm.component.html","webpack:///src/app/components/alert/alert.component.ts","webpack:///src/app/components/alert/alert.component.html","webpack:///src/app/home-page/cards-detail/right-selected-card/buy-courses/course-card/course-card.service.ts","webpack:///src/app/shared/pipes/sanitise-html.pipe.ts","webpack:///src/app/shared/components/change-password/change-password.component.ts","webpack:///src/app/shared/components/change-password/change-password.component.html","webpack:///src/app/app.component.html","webpack:///src/app/app.component.ts","webpack:///src/app/shared/services/http.service.ts","webpack:///src/app/home-page/shared/test-filters/test-filters.component.ts","webpack:///src/app/home-page/shared/test-filters/test-filters.component.html","webpack:///src/app/shared/services/clever-tap.service.ts","webpack:///src/app/components/header-before-login/header-before-login.component.ts","webpack:///src/app/components/header-before-login/header-before-login.component.html","webpack:///src/app/shared/utils/admissionTest.util.ts","webpack:///src/app/stores/test-ongoing/test-ongoing.reducers.ts","webpack:///src/app/stores/profile/user-profile.actions.ts","webpack:///src/app/models/proforma.model.ts","webpack:///src/app/shared/constants/user-action.constant.ts","webpack:///src/app/app.module.ts","webpack:///src/app/shared/serious-attempt-warning/serious-attempt-warning.component.ts","webpack:///src/app/shared/serious-attempt-warning/serious-attempt-warning.component.html","webpack:///src/app/auth/signup-login-master/shared/social-signup-login/social-signup-login.component.ts","webpack:///src/app/auth/signup-login-master/shared/social-signup-login/social-signup-login.component.html","webpack:///src/app/new-community/shared/utility.service.ts","webpack:///src/app/shared/constants/error.constants.ts","webpack:///src/app/home-page/constants/routes.constant.ts","webpack:///src/app/stores/test-ongoing/test-ongoing.actions.ts","webpack:///src/app/shared/loader-lite/loader-lite.component.ts","webpack:///src/app/shared/loader-lite/loader-lite.component.html","webpack:///src/app/app.constants.ts","webpack:///src/app/shared/services/lazy-loading.service.ts","webpack:///src/app/shared/components/info-popup/info-popup.component.ts","webpack:///src/app/shared/components/info-popup/info-popup.component.html","webpack:///src/app/home-page/services/home.service.ts","webpack:///src/app/shared/components/done-with-revision/done-with-revision.component.ts","webpack:///src/app/shared/components/done-with-revision/done-with-revision.component.html","webpack:///src/app/profile/shared/services/profile.service.ts","webpack:///src/app/admissionTestGuard.resolver.ts","webpack:///src/app/shared/page-lock/page-lock.component.html","webpack:///src/app/shared/page-lock/page-lock.component.ts","webpack:///src/app/stores/loader/loader.actions.ts","webpack:///src/app/test-results-analytics/side-filter-list/multiselectfilter/multiselectfilter.component.ts","webpack:///src/app/test-results-analytics/side-filter-list/multiselectfilter/multiselectfilter.component.html","webpack:///src/app/shared/constants/glite.constants.ts","webpack:///src/app/shared/components/form/free-trial-form/form.constant.ts","webpack:///src/app/shared/components/report-abuse/report-abuse.component.ts","webpack:///src/app/shared/components/report-abuse/report-abuse.component.html","webpack:///src/app/test-results-analytics/services/solution.service.ts","webpack:///src/app/stores/auth/auth.effects.ts","webpack:///src/app/stores/proforma/proforma.effect.ts","webpack:///src/app/shared/components/form/free-trial-form/free-trial-form.component.ts","webpack:///src/app/shared/components/form/free-trial-form/free-trial-form.component.html","webpack:///src/app/invalid-login/invalid-login.component.ts","webpack:///src/app/invalid-login/invalid-login.component.html","webpack:///src/app/shared/constants/common.constant.ts","webpack:///src/app/shared/services/helper.service.ts","webpack:///src/app/shared/components/transfer-to-paytm/transfer-to-paytm.component.ts","webpack:///src/app/shared/components/transfer-to-paytm/transfer-to-paytm.component.html","webpack:///src/app/test-results-analytics/side-filter-list/side-filter-list.component.ts","webpack:///src/app/test-results-analytics/side-filter-list/side-filter-list.component.html","webpack:///src/app/auth/verify-passcode/verify-passcode.component.html","webpack:///src/app/auth/verify-passcode/verify-passcode.component.ts","webpack:///src/app/shared/pipes/highlight-search.pipe.ts","webpack:///src/app/shared/components/test-details-syllabus/test-details-syllabus.component.html","webpack:///src/app/shared/components/test-details-syllabus/test-details-syllabus.component.ts","webpack:///src/app/stores/loader/loader.reducers.ts","webpack:///src/app/stores/profile/user-profile.effect.ts","webpack:///src/app/shared/components/header-after-login/header-after-login.component.ts","webpack:///src/app/shared/components/header-after-login/header-after-login.component.html","webpack:///src/app/app-routing.module.ts","webpack:///src/app/user-onboarding/service/onboarding.service.ts","webpack:///src/app/home-page/cards-detail/right-selected-card/buy-courses/buy-courses.service.ts","webpack:///src/app/quiz-platform/constants/quiz.constants.ts","webpack:///src/app/shared/components/under-development/under-development.component.ts","webpack:///src/app/shared/components/under-development/under-development.component.html","webpack:///src/app/shared/directives/mathlive.directive.ts","webpack:///src/main.ts","webpack:///src/app/profile/my-cash-card/share-referral-popup/share-referral-popup.component.ts","webpack:///src/app/profile/my-cash-card/share-referral-popup/share-referral-popup.component.html","webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/home-page/shared/locked-state/locked-state.component.ts","webpack:///src/app/home-page/shared/locked-state/locked-state.component.html"],"names":["AppReducers","auth","userProfile","loader","proforma","testOngoing","DownloadEbookComponent","document","fb","utility","_ebook","store","_helper","activeSubscription","isDropdownOpen","validMobileNumberLength","enableVerifyOTPPopup","ebookDownloadForm","selectedClass","_id","captchaInfo","showCaptcha","captchaChecked","showCaptchaError","errorInfo","name_error","class_error","mobile_error","no_name","no_class","invalid_number","validNameLength","defaultClassId","selectedDialCode","initializePopData","add","captchaStateHandler","subscribe","resetCaptcha","handleDownloadEbookPopup","showPopup","$","modal","handleSignupError","data","signupError","event","dropdown","nativeElement","classList","contains","regexToTestName","userName","value","name","test","substring","length","controls","setValue","group","mobile","vc","reset","downloadEbook","dataSelected","e","mobileNumber","pattern","isCaptchaEnabled","captchaToken","getResponse","payload","countryCode","dialCode","loginViaOtp","referralCode","classId","dispatch","unsubscribe","mobileContainer","handlePopUpClose","handleNameValue","handleDropdownState","handleMobileNumber","enableCaptcha","LoginGuard","router","state","route","fiitjeeToken","localStorage","getItem","select","pipe","authenticated","navigate","FreeTrialExpiryComponent","navigateToBuyCourses","HomeSearchComponent","homeService","alertService","onExpand","showSearchSuggestions","showRecentSearch","expandInput","searchText","recentSearchListFetched","isSuggestionsFetched","elementIds","onChangeSearchValue","debounce","trim","showRecentSearchToggle","showHighlightedText","fetchSearchSuggestions","highlightTextUtilityFunction","events","addEventListener","outSideClick","bind","searchData","JSON","parse","homeSearchUpdate","action","autoFocusSearchField","clearAll","window","location","pathname","includes","clickedBackHome","res","next","focus","addClass","blur","removeClass","clearSearch","itemSelected","stopPropagation","id","removeItem","setItem","stringify","searchSuggestions","emit","recentSearchData","fetchRecentSearch","then","slice","types","appendRecentSearchItem","unionBy","recentSearchItems","filter","item","isRecentSearchItem","toLowerCase","closeSearchBoxOnClick","resetSearchBar","searchForOnlyCommunity","searchEle","getElementsByClassName","remove","$event","target","clearAllSuggestion","code","skipClickEvent","setTimeout","searchInputField","click","listElementsName","querySelectorAll","forEach","element","innerHTML","showHighlightedTextHelper","textContent","indexOf","index","textToHiglight","re","RegExp","replace","removeSearchClass","onEnterSearch","clearSearchText","MyplanPopupComponent","profileService","showMyPlanPopUp","hideMyplanPopup","dismissModal","SelectedCardLoaderComponent","n","arr","i","push","AssignedTestsService","httpService","dateRangeValue","initializeFilter","body","Promise","resolve","reject","post","showErrorMessage","message","ProfileDropdownComponent","fiitjeeFacultyHiring","photoUrl","gotImage","initials","openLogout","openPassword","disableHome","userData","checkIfImageExist","userId","changeHomeStatus","isTeacher","logoutConfirm","ProfileUserInfoComponent","romanClassMapping","english","roman","showMore","showMoreData","primaryGoalName","assignedBatched","primaryGoalData","userGoals","isPrimary","courseType","userCentres","batches","j","obj","centre","assignedBatches","batch","isFiitjee","fiitjeeEnrollmentNumber","enrollmentNumber","split","className","result","TESTS_TO_REMAIN_LOCKED","TEST_TYPE","SAMPLE_TEST","GLiteUtilityService","_http","numberOfItemsInCart","cartItems","selectedState","allPackages","triggerFreeTrialPopup","getActiveClassId","signUpData","get","serverURLv3","course_id","serverURLv4","testData","isTestLocked","Object","keys","key","currentPackage","packageId","purchased","type","isFreeTrialExpired","isFreeTrial","ROUTES","ON_SPOT","ENROLMENT","DASHBOARD","LOGIN_FORM_FIELDS","ENROLMENT_NO","ACCESS_CODE","BUTTON_STATES","START_TEST","RESUME_TEST","VIEW_RESULT","ATTEMPT_STATUS","FINSIHED","INTERNET_NOT_AVAILABLE_ERROR","ApplicationSurveyComponent","utilityService","popUpFields","validExtension","isImageRequired","isImageRequiredJeeA","isJEEA","isStatusChanged","isRadioButtonVisible","applicationModalData","popUpName","applicationNumber","rollNumber","score","applicationNumberPlaceholder","rollNumberPlaceholder","scorePlaceholder","applicationNumberErrMsg","rollNumberErrMsg","scoreErrMsg","applicationNumberError","rollNumberError","scoreError","mobilePlaceholder","mobileErrMsg","mobileError","email","emailPlaceholder","emailErrMsg","emailError","admitCardImage","scoreCardImage","scoreCardImageErrMsg","admitCardImageErrMsg","admitCardImageError","scoreCardImageError","showCancelButton","testName","uploadImageError","imageURL","iconURL","examCleared","examClearedErrMsg","examClearedError","crlRank","crlRankPlaceholder","crlRankError","crlRankErrMsg","imageURLJeeA","uploadImageErrorJeeA","imageData","files","isRestrictAccess","applicationSurvey","required","restrictAccessPopUp","initializePopUp","examPopupData","isCancelDisable","icon","course","popupName","fields","field","initializeCutoffInfo","hasOwnProperty","placeholder","errorMessage","removeControl","modalNumber","numberOfPopups","options","isSelected","el","submitJEEAForm","submitJEEMForm","isAdmitCardError","isResultError","isRadioButtonError","invalid","courseId","attemptMonth","submitApplicationSurvey","toString","controlName","status","addControl","isJeeAImage","names","extension","getFileExtension","params","fileExtension","getImageSignedUrl","url","uploadImageOnS3","formData","FormData","append","headers","set","finalUrl","submitForm","OtpVerifyModalComponent","_utility","_alert","displayType","HOME_INFO","validValues","validOTPLength","timerData","showTimer","secondsLeft","showResendOTP","otpVerificationForm","otpError","isDisabled","countdown","secondsElapsed","remainingSeconds","OTP","handleOtpError","isOtpError","wrong_otp","initializeTimer","mobileInfo","resendOTP","showSuccessMessage","err","userMobileData","otp","source","deviceToken","getUserId","getUserID","profile","userIdFetch","examSelected","error","otpPopupHandler","isPopUpEnabled","handleOTP","submitOTP","ConvertSecondsPipe","args","timeVal","timeStr","Math","floor","round","ReCaptchaAsyncValidator","http","token","_","tokenInvalid","CaptchaDirective","ngZone","reCaptchaAsyncValidator","config","captchaResponse","captchaExpired","captchaKey","self","reCaptchaLoad","sitekey","callback","onSuccess","onExpired","widgetId","render","registerReCaptchaCallback","addScript","fn","onChange","onTouched","run","control","setAsyncValidators","validateToken","updateValueAndValidity","grecaptcha","script","createElement","lang","src","async","defer","appendChild","provide","useExisting","multi","AuthGaurd","queryParams","queryParamMap","authToken","learnDarkMode","redirect","clear","sessionStorage","LoaderComponent","isloader","loaderSub","isLoader","GoalSettingService","alert","step1Complete","currentUrl","currentStep","saveStepData","changesInStep","disableValidation","setQuestionData","questionData","getQuestionData","setPastAchievementsData","pastAchievmentsData","getPastAchievementsData","setEnrollmentData","enrollmentNumbers","getEnrollmentNumber","setSelectedGoals","goals","getSelectedGoals","activeStep","label","isSuccess","isActive","prevStepIndex","nextStepIndex","studentSteps","getStudentSteps","parentSteps","getParentSteps","asObservable","userTag","steps","find","x","parseInt","tag","step","tempActive","stepWizard","title","userInfo","questionStatus","goalStatus","showIntro","showStep2","showStep3","showStep4","showLastStep","updateParentStep","updateStudentStep","successSteps","prevEnrollmentInfo","pastAchievements","apiUrl","put","rejects","patch","lastRequested","navigateByUrl","HelpService","UpdatedData","UpdatedDataHelp","helpStatus","feedbackModalClose","isModalClosed","issueType","issueData","rateUs","issueId","AutoProctorDialogComponent","closeProctorModal","checkProctorTestResume","startYourTest","proctor3CheckBox","num","closeProctor","checkBoxCheck","checkForResume","startTestClick","PROCESS_AFTER_SIGNUP","PROCESS_AFTER_SIGNIN","SIGNUP","SIGNIN","LOGOUT","LOGOUT_SUCCESS","SET_TOKEN","VERIFY_OTP_EMAIL","VERIFY_OTP_MOBILE","VERIFY_OTP_MOBILE_SUCCESS","GET_PROFILE_DATA","FAIL","SET_AUTHTENTICATION","FIITJEE_MYPAT_LOGIN","OTP_LOGIN_FIITJEE","WAC_LOGIN_FIITJEE","RESET_PASSWORD_FIITJEE","SET_DEVICE_USED","SOCIAL_SIGNUP","SOCIAL_SIGNIN","TRY_NEW_SIGNUP","VERIFY_MOBILE","TRY_SIGNIN","Signup","Signin","ProcessAfterSignup","ProcessAfterSignin","SetAuthentication","Logout","LogoutSuccess","Fail","SetToken","VerifyOtpMobile","VerifyOtpEmail","GetProfileData","FiiJeeMyPatLogin","OtpLoginFiitjee","WACLoginFiitjee","ResetPasswordFiitJee","SetDeviceUsed","SocialSignup","SocialSignin","TryNewSignup","VerifyMobile","TrySignin","EXAM_INFO","IMAGE_URL","ROUTE_URL","HEADER_IMAGE","EXAM_DATE","DISPLAY_TYPE","ALL_COURSES","PREP_TRACKER","AVAILABLE_CLASSES","AVAILAIBLE_QUERY_PARAMS","selected_class","selected_goal","DateDifferencePipe","providedDate","date","Date","currentDate","d","diff","getTime","getDate","getFullYear","abs","getMonth","getHours","getMinutes","getSeconds","NotificationService","updateWorkingOnHomePage","page","notificationIds","notificationId","String","UtilityService","sanitizer","titleService","metaService","globalPopupStatus","countryArray","freeTrialDataContainer","changePasswordResolver","testResultUrlParams","emptyDataRevision","hideMainCalendar","showApplicationSurveyPopup","globalAuthPopupNeeded","signUpSuccess","signUpForcefully","signupData","closePopUp","isNewUser","collegePredData","sidebarExpandedSubject","sidebarExpanded$","alpha3","regex","flag","response","responseReturn","serverTime","firstName","match","shift","pop","toUpperCase","achievementName","getInitialTwoWords","classArray","randomNumber","random","desc","setTitle","content","attributeSelector","removeTag","addTag","tags","property","addTags","isFound","scripts","getElementsByTagName","getAttribute","dynamicScripts","node","charset","routeVal","storeData","resNew","selectedGoal","attemptId","testId","testType","nonSeriousAttempt","func","wait","immediate","timeout","context","arguments","later","apply","callNow","clearTimeout","repeat","scheduleID","dateOfBirth","userObj","userRemarkObj","remarks","partner","isVerified","partnerInstitute","isPartner","partnerUser","partnerGoal","enroll","username","enrolmentNo","remarkData","isBlocked","blockReason","endTime","blockDuration","startTime","userClass","webAccessCode","school","photoUrlThumb","packageBought","goalDDCount","isPassword","tour","parentAccessToken","isStepUser","refferedByCode","orgCentre","user","currentValue","imageFile","bucket","Accept","webcamImage","filename","imageAsDataUrl","header","base64Data","mimeType","binaryString","atob","binaryLength","uint8Array","Uint8Array","charCodeAt","File","HEADERMENU","CLASS_LIST","EXAM_LIST","RESOURCES_LIST","CLASS9","CLASS10","CLASS11","CLASS12","CLASS12_PASS","TOOLS","PREVIOUS_PAPER","SAMPLE_PAPER","BLOG","EBOOKS","COMMUNITY","ExtraEdgeV3Service","detectLocationService","baseUrl","production","parameters","takeWhile","isEmpty","jsonParams","assign","urlQueryString","map","join","isProd","Leadstatus","sourceName","leadSource","leadType","leadName","urlWithParams","leadContactable","extraEdgePayload","extraEdgeJSONUpdate","ExtraEdgeService","utm_source","utm_term","utm_content","addLeadMeta","paramsN","console","log","dataRecieved","str","payloadToPass","campaignName","MobileNumber","Field2","MobileVerified","extraEdgeJSONUpdateUtmAdwords","environment","baseHref","myPatUrl","myPatUrlv4","fiitjeeUrlv3","fiitjeeUrlv4","edforaURL","mockServerURL","fbAppId","google_clientId","partnerDomain","razorPayKey","clevertapId","kaptureCrmKey","zestMoneyMerchantId","zestMoneyPaymentGatewayId","teacherSiteURL","schoolPartnerDomain","teacherServerURL","s3BucketBaseUrl","glorifireCommunity","glorifireliveClasses","gtmId","androidURL","iosURL","youTube","instagram","linkedIn","twitter","facebook","blog","glorifireLite","examType","bookId","TAG_CLICKED","ELEMENT","CLASS","AlertService","warning","success","custom","btnName","customBtn","subtitle","messageChange","updateWorkingHomePage","undoRevisionQuestion","deleteRevisionQuestion","updateAfterViewTask","cardDetails","viewTaskId","filterId","selectTagObject","comparisonOf","questionId","helpId","helpNotifiStatus","IdeaStatus","swotType","notificationCountUpdate","errorChange","changeEvent","timeOut","emptyMessage","subTitle","msg","ZoomDirective","imageRef","renderer2","initialPosition","top","left","zoomMin","zoomMax","zoomStep","zoomCurrent","ratio","initialParams","width","height","currentParams","pWidth","pHeight","pLeft","pTop","handlers","moveHandler","removeHandler","downHandler","containerPreventing","previousCoords","y","position","img","container","parentElement","initialFit","addEvents","removeStyle","hammertime","destroy","mc","removeEventListener","setInitialParams","Manager","defaults","domEvents","preventDefault","recognizers","Pan","enable","startScale","on","scale","min","max","srcEvent","pageX","getContainerPosition","pageY","zoom","ev","onMouseDown","stopImmediatePropagation","naturalWidth","naturalHeight","offsetHeight","offsetWidth","placeImage","setImage","getBoundingClientRect","onMouseMove","onMouseUp","moveAt","maxDragX","maxDragY","newTop","newLeft","off","deltaY","zoomParams","getParams","newWidth","newHeight","imgPosY","imgPosX","imgCursorX","imgCursorY","imgRX","imgRY","maxOffsetY","maxOffsetX","checkPosition","dhb","dwb","imgParams","heightPrefix","widthPrefix","UpcomingTestsService","intialState","isVerifyMobileRequest","isVerifyEmailRequest","profileCompleted","showProfileStripOnDashboard","lastStep","userProfileReducer","userCareers","country","city","schoolIdUrl","userMobile","mobileIsVerified","emailIsverified","userLocation","FiitJeeService","redirectTo","completeProfileSteps","isMobileValid","fromModal","pageForLoginHelp","stepsCompleted","disableBtnSubject","userEmail","fromScreen","mobileCountryCode","newParams","registrationNo","enrollmentno","loginVia","enteredEnrollmentNo","payloadProfile","saveCode","request","resendOtp","mobileMypat","mobilePresent","emailMypat","changeTheSection","communicationVerified","isSignedUp","isMobile","authReducer","DetectLocationService","lazyLoadingService","latitude","longitude","handleError","navigator","geolocation","getCurrentPosition","coords","lazyLoad","toPromise","lat","lan","host","EbooksService","selectedEbookLink","GET_PROFORMA_DETAIL","UPDATE_PROFORMA_DETAIL","STUDENT_PROFORMA_STATUS","UPDATE_ENROLLMENT_DETAIL","UPDATE_PROFORMA_STATUS","UPDATE_PROFORMA_QUESTIONS","UPDATE_PARENT_PROFORMA_STATUS","UPDATE_TEACHER_PROFORMA_STATUS","GetProformaDetail","ProformaStatus","UpdateParentProformaStatus","UpdateTeacherProformaStatus","QuestionsResponses","UpdateProformaDetail","UpadteEnrollmentNumbers","StudentProformaStatus","SafePipe","_sanitizer","bypassSecurityTrustResourceUrl","CARD_ACTIONS","SESSION_DROPDOWN","CLASSES","GOALS","PACKAGE_CTA_TITLE","LOCATION_INFO","TEST_SERIES_TYPES","TEST_STATUS","NotificationComponent","notification","homePageService","countToDisplay","notificationsCurrentPage","notificationList","totalNotificationsLoaded","totalNotificationsCount","showChallengePopUP","noData","newNotificationsActions","getNotificationCount","getNotificationNumber","getNotificationViaPagination","getAllNotificationFunc","count","timeDiff","createdAt","timePassed","timeSince","setNotificationToRead","notificationAction","quesData","val","substr","update","href","dataToPass","assignmentId","subjectId","subject","typename","replaceState","ticketId","tid","notif","isViewed","markAllNotificationRead","fetchAllNotification","ceil","onScroll","DateFilterComponent","datePipe","dateInfo","todayDate","fromDateValue","undefined","toDateValue","dateInit","day","month","year","fromDateEntered","toDateEntered","displayErrorMsg","myDatePickerOptions","dateRange","dateFormat","disableSince","myDatePickerEndDateOptions","disableUntil","values","dateString","dateValue","formatted","transform","epoc","jsDate","singleDate","isRange","showValue","resetDisabledDates","today","yesterday","setDate","dt","disablefromDate","dateTemp","fromDateStr","getElementById","toDateStr","charCode","which","keyCode","onDateChanged","onKeyPress","onkeyUp","ApiFailedForCardsComponent","reloadApiError","reloadState","EXAM_TYPE","IIT_JEE","NTSE","BOARDS","EXAM_DATA","EXAM","STUNDENT_COUNT","STUDENT_QUALIFIED","QUESTIONS_SOLVED","ASPIRANTS_REGISTERED","ntse","boards","DetectVisibilityDirective","elRef","isLoaded","onSectionVisibility","rootMargin","threshold","intersectionCallback","entries","every","entry","isIntersecting","observer","IntersectionObserver","observe","disconnect","proformaReducer","payloadData","student","teacher","parent","questionPayload","questions","questionsStatus","parentPayload","teacherPayload","w","innerWidth","ReportAnIssueIdeaComponent","helpServices","discardComplete","reqObj","categories","description","attachments","disableSubmit","errorAndSuccess","uploadingFile","defaultSuggestionType","prevItem","generalCheckBox","showSelectMenu","isLoading","disabledCrossIcon","isTab","fileAdded","descriptionError","onClosePopUp","onSubmitSuccess","reportAnIdeaUpdate","mydata","fileSizeError","fileTypeAccept","currentUploadIndex","errorText","errorTextProblem","descriptionLength","discardChanges","regexForTab","regexForMobile","userAgent","backdrop","keyboard","ready","helpIssueType","idea","findIndex","cat","ischecked","splice","subItem","changeItem","changeSubItem","subCategories","subCat","c","newItem","newSubItem","currentTarget","checked","getCategoriesName","suggestion","ext","file","reader","FileReader","fileType","size","actualSize","pow","fileName","onload","readAsDataURL","photoUrlCopy","uploadYourFileOnS3","uploadFiles","getPreSignedUrl","postReportAnIssue","fetchHomeCardsData","userCards","dataToPassForUserCards","getParameterByName","checkedNames","category","subCategory","selectedType","results","exec","decodeURIComponent","closePopup","onTypeChange","toggleSelectMenu","onSelectFile","onimageClick","reportAnIssue","ReportAnIssueComponent","subCatergories","selectedSubCategory","showSubCatergoryError","selectSubCategoryError","disabledCloseIcon","prevProblemType","reportAnIssueUpdate","resetErrors","onFocuscategory","onFocusSubCategory","onKeyUp","PrimaryGoalPopupComponent","heading","TagCreatorSharedComponent","solution","darkMode","saveTagEvent","tagArray","selectedTagId","isCreateTagModal","isEditTagModal","isTagModal","isDeleteModal","newTagName","tagNameLength","selectedTagObj","isRemoveTagModal","isQuestionTagCreated","showShimmerBlock","colorArray","colorCode","selected","deleteQuestionCount","revisionRemove","showRemoveModal","questionTagHandler","borderCode","tagId","save","tagType","updateAndSaveSelectedTagData","closeTagModal","getQuestionTags","tagName","selectedTId","color","selectedName","selectedColor","postBody","saveQuestionTag","editName","oldTagName","create","edit","dataForEditTag","updateTagInformation","tagAction","selectedTag","selectedRemove","getDeleteQuestionCount","revision","tagData","getOneQuestionTag","tagResponse","tagNameChangeHandler","deleteTag","deleteCustomTag","previousTagId","questiontypeDetails","tagSaveHandler","TestimonialHomeComponent","owlCarousel","nav","loop","touchDrag","mouseDrag","items","navText","responsiveClass","DETAILS_INFO_CONST","CHAPTERS","CONCEPTS","CoursesWeOfferComponent","_buyCourses","_glite","_courseCardService","activeSubscriptions","DAYS_IN_YEAR","classAvailableInRoute","goalAvailableInRoute","selectedGoalIndex","availableGoals","availedPackages","availableCourses","classesList","targetExamYear","coursesLoader","targetExamDate","startDate","endDate","coursesWeOffer","isPackageLoading","packageData","packageTargetExams","classifiedTests","testCategories","testMap","testPriorityMap","full","part","chap","chapter","concept","sample","practice","subjective","phase","unit","testTypeImages","imagesIndices","syllabusInfo","subjectCount","subjectsSyllabus","syllabusLevel","viewDetailsInfo","userCart","getClasses","showAllCourses","fetchAllPackages","classInfo","class_id","getGoals","dots","margin","autoplay","autoWidth","center","responsive","getAllAvailablePackages","courses","packages","cartCTATitle","ADD_TO_CART","targetYear","targetExam","examDates","renderAvailableCourses","Error","getAllAvailedPackages","goalFromParams","getGoalsFromParams","getAvailableCourses","selectedIndex","goal","relativeTo","queryParamsHandling","getCourses","duration","price","discount","userAction","BUY_NOW","selectedCourse","getPackageDetails","packageDetails","targetExams","exam","courseName","tests","mainTestType","listing","priority","sort","a","b","hide","currentTest","getTestSyllabusDetails","goalId","scheduleId","syllabus","testDetails","displayName","displayTestType","subjects","level","chaptersCollapseComponent","div","subjectsComponent","setAttribute","conceptsCollapseComponent","chaptersComponent","FooterBeforeLoginComponent","companyMenu","resourcesMenu","examsMenu","previousPapersMenu","eBooksMenu","toolsMenu","reachUsMenu","ebook","nodeName","scrollTo","scrollToTop","UserProfile","isFollowing","isFollowed","isPasswordSet","tourStatus","isSchool","followerCount","followingCount","initialsClass","isNCRPUser","featurePermissions","isAdmissionTestUser","admissionTestDetail","hasActivePackage","onSpotRegNo","assignment","dashboard","myTest","blockData","LazyLoadFileImpl","SharedModule","SignupService","signUpVerified","otpApiError","isLogOut","from","loginType","query","queryString","instituteId","LogoutConfirmComponent","closeLogoutPopup","closeModal","logout","AlertComponent","alertMessageSuccess","alertMessageSuccessSubtitle","alertMessageError","alertMessageErrorSubtitle","alertMessageWarning","alertMessageCustom","btn","dynamicCustomMessageAlert","dynamicMessageClass","dynamicMessageIcon","delay","fadeOut","alertSubscription","charAt","showMessage","hideMessage","CourseCardService","pid","SanitiseHTMLPipe","bypassSecurityTrustHtml","ChangePasswordComponent","closeChangePass","oldPassword","newPassword","confirmPassword","displayOldPassword","displayNewPassword","displayConfirmPassword","strength","userMobileOtp","forgotPasswordClicked","recoverPasswordViaOtp","captchaShow","countDownTimer$","counterLimit","validators","digits","lower","upper","nonWords","initResponseResolver","FieldTypes","OLD_PASSWORD","NEW_PASSSWORD","CONFIRM_PASSWORD","password","verifyOTP","closeModalEvent","checkIfCaptchaShow","initCountDownTimer","device","osType","setPassword","sendOTP","fetchCaptchaDetails","acc","condition","responseResolverSubscription$","onPasswordChangeSuccess","onPasswordChangeFailure","getColor","measureStrength","pass","letters","variations","variationCount","check","idx","colorBar","weak","good","average","strong","onPasswordChange","togglePasswordDisplay","AppComponent","gtmService","detectLocation","_gLiteUtilityService","_alertService","baseURLMinimumLength","showHeader","examPopupDetails","originalExamPopupDetails","routesToShowHeader","screenWidth","documentElement","clientWidth","initialize","addGtmToDom","gtmTag","pushTag","GoogleTagManagerService","hostname","setTitleAndFavicon","checkQuizRoutes","asyncClevertapInitialize","resultData","redirectUrl","encodedTestName","addToCart","pageName","page_path","pagePath","asyncPushTag","asyncAddGtmToDom","courseAdded","addCourseToCart","checkHeaderCondition","checkFooterCondition","isB2C","updateExamPopupDetails","urlAfterRedirects","faviconUrl","link","querySelector","rel","showWarningMessage","MESSAGE","getBaseUrl","urlData","getExamPopupDetails","popUps","filterExamPopDetails","useValue","HttpService","serverName","apiFailedForHomeCards","finishingSubjective","errormsg","parseServerError","ReactNativeWebView","postMessage","accessToken","finishing","apiName","isAuth","isGoal","isFiitjeeQuiz","isLoginRequire","onLine","goalName","param","paramsToBePassed","p","showAlert","serverURL","timeoutVar","dataToSend","Authorization","TestFiltersComponent","assignedTestService","upcomingTestService","elementRef","appliedFilters","selectedFilters","filtersList","resetButtonClicked","defaultFilters","syllabusSearchQuery","isSyllabusLoading","selectedSyllabus","isSyllabusSearchFocussed","sliderValue","sliderOptions","showTicks","showTicksValues","stepsArray","projectedRankRange","handleSyllabusSearchEvent","fetchSyllabus","cardName","filters","loadSliderInfo","changes","list","sheet","$rangeInput","prefs","getTrackStyle","curVal","style","curLabel","prevAll","trigger","callJqueryForFilterClose","display","overflow","ngOnDestroy","defaultValue","filterData","computeRankSliderOptions","selectedObjs","syllabusData","mode","exists","setSyllabusSearchFocusMode","applySyllabusFilter","isLocked","searchBy","selectedGoals","goalKey","projectedRank","rankObj","option","legend","start","end","allPerformances","selectedOption","computePerformanceFilter","performanceFilter","performanceValues","finalPerformanceFilter","legends","opacity","allDifficultyFilters","difficultyFilter","difficultyValues","finalDifficultyFilter","difficultyOptions","selectedOptions","sum","reduce","remaining","getMaxDifficultyValue","computeDifficultyFilter","c1","syllabusSearchRef","c2","syllabusDropdownRef","handleFilterClose","resetFilters","CleverTapService","hostDomain","sourceUrl","intent","fromReferral","pageCategory","urls","dataReceived","Site","Phone","Class","clevertap","onUserLogin","HeaderBeforeLoginComponent","_router","formSubmitCTA","routerInfo","signup","USER","login","LOGIN","isCartActive","activeDropdown","open","getMenuList","classContainer","examContainer","resourcesContainer","toggle","class9Container","class10Container","class11Container","class12Container","class12passContainer","toolsContainer","previousPaperContainer","previousPaperMenu","mobileClassContainer","courseMenuContainer","mobileExamMenuContainer","examMenuContainer","mobileResourcesMenuContainer","resourcesMenuContainer","mobileCommunitysMenuContainer","communityMenuContainer","class9listContainer","class9menu","class10listContainer","class10menu","class11listContainer","class11menu","class12listContainer","class12menu","class12passlistContainer","class12passmenu","toolslist","toolsmenu","previousPaperlist","previousPapermenu","samplePaperlist","samplePapermenu","headermenuList","navigateToSignup","getmobileMainMenu","getmobileClassList","getMobileResourcesList","getPreviousYearPapers","closeHeaderResponsive","getAdmissionTestRedirectionUrl","redirectionUrl","attempts","latestAttempt","paperTitle","attemptNo","timeLeft","progress","currentSectionId","currentTypeId","currentQuestionId","questionIds","minQuestions","questionsAttempted","questionsNotAttempted","questionsVisited","questionsNotVisited","questionsReviewed","questionsAnsweredReviewed","numQuestions","paperDetails","isBackDisable","isSkipDisable","isNextDisable","question_array","testStartDate","testEndDate","serverTimeInitially","questionImages","sectionWiseNumbering","totalSessionTime","showNewInstruction","isAutoProctoring","getQuestionType","sectionKey","qtype","visitQuestion","countOfQuestion","visitedQuestions","notVisitedQuestions","notAttempted","noOfVisitQuestions","noOfNotVisitQuestions","countQuestion","updateTime","stateTimeLeft","stateQuestionTimeSpent","markAndReviewWithoutAnswer","isAttempted","isAnsweredReviewed","isMarked","markAndReviewWithAnswer","answeredMarkedCpp","saveUpdationsCpp","saveQuestion","notSaveQuestion","removeMarkState","testOngoingReducer","countSeen","parseFloat","pquestion","cquestion","question","timeSpent","isMarkedForReview","numQues","currentQuestion","questionCode","answerKey","isAnsweredMarkedForReview","progressVal","numQuesVal","newNotAnswered","newMarked","newAnsweredMarked","newAnswered","GET_USER_DETAIL","UPDATE_USER_DETAIL","VERIFY_MOBILE_PROFILE","VERIFY_MOBILE_PROFILE_SUCCESS","VERIFY_EMAIL_PROFILE","VERIFY_EMAIL_PROFILE_SUCCESS","ADD_NAME","ADD_NAME_SUCCESS","ADD_CLASS","ADD_CAREER","ADD_GOAL","ADD_GOAL_SUCCESS","ADD_SCHOOL_SUCCESS","ADD_SCHOOL","ADD_PROFILE_SUCCESS","GET_CLASS_LIST","GET_CLASS_LIST_SUCCESS","GET_GOAL_LIST","GET_GOAL_LIST_SUCCESS","ADD_PASSWORD","ADD_PASSWORD_SUCCESS","SKIP_PASSWORD","SKIP_PASSWORD_SUCCESS","ADD_REFERRAL","ADD_REFERRAL_SUCCESS","UPDATE_USER_CARD_PROFILE","UPDATE_USER_CARD_PROFILE_SUCCESS","CHANGE_PASSWORD","CHANGE_PASSWORD_SUCCESS","UPDATE_PERSONAL_INFO_SUCCESS","ADD_DOB","SET_USER_DETAIL","GetUserDetail","SetUserDetail","UpdateUserDetail","VerifyMobileProfile","VerifyMobileProfileSuccess","VerifyEmailProfile","VerifyEmailProfileSuccess","GetClassList","GetClassListSuccess","GetGoalList","AddName","AddNameSuccess","AddClass","AddCareer","AddGoal","AddGoalSuccess","AddSchoolSuccess","AddSchool","AddProfileSuccess","AddPassword","AddPasswordSuccess","SkipPassword","SKipPasswordSuccess","AddReferral","AddReferralSuccess","UpdateUserCardProfile","UpdateUserCardProfileSuccess","ChangePassword","ChangePasswordSuccess","UpdatePersonalInfoSuccess","AddDOB","Proforma","mypatEnrollmentNumber","studentObj","parentObj","teacherObj","revisedGoalSetting","userType","goalSettingRequired","dueDate","program","goalSelectionStatus","goalSelections","USER_PURCHASE_ACTION","AppModule","autoLogin","providers","PROVIDER_ID","provider","onError","forRoot","runtimeChecks","strictStateImmutability","SeriousAttemptWarningComponent","submitAttempt","resumedTest","sub","submitTest","testTemplate","pageLoaded","resumeTest","SocialSignupLoginComponent","authService","authState","signIn","signOut","signInWithGoogle","signInWithFB","tagColor","popularTagColors","myRegex","$div","html","attr","getMeta","eq","Image","LOGIN_ERROR","wrong_mobile","wrong_password","wrong_email","field_required","OTP_ERROR","LOGIN_ERROR_KEYWORDS","user_name","CART_WARNING","HOME_CARDS_ROUTE","myTests","testHistory","upcomingTest","swotBoard","buyCourses","buildTest","previousYearPapers","ALL_CARDS","HOME_ROUTE","BUY_COURSE","SEARCH_RESULT","MY_REVISION_PLAN","START_TEST_DETAILS","GET_QUESTIONS","GET_QUESTIONS_START","RESUME_TEST_START","GET_QUESTION","UPDATE_QUESTION","UPDATE_SECTION_TYPE","MARK_REVIEW","UPDATE_SECTION","SEND_RESPONSE","SEND_RESPONSE_START","UPDATE_PROGRESS","MARK_PROGRESS","MARK_FOR_REVIEW","UNMARK_FOR_REVIEW","GET_RESULT_START","GET_RESULT","UPDATE_PROGRESS_CPP","MARK_PROGRESS_CPP","UPDATE_QUESTION_TIME","UPDATE_PROGRESS_JEEADV","MARK_PROGRESS_JEEADV","CLEAR_RESPONSE","UpdateQuestionTime","StartTest","StartTestDetail","ResumeTestStart","ResumeTest","GetQuestions","GetQuestionsStart","UpdateSectionType","UpdateSection","GetQuestion","UpdateQuestion","MarkReview","UnMarkReview","SendResponse","SendResponseStart","UpdateProgress","MarkProgress","UpdateProgressCPP","MarkProgressCPP","UpdateProgressJEEADV","MarkProgressJEEADV","MarkForReview","GetResultStart","GetResult","ClearResponse","LoaderLiteComponent","customClass","EDFORA_QUIZ_DOMAIN","EDFORA_QUIZ_TITLE","EDFORA_QUIZ_FAVICON","EDFORA_QUIZ_URL","ADVTSEPT_2","ROUTES_LINK","ACCOUNT_DELETION","EDFORA_DOMAIN","FACULTY_RECRUITMENT","EDFORA_QUIZ_URL_STPT_15","ADVTSEPT_15","LazyLoadingService","loadedLibraries","lazyLoadFiles","loadStyle","loadScript","complete","head","InfoPopupComponent","HomeService","expandHomeCard","showCardDetail","filtersApplied","isTimeManagementPopup","selectedCardData","card","recentSearches","encodeURIComponent","searchQuery","pageNumber","masterId","relatedTopics","showLoader","categoryId","reportType","voteType","DoneWithRevisionComponent","confirmExit","closeRevPopup","leave","ProfileService","personalInfoUpdated","schoolAdded","emailMobileAdded","editedCourseDetails","courseTypeIds","sessionYear","countryId","stateId","cityId","schoolName","resN","imageUrl","postUploadFile","AdmissionTestGuardResolver","PageLockComponent","SET_LOADER","SetLoader","MultiselectfilterComponent","clearingData","getElementsByName","checkElements","Array","isChecked","filterKey","filterValue","that","objToPass","USER_ROUTES","COURSES_CLASSES_DATA","class_9th","class_10th","class_11th","class_12th","class_12th_Pass","goal_jee_m","goal_jee_a","goal_ntse","goal_bitsat","FORM_TYPE","COLLEGE_PRED","ReportAbuseComponent","reportQuestionEvent","reportTypeValue","modalId","reportTypeClick","reportQuestion","SolutionService","solutionFilterData","sideFilterDetails","filterSelected","isFilterListLoading","isSolutionListLoading","hideFilterForSubjectiveCPP","allMistakes","questionMistakeTags","AuthEffects","action$","signUpService","extraEdge","fiitJee","extraEdgeV3","verifyOtpEmail","authData","socialSignup","socialToken","uid","responseRecieved","reload","socialSignin","processAfterSignIn","isRedirect","getProfileData","profileDataResponse","wac","saveOtp","savePassword","fjpassword","saveWac","authNewSignup","freeTrial","number","gtmData","isFiitjeeDomain","getGlobalAuthPopup","pageStr","reverse","extraEdgeToolUpdate","submittedJSON","throwErrorMessage","authVerifyMobile","signuplognpassedInfo","isPreviouslyFiitjeeUser","partnerId","isFIITJEE","authSignin","createUserObject","handleLoginError","dataLayer","ProformaEffects","goalService","getProformaDetails","userInfoResponse","goalSettingResponse","questionstatus","goalSetting","goalSettings","getYourInitials","getInitialsClass","onboardingRequired","middleName","lastName","mypatEnrollmentNo","enrollmentNo","isSchoolDomain","centres","updateProformaStatus","updateProformaQuestions","updateProformaDetail","updateEnrollmentNUmbers","FreeTrialFormComponent","ebookService","prePaperURL","availableClasses","classesDropdown","freeTrialAccessForm","errorMessages","noName","noClass","noNumber","invalidNumber","enableOtpPopup","formType","userNumber","getCountryData","selectedCountry","handleSignup","errorMessageToShow","getSuccess","InvalidLoginComponent","snapshot","setCountDown","setInterval","clearInterval","USER_INFO_CONST","restrictAccess","userAccessStatus","HelperService","TransferToPaytmComponent","selectedCountryData","buttonText","currentState","timeValue","otpValue","otpDigit1","otpDigit2","otpDigit3","otpDigit4","getCountryList","loadScriptForOTP","getReferralDetails","startTimer","referralData","redeemablePoint","balanceAmount","countryList","getAllCountryList","confirmTransfer","isValid","keyup","prev","maxLength","interval","pauseTimer","Number","otpNumber","points","redeemablepoint","redeemPoints","locale","SideFilterListComponent","filterChange","closeFilters","filterDataToShow","filterDetails","filterKeys","filterObj","filterValues","filterType","isApplied","closeFilter","VerifyPasscodeComponent","currentRoute","goalSettingService","signupService","passcodeApiError","getUserTagByUrl","info","isLinkExpired","enteredPasscodeValue","passcode1","passcode2","passcode3","passcode4","passcode5","passcode6","userOtpData","passcode","postPasscodeLogin","navigateAfterLogin","verifyPasscode","HighlightSearch","TestDetailsSyllabusComponent","changeSyllabusLevel","pendingRequest","loaderReducer","UserEffects","onboardingService","getUserDetails","teacherUrl","admissionTest","currentLocation","accountDeletion","some","activeLinks","b2bMobile","careers","passwordExists","onboardingStepsSkipped","updateUserDetail","addCareer","addGoal","UserDetail","careerToAdd","addName","step1","addSchool","schoolUpdated","addPhoto","verifyMobile","phoneAdded","mobileAdded","verifyEmail","emailAdded","addPassword","skipPassword","getClassList","getGoalList","addReferral","updateUserProfilePhoto","HeaderAfterLoginComponent","_gLiteUtility","isClassVisible","showLogoutPopup","showChangePassword","sidebarOverlay","showSearchIcon","hideRightNav","clickedTabDetail","showRevModal","isNcrpUser","isHomeActive","getCart","getTheFreeTrialData","clickover","$navbar","opened","hasClass","collapse","homeSearchComponent","sideBarRef","fetchFreeTrialDataAPI","freeTrialData","selectedCard","navigateToHome","closeRevisionPopup","navigateToClasses","navigateToCommunity","searchClicked","clearSearchResults","routes","path","canActivate","loadChildren","m","HomeInfoModule","component","resolvedData","ForewardFupModule","OnboardingModule","ProfileModule","HomePageModule","CartModule","ViewScheduleModule","NewCommunityModule","MyRevisionPlanModule","TestModule","TestResultsAnalyticsModule","RevisionQuestionDetailsModule","TestDetailsModule","UploadFileSubjectiveModule","aboutUsModule","AboutUsMobileModule","TermsOfUseModule","TermsOfUseMobileModule","PrivacyPolicyModule","PrivacyPolicyMobileModule","CopyrightModule","DisclaimerModule","LecturePrivacyPolicyModule","MobileLecturePrivacyPolicyModule","CheckoutModule","ConceptHistoryModule","CompetitiveExamModule","ViewOurResultsModule","ExamModule","EbooksModule","PreviousYearPapersDownloadModule","LoginSignupDataModule","PrepTrackerModule","CollegePredictorModule","QuizPlatformModule","AccountDeletionModule","OnSpotTestModule","AppRoutingModule","scrollPositionRestoration","OnboardingService","updatedProfileImage","isCaptchaChecked","showStep5","showStep6","BuyCoursesService","exam_id","startingClass","USER_TYPE","STUDENTS","STAKEHOLDER","STAFF","STAFF_ALUMNI","SCHOOLS","STUDENT_ALUMNI","FRESH_REGISTRATION","PARENTS","ALUMNI_PARENTS","STUDENT_6","STUDENT_7","STUDENT_8","STUDENT_9","STUDENT_10","STUDENT_11","STUDENT_12","COUNSELLORS","USER_TYPE_DISPLAY_NAME","GENERIC_CONST","OTP_EXPIRY_INTERVAL","SURVEY_TYPE","MASTER_OTP","PAUSE","RESUME","GRACE","TIME_LEFT_GRACE","MIN_ENROLMENT_NO_LENGTH","QUIZ","TEST","QUESTION_TYPE","SMCQ","MATRIX","DESCRIPTIVE","NUMERICAL","INTEGER","MMCQ","LONG","SHORT","ANSWERS_ONLY","STUDENT","TEACHER","PARENT","OTHERS","SURVEY_FORWARD","SURVEY_COUNT","RATING_QUESTION_CLASS","NUMERICAL_REGEX","QUIZ_STATUS_NOT_FINISHED","SHOW_CLASS_FILTER","ROUNDS_STATUS","UPCOMING","START","IN_REVIEW","SELECTED","NOT_SELECTED","EXPIRED","ROUNDS_TYPE","TEXT","IMG","ROUND_STATUS_DETAILS","upcoming","CTA_TEXT","resume","inReview","notSelected","expired","FINISHED","MESSAGE_IMAGE","SOURCE","MYPAT","USER_SELFIE_IMAGE_NAME","SELFIE_CAMERA_LABELS","NUMERIC_QUESTION_TYPE_KEYPAD","QUIZ_DATE_WISE","LOCATION_TIMEOUT_DURATION","LOCATION_ERROR_MSG","TIMEOUT_ERROR","LOCATION_UNAVAILABLE","PERMISSION_DENIED","DEFAULT","UnderDevelopmentComponent","MathliveDirective","formula","dynamicFormulaElement","MathLive","renderMathInElement","makeFormula","removeServiceWorker","serviceWorker","getRegistrations","registrations","registration","unregister","caches","addServiceWorker","register","registrationError","bootstrapModule","ShareReferralPopupComponent","isLinkCopied","referralLink","inviteSent","isInviteSuccessfull","showTextBox","text","emailsAdded","emailPattern","mobilePattern","tooltip","clipboardData","setData","execCommand","o","communicationList","webpackAsyncContext","req","__webpack_require__","ids","all","webpackAsyncContextKeys","module","exports","LockedStateComponent"],"mappings":"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A;;AACF;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;;;;;AAKI;;AACE;;AACE;;AACA;;AACE;;AACE;;AACE;;AACA;;AACF;;AACA;;AACE;;AACA;;AACF;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;;;;;AArBJ;;AACE;;AACE;;AAoBF;;AACF;;;;;;AArByB;;AAAA;;;;;;AAwBzB;;AACE;;AACE;;AACE;;AACE;;AACA;;AACE;;AACA;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACA;;AACA;;AACA;;AACA;;AACF;;AACF;;AACA;;AACI;;AACI;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACF;;AACF;;;;;;AAGA;;AACE;;AACE;;AACE;;AACE;;AACA;;AACE;;AACA;;AACA;;AACF;;AACF;;AACA;;AACE;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACF;;AACA;;AACE;;AACA;;AACA;;AACA;;AACF;;AACF;;AACF;;AACF;;;;;;AAIA;;AACE;;AACE;;AACE;;AACE;;AACE;;AACA;;AACF;;AACA;;AACE;;AACA;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACA;;AACF;;AACA;;AACE;;AACA;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACA;;AACF;;AACA;;AACE;;AACA;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACA;;AACF;;AACA;;AACE;;AACA;;AACF;;AACF;;AACF;;AACF;;AACF;;;;;;AAGA;;AACE;;AACE;;AACE;;AACI;;AACA;;AACJ;;AACF;;AACA;;AACE;;AACI;;AACA;;AACJ;;AACF;;AACA;;AACE;;AACI;;AACA;;AACJ;;AACF;;AACA;;AACE;;AACI;;AACA;;AACJ;;AACF;;AACA;;AACE;;AACI;;AACA;;AACJ;;AACF;;AACF;;AACF;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","file":"main-es5.js","sourcesContent":["import { ActionReducerMap } from '@ngrx/store';\nimport * as fromAuth from './auth/auth.reducers';\nimport * as fromProfile from './profile/user-profile.reducers';\nimport * as fromLoader from './loader/loader.reducers';\nimport * as fromProforma from './proforma/proforma.reducers';\nimport * as testOngoing from \"./test-ongoing/test-ongoing.reducers\";\n\n\nexport interface AppState{\n auth: fromAuth.State;\n userProfile: fromProfile.State;\n loader: fromLoader.State;\n proforma: fromProforma.State;\n testOngoing:testOngoing.State;\n}\n\nexport const AppReducers: ActionReducerMap = {\n auth: fromAuth.authReducer,\n userProfile: fromProfile.userProfileReducer,\n loader: fromLoader.loaderReducer,\n proforma: fromProforma.proformaReducer,\n testOngoing: testOngoing.testOngoingReducer\n};\n","import { Component, ViewChild, Input, OnInit, OnDestroy, ElementRef, HostListener, Inject } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { CaptchaDirective } from 'src/app/shared/directives/captcha.directive';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\nimport { countryArray } from 'src/app/shared/constants/glite.constants';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../../stores/app.reducers';\nimport * as AuthActions from '../../../stores/auth/auth.actions';\nimport { EbooksService } from '../ebooks.service';\nimport { DOCUMENT } from '@angular/common';\nimport { HelperService } from 'src/app/shared/services/helper.service';\ndeclare var $;\n@Component({\n selector: 'app-download-ebook',\n templateUrl: './download-ebook.component.html',\n styleUrls: ['./download-ebook.component.scss']\n})\nexport class DownloadEbookComponent implements OnInit, OnDestroy {\n @ViewChild(CaptchaDirective) vc: CaptchaDirective;\n @ViewChild('mobileContainer') mobileContainer: ElementRef;\n @ViewChild('dropdown') dropdown: ElementRef;\n @Input() classesDropdown: any[];\n @Input() availableClasses: any[];\n @Input() isCaptchaEnabled: boolean;\n @Input() CTATitle: string;\n @Input() popUpHeading: string;\n private activeSubscription = new Subscription();\n private isDropdownOpen: boolean = false;\n public validMobileNumberLength: number = 10;\n public enableVerifyOTPPopup: boolean = false;\n public ebookDownloadForm: FormGroup = null;\n public selectedClass: any = { class: 'Select Class', _id: '00' };\n public captchaInfo: any = {\n showCaptcha: false,\n captchaChecked: true,\n showCaptchaError: false\n };\n public errorInfo: any = {\n name_error: false,\n class_error: false,\n mobile_error: false,\n no_name: 'Name should at least be of 3 characters',\n no_class: 'This field is required',\n invalid_number: 'Enter a valid number',\n validNameLength: 3,\n defaultClassId: '00'\n };\n public selectedDialCode: any = countryArray[0];\n\n constructor(\n @Inject(DOCUMENT) private readonly document: Document,\n private fb: FormBuilder,\n private utility: UtilityService,\n private _ebook: EbooksService,\n private store: Store,\n private _helper: HelperService\n ) { }\n\n ngOnInit(): void {\n this.initializePopData();\n\n this.activeSubscription.add(\n this.utility.captchaStateHandler.subscribe((resetCaptcha: boolean) => {\n if (resetCaptcha) {\n this.enableVerifyOTPPopup = false;\n this.resetCaptcha();\n }\n })\n );\n\n this.activeSubscription.add(\n this._ebook.handleDownloadEbookPopup.subscribe((showPopup: boolean) => {\n if (showPopup) {\n $('#ebookDownload').modal('show');\n this.initializePopData();\n }\n })\n );\n\n this.activeSubscription.add(\n this._helper.handleSignupError.subscribe((data: any) => {\n if (!data.signupError) {\n this.enableVerifyOTPPopup = true;\n this.isDropdownOpen = false;\n $('#ebookDownload').modal('hide');\n } else {\n this.resetCaptcha();\n }\n })\n )\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: any) {\n if (this.isDropdownOpen && !this.dropdown.nativeElement.classList.contains('show') && this.selectedClass._id === this.errorInfo.defaultClassId) {\n this.errorInfo.class_error = true;\n this.isDropdownOpen = false;\n }\n }\n\n handleNameValue(): void {\n const regexToTestName = /^[A-Z]/gi;\n this.errorInfo.name_error = false;\n let userName = this.ebookDownloadForm.value.name;\n if (!regexToTestName.test(userName)) {\n userName = userName.substring(0, userName.length - 1);\n }\n this.errorInfo.name_error = (userName.length < this.errorInfo.validNameLength);\n this.ebookDownloadForm.controls['name'].setValue(userName);\n }\n\n initializePopData(): void {\n this.ebookDownloadForm = this.fb.group({\n name: [''],\n mobile: ['']\n });\n this.selectedClass = { class: 'Select Class', _id: '00' };\n this.errorInfo.name_error = false;\n this.errorInfo.class_error = false;\n this.errorInfo.mobile_error = false;\n }\n\n captchaExpired() {\n if (this.vc) {\n this.vc.reset();\n }\n this.captchaInfo.captchaChecked = false;\n }\n\n resetCaptcha() {\n if (this.vc) {\n this.vc.reset();\n }\n this.captchaInfo.captchaChecked = false;\n this.captchaInfo.showCaptcha = false;\n }\n\n get countryData() {\n return countryArray;\n }\n\n getSuccess() {\n this.captchaInfo.captchaChecked = true;\n this.captchaInfo.showCaptchaError = false;\n this.downloadEbook();\n }\n\n handleDropdownState(): void {\n this.isDropdownOpen = true;\n }\n\n selectClass(dataSelected: any) {\n this.errorInfo.class_error = false;\n if (this.selectedClass._id !== dataSelected._id) {\n this.selectedClass.class = dataSelected.class;\n this.selectedClass._id = dataSelected._id;\n }\n }\n\n selectCountryCode(selectedDialCode: any) {\n this.selectedDialCode = selectedDialCode;\n }\n\n handlePopUpClose(): void {\n this.resetCaptcha();\n this.isDropdownOpen = false;\n $('#ebookDownload').modal('hide');\n }\n\n handleMobileNumber(e: any): any {\n let mobileNumber = this.ebookDownloadForm.value.mobile;\n this.errorInfo.mobile_error = false;\n var pattern = /^[0-9]+$/;\n if (!pattern.test(mobileNumber)) {\n mobileNumber = mobileNumber.substring(0, mobileNumber.length - 1);\n } else if (mobileNumber.length > this.validMobileNumberLength) {\n mobileNumber = mobileNumber.substring(0, this.validMobileNumberLength);\n }\n this.errorInfo.mobile_error = mobileNumber.length < this.validMobileNumberLength;\n this.ebookDownloadForm.controls['mobile'].setValue(mobileNumber);\n }\n\n enableCaptcha() {\n this.captchaInfo.showCaptcha = this.isCaptchaEnabled;\n }\n\n downloadEbook(): void {\n let captchaToken = '';\n if (this.isCaptchaEnabled && this.vc) {\n captchaToken = this.vc.getResponse();\n }\n\n const payload = {\n name: this.ebookDownloadForm.value.name,\n countryCode: this.selectedDialCode.dialCode,\n mobileNumber: this.ebookDownloadForm.value.mobile,\n loginViaOtp: true,\n referralCode: '',\n class: {\n classId: this.selectedClass._id,\n name: this.selectedClass.class\n },\n captchaToken\n };\n $('#ebookDownload').modal('hide');\n this.isDropdownOpen = false;\n this.store.dispatch(new AuthActions.TryNewSignup(payload));\n }\n\n ngOnDestroy(): void {\n this.activeSubscription.unsubscribe();\n }\n\n addNewClass(){\n this.mobileContainer.nativeElement.classList.add('borderBottomNone')\n }\n}\n","
\n
\n
\n \n
\n
\n

{{popUpHeading}}

\n
\n \n
\n \n \"User\"/\n
\n {{errorInfo.no_name}}\n
\n
\n \n
\n \n \n
\n {{errorInfo.no_class}}\n
\n
\n \n
\n
\n
\n {{selectedDialCode.dialCode}}\n \n
\n
    \n
  • {{country.dialCode}}
  • \n
\n
\n \n
\n {{errorInfo.invalid_number}}\n
\n
\n
\n
\n
Please select captcha
\n
\n \n
\n
\n
\n
\n
\n
\n\n\n\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n RouterStateSnapshot,\n ActivatedRouteSnapshot,\n Router\n} from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from './stores/app.reducers';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class LoginGuard implements CanActivate {\n public userDetail;\n constructor(private router: Router, private store: Store) { }\n canActivate(state: ActivatedRouteSnapshot, route: RouterStateSnapshot): Observable | Promise | boolean {\n const fiitjeeToken = localStorage.getItem('fiitjeeToken');\n return this.store.select('auth').pipe(\n map((auth) => {\n if (!auth.authenticated && !fiitjeeToken) {\n return true;\n }else if(fiitjeeToken){\n this.router.navigate(['quiz/home']);\n return false;\n }else {\n this.router.navigate(['home']);\n return false;\n }\n }\n )\n );\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-free-trial-expiry',\n templateUrl: './free-trial-expiry.component.html',\n styleUrls: ['./free-trial-expiry.component.scss']\n})\nexport class FreeTrialExpiryComponent implements OnInit {\n\n constructor(private router: Router) { }\n\n ngOnInit(): void {\n }\n\n navigateToBuyCourses(): void {\n this.router.navigate(['home/buy-course']);\n }\n\n}\n","\n
\n
\n
\n \n
\n
\n \"Free\n

Free Trial Expired!

\n
\n

\n Your 14-day trial period is over. Hence you cannot access this test.\n

\n

Learning, however, never stops!

\n

Buy a myPAT course to unlock your access to a successful learning journey!

\n
\n \n
\n
\n
","import { Component, OnInit, Output, EventEmitter, Input, ElementRef, ViewChild } from '@angular/core';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { HomeService } from '../../services/home.service';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { filter } from 'rxjs/operators';\nimport _ from 'lodash';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-home-search',\n templateUrl: './home-search.component.html',\n styleUrls: ['./home-search.component.scss']\n})\n\nexport class HomeSearchComponent implements OnInit {\n @Input() clearSearch: any;\n @Output() onExpand = new EventEmitter();\n @ViewChild('globalSearch') searchInputField: ElementRef;\n recentSearchData: any;\n searchSuggestions: any;\n showSearchSuggestions: boolean = false;\n showRecentSearch: boolean = false;\n expandInput: boolean = false;\n searchText: string = \"\";\n recentSearchListFetched = false;\n recentSearchItems: any;\n isSuggestionsFetched: boolean = false;\n elementIds: Array = [\n 'recentSearchBar', 'recentSearchText', 'recentList', 'suggestionList', 'searchBar', 'searchIcon'\n ];\n\n constructor(private homeService: HomeService,\n private router: Router, private alertService: AlertService) {\n const events = router.events.pipe(\n filter((event) => event instanceof NavigationEnd)\n );\n document.addEventListener('click', this.outSideClick.bind(this));\n events.subscribe((e: NavigationEnd) => {\n if (localStorage.getItem(\"searchKeywordData\")) {\n let searchData = JSON.parse(localStorage.getItem(\"searchKeywordData\"));\n this.searchText = searchData.name\n }\n });\n }\n\n ngOnInit(): void {\n this.homeService.homeSearchUpdate.subscribe((data) => {\n switch (data.action) {\n case 'autoFocusSearchField':\n this.autoFocusSearchField();\n break;\n case 'clearAllSuggestions':\n this.clearAll();\n }\n });\n\n if (window.location.pathname.includes(\"searchResult\")) {\n let searchData = JSON.parse(localStorage.getItem(\"searchKeywordData\"));\n this.searchText = searchData.name\n }\n\n this.alertService.clickedBackHome.subscribe((res) => {\n if (res) {\n this.searchText = '';\n this.alertService.clickedBackHome.next(false);\n }\n });\n\n // add class in global search \n $('#searchBar').focus(function () {\n $('.globalSearch').addClass('zIndex99');\n }).blur(function () {\n $('.globalSearch').removeClass('zIndex99');\n });\n }\n\n ngOnChanges() {\n if (this.clearSearch) {\n this.searchText = \"\";\n }\n }\n\n fillSearchItem(itemSelected, event) {\n event.stopPropagation();\n this.searchText = itemSelected.name;\n let id = itemSelected.id;\n localStorage.removeItem(\"searchKeywordData\");\n localStorage.setItem(\"searchKeywordData\", JSON.stringify(itemSelected));\n this.showRecentSearch = false;\n this.showSearchSuggestions = false;\n this.searchSuggestions = [];\n this.fetchSearchSuggestions();\n this.autoFocusSearchField(true);\n }\n\n showRecentSearchToggle() {\n this.expandInput = true;\n this.onExpand.emit(true);\n if (!this.searchText) {\n this.showRecentSearch = true;\n if (this.recentSearchListFetched) {\n return;\n }\n\n if (this.showRecentSearch) {\n this.recentSearchData = [];\n this.homeService.fetchRecentSearch().then((res) => {\n if (res) {\n this.recentSearchListFetched = true;\n this.recentSearchData = res;\n if (this.recentSearchData.length > 10) {\n this.recentSearchData = this.recentSearchData.slice(0, 10);\n }\n this.showHighlightedText();\n }\n });\n } else {\n this.recentSearchData = [];\n }\n } else {\n this.showSearchSuggestions = true;\n if (this.isSuggestionsFetched) {\n return;\n }\n if (this.showSearchSuggestions) {\n let types = 'concept,chapter';\n this.appendRecentSearchItem();\n this.homeService.searchSuggestions(types, this.searchText).then((res) => {\n if (res) {\n this.searchSuggestions = res.length ? _.unionBy(this.recentSearchItems, res, 'id') : this.recentSearchItems;\n this.isSuggestionsFetched = true;\n this.showSearchSuggestions = true;\n } else {\n this.showSearchSuggestions = false;\n this.isSuggestionsFetched = false;\n }\n this.showHighlightedText();\n });\n } else {\n this.searchSuggestions = []\n }\n }\n }\n\n appendRecentSearchItem(): void {\n this.recentSearchItems = this.recentSearchData.filter(item => {\n item.isRecentSearchItem = true;\n return item.name && item.name.toLowerCase().includes(this.searchText.toLowerCase());\n });\n }\n\n searchItemSelected(e, itemSelected) {\n e.stopPropagation();\n this.searchText = itemSelected && itemSelected.name;\n let id = itemSelected && itemSelected.id;\n this.closeSearchBoxOnClick();\n localStorage.removeItem(\"searchKeywordData\");\n\n localStorage.setItem(\"searchKeywordData\", JSON.stringify(itemSelected));\n if (id) {\n this.router.navigate([\n `home/searchResult/${id}`\n ]);\n } else {\n this.router.navigate([\n `home/searchResult/searchForCommunity/${itemSelected.name}`\n ]);\n }\n }\n\n searchForOnlyCommunity() {\n let itemSelected = {\n name: this.searchText\n }\n localStorage.setItem(\"searchKeywordData\", JSON.stringify(itemSelected));\n this.router.navigate([\n `home/searchResult/searchForCommunity/${itemSelected.name}`\n ]);\n this.resetSearchBar();\n }\n\n onEnterSearch() {\n if (this.searchText) {\n let searchData = JSON.parse(localStorage.getItem(\"searchKeywordData\"));\n let id = searchData && (searchData._id || searchData.id);\n if (this.searchText.toLowerCase() === searchData && searchData.name.toLowerCase()) {\n this.router.navigate([\n `home/searchResult/${id}`\n ]);\n } else {\n this.searchForOnlyCommunity()\n }\n this.resetSearchBar();\n }\n }\n\n resetSearchBar() {\n this.showRecentSearch = false;\n this.showSearchSuggestions = false;\n this.recentSearchData = [];\n this.searchSuggestions = [];\n this.expandInput = false;\n this.onExpand.emit(false);\n }\n\n removesearchText() {\n this.searchText = \"\";\n }\n\n removeSearchClass() {\n this.searchText = \"\";\n let searchEle: any = document.getElementsByClassName('searchHideRes')\n searchEle[0].classList.remove('searchHideRes');\n }\n\n outSideClick($event) {\n if ($event.target.id === 'recentSearchBar' || $event.target.id === 'recentSearchText') {\n this.autoFocusSearchField();\n } else if (!this.elementIds.includes($event.target.id)) {\n this.searchText = this.showSearchSuggestions || this.showRecentSearch ? '' : this.searchText;\n this.closeSearchBoxOnClick();\n }\n }\n\n closeSearchBoxOnClick() {\n this.showSearchSuggestions = false;\n this.searchSuggestions = [];\n this.showRecentSearch = false;\n this.expandInput = false;\n this.recentSearchListFetched = false;\n this.isSuggestionsFetched = false;\n this.onExpand.emit(false);\n }\n\n onChangeSearchValue = _.debounce((event) => {\n this.showRecentSearch = false;\n this.searchText = event;\n\n if (!(this.searchText || \"\").trim()) {\n this.showSearchSuggestions = false;\n this.recentSearchListFetched = false;\n this.showRecentSearchToggle();\n this.showHighlightedText();\n return;\n }\n this.fetchSearchSuggestions();\n }, 200);\n\n fetchSearchSuggestions() {\n const types = 'concept,chapter';\n\n this.appendRecentSearchItem();\n this.homeService.searchSuggestions(types, this.searchText).then((res) => {\n if (res) {\n this.expandInput = true;\n this.onExpand.emit(true);\n this.isSuggestionsFetched = true;\n this.searchSuggestions = res.length ? _.unionBy(this.recentSearchItems, res, 'id') : this.recentSearchItems;\n this.showSearchSuggestions = true;\n if (this.searchSuggestions.length > 10) {\n this.searchSuggestions = this.searchSuggestions.slice(0, 10);\n }\n } else {\n this.showSearchSuggestions = false;\n this.isSuggestionsFetched = false;\n }\n this.showHighlightedText();\n });\n }\n\n emptySearchState() {\n this.showSearchSuggestions = false;\n this.searchSuggestions = [];\n }\n\n clearAll() {\n this.homeService.clearAllSuggestion().then((res: any) => {\n if (res.code === 200) {\n this.recentSearchData = []\n }\n })\n this.showRecentSearch = false;\n this.expandInput = true;\n }\n\n clearSearchText() {\n this.searchText = '';\n this.autoFocusSearchField();\n }\n\n autoFocusSearchField(skipClickEvent?) {\n setTimeout(() => {\n if (this.searchInputField) {\n if (!skipClickEvent) {\n this.searchInputField.nativeElement.click();\n }\n this.searchInputField.nativeElement.focus();\n }\n }, 100);\n }\n\n public showHighlightedText = _.debounce(this.highlightTextUtilityFunction, 200);\n\n highlightTextUtilityFunction(): void {\n let listElementsName = document.querySelectorAll('.itemName');\n\n listElementsName.forEach((element) => {\n element.innerHTML = this.showHighlightedTextHelper(element);\n });\n }\n\n showHighlightedTextHelper(element): string {\n let textContent = element.textContent;\n if (textContent.toLowerCase().indexOf(this.searchText.toLowerCase()) > -1) {\n let index = textContent.toLowerCase().indexOf(this.searchText.toLowerCase());\n let textToHiglight = textContent.substring(index, index + this.searchText.length);\n const re = new RegExp(textToHiglight, 'i');\n return element.textContent.replace(re, `${textToHiglight}`);\n } else {\n return textContent;\n }\n }\n}\n","
\n \n \"back\"/\n \n \n 0) || (searchSuggestions && searchSuggestions.length > 0) || (searchText)\"\n autocomplete=\"off\"\n id=\"searchBar\"\n (click)=\"showRecentSearchToggle()\"\n (ngModelChange)=\"onChangeSearchValue($event)\"\n (keyup.enter)=\"onEnterSearch()\"\n [(ngModel)]=\"searchText\"\n type=\"text\" placeholder=\"Search for concepts, chapters, and more...\" #globalSearch/>\n \n \n \n \n \n 0\" (click)=\"clearSearchText()\">\n \n \n \n \n
    0\">\n
    \n
    \n Recent\n Clear All\n
    \n
  • \n
    \n
    \"Clock\"
    \n

    {{ searchItem?.name | titlecase }}

    \n
    \n
    \n {{ searchItem?.type }}\n
    \n
  • \n
    \n
\n
    \n
    \n
    \n Search Glorifire for \n \"{{searchText}}\"\n
    \n
  • \n
    \n
    \"Clock\"
    \n \n
    \"Search\"
    \n
    \n

    {{ searchItem?.name | titlecase }}

    \n
    \n
    \n {{ searchItem?.type }}\n
    \n
  • \n
    \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ProfileService } from 'src/app/profile/shared/services/profile.service';\ndeclare var $: any;\n\n@Component({\n selector: 'app-myplan-popup',\n templateUrl: './myplan-popup.component.html',\n styleUrls: ['./myplan-popup.component.scss']\n})\nexport class MyplanPopupComponent implements OnInit {\n\n constructor(private profileService: ProfileService) { }\n\n ngOnInit(): void {\n this.profileService.showMyPlanPopUp.subscribe((showMyPlanPopUp: boolean) => {\n const hideMyplanPopup = JSON.parse(localStorage.getItem('hideMyplanPopup') || 'false');\n if (showMyPlanPopUp && !hideMyplanPopup) {\n $(`#myplan-popup`).modal('show');\n }\n });\n }\n\n dismissModal(): void {\n localStorage.setItem('hideMyplanPopup', 'true');\n $(`#myplan-popup`).modal('hide');\n }\n}\n","
\n
\n
\n
\n \n

Go to myPlan

\n

Please go to myPlan to start your training

\n \n
\n
\n
\n
","\n
\n
    \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
\n
\n
\n\n\n
\n
    \n
  • \n
    \n
    \n
    \n
    \n

    \n
    \n
    \n

    \n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
\n
\n\n\n
\n
    \n
  • \n
    \n

    \n
    \n
    \n
    \n

    \n

    \n
    \n
    \n

    \n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
\n
\n\n\n
\n
    \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
  • \n
  • \n
    \n
    \n
  • \n
\n
\n\n\n
\n
    \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
\n
\n\n\n\n
\n
    \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
  • \n
\n
\n\n\n
\n
    \n
  • \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
    \n
  • \n
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
    \n
  • \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n
  • \n
\n
\n\n\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
    \n
  • \n
  • \n
  • \n
  • \n
\n
","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-selected-card-loader',\n templateUrl: './selected-card-loader.component.html',\n styleUrls: ['./selected-card-loader.component.scss']\n})\n\nexport class SelectedCardLoaderComponent implements OnInit {\n\n @Input() cardName: string;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n range(n: number) {\n const arr = [];\n for (let i = 0; i < n; i += 1) arr.push(i);\n return arr;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssignedTestsService {\n\n dateRangeValue = new BehaviorSubject(null);\n initializeFilter = new BehaviorSubject(null); // For Filter Scroll\n\n constructor(\n private httpService: HttpService,\n private alertService: AlertService\n ) { }\n\n getAssignedTests(body): any {\n return new Promise((resolve, reject) => {\n this.httpService.post('v4/auth/assigned-tests', true, body, true, false, false).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../../../stores/app.reducers';\ndeclare var $: any;\n\n@Component({\n selector: 'app-profile-dropdown',\n templateUrl: './profile-dropdown.component.html',\n styleUrls: ['./profile-dropdown.component.scss', '../header-after-login.component.scss']\n})\nexport class ProfileDropdownComponent implements OnInit {\n\n @Input() userData: any;\n @Input() fiitjeeFacultyHiring:boolean = false;\n public photoUrl = '';\n public userName = '';\n public gotImage = false;\n public initials: any = '';\n public intialsClass: string;\n @Output() openLogout = new EventEmitter();\n @Output() openPassword = new EventEmitter();\n @Output() disableHome = new EventEmitter();\n constructor(\n private router: Router,\n private store: Store,\n ) { }\n\n ngOnInit(): void {\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n this.userName = this.userData.name ? this.userData.name : '';\n this.photoUrl = this.userData.photoUrl ? this.userData.photoUrl : '';\n this.checkIfImageExist();\n });\n }\n\n checkIfImageExist(): void {\n if (this.userData.userId && this.userData.photoUrl) {\n this.gotImage = true;\n } else {\n this.gotImage = false;\n }\n }\n goToProfile(): void {\n this.changeHomeStatus();\n this.router.navigate(['/profile/personal-info']);\n }\n\n goToRefer(): void {\n this.changeHomeStatus();\n this.router.navigate(['/refer-and-earn']);\n }\n\n changePassword(): void {\n this.changeHomeStatus();\n this.openPassword.emit();\n }\n\n changeHomeStatus(){\n this.disableHome.emit();\n }\n\n logoutConfirm(): void {\n this.changeHomeStatus();\n if (this.userData.isTeacher) {\n return;\n }\n this.openLogout.emit();\n }\n}\n","
\n \n \n \n \n {{userData.initials}}\n \n \n
\n \n \n
\n
\n","
\n

Hello, {{getName(userData.name)}}

\n
\n \n Class {{userData.userClass.name}}\n {{userData.userGoals[0].courseType.name}} 1\">+{{userData.userGoals.length - 1}}\n
\n
\n \n {{assignedBatched[0]?.name}}\n 1\">\n +{{assignedBatched?.length - 1}} \n
    \n
  • {{batch?.name}}
  • \n
\n
\n
\n
\n
\n \n {{userData?.userCentres[0]?.name}}\n 1\">\n +{{userData?.userCentres?.length - 1}} \n
    \n
  • {{centre?.name}}
  • \n
\n
\n
\n
\n
\n\n
\n
\n
\n \n
\n

Target Exams

\n
\n {{goalName?.courseType?.name}}\n
\n
\n
\n
\n
","import { Component, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-profile-user-info',\n templateUrl: './profile-user-info.component.html',\n styleUrls: ['./profile-user-info.component.scss']\n})\nexport class ProfileUserInfoComponent implements OnInit {\n @Input() userData: any;\n public romanClassMapping = [\n { english: '1st', roman: 'I' },\n { english: '2nd', roman: 'II' },\n { english: '3rd', roman: 'III' },\n { english: '4th', roman: 'IV' },\n { english: '5th', roman: 'V' },\n { english: '6th', roman: 'VI' },\n { english: '7th', roman: 'VII' },\n { english: '8th', roman: 'VIII' },\n { english: '9th', roman: 'IX' },\n { english: '10th', roman: 'X' },\n { english: '11th', roman: 'XI' },\n { english: '12th', roman: 'XII' },\n { english: '12th Pass', roman: 'XII Pass'},\n { english: '12th +', roman: 'XII +'}\n ];\n public showMore: boolean = false;\n public showMoreData: any = [];\n public primaryGoalName: any = '';\n public assignedBatched: any = [];\n public primaryGoalData: any[] = [];\n \n constructor() { }\n\n ngOnInit(): void {\n // tslint:disable-next-line: prefer-for-of\n this.primaryGoalData = this.userData.userGoals;\n for (let i = 0; i < this.userData.userGoals.length; i++) {\n if (this.userData.userGoals[i].isPrimary) {\n this.primaryGoalName = this.userData.userGoals[i].courseType && this.userData.userGoals[i].courseType.name;\n break;\n }\n }\n if (this.userData && this.userData.userId && this.userData.userCentres && this.userData.userCentres.length) {\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < this.userData.userCentres.length; i++) {\n if (this.userData.userCentres[i].batches.length > 1) {\n this.showMore = true;\n }\n // tslint:disable-next-line: prefer-for-of\n for (let j = 0; j < this.userData.userCentres[i].batches.length; j++) {\n const obj = {centre: this.userData.userCentres[i].name, batches: this.userData.userCentres[i].batches[j].name };\n this.showMoreData.push(obj);\n }\n }\n if (this.userData.userCentres.length > 1) {\n this.showMore = true;\n }\n const assignedBatches = [];\n this.userData?.userCentres?.forEach(centre => {\n centre?.batches?.forEach(batch => {\n assignedBatches.push(batch);\n });\n });\n this.assignedBatched = assignedBatches;\n }\n }\n\n getEnNo(): string {\n return this.userData.isFiitjee ? this.userData.fiitjeeEnrollmentNumber : this.userData.enrollmentNumber;\n }\n\n getName(name): string {\n return name.split(' ')[0];\n }\n\n getClass(className): string {\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < this.romanClassMapping.length; i++) {\n if (className === this.romanClassMapping[i].english) {\n return this.romanClassMapping[i].roman;\n }\n }\n }\n\n getTitle(): string {\n let result = '';\n if (this.userData.userCentres && this.userData.userCentres[0].batches.length) {\n result = this.userData.userCentres[0].batches[0].name + ', ' + this.userData.userCentres[0].name;\n }\n return result;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from './http.service';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\nconst TESTS_TO_REMAIN_LOCKED = [\n 'full', 'part', 'combined', 'phase', 'unit'\n];\n\nconst TEST_TYPE = {\n SAMPLE_TEST: 'sample'\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GLiteUtilityService {\n public numberOfItemsInCart = new BehaviorSubject(false);\n public cartItems: Array = [];\n public selectedState: any = '';\n public allPackages: any = {};\n public triggerFreeTrialPopup = new Subject();\n public getActiveClassId = new Subject();\n public signUpData: any = {};\n\n constructor(private _http: HttpService) { }\n\n fetchStates() {\n return this._http.get('stateList', false, null, null, null, environment.serverURLv3);\n }\n\n getCart() {\n return this._http.get('getcart', true, {}, true, false, environment.serverURLv3);\n }\n\n deleteCartItem(data: any) {\n return this._http.delete(`removeCartItem?course_id=${data.course_id}`, data, true, environment.serverURLv3);\n }\n\n getTax(state: any) {\n return this._http.get('getTax', true, state, true, false, environment.serverURLv3);\n }\n\n getUserPackages() {\n return this._http.get('v4/auth/user/packages', true, {}, true, false, environment.serverURLv4);\n }\n\n checkIfTestIsLocked(testData: any): boolean {\n let isTestLocked = false;\n Object.keys(this.allPackages).forEach((key: any) => {\n const currentPackage = this.allPackages[key];\n if (currentPackage?.packageId === testData?.packageId) {\n if (currentPackage.purchased || testData.type === TEST_TYPE.SAMPLE_TEST) {\n isTestLocked = false;\n } else if (currentPackage?.isFreeTrialExpired || (TESTS_TO_REMAIN_LOCKED.includes(testData?.type) && currentPackage?.isFreeTrial)) {\n isTestLocked = true;\n }\n }\n });\n return isTestLocked;\n }\n\n getTaxInfo(payload: any){\n return this._http.get('stateTax',false,payload,true,false,environment.serverURLv3);\n }\n}\n","const ROUTES = {\n ON_SPOT: 'on-spot',\n ENROLMENT: 'enrolment',\n DASHBOARD: 'dashboard',\n};\n\nconst LOGIN_FORM_FIELDS = {\n ENROLMENT_NO: 'enrolmentNo',\n ACCESS_CODE: 'accessCode',\n};\n\nconst BUTTON_STATES = {\n START_TEST: 'Start Test',\n RESUME_TEST: 'Resume Test',\n VIEW_RESULT: 'View Result',\n};\n\nconst ATTEMPT_STATUS = {\n FINSIHED: 'finished',\n}\n\nconst INTERNET_NOT_AVAILABLE_ERROR = 'Please check your internet connection';\n\nexport {\n ROUTES,\n LOGIN_FORM_FIELDS,\n BUTTON_STATES,\n ATTEMPT_STATUS,\n INTERNET_NOT_AVAILABLE_ERROR,\n}","import { Component, Input, OnInit, OnChanges, OnDestroy } from '@angular/core';\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { UtilityService } from '../shared/services/utility.service';\nimport { Store } from '@ngrx/store';\nimport { AppState } from '../stores/app.reducers';\nimport { Subscription } from 'rxjs';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-application-survey',\n templateUrl: './application-survey.component.html',\n styleUrls: ['./application-survey.component.scss']\n})\nexport class ApplicationSurveyComponent implements OnInit, OnDestroy {\n\n @Input() modalNumber?: any;\n @Input() examPopupData?: any;\n @Input() numberOfPopups?: any;\n\n private popUpFields = ['applicationNumber', 'rollNumber', 'score', 'mobile', 'email', 'crlRank'];\n private validExtension = [\".png\", \".jpg\", \".jpeg\"];\n public isImageRequired = false;\n public isImageRequiredJeeA = false;\n public isJEEA = false;\n private isStatusChanged = false;\n public isRadioButtonVisible = false;\n public applicationModalData = {\n popUpName: '',\n applicationNumber: false,\n rollNumber: false,\n score: false,\n applicationNumberPlaceholder: '',\n rollNumberPlaceholder: '',\n scorePlaceholder: '',\n applicationNumberErrMsg: '',\n rollNumberErrMsg: '',\n scoreErrMsg: '',\n applicationNumberError: false,\n rollNumberError: false,\n scoreError: false,\n mobile: false,\n mobilePlaceholder: '',\n mobileErrMsg: '',\n mobileError: false,\n email: false,\n emailPlaceholder: '',\n emailErrMsg: '',\n emailError: false,\n admitCardImage: false,\n scoreCardImage: false,\n scoreCardImageErrMsg: '',\n admitCardImageErrMsg: '',\n admitCardImageError: false,\n scoreCardImageError: false,\n showCancelButton: true,\n testName: '',\n uploadImageError: false,\n imageURL: '',\n iconURL: '',\n examCleared: false,\n examClearedErrMsg: '',\n examClearedError: false,\n crlRank: false,\n crlRankPlaceholder: '',\n crlRankError: false,\n crlRankErrMsg: '',\n imageURLJeeA: '',\n uploadImageErrorJeeA: false\n };\n public imageData = {\n data: {},\n files: {}\n }\n public applicationSurvey!: FormGroup;\n private activeSubscription = new Subscription();\n isRestrictAccess = false;\n constructor(\n private httpService: HttpClient,\n private utilityService: UtilityService,\n private store: Store) { }\n\n ngOnInit() {\n this.applicationSurvey = new FormGroup({\n 'applicationNumber': new FormControl('', Validators.required),\n 'rollNumber': new FormControl('', Validators.required),\n 'score': new FormControl('', Validators.required),\n 'mobile': new FormControl('', Validators.required),\n 'email': new FormControl('', Validators.required),\n 'crlRank': new FormControl('', Validators.required)\n });\n this.utilityService.restrictAccessPopUp.subscribe(res => this.isRestrictAccess = res);\n setTimeout(() => {\n if (!this.isRestrictAccess)\n $(`#applicationNumber0`).modal('show');\n this.initializePopUp();\n }, 1500);\n }\n\n initializePopUp() {\n this.applicationModalData.showCancelButton = !this.examPopupData.isCancelDisable;\n this.applicationModalData.iconURL = this.examPopupData.icon;\n this.applicationModalData.testName = this.examPopupData.course.name;\n this.applicationModalData.popUpName = this.examPopupData.course.popupName;\n\n this.isJEEA = this.examPopupData.course.name.includes('JEE(A)');\n\n for (let field of this.examPopupData.fields) {\n if (field.key === 'examCleared') {\n this.isRadioButtonVisible = true;\n this.initializeCutoffInfo(field);\n } else if (this.applicationModalData.hasOwnProperty(field.key)) {\n this.applicationModalData[field.key] = true;\n this.applicationModalData[field.key + 'Placeholder'] = field.placeholder;\n this.applicationModalData[field.key + 'ErrMsg'] = field.errorMessage;\n this.isImageRequired = this.isImageRequired || (field.type === 'file');\n this.isImageRequiredJeeA = (this.isJEEA && this.applicationModalData.scoreCardImage);\n }\n }\n\n this.isImageRequired = (this.isJEEA && !this.applicationModalData.admitCardImage) ? false : this.isImageRequired;\n\n for (let item of this.popUpFields) {\n if (!this.applicationModalData[item]) {\n this.applicationSurvey.removeControl(item);\n }\n }\n }\n\n closeModal(): void {\n $(`#applicationNumber${this.modalNumber}`).modal('hide');\n if (this.numberOfPopups > this.modalNumber + 1) {\n $(`#applicationNumber${this.modalNumber + 1}`).modal('show');\n }\n }\n\n initializeCutoffInfo(item: any) {\n this.applicationModalData.examClearedErrMsg = item.errorMessage;\n this.applicationModalData.examCleared = item.options[0].isSelected;\n for (let el of item.options[0].fields) {\n this.applicationModalData[el.key] = true;\n this.applicationModalData[el.key + 'Placeholder'] = el.placeholder;\n this.applicationModalData[el.key + 'ErrMsg'] = el.errorMessage;\n }\n }\n\n submitForm(): void {\n this.isJEEA ? this.submitJEEAForm() : this.submitJEEMForm();\n }\n\n submitJEEAForm(): void {\n this.applicationModalData.applicationNumberError = false;\n this.applicationModalData.rollNumberError = false;\n this.applicationModalData.scoreError = false;\n this.applicationModalData.scoreCardImageError = false;\n this.applicationModalData.admitCardImageError = false;\n this.applicationModalData.crlRankError = false;\n this.applicationModalData.emailError = false;\n const isAdmitCardError = this.isImageRequired && !this.applicationModalData.imageURL;\n const isResultError = this.isImageRequiredJeeA && !this.applicationModalData.imageURLJeeA;\n const isRadioButtonError = this.isRadioButtonVisible && !this.isStatusChanged;\n\n if (this.applicationSurvey.invalid || isAdmitCardError || isResultError || isRadioButtonError) {\n this.applicationModalData.examClearedError = !this.isStatusChanged;\n\n Object.keys(this.applicationSurvey.value).forEach((key: any) => {\n if (!this.applicationSurvey.value[key]) {\n this.applicationModalData[key + 'Error'] = true;\n }\n });\n if (isAdmitCardError) {\n this.applicationModalData.admitCardImageError = this.applicationModalData.admitCardImage;\n }\n if (isResultError) {\n this.applicationModalData.scoreCardImageError = this.applicationModalData.scoreCardImage;\n }\n return;\n }\n\n const payload = {\n courseId: this.examPopupData.course.id,\n attemptMonth: this.examPopupData.attemptMonth\n };\n\n if (this.isRadioButtonVisible) {\n payload['examCleared'] = this.applicationModalData.examCleared;\n }\n\n if (this.applicationModalData.applicationNumber) {\n payload['applicationNumber'] = this.applicationSurvey.value.applicationNumber;\n }\n\n if (this.applicationModalData.score) {\n payload['score'] = this.applicationSurvey.value.score;\n }\n\n if (this.applicationModalData.rollNumber) {\n payload['rollNumber'] = this.applicationSurvey.value.rollNumber;\n }\n\n if (this.applicationModalData.mobile) {\n payload['mobile'] = this.applicationSurvey.value.mobile;\n }\n\n if (this.applicationModalData.email) {\n payload['email'] = this.applicationSurvey.value.email;\n }\n\n if (this.applicationModalData.crlRank) {\n payload['crlRank'] = this.applicationSurvey.value.crlRank;\n }\n\n if (this.applicationModalData.scoreCardImage) {\n payload['scoreCardImage'] = this.applicationModalData.imageURLJeeA;\n }\n if (this.applicationModalData.admitCardImage) {\n payload['admitCardImage'] = this.applicationModalData.imageURL;\n }\n\n this.activeSubscription.add(\n this.utilityService.submitApplicationSurvey(payload).subscribe((data) => {\n if (data.code === 200) {\n $(`#applicationNumber${this.modalNumber}`).modal('hide');\n if (this.numberOfPopups > this.modalNumber + 1) {\n $(`#applicationNumber${this.modalNumber + 1}`).modal('show');\n }\n }\n })\n );\n }\n\n submitJEEMForm(): void {\n this.applicationModalData.applicationNumberError = false;\n this.applicationModalData.rollNumberError = false;\n this.applicationModalData.scoreError = false;\n this.applicationModalData.scoreCardImageError = false;\n this.applicationModalData.admitCardImageError = false;\n\n if (this.applicationSurvey.invalid || (this.isImageRequired && !this.applicationModalData.imageURL)) {\n Object.keys(this.applicationSurvey.value).forEach((key: any) => {\n if (!this.applicationSurvey.value[key]) {\n this.applicationModalData[key + 'Error'] = true;\n }\n if (this.isImageRequired && !this.applicationModalData.imageURL) {\n this.applicationModalData.scoreCardImageError = this.applicationModalData.scoreCardImage;\n this.applicationModalData.admitCardImageError = this.applicationModalData.admitCardImage;\n }\n });\n return;\n }\n\n const payload = {\n courseId: this.examPopupData.course.id,\n attemptMonth: this.examPopupData.attemptMonth,\n };\n\n if (this.applicationModalData.applicationNumber) {\n payload['applicationNumber'] = this.applicationSurvey.value.applicationNumber;\n }\n\n if (this.applicationModalData.score) {\n payload['score'] = this.applicationSurvey.value.score;\n }\n\n if (this.applicationModalData.rollNumber) {\n payload['rollNumber'] = this.applicationSurvey.value.rollNumber;\n }\n\n if (this.applicationModalData.scoreCardImage) {\n payload['scoreCardImage'] = this.applicationModalData.imageURL;\n } else {\n payload['admitCardImage'] = this.applicationModalData.imageURL;\n }\n\n this.activeSubscription.add(\n this.utilityService.submitApplicationSurvey(payload).subscribe((data) => {\n $(`#applicationNumber${this.modalNumber}`).modal('hide');\n if (this.numberOfPopups > this.modalNumber + 1) {\n $(`#applicationNumber${this.modalNumber + 1}`).modal('show');\n }\n })\n );\n }\n\n handleMobileInput() {\n let mobile = this.applicationSurvey.value.mobile.toString();\n if (mobile.length > 10) {\n mobile = mobile.substring(0, 10);\n this.applicationSurvey.controls['mobile'].setValue(mobile);\n }\n }\n\n handleSpecialCharacters(e: any, controlName: any) {\n let value = e.target.value;\n value = value.replace(/[^a-zA-Z0-9]+/g, '');\n this.applicationSurvey.controls[controlName].setValue(value);\n }\n\n handleApplicationNumber() {\n this.applicationModalData.applicationNumberError = !!(!this.applicationSurvey.value.applicationNumber);\n }\n\n handleRollNumber() {\n this.applicationModalData.rollNumberError = !!(!this.applicationSurvey.value.rollNumber);\n }\n\n handleScore() {\n this.applicationModalData.scoreError = !!(!this.applicationSurvey.value.score);\n }\n\n handleMobileNumber() {\n this.applicationModalData.mobileError = !!(!this.applicationSurvey.value.mobile);\n }\n\n handleEmailId() {\n this.applicationModalData.emailError = !!(!this.applicationSurvey.value.email);\n }\n\n handleCrlRank() {\n this.applicationModalData.crlRankError = !!(!this.applicationSurvey.value.crlRank);\n }\n\n changeStatus(status: boolean) {\n this.isStatusChanged = true;\n this.applicationModalData.crlRankError = false;\n this.applicationModalData.scoreError = false;\n this.applicationModalData.examCleared = status;\n this.applicationModalData.examClearedError = false;\n\n if (!status) {\n this.applicationSurvey.removeControl('crlRank');\n this.applicationSurvey.removeControl('score');\n } else {\n this.applicationSurvey.addControl('crlRank', new FormControl('', Validators.required));\n this.applicationSurvey.addControl('score', new FormControl('', Validators.required));\n }\n }\n\n removeImage(isJeeAImage?: boolean) {\n !isJeeAImage ? this.applicationModalData.imageURL = '' : this.applicationModalData.imageURLJeeA = '';\n }\n\n getFileExtension(files) {\n const names = files[0].name.split('.');\n const extension = names[names.length - 1].trim().toLowerCase();\n return '.' + extension;\n }\n\n processImage(e: any, type?: string): void {\n if (!type) {\n type = this.applicationModalData.scoreCardImage && !this.isJEEA ? 'scoreCardImage' : 'admitCardImage';\n }\n const files = e.target.files;\n const extension = this.getFileExtension(files);\n this.applicationModalData.uploadImageError = false;\n this.applicationModalData.scoreCardImageError = false;\n this.applicationModalData.admitCardImageError = false;\n\n if (!this.validExtension.includes(extension)) {\n this.applicationModalData.uploadImageError = true;\n return;\n }\n\n const params = {\n key: 'popups',\n type: type,\n fileExtension: extension\n };\n\n this.activeSubscription.add(\n this.utilityService.getImageSignedUrl(params).subscribe((data: any) => {\n if (data.data.url && data.data.fields) {\n this.imageData.data = data.data;\n this.imageData.files = files[0];\n this.uploadImageOnS3(data.data, { files: files[0] }, type);\n }\n })\n );\n }\n\n uploadJeeAResult(e: any) {\n const files = e.target.files;\n const extension = this.getFileExtension(files);\n const type = 'scoreCardImage';\n this.applicationModalData.uploadImageErrorJeeA = false;\n this.applicationModalData.scoreCardImageError = false;\n\n if (!this.validExtension.includes(extension)) {\n this.applicationModalData.uploadImageErrorJeeA = true;\n return;\n }\n\n const params = {\n key: 'popups',\n type,\n fileExtension: extension\n };\n\n this.activeSubscription.add(\n this.utilityService.getImageSignedUrl(params).subscribe((data: any) => {\n if (data.data.url && data.data.fields) {\n this.imageData.data = data.data;\n this.imageData.files = files[0];\n this.uploadImageOnS3(data.data, { files: files[0] }, type);\n }\n })\n );\n }\n\n uploadImageOnS3(data: any, params: any, type: string) {\n const formData: FormData = new FormData();\n for (let key of Object.keys(data.fields)) {\n formData.append(key, data.fields[key]);\n }\n formData.append('file', params.files, params.files.name);\n const key = data.fields.key;\n const url = data.url;\n\n const headers = new HttpHeaders().set('Accept', 'application/json');\n this.activeSubscription.add(\n this.httpService.post(data.url, formData, { headers }).subscribe((data: any) => {\n const finalUrl = url + '/' + key;\n if (!this.isJEEA) {\n this.applicationModalData.imageURL = finalUrl;\n } else {\n (type === 'scoreCardImage') ? this.applicationModalData.imageURLJeeA = finalUrl : this.applicationModalData.imageURL = finalUrl;\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n this.activeSubscription.unsubscribe();\n }\n}\n\n","
\n
\n \n
\n
\n \n
\n
\n

{{applicationModalData.popUpName}}

\n \n
\n \n
\n \n
\n {{applicationModalData.applicationNumberErrMsg}}\n
\n
\n
\n \n
\n {{applicationModalData.mobileErrMsg}}\n
\n
\n
\n \n
\n {{applicationModalData.emailErrMsg}}\n
\n
\n
\n \n
\n {{applicationModalData.rollNumberErrMsg}}\n
\n
\n
\n \n
\n {{applicationModalData.scoreErrMsg}}\n
\n
\n \n \n
\n
\n \n
\n \n
\n
\n
\n \n \n
\n \n
\n
\n
\n \n
\n \n Please use .png, .jpg, .jpeg formats only\n \n File format not supported! Please use .png, .jpg, .jpeg formats only\n \n \n {{applicationModalData.scoreCardImageErrMsg || applicationModalData.admitCardImageErrMsg || 'Please upload an image'}} \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n {{applicationModalData.examClearedErrMsg}} \n
\n
\n \n
\n \n
\n {{applicationModalData.crlRankErrMsg}}\n
\n
\n
\n \n
\n {{applicationModalData.scoreErrMsg}}\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n \n
\n \n
\n \n Please use .png, .jpg, .jpeg formats only\n \n File format not supported! Please use .png, .jpg, .jpeg formats only \n \n \n {{applicationModalData.scoreCardImageErrMsg || 'Please upload an image'}} \n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { UtilityService } from '../../services/utility.service';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { timer, Subscription } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../../stores/app.reducers';\nimport * as AuthActions from '../../../stores/auth/auth.actions';\nimport { AlertService } from '../../services/alert.service';\nimport { FORM_TYPE } from '../form/free-trial-form/form.constant';\nimport { HelperService } from '../../services/helper.service';\nimport { OTP_ERROR } from '../../constants/error.constants';\nimport { Router } from '@angular/router';\ndeclare var $: any;\n\n@Component({\n selector: 'app-otp-verify-modal',\n templateUrl: './otp-verify-modal.component.html',\n styleUrls: ['./otp-verify-modal.component.scss']\n})\nexport class OtpVerifyModalComponent implements OnInit, OnDestroy {\n @Input() mobileInfo: any;\n @Input() displayType = FORM_TYPE.HOME_INFO;\n @Input() examSelected;\n private activeSubscription = new Subscription();\n private validValues: any = {\n validMobileNumberLength: 10,\n validOTPLength: 4\n };\n public timerData: any = {\n showTimer: false,\n secondsLeft: null\n };\n public showResendOTP: boolean = false;\n public otpVerificationForm: FormGroup = null;\n public otpError: string = '';\n public isDisabled: boolean = true;\n constructor(\n private _utility: UtilityService,\n private fb: FormBuilder,\n private store: Store,\n private _alert: AlertService,\n private _helper: HelperService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n $('#otpVerify').modal('show');\n this.otpError = '';\n this.otpVerificationForm = this.fb.group({\n mobileNumber: '',\n OTP: ''\n });\n this.activeSubscription.add(\n this._helper.handleOtpError.subscribe((data: any) => {\n if (data?.isOtpError) {\n this.otpError = OTP_ERROR.wrong_otp;\n }\n })\n );\n this.initializeTimer();\n }\n\n initializeTimer() {\n this.timerData.showTimer = true;\n this.activeSubscription.add(\n this.countdown.subscribe(secondsLeft => {\n this.timerData.secondsLeft = secondsLeft;\n if (this.timerData.secondsLeft === '01') {\n this.timerData.showTimer = false;\n this.showResendOTP = true;\n }\n })\n );\n }\n\n countdown = timer(0, 1000).pipe(\n take(30),\n map(secondsElapsed => {\n const remainingSeconds = 30 - secondsElapsed;\n return remainingSeconds < 10 ? `0${remainingSeconds}` : remainingSeconds.toString();\n })\n );\n\n\n handleOTP(): void {\n let OTP = this.otpVerificationForm.value.OTP;\n this.otpError = '';\n var pattern = /^[0-9]+$/;\n if (!pattern.test(OTP)) {\n OTP = OTP.substring(0, OTP.length - 1);\n } else if (OTP.length > this.validValues.validOTPLength) {\n OTP = OTP.substring(0, this.validValues.validOTPLength);\n }\n this.isDisabled = OTP.length !== this.validValues.validOTPLength;\n this.otpVerificationForm.controls['OTP'].setValue(OTP);\n }\n\n resendOTP(): void {\n const payload = {\n mobileNumber: this.mobileInfo.mobileNumber,\n countryCode: this.mobileInfo.selectedDialCode.dialCode\n };\n this.activeSubscription.add(\n this._utility.resendOTP(payload).subscribe((res) => {\n if (res?.code === 200) {\n this.showResendOTP = false;\n this.initializeTimer();\n this._alert.showSuccessMessage(res?.message);\n } else {\n this._alert.showErrorMessage(res?.message);\n }\n }, (err) => {\n this._alert.showErrorMessage(err?.message);\n })\n );\n }\n\n submitOTP(): void {\n if (!this.isDisabled) {\n this.otpError = '';\n const userMobileData = {\n mobileNumber: this.mobileInfo.mobileNumber,\n countryCode: this.mobileInfo.selectedDialCode.dialCode,\n otp: this.otpVerificationForm.value.OTP,\n source: 'web',\n deviceToken: ''\n };\n if (this.displayType === FORM_TYPE.HOME_INFO) {\n this.store.dispatch(new AuthActions.VerifyMobile(userMobileData));\n } else {\n this.getUserId(userMobileData);\n }\n }\n }\n\n getUserId(payload){\n this.activeSubscription.add(\n this._utility.getUserID(payload).subscribe(res=>{\n if(res && res.code === 200){\n const userId = res?.data?.profile?.userId._id;\n $('#otpVerify').modal('hide');\n this._utility.userIdFetch.next(userId);\n if(this.examSelected)\n this.router.navigate([`/college-predictor/${this.examSelected.toLowerCase()}`]);\n }else{\n this._alert.showErrorMessage(res.message);\n }\n },error=>{\n this._alert.showErrorMessage(error.message);\n })\n )\n }\n\n handlePopUpClose(): void {\n $('#otpVerify').modal('hide');\n this._utility.captchaStateHandler.next(true);\n this._utility.otpPopupHandler.next({ isPopUpEnabled: false });\n }\n\n ngOnDestroy(): void {\n this.activeSubscription.unsubscribe();\n }\n}\n","\n
\n
\n
\n \n
\n
\n

Verify OTP

\n

We've sent an OTP to your entered mobile number

\n
\n \n
\n \n {{otpError}}\n 00:{{ timerData.secondsLeft}} secs\n
\n
\n \n
\n
Didn't Receive? Resend OTP
\n \n
\n
\n
\n
\n
\n
\n\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'convertSeconds'\n})\nexport class ConvertSecondsPipe implements PipeTransform {\n\n transform(value: any, args?: any): any {\n var timeVal: number;\n let timeStr = '';\n if (value > 3600) {\n timeVal = Math.floor(value / 3600);\n timeVal = Math.round(timeVal);\n value = value % 3600;\n timeStr = timeStr + timeVal + 'h ';\n }\n if (value > 60) {\n timeVal = Math.floor(value / 60);\n timeVal = Math.round(timeVal);\n value = value % 60;\n timeStr = timeStr + timeVal + 'm ';\n }\n if (value < 60) {\n timeVal = value;\n timeVal = Math.round(timeVal);\n timeStr = timeStr + timeVal + 's ';\n }\n return timeStr;\n }\n\n}\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, forwardRef, Injectable, Injector, Input, NgZone, OnInit, Output } from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport { map } from 'rxjs/operators';\n\ndeclare const grecaptcha: any;\n\ninterface Response {\n success: any;\n}\n\ndeclare global {\n interface Window {\n grecaptcha: any;\n reCaptchaLoad: () => void;\n }\n}\n\n// export const RECAPTCHA_URL = new InjectionToken('RECAPTCHA_URL');\n\n@Injectable()\nexport class ReCaptchaAsyncValidator {\n\n constructor(private http: HttpClient) { }\n\n validateToken(token: string): any {\n return (_: AbstractControl) => {\n return this.http.get('https://www.mypat.in', { params: { token } }).pipe(\n map(res => {\n if (!res['success']) {\n return { tokenInvalid: true };\n }\n return null;\n })\n );\n };\n }\n}\n\nexport interface ReCaptchaConfig {\n theme?: 'dark' | 'light';\n type?: 'audio' | 'image';\n size?: 'compact' | 'normal';\n tabindex?: number;\n}\n\n@Directive({\n selector: '[appCaptcha]',\n exportAs: 'nbRecaptcha',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CaptchaDirective),\n multi: true\n },\n ReCaptchaAsyncValidator\n ]\n})\nexport class CaptchaDirective implements OnInit, AfterViewInit, ControlValueAccessor {\n @Input() config: ReCaptchaConfig = {};\n @Input() lang: string;\n // @Input('nbRecaptcha')\n\n @Output() captchaResponse = new EventEmitter();\n @Output() captchaExpired = new EventEmitter();\n\n private control: FormControl;\n private widgetId: number;\n\n private onChange: (value: string) => void;\n private onTouched: (value: string) => void;\n private key: any = environment.captchaKey;\n\n\n constructor(private element: ElementRef, private ngZone: NgZone, private reCaptchaAsyncValidator: ReCaptchaAsyncValidator) {}\n\n ngOnInit(): void {\n\n }\n\n registerReCaptchaCallback(): void {\n const self = this;\n window.reCaptchaLoad = () => {\n const config = {\n ...self.config,\n sitekey: self.key,\n callback: self.onSuccess.bind(self),\n 'expired-callback': self.onExpired.bind(self)\n };\n self.widgetId = self.render(self.element.nativeElement, config);\n };\n }\n\n ngAfterViewInit(): void {\n this.registerReCaptchaCallback();\n this.addScript();\n }\n\n /**\n *\n * @description Useful for multiple captcha\n * @param number\n */\n getId(): any {\n return this.widgetId;\n }\n\n writeValue(obj: any): void {\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /**\n * onExpired\n */\n onExpired(): void {\n this.ngZone.run(() => {\n this.captchaExpired.emit();\n this.onChange(null);\n this.onTouched(null);\n });\n }\n\n /**\n *\n * @param response\n */\n onSuccess(token: string): void {\n this.ngZone.run(() => {\n // this.verifyToken(token);\n this.captchaResponse.next(token);\n this.onChange(token);\n this.onTouched(token);\n });\n }\n\n /**\n *\n * @param token\n */\n verifyToken(token: string): void {\n this.control.setAsyncValidators(this.reCaptchaAsyncValidator.validateToken(token))\n this.control.updateValueAndValidity();\n }\n\n /**\n * Renders the container as a reCAPTCHA widget and returns the ID of the newly created widget.\n * @param element\n * @param config\n * @returns {number}\n */\n private render(element: HTMLElement, config): number {\n return grecaptcha.render(element, config);\n }\n\n /**\n * Resets the reCAPTCHA widget.\n */\n reset(): void {\n if (grecaptcha) {\n grecaptcha.reset(this.widgetId);\n }\n }\n\n /**\n * Gets the response for the reCAPTCHA widget.\n * @returns {string}\n */\n getResponse(): string {\n // if( this.widgetId )\n return grecaptcha.getResponse(this.widgetId);\n }\n\n /**\n * Add the script\n */\n addScript(): void {\n const script = document.createElement('script');\n const lang = this.lang ? '&hl=' + this.lang : '';\n script.src = `https://www.google.com/recaptcha/api.js?onload=reCaptchaLoad&render=explicit${lang}`;\n script.async = true;\n script.defer = true;\n document.body.appendChild(script);\n }\n\n}\n\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n RouterStateSnapshot,\n ActivatedRouteSnapshot,\n Router\n} from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from './stores/app.reducers';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\n@Injectable()\nexport class AuthGaurd implements CanActivate {\n public userDetail;\n constructor(private router: Router, private store: Store) { }\n canActivate(state: ActivatedRouteSnapshot, route: RouterStateSnapshot): Observable | Promise | boolean {\n return this.store.select('auth').pipe(\n map((auth) => {\n if (auth.authenticated) {\n const queryParams: any = state.queryParamMap;\n if (queryParams?.params?.authToken) {\n return false;\n }\n return true;\n } else if(localStorage.getItem('fiitjeeToken')){\n this.router.navigate(['/quiz/home']);\n return false;\n }else {\n let learnDarkMode = localStorage.getItem('isDarkmodeforid');\n let redirect = !localStorage.getItem('isNCRPUser');\n localStorage.clear();\n sessionStorage.clear();\n localStorage.setItem('isDarkmodeforid', learnDarkMode);\n return false;\n }\n }\n )\n );\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../../stores/app.reducers';\nimport * as LoaderReducer from '../../../stores/loader/loader.reducers';\nimport { map } from 'rxjs/operators';\n\n@Component({\n selector: 'app-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss']\n})\nexport class LoaderComponent implements OnInit {\n @Input() pageFrom: string;\n public isloader: boolean = true;\n public loaderSub: any;\n constructor(private store: Store) {\n this.loaderSub = this.store.select('loader').pipe(\n map((data: any) => {\n return data.isLoader;\n })\n );\n this.loaderSub.subscribe(res => {\n this.isloader = res;\n });\n }\n\n\n ngOnInit(): void {\n\n }\n\n}\n","\n\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { Observable } from 'rxjs';\n\ntype Steps = {\n index: number,\n label: string,\n isSuccess: boolean,\n isActive: boolean,\n nextStepIndex: number,\n prevStepIndex: number\n};\n\ntype StepWizard = {\n title: string,\n steps: Steps[]\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GoalSettingService {\n public step1Complete = false;\n public currentUrl = new BehaviorSubject({});\n public currentStep = new BehaviorSubject('1');\n public saveStepData = new Subject();\n public changesInStep = new Subject();\n state = false;\n private questionData: any;\n private enrollmentNumbers: any;\n private pastAchievmentsData: any;\n private goals: any;\n public localData: any;\n public disableValidation:boolean = false;\n studentSteps: StepWizard;\n parentSteps: StepWizard;\n userTag: string;\n public activeStep:Steps;\n constructor(\n private http: HttpService,\n private alert: AlertService,\n private router: Router) {\n\n const url = this.router.url.split('/');\n this.currentUrl.next(url[url.length - 1]);\n this.activeStep = {\n index:0,\n label:'',\n isSuccess:false,\n isActive:false,\n prevStepIndex:0,\n nextStepIndex:0\n }\n this.studentSteps = this.getStudentSteps();\n this.parentSteps = this.getParentSteps();\n }\n\n get saveData():Observable {\n return this.saveStepData.asObservable();\n }\n\n get isDataChangedInStep():Observable {\n return this.changesInStep.asObservable();\n }\n // start stepper wizard\n getUserTagByUrl(url: string): string {\n if (url.includes('parent-proforma')) {\n this.userTag = 'parent';\n } else if (url.includes('teacher-proforma')) {\n this.userTag = 'teacher';\n } else {\n this.userTag = 'student';\n }\n return this.userTag;\n }\n\n getCurrentStepTitle(): string {\n const steps = this.userTag === 'parent' ? this.parentSteps.steps : this.studentSteps.steps;\n const currentStep = steps.find(x => x.isActive === true && x.isSuccess === false);\n if (currentStep) {\n return currentStep.label;\n } else {\n return '';\n }\n }\n\n getPrevStepIndex(userTag): number {\n const steps = userTag === 'parent' ? this.parentSteps.steps : this.studentSteps.steps;\n const currentStep = steps.find(x => x.isActive === true && x.isSuccess === false);\n if (currentStep) {\n return currentStep.prevStepIndex;\n } else {\n return 1;\n }\n }\n\n getNextStepIndex(userTag): number {\n if (this.router.url.split('/')[this.router.url.split('/').length - 1] === (true).toString()) {\n return parseInt(this.router.url.split('/')[this.router.url.split('/').length - 2], 0) + 1;\n } else {\n const steps = userTag === 'parent' ? this.parentSteps.steps : this.studentSteps.steps;\n const currentStep = steps.find(x => x.isActive === true && x.isSuccess === false);\n if (currentStep) {\n return currentStep.nextStepIndex;\n } else {\n return 1;\n }\n }\n }\n\n updateActiveStep(tag: string, index: number): void {\n const steps = tag === 'parent' ? this.parentSteps.steps : this.studentSteps.steps;\n\n steps.forEach(step => {\n if (step.index < index) {\n step.isActive = true;\n step.isSuccess = true;\n }\n if (step.index === index) {\n step.isActive = true;\n step.isSuccess = false;\n }\n if (step.index > index) {\n step.isActive = false;\n step.isSuccess = false;\n }\n });\n const tempActive = steps.find(x => x.isActive == true && x.isSuccess == false);\n if (tempActive) {\n this.activeStep.index = tempActive.index;\n } else {\n this.activeStep.index = 0;\n }\n }\n\n getStudentSteps(): any {\n const stepWizard = {\n title: `Student's Goal Setting Proforma`,\n steps: [\n {\n index: 1,\n label: 'Personal Particulars',\n isSuccess: false,\n isActive: true,\n prevStepIndex: -1,\n nextStepIndex: 2\n },\n {\n index: 2,\n label: 'Self Analysis',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 1,\n nextStepIndex: 3\n },\n {\n index: 3,\n label: 'Past Achievements',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 2,\n nextStepIndex: 4\n },\n {\n index: 4,\n label: 'Goal Selection',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 3,\n nextStepIndex: 5\n },\n {\n index: 5,\n label: 'Goal Confirmation',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 4,\n nextStepIndex: 0\n },\n ]\n };\n return stepWizard;\n }\n updateStudentStep(userInfo, questionStatus, goalStatus): void {\n this.studentSteps.steps.forEach((step) => {\n switch (step.index) {\n case 1: step.isActive = true; step.isSuccess = this.showIntro(userInfo, questionStatus); break;\n case 2: step.isActive = this.showIntro(userInfo, questionStatus); step.isSuccess = this.showStep2(userInfo, questionStatus); break;\n case 3: step.isActive = this.showStep2(userInfo, questionStatus); step.isSuccess = this.showStep3(userInfo, questionStatus, goalStatus); break;\n case 4: step.isActive = this.showStep3(userInfo, questionStatus, goalStatus); step.isSuccess = this.showStep4(userInfo, goalStatus); break;\n case 5: step.isActive = this.showStep4(userInfo, goalStatus); step.isSuccess = this.showLastStep(goalStatus); break;\n }\n });\n }\n\n getParentSteps(): any {\n const stepWizard = {\n title: `Parent's Goal Setting Proforma`,\n steps: [\n {\n index: 1,\n label: 'Student Particulars',\n isSuccess: false,\n isActive: true,\n prevStepIndex: -1,\n nextStepIndex: 2\n },\n {\n index: 2,\n label: 'Student Analysis',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 1,\n nextStepIndex: 3\n },\n {\n index: 3,\n label: 'Goal Setting Exercise',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 2,\n nextStepIndex: 4\n },\n {\n index: 4,\n label: 'Goal Confirmation',\n isSuccess: false,\n isActive: false,\n prevStepIndex: 3,\n nextStepIndex: 0\n },\n ]\n };\n return stepWizard;\n }\n\n updateParentStep(userInfo, questionStatus, goalStatus): void {\n this.parentSteps.steps.forEach((step) => {\n switch (step.index) {\n\n case 1: step.isActive = true; step.isSuccess = this.showIntro(userInfo, questionStatus); break;\n case 2: step.isActive = this.showIntro(userInfo, questionStatus); step.isSuccess = this.showStep2(userInfo, questionStatus); break;\n case 3: step.isActive = this.showStep2(userInfo, questionStatus); step.isSuccess = this.showStep4(userInfo, goalStatus); break;\n case 4: step.isActive = this.showStep4(userInfo, goalStatus); step.isSuccess = this.showLastStep(goalStatus); break;\n }\n });\n }\n // end stepper wizard\n\n\n\n //set question data on next page\n public setQuestionData = (data: any) => this.questionData = data;\n\n //get question data\n public getQuestionData = () => this.questionData;\n\n //set question data on next page\n public setPastAchievementsData = (data: any) => this.pastAchievmentsData = data;\n\n //get question data\n public getPastAchievementsData = () => this.pastAchievmentsData;\n\n\n //set enrollment Number\n public setEnrollmentData = (data: any) => this.enrollmentNumbers = data\n\n //get enrollment number\n public getEnrollmentNumber = () => this.enrollmentNumbers;\n\n\n // set goals\n public setSelectedGoals = (data: any) => this.goals = data;\n\n // get goals\n public getSelectedGoals = () => this.goals;\n\n getGoalSettingStep(userTag, userInfo, questionStatus, goalStatus): number {\n if (this.showIntro(userInfo, questionStatus)) {\n if (userTag == 'parent') {\n this.updateParentStep(userInfo, questionStatus, goalStatus);\n } else {\n this.updateStudentStep(userInfo, questionStatus, goalStatus);\n }\n const steps = userTag === 'parent' ? this.parentSteps.steps : this.studentSteps.steps;\n const successSteps = steps.filter(x => x.isActive === true && x.isSuccess === true);\n if (successSteps && successSteps.length === steps.length) {\n return 0;\n }\n const currentStep = steps.find(x => x.isActive === true && x.isSuccess === false);\n if (currentStep) {\n return currentStep.index;\n }\n } else {\n return -1;\n }\n }\n\n showIntro(userInfo, questionStatus) {\n if ((userInfo.prevEnrollmentInfo.length >= 0 && localStorage.getItem(\"goalSettingStep1\")) || (userInfo.prevEnrollmentInfo.length >= 0 && questionStatus === 'done')) {\n return true;\n } else {\n return false;\n }\n }\n\n showStep2(userInfo, questionStatus): boolean {\n if ((userInfo.prevEnrollmentInfo.length >= 0 && questionStatus === 'done')) {\n return true;\n } else {\n return false;\n }\n }\n\n showStep3(userInfo, questionStatus, goalStatus): boolean {\n if (((userInfo.pastAchievements.length > 0 && questionStatus == 'done') || goalStatus == 'done')) {\n return true;\n } else {\n return false;\n }\n }\n\n showStep4(userInfo, goalStatus): boolean {\n if (userInfo.pastAchievements.length >=0 && (goalStatus == 'partial' || goalStatus == \"done\")) {\n return true;\n } else {\n return false;\n }\n }\n\n showLastStep(goalStatus): boolean {\n if (goalStatus == 'done') {\n return true;\n } else {\n return false;\n }\n }\n\n public sendProforma(payload: any) {\n const apiUrl = 'v4/auth/goal-settings/send-performa';\n return new Promise((resolve, reject) => {\n this.http.put(apiUrl, true, payload, true).subscribe(res => {\n if (res.code === 200) {\n this.alert.showSuccessMessage(res.message)\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n public getGoalLevels(courseId) {\n const apiUrl = `v4/auth/goal-settings/goal-level?courseId=${courseId}`;\n return new Promise((resolve, reject) => {\n this.http.get(apiUrl, true, {}, true).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n })\n }\n\n public setPrimaryGoal(payload: any) {\n const apiUrl = 'v4/auth/goal-settings';\n return new Promise((resolve, rejects) => {\n this.http.post(apiUrl, true, payload, true).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message)\n }\n })\n });\n }\n\n public goalSettingForUser(payload:any) {\n const apiUrl = 'v4/auth/goal-settings';\n return new Promise((resolve, rejects) => {\n this.http.patch(apiUrl, true, payload, true).subscribe(res => {\n if (res ) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message)\n }\n })\n });\n }\n\n public getGoals(tag, type) {\n const apiUrl = `v4/auth/goal-settings?tag=${tag}&&type=${type}`;\n return new Promise((resolve, reject) => {\n this.http.get(apiUrl, true, true).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n })\n }\n\n public updateStatus(payload) {\n const apiUrl = 'v4/auth/user';\n return new Promise((resolve, reject) => {\n this.http.put(apiUrl, true, payload, true).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n })\n }\n\n public getQuestions(tag: string) {\n const apiUrl = `v4/auth/goal-settings/questions/${tag}`;\n return new Promise((resolve, reject) => {\n this.http.get(apiUrl, true, null, true).subscribe(res => {\n if (res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n })\n }\n\n public postQuestions(body: any): Promise {\n const apiUrl = `v4/auth/goal-settings`;\n return new Promise((resolve, reject) => {\n this.http.post(apiUrl, true, body, true).subscribe(res => {\n if (res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n })\n }\n\n public postPasscodeLogin(body: any): Promise {\n const apiUrl = `v4/passcode-login`;\n const lastRequested = localStorage.getItem('lastRequested')\n return new Promise((resolve, reject) => {\n this.http.post(apiUrl, false, body, true).subscribe(res => {\n if (res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n if (localStorage.getItem('lastRequested')) {\n this.router.navigateByUrl(localStorage.getItem('lastRequested'));\n }\n }\n },\n error => {\n\n if (localStorage.getItem('lastRequested')) {\n this.router.navigateByUrl(localStorage.getItem('lastRequested'));\n }\n });\n });\n }\n\n public getAllGoals() {\n const apiUrl = `v4/auth/goal-settings/status`;\n return new Promise((resolve, reject) => {\n this.http.get(apiUrl, true, true).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n })\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HelpService {\n public UpdatedData = new BehaviorSubject([]);\n public UpdatedDataHelp = new BehaviorSubject([])\n public status = new BehaviorSubject('');\n public helpStatus = new BehaviorSubject('');\n public feedbackModalClose = new BehaviorSubject(false);\n isModalClosed = this.feedbackModalClose.asObservable();\n constructor(private http: HttpService, private alert: AlertService) { }\n\n helpReportList(issueType): any {\n return new Promise((resolve, reject) => {\n this.http.post('v4/auth/ideas-suggestions/listing',\n true, issueType, true, false, false\n ).subscribe((res) => {\n if (res) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getHelpFeedBack(payload): any {\n return new Promise((resolve, reject) => {\n this.http.put('v4/auth/ideas-suggestions/feedback', true, payload, true,\n ).subscribe((res) => {\n if (res) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n\n helpIssueType(): any {\n return new Promise((resolve, reject) => {\n this.http.get('v4/auth/ideas-suggestions/categories', true, null, true, false\n ).subscribe((res) => {\n if (res) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n postReportAnIssue(issueData): any {\n return new Promise((resolve, reject) => {\n this.http.post('v4/auth/ideas-suggestions', true,\n issueData, true, false, false\n ).subscribe((res) => {\n if (res) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n reopenAnIssue(issueData): any {\n return new Promise((resolve, reject) => {\n this.http.post('v4/auth/support-tickets/reopen', true,\n issueData, true, false, false\n ).subscribe((res) => {\n if (res) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n getRateUs(): any {\n return new Promise((resolve, reject) => {\n this.http.get('user/feedback', true,\n true, false, false, environment.serverURLv3\n ).subscribe((res) => {\n if (res) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n postRateUs(rateUs): any {\n return new Promise((resolve, reject) => {\n this.http.post('user/feedback', true, rateUs, true, false, false, environment.serverURLv3\n ).subscribe((res) => {\n if (res.code === 200) {\n this.alert.showSuccessMessage(res.message);\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getIssueComments(issueId): any {\n return new Promise((resolve, reject) => {\n this.http.get(`v4/auth/ideas-suggestions/comments?issueId=${issueId}`, true, null, true, false\n ).subscribe((res) => {\n if (res) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n postIssueComment(payload): any {\n return new Promise((resolve, reject) => {\n this.http.post('v4/auth/ideas-suggestions/comments', true, payload, true, false, false).subscribe((res) => {\n if (res) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n}","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-auto-proctor-dialog',\n templateUrl: './auto-proctor-dialog.component.html',\n styleUrls: ['./auto-proctor-dialog.component.scss']\n})\nexport class AutoProctorDialogComponent implements OnInit {\n\n @Input() dataPassed: any;\n @Input() proctoredGeneratedKey: any;\n @Output() closeProctorModal = new EventEmitter();\n @Output() checkProctorTestResume = new EventEmitter();\n @Output() startYourTest = new EventEmitter();\n public proctor3CheckBox: boolean = false;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n closeProctor(num): void {\n if (num === 3) {\n if (this.proctor3CheckBox) {\n this.closeProctorModal.emit(num); \n }\n } else {\n this.closeProctorModal.emit(num);\n }\n }\n\n checkBoxCheck(event): void {\n }\n\n checkForResume(): void {\n this.checkProctorTestResume.emit();\n }\n\n startTestClick(): void {\n this.startYourTest.emit();\n }\n\n}\n","\n\n\n\n
\n
\n
\n
\n Violation 1\n
\n \n

Uh NO!!

\n
\n
DO NOT USE
\n

ANY KEYBOARD BUTTONS !

\n
\n
\n
DO NOT MOVE
\n

AWAY FROM TEST WINDOW !

\n
\n

We always got our eyes on you! Let’s be honest while attempting the Test!!

\n \n
\n
\n
\n\n\n\n\n\n\n
\n
\n
\n
\n Violation 2\n
\n \n

Not Again!

\n
\n
DO NOT USE
\n

ANY KEYBOARD BUTTONS !

\n
\n
\n
DO NOT MOVE
\n

AWAY FROM TEST WINDOW !

\n
\n

\n We always keep a close watch on you. If we find you doing it again, you’ll be locked out of the Test!!\n

\n \n
\n
\n
\n\n\n\n\n
\n
\n \n
\n
\n Violation 3\n
\n \n

Locked

\n
\n
DO NOT USE
\n

ANY KEYBOARD BUTTONS !

\n
\n
\n
DO NOT MOVE
\n

AWAY FROM TEST WINDOW !

\n
\n

Your Test has been Locked.. We have found you attempting to malpractice even after 2 warnings... This is highly unacceptable!

\n

You can unlock this Test by accepting the below terms

\n\n
\n \n
\n\n \n
\n
\n
\n\n\n\n\n
\n
\n \n
\n
\n Violation {{dataPassed && dataPassed.malpracticeCount}}\n
\n \n

You have been locked out!

\n
\n
DO NOT USE
\n

ANY KEYBOARD BUTTONS !

\n
\n
\n
DO NOT MOVE
\n

AWAY FROM TEST WINDOW !

\n
\n

Timer would continue as per the Test duration
\n To Unlock the Test, Please contact your Center AO
\n Click below to check the Test Status

\n
\n
\n \n
\n
\n
\n\n\n\n\n
\n
\n \n
\n \n

Test Resumed

\n

You can continue with the test now

\n\n \n\n
\n
\n
\n\n\n\n\n
\n
\n
\n \n

You are being watched !!

\n

This is a Proctored Test. Entire Test will be monitored & any malpractices shall be reported

\n
\n
Do not
\n

Move away from test window.

\n

Press any keyboard keys.

\n

Switch between tabs and other applications.

\n

Minimize current test window.

\n

Open new documents/file

\n
\n \n\n
\n
\n
\n","import { Action } from '@ngrx/store';\n\nexport const PROCESS_AFTER_SIGNUP = 'PROCESS_AFTER_SIGNUP';\nexport const PROCESS_AFTER_SIGNIN = 'PROCESS_AFTER_SIGNIN';\nexport const SIGNUP = 'SIGNUP';\nexport const SIGNIN = 'SIGNIN';\nexport const LOGOUT = 'LOGOUT';\nexport const LOGOUT_SUCCESS = 'LOGOUT_SUCCESS';\nexport const SET_TOKEN = 'SET_TOKEN';\nexport const VERIFY_OTP_EMAIL = 'VERIFY_OTP_EMAIL';\nexport const VERIFY_OTP_MOBILE = 'VERIFY_OTP_MOBILE';\nexport const VERIFY_OTP_MOBILE_SUCCESS = 'VERIFY_OTP_MOBILE_SUCCESS';\nexport const GET_PROFILE_DATA = 'GET_PROFILE_DATA';\nexport const FAIL = 'FAIL';\nexport const SET_AUTHTENTICATION = 'SET_AUTHTENTICATION';\nexport const FIITJEE_MYPAT_LOGIN = 'FIITJEE_MYPAT_LOGIN';\nexport const OTP_LOGIN_FIITJEE = 'OTP_LOGIN_FIITJEE';\nexport const WAC_LOGIN_FIITJEE = 'OTP_LOGIN_FIITJEE';\nexport const RESET_PASSWORD_FIITJEE = 'RESET_PASSWORD_FIITJEE';\nexport const SET_DEVICE_USED = 'SET_DEVICE_USED';\nexport const SOCIAL_SIGNUP = 'SOCIAL_SIGNUP';\nexport const SOCIAL_SIGNIN = 'SOCIAL_SIGNIN';\nexport const TRY_NEW_SIGNUP = 'TRY_NEW_SIGNUP';\nexport const VERIFY_MOBILE = 'VERIFY_MOBILE';\nexport const TRY_SIGNIN = 'TRY_SIGNIN';\n\nexport class Signup implements Action {\n readonly type = SIGNUP;\n constructor(public payload: {\n mobile: string;\n countryCode: string;\n referralCode: string;\n classId?: any;\n str?: any;\n className?: any;\n }) { }\n}\n\nexport class Signin implements Action {\n readonly type = SIGNIN;\n constructor(public payload: {\n email: string,\n mobileNumber: string,\n countryCode: string,\n password: string\n }) { }\n}\n\nexport class ProcessAfterSignup implements Action {\n readonly type = PROCESS_AFTER_SIGNUP;\n}\n\nexport class ProcessAfterSignin implements Action {\n readonly type = PROCESS_AFTER_SIGNIN;\n}\n\nexport class SetAuthentication implements Action {\n readonly type = SET_AUTHTENTICATION;\n}\n\nexport class Logout implements Action {\n readonly type = LOGOUT;\n}\n\nexport class LogoutSuccess implements Action {\n readonly type = LOGOUT_SUCCESS;\n}\n\nexport class Fail implements Action {\n readonly type = FAIL;\n}\nexport class SetToken implements Action {\n readonly type = SET_TOKEN;\n constructor(public payload: string) { }\n}\n\nexport class VerifyOtpMobile implements Action {\n readonly type = VERIFY_OTP_MOBILE;\n constructor(public payload: {\n mobile: string,\n otp: string,\n countryCode: string\n }) { }\n}\nexport class VerifyOtpEmail implements Action {\n readonly type = VERIFY_OTP_EMAIL;\n constructor(public payload: {\n emailId: string,\n otp: string\n }) { }\n}\n\nexport class GetProfileData implements Action {\n readonly type = GET_PROFILE_DATA;\n}\n\nexport class FiiJeeMyPatLogin implements Action {\n readonly type = FIITJEE_MYPAT_LOGIN;\n constructor(public payload: {\n userId: string,\n type: string,\n password: string,\n enrollmentno: string,\n isPassword: boolean,\n isLogin: boolean\n }) { }\n}\n\nexport class OtpLoginFiitjee implements Action {\n readonly type = OTP_LOGIN_FIITJEE;\n constructor(public payload: {\n userId: string,\n otp: string,\n type: string,\n enrollmentno: string,\n isLogin: boolean,\n isPassword: boolean\n }) { }\n}\nexport class WACLoginFiitjee implements Action {\n readonly type = WAC_LOGIN_FIITJEE;\n constructor(public payload: {\n wac: string,\n userId: string,\n enrollmentno: string,\n isPassword: boolean,\n isLogin: boolean\n }) { }\n}\n\nexport class ResetPasswordFiitJee implements Action {\n readonly type = RESET_PASSWORD_FIITJEE;\n constructor(public payload: {\n password: string,\n confPassword: string,\n userId: string,\n enrollmentno: string\n }) { }\n}\n\ntype DeviceUsed = 'mobile' | 'web';\n\nexport class SetDeviceUsed implements Action {\n readonly type = SET_DEVICE_USED;\n constructor(public payload: DeviceUsed) { }\n}\nexport class SocialSignup implements Action {\n readonly type = SOCIAL_SIGNUP;\n constructor(public payload: {}) { }\n}\nexport class SocialSignin implements Action {\n readonly type = SOCIAL_SIGNIN;\n constructor(public payload: {}) { }\n}\nexport class TryNewSignup implements Action {\n readonly type = TRY_NEW_SIGNUP;\n constructor(public payload: {\n mobileNumber: string,\n countryCode: string,\n loginViaOtp: boolean,\n referralCode: string,\n class?: any;\n name?: string;\n }) { }\n}\nexport class VerifyMobile implements Action {\n readonly type=VERIFY_MOBILE;\n constructor(public payload:{\n mobileNumber:string,\n countryCode: string,\n otp:string\n }){};\n}\nexport class TrySignin implements Action {\n readonly type = TRY_SIGNIN;\n constructor(public payload: {\n email: string,\n mobileNumber: string,\n countryCode: string,\n password: string\n }) { }\n}\nexport type AuthActionList = Signup | Signin | Logout | SetToken | Fail | SetAuthentication | FiiJeeMyPatLogin |\n OtpLoginFiitjee | WACLoginFiitjee | ResetPasswordFiitJee | SetDeviceUsed | SocialSignup | SocialSignin | LogoutSuccess | TryNewSignup | VerifyMobile | TrySignin;\n","export const EXAM_INFO = {\n 'JEE(A)':{\n IMAGE_URL: 'jeeA',\n ROUTE_URL: '/jee-advanced',\n HEADER_IMAGE: 'jee-advance-exam',\n EXAM_DATE: 'Jun 2, 2024 **'\n },\n 'JEE(M)':{\n IMAGE_URL: 'jeeM',\n ROUTE_URL: '/jee-main',\n HEADER_IMAGE: 'jee-main-exam',\n EXAM_DATE: 'Session 1: Jan 24, 2024 - Feb 1, 2024
Session 2: Apr 01, 2024 - Apr 15, 2024'\n },\n 'BITSAT':{\n IMAGE_URL: 'bitsat',\n ROUTE_URL: '/bitsat',\n HEADER_IMAGE: 'bitsat-exam',\n EXAM_DATE: 'Session 1: May 21, 2024 to May 26, 2024 **
Session 2: Jun 18, 2024 to Jun 22, 2024 **'\n },\n 'NTSE & Fundamentals of Engineering and Medical':{\n IMAGE_URL: 'ntse',\n ROUTE_URL: '/ntse',\n HEADER_IMAGE: 'ntse-exam',\n EXAM_DATE: 'Stage 1: Dec 2023 **
Stage 2: Jun 2024 **'\n }\n};\n\nexport const DISPLAY_TYPE={\n HOME_INFO:'home-info',\n ALL_COURSES:'all-courses',\n PREP_TRACKER:'prep-tracker'\n}\n\nexport const AVAILABLE_CLASSES = {\n '9th': '5ace20299fe7b01d5806b926',\n '10th': '5ace20299fe7b01d5806b927',\n '11th': '5ace20299fe7b01d5806b928',\n '12th': '5ace20299fe7b01d5806b929',\n '12th Pass': '5b32140d37377e4cb08c74b4'\n};\n\nexport const AVAILAIBLE_QUERY_PARAMS = {\n selected_class: 'class',\n selected_goal: 'goal'\n};","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'dateDifference',\n pure: true\n})\nexport class DateDifferencePipe implements PipeTransform {\n\n transform(providedDate: any): string {\n const date: Date = new Date(providedDate)\n const currentDate: Date = new Date();\n const d: string = this.diff(date, currentDate);\n return currentDate.getTime() - date.getDate() > 0 ? d + \" ago\" : \"in \" + d;\n }\n diff(date: Date, currentDate: Date): string {\n const d = currentDate.getFullYear() - date.getFullYear();\n if (d !== 0) {\n return d + \" year\" + (Math.abs(d) > 1 ? \"s\" : \"\");\n } else {\n const d = currentDate.getMonth() - date.getMonth();\n if (d !== 0) {\n return d + \" month\" + (Math.abs(d) > 1 ? \"s\" : \"\");\n } else {\n const d = currentDate.getDate() - date.getDate();\n if (d !== 0) {\n return d + \" day\" + (Math.abs(d) > 1 ? \"s\" : \"\");\n } else {\n const d = currentDate.getHours() - date.getHours();\n if (d !== 0) {\n return d + \" hour\" + (Math.abs(d) > 1 ? \"s\" : \"\");\n } else {\n const d = currentDate.getMinutes() - date.getMinutes();\n if (d !== 0) {\n return d + \" minute\" + (Math.abs(d) > 1 ? \"s\" : \"\");\n } else {\n const d = currentDate.getSeconds() - date.getSeconds();\n if (d !== 0) {\n return d + \" second\" + (Math.abs(d) > 1 ? \"s\" : \"\");\n } else {\n return \"a few seconds\";\n }\n }\n }\n }\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from './http.service';\nimport { AlertService } from './alert.service';\nimport { environment } from '../../../environments/environment';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationService {\n public updateWorkingOnHomePage = new BehaviorSubject({});\n constructor(private http: HttpService, private alert: AlertService) { }\n\n getNotificationNumber(): any {\n return new Promise((resolve, reject) => {\n return this.http.get('getNotificationCount', true, null, false, false, environment.serverURLv3).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getAllNotificationFunc(page): any {\n return new Promise((resolve, reject) => {\n const params = { page };\n return this.http.get('getNotifications', true, params, false, false, environment.serverURLv3).subscribe(res => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n markAllNotificationRead(notificationIds): any {\n return new Promise((resolve, reject) => {\n return this.http.post('markAllNotificationRead', true, { notificationIds }, false, false,\n false, environment.serverURLv3).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n setNotificationToRead(id): any {\n return new Promise((resolve, reject) => {\n const params = {\n notificationId: String\n };\n params.notificationId = id;\n return this.http.post('setNotificationStatus', true, params, false, false, false, environment.serverURLv3).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from '../services/http.service';\nimport { AlertService } from './alert.service';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { Title, Meta, DomSanitizer } from '@angular/platform-browser';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../stores/app.reducers';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { UserProfile } from 'src/app/models/profile.model';\nimport { WebcamImage } from 'ngx-webcam';\n@Injectable({\n providedIn: 'root'\n})\nexport class UtilityService {\n\n private globalPopupStatus: boolean = false;\n public countryArray: any = [];\n public freeTrialDataContainer = new BehaviorSubject({});\n public changePasswordResolver = new BehaviorSubject({});\n public testResultUrlParams = new BehaviorSubject({});\n public emptyDataRevision = new BehaviorSubject({});\n public hideMainCalendar = new Subject();\n public showApplicationSurveyPopup = new BehaviorSubject(false);\n public otpPopupHandler = new Subject();\n public captchaStateHandler = new BehaviorSubject(false);\n public globalAuthPopupNeeded = new Subject();\n public signUpSuccess = new BehaviorSubject({});\n public signUpForcefully = new Subject();\n public signupData = new BehaviorSubject(null);\n public closePopUp = new BehaviorSubject(null);\n public isNewUser = new BehaviorSubject(null);\n public downloadEbook = new BehaviorSubject(false);\n public userIdFetch = new BehaviorSubject('');\n private collegePredData = {};\n public restrictAccessPopUp = new BehaviorSubject(false);\n public sidebarExpandedSubject = new BehaviorSubject(false);\n sidebarExpanded$ = this.sidebarExpandedSubject.asObservable();\n\n constructor(private sanitizer: DomSanitizer, private httpService: HttpClient, private http: HttpService, private alertService: AlertService, private titleService: Title, private metaService: Meta,\n private store: Store, private _http: HttpClient) {\n }\n\n get getCollegePred() {\n return this.collegePredData;\n }\n\n public setCollegePred(data) {\n this.collegePredData = { ...data };\n }\n\n setMainCalendar(value) {\n this.hideMainCalendar.next(value)\n }\n\n getAllCountryList(): any {\n\n this.countryArray = [\n {\n alpha3: 'IND',\n name: 'India',\n dialCode: '+91',\n class: 'India',\n regex: '^[6-9]\\\\d{9}$',\n flag: '../../../assets/images/country-flags/india.png'\n },\n {\n alpha3: 'NPL',\n name: 'Nepal',\n dialCode: '+977',\n class: 'Nepal',\n regex: '^[1-9]\\\\d{9}$',\n flag: '../../../assets/images/country-flags/nepal.png'\n },\n {\n alpha3: 'SAU',\n name: 'Saudi Arabia',\n dialCode: '+966',\n class: 'SaudiArabia',\n regex: '^(5)(5|0|3|6|4|9|1|8|7)([0-9]{7})$',\n flag: '../../../assets/images/country-flags/saudi-arabia.png'\n },\n {\n alpha3: 'MYS',\n name: 'Malaysia',\n dialCode: '+60',\n class: 'Malaysia',\n regex: '[1][0123456789][0-9]{5}',\n flag: '../../../assets/images/country-flags/malaysia.png'\n },\n {\n alpha3: 'ARE',\n name: 'United Arab Emirates',\n dialCode: '+971',\n class: 'UnitedArabEmirates',\n regex: '^(5[02468]{1})[1-9]{1}[0-9]{6}$',\n flag: '../../../assets/images/country-flags/united-arab-emirates.png'\n },\n {\n alpha3: 'MMR',\n name: 'Myanmar',\n dialCode: '+95',\n class: 'Myanmar',\n regex: '[9][0-9]{9}',\n flag: '../../../assets/images/country-flags/myanmar.png'\n },\n {\n alpha3: 'LKA',\n name: 'Sri Lanka',\n dialCode: '+94',\n class: 'SriLanka',\n regex: '[7][0-9]{6}',\n flag: '../../../assets/images/country-flags/sri-lanka.png'\n },\n {\n alpha3: 'OMN',\n name: 'Oman',\n dialCode: '+968',\n class: 'Oman',\n regex: '[9]\\\\d[0-9]{6}$',\n flag: '../../../assets/images/country-flags/oman.png'\n },\n {\n alpha3: 'SGP',\n name: 'Singapore',\n dialCode: '+65',\n class: 'Singapore',\n regex: '[689]\\\\d[0-9]{7}$',\n flag: '../../../assets/images/country-flags/singapore.png'\n },\n {\n alpha3: 'BHR',\n name: 'Bahrain',\n dialCode: '+973',\n class: 'Bahrain',\n regex: '(31|33|36|39|322|340|341|342|343|344|345|353|377|383|384|388|663|666|669){1}[0-9]{5}',\n flag: '../../../assets/images/country-flags/bahrain.png'\n },\n {\n alpha3: 'QAT',\n name: 'Qatar',\n dialCode: '+974',\n class: 'Qatar',\n regex: '[3-9]{1}[0-9]{7}$',\n flag: '../../../assets/images/country-flags/qatar.png'\n },\n {\n alpha3: 'ZAF',\n name: 'South Africa',\n dialCode: '+27',\n class: 'SouthAfrica',\n regex: '[0]\\\\d[1-9]{9}$',\n flag: '../../../assets/images/country-flags/south-africa.png'\n },\n {\n alpha3: 'USA',\n name: 'United States Of America',\n dialCode: '+1',\n class: 'UnitedStates',\n regex: '^([2-9]{3})[0-9]{3}[0-9]{4}$',\n flag: '../../../assets/images/country-flags/united-states-of-america.png'\n },\n // {\n // alpha3: 'KWT',\n // name: 'Kuwait',\n // dialCode: '+965',\n // class: 'Kuwait',\n // regex: '[569]\\\\d{7}$'\n // },\n ];\n return this.countryArray;\n }\n\n getAllClasses(): any {\n return new Promise((resolve, reject) => {\n this.http.get('v4/classes', false, null, true).subscribe((res) => {\n if (res && res.code) {\n resolve(res);\n }\n });\n });\n }\n\n fetchCaptchaDetails(): any {\n return new Promise((resolve, reject) => {\n this.http.get('v4/check-if-captcha-show', false, null, false).subscribe((res) => {\n if (res && res.code) {\n resolve(res);\n }\n });\n });\n }\n\n fetchFreeTrialDataAPI(): any {\n return this.http.get('api/v3/user/freeTrial', true, null, false, false, environment.serverURLv3).subscribe(\n response => {\n if (response.code === 200) {\n const responseReturn = response.data;\n responseReturn.serverTime = response.serverTime;\n this.freeTrialDataContainer.next(responseReturn);\n } else {\n this.alertService.showErrorMessage(response.message);\n }\n }\n );\n }\n\n sendOTP(data): any {\n return new Promise((resolve, reject) => {\n this.http.post('v4/auth/users/send-otp', true, data).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n this.alertService.showSuccessMessage(res.message);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n fetchScheduleData(data): any {\n return new Promise((resolve, reject) => {\n this.http.get('scheduleDetail', true, data, true, false, environment.serverURLv3).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getYourInitials(name): string {\n name.firstName = name.firstName.trim();\n if (name.firstName.split(' ').length > 1) {\n let initials = name.firstName.match(/\\b\\w/g) || [];\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\n return initials;\n } else {\n const initials = name.firstName[0] + name.firstName[1];\n return initials.toUpperCase();\n }\n }\n\n getTwoCharsIcon(achievementName): string {\n let getInitialTwoWords = \"\"\n getInitialTwoWords = achievementName[0] + achievementName[1]\n return getInitialTwoWords.toUpperCase();\n }\n\n\n getInitialsClass(): string {\n const classArray = ['alphabet-bg1', 'alphabet-bg2', 'alphabet-bg3', 'alphabet-bg4', 'alphabet-bg5'];\n const randomNumber = Math.floor(Math.random() * classArray.length);\n return classArray[randomNumber];\n }\n\n setTitleAndMetaDesc(title: string, desc: string): void {\n // Changing title\n this.titleService.setTitle(title);\n // Changing meta with name=\"description\"\n const tag = { name: 'description', content: desc };\n const attributeSelector = 'name=\"description\"';\n this.metaService.removeTag(attributeSelector);\n this.metaService.addTag(tag, false);\n }\n\n public addFacebookGraphTags(url, title, type): void {\n const tags = [\n { name: 'og:url', property: 'og:url', content: url },\n { name: 'og:title', property: 'og:title', content: title },\n { name: 'og:type', property: 'og:type', content: type },\n ];\n this.metaService.removeTag('name=\"og:url\"');\n this.metaService.removeTag('name=\"og:title\"');\n this.metaService.removeTag('name=\"og:type\"');\n this.metaService.addTags(tags, true);\n }\n\n loadScript(): void {\n let isFound = false;\n const scripts = document.getElementsByTagName('script');\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < scripts.length; ++i) {\n if (scripts[i].getAttribute('src') != null && scripts[i].getAttribute('src').includes('carousel-menu')) {\n isFound = true;\n }\n }\n if (!isFound) {\n const dynamicScripts = ['../../assets/js/carousel-menu.js'];\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < dynamicScripts.length; i++) {\n const node = document.createElement('script');\n node.src = dynamicScripts[i];\n node.type = 'text/javascript';\n node.async = false;\n node.charset = 'utf-8';\n document.getElementsByTagName('head')[0].appendChild(node);\n }\n }\n }\n\n getUrlParamsFromResult(res, routeVal): void {\n const storeData = {};\n let course;\n this.store.select('userProfile').subscribe(resNew => {\n if (resNew && resNew.selectedGoal) {\n course = resNew.selectedGoal['courseId'];\n }\n });\n\n storeData['attemptId'] = res.attemptId ? res.attemptId : null;\n storeData['testId'] = res.testId ? res.testId : null;\n storeData['testType'] = res.testType ? res.testType : null;\n storeData['testName'] = res.testName ? res.testName : null;\n storeData['authToken'] = res.authToken ? res.authToken : null;\n storeData['courseId'] = res.courseId ? res.courseId : course ? course : null;\n storeData['pageLoaded'] = routeVal;\n storeData['nonSeriousAttempt'] = res.nonSeriousAttempt;\n this.testResultUrlParams.next(storeData);\n }\n\n debounce(func, wait, immediate = false) {\n let timeout;\n return function () {\n let context = this, args = arguments;\n let later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n let callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n };\n\n getExamPopupDetails() {\n return this.http.get('exam-popup-details', true, null, null, null, environment.serverURLv3);\n }\n\n getImageSignedUrl(params?: any) {\n const url = `aws/presigned-url?type=${params.type}&key=${params.key}`;\n return this.http.get(url, true, null, null, null, environment.serverURLv3);\n }\n\n submitApplicationSurvey(params) {\n return this.http.put('update-exam-details', true, params, true, environment.serverURLv3);\n }\n getTestSyllabusDetails (payload: any) {\n let url=`v4/auth/tests/${payload.testId}/details?courseId=${payload.courseId}&packageId=${payload.packageId}`\n if(payload.testId === '0'.repeat(24) && payload.scheduleID ){\n url += `&scheduleID=${payload.scheduleID}`\n }\n return this.http.get(url, true, {}, true, false, environment.serverURLv4);\n }\n\n createUserObject(userData) {\n if (userData.profile || (userData.userId && userData.userId._id)) {\n const { profile, userId } = userData;\n const { dateOfBirth } = userId || '';\n\n const userObj = profile || userData;\n const userRemarkObj = (userId && userId.remarks) || [];\n\n const partner = {\n isVerified: false,\n userName: null,\n partnerInstitute: null,\n isPartner: userObj.partner?.partnerUser === false ? 'no' : null,\n partnerGoal: [],\n enroll: null\n };\n\n if (userObj.partner && userObj.partner.data) {\n const { data, goals, partnerUser } = userObj.partner;\n partner.isVerified = data.isVerified;\n partner.userName = data.username || null;\n partner.partnerInstitute = userObj.partner.name || null;\n partner.enroll = data.enrolmentNo || null;\n partner.partnerGoal = goals || [];\n partner.isPartner = data.isVerified ? 'yes' : partner.isPartner;\n }\n\n const remarkData = {\n isBlocked: userRemarkObj.length && userRemarkObj[userRemarkObj.length - 1].status || '',\n blockReason: userRemarkObj.length && userRemarkObj[userRemarkObj.length - 1].blockReason || '',\n endTime: userRemarkObj.length && userRemarkObj[userRemarkObj.length - 1].blockDuration?.endTime || '',\n startTime: userRemarkObj.length && userRemarkObj[userRemarkObj.length - 1].blockDuration?.startTime || '',\n };\n\n const {\n _id,\n name: { firstName },\n mobile,\n email,\n goals,\n class: userClass,\n location,\n webAccessCode,\n school,\n photoUrlThumb,\n photoUrl,\n packageBought,\n goalDDCount,\n isPassword,\n tour,\n referralCode,\n parentAccessToken,\n isStepUser,\n refferedByCode,\n orgCentre,\n } = userObj.userId;\n\n const user = new UserProfile(\n _id,\n firstName,\n mobile,\n email,\n goals,\n userClass || userObj.userClass,\n location,\n partner,\n partner.enroll,\n webAccessCode,\n school,\n photoUrlThumb,\n photoUrl,\n null,\n null,\n packageBought,\n goalDDCount,\n isPassword,\n tour,\n referralCode,\n parentAccessToken,\n isStepUser,\n remarkData,\n refferedByCode,\n orgCentre,\n dateOfBirth\n );\n\n return user;\n }\n }\n\n\n getClasses() {\n return this.http.get(\"getClass?startingClass=9\", false, {}, null, null, environment.serverURLv3);\n }\n\n verifyOTP(params: any) {\n return this.http.get('verifyOtpMobile', false, params, null, null, environment.serverURLv3);\n }\n\n resendOTP(params: any) {\n return this.http.post('sendOtpMobile', false, params, false, false, false, environment.serverURLv3);\n }\n\n setGlobalAuthPopup(status) {\n this.globalPopupStatus = status;\n this.globalAuthPopupNeeded.next(status);\n }\n\n getGlobalAuthPopup() {\n return this.globalPopupStatus;\n }\n\n getUserID(data){\n return this.http.post('verifyOtpMobile', false, data, false, false, false, environment.serverURLv3);\n }\n\n getAllAvailablePackages() {\n return this.http.get('packages?flag=all', false, {}, null, null, environment.serverURLv3);\n }\n toggleSidebar() {\n const currentValue = this.sidebarExpandedSubject.value;\n this.sidebarExpandedSubject.next(!currentValue);\n }\n\n uploadYourFileOnS3(data, imageFile) {\n const formData: FormData = new FormData();\n formData.append('key', data.fields.key);\n formData.append('bucket', data.fields.bucket);\n formData.append('acl', 'public-read');\n formData.append('X-Amz-Algorithm', data.fields['X-Amz-Algorithm']);\n formData.append('X-Amz-Credential', data.fields['X-Amz-Credential']);\n formData.append('X-Amz-Date', data.fields['X-Amz-Date']);\n formData.append('Policy', data.fields['Policy']);\n formData.append('X-Amz-Signature', data.fields['X-Amz-Signature']);\n formData.append('file', imageFile, imageFile?.name);\n const options = {\n headers: new HttpHeaders({\n Accept: 'application/json'\n })\n };\n return this._http.post(data.url, formData, options);\n }\n\n webCamImageToFile(webcamImage: WebcamImage, filename: string) {\n const [header, base64Data] = webcamImage?.imageAsDataUrl?.split(\",\");\n const mimeType = header?.match(/:(.*?);/)[1];\n const binaryString = atob(base64Data);\n const binaryLength = binaryString?.length;\n const uint8Array = new Uint8Array(binaryLength);\n for (let i = 0; i < binaryLength; i++) {\n uint8Array[i] = binaryString?.charCodeAt(i);\n }\n return new File([uint8Array], filename, { type: mimeType });\n }\n}\n","const HEADERMENU = {\n CLASS_LIST: 'classList',\n EXAM_LIST: 'examList',\n RESOURCES_LIST: 'resourcesList',\n CLASS9: 'class9',\n CLASS10: 'class10',\n CLASS11: 'class11',\n CLASS12: 'class12',\n CLASS12_PASS: 'class12pass',\n TOOLS: 'tools',\n PREVIOUS_PAPER: 'previousPaper',\n SAMPLE_PAPER: 'samplePaper',\n BLOG: 'blog',\n EBOOKS: 'ebooks',\n COMMUNITY: 'community'\n}\n\nexport default HEADERMENU;","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs/Observable';\nimport { HttpClient } from '@angular/common/http';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../stores/app.reducers';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport _ from \"lodash\";\nimport { environment } from '../../environments/environment';\nimport { DetectLocationService } from '../shared/services/detect-location.service';\nimport { map, filter, first } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExtraEdgeV3Service {\n\n accessToken1: Observable;\n accessToken: string;\n authenticated\n private baseUrl = \"https://thirdpartyapi.extraaedge.com/api/SaveRequest?AuthToken=MYPATB2C-14-06-2017&Source=mypatb2c\";\n\n constructor(\n private route: ActivatedRoute,\n private http: HttpClient,\n private store: Store,\n private detectLocationService: DetectLocationService,\n ) { }\n\n\n isProd() {\n return environment.production;\n }\n\n extraEdgeUpdate(parameters) {\n let flag = true;\n let url = this.baseUrl;\n this.route.queryParams.takeWhile(() => flag).subscribe((params) => {\n if (!(_.isEmpty(params))) {\n if (params['utm_source']) {\n url = url + \"&LeadSource=\" + params['utm_source'];\n url = params['utm_source'] === 'adwords' ? url + '&ReasonCode=squad' : url;\n } else {\n url = url + \"&LeadSource=Website\";\n }\n\n if (params['utm_term']) {\n url = url + \"&LeadType=\" + params['utm_term'];\n } else {\n url = url + \"&LeadType=Online\";\n }\n\n if (params['utm_content']) {\n url = url + \"&LeadName=\" + params['utm_content'];\n } else {\n url = url + \"&LeadName=Normal Register\";\n }\n url = url + parameters + \"&Priority=Medium&Course=myPAT\";\n\n this.http.get(url).subscribe((res) => { })\n } else {\n url = url + parameters + \"&Priority=Medium&Course=myPAT&LeadSource=Website&LeadType=Online&LeadName=Normal Register\";\n this.http.get(url).subscribe((res) => { })\n }\n flag = false;\n });\n }\n\n extraEdgeNormalUpdate(params) {\n let url = this.baseUrl + params;\n this.http.get(url).subscribe((res) => { })\n }\n\n extraEdgeNormalJSONUpdate(params) {\n\n const jsonParams = Object.assign(params);\n let urlQueryString = Object.keys(jsonParams).map(key => `${key}=${jsonParams[key]}`).join('&');\n urlQueryString = '&' + urlQueryString;\n\n let url = this.baseUrl + urlQueryString;\n this.http.get(url).subscribe((res) => { })\n }\n\n extraEdgeJSONUpdate(params: { [x: string]: any }, options: { sourceName?: string, addLeadMeta?: boolean } = {}) {\n const url = this.baseUrl;\n // common transformation\n if (!this.isProd() && !params.Leadstatus)\n params.Leadstatus = 'Test Lead';\n const jsonParams = Object.assign(params);\n let urlQueryString = Object.keys(jsonParams).map(key => `${key}=${jsonParams[key]}`).join('&');\n urlQueryString = '&' + urlQueryString;\n\n const name = options?.sourceName ?? 'Normal Register';\n\n this.route.queryParams.subscribe((params) => {\n if (!(_.isEmpty(params))) {\n const leadSource = params['utm_source'] || 'Website';\n const leadType = params['utm_term'] || 'Online';\n const leadName = params['utm_content'] || name;\n\n let urlWithParams = `${url}&LeadSource=${leadSource}`;\n urlWithParams = leadSource === 'adwords' ? `${urlWithParams}&ReasonCode=squad` : urlWithParams;\n urlWithParams = `${urlWithParams}&LeadType=${leadType}&LeadName=${leadName}${urlQueryString}&Priority=Medium&Course=myPAT`;\n this.http.get(urlWithParams).subscribe((res) => { });\n } else {\n const urlWithParams = `${url}${urlQueryString}&Priority=Medium&Course=myPAT&LeadSource=Website&LeadType=Online&LeadName=${name}`;\n this.http.get(urlWithParams).subscribe((res) => { });\n }\n });\n }\n\n extraEdgeToolUpdate(parameters, name) {\n let flag = true;\n let url = this.baseUrl;\n this.route.queryParams.takeWhile(() => flag).subscribe((params) => {\n if (!(_.isEmpty(params))) {\n if (params['utm_source']) {\n url = url + \"&LeadSource=\" + params['utm_source'];\n url = params['utm_source'] === 'adwords' ? url + '&ReasonCode=squad' : url;\n } else {\n url = url + \"&LeadSource=Website\";\n }\n\n if (params['utm_term']) {\n url = url + \"&LeadType=\" + params['utm_term'];\n } else {\n url = url + \"&LeadType=Online\";\n }\n\n if (params['utm_content']) {\n url = url + \"&LeadName=\" + params['utm_content'];\n } else {\n url = url + \"&LeadName=\" + name;\n }\n url = url + parameters + \"&Priority=Medium&Course=myPAT\";\n this.http.get(url).subscribe((res) => { })\n\n } else {\n url = url + parameters + \"&Priority=Medium&Course=myPAT&LeadSource=Website&LeadType=Online&LeadName=\" + name;\n this.http.get(url).subscribe((res) => { })\n }\n flag = false;\n });\n }\n\n testInfoPushEE(testName, testType, leadContactable) {\n this.store.select('userProfile').\n pipe(\n filter(data => data != null),\n first(), // Sbscribe once\n map(data => {\n const extraEdgePayload = {\n // 'MobileNumber': data.userData.userMobile.number,\n 'Textb1': data.userData.userId,\n 'Remarks': `${testName}, ${testType}`,\n 'LeadContactable': leadContactable,\n };\n this.extraEdgeJSONUpdate(extraEdgePayload);\n })\n ).subscribe();\n }\n}\n\n\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { ActivatedRoute } from '@angular/router';\nimport _ from 'lodash';\nimport { environment } from '../../../environments/environment';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExtraEdgeService {\n\n accessToken1: Observable;\n accessToken: string;\n authenticated: boolean;\n private baseUrl = 'https://thirdpartyapi.extraaedge.com/api/SaveRequest?AuthToken=MYPATB2C-14-06-2017&Source=mypatb2c';\n\n constructor(\n private route: ActivatedRoute,\n private http: HttpClient,\n ) { }\n\n extraEdgeUpdateUtmAdWords(parameters): void {\n let flag = true;\n let url = this.baseUrl;\n this.route.queryParams.subscribe((params) => {\n if (!(_.isEmpty(params))) {\n if (params.utm_source) {\n url = url + '&LeadSource=' + params.utm_source;\n url = params.utm_source === 'adwords' ? url + '&ReasonCode=squad' : url;\n } else {\n url = url + '&LeadSource=Website';\n }\n if (params.utm_term) {\n url = url + '&LeadType=' + params.utm_term;\n } else {\n url = url + '&LeadType=Online';\n }\n\n if (params.utm_content) {\n url = url + '&LeadName=' + params.utm_content;\n } else {\n url = url + '&LeadName=Normal Register';\n }\n url = url + parameters + '&Priority=Medium&Course=myPAT';\n\n this.http.get(url).subscribe((res) => { });\n } else {\n url = url + parameters + '&Priority=Medium&Course=myPAT&LeadSource=Website&LeadType=Online&LeadName=Normal Register';\n this.http.get(url).subscribe((res) => { });\n }\n flag = false;\n });\n }\n\n extraEdgeNormalUpdate(params): void {\n const url = this.baseUrl + params;\n this.http.get(url).subscribe((res) => {});\n }\n\n extraEdgeJSONUpdate(params): void {\n const jsonParams = Object.assign(params);\n let urlQueryString = Object.keys(jsonParams).map(key => `${key}=${jsonParams[key]}`).join('&');\n urlQueryString = '&' + urlQueryString;\n\n const url = this.baseUrl + urlQueryString;\n this.http.get(url).subscribe((res) => {});\n }\n\n extraEdgeJSONUpdateUtmAdwords(params: { [x: string]: any }, options: { sourceName?: string, addLeadMeta?: boolean } = {}): void {\n let flag: boolean = true;\n let url = this.baseUrl;\n // common transformation\n if (!environment.production) {\n params.Leadstatus = 'Test Lead';\n }\n const jsonParams = Object.assign(params);\n let urlQueryString = Object.keys(jsonParams).map(key => `${key}=${jsonParams[key]}`).join('&');\n urlQueryString = '&' + urlQueryString;\n if (options && options.addLeadMeta) {\n const name = options && options.sourceName ? options.sourceName : 'Normal Register';\n this.route.queryParams.subscribe((paramsN) => {\n if (!(_.isEmpty(paramsN))) {\n if (params.utm_source) {\n url = url + '&LeadSource=' + params.utm_source;\n url = params.utm_source === 'adwords' ? url + '&ReasonCode=squad' : url;\n } else {\n url = url + '&LeadSource=Website';\n }\n\n if (params.utm_term) {\n url = url + '&LeadType=' + params.utm_term;\n } else {\n url = url + '&LeadType=Online';\n }\n\n if (params.utm_content) {\n url = url + '&LeadName=' + params.utm_content;\n } else {\n url = url + '&LeadName=' + name;\n }\n url = url + urlQueryString + '&Priority=Medium&Course=myPAT';\n } else {\n url = url + urlQueryString + '&Priority=Medium&Course=myPAT&LeadSource=Website&LeadType=Online&LeadName=' + name;\n }\n flag = false;\n console.log(url);\n this.http.get(url).subscribe((res) => { });\n });\n } else {\n url = url + urlQueryString;\n console.log(url);\n this.http.get(url).subscribe((res) => { });\n }\n }\n\n manipulateData(dataRecieved, str): void {\n let payloadToPass;\n let campaignName;\n switch (str) {\n case 'sign-up': {\n payloadToPass = {\n MobileNumber: dataRecieved.mobile,\n Field2: dataRecieved.className\n };\n campaignName = '';\n break;\n }\n\n case 'verify-otp': {\n payloadToPass = {\n MobileNumber: dataRecieved.mobile,\n MobileVerified: true\n };\n campaignName = '';\n break;\n }\n }\n\n this.extraEdgeJSONUpdateUtmAdwords(payloadToPass, { sourceName: campaignName, addLeadMeta: true });\n }\n}\n","export const environment = {\n production: true,\n baseHref: '/',\n myPatUrl: 'https://mypat.in',\n myPatUrlv4: 'https://mypat.in',\n fiitjeeUrlv3: 'https://fiitjee-v3.mypat.in',\n fiitjeeUrlv4: 'https://fiitjee.mypat.in',\n serverURLv3: 'https://v2api2-prod.mypat.in/',\n edforaURL: 'https://backend.edfora.com/',\n serverURLv4: 'https://v4-auth-service.mypat.in/',\n mockServerURL: '',\n fbAppId: '432998907135563',\n google_clientId: '544027600908-fl76h9b7sq949f3m9co5pnr9805nd61a.apps.googleusercontent.com',\n partnerDomain: 'https://fiitjee.mypat.in/auth/admin-access/',\n razorPayKey: 'rzp_live_tEr4IjWx6QfbwV',\n clevertapId: '698-8W8-545Z',\n kaptureCrmKey : 'Basic aDM3b2FtcmtjYzY1dHhzbzl6bDFmM2hoNnNodWF2cnNsenM5bGJuaGN1M3NqYnowdGg=',\n name: 'prod' ,\n captchaKey : '6LdURVEUAAAAADSnZK0cJacinv-PqlTO_7K-CQkU',\n zestMoneyMerchantId: '89cad954-b7ea-47a9-af2d-8c9a0027357f',\n zestMoneyPaymentGatewayId: '31a2b66b-f364-48f9-a7fd-6870a5a224b4',\n teacherSiteURL: 'https://schools-teacher.mypat.in/login',\n schoolPartnerDomain: 'https://schools.mypat.in/',\n teacherServerURL: 'https://v2enterprise-api.mypat.in/',\n s3BucketBaseUrl: 'https://s3.us-west-2.amazonaws.com/mypat-v2-staging/',\n glorifireCommunity: 'https://community.glorifire.com',\n glorifireliveClasses: 'https://liveclasses.glorifire.com',\n gtmId: 'GTM-NHSSJKV',\n androidURL: 'https://play.google.com/store/apps/details?id=com.mypat',\n iosURL: '',\n youTube:'https://youtube.com/@myPATlearning?si=X90qIGlwgEDOG0jps',\n instagram:'https://www.instagram.com/mypat_india/',\n linkedIn:'https://www.linkedin.com/company/mypat---my-performance-analysis-test?report%2Esuccess=KJ_KkFGTDCfMt-A7wV3Fn9Yvgwr02Kd6AZHGx4bQCDiP6-2rfP2oxyVoEQiPrcAQ7Bf',\n twitter:'https://twitter.com/myPAT_india',\n facebook:'https://www.facebook.com/pages/MyPatin/249818108402322',\n blog:'https://blog.mypat.in/',\n glorifireLite: 'https://mypat.in/',\n\n};\n","export const EBOOKS = [\n {\n name: 'Ultimate Guide to JEE Main Exam',\n examType: 'JEE_MAIN',\n bookId: 'guide-jee-main'\n },\n {\n name: 'Tips To Crack BITSAT By Toppers',\n examType: 'BITSAT',\n bookId: 'bitsat-topper'\n },\n {\n name: 'Top 5 Preparation Tips for NTSE',\n examType: 'NTSE',\n bookId: 'ntseTip'\n },\n {\n name: 'One-Month Mantra To Crack JEE Main 2024',\n examType: 'JEE_MAIN',\n bookId: 'mantra-jee-main'\n }\n]\n\nexport const TAG_CLICKED ={\n ELEMENT: 'A',\n CLASS:'ebooks',\n};\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\ninterface StatusMessages {\n error: string;\n warning: string;\n success: string;\n type: number;\n custom: string;\n className?: string;\n btnName?: string;\n customBtn?: string;\n icon?: string;\n subtitle?: string;\n}\n@Injectable()\nexport class AlertService {\n public pictureURL;\n status: StatusMessages = {\n error: null,\n warning: null,\n success: null,\n type: -1,\n custom: null,\n className: '',\n btnName: null,\n customBtn: null,\n icon: null,\n subtitle: null\n };\n\n\n // Declare subject\n messageChange = new Subject();\n public updateWorkingOnHomePage = new BehaviorSubject({});\n public updateWorkingHomePage = new BehaviorSubject({});\n public undoRevisionQuestion = new BehaviorSubject({});\n public deleteRevisionQuestion = new BehaviorSubject(null);\n public updateAfterViewTask = new BehaviorSubject('');\n public cardDetails = new BehaviorSubject('');\n public viewTaskId = new BehaviorSubject('');\n public filterId = new BehaviorSubject({});\n public selectTagObject = new BehaviorSubject({})\n public comparisonOf = new BehaviorSubject('');\n public questionId= new BehaviorSubject({});\n public issueId=new BehaviorSubject('');\n public helpId=new BehaviorSubject('');\n public helpStatus=new BehaviorSubject('');\n public helpNotifiStatus=new BehaviorSubject('');\n public IdeaStatus=new BehaviorSubject('');\n public swotType = new BehaviorSubject('');\n public notificationCountUpdate = new BehaviorSubject(0);\n public clickedBackHome = new BehaviorSubject(false);\n public question\n errorChange = new Subject();\n changeEvent = new Subject();\n timeOut: any;\n\n constructor() { }\n\n emptyMessage(): void {\n clearTimeout(this.timeOut);\n this.status = {\n error: null,\n warning: null,\n success: null,\n type: -1,\n custom: null,\n className: '',\n };\n }\n\n showErrorMessage(str): void {\n this.emptyMessage();\n if (typeof str === 'object' && str !== null) {\n this.status.error = str?.title;\n this.status.subtitle = str?.subTitle;\n } else {\n this.status.error = str;\n }\n this.status.type = 0;\n this.messageChange.next(this.status);\n this.timeOut = setTimeout(() => {\n this.status.error = null;\n this.status.type = -1;\n this.messageChange.next(this.status);\n }, 5000);\n }\n showSuccessMessage(str): void {\n this.emptyMessage();\n if (typeof str === 'object' && str !== null) {\n this.status.success = str?.title;\n this.status.subtitle = str?.subTitle;\n } else {\n this.status.success = str;\n }\n this.status.type = 1;\n this.messageChange.next(this.status);\n\n this.timeOut = setTimeout(() => {\n this.status.success = null;\n this.status.type = -1;\n this.messageChange.next(this.status);\n }, 5000);\n }\n\n showWarningMessage(str): void {\n this.emptyMessage();\n this.status.warning = str;\n this.status.type = 2;\n this.messageChange.next(this.status);\n this.timeOut = setTimeout(() => {\n this.status.warning = null;\n this.status.type = -1;\n this.messageChange.next(this.status);\n }, 5000);\n }\n\n throwErrorMessage(msg): void {\n this.errorChange.next(msg);\n }\n\n throwChangeEvent(msg): void {\n this.changeEvent.next(msg);\n }\n\n showCustomMessage(str, className = '', icon, type = 3): void {\n this.emptyMessage();\n this.status.custom = str;\n this.status.type = type;\n this.status.className = className;\n this.status.icon = icon;\n this.messageChange.next(this.status);\n this.timeOut = setTimeout(() => {\n this.status.warning = null;\n this.status.type = -1;\n this.messageChange.next(this.status);\n }, 6000);\n }\n\n showCustomMessageWithButton(str, btnName, type = 4): void {\n this.emptyMessage();\n this.status.customBtn = str;\n this.status.type = type;\n this.status.btnName = btnName;\n this.messageChange.next(this.status);\n this.timeOut = setTimeout(() => {\n this.status.warning = null;\n this.status.customBtn = null;\n this.status.btnName = null;\n this.status.type = -1;\n this.messageChange.next(this.status);\n this.deleteRevisionQuestion.next(true);\n }, 5000);\n }\n\n hideCustomMessageWithBtn(): void {\n this.status.warning = null;\n this.status.customBtn = null;\n this.status.btnName = null;\n this.status.type = -1;\n this.messageChange.next(this.status);\n }\n\n getObservable(): any {\n return this.messageChange.asObservable();\n }\n}\n","import {\n OnDestroy,\n OnInit,\n Directive,\n Input,\n ElementRef,\n HostListener,\n HostBinding,\n Renderer2,\n } from '@angular/core';\n import Hammer from 'hammerjs';\n \n interface ImgParams {\n width?: number;\n height?: number;\n top: number;\n left: number;\n }\n \n interface CheckParams {\n newWidth: number;\n newHeight: number;\n imgPosX: number;\n imgPosY: number;\n maxOffsetX: number;\n maxOffsetY: number;\n }\n \n interface ZoomParams {\n shift: number;\n x?: number;\n y?: number;\n }\n \n const enum Fits {\n ScaleDown = 'scale-down',\n Cover = 'cover',\n Natural = 'natural',\n Default = 'fit',\n }\n \n const enum Directions {\n Center = 'center',\n Top = 'top',\n Bottom = 'bottom',\n Left = 'left',\n Right = 'right',\n }\n \n @Directive({\n selector: '[zoom-image]',\n exportAs: 'zoom-image',\n })\n export class ZoomDirective implements OnInit, OnDestroy {\n @Input('zoom-initial-position') initialPosition: {\n top: Directions;\n left: Directions;\n } = {\n top: Directions.Center,\n left: Directions.Center,\n };\n @Input('zoom-initial-fit') initialFit?: Fits;\n private zoomMin = 1;\n @Input('zoom-max') zoomMax = 3;\n private mc;\n private img: HTMLImageElement;\n private container: HTMLElement;\n private zoomStep = 0.1;\n private zoomCurrent = 1;\n private ratio = 1;\n private initialParams = {\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n };\n private currentParams = {\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n pWidth: 0,\n pHeight: 0,\n pLeft: null,\n pTop: null,\n };\n private handlers = {\n moveHandler: null,\n removeHandler: null,\n downHandler: null,\n containerPreventing: null,\n };\n private previousCoords = { x: 0, y: 0 };\n private shift = { x: 0, y: 0 };\n private hammertime;\n \n constructor(public imageRef: ElementRef, private renderer2: Renderer2) {}\n \n ngOnInit(): void {\n this.img = this.imageRef.nativeElement;\n this.container = this.img.parentElement;\n this.initialFit = this.initialFit || Fits.Natural;\n this.addEvents();\n }\n ngOnDestroy(): void {\n this.renderer2.removeStyle(this.container, 'touch-action');\n if (this.hammertime) {\n this.hammertime.destroy();\n }\n if (this.mc) {\n this.mc.destroy();\n }\n if (this.handlers.containerPreventing) {\n this.container.removeEventListener(\n 'mousedown',\n this.handlers.containerPreventing\n );\n }\n if (this.handlers.removeHandler)\n document.removeEventListener('mouseleave', this.handlers.removeHandler);\n }\n \n private addEvents() {\n this.img.addEventListener('load', (e) => {\n this.setInitialParams();\n });\n this.mc = new Hammer.Manager(this.img, {\n defaults: {\n domEvents: false,\n preventDefault: true,\n },\n recognizers: [[Hammer.Pan]],\n });\n this.hammertime = new Hammer(this.container, {});\n this.hammertime.get('pinch').set({ enable: true });\n let startScale = null;\n this.hammertime.on('pinchstart', (e) => {\n startScale = e.scale;\n });\n this.hammertime.on('pinch', (e) => {\n this.zoomCurrent -= startScale - e.scale;\n startScale = e.scale;\n this.zoomCurrent = Math.min(\n Math.max(this.zoomMin, this.zoomCurrent),\n this.zoomMax\n );\n const x = e.srcEvent.pageX - this.getContainerPosition().pLeft;\n const y = e.srcEvent.pageY - this.getContainerPosition().pTop;\n this.zoom({ shift: startScale - e.scale, x, y });\n });\n \n this.mc.on('panstart', (ev) => {\n ev.preventDefault();\n this.onMouseDown(ev.srcEvent);\n });\n this.container.addEventListener(\n 'mousedown',\n (this.handlers.containerPreventing = (event) => {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n })\n );\n this.container.addEventListener(\n 'dragstart',\n (this.handlers.containerPreventing = (event) => {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n })\n );\n }\n \n private setInitialParams() {\n this.ratio = this.img.naturalWidth / this.img.naturalHeight;\n this.currentParams.pHeight = this.container.offsetHeight;\n this.currentParams.pWidth = this.container.offsetWidth;\n \n switch (this.initialFit) {\n case 'scale-down':\n this.initialParams.width = this.currentParams.pWidth;\n this.initialParams.height = this.initialParams.width / this.ratio;\n if (this.initialParams.height > this.currentParams.pHeight) {\n this.initialParams.height = this.currentParams.pHeight;\n this.initialParams.width = this.initialParams.height * this.ratio;\n }\n break;\n case 'cover':\n this.initialParams.width = this.currentParams.pWidth;\n this.initialParams.height = this.initialParams.width / this.ratio;\n if (this.initialParams.height < this.currentParams.pHeight) {\n this.initialParams.height = this.currentParams.pHeight;\n this.initialParams.width = this.initialParams.height * this.ratio;\n }\n break;\n case 'natural':\n this.initialParams.width = Math.min(\n this.currentParams.pWidth,\n this.img.naturalWidth\n );\n this.initialParams.height = this.initialParams.width / this.ratio;\n if (this.initialParams.height > this.currentParams.pHeight) {\n this.initialParams.height = Math.min(\n this.currentParams.pHeight,\n this.img.naturalHeight\n );\n this.initialParams.width = this.initialParams.height * this.ratio;\n }\n break;\n case 'fit':\n this.initialParams.width = this.currentParams.pWidth;\n this.initialParams.height = this.initialParams.width / this.ratio;\n if (this.initialParams.height > this.currentParams.pHeight) {\n this.initialParams.height = this.currentParams.pHeight;\n this.initialParams.width = this.initialParams.height * this.ratio;\n }\n break;\n }\n this.currentParams = Object.assign({}, this.currentParams, {\n ...this.initialParams,\n });\n this.placeImage();\n this.setImage(this.initialParams);\n }\n \n placeImage() {\n switch (this.initialPosition.top) {\n case 'center':\n this.initialParams.top =\n (this.currentParams.pHeight - this.currentParams.height) / 2;\n break;\n case 'bottom':\n this.initialParams.top =\n this.currentParams.pHeight - this.currentParams.height;\n break;\n }\n switch (this.initialPosition.left) {\n case 'center':\n this.initialParams.left =\n (this.currentParams.pWidth - this.currentParams.width) / 2;\n break;\n case 'right':\n this.initialParams.left =\n this.currentParams.pWidth - this.currentParams.width;\n break;\n }\n }\n \n getContainerPosition() {\n if (!this.currentParams.pLeft || !this.currentParams.pTop) {\n this.currentParams.pLeft = this.container.getBoundingClientRect().left;\n this.currentParams.pTop = this.container.getBoundingClientRect().top;\n }\n return {\n pLeft: this.currentParams.pLeft,\n pTop: this.currentParams.pTop,\n };\n }\n \n onMouseDown(e) {\n e.stopPropagation();\n e.preventDefault();\n this.previousCoords.x = e.pageX;\n this.previousCoords.y = e.pageY;\n this.mc.on(\n 'panmove',\n (this.handlers.moveHandler = (e) => {\n this.onMouseMove(e.srcEvent);\n e.preventDefault();\n })\n );\n this.mc.on(\n 'panend',\n (this.handlers.removeHandler = (e) => {\n this.onMouseUp();\n })\n );\n document.addEventListener(\n 'mouseleave',\n (this.handlers.removeHandler = (e) => {\n this.onMouseUp();\n })\n );\n e.preventDefault();\n e.stopPropagation();\n }\n \n private onMouseMove(e) {\n e.stopPropagation();\n e.preventDefault();\n this.moveAt(e);\n }\n \n private moveAt(e) {\n const maxDragX = this.currentParams.pWidth - this.currentParams.width;\n const maxDragY = this.currentParams.pHeight - this.currentParams.height;\n \n const newTop = Math.min(\n 0,\n Math.max(this.currentParams.top + this.shift.y, maxDragY)\n );\n const newLeft = Math.min(\n 0,\n Math.max(this.currentParams.left + this.shift.x, maxDragX)\n );\n this.shift = {\n x: e.pageX - this.previousCoords.x,\n y: e.pageY - this.previousCoords.y,\n };\n this.setImage({ top: newTop, left: newLeft });\n this.previousCoords = { x: e.pageX, y: e.pageY };\n }\n \n private onMouseUp() {\n if (this.handlers.moveHandler) {\n this.mc.off('panmove', this.handlers.moveHandler);\n }\n if (this.handlers.removeHandler) {\n this.mc.off('panend', this.handlers.removeHandler);\n document.removeEventListener('mouseleave', this.handlers.removeHandler);\n this.handlers.removeHandler = null;\n }\n }\n @HostListener('wheel', ['$event'])\n onMouseWheel(e) {\n e.preventDefault();\n const x = e.pageX - this.getContainerPosition().pLeft;\n const y = e.pageY - this.getContainerPosition().pTop;\n if (e.deltaY > 0) {\n this.zoomCurrent -= this.zoomStep;\n } else {\n this.zoomCurrent += this.zoomStep;\n }\n this.zoomCurrent = Math.min(\n Math.max(this.zoomMin, this.zoomCurrent),\n this.zoomMax\n );\n this.zoom({ shift: e.deltaY, x, y });\n }\n zoomIn() {\n this.zoomCurrent += this.zoomStep;\n this.zoomCurrent = Math.min(\n Math.max(this.zoomMin, this.zoomCurrent),\n this.zoomMax\n );\n this.zoom({\n shift: 1,\n });\n }\n zoomOut() {\n this.zoomCurrent -= this.zoomStep;\n this.zoomCurrent = Math.min(\n Math.max(this.zoomMin, this.zoomCurrent),\n this.zoomMax\n );\n this.zoom({\n shift: -1,\n });\n }\n get canZoomIn() {\n return this.zoomCurrent < this.zoomMax;\n }\n get canZoomOut() {\n return this.zoomCurrent > this.zoomMin;\n }\n private zoom(zoomParams: ZoomParams) {\n zoomParams = Object.assign(\n {\n x: this.currentParams.pWidth / 2,\n y: this.currentParams.pHeight / 2,\n },\n zoomParams\n );\n let params = this.getParams(zoomParams);\n this.setImage({\n width: params.newWidth,\n height: params.newHeight,\n top: params.imgPosY,\n left: params.imgPosX,\n });\n }\n \n private getParams(zoomParams: ZoomParams) {\n let imgCursorX = zoomParams.x - this.currentParams.left,\n imgCursorY = zoomParams.y - this.currentParams.top,\n imgRX = imgCursorX / this.currentParams.width,\n imgRY = imgCursorY / this.currentParams.height,\n maxOffsetY,\n maxOffsetX,\n newWidth = null;\n \n if (zoomParams.shift > 0) {\n } else {\n maxOffsetY = this.initialParams.top;\n maxOffsetX = this.initialParams.left;\n }\n this.zoomCurrent = Math.min(\n Math.max(this.zoomMin, this.zoomCurrent),\n this.zoomMax\n );\n newWidth = this.initialParams.width * this.zoomCurrent;\n const newHeight = newWidth / this.ratio;\n const imgPosX = zoomParams.x - newWidth * imgRX;\n const imgPosY = zoomParams.y - newHeight * imgRY;\n \n const params = {\n newWidth: newWidth,\n newHeight: newHeight,\n imgPosX: imgPosX,\n imgPosY: imgPosY,\n maxOffsetX: maxOffsetX,\n maxOffsetY: maxOffsetY,\n };\n this.checkPosition(params);\n return params;\n }\n \n private checkPosition(params: CheckParams) {\n const dhb =\n this.currentParams.pHeight - (params.newHeight + params.imgPosY);\n const dwb = this.currentParams.pWidth - (params.newWidth + params.imgPosX);\n if (dhb > 0 && dhb > params.maxOffsetY) params.imgPosY += dhb;\n if (dwb > 0 && dwb > params.maxOffsetX) params.imgPosX += dwb;\n if (params.imgPosY > 0) {\n params.imgPosY = 0;\n }\n if (params.imgPosX > 0) {\n params.imgPosX = 0;\n }\n }\n \n private setImage(imgParams: ImgParams) {\n this.width = imgParams.width || this.width;\n this.height = imgParams.height || this.height;\n const heightPrefix = this.currentParams.pHeight - this.height;\n const widthPrefix = this.currentParams.pWidth - this.width;\n \n this.top =\n this.height < this.currentParams.pHeight\n ? heightPrefix / 2\n : Math.max(imgParams.top, heightPrefix);\n this.left =\n this.width < this.currentParams.pWidth\n ? widthPrefix / 2\n : Math.max(imgParams.left, widthPrefix);\n // set current params\n this.currentParams.top = this.top;\n this.currentParams.left = this.left;\n this.currentParams.height = this.height;\n this.currentParams.width = this.width;\n }\n resetZoom() {\n this.zoomCurrent = this.zoomMin;\n this.setInitialParams();\n this.zoomStep = 0.1;\n }\n \n @HostBinding('style.width.px') width: number;\n @HostBinding('style.height.px') height: number;\n @HostBinding('style.top.px') top: number;\n @HostBinding('style.left.px') left: number;\n @HostBinding('style.position') position = 'absolute';\n }\n ","import { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UpcomingTestsService {\n\n initializeFilter = new BehaviorSubject(null); // For Filter Scroll\n\n constructor(\n private httpService: HttpService,\n private alertService: AlertService\n ) { }\n\n getUpcomingTests(body): any {\n return new Promise((resolve, reject) => {\n this.httpService.get('v4/auth/upcoming-tests', true, body, true).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n fetchUserCourses(): any {\n return new Promise((resolve, reject) => {\n this.httpService.get('v4/auth/users/courses', true, null, true, false,\n ).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n}\n","import * as UserProfileActionList from './user-profile.actions';\nimport { UserProfile } from '../../models/profile.model';\nimport { act } from '@ngrx/effects';\n\nexport interface State {\n userData: UserProfile;\n isVerifyMobileRequest: boolean;\n isVerifyEmailRequest: boolean;\n profileCompleted: number;\n showProfileStripOnDashboard: boolean;\n currentStep: any;\n lastStep: any;\n selectedGoal: {};\n}\n\nconst intialState: State = {\n userData: new UserProfile(),\n isVerifyMobileRequest: false,\n isVerifyEmailRequest: false,\n profileCompleted: 0,\n showProfileStripOnDashboard: true,\n currentStep: '1',\n lastStep: '2a',\n selectedGoal: localStorage.getItem('targetExam')\n ? JSON.parse(localStorage.getItem('targetExam'))\n : null\n};\n\nexport function userProfileReducer(\n state = intialState,\n action: UserProfileActionList.UserProfileActionList\n): State {\n switch (action.type) {\n case UserProfileActionList.UPDATE_USER_DETAIL:\n return {\n ...state,\n userData: action.payload\n };\n case UserProfileActionList.ADD_NAME_SUCCESS:\n return {\n ...state,\n currentStep: '2a',\n lastStep: '1',\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n name: action.payload['name'],\n // tslint:disable-next-line: no-string-literal\n userName: action.payload['userName']\n }\n };\n case UserProfileActionList.ADD_CLASS:\n return {\n ...state,\n currentStep: '2b',\n lastStep: '2a',\n selectedGoal: action.payload['goals'],\n userData: {\n ...state.userData,\n userClass: action.payload['userClass'],\n userCareers: action.payload['userCareers'],\n userGoals: action.payload['goals'],\n }\n };\n case UserProfileActionList.ADD_CAREER:\n return {\n ...state,\n currentStep: '2c',\n lastStep: '2b',\n selectedGoal: action.payload['goals'],\n userData: {\n ...state.userData,\n userCareers: action.payload['userCareers'],\n userGoals: action.payload['goals']\n }\n };\n case UserProfileActionList.ADD_GOAL:\n return {\n ...state,\n currentStep: '3',\n lastStep: '2c',\n // tslint:disable-next-line: no-string-literal\n selectedGoal: action.payload['goals'],\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n userGoals: action.payload['goals'],\n userClass: action.payload['userClass'],\n userCareers: action.payload['userCareers'],\n }\n };\n case UserProfileActionList.ADD_GOAL_SUCCESS:\n return {\n ...state,\n currentStep: '3',\n lastStep: '2c',\n // tslint:disable-next-line: no-string-literal\n selectedGoal: action.payload['goals'],\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n userGoals: action.payload['goals'],\n userClass: action.payload['userClass'],\n userCareers: action.payload['userCareers'],\n }\n };\n case UserProfileActionList.ADD_SCHOOL_SUCCESS:\n return {\n ...state,\n currentStep: '4',\n lastStep: '3',\n userData: {\n ...state.userData,\n school: {\n // tslint:disable-next-line: no-string-literal\n country: action.payload.hasOwnProperty('country') ? action.payload['country']\n : state.userData.school.country,\n // tslint:disable-next-line: no-string-literal\n state: action.payload.hasOwnProperty('state') ? action.payload['state']\n : state.userData.school.state,\n // tslint:disable-next-line: no-string-literal\n city: action.payload.hasOwnProperty('city') ? action.payload['city']\n : state.userData.school.city,\n // tslint:disable-next-line: no-string-literal\n id: action.payload['school']['id'] ? action.payload['school']['id'] : '',\n // tslint:disable-next-line: no-string-literal\n name: action.payload['school']['name'],\n // tslint:disable-next-line: no-string-literal\n schoolIdUrl: action.payload['school']['schoolIdUrl'] ? action.payload['school']['schoolIdUrl'] : ''\n }\n }\n };\n case UserProfileActionList.ADD_PROFILE_SUCCESS:\n return {\n ...state,\n currentStep: '5a',\n lastStep: '4',\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n photoUrl: action.payload['photoUrl']\n }\n };\n case UserProfileActionList.VERIFY_MOBILE_PROFILE_SUCCESS:\n return {\n ...state,\n currentStep: '5b',\n lastStep: '5a',\n isVerifyMobileRequest: true,\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n userMobile: action.payload['mobile'],\n // tslint:disable-next-line: no-string-literal\n countryCode: action.payload['countryCode'],\n mobileIsVerified: true\n }\n };\n case UserProfileActionList.VERIFY_EMAIL_PROFILE_SUCCESS:\n return {\n ...state,\n currentStep: '6',\n lastStep: '5b',\n isVerifyEmailRequest: true,\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n email: action.payload['email'],\n emailIsverified: true\n }\n };\n case UserProfileActionList.UPDATE_USER_CARD_PROFILE_SUCCESS:\n return {\n ...state,\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n photoUrl: action.payload['photoUrl']\n }\n };\n case UserProfileActionList.GET_CLASS_LIST_SUCCESS:\n return {\n ...state\n };\n case UserProfileActionList.ADD_PASSWORD_SUCCESS:\n return {\n ...state\n };\n case UserProfileActionList.SKIP_PASSWORD_SUCCESS:\n return {\n ...state\n };\n case UserProfileActionList.ADD_REFERRAL_SUCCESS:\n return {\n ...state\n };\n case UserProfileActionList.CHANGE_PASSWORD_SUCCESS:\n return {\n ...state\n };\n case UserProfileActionList.UPDATE_PERSONAL_INFO_SUCCESS:\n return {\n ...state,\n userData: {\n ...state.userData,\n // tslint:disable-next-line: no-string-literal\n name: action.payload['newName'],\n dateOfBirth :action.payload['dateOfBirth'],\n initials: action.payload['initials'],\n userLocation: action.payload['location'],\n }\n };\n case UserProfileActionList.ADD_DOB:\n return {\n ...state,\n userData: {\n ...state.userData,\n email:action.payload['email'],\n dateOfBirth: action.payload['dateOfBirth']\n }\n };\n default:\n return state;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from '../../../shared/services/http.service';\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { AppState } from '../../../stores/app.reducers';\nimport ClevertapReact from 'clevertap-react';\nimport { Store } from '@ngrx/store';\nimport * as UserProfileAction from '../../../stores/profile/user-profile.actions';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { DetectLocationService } from '../../../shared/services/detect-location.service';\nimport * as LoaderAction from '../../../stores/loader/loader.actions';\nimport { environment } from 'src/environments/environment';\n\ndeclare var $: any;\n@Injectable()\nexport class FiitJeeService {\n\n public currentStep = new Subject();\n public redirectTo = new Subject();\n public mobilePresent : any;\n public completeProfileSteps = new Subject();\n public isMobileValid = new Subject();\n public saveCode: any;\n public saveOtp: any;\n public saveWac: any;\n public fromModal: boolean = false;\n public savePassword: any;\n public enteredEnrollmentNo: any;\n public mobileNumber = new Subject();\n public userId: any;\n public pageForLoginHelp = new Subject();\n stepsCompleted: any = [];\n public userData: any;\n public promise: Promise;\n public loginVia: String;\n public disableBtnSubject = new BehaviorSubject(false);\n public userEmail: string = '';\n public fromScreen: string = '';\n public mobileCountryCode: string = '';\n\n constructor(private http: HttpService, private store: Store, private alert: AlertService) {\n this.store.select('userProfile').subscribe(res => {\n this.userData = res.userData;\n });\n\n }\n\n\n // Api result of enrollmentNumber\n // Code 200 : EnrollmentNo not exist new user\n // Code 205 : EnrollmentNo exist but neither mypat password nor verified mobile number exist\n // Code 201 : EnrollmentNo exist, mypat password not set verifed mypat mobile number set, existing user\n // Code 202 : EnrollmentNo exist, mypat password set, verified mypat mobile number not set, existing user\n // Code 210 : EnrollmentNo exist with password and verified mypat mobile number existing user\n\n // Total Steps present - \n // 1. Enrollment number enter - enNoEnter\n\n // Function to fetch the code so as the redirection of form can be done on main page\n fetchRedirection(params) {\n const newParams = {...params};\n if (newParams.registrationNo) {\n newParams.enrollmentno = newParams.registrationNo;\n localStorage.removeItem('enrollmentNumber');\n this.loginVia = 'registrationNumber';\n } else {\n this.loginVia = 'enrollmentNumber';\n localStorage.removeItem('registrationNumber');\n }\n newParams.source = 'Glorifire';\n delete newParams['registrationNo'];\n this.enteredEnrollmentNo = newParams.enrollmentno;\n this.http.get('checkEnrollNo', false, newParams, true, false, environment.serverURLv3).subscribe((res) => {\n if (res && res.data && res.data.userId) {\n const payloadProfile = {\n 'Site': {\n 'fiitjee enrolment number ': this.enteredEnrollmentNo\n }\n };\n ClevertapReact.profile(payloadProfile);\n localStorage.setItem('userIdcheckEn', res.data.userId);\n } else {\n localStorage.removeItem('userIdcheckEn');\n }\n switch (res.code) {\n case 200: {\n localStorage.setItem(\"eventEnrollmentNofirstTime\",\"Yes\");\n this.saveCode = res.code;\n this.stepsCompleted.push(res.code);\n this.redirectTo.next(res.code);\n break;\n }\n case 205: {\n localStorage.setItem(\"eventEnrollmentNofirstTime\",\"No\");\n this.saveCode = res.code;\n this.stepsCompleted.push(res.code);\n this.redirectTo.next(res.code);\n break;\n }\n case 201: {\n localStorage.setItem(\"eventEnrollmentNofirstTime\",\"No\");\n this.saveCode = res.code;\n this.userId = res.data.userId;\n this.stepsCompleted.push(res.code);\n this.redirectTo.next(res.code);\n break;\n }\n case 202: {\n localStorage.setItem(\"eventEnrollmentNofirstTime\",\"No\");\n this.saveCode = res.code;\n this.userId = res.data.userId;\n this.stepsCompleted.push(res.code);\n this.redirectTo.next(res.code);\n break;\n }\n case 210: {\n localStorage.setItem(\"eventEnrollmentNofirstTime\",\"No\");\n this.saveCode = res.code;\n this.stepsCompleted.push(res.code);\n this.userId = res.data.userId;\n this.redirectTo.next(res.code);\n break;\n }\n default: {\n this.alert.showErrorMessage(res['message']);\n }\n }\n });\n }\n\n\n // Manually Added codes for redirection of control and check which screen to be shown and also to keep the code in sync\n // 999 : load wac screen\n // 888 : load enter otp screen\n // 777 : load fiitjee login screen\n // 666 : load mypat login screen\n // 555 : forgot password screen\n // 444 : reset password screen\n\n changeTheSection(type) {\n switch (type) {\n case 'wac': {\n localStorage.setItem(\"eventEnrollmentNo\",\"Clicked WAC\");\n this.stepsCompleted.push('wac');\n this.redirectTo.next(999);\n break;\n }\n case 'otp': {\n localStorage.setItem(\"eventEnrollmentNo\",\"Clicked OTP\");\n this.stepsCompleted.push('otp');\n this.redirectTo.next(888);\n break;\n }\n case 'fiitjeelogin': {\n localStorage.setItem(\"eventEnrollmentNo\",\"Clicked FIITJEE Password\");\n this.stepsCompleted.push('fiitjeelogin');\n this.redirectTo.next(777);\n break;\n }\n case 'mypatlogin': {\n localStorage.setItem(\"eventEnrollmentNo\",\"Clicked myPAT Password\");\n this.stepsCompleted.push('mypatLogin');\n this.redirectTo.next(666);\n break;\n }\n case 'forgotPassword': {\n this.stepsCompleted.push('forgotPassword');\n this.redirectTo.next(555);\n break;\n }\n case 'resetPassword': {\n this.stepsCompleted.push('resetPassword');\n this.redirectTo.next(444);\n break;\n }\n }\n }\n\n\n fetchMobile(request: any, resendOtp: boolean, fromScreen: string = this.fromScreen): void {\n this.fromScreen = fromScreen;\n this.http.put('otpPartner', false, request, true, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n if (res.data.mobileMypat){\n this.mobileNumber.next(res.data.mobileMypat);\n this.mobilePresent = res.data.mobileMypat;\n if (res.data.userId){\n this.userId = res.data.userId;\n }\n }\n else if (res.data.mobile){\n this.mobileNumber.next(res.data.mobile);\n this.mobilePresent = res.data.mobile;\n if(res.data.userId){\n this.userId = res.data.userId;\n }\n }\n if (res.data.emailMypat) {\n this.userEmail = res.data.emailMypat;\n }\n if (res.data.countryCode) {\n this.mobileCountryCode = res.data.countryCode;\n }\n if (!resendOtp)\n this.changeTheSection('otp');\n }\n else {\n this.redirectTo.next(this.saveCode);\n this.stepsCompleted.pop();\n if (res?.data.hasOwnProperty('communicationVerified') && !res.data.communicationVerified) {\n this.alert.showErrorMessage(res?.data?.message);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n }\n });\n }\n\n callDownloadApp(payload) {\n return new Promise((resolve, reject) => {\n this.http.post('downloadApp', false, payload, true).subscribe((data) => {\n if (data && data['code'] === 200) {\n this.alert.showSuccessMessage(data['message']);\n resolve(data);\n } else {\n this.alert.showErrorMessage(data['message']);\n }\n },\n error => {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alert.showErrorMessage(error['message']);\n }\n );\n });\n }\n}\n","import * as AuthActionList from './auth.actions';\n\nexport interface State {\n token: string;\n authenticated: boolean;\n isSignedUp: boolean;\n isMobile: boolean;\n}\nconst intialState: State = {\n token: sessionStorage.getItem('authToken') ? sessionStorage.getItem('authToken') : localStorage.getItem('authToken'),\n authenticated: localStorage.getItem('authToken') || sessionStorage.getItem('authToken') ? true : false,\n isSignedUp: localStorage.getItem('authToken') || sessionStorage.getItem('authToken') ? true : false,\n isMobile: false,\n};\n\nexport function authReducer(state = intialState, action: AuthActionList.AuthActionList): State{\n switch (action.type) {\n\n case AuthActionList.SET_AUTHTENTICATION:\n return {\n ...state,\n authenticated: true\n };\n case AuthActionList.SIGNIN:\n return {\n ...state,\n authenticated: true\n };\n case AuthActionList.SIGNUP:\n return {\n ...state,\n isSignedUp: true\n };\n\n case AuthActionList.LOGOUT_SUCCESS:\n return {\n ...state,\n authenticated: false,\n token: ''\n };\n case AuthActionList.SET_TOKEN:\n return {\n ...state,\n token: action.payload\n };\n case AuthActionList.SET_DEVICE_USED:\n return {\n ...state,\n isMobile: action.payload === 'mobile' ? true : false\n };\n default:\n return state;\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, throwError, EMPTY } from 'rxjs';\nimport { catchError, map} from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../stores/app.reducers';\nimport * as LoaderAction from '../../stores/loader/loader.actions';\nimport { AlertService } from './alert.service';\nimport { LazyLoadingService } from './lazy-loading.service';\nimport { LazyLoadFileImpl } from '../shared.module';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DetectLocationService {\n\n public location = {\n latitude: 0,\n longitude: 0,\n };\n\n constructor(private lazyLoadingService:LazyLoadingService, private httpService: HttpClient, private store: Store, private alert: AlertService) {\n }\n\n getMyCurrentLocation(): void {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(position => {\n if (position.coords) {\n this.location.latitude = position.coords.latitude;\n this.location.longitude = position.coords.longitude;\n this.lazyLoadingService.lazyLoad([\n new LazyLoadFileImpl(\"https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzaSyCSnaItBR8MPsF5YeHbP8vJ9dqVW_1WHbA\",'script')\n ]).toPromise();\n }\n });\n }\n }\n\n handleError = (error: any): Observable => {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n try {\n return throwError(error);\n } catch (e) {\n return throwError(e);\n }\n }\n\n getLocation(): Observable {\n const lat = this.location.latitude;\n const lan = this.location.longitude;\n if (lat === 0 || lan === 0) {\n this.alert.showErrorMessage('Please allow location service');\n return EMPTY;\n } else {\n if (lat !== 0 || lan !== 0) {\n // this.store.dispatch(new LoaderAction.SetLoader(true));\n return this.httpService.get('https://maps.googleapis.com/maps/api/geocode/json?latlng=' + lat + ',' + lan + '&sensor=true&key=AIzaSyCSnaItBR8MPsF5YeHbP8vJ9dqVW_1WHbA').pipe(\n map((res: Response) => {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n return res;\n }),\n catchError(this.handleError)\n );\n } else {\n return EMPTY;\n }\n }\n }\n\n isFiitjeeDomain(): boolean {\n if (window.location.host.split('.')[0].includes('fiitjee')) {\n return true;\n }\n return false;\n }\n\n isSchoolDomain(): boolean {\n if (window.location.host.split('.')[0].includes('school')) {\n return true;\n }\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EbooksService {\n public handleDownloadEbookPopup = new BehaviorSubject(false);\n public selectedEbookLink: string = '';\n\n constructor(\n private _http: HttpClient\n ) { }\n\n fetchEbookMetaData() {\n return this._http.get(`/assets/metadata/ebooks.json`);\n }\n}\n","import { Action } from '@ngrx/store';\nimport { Proforma } from '../../models/proforma.model';\n\nexport const GET_PROFORMA_DETAIL = 'GET_PROFORMA_DETAIL';\nexport const UPDATE_PROFORMA_DETAIL = 'UPDATE_PROFORMA_DETAIL';\nexport const FAIL = 'FAIL';\nexport const STUDENT_PROFORMA_STATUS = 'STUDENT_PROFORMA_STATUS';\nexport const UPDATE_ENROLLMENT_DETAIL = 'UPDATE_ENROLLMENT_DETAIL'\nexport const UPDATE_PROFORMA_STATUS = 'UPDATE_PROFORMA_STATUS';\nexport const UPDATE_PROFORMA_QUESTIONS = 'UPDATE_PROFORMA_QUESTIONS'\nexport const UPDATE_PARENT_PROFORMA_STATUS = 'UPDATE_PARENT_PROFORMA_STATUS'\nexport const UPDATE_TEACHER_PROFORMA_STATUS = 'UPDATE_TEACHER_PROFORMA_STATUS'\nexport class GetProformaDetail implements Action {\n readonly type = GET_PROFORMA_DETAIL;\n constructor(public payload: { 'authToken': string, 'fromScreen': string, 'tag': string }) { }\n}\n\nexport class ProformaStatus implements Action {\n readonly type = UPDATE_PROFORMA_STATUS;\n constructor(public payload: any) { }\n}\n\nexport class UpdateParentProformaStatus implements Action {\n readonly type = UPDATE_PARENT_PROFORMA_STATUS;\n constructor(public payload: any) { }\n}\n\nexport class UpdateTeacherProformaStatus implements Action {\n readonly type = UPDATE_TEACHER_PROFORMA_STATUS;\n constructor(public payload: any) { }\n}\n\nexport class QuestionsResponses implements Action {\n readonly type = UPDATE_PROFORMA_QUESTIONS;\n constructor(public payload: any) { }\n}\nexport class UpdateProformaDetail implements Action {\n readonly type = UPDATE_PROFORMA_DETAIL;\n constructor(public payload: Proforma) { }\n}\n\nexport class UpadteEnrollmentNumbers implements Action {\n readonly type = UPDATE_ENROLLMENT_DETAIL;\n constructor(public payload: any) { }\n}\nexport class Fail implements Action {\n readonly type = FAIL;\n}\nexport class StudentProformaStatus implements Action {\n readonly type = STUDENT_PROFORMA_STATUS;\n constructor(public payload: Proforma) { }\n}\n\nexport type ProformaActionList = GetProformaDetail | UpdateProformaDetail | Fail | StudentProformaStatus | UpadteEnrollmentNumbers | ProformaStatus | QuestionsResponses | UpdateParentProformaStatus | UpdateTeacherProformaStatus;","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeYT'\n})\nexport class SafePipe implements PipeTransform {\n \n constructor(private _sanitizer: DomSanitizer){}\n \n transform(value: string) {\n return this._sanitizer.bypassSecurityTrustResourceUrl(value);\n }\n\n}\n","export enum CARD_ACTIONS {\n ADD_TO_CART = 'add_to_cart',\n BUY_NOW = 'buy_now',\n ADD_TO_ACCOUNT = 'add_to_account',\n ACTIVATE_NOW = 'activate_now',\n GO_TO_CART = 'go_to_cart'\n}\n\nexport enum SESSION_DROPDOWN {\n SESSION_23_24 = 'Session 2023-24',\n SESSION_21_22 = 'Session 2021-22',\n SESSION_19_20 = 'Session 2019-20'\n}\n\nexport enum CLASSES {\n CLASS_9 = '9th',\n CLASS_10 = '10th',\n CLASS_11 = '11th',\n CLASS_12 = '12th',\n CLASS_12_PASS = '12th Pass'\n}\n\nexport enum GOALS {\n JEE_A = 'JEE(A)',\n JEE_M = 'JEE(M)',\n NTSE = 'NTSE & Fundamentals of Engineering and Medical',\n BITSAT = 'BITSAT'\n}\n\nexport enum PACKAGE_CTA_TITLE {\n ADD_TO_CART = 'Add to Cart',\n GO_TO_CART = 'Go to Cart'\n}\n\nexport enum LOCATION_INFO {\n ADMIN_LEVEL_1 = 'administrative_area_level_1'\n}\n\nexport enum TEST_SERIES_TYPES {\n EXTRA = 'extra',\n WINDOW = 'window',\n MILESTONE = 'milestone',\n REVISION = 'revision'\n}\n\nexport enum TEST_STATUS {\n PAST = 'Past',\n UPCOMING = 'Upcoming',\n LIVE = 'Live',\n CLASS = 'class'\n}","
\n \n
\n
\n Notification\n
\n
    \n
  • \n No notifications to show\n
  • \n 0 && !loader\">\n
  • \n \n -1; else elseBlock\" class=\"lefticon\">\n \"\"\n \n \n \n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \n \n \n \n \n \n \n \n \n \"Delete\n \n \n \n \n

    \n

    \n \n {{notification.timePassed}}\n \n \n \n
    \n
  • \n
    \n \n
\n \n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NotificationService } from '../../../services/notification.service';\nimport { Router } from '@angular/router';\nimport { AlertService} from '../../../services/alert.service';\nimport { HomeService } from 'src/app/home-page/services/home.service';\nimport { Location } from '@angular/common';\ninterface ResponseRecieved {\n data: any;\n count: number;\n code: number;\n}\n\n@Component({\n selector: 'app-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss', '../header-after-login.component.scss']\n})\nexport class NotificationComponent implements OnInit {\n @Input() userData: any;\n public countToDisplay = 0;\n public notificationsCurrentPage = 1;\n public notificationList: any = [];\n public totalNotificationsLoaded = 0;\n public totalNotificationsCount = 0;\n public showChallengePopUP = false;\n public dataToPass: any;\n public loader = false;\n public noData: boolean = true;\n public newNotificationsActions=[ 'openTestDetails','openWeaknessesTabUnderSWOTBoard','openOpportunitiesTabUnderSWOTBoard','openCurrentPhaseInMyPlan','openCurrentWeekOfMyPlan','openMyPATHome','help','help-issue','help-suggestion','help-idea'];\n constructor(private notification: NotificationService, private router: Router, private alert: AlertService,private homePageService:HomeService,private location: Location) { }\n\n ngOnInit(): void {\n this.getNotificationCount();\n }\n ngOnChanges() {\n this.alert.notificationCountUpdate.subscribe((res) => {\n if (res !== 0) {\n this.getNotificationCount();\n }\n })\n }\n\n getNotificationCount(): void {\n this.notification.getNotificationNumber().then((res: ResponseRecieved) => {\n this.countToDisplay = res.data;\n });\n }\n\n fetchAllNotification(): void {\n this.loader = true;\n this.getNotificationViaPagination();\n }\n\n getNotificationViaPagination(): void {\n this.notificationList = [];\n this.notification.getAllNotificationFunc(this.notificationsCurrentPage).then((res: ResponseRecieved) => {\n if (res && res.code === 200 && res.data && res.data.data && res.data.data.length) {\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < res.data.data.length; i++) {\n this.notificationList.push(res.data.data[i]);\n }\n if (this.notificationsCurrentPage === 1) {\n this.totalNotificationsCount = res.count;\n }\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < this.notificationList.length; i++) {\n let timeDiff = new Date().getTime() - new Date(this.notificationList[i].createdAt).getTime();\n timeDiff = timeDiff / 1000\n this.notificationList[i].timePassed = this.timeSince(timeDiff);\n }\n if (this.notificationList.length === 0) {\n this.noData = true;\n } else {\n this.noData = false;\n }\n }\n this.loader = false;\n });\n\n this.getNotificationCount();\n\n }\n\n setNotification(notification): void {\n this.notification.setNotificationToRead(notification._id).then(res => {\n if (res) {\n this.notificationAction(notification);\n }\n });\n }\n\n notificationAction(notification): void {\n if (notification.action === 'community-question-vote' || notification.action === 'community-answer'\n || notification.action === '\"community-answer-vote') {\n const quesData = notification.body.split(': ');\n const name = quesData[1];\n var title = '';\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < name.length; i++) {\n const val = name[i];\n if ((val >= 'A' && val <= 'Z') || (val >= 'a' && val <= 'z') || val == ' ') {\n title = title + val;\n }\n }\n if (title.length > 100) {\n title = title.slice(0, 99);\n }\n if (title === '') {\n title = '000000000000000000000';\n }\n\n title = title.replace(/\\//g, '');\n title = title.replace(/[!@#$%^&*?+-.;,><`=]/g, '-');\n title = title.replace('/-+/', '-');\n title = title.replace(/ /g, '-');\n title = title.replace(/\\-\\-+/g, '-');\n title = title.toLowerCase().substr(0, 99);\n title = title.replace(/^\\s+/g, '');\n }\n if(notification.action==='openCurrentPhaseInMyPlan'|| notification.action==='openCurrentWeekOfMyPlan'){\n this.alert.updateWorkingOnHomePage.next({update: 'openMyPlan'});;\n }else{\n switch (notification.action) {\n case 'purchaseCongratulations': {\n localStorage.setItem('lastRequested','home/myTests');\n window.location.href = 'home/myTests';\n break;\n }\n\n case 'challengee-notification': {\n this.dataToPass = notification;\n this.showChallengePopUP = true;\n break;\n }\n\n case 'welcome': {\n this.showChallengePopUP = false;\n this.alert.updateWorkingHomePage.next({ update: 'openHome' });\n this.router.navigateByUrl('home');\n break;\n }\n \n case 'community-question-vote': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n\n case 'community-answer': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n\n case 'community-answer-vote': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n case 'community-mark-best-answer': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n\n case 'challenger-notification': {\n this.dataToPass = notification;\n this.showChallengePopUP = true;\n break;\n }\n\n case 'questionDeleted': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/view/my-questions/ask-by-me');\n break;\n }\n\n case 'questionApproved': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n\n case 'answerDeleted': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n\n case 'userBlockedForQuestion': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/view/my-questions/ask-by-me');\n break;\n }\n\n case 'userBlockedForAnswer': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/view/my-answers');\n break;\n }\n\n case 'answerApproved': {\n this.showChallengePopUP = false;\n this.router.navigateByUrl('/community/question-detail/' + title + '?qId=' + notification.data.questionId);\n break;\n }\n case 'resultRegeneration':\n case 'resultGenerated': {\n this.showChallengePopUP = false;\n this.router.navigate(['/test-results/' + notification.data.testId + '/' + notification.data.attemptId + '/' +\n notification.data.testType + '/overview']);\n break;\n }\n case 'openCalendar': {\n if(this.router.url != \"home\"){\n localStorage.setItem('lastRequested','/home/myTests');\n window.location.href = '/home/myTests';\n }\n this.alert.updateWorkingOnHomePage.next({update: 'openMyPlanCalender'});\n break;\n }\n case 'openTestDetails': {\n const {assignmentId,courseId,packageId,id}=notification.data;\n if(assignmentId){\n this.router.navigate(['test-details/course/'+courseId+'/assignment/'+assignmentId+'/test/'+id+'/']);\n }else{\n this.router.navigate(['test-details/course/'+courseId+'/test/'+id+ (packageId?'/package/'+packageId+'/':'')]); \n }\n break; \n }\n case 'openWeaknessesTabUnderSWOTBoard': {\n let {courseId,subjectId=\"\",subject=\"All Subjects\"}=notification.data;\n let typename = notification.action.includes('Weakness')?'weakness':'';\n this.alert.updateWorkingOnHomePage.next({update: 'openSwotPage'});\n this.alert.swotType.next(typename) \n this.location.replaceState('/home/swot?cid=' + courseId + '&sid=' +subjectId + '&sname=' +subject);\n break;\n }\n case 'openOpportunitiesTabUnderSWOTBoard': {\n let {courseId,subjectId=\"\",subject=\"All Subjects\"}=notification.data;\n this.alert.updateWorkingOnHomePage.next({update: 'openSwotPage'});\n this.alert.swotType.next('Opportunity')\n this.location.replaceState('/home/swot?cid=' + courseId + '&sid=' +subjectId + '&sname=' +subject);\n break;\n }\n case 'help-idea':{\n this.alert.issueId.next(notification.data?.ticketId);\n this.router.navigate(['/idea'],{\n queryParams: {\n tid: notification.data?.ticketId\n }\n });\n break;\n }\n case 'help-suggestion':{\n this.alert.issueId.next(notification.data?.ticketId);\n this.router.navigate(['/idea'],{\n queryParams: {\n tid: notification.data?.ticketId\n }\n });\n break;\n }\n case 'help-issue': {\n this.alert.helpId.next(notification.data?.ticketId);\n this.router.navigate(['/help'],{\n queryParams: {\n tid: notification.data?.ticketId\n }\n });\n break;\n }\n }\n } \n this.getNotificationCount();\n }\n\n getAnswerIcoCondition(notification): any {\n return (notification.action === 'community-answer' || notification.action === 'community-mark-best-answer'\n || notification.action === 'questionDeleted' || notification.action === 'questionApproved'\n || notification.action === 'answerDeleted' || notification.action === 'userBlockedForQuestion'\n || notification.action === 'userBlockedForAnswer' || notification.action === 'answerApproved'\n || notification.action === 'userUnblocked'|| notification.action === 'openOpportunitiesTabUnderSWOTBoard'||notification.action === 'openWeaknessesTabUnderSWOTBoard'\n ||notification.action === 'openCurrentPhaseInMyPlan'||notification.action === 'openCurrentWeekOfMyPlan'\n );\n }\n\n markAllNotificationRead(): void {\n const notificationIds = this.notificationList.filter(notif => !notif.isViewed).map(notif => notif._id);\n this.notification.markAllNotificationRead(notificationIds).then(res => {\n if (res) {\n this.countToDisplay = 0;\n this.notificationList.forEach((notif, i) => {\n if (!notif.isViewed) {\n this.notificationList[i].isViewed = true;\n }\n });\n }\n });\n }\n\n onScroll(): void {\n if (this.notificationList.length < this.totalNotificationsCount) {\n this.notificationsCurrentPage++;\n this.fetchAllNotification();\n }\n }\n ngOnDestroy(): void {\n this.alert.updateWorkingOnHomePage.next({});\n }\n getIconImage(notification):String{\n let src=\"/assets/images/notification/notif_random.png\";\n switch(notification.type){\n case'home':{\n src='/assets/images/notification/new/mypat.svg';\n break;\n }\n case'goalsetting':{\n src='/assets/images/notification/new/goalSetting.svg';\n break;\n }\n case'swot':{\n if(notification.action==='openWeaknessesTabUnderSWOTBoard'){\n src=\"/assets/images/notification/new/weekness.svg\";\n }\n else{\n src='/assets/images/notification/new/opportunity.svg';\n }\n break; \n }\n case'pendingTopics':{\n src='/assets/images/notification/new/pending-topics.svg';\n break;\n }\n case'lowProficiency':{\n src='/assets/images/notification/new/proficiency.svg';\n break;\n }\n case'phaseStart':{\n src='/assets/images/notification/new/phasestart.svg';\n break;\n }\n case'testAssigned':{\n src='/assets/images/notification/new/test-assigned.svg';\n break;\n }\n case'testReminder':{\n src='/assets/images/notification/new/test-live.svg';\n break;\n }\n case 'custom': {\n src='/assets/images/notification/new/custom-notification.png';\n break;\n }\n case 'issue-open': {\n src='/assets/images/notification/issuePendingIcon.svg';\n break;\n }\n case 'issue-ongoing': {\n src='/assets/images/notification/issueOngoingIcon.svg';\n break;\n }\n case 'issue-comment': {\n src='/assets/images/notification/commentSupportTeam-icon.svg';\n break;\n }\n case 'issue-resolved': {\n src='/assets/images/notification/issueResolvedIcon.svg';\n break;\n }\n case 'issue-closed': {\n src='/assets/images/notification/issueClosedIcon.svg';\n break;\n }\n case 'suggestion-closed': {\n src='/assets/images/notification/idea-suggestion-closedIcon.svg';\n break;\n }\n case 'idea-closed': {\n src='/assets/images/notification/idea-suggestion-closedIcon.svg';\n break;\n }\n case 'issue-reopened': {\n src='/assets/images/notification/issueReopenedIcon.svg';\n break;\n }\n case 'idea-submitted':{\n src='/assets/images/notification/ideaSubmitIcon.svg';\n break;\n }\n case 'idea-accepted':{\n src='/assets/images/notification/ideaAcceptedIcon.svg';\n break;\n }\n case 'idea-ongoing':{\n src='/assets/images/notification/ideaOngoingIcon.svg';\n break;\n }\n case 'idea-completed':{\n src='/assets/images/notification/ideaCompletedIcon.svg';\n break;\n }\n case 'suggestion-submitted':{\n src='/assets/images/notification/ideaSubmitIcon.svg';\n break;\n }\n case 'suggestion-accepted':{\n src='/assets/images/notification/ideaAcceptedIcon.svg';\n break;\n }\n case 'suggestion-ongoing':{\n src='/assets/images/notification/ideaOngoingIcon.svg';\n break;\n }\n case 'suggestion-completed':{\n src='/assets/images/notification/ideaCompletedIcon.svg';\n break;\n }\n default:{\n src=\"/assets/images/notification/notif_random.png\";\n }\n }\n return src;\n }\n\n\n timeSince(timeDiff){\n if (timeDiff < 60) { // 1 min\n return 'Just Now'\n } else if (timeDiff < 120) { // 2min\n return '1 minute ago';\n } else if (timeDiff < 60 * 60) { // 60 min\n return `${Math.ceil(timeDiff / 60)} minutes ago`;\n } else if (timeDiff < 60 * 60 * 24) { // 24 hour\n return `${Math.ceil(timeDiff / (60 * 60))} hours ago`;\n } else if (timeDiff < 60 * 60 * 24 * 2) { // 48 hour\n return \"1 day Ago\";\n } else if (timeDiff < 60 * 60 * 24 * 30) { // 1 month\n return `${Math.ceil(timeDiff / (60 * 60 * 24))} days ago`;\n } else if (timeDiff < 60 * 60 * 24 * 30 * 2) { // 2 month\n return \"1 month ago\";\n } else if (timeDiff < 60 * 60 * 24 * 365) {\n return `${Math.ceil(timeDiff / (2629746))} months ago`; // 2,629,746\n } else {\n return 'More than an year ago';\n }\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IAngularMyDpOptions, IMyDate, IMyDateModel } from 'angular-mydatepicker';\n\n@Component({\n selector: 'app-date-filter',\n templateUrl: './date-filter.component.html',\n styleUrls: ['./date-filter.component.scss']\n})\nexport class DateFilterComponent implements OnInit {\n\n @Input() filter;\n @Input() showValue;\n @Output() dateInfo = new EventEmitter();\n\n todayDate = new Date();\n fromDateValue: IMyDateModel = undefined;\n toDateValue: IMyDateModel = undefined;\n dateInit: IMyDate = {\n day: 0,\n month: 0,\n year: 0\n }\n fromDateEntered = false;\n toDateEntered = false;\n displayErrorMsg = false;\n public myDatePickerOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd/mm/yyyy',\n disableSince: {...this.dateInit}\n };\n\n public myDatePickerEndDateOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd/mm/yyyy',\n disableSince: {...this.dateInit},\n disableUntil: {...this.dateInit},\n };\n\n constructor(\n private datePipe:DatePipe\n ) { }\n\n ngOnInit(): void {\n this.filter.values.forEach(value => {\n if (!value.hasOwnProperty('singleDate')) {\n if (value.value) {\n const dateString = value.value.split('T').join(' ').split('.')[0] + ' +0530';\n const dateValue = new Date(dateString);\n value['singleDate'] = {\n date: {\n year: dateValue.getFullYear(),\n month: dateValue.getMonth() + 1,\n day: dateValue.getDate()\n },\n formatted: this.datePipe.transform(dateValue,'dd/MM/yyyy'),\n epoc: dateValue.getTime(),\n jsDate: dateValue\n };\n }\n }\n });\n if (this.filter.values.find((obj) => obj.singleDate) !== undefined) {\n const date = new Date(this.filter.values[0].value);\n this.fromDateValue = {\n isRange: false,\n dateRange: null,\n singleDate: {\n date: {\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate()\n },\n formatted: this.datePipe.transform(date,'DD/MM/YYYY'),\n epoc: date.getTime(),\n jsDate: date\n }\n };\n this.toDateValue = {\n isRange: false,\n dateRange: null,\n singleDate: this.filter.values[1].singleDate\n };\n }\n }\n\n ngOnChanges() {\n if (this.showValue) {\n setTimeout(() => {\n this.fromDateValue = undefined;\n this.fromDateEntered = false;\n }, 10);\n this.toDateValue = undefined;\n this.toDateEntered = false;\n this.displayErrorMsg = false;\n this.resetDisabledDates();\n }\n }\n\n resetDisabledDates() {\n this.myDatePickerOptions.disableSince.day = 0;\n this.myDatePickerOptions.disableSince.month = 0;\n this.myDatePickerOptions.disableSince.year = 0;\n }\n\n onDateChanged(dateValue: IMyDateModel, type) {\n switch (type) {\n case 'from':\n this.fromDateValue = dateValue;\n break;\n case 'to':\n this.toDateValue = dateValue;\n }\n\n if ((this.fromDateValue === null || this.toDateValue === null)) {\n this.displayErrorMsg = true;\n } else {\n this.displayErrorMsg = false;\n }\n \n const today = dateValue.singleDate.jsDate;\n const yesterday = new Date(today);\n yesterday.setDate(today.getDate() - 1);\n const dt =\n yesterday.getFullYear() +\n '-' +\n (yesterday.getMonth() < 10\n ? '0' + yesterday.getMonth()\n : yesterday.getMonth()) +\n '-' +\n (yesterday.getDate() < 10\n ? '0' + yesterday.getDate()\n : yesterday.getDate());\n if (type === 'from') {\n const disablefromDate = dt.split('-');\n this.myDatePickerEndDateOptions.disableUntil.day = parseInt(disablefromDate[2]);\n this.myDatePickerEndDateOptions.disableUntil.month = parseInt(disablefromDate[1]) + 1;\n this.myDatePickerEndDateOptions.disableUntil.year = parseInt(disablefromDate[0]);\n } else {\n const disablefromDate = dt.split('-');\n this.myDatePickerOptions.disableSince.day = parseInt(disablefromDate[2]) + 2;\n this.myDatePickerOptions.disableSince.month = parseInt(disablefromDate[1]) + 1;\n this.myDatePickerOptions.disableSince.year = parseInt(disablefromDate[0]);\n }\n\n if (this.fromDateValue && this.toDateValue && this.fromDateValue.singleDate.jsDate <= this.toDateValue.singleDate.jsDate) {\n let dateTemp = new Date(this.fromDateValue.singleDate.jsDate)\n dateTemp.setDate(dateTemp.getDate()-1)\n this.filter.values[0].value = this.datePipe.transform(dateTemp,'yyyy-MM-dd') + 'T18:30:00.000Z';\n this.filter.values[1].value = this.datePipe.transform(this.toDateValue.singleDate.jsDate,'yyyy-MM-dd') + 'T18:29:59.000Z';\n this.filter.values[0].isSelected = true;\n this.filter.values[1].isSelected = true;\n }\n this.dateInfo.emit(this.filter);\n }\n\n compareDates() {\n if (this.fromDateValue && this.toDateValue) {\n if (this.fromDateValue.singleDate.jsDate > this.toDateValue.singleDate.jsDate) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n\n onkeyUp(event) {\n const fromDateStr = (document.getElementById('dateFrom') as HTMLInputElement).value;\n const toDateStr = (document.getElementById('dateTo') as HTMLInputElement).value;\n\n if (fromDateStr === ''){\n this.fromDateValue = undefined;\n this.myDatePickerEndDateOptions.disableSince.day = 0;\n this.myDatePickerEndDateOptions.disableSince.month = 0;\n this.myDatePickerEndDateOptions.disableSince.year = 0;\n this.myDatePickerEndDateOptions.disableUntil.day = 0;\n this.myDatePickerEndDateOptions.disableUntil.month = 0;\n this.myDatePickerEndDateOptions.disableUntil.year = 0;\n }\n if (toDateStr === ''){\n this.toDateValue = undefined;\n this.resetDisabledDates();\n }\n \n if ((this.fromDateValue == null || this.toDateValue == null) && !(fromDateStr === '' || toDateStr === '')) {\n this.displayErrorMsg = true;\n } else {\n this.displayErrorMsg = false;\n }\n \n if (this.fromDateValue){\n let dateTemp = new Date(this.fromDateValue?.singleDate.jsDate)\n dateTemp.setDate(dateTemp.getDate()-1)\n\n this.filter.values[0].value = this.datePipe.transform(dateTemp,'yyyy-MM-dd') + 'T18:30:00.000Z';\n this.filter.values[0].isSelected = true;\n } else {\n this.filter.values[0].isSelected = false;\n }\n if (this.toDateValue){\n this.filter.values[1].value = this.datePipe.transform(this.toDateValue?.singleDate.jsDate,'yyyy-MM-dd') + 'T18:29:59.000Z';\n this.filter.values[1].isSelected = true;\n } else {\n this.filter.values[1].isSelected = false;\n }\n this.dateInfo.emit(this.filter);\n }\n\n onKeyPress(event){\n const charCode = (event.which) ? event.which : event.keyCode;\n // Only Numbers 0-9 & '/'\n if (charCode < 47 || charCode > 57) {\n event.preventDefault();\n return false;\n } else {\n return true;\n }\n }\n}\n","
\n
\n \n \n \n \n
\n
to
\n
\n \n \n \n \n
\n
\n

\n Please enter a valid date range\n

\n

\n Please enter the end date\n

\n

\n Please enter the start date\n

\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-api-failed-for-cards',\n templateUrl: './api-failed-for-cards.component.html',\n styleUrls: ['./api-failed-for-cards.component.scss']\n})\nexport class ApiFailedForCardsComponent implements OnInit {\n\n @Output() reloadApiError = new EventEmitter();\n constructor() { }\n\n ngOnInit(): void {\n }\n\n reloadState(): void {\n this.reloadApiError.emit();\n }\n\n}\n","
\n \n There seems to be a problem!\n

Looks like there’s an issue on our
side. Please try reloading once

\n \n
","const EXAM_TYPE = {\n IIT_JEE: 'iit-jee',\n NTSE: 'ntse',\n BOARDS: 'boards'\n}\nconst EXAM_DATA = {\n 'iit-jee' : {\n EXAM: 'JEE Main & Advanced',\n STUNDENT_COUNT: '9032 myPATians',\n STUDENT_QUALIFIED: 'Above 90%ile (JEE Main 19)',\n QUESTIONS_SOLVED: '6.5 Million',\n ASPIRANTS_REGISTERED: '200000',\n },\n ntse : {\n EXAM: 'NTSE',\n STUNDENT_COUNT: '926 Students Qualified',\n STUDENT_QUALIFIED: 'Qualified NTSE Stage 1',\n QUESTIONS_SOLVED: '6.5 Million',\n ASPIRANTS_REGISTERED: '200000',\n },\n boards : {\n QUESTIONS_SOLVED: '6.5 Million',\n ASPIRANTS_REGISTERED: '200000',\n }\n}\n\nexport {EXAM_TYPE, EXAM_DATA };","import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, EventEmitter, Inject, OnDestroy, Output } from '@angular/core';\n\n@Directive({\n selector: '[onSectionVisibility]'\n})\nexport class DetectVisibilityDirective implements OnDestroy {\n observer:IntersectionObserver;\n isLoaded:boolean = false;\n @Output() onSectionVisibility = new EventEmitter();\n constructor(@Inject(DOCUMENT) private readonly document:Document, private elRef: ElementRef) {\n const options = {\n // root: this.document,\n rootMargin: '0px',\n threshold: 1.0\n }\n const intersectionCallback = (entries: IntersectionObserverEntry[]) => {\n entries?.every(entry => {\n if(entry.isIntersecting && !this.isLoaded){\n this.isLoaded = true;\n this.onSectionVisibility.emit(true);\n return false;\n }\n return true;\n })\n };\n this.observer = new IntersectionObserver(intersectionCallback, options);\n const target = this.elRef?.nativeElement;\n target && this.observer?.observe(target);\n }\n ngOnDestroy(): void {\n this.observer?.disconnect?.();\n }\n}","import * as ProformaActionList from './proforma.actions';\nimport { Proforma } from '../../models/proforma.model';\n\nexport interface State {\n data: Proforma;\n}\n\n\nconst intialState: State = {\n data: new Proforma()\n};\n\nexport function proformaReducer(\n state = intialState,\n action: ProformaActionList.ProformaActionList\n): State {\n switch (action.type) {\n case ProformaActionList.UPDATE_PROFORMA_DETAIL:\n return {\n ...state,\n data: action.payload\n };\n case ProformaActionList.STUDENT_PROFORMA_STATUS:\n return {\n ...state,\n data: action.payload\n };\n case ProformaActionList.UPDATE_PROFORMA_STATUS:\n let payloadData = { ...state.data };\n\n if (action.payload['studentStatus']) {\n payloadData.student = {\n status: action.payload['studentStatus']\n };\n }\n\n if (action.payload['teacherStatus']) {\n payloadData.teacher = {\n ...state.data.teacher,\n status: action.payload['teacherStatus']\n };\n }\n if (action.payload['parentStatus']) {\n payloadData.parent = {\n ...state.data.parent,\n status: action.payload['parentStatus']\n };\n }\n return {\n ...state,\n data: payloadData\n };\n case ProformaActionList.UPDATE_PROFORMA_QUESTIONS:\n let questionPayload= {...state.data}\n questionPayload.questions = action.payload['questions']\n questionPayload.questionsStatus = action.payload['status']\n return {\n ...state,\n data: questionPayload\n }\n case ProformaActionList.UPDATE_PARENT_PROFORMA_STATUS:\n let parentPayload = { ...state.data }\n parentPayload.parent.status = action.payload['status'];\n parentPayload.parent.email = action.payload['email'];\n return {\n ...state,\n data: parentPayload\n }\n case ProformaActionList.UPDATE_TEACHER_PROFORMA_STATUS:\n let teacherPayload = { ...state.data }\n teacherPayload.teacher.status = action.payload['status'];\n teacherPayload.teacher.mobile = action.payload['mobile'];\n teacherPayload.teacher.email = action.payload['email'];\n return {\n ...state,\n data: teacherPayload\n }\n default:\n return {\n ...state\n };\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { HelpService } from 'src/app/help-and-support/services/help.service';\nimport * as fromApp from '../../../stores/app.reducers';\nimport * as LoaderAction from '../../../stores/loader/loader.actions';\nimport { HttpService } from '../../../shared/services/http.service';\nimport { AlertService } from '../../services/alert.service';\nimport { HomeService } from 'src/app/home-page/services/home.service';\n\ndeclare var $: any;\nvar w = (window.innerWidth);\n@Component({\n selector: 'app-report-an-issue-idea',\n templateUrl: './report-an-issue-idea.component.html',\n styleUrls: ['./report-an-issue-idea.component.scss']\n})\nexport class ReportAnIssueIdeaComponent implements OnInit {\n @Output() discardComplete = new EventEmitter();\n reqObj = {\n type: 'idea',\n categories: [],\n description: '',\n attachments: []\n };\n disableSubmit = false;\n errorAndSuccess = false;\n uploadingFile: boolean = false;\n selectedProblemTypeId: any;\n public dataToPassForUserCards: any;\n public issueType = {categories: []};\n public defaultSuggestionType: string = 'Idea Type';\n public prevItem = 'idea';\n public generalCheckBox: boolean = false;\n public showSelectMenu: boolean = false;\n public isLoading: boolean = false;\n public selectedType: any;\n public disabledCrossIcon: boolean = false;\n public isMobile: boolean = false;\n public isTab: boolean = false;\n public fileAdded: boolean = false;\n descriptionError : boolean = false;\n @Output() onClosePopUp = new EventEmitter();\n @Output() onSubmitSuccess = new EventEmitter();\n @Output() reportAnIdeaUpdate = new EventEmitter();\n constructor(private helpServices: HelpService, private http: HttpClient,\n private store: Store, private homePageService: HomeService,\n private httpService: HttpService, private alert: AlertService) {\n let regexForTab = new RegExp('Chrome\\/[.0-9]* (?!Mobile)');\n let regexForMobile = new RegExp('Chrome/[.0-9]* Mobile');\n if (navigator.userAgent.includes('Android')) {\n if (regexForTab.test(navigator.userAgent)) {\n this.isMobile = false;\n this.isTab = true;\n } else if (regexForMobile.test(navigator.userAgent)) {\n this.isMobile = true;\n this.isTab = false;\n }\n } else if (navigator.userAgent.includes('iPhone')) {\n this.isMobile = true;\n this.isTab = false;\n } else if (navigator.userAgent.includes('iPad')) {\n this.isMobile = false;\n this.isTab = true;\n } else {\n this.isMobile = false;\n this.isTab = false;\n }\n }\n\n ngOnInit(): void {\n $('#reportIssueidea').modal({\n backdrop: 'static',\n keyboard: false\n })\n //multiple checkbox\n $(document).ready(function(){\n $(document).on('click', '.allow-focus', function (e) {\n e.stopPropagation();\n });\n });\n this.helpServices.helpIssueType().then((res) => {\n this.issueType = res.idea;\n });\n }\n\n onChangeProblem(event: any, item: any) {\n event.stopPropagation();\n if (event.target.type !== 'checkbox'){\n event.preventDefault();\n }\n \n const index = this.reqObj.categories.findIndex((cat) => cat.name === item.name);\n item.ischecked = !item.ischecked;\n if (index >= 0){\n this.reqObj.categories.splice(index, 1);\n }else{\n this.reqObj.categories.push(item);\n }\n if (this.reqObj.categories.length === 0){\n // this.disableSubmit = true;\n }\n }\n onChangeSubCategory(event, item, subItem){\n event.stopPropagation();\n if (event.target.type !== 'checkbox'){\n event.preventDefault();\n }\n this.disableSubmit = false;\n subItem.ischecked = !subItem.ischecked;\n let changeItem = this.reqObj.categories.find((cat) => cat.name === item.name);\n if (changeItem){\n changeItem = {...changeItem};\n let changeSubItem = changeItem.subCategories.find((subCat) => subCat.name === subItem.name);\n if (changeSubItem){\n changeSubItem = {...changeSubItem};\n changeItem.subCategories = changeItem.subCategories.filter((subCat) => subCat.name != subItem.name);\n }else{\n changeItem.subCategories.push(subItem);\n }\n if (changeItem.subCategories.length === 0){\n this.reqObj.categories = this.reqObj.categories.filter((c) => c.name !== item.name);\n }else{\n const index = this.reqObj.categories.findIndex((cat) => cat.name === item.name);\n this.reqObj.categories[index] = changeItem;\n }\n }else{\n const newItem = {...item};\n const newSubItem = {...subItem};\n newItem.subCategories = [newSubItem];\n this.reqObj.categories.push(newItem);\n }\n // if (this.reqObj.categories.length === 0){\n // this.disableSubmit = true;\n // }\n }\n handleGeneralCatergory(event){\n event.stopPropagation();\n if (event.target.type !== 'checkbox'){\n event.preventDefault();\n }\n this.generalCheckBox = event.currentTarget.checked;\n const item = this.issueType.categories[0];\n if (!this.generalCheckBox){\n this.issueType.categories[0].ischecked = false;\n this.reqObj.categories = this.reqObj.categories.filter((cat) => cat.name !== item.name);\n }else{\n this.issueType.categories[0].ischecked = true;\n item.ischecked = true;\n this.reqObj.categories.push(item);\n }\n this.getCategoriesName();\n // if (this.reqObj.categories.length === 0){\n // this.disableSubmit = true;\n // }\n }\n onTypeChange(item: string){\n this.errorTextProblem = false;\n this.reqObj.type = item;\n if(this.prevItem !== item){\n if (item === 'idea'){\n this.defaultSuggestionType = 'Idea Type';\n this.helpServices.helpIssueType().then((res) => {\n this.issueType = res.idea;\n });\n }else{\n this.defaultSuggestionType = 'Suggestion Type';\n this.helpServices.helpIssueType().then((res) => {\n this.issueType = res.suggestion;\n });\n }\n this.prevItem=item\n this.reqObj.description = '';\n this.descriptionLength = 0;\n this.reqObj.categories = [];\n }\n }\n\n mydata = [];\n fileSizeError = false;\n fileTypeAccept = false;\n\n onimageClick(){\n $('#files')[0].value = null; \n }\n\n onSelectFile(event) {\n this.fileSizeError = false;\n this.fileTypeAccept = false;\n const files = event.target.files;\n\n var ext = $('#files').val().split('.').pop().toLowerCase();\n if (ext !== 'jpg' && ext !== 'jpeg' && ext !== 'png' && ext !== 'mp4' && ext !== 'mov' && ext !== 'hevc') {\n this.fileTypeAccept = true;\n this.fileAdded = false;\n return false;\n }\n\n if (files) {\n for (const file of files) {\n const reader = new FileReader();\n let fileType = (Math.floor(Math.log(file.size) / Math.log(1024)));\n let actualSize = Math.round(file.size / Math.pow(1024, fileType));\n const fileName = file.name.split(' ').join('');\n reader.onload = (e: any) => {\n if (file.type.indexOf('image') > -1) {\n if (fileType === 2 && actualSize >= 100) {\n this.fileSizeError = true;\n this.fileAdded = false;\n return;\n }\n const index = this.mydata.findIndex((obj) => obj.file.name == file.name)\n if (index == -1) {\n this.fileAdded = false;\n this.mydata.push({\n url: e.target.result,\n type: 'image',\n name: fileName,\n file: file,\n });\n } else {\n this.fileAdded = true;\n this.fileSizeError = false;\n }\n // this.getPreSignedUrl();\n } else if (file.type.indexOf('video') > -1) {\n if (fileType === 2 && actualSize >= 100) {\n this.fileSizeError = true;\n this.fileAdded = false;\n return;\n }\n const index = this.mydata.findIndex((obj) => obj.file.name == file.name)\n if (index == -1) {\n this.fileAdded = false;\n this.mydata.push({\n url: e.target.result,\n type: 'video',\n name: fileName,\n file: file\n });\n } else {\n this.fileAdded = true;\n this.fileSizeError = false;\n }\n }\n };\n reader.readAsDataURL(file);\n }\n }\n }\n\n closeThumb(index) {\n this.fileAdded = false;\n this.mydata.splice(index, 1);\n }\n\n // get permission from s3 to upload image\n getPreSignedUrl(obj): void {\n const apiUrl = 'v4/auth/upload-signed-url?location=ideasAndSuggestions';\n this.httpService.get(apiUrl, true, { key: obj.name }, false).subscribe(\n (res) => {\n if (res && res.code === 200) {\n if (res.data.url && res.data.fields) {\n obj.photoUrlCopy = res.data.url + '/' + res.data.fields.key;\n this.uploadYourFileOnS3(res.data, obj);\n }\n }\n }, (error) => {\n this.currentUploadIndex++;\n obj.status = 'Failed';\n this.uploadFiles();\n });\n }\n\n // upload image after permision\n uploadYourFileOnS3(data, obj): void {\n const formData: FormData = new FormData();\n formData.append('key', data.fields.key);\n formData.append('bucket', data.fields.bucket);\n formData.append('acl', 'public-read');\n formData.append('X-Amz-Algorithm', data.fields['X-Amz-Algorithm']);\n formData.append('X-Amz-Credential', data.fields['X-Amz-Credential']);\n formData.append('X-Amz-Date', data.fields['X-Amz-Date']);\n formData.append('Policy', data.fields['Policy']);\n formData.append('X-Amz-Signature', data.fields['X-Amz-Signature']);\n formData.append('file', obj.file, obj.name);\n\n const options = {\n headers: new HttpHeaders({\n Accept: 'application/json'\n })\n };\n this.http.post(data.url, formData, options).subscribe((res) => {\n this.currentUploadIndex++;\n obj.status = 'Uploaded';\n this.uploadFiles();\n }, () => {\n this.currentUploadIndex++;\n obj.status = 'Failed';\n this.uploadFiles();\n });\n }\n\n uploadFiles() {\n this.errorAndSuccess = false;\n this.isLoading = true;\n if (this.currentUploadIndex < this.mydata.length) {\n this.getPreSignedUrl(this.mydata[this.currentUploadIndex]);\n } else {\n this.reqObj.attachments = [];\n this.mydata.forEach((item) => {\n this.reqObj.attachments.push({\n type: item.type,\n url: item.photoUrlCopy\n });\n });\n let categories = [];\n let subCategories = [];\n this.issueType.categories.forEach((item)=>{\n if(item.ischecked){\n categories.push(item);\n }\n if(item.subCategories.length){\n item.subCategories.forEach(element => {\n if(element.ischecked){\n subCategories.push(element)\n }\n });\n if(subCategories.length){\n item.subCategories = subCategories;\n categories.push(item);\n subCategories = []\n }\n }\n })\n this.reqObj.categories = categories;\n this.helpServices.postReportAnIssue(this.reqObj).then((res) => {\n if (res.code === 200) {\n // success\n localStorage.setItem('reporteditem','ideasAndSuggestions');\n $('#reportIssueidea').modal('hide');\n $('.modal-backdrop').removeClass('show');\n $('.reportIssueidea').removeClass('discardOpen');\n this.discardChanges = false;\n this.disableSubmit = false;\n this.isLoading = false;\n // hide loader and close popup then show sucsses res.message\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alert.showSuccessMessage(res.message);\n this.alert.notificationCountUpdate.next(1);\n this.alert.IdeaStatus.next('All');\n this.homePageService.fetchHomeCardsData().then((res) => {\n if (res){\n if (res.userCards && res.userCards.length) {\n this.dataToPassForUserCards = JSON.parse(JSON.stringify(res.userCards));\n this.dataToPassForUserCards[2].data.forEach(element => {\n if (element.type === 'ideasAndSuggestions' && this.getParameterByName('type') !== 'idea,suggestion'){\n this.helpServices.UpdatedDataHelp.next(element);\n }\n });\n }\n this.uploadingFile = false;\n }\n\n });\n this.onSubmitSuccess.emit(this.reqObj.type);\n this.reportAnIdeaUpdate.emit();\n } else {\n // error: res.message\n this.alert.showErrorMessage(res.message);\n // hide loader\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.disableSubmit = false;\n this.uploadingFile = false;\n\n\n }\n }, (error) => {\n // error message: Something went wrong, Please try again\n this.alert.showErrorMessage('Something went wrong');\n // hide loader\n });\n\n }\n }\n\n currentUploadIndex = 0;\n errorText = false;\n errorTextProblem = false;\n\n reportAnIssue() {\n // show loader\n // this.disableSubmit = true;\n this.isLoading = false;\n // this.disabledCrossIcon = true;\n this.errorTextProblem = false;\n this.descriptionError = false;\n if (this.reqObj.categories.length === 0){\n this.errorTextProblem = true;\n return;\n }\n this.errorText = false;\n if (this.reqObj.categories.length && (this.descriptionLength < 40)){\n this.descriptionError = true;\n return;\n }\n if (!this.reqObj.description || (this.descriptionLength < 40)) {\n this.errorText = true;\n return;\n }\n if (this.reqObj.categories.length !== 0 && (this.descriptionLength < 40)) {\n this.disabledCrossIcon = false;\n return;\n }\n else{\n this.disabledCrossIcon = true;\n }\n // if(this.reqObj.categories == 'Idea Type' || this.reqObj.categories == 'Suggestion Type')\n this.store.dispatch(new LoaderAction.SetLoader(true));\n this.currentUploadIndex = 0;\n this.uploadingFile = true;\n this.uploadFiles();\n }\n\n\n public descriptionLength = 0;\n onKeyUp() {\n const count = this.reqObj.description.replace(/\\r?\\n|\\r/g, \"\");\n this.descriptionLength = count.replace(/ /g, '').length;\n this.descriptionError = false;\n if (!this.reqObj.description || (this.reqObj.description.replace(/ /g, '').length < 40)) {\n //this.errorText = true;\n this.descriptionError = false;\n } else {\n //this.errorText = false;\n this.disableSubmit = false;\n this.descriptionError = false;\n }\n }\n\n discardChanges = false;\n cancelClick() {\n this.discardChanges = false;\n $('.reportIssue').removeClass('discardOpen');\n }\n\n closePopup() {\n if (this.descriptionLength || this.mydata.length) {\n $('.reportIssue').addClass('discardOpen');\n this.discardChanges = true;\n } else {\n this.fileAdded = false;\n this.fileSizeError = false;\n this.fileTypeAccept = false;\n this.onClosePopUp.emit();\n $('#reportIssueidea').modal('hide');\n $('.modal-backdrop').removeClass('show');\n }\n }\n\n onDiscard() {\n this.onClosePopUp.emit();\n this.discardComplete.emit();\n $('#reportIssueidea').modal('hide');\n $('.modal-backdrop').removeClass('show');\n $('.reportIssue').removeClass('discardOpen');\n this.discardChanges = false;\n this.disabledCrossIcon = false;\n this.fileAdded = false;\n this.fileSizeError = false;\n this.fileTypeAccept = false;\n }\n\n toggleSelectMenu(){\n this.showSelectMenu = !this.showSelectMenu;\n this.errorTextProblem = false;\n // if (this.reqObj.categories.length === 0){\n // this.errorTextProblem = true;\n // return;\n // }\n }\n\n getCategoriesName(){\n const checkedNames: string[] = [];\n this.issueType.categories.forEach((category: any) => {\n if (category.ischecked) {\n checkedNames.push(category.name);\n }\n if (category.subCategories.length) {\n category.subCategories.forEach((subCategory: any) => {\n if (subCategory.ischecked) {\n checkedNames.push(subCategory.name);\n }\n })\n }\n });\n this.selectedType = checkedNames;\n if (checkedNames.length > 3 && !this.isMobile && !this.isTab) {\n return checkedNames.slice(0, 3).join(', ');\n }\n if (checkedNames.length > 2 && !this.isMobile && this.isTab) {\n return checkedNames.slice(0, 2).join(', ');\n }\n if (checkedNames.length > 1 && this.isMobile && !this.isTab) {\n return checkedNames.slice(0, 1).join(', ');\n }\n return checkedNames.join(', ');\n }\n\n checkIfDisabled() {\n if (this.descriptionLength >= 40 && this.reqObj.categories.length !== 0\n ) {\n return true;\n } else {\n return false;\n }\n }\n onFocusDescription(){\n this.descriptionError = false;\n }\n\n getParameterByName(name, url = window.location.href): any {\n name = name.replace(/[\\[\\]]/g, '\\\\$&')\n const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)')\n const results = regex.exec(url)\n if (!results) {\n return null\n }\n if (!results[2]) {\n return '';\n }\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n }\n}\n","
\n
\n
\n
\n\n
Submit an Idea/Suggestion
\n\n \n \n\n
\n
\n
\n
\n \n

{{reqObj.type | titlecase}}

\n \n
\n
    \n
  • Idea
  • \n
  • Suggestion
  • \n
\n
\n
\n
\n\n \n
\n
\n \n

0\">{{getCategoriesName()}} 3 && !isMobile && !isTab\">+{{selectedType.length - 3}}\n 2 && !isMobile && isTab\">+{{selectedType.length - 2}}\n 1 && isMobile && !isTab\">+{{selectedType.length - 1}}

\n

{{defaultSuggestionType}}

\n \n \n
\n
    \n
  • \n
  • \n \n
  • 0\" class=\"borderTop\">\n {{item.name}}\n
      \n
    • \n \n
    • \n
    \n
  • \n
    \n
\n
    \n
  • \n \n
  • \n
\n
\n
\n \n
\n
\n \n = 40 ? 'textColorChange' : ''\">{{descriptionLength}} charactercharacters (min 40 characters)\n
\n
\n \n = 40 ? 'textColorChange' : ''\">{{descriptionLength}} charactercharacters (min 40 characters)\n
\n
\n \n
\n \n \n \n \n \n \n \n \"Video\"\n\n \n \n
\n

Max. File Size: 100 MB

\n
\n
\n

File is already added!

\n
Files greater than 100 MB cannot be added
\n \n
\n
\n
\n Discard Changes?\n Changes you made will be lost\n
\n
\n \n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { HelpService } from 'src/app/help-and-support/services/help.service';\nimport * as fromApp from '../../../stores/app.reducers';\nimport { HttpService } from '../../../shared/services/http.service';\nimport { AlertService } from '../../services/alert.service';\nimport { HomeService } from 'src/app/home-page/services/home.service';\nimport { Location } from '@angular/common';\nimport { Router } from '@angular/router';\nimport _ from 'lodash';\n\ndeclare var $: any;\n@Component({\n selector: 'app-report-an-issue',\n templateUrl: './report-an-issue.component.html',\n styleUrls: ['./report-an-issue.component.scss'],\n})\nexport class ReportAnIssueComponent implements OnInit {\n @Output() discardComplete = new EventEmitter();\n reqObj = {\n type: 'issue',\n category: 'Select Problem Area',\n description: '',\n attachments: [],\n };\n\n errorAndSuccess = false;\n isLoading = false;\n selectedProblemTypeId: any;\n public dataToPassForUserCards: any;\n issueType = [];\n subCatergories: any = [];\n selectedSubCategory: string = 'Problem Type';\n showSubCatergoryError: boolean = false;\n selectSubCategoryError : boolean = false;\n descriptionError : boolean = false;\n submitBtnEnable;\n fileAdded: boolean = false;\n public disabledCrossIcon: boolean = false;\n public disabledCloseIcon: boolean = false;\n public prevProblemType ='';\n @Output() onSubmitSuccess = new EventEmitter();\n @Output() reportAnIssueUpdate = new EventEmitter();\n constructor(\n private helpServices: HelpService,\n private http: HttpClient,\n private store: Store,\n private httpService: HttpService,\n private alert: AlertService,\n private router: Router,\n private location: Location,\n private homePageService: HomeService\n ) {}\n\n ngOnInit(): void {\n this.disabledCloseIcon = false;\n this.resetErrors();\n this.helpServices.helpIssueType().then((res) => {\n this.issueType = _.get(res, 'issue.categories', []);\n });\n }\n\n onChangeProblem(type: string, item: any) {\n if (type === 'category') {\n this.errorTextProblem = false;\n if(this.reqObj.category != item.name){\n this.reqObj.description = '';\n this.descriptionLength = 0;\n }\n this.reqObj.category = item.name;\n if (this.reqObj.category === 'Select Problem Area') {\n this.errorTextProblem = true;\n this.subCatergories = [];\n } else {\n this.subCatergories = item.subCategories;\n }\n if(this.prevProblemType !== item?.name && type === 'category'){\n this.prevProblemType=item?.name;\n this.selectedSubCategory = 'Problem Type';\n }\n } else {\n this.showSubCatergoryError = false;\n this.selectSubCategoryError = false;\n this.descriptionError = false;\n this.selectedSubCategory = item;\n if (this.selectedSubCategory == 'Problem Type') {\n this.showSubCatergoryError = true;\n }\n }\n }\n\n mydata = [];\n fileSizeError = false;\n fileTypeAccept = false;\n\n onimageClick(){\n $('#helpfiles')[0].value = null; \n }\n onSelectFile(event) {\n this.fileSizeError = false;\n this.fileTypeAccept = false;\n const files = event.target.files;\n var ext = $('#helpfiles').val().split('.').pop().toLowerCase();\n if (files.length == 0 || ext == ''){\n return;\n }\n if (\n ext !== 'jpg' &&\n ext !== 'jpeg' &&\n ext !== 'png' &&\n ext !== 'mp4' &&\n ext !== 'mov' &&\n ext !== 'hevc'\n ) {\n this.fileTypeAccept = true;\n this.fileAdded = false;\n return false;\n }\n\n if (files) {\n for (const file of files) {\n const reader = new FileReader();\n let fileType = (Math.floor(Math.log(file.size) / Math.log(1024)));\n let actualSize = Math.round(file.size / Math.pow(1024, fileType));\n const fileName = file.name.split(' ').join('');\n reader.onload = (e: any) => {\n if (file.type.indexOf('image') > -1) {\n if (fileType === 2 && actualSize >= 100) {\n this.fileSizeError = true;\n this.fileAdded = false;\n return;\n }\n const index = this.mydata.findIndex((obj) => obj.file.name == file.name)\n if (index == -1) {\n this.fileAdded = false;\n this.mydata.push({\n url: e.target.result,\n type: 'image',\n name: fileName,\n file: file,\n });\n } else {\n this.fileAdded = true;\n this.fileSizeError = false;\n }\n // this.getPreSignedUrl();\n } else if (file.type.indexOf('video') > -1) {\n if (fileType === 2 && actualSize >= 100) {\n this.fileSizeError = true;\n this.fileAdded = false;\n return;\n }\n const index = this.mydata.findIndex((obj) => obj.file.name == file.name)\n if (index == -1) {\n this.fileAdded = false;\n this.mydata.push({\n url: e.target.result,\n type: 'video',\n name: fileName,\n file: file,\n });\n } else {\n this.fileAdded = true;\n this.fileSizeError = false;\n }\n }\n };\n reader.readAsDataURL(file);\n }\n }\n }\n\n closeThumb(index) {\n this.fileAdded = false;\n this.mydata.splice(index, 1);\n }\n\n // get permission from s3 to upload image\n getPreSignedUrl(obj): void {\n const apiUrl = 'v4/auth/upload-signed-url?location=ideasAndSuggestions';\n this.httpService.get(apiUrl, true, { key: obj.name }, false).subscribe(\n (res) => {\n if (res && res.code === 200) {\n if (res.data.url && res.data.fields) {\n obj.photoUrlCopy = res.data.url + '/' + res.data.fields.key;\n this.uploadYourFileOnS3(res.data, obj);\n }\n }\n },\n (error) => {\n this.currentUploadIndex++;\n obj.status = 'Failed';\n this.uploadFiles();\n }\n );\n }\n\n // upload image after permision\n uploadYourFileOnS3(data, obj): void {\n const formData: FormData = new FormData();\n formData.append('key', data.fields.key);\n formData.append('bucket', data.fields.bucket);\n formData.append('acl', 'public-read');\n formData.append('X-Amz-Algorithm', data.fields['X-Amz-Algorithm']);\n formData.append('X-Amz-Credential', data.fields['X-Amz-Credential']);\n formData.append('X-Amz-Date', data.fields['X-Amz-Date']);\n formData.append('Policy', data.fields['Policy']);\n formData.append('X-Amz-Signature', data.fields['X-Amz-Signature']);\n formData.append('file', obj.file, obj.name);\n\n const options = {\n headers: new HttpHeaders({\n Accept: 'application/json',\n }),\n };\n this.http.post(data.url, formData, options).subscribe(\n (res) => {\n this.currentUploadIndex++;\n obj.status = 'Uploaded';\n this.uploadFiles();\n },\n () => {\n this.currentUploadIndex++;\n obj.status = 'Failed';\n this.uploadFiles();\n }\n );\n }\n\n uploadFiles() {\n this.errorAndSuccess = false;\n this.isLoading = true;\n if (this.currentUploadIndex < this.mydata.length) {\n this.getPreSignedUrl(this.mydata[this.currentUploadIndex]);\n } else {\n this.reqObj.attachments = [];\n this.mydata.forEach((item) => {\n this.reqObj.attachments.push({\n type: item.type,\n url: item.photoUrlCopy,\n });\n });\n const body: any = { ...this.reqObj };\n body.categories = [{\n name: this.reqObj.category,\n subCategories: [{ 'name': this.selectedSubCategory }]\n }];\n this.helpServices.postReportAnIssue(body).then(\n (res) => {\n if (res.code === 200) {\n // success\n localStorage.setItem('reporteditem','help');\n this.reqObj.description = '';\n this.reqObj.category = 'Select Problem Area';\n this.selectedSubCategory = 'Problem Type';\n this.subCatergories = [];\n this.reqObj.attachments = [];\n this.errorTextProblem = false;\n this.selectSubCategoryError = false;\n this.descriptionError = false;\n this.mydata = [];\n $('#reportIssue').modal('hide');\n this.disabledCloseIcon = false;\n this.resetErrors();\n $('.modal-backdrop').removeClass('show');\n $('.reportIssue').removeClass('discardOpen');\n this.discardChanges = false;\n this.isLoading = false;\n //this.errorAndSuccess = true;\n this.alert.showSuccessMessage(res.message);\n this.alert.notificationCountUpdate.next(1);\n this.alert.helpNotifiStatus.next('');\n this.alert.helpStatus.next('');\n\n this.onSubmitSuccess.emit(true);\n this.reportAnIssueUpdate.emit(true);\n // hide loader and close popup then show sucsses res.message\n this.homePageService.fetchHomeCardsData().then((res) => {\n if (res) {\n if (res.userCards && res.userCards.length) {\n this.dataToPassForUserCards = JSON.parse(\n JSON.stringify(res.userCards)\n );\n this.dataToPassForUserCards[2].data.forEach((element) => {\n if (element.type === 'help' && window.location.href.split('/')[3] !== 'help') {\n this.helpServices.UpdatedDataHelp.next(element);\n }\n });\n }\n }\n });\n } else {\n // error: res.message\n this.alert.showErrorMessage(res.message);\n // hide loader\n }\n },\n (error) => {\n // error message: Something went wrong, Please try again\n this.alert.showErrorMessage('Something went wrong');\n // hide loader\n }\n );\n }\n }\n\n currentUploadIndex = 0;\n //errorText = false;\n errorTextProblem = false;\n reportAnIssue() {\n //this.errorText = false;\n this.isLoading = false;\n // this.disabledCrossIcon = true;\n // this.disabledCloseIcon = true;\n this.errorTextProblem = false;\n this.selectSubCategoryError = false;\n this.descriptionError = false;\n if (this.reqObj.category === 'Select Problem Area') {\n this.errorTextProblem = true;\n return;\n }\n if (this.subCatergories === 'Problem Type') {\n this.showSubCatergoryError = true;\n return;\n }\n if (this.reqObj.category !== 'Select Problem Area' && this.selectedSubCategory === 'Problem Type') {\n this.selectSubCategoryError = true;\n return;\n }\n if (this.reqObj.category !== 'Select Problem Area' && this.selectedSubCategory !== 'Problem Type' && (this.descriptionLength < 40)) {\n this.descriptionError = true;\n return;\n }\n if (this.reqObj.category !== 'Select Problem Area' && this.selectedSubCategory !== 'Problem Type' && (this.descriptionLength < 40)) {\n this.disabledCloseIcon = false;\n this.disabledCrossIcon = false;\n return;\n }\n else{\n this.disabledCrossIcon = true;\n this.disabledCloseIcon = true;\n }\n if (\n !this.reqObj.description ||\n this.reqObj.description.replace(/ /g, '').length < 40\n ) {\n //this.errorText = true;\n return;\n }\n this.reqObj.description = this.reqObj.description.trim();\n\n // show loader\n this.currentUploadIndex = 0;\n this.uploadFiles();\n }\n\n public descriptionLength = 0;\n\n onKeyUp() {\n const count = this.reqObj.description.replace(/\\r?\\n|\\r/g, \"\");\n this.descriptionLength = count.replace(/ /g, '').length;\n this.descriptionError = false;\n if(!this.reqObj.description ||\n this.reqObj.description.replace(/ /g, '').length < 40){\n this.descriptionError = false;\n }\n else {\n this.descriptionError = false;\n }\n // const txt = document.getElementById('#textarea');\n // let strText = txt.value;\n // let strArr = new Array();\n // strArr = strText.split(\" \");\n // for(let i = 0; i < strArr.length; i++)\n // {\n // if(strArr[i] == \"\")\n // {\n // this.errorText = true;\n // break;\n // } else {\n // this.errorText = false;\n // }\n // }\n\n // let CharArray = txt.value.split('');\n // for(var i=0;i= 40\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n resetErrors() {\n //this.errorText = false;\n this.errorTextProblem = false;\n this.showSubCatergoryError = false;\n this.selectSubCategoryError = false;\n this.descriptionError = false;\n }\n onFocuscategory() {\n this.errorTextProblem = false;\n }\n onFocusSubCategory(){\n this.selectSubCategoryError = false;\n }\n onFocusDescription(){\n this.descriptionError = false;\n }\n}\n","
\n
\n
\n
\n
\n
\n
Report an Issue
\n
\n
\n \n \n
\n
\n
\n\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n \n
\n\n
\n
\n
\n \n
\n \n
\n
\n
\n
Please Select Problem Type
\n
\n
\n \n = 40 ? 'textColorChange' : ''\">{{descriptionLength}} charactercharacters (min 40 characters)\n
\n
\n \n
\n \n \n \n \n \n \n \n \"Video\"\n\n \n \n
\n

Max. File Size: 100 MB

\n \n
\n
\n

File is already added!

\n
Files greater than 100 MB cannot be added
\n \n
\n
\n
\n Discard Changes?\n Changes you made will be lost\n
\n
\n \n \n
\n
\n
\n \n \n \n
\n
\n\n
\n
\n
","\n
\n
\n
\n \n
\n

{{heading}}

\n
\n {{goalName?.name}}\n
\n
\n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-primary-goal-popup',\n templateUrl: './primary-goal-popup.component.html',\n styleUrls: ['./primary-goal-popup.component.scss']\n})\nexport class PrimaryGoalPopupComponent implements OnInit {\n @Input() heading: string = '';\n @Input() primaryGoalData: any = [];\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { SolutionService } from 'src/app/test-results-analytics/services/solution.service';\nimport { AlertService } from '../../services/alert.service';\nimport { UtilityService } from '../../services/utility.service';\ndeclare var $: any;\n\n@Component({\n selector: 'app-tag-creator-shared',\n templateUrl: './tag-creator-shared.component.html',\n styleUrls: ['./tag-creator-shared.component.scss']\n})\nexport class TagCreatorSharedComponent implements OnInit {\n @ViewChild('closeTagModal') closeTagModal: ElementRef;\n @Input('tagName') tagName: string;\n @Input(\"tagChecker\") tagChecker: boolean;\n @Input('selectedTId') selectedTId: string;\n @Input('revisionRemove') revisionRemove: boolean;\n @Input('tagMarkType') tagMarkType: string;\n @Input() questiontypeDetails:any\n @Input() darkMode: boolean = false;\n @Output() saveTagEvent = new EventEmitter();\n public tagArray = [];\n public selectedTagId: string = \"\";\n public isCreateTagModal: boolean = false;\n public isEditTagModal: boolean = false;\n public isTagModal: boolean = false;\n public isDeleteModal: boolean = false;\n public newTagName: string = \"\";\n public tagNameLength: number = 15;\n public selectedTagObj: any = {};\n public isRemoveTagModal: boolean = false;\n public isQuestionTagCreated: boolean = false;\n public oldTagName: string;\n public showShimmerBlock:boolean = true\n public colorArray = [\n {\n colorCode: \"#F4D42E\",\n selected: false\n },\n {\n colorCode: \"#448C30\",\n selected: false\n },\n {\n colorCode: \"#691F91\",\n selected: false\n },\n {\n colorCode: \"#0029FA\",\n selected: false\n }\n ]\n deleteQuestionCount: number = 0;\n public dataForEditTag: any;\n\n constructor(private solution: SolutionService, private alertService: AlertService,\n private utility: UtilityService) { }\n\n ngOnInit() {\n if (this.revisionRemove) {\n this.showRemoveModal();\n } else {\n this.questionTagHandler('initial');\n }\n\n }\n\n ngOnChanges() {\n if (this.revisionRemove) {\n this.showRemoveModal();\n } else {\n this.questionTagHandler('initial');\n }\n\n }\n\n updateAndSaveSelectedTagData(el) {\n this.selectedTagObj = {};\n this.selectedTagObj.name = el.name;\n this.selectedTagObj.colorCode = el.colorCode;\n this.selectedTagObj.borderCode = el.colorCode;\n this.selectedTagObj.tagId = el._id;\n this.selectedTagObj.save = true;\n this.selectedTagObj['tagType'] = el.tagType;\n this.saveTagEvent.emit(this.selectedTagObj);\n }\n\n public tagSaveHandler(str): void {\n let selectedTagId;\n this.tagArray.map(el => {\n if (el['selected'] === true && str !== 'close') {\n selectedTagId = el._id;\n this.updateAndSaveSelectedTagData(el);\n }\n });\n if (selectedTagId || (str === 'close')) {\n this.closeTagModal.nativeElement.click();\n } else {\n this.alertService.showErrorMessage('Please select a tag!');\n }\n }\n\n public showRemoveModal(): void {\n \n this.isRemoveTagModal = true;\n this.isDeleteModal = false;\n this.isCreateTagModal = false;\n this.isTagModal = false;\n this.isEditTagModal = false;\n this.tagArray.map(el => {\n el['selected'] = false \n \n });\n }\n\n public questionTagHandler(str): void {\n this.solution.getQuestionTags()\n .subscribe(\n res => {\n this.isTagModal = true;\n this.isRemoveTagModal = false;\n this.isEditTagModal = false;\n this.isCreateTagModal = false;\n this.isDeleteModal = false;\n this.selectedTagId = \"\";\n this.tagArray = res.data.tags;\n this.tagArray = this.tagArray.map(el => {\n el['selected'] = false;\n return el;\n });\n if(this.tagArray){\n this.showShimmerBlock = false\n }\n if (this.tagName !== 'Save' || str === 'creatednew' || str === 'updated') {\n this.selectedTagId = this.selectedTId;\n this.tagArray.map(el => {\n if (this.selectedTId === el._id) {\n el['selected'] = !el['selected'];\n } else {\n el['selected'] = false;\n }\n });\n }\n }\n )\n }\n\n public filterSelected(event, tagId: string): void {\n if (event.target.checked) {\n this.selectedTagId = tagId;\n } else {\n this.selectedTagId = \"\";\n }\n this.tagArray.map(el => {\n if (tagId === el._id) {\n el['selected'] = !el['selected'];\n } else {\n el['selected'] = false;\n }\n });\n }\n\n public borderExpression(color: string, id: string): string {\n if (this.selectedTagId === id) {\n return `1px solid ${color}`;\n } else {\n return '';\n }\n }\n\n public saveQuestionTag(): void {\n let selectedName: string;\n let selectedColor: string;\n this.tagArray.map(el => {\n if (el['selected'] === true) {\n selectedName = el.name;\n selectedColor = el.colorCode;\n }\n });\n let postBody = {\n \"name\": selectedName,\n \"colorCode\": selectedColor\n }\n if (selectedName && selectedColor) {\n this.solution.saveQuestionTag(postBody)\n .subscribe(\n res => {\n if (res.code === 200) {\n this.closeTagModal.nativeElement.click();\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n },\n err => {\n console.error('error in saving custom tag', err);\n }\n );\n }\n }\n\n\n public borderColorHandler(colorCode: string): string {\n let selectedColor: string;\n this.colorArray.forEach(el => {\n if (el.selected) {\n selectedColor = el.colorCode;\n }\n });\n if (selectedColor === colorCode) {\n return `1px solid ${colorCode}`;\n } else {\n return '';\n }\n }\n\n public colorSelectorHandler(event, colorCode): void {\n this.colorArray = this.colorArray.map(el => {\n if (el.colorCode === colorCode) {\n el.selected = !el.selected;\n } else {\n el.selected = false;\n }\n return el;\n })\n }\n\n public tagNameChangeHandler(event = null, editName = null): void {\n if (editName) {\n if (editName.length <= 15) {\n this.newTagName = editName;\n this.tagNameLength = 15 - this.newTagName.length;\n }\n } else {\n if (event.target.value.length <= 15) {\n this.newTagName = event.target.value;\n this.tagNameLength = 15 - this.newTagName.length;\n }\n }\n }\n\n public createModalHandler(): void {\n this.isCreateTagModal = true;\n this.isTagModal = false;\n this.isEditTagModal = false;\n this.isDeleteModal = false;\n this.newTagName = \"\";\n this.oldTagName = '';\n this.tagNameLength = 15;\n this.selectedTagId = \"\";\n this.colorArray.map(el => {\n el.selected = false;\n return el;\n });\n }\n\n public backToTagPage(isDeleteModal, isRemoveTagModal): void {\n if (isDeleteModal) {\n this.isCreateTagModal = false;\n this.isEditTagModal = false;\n this.isDeleteModal = false;\n this.isTagModal = true;\n this.questionTagHandler('somecond');\n } else if (isRemoveTagModal) {\n this.closeTagModal.nativeElement.click();\n } else {\n this.isCreateTagModal = false;\n this.isEditTagModal = false;\n this.isDeleteModal = false;\n this.isTagModal = true;\n this.questionTagHandler('somecond');\n }\n }\n\n public createNewTagHandler(create: boolean, edit: boolean): void {\n let selectedColor = null;\n this.colorArray.forEach(el => {\n if (el.selected) {\n selectedColor = el.colorCode;\n }\n });\n if ((this.newTagName || this.oldTagName) && selectedColor) {\n const postBody = {\n 'colorCode': selectedColor\n };\n if (this.newTagName !== this.oldTagName) {\n postBody['name'] = this.newTagName;\n }\n if (create) {\n this.solution.saveQuestionTag(postBody)\n .subscribe(\n res => {\n if (res.code === 200) {\n this.selectedTId = res.data.tag._id;\n this.questionTagHandler('creatednew');\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n },\n err => {\n console.error('error in saving tag information', err);\n }\n );\n }\n if (edit) {\n this.dataForEditTag.borderCode = selectedColor;\n this.dataForEditTag.name = this.newTagName;\n this.dataForEditTag.colorCode = selectedColor;\n this.solution.updateTagInformation(this.selectedTagId, postBody)\n .subscribe(\n res => {\n if (res.code === 200) {\n this.selectedTId = this.selectedTagId;\n this.updateAndSaveSelectedTagData(this.dataForEditTag);\n this.questionTagHandler('updated');\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n },\n err => {\n console.error('error in updating tag information', err);\n }\n );\n }\n }\n }\n\n public isTagChecked(tagAction: string): string {\n let selectedTag: boolean = false;\n let selectedRemove: boolean = false;\n this.tagArray.map(el => {\n if (el['selected'] === true) {\n selectedTag = true;\n }\n });\n this.tagArray.map(el => {\n if (this.selectedTId === el._id && el.selected) {\n selectedRemove = true;\n }\n });\n if (tagAction === 'ok') {\n if (selectedTag) {\n return 'btn-blue-default'\n } else {\n return 'btn-disabled-default'\n }\n }\n if (tagAction === 'remove') {\n if (selectedRemove) {\n return 'btn-transparent-default'\n } else {\n return 'no-display'\n }\n }\n }\n\n public isFormFilled(): string {\n let selectedColor = null;\n this.colorArray.forEach(el => {\n if (el.selected) {\n selectedColor = el.colorCode;\n }\n });\n if (this.newTagName.length > 0 && selectedColor) {\n return 'btn-blue-default'\n } else {\n return 'btn-disabled-default'\n }\n }\n\n public openDeleteModal(tagId: any): void {\n this.tagName = tagId.name\n this.isDeleteModal = true;\n this.selectedTagId = tagId._id;\n this.isCreateTagModal = false;\n this.isTagModal = false;\n this.isEditTagModal = false;\n this.solution.getDeleteQuestionCount(this.selectedTagId)\n .subscribe(\n res => {\n this.deleteQuestionCount = res?.data?.revision?.count;\n }\n )\n }\n\n public openEditModal(tagData): void {\n this.isDeleteModal = false;\n this.isCreateTagModal = false;\n this.isTagModal = false;\n this.isEditTagModal = true;\n this.dataForEditTag = tagData;\n this.selectedTagId = tagData._id;\n\n this.solution.getOneQuestionTag(this.selectedTagId)\n .subscribe(\n response => {\n let tagResponse = response.data.tag;\n this.colorArray = this.colorArray.map(el => {\n if (el.colorCode === tagResponse.colorCode) {\n el.selected = true;\n this.selectedTagId = tagResponse._id;\n this.oldTagName = tagResponse.name;\n this.tagNameChangeHandler(null, this.oldTagName);\n } else {\n el.selected = false;\n }\n return el;\n });\n },\n error => {\n console.error('error from getting one tag information', error);\n }\n )\n }\n\n public deleteTagId(deleteTag: boolean, removeTag: boolean): void {\n if (deleteTag) {\n this.solution.deleteCustomTag(this.selectedTagId)\n .subscribe(\n response => {\n if (response.code === 200) {\n if (this.deleteQuestionCount > 0) {\n this.selectedTagObj = {\n colorCode: \"#FFFFFF\",\n borderCode: '#999999',\n name: 'Save',\n save: false,\n previousTagId: this.selectedTagId || '',\n };\n this.utility.emptyDataRevision.next('empty');\n setTimeout(() => {\n // this.alertService.selectTagObject.next(this.selectedTagObj)\n this.saveTagEvent.emit(this.selectedTagObj);\n this.closeTagModal.nativeElement.click();\n }, 100);\n } else if (this.deleteQuestionCount === 0) {\n this.questionTagHandler('delete');\n }\n }\n },\n error => {\n console.error('error deleting custom tag', error);\n }\n )\n }\n if (removeTag) {\n this.selectedTagObj = {\n colorCode: \"#FFFFFF\",\n borderCode: '#999999',\n name: 'Save',\n save: false\n }\n this.utility.emptyDataRevision.next('empty');\n setTimeout(() => {\n this.isRemoveTagModal = false\n this.saveTagEvent.emit(this.selectedTagObj);\n this.alertService.selectTagObject.next(this.questiontypeDetails)\n this.closeTagModal.nativeElement.click();\n }, 100);\n }\n }\n\n closeModal() {\n if (this.isEditTagModal || this.isCreateTagModal) {\n $('#tagModal').modal('hide')\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n } else {\n this.tagSaveHandler('close');\n }\n }\n \n}\n","\n
\n
\n \n
\n \n
\n Tag the question\n Create Tag\n Edit Tag\n \n
\n
\n
\n
Tag your questions to find them easily in your revision book using filters
\n
\n
\n \n
\n \"edit\n \"edit\n \"delete\n
\n
\n
\n
\n
\n \n Create New\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
Create your custom tags and tag the questions to find them easily
\n
Enter a new name and select a color of your choice for this\n custom tag
\n
\n
Type your tag name
\n \n {{ tagNameLength }}\n
\n
\n
Select color for the tag
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n \n \n
\n
\n
\n Delete Tag?\n Remove Tag?\n \n Are you sure you want to delete {{tagName}} tag? This cannot be\n undone! This will also delete 0\">{{ deleteQuestionCount }} other saved items in this tag.\n \n \n Are you sure you want to\n remove \"{{ tagName }}\" tag from this question.\n \n \n Are you sure you want to\n remove this question from your Revision Notebook.\n \n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
","import { Component, OnInit } from '@angular/core';\ndeclare var $: any;\n\n@Component({\n selector: 'app-testimonial-home',\n templateUrl: './testimonial-home.component.html',\n styleUrls: ['./testimonial-home.component.scss']\n})\nexport class TestimonialHomeComponent implements OnInit {\n constructor() { }\n\n ngOnInit(): void {\n // Testimonials students\n $('.home-testimonial').owlCarousel({\n nav: true,\n loop: false,\n touchDrag : false,\n mouseDrag: false,\n items:1,\n navText: [\"\",\"\"],\n responsiveClass: true,\n });\n }\n\n}\n","
\n
\n \n
\n
","import { Component, ElementRef, Input, OnDestroy, OnInit, ViewChildren } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { BuyCoursesService } from 'src/app/home-page/cards-detail/right-selected-card/buy-courses/buy-courses.service';\nimport { GLiteUtilityService } from '../../services/g-lite-utility.service';\nimport { CARD_ACTIONS, PACKAGE_CTA_TITLE } from '../../../home-page/cards-detail/right-selected-card/buy-courses/actions.enum';\nimport { AlertService } from '../../services/alert.service';\nimport { UtilityService } from '../../services/utility.service';\nimport { DISPLAY_TYPE, EXAM_INFO, AVAILABLE_CLASSES, AVAILAIBLE_QUERY_PARAMS } from './courses.constant';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport USER_PURCHASE_ACTION from '../../constants/user-action.constant';\nimport { OwlOptions } from 'ngx-owl-carousel-o';\nimport { CourseCardService } from 'src/app/home-page/cards-detail/right-selected-card/buy-courses/course-card/course-card.service';\ndeclare var $:any;\nconst DETAILS_INFO_CONST = {\n CHAPTERS: 'chapters',\n CONCEPTS: 'concepts'\n}\n@Component({\n selector: 'app-courses-we-offer',\n templateUrl: './courses-we-offer.component.html',\n styleUrls: ['./courses-we-offer.component.scss']\n})\nexport class CoursesWeOfferComponent implements OnInit, OnDestroy {\n @Input() type: any = DISPLAY_TYPE.ALL_COURSES;\n @Input() showAllCourses?: boolean;\n private activeSubscriptions = new Subscription();\n private DAYS_IN_YEAR = 365;\n private classAvailableInRoute = '';\n private goalAvailableInRoute = '';\n public selectedGoal: any = {};\n public selectedGoalIndex: number = 0;\n public selectedClass: any ={};\n public availableGoals: any[] = [];\n public availedPackages: any[] = [];\n public availableCourses: any[] = [];\n public classesList:any[] = [];\n public targetExamYear = '2025';\n public coursesLoader: boolean= true;\n public targetExamDate ={\n startDate:new Date(),\n endDate:new Date()\n }\n public coursesWeOffer: OwlOptions = {};\n public courseId:string = '';\n public isPackageLoading:boolean = false;\n public packageData = null;\n public packageTargetExams = '';\n public classifiedTests = {};\n public testCategories = [];\n public testMap = {\n 'full': '',\n 'part': 'partTest',\n 'combined': '',\n };\n private testPriorityMap = {\n full: 5,\n part: 3,\n 'half course': 4,\n chap: 7,\n chapter: 7,\n concept: 1,\n sample: 6,\n practice: 7,\n subjective: 7,\n custom: 7,\n phase: 7,\n unit: 2\n };\n public selectedCourse: any;\n public testTypeImages = {\n 'part': 'partTest',\n 'sample': 'sampleTest',\n 'half': 'halfTest',\n 'combined': 'halfTest',\n 'concept': 'conceptTest',\n 'full': 'fullTest',\n 'main': 'fullTest',\n 'unit': 'unitTest',\n 'testSeries': 'preTest'\n }\n\n public imagesIndices = ['part', 'sample', 'half'];\n public syllabusInfo: any = {\n name: '',\n type: '',\n subjectCount: 0,\n subjectsSyllabus: []\n };\n public syllabusLevel: string = this.viewDetailsInfo.CHAPTERS;\n public userCart: any[] = [];\n\n constructor(\n private _buyCourses: BuyCoursesService,\n private _glite: GLiteUtilityService,\n private _alert: AlertService,\n private utilityService: UtilityService,\n private router: Router,\n private route: ActivatedRoute,\n private _courseCardService: CourseCardService\n ) { }\n\n public get cardActions(){\n return CARD_ACTIONS;\n }\n\n public get packageCtaTitle(){\n return PACKAGE_CTA_TITLE;\n }\n\n ngOnInit(): void {\n this.activeSubscriptions.add(\n this.route.queryParams.subscribe(params => {\n this.classAvailableInRoute = params[AVAILAIBLE_QUERY_PARAMS.selected_class];\n this.goalAvailableInRoute = params[AVAILAIBLE_QUERY_PARAMS.selected_goal];\n if (this.type !== DISPLAY_TYPE.HOME_INFO) {\n this.getClasses();\n }\n })\n );\n if (this.showAllCourses) {\n this.fetchAllPackages();\n } else {\n this.activeSubscriptions.add(\n this._glite.getActiveClassId.subscribe((classInfo: any) => {\n if (classInfo.class_id) {\n this.selectedClass._id = classInfo.class_id;\n this.getGoals();\n }\n })\n );\n }\n this.userCart = JSON.parse(localStorage.getItem('userCart')) || [];\n if (this.showAllCourses) {\n this.coursesWeOffer = {\n loop: false,\n dots: false,\n margin: 50, \n autoplay: false,\n autoWidth: false,\n center: false,\n touchDrag: false,\n mouseDrag: false,\n items: 3,\n nav: true,\n navText: [`Slide Arrow`,`Slide Arrow`],\n responsive:{\n 0:{items: 1, touchDrag: true, mouseDrag: true},\n 576:{items: 2, touchDrag: true, mouseDrag: true},\n 768:{items: 2},\n 992:{items: 3},\n 1200:{items: 3},\n },\n };\n }\n }\n\n fetchAllPackages(): void {\n this.utilityService.getAllAvailablePackages().subscribe((res: any) => {\n const courses = res?.data?.packages || [];\n this.availableCourses = [...courses];\n this.availableCourses = courses.map(course => ({ ...course, cartCTATitle: PACKAGE_CTA_TITLE.ADD_TO_CART }));\n this.coursesLoader = false;\n this.targetExamYear = this.availableCourses[0]?.targetYear;\n this.targetExamDate.startDate = this.availableCourses[0]?.targetExam[0]?.examDates[0]?.startDate;\n this.targetExamDate.endDate = this.availableCourses[0]?.targetExam[0]?.examDates[0]?.endDate;\n this.renderAvailableCourses();\n },\n err => {\n throw new Error('Unable to fetch courses!');\n }\n )\n }\n\n fetchAllAvailedPackagesByUser() {\n this.activeSubscriptions.add(\n this._buyCourses.getAllAvailedPackages().subscribe(\n res => {\n if (res?.code === 200) {\n this.availedPackages = [...res?.data?.packages];\n }\n },\n err => {\n this._alert.showErrorMessage(err?.message);\n }\n )\n )\n }\n\n getGoals() {\n this.availableGoals=[];\n this.coursesLoader=true;\n this.activeSubscriptions.add(\n this._buyCourses.getGoals(this.selectedClass._id).subscribe(res => {\n this.availableGoals = res?.data || [];\n if (this.availableGoals.length) {\n const goalFromParams = this.goalAvailableInRoute && this.getGoalsFromParams();\n this.selectedGoal = goalFromParams || this.availableGoals[0];\n this.selectedGoalIndex = goalFromParams ? this.selectedGoalIndex : 0;\n this.getAvailableCourses();\n }\n },\n err => {\n throw new Error('Unable to fetch goals!');\n }\n )\n );\n }\n\n getGoalsFromParams() {\n const goalFromParams = this.availableGoals.filter((item: any, index: number) => {\n if (item.name.includes(this.goalAvailableInRoute)) {\n this.selectedGoalIndex = index;\n return true;\n }\n });\n return goalFromParams.length && goalFromParams[0];\n }\n\n selectGoal(selectedGoal: any, selectedIndex: number) {\n if (this.selectedGoalIndex !== selectedIndex) {\n this.selectedGoal = selectedGoal;\n this.selectedGoalIndex = selectedIndex;\n if(this.type !== DISPLAY_TYPE.PREP_TRACKER){\n const queryParams = { goal: this.selectedGoal.name };\n this.router.navigate(\n [],\n {\n relativeTo: this.route,\n queryParams,\n queryParamsHandling: 'merge',\n });\n } \n this.getAvailableCourses();\n }\n }\n\n getAvailableCourses() {\n this.coursesLoader=true;\n this.availableCourses = [];\n this.activeSubscriptions.add(\n this._buyCourses.getCourses(this.selectedClass._id, this.selectedGoal._id).subscribe(res => {\n const courses = res?.data?.packages || [];\n this.availableCourses = [...courses];\n this.availableCourses = courses.map(course => ({ ...course, cartCTATitle: PACKAGE_CTA_TITLE.ADD_TO_CART }));\n this.coursesLoader = false;\n this.targetExamYear = this.availableCourses[0]?.targetYear;\n this.targetExamDate.startDate = this.availableCourses[0]?.targetExam[0]?.examDates[0]?.startDate;\n this.targetExamDate.endDate = this.availableCourses[0]?.targetExam[0]?.examDates[0]?.endDate;\n this.renderAvailableCourses();\n },\n err => {\n throw new Error('Unable to fetch courses!');\n })\n );\n }\n\n renderAvailableCourses(): void {\n this.availableCourses.forEach((item: any) => {\n item['duration_years'] = item?.duration / this.DAYS_IN_YEAR;\n item['discountedPrice'] = item?.price - (item?.price * item?.discount / 100);\n })\n }\n\n getClasses(): void {\n this.activeSubscriptions.add(\n this.utilityService.getClasses().subscribe((res) => {\n if(res && res.code === 200){\n this.classesList = res?.data || [];\n if (this.classesList.length) {\n this.selectedClass = this.classAvailableInRoute ? { class: this.classAvailableInRoute, _id: AVAILABLE_CLASSES[this.classAvailableInRoute] } : this.classesList[this.classesList?.length - 1];\n this.getGoals();\n }\n }else{\n this._alert.showErrorMessage(res.message);\n }\n },error=>{\n this._alert.showErrorMessage(error.message);\n })\n );\n }\n\n onClassChange(index){\n this.selectedClass = this.classesList[index];\n const queryParams = { class: this.selectedClass.class };\n this.router.navigate(\n [],\n {\n relativeTo: this.route,\n queryParams,\n queryParamsHandling: 'merge',\n });\n this.getGoals();\n }\n\n ngOnDestroy(): void {\n this.activeSubscriptions.unsubscribe();\n }\n\n public get examInfo(){\n return EXAM_INFO;\n } \n public get userAction(){\n return USER_PURCHASE_ACTION;\n }\n public get DISPLAY_TYPE(){\n return DISPLAY_TYPE;\n }\n \n public get cartCourseIdList(): string[] {\n return this.userCart.map(course => course?._id);\n }\n\n courseRedirect(course,type){\n this.dismissModal();\n course['type']=type;\n course['class']=this.selectedClass;\n this.userCart.push(course);\n localStorage.setItem('userCart', JSON.stringify(this.userCart));\n if (type === this.userAction.BUY_NOW) {\n this.router.navigate(['/user/signup']);\n }\n }\n\n examRedirect(){\n const selectedGoal=this.availableGoals[this.selectedGoalIndex].name;\n let url = EXAM_INFO[selectedGoal].ROUTE_URL || '';\n if(!url && selectedGoal.toLowerCase().includes('ntse')){\n url='/ntse';\n }\n this.router.navigate([`/exam${url}`])\n }\n\n\n openDetail(index,course){\n this.courseId = course._id;\n this.selectedCourse = course;\n this.isPackageLoading = true;\n this.packageData = null;\n this.testCategories = [];\n this.classifiedTests = {};\n this.packageTargetExams = '';\n this.activeSubscriptions.add(\n this._courseCardService.getPackageDetails(course._id).subscribe(res => {\n if(res?.code === 200){\n this.isPackageLoading = false;\n this.packageData = res?.data?.packageDetails;\n this.packageTargetExams = res?.data?.packageDetails?.targetExams?.map(exam => exam?.courseName).join(', ');\n this.packageData?.tests?.forEach(test => {\n if(test?.mainTestType === 'combined'){\n test.mainTestType = 'half course';\n }\n if (this.classifiedTests[test?.mainTestType]) {\n this.classifiedTests[test?.mainTestType].listing.push(test);\n } else {\n this.classifiedTests[test?.mainTestType] = { listing: [], priority: 0 };\n this.classifiedTests[test?.mainTestType].listing = [test];\n this.classifiedTests[test?.mainTestType].priority = this.testPriorityMap[test?.mainTestType];\n }\n });\n this.testCategories = Object.keys(this.classifiedTests).sort((a, b) => {\n return this.classifiedTests[a].priority - this.classifiedTests[b].priority\n });\n setTimeout(() =>{\n $('#course_viewDetail'+course._id).modal('show');\n $(\".modal-backdrop.show\").hide();\n }, 0);\n }\n },\n err => {\n this.isPackageLoading = false;\n this._alert.showErrorMessage(err?.message || 'Something went wrong. Please try again later.');\n })\n )\n }\n dismissModal(){\n $('#course_viewDetail'+this.courseId).modal('hide');\n }\n\n showTestSyllabus(currentTest: any): void {\n this.activeSubscriptions.add(\n this._courseCardService.getTestSyllabusDetails({ testId: currentTest.testId, courseId: currentTest.goalId, packageId: currentTest.packageId, scheduleId: currentTest.scheduleId }).subscribe((res: any) => {\n if (res.code === 200) {\n const syllabus = res?.data?.syllabus;\n const testDetails = res?.data?.testDetails;\n this.syllabusInfo.name = currentTest?.displayName;\n this.syllabusInfo.type = testDetails?.displayTestType;\n this.syllabusInfo.subjectCount = syllabus?.subjects?.length;\n this.syllabusInfo.subjectsSyllabus = [...syllabus?.subjectsSyllabus];\n this.syllabusLevel= this.viewDetailsInfo.CHAPTERS;\n setTimeout(() => $('#syllabus'+this.courseId).modal('show'), 0);\n } else {\n this._alert.showErrorMessage(res.message);\n }\n }, (err: any) => {\n this._alert.showErrorMessage(err.message);\n })\n );\n }\n\n @ViewChildren('chapters') chaptersComponent: ElementRef[];\n @ViewChildren('conceptsCollapse') conceptsCollapseComponent: ElementRef[];\n @ViewChildren('subjects') subjectsComponent: ElementRef[];\n @ViewChildren('chaptersCollapse') chaptersCollapseComponent: ElementRef[];\n get viewDetailsInfo () {\n return DETAILS_INFO_CONST;\n }\n changeSyllabusLevel(level: string): void {\n if (this.syllabusLevel === level) {\n return;\n }\n this.syllabusLevel = level;\n this.chaptersCollapseComponent.forEach((div) => {\n div.nativeElement.classList.add('show');\n });\n this.subjectsComponent.forEach((div) => {\n div.nativeElement.setAttribute('aria-expanded', 'true');\n });\n if (level === this.viewDetailsInfo.CONCEPTS) {\n this.conceptsCollapseComponent.forEach((div) => {\n div.nativeElement.classList.add('show');\n });\n this.chaptersComponent.forEach((div) => {\n div.nativeElement.setAttribute('aria-expanded', 'true');\n });\n return;\n }\n this.conceptsCollapseComponent.forEach((div) => {\n div.nativeElement.classList.remove('show');\n });\n this.chaptersComponent.forEach((div) => {\n div.nativeElement.setAttribute('aria-expanded', 'false');\n });\n } \n}\n","
\n
\n
\n

Courses We Offer

\n
15+ Courses crafted especially to cater your preparation needs
\n
\n \n
\n

All Courses

\n
\n
\n \n

Recommended Study Material & Test Series

\n
Benchmark yourself against more than 700000+ learners worldwide and increase your chances to crack the exam.
\n
\n
\n
\n \n
\n \n
    \n
  • Class {{class.class}}\n
  • \n
\n
\n
\n
\n
\n \"Target\n
\n

{{availableGoals[selectedGoalIndex].name}} {{targetExamYear}}

\n
Exam Date:

\n
\n
\n Exam Information & News\n
\n
\n
\n
\n
\n \"Courses\n

No Courses Found

\n
\n \n
\n \n \n \n
\n \"Most\n
\n \n \n {{targetExam?.name}}-{{targetExam.targetYear}}\n \n \n
{{course?.name}}
\n
\n
{{course?.duration_years}} Year{{course?.duration_years > 1 ? 's' : ''}}\n Course
\n \n \n

{{'₹' + (course?.discountedPrice | number)}}*

\n {{'₹' + (course?.price | number)}}\n
\n
\n \n

Free

\n
\n \n

{{('₹' + (course?.price | number))}}

\n
\n
\n
\n
Validity: {{course?.expiryDate | date}}
\n \n Buy\n Now\n Add\n to Cart\n \n
\n
    \n
  • \"check\"{{info}}
  • \n
\n view Details\n
\n
\n
\n
\n
\n \n
\n
\n \"Most\n
\n \n \n {{targetExam?.name}}-{{targetExam.targetYear}}\n \n \n
{{course?.name}}
\n
\n
{{course?.duration_years}} Year{{course?.duration_years > 1 ? 's' : ''}}\n Course
\n \n \n

{{'₹' + (course?.discountedPrice | number)}}*

\n {{'₹' + (course?.price | number)}}\n
\n
\n \n

Free

\n
\n \n

{{('₹' + (course?.price | number))}}

\n
\n
\n
\n
Validity: {{course?.expiryDate | date}}
\n \n Buy\n Now\n Add\n to Cart\n \n
\n
    \n
  • \"check\"{{info}}
  • \n
\n view Details\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n View All Courses\n
*Inclusive of all taxes
\n
\n \n
**Tentative Dates *Exclusive of all taxes
\n
\n
\n
\n \n \n \n
\n
\n
\n\n\n\n
\n
\n
\n
\n
\n \"Back\"/Back to All Courses\n
\n
\n \n
\n \"CourseCourse Added to Account\n
\n
\n
\n
{{packageData?.name}}
\n
{{packageTargetExams}} | {{packageData?.tests?.length}} Total Test{{packageData?.tests?.length > 1 ? 's' : ''}}
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
{{test?.displayName}}
\n

\n Scheduled on: {{test?.scheduleDate | date: 'dd MMMM YYYY'}}\n Duration: {{test?.duration}} MIN\n

\n
\n
\n Syllabus\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n \"cartAdd to Cart \n \"BuyBuy Now\n\n\n\n\n
\n
\n
\n \n \n
\n
\n
\n\n\n
\n \"CourseCourse Added to Cart\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { EBOOKS, TAG_CLICKED } from './ebook.constant';\nimport { Router } from '@angular/router';\n@Component({\n selector: 'app-footer-before-login',\n templateUrl: './footer-before-login.component.html',\n styleUrls: ['./footer-before-login.component.scss']\n})\nexport class FooterBeforeLoginComponent implements OnInit {\n\n constructor(private router: Router) { }\n public isMobile: boolean = false;\n public companyMenu: boolean = false;\n public resourcesMenu: boolean = false;\n public examsMenu: boolean = false;\n public previousPapersMenu: boolean = false;\n public eBooksMenu: boolean = false;\n public toolsMenu: boolean = false;\n public reachUsMenu: boolean = false;\n ngOnInit(): void {\n if (/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){\n this.isMobile = true;\n }\n }\n public get FOOTERURL(){\n return environment;\n }\n\n public get ebook(){\n return EBOOKS;\n }\n\n redirectToEbooks(ebook){\n this.router.navigate(['/ebooks'],{queryParams:{exam:ebook.examType}});\n }\n\n scrollToTop(event){\n if(event.target.nodeName === TAG_CLICKED.ELEMENT && event?.target?.classList[0] !== TAG_CLICKED.CLASS){\n setTimeout(()=>{\n window.scrollTo(0, 0);\n },100);\n }\n }\n\n}\n","\n\n ","export class UserProfile {\n userId: string;\n name: string;\n userName: string;\n isPasswordSet: any;\n userMobile: string;\n countryCode: string;\n email: string;\n dateOfBirth: string;\n userGoals: any[];\n userClass: any;\n userCareers: any[];\n userLocation: {\n longitute: string;\n latitute: string;\n address: {\n pin: string;\n country: string;\n state: string;\n city: string;\n secondLine: string;\n firstLine: string;\n };\n };\n partner: {\n partnerInstitute: string,\n isPartner: any,\n isVerified: boolean,\n userName: string,\n partnerGoal: any[];\n };\n enrollmentNumber: string;\n webAccessCode: string;\n school: {\n country: any;\n state: any;\n city: any;\n id: string;\n name: string;\n schoolIdUrl: string;\n };\n photoUrlThumb: string;\n photoUrl: string;\n isFollowing: any;\n isFollowed: any;\n packageBought: any[];\n goalDDCount: any;\n tourStatus: any;\n referralCode: any;\n parentAccessToken: any;\n blockData: {\n isBlocked: string;\n blockReason: string;\n endTime: string;\n startTime: string;\n };\n isStepUser: boolean;\n refferedByCode: string;\n orgCentre: any;\n isFiitjee: any;\n isSchool: any;\n mobileIsVerified: boolean;\n emailIsverified: boolean;\n followerCount: number;\n followingCount: number;\n initials: string;\n initialsClass: string;\n userCentres: any;\n fiitjeeEnrollmentNumber: any;\n isNCRPUser: boolean;\n featurePermissions: any;\n isTeacher: boolean;\n isAdmissionTestUser: boolean;\n admissionTestDetail: any;\n hasActivePackage:boolean;\n onSpotRegNo: string;\n fiitjeeFacultyHiring: boolean | string;\n constructor(\n userId?, name?, userName?, userMobile?,countryCode?, email?,dateOfBirth?, userGoals?, userClass?, userCareers?,\n userLocation?, partner?, enrollmentNumber?, webAccessCode?,\n school?, photoUrlThumb?, photoUrl?, isFollowing?, isFollowed?, packageBought?,\n goalDDCount?, isPasswordSet?, tourStatus?, referralCode?, parentAccessToken?,\n remarkData?, refferedByCode?, orgCentre?, isFiitjee?, isSchool?, mobileIsVerified?, emailIsverified?,\n followerCount?, followingCount?, initials?, initialsClass?, userCentres?, fiitjeeEnrollmentNumber?,\n isNCRPUser?, featurePermissions?, isTeacher?, isAdmissionTestUser?, admissionTestDetail?, hasActivePackage?,\n onSpotRegNo?,\n fiitjeeFacultyHiring?\n ) {\n\n this.userId = userId || '';\n this.name = name || '';\n this.userName = userName || '';\n this.userMobile = userMobile || '';\n this.countryCode = countryCode || '';\n this.email = email || '';\n this.dateOfBirth=dateOfBirth || '';\n this.userGoals = userGoals || [];\n this.userClass = userClass || {};\n this.userCareers = userCareers || [];\n this.isPasswordSet = isPasswordSet || false;\n this.userLocation = userLocation || {};\n this.partner = partner || {};\n this.enrollmentNumber = enrollmentNumber || '';\n this.webAccessCode = webAccessCode || '';\n this.isFollowing = isFollowing || false;\n this.isFollowed = isFollowed || false;\n this.school = school || {};\n this.photoUrlThumb = photoUrlThumb || '';\n this.photoUrl = photoUrl || '';\n this.packageBought = packageBought || [];\n this.goalDDCount = goalDDCount || 0;\n this.tourStatus = tourStatus || { assignment: 'pending', dashboard: 'pending', myTest: 'pending' };\n this.referralCode = referralCode || '';\n this.parentAccessToken = parentAccessToken || '';\n this.isStepUser = false;\n this.blockData = remarkData || {};\n this.refferedByCode = refferedByCode || '';\n this.orgCentre = orgCentre || null;\n this.isFiitjee = isFiitjee || false;\n this.isSchool = isSchool || false;\n this.mobileIsVerified = mobileIsVerified || false;\n this.emailIsverified = emailIsverified || false;\n this.followerCount = followerCount || 0;\n this.followingCount = followingCount || 0;\n this.initials = initials || '';\n this.initialsClass = initialsClass || '';\n this.userCentres = userCentres || null;\n this.fiitjeeEnrollmentNumber = fiitjeeEnrollmentNumber || '';\n this.isNCRPUser = isNCRPUser || false;\n this.featurePermissions = featurePermissions || {};\n this.isTeacher = isTeacher || false;\n this.isAdmissionTestUser = isAdmissionTestUser || false;\n this.admissionTestDetail = admissionTestDetail || {};\n this.hasActivePackage = hasActivePackage || false;\n this.onSpotRegNo = onSpotRegNo || '';\n this.fiitjeeFacultyHiring = !!fiitjeeFacultyHiring;\n }\n}\n\n","import { HighlightSearch } from './pipes/highlight-search.pipe';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\n\nimport { HttpService } from './services/http.service';\nimport { UtilityService } from './services/utility.service';\nimport { ExtraEdgeService } from './services/extra-edge.service';\nimport { CleverTapService } from './services/clever-tap.service';\nimport { NotificationService } from './services/notification.service';\n\nimport { CaptchaDirective } from './directives/captcha.directive';\n\nimport { LoaderComponent } from './components/loader/loader.component';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { TransferToPaytmComponent } from './components/transfer-to-paytm/transfer-to-paytm.component';\nimport { HeaderAfterLoginComponent } from './components/header-after-login/header-after-login.component';\nimport { ShareReferralPopupComponent } from '../profile/my-cash-card/share-referral-popup/share-referral-popup.component';\nimport { ReportAbuseComponent } from './components/report-abuse/report-abuse.component';\nimport { ConvertSecondsPipe } from './pipes/convert-seconds.pipe';\nimport { OwlModule } from 'ngx-owl-carousel';\nimport { CarouselModule } from 'ngx-owl-carousel-o';\nimport { SeriousAttemptWarningComponent } from './serious-attempt-warning/serious-attempt-warning.component';\nimport { InfoPopupComponent } from './components/info-popup/info-popup.component';\nimport { HomeSearchComponent } from '../home-page/shared/home-search/home-search.component';\nimport { TagCreatorSharedComponent } from './components/tag-creator-shared/tag-creator-shared.component';\nimport { DoneWithRevisionComponent } from './components/done-with-revision/done-with-revision.component';\nimport { PageLockComponent } from './page-lock/page-lock.component';\nimport { ReportAnIssueComponent } from './components/report-an-issue/report-an-issue.component';\nimport { ReportAnIssueIdeaComponent } from './components/report-an-issue-idea/report-an-issue-idea.component';\nimport { SelectedCardLoaderComponent } from '../home-page/shared/selected-card-loader/selected-card-loader.component';\nimport { TestDetailsSyllabusComponent } from './components/test-details-syllabus/test-details-syllabus.component';\nimport { ZoomDirective } from './directives/zoom.directive';\nimport { NotificationComponent } from './components/header-after-login/notification/notification.component';\nimport { ProfileDropdownComponent } from './components/header-after-login/profile-dropdown/profile-dropdown.component';\nimport { LogoutConfirmComponent } from './components/logout-confirm/logout-confirm.component';\nimport { DateDifferencePipe } from './pipes/date-difference.pipe';\nimport { LazyLoadingService } from './services/lazy-loading.service';\nimport { SideFilterListComponent } from '../test-results-analytics/side-filter-list/side-filter-list.component';\nimport { AutoProctorDialogComponent } from '../test/shared/components/auto-proctor-dialog/auto-proctor-dialog.component';\nimport { MultiselectfilterComponent } from '../test-results-analytics/side-filter-list/multiselectfilter/multiselectfilter.component';\nimport { MathliveDirective } from './directives/mathlive.directive';\nimport { MyplanPopupComponent } from './components/myplan-popup/myplan-popup.component';\nimport { LoaderLiteComponent } from './loader-lite/loader-lite.component';\nimport { FreeTrialFormComponent } from './components/form/free-trial-form/free-trial-form.component';\nimport { CoursesWeOfferComponent } from './components/courses-we-offer/courses-we-offer.component';\nimport { OtpVerifyModalComponent } from './components/otp-verify-modal/otp-verify-modal.component';\nimport { TestimonialHomeComponent } from './components/testimonial-home/testimonial-home.component';\nimport { SafePipe } from './pipes/safe.pipe';\nimport { SanitiseHTMLPipe } from './pipes/sanitise-html.pipe';\nimport { DownloadEbookComponent } from '../landing-pages/ebooks/download-ebook/download-ebook.component';\nimport { SocialSignupLoginComponent } from '../auth/signup-login-master/shared/social-signup-login/social-signup-login.component';\nimport { DetectVisibilityDirective } from './directives/detect-visibility.directive';\nimport { PrimaryGoalPopupComponent } from './components/primary-goal-popup/primary-goal-popup.component';\nimport { FreeTrialExpiryComponent } from '../home-page/shared/free-trial-details/free-trial-expiry/free-trial-expiry.component';\nimport { TestFiltersComponent } from '../home-page/shared/test-filters/test-filters.component';\nimport { ApiFailedForCardsComponent } from '../home-page/shared/api-failed-for-cards/api-failed-for-cards.component';\nimport { LockedStateComponent } from '../home-page/shared/locked-state/locked-state.component';\nimport { ProfileUserInfoComponent } from './components/profile-user-info/profile-user-info.component';\nimport { DateFilterComponent } from '../home-page/shared/test-filters/date-filter/date-filter.component';\nimport { AngularMyDatePickerModule } from 'angular-mydatepicker';\n\nexport interface LazyLoadFile {\n url: string;\n type: 'stylesheet' | 'script';\n}\n\nexport class LazyLoadFileImpl implements LazyLoadFile {\n url: string;\n type: 'stylesheet' | 'script';\n constructor(url: string, type: 'stylesheet' | 'script') {\n this.url = url;\n this.type = type;\n }\n}\n\n@NgModule({\n imports: [\n CommonModule, OwlModule, FormsModule, HttpClientModule, InfiniteScrollModule,\n RouterModule, ReactiveFormsModule, CarouselModule, AngularMyDatePickerModule\n ],\n\n declarations: [\n CaptchaDirective,\n ChangePasswordComponent, HeaderAfterLoginComponent, LoaderComponent,\n ShareReferralPopupComponent, TransferToPaytmComponent,\n ReportAbuseComponent, ConvertSecondsPipe, SeriousAttemptWarningComponent,\n HomeSearchComponent, PageLockComponent,\n HighlightSearch,\n NotificationComponent,\n ProfileDropdownComponent,\n LogoutConfirmComponent,\n InfoPopupComponent,\n TagCreatorSharedComponent,\n DoneWithRevisionComponent,\n ReportAnIssueComponent,\n ReportAnIssueIdeaComponent,\n SelectedCardLoaderComponent,\n SideFilterListComponent,\n AutoProctorDialogComponent,\n MultiselectfilterComponent,\n // SafeHtmlPipe\n TestDetailsSyllabusComponent,\n ZoomDirective,\n DateDifferencePipe,\n MathliveDirective,\n MyplanPopupComponent,\n LoaderLiteComponent,\n FreeTrialFormComponent,\n CoursesWeOfferComponent,\n OtpVerifyModalComponent,\n TestimonialHomeComponent,\n SafePipe,\n SanitiseHTMLPipe,\n DownloadEbookComponent,\n SocialSignupLoginComponent,\n DetectVisibilityDirective,\n FreeTrialExpiryComponent,\n TestFiltersComponent,\n ApiFailedForCardsComponent,\n LockedStateComponent,\n PrimaryGoalPopupComponent,\n ProfileUserInfoComponent,\n DateFilterComponent\n ],\n exports: [\n CaptchaDirective,\n LoaderComponent, HeaderAfterLoginComponent,\n ShareReferralPopupComponent, TransferToPaytmComponent,\n ReportAbuseComponent, ConvertSecondsPipe, SeriousAttemptWarningComponent,\n HighlightSearch,\n InfoPopupComponent, HomeSearchComponent,\n TagCreatorSharedComponent, DoneWithRevisionComponent, PageLockComponent,\n ReportAnIssueComponent, ReportAnIssueIdeaComponent,\n SelectedCardLoaderComponent, ZoomDirective,\n CommonModule, OwlModule, FormsModule, HttpClientModule, InfiniteScrollModule,\n RouterModule, ReactiveFormsModule, DateDifferencePipe,\n ChangePasswordComponent, NotificationComponent, ProfileDropdownComponent, LogoutConfirmComponent, SideFilterListComponent, AutoProctorDialogComponent, MultiselectfilterComponent, TestDetailsSyllabusComponent,\n MyplanPopupComponent, MathliveDirective,\n LoaderLiteComponent, FreeTrialFormComponent, CoursesWeOfferComponent, OtpVerifyModalComponent, TestimonialHomeComponent, SafePipe, SanitiseHTMLPipe, DownloadEbookComponent, SocialSignupLoginComponent, DetectVisibilityDirective,\n FreeTrialExpiryComponent,\n TestFiltersComponent,\n ApiFailedForCardsComponent,\n LockedStateComponent,\n PrimaryGoalPopupComponent,\n ],\n providers: [LazyLoadingService, DatePipe, HttpService, CleverTapService, ExtraEdgeService, NotificationService],\n})\nexport class SharedModule { }\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { Store } from '@ngrx/store';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport * as fromApp from '../../../../stores/app.reducers';\nimport * as AuthActions from '../../../../stores/auth/auth.actions';\nimport * as UserProfileActionList from '../../../../stores/profile/user-profile.actions';\nimport * as ProformaActions from '../../../../stores/proforma/proforma.actions';\n\nimport { HttpService } from '../../../../shared/services/http.service';\nimport { AlertService } from '../../../../shared/services/alert.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SignupService {\n public signUpVerified = new BehaviorSubject(false);\n public otpApiError = new BehaviorSubject('');\n public resetCaptcha = new BehaviorSubject(false);\n public isLogOut = false;\n constructor(private http: HttpService,\n private alert: AlertService,\n private store: Store,\n private router: Router\n ) { }\n\n applyReferralCode(value): any {\n return new Promise((resolve, reject) => {\n const apiUrl = 'v4/referral-code/' + value;\n this.http.get(apiUrl, false, null, true).subscribe(res => {\n resolve(res);\n });\n });\n }\n\n forgotPassword(body): any {\n return new Promise((resolve, reject) => {\n const apiUrl = 'v4/forgot-password';\n this.http.post(apiUrl, false, body, true).subscribe(res => {\n if (res.code === 200 || res.code === 404) {\n if (res.code === 200) {\n this.alert.showSuccessMessage(res.message);\n } else if (res.code === 404 && res.message.toLowerCase() === 'user not found') {\n this.alert.showErrorMessage(res.message);\n }\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n verifyOTP(from, body): any {\n let apiUrl = 'v4/verify-forgot-password';\n if (from == 'loginOtp') {\n apiUrl = 'v4/login/verify-otp';\n }\n return new Promise((resolve, reject) => {\n this.http.post(apiUrl, false, body, true).subscribe(res => {\n if (res.code === 200) {\n localStorage.removeItem('lastRequested');\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n resetPassword(body) {\n return new Promise((resolve, reject) => {\n const apiUrl = 'v4/auth/reset-password';\n this.http.post(apiUrl, true, body, true).subscribe(res => {\n this.alert.showSuccessMessage(res.message);\n resolve(res);\n });\n });\n }\n\n login(loginType, body) {\n let apiUrl;\n switch (loginType) {\n case 2:\n apiUrl = 'v4/login';\n break;\n case 1:\n apiUrl = 'v4/enrollment-login';\n }\n return new Promise((resolve, reject) => {\n this.http.post(apiUrl, false, body, true).subscribe(res => {\n if (res.code === 200) {\n resolve(res);\n } else {\n if (res.code === 400 && res.message === 'This mobile is not registered with us. Please Sign Up.') {\n // this.router.navigateByUrl('/auth/sign-up');\n }\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getOrganisation(query) {\n return new Promise((resolve, reject) => {\n let apiUrl = 'v4/organizations';\n const queryString = `?instituteId=${query.instituteId}`;\n apiUrl += queryString;\n this.http.get(apiUrl, false, null, true).subscribe(res => {\n if (res.code === 200) {\n resolve(res);\n } else {\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n sendOtp(body) {\n const apiUrl = 'v4/login/send-otp';\n return new Promise((resolve, reject) => {\n this.http.post(apiUrl, false, body, true).subscribe(res => {\n if (res.code === 200) {\n this.alert.showSuccessMessage(res.message);\n resolve(res);\n } else {\n // if (res.code === 400 && res.message === 'This mobile is not registered with us. Please Sign Up.') {\n // this.router.navigateByUrl('/auth/sign-up');\n // }\n this.alert.showErrorMessage(res.message);\n }\n });\n });\n }\n\n navigateAfterLogin(data, userTag: string = 'student'): void {\n data.tag = userTag;\n localStorage.removeItem('lastRequested');\n localStorage.setItem('authToken', data.authToken);\n this.store.dispatch(new AuthActions.SetToken(data.authToken));\n this.store.dispatch(new AuthActions.SetAuthentication());\n this.store.dispatch(new UserProfileActionList.GetUserDetail(data));\n }\n\n setAuthData(authToken) {\n this.store.dispatch(new AuthActions.SetToken(authToken));\n this.store.dispatch(new AuthActions.SetAuthentication());\n }\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport * as AuthActions from '../../../stores/auth/auth.actions';\nimport * as fromApp from '../../../stores/app.reducers';\nimport { Store } from '@ngrx/store';\nimport { environment } from 'src/environments/environment';\n@Component({\n selector: 'app-logout-confirm',\n templateUrl: './logout-confirm.component.html',\n styleUrls: ['./logout-confirm.component.scss']\n})\nexport class LogoutConfirmComponent implements OnInit {\n public userData;\n @Output() closeLogoutPopup = new EventEmitter();\n constructor(private store: Store) { }\n\n ngOnInit(): void {\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n });\n }\n\n closeModal(): void {\n this.closeLogoutPopup.emit();\n }\n\n logout(): void {\n this.store.dispatch(new AuthActions.Logout());\n }\n\n}\n","\n
\n
\n
\n \n
\n
\n \"Logout\"/\n

Logout

\n

Are you sure you want to logout?

\n
\n
\n
\n \n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport _ from 'lodash';\nimport { AlertService } from 'src/app/shared/services/alert.service';\n\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\n\nexport class AlertComponent implements OnInit {\n\n public alertSubscription: Subscription;\n public timeOut: any;\n public alertMessageSuccess = '';\n public alertMessageSuccessSubtitle = '';\n public alertMessageError = '';\n public alertMessageErrorSubtitle = '';\n public alertMessageWarning = '';\n public alertMessageCustom = {\n title: '',\n btn: ''\n };\n public dynamicCustomMessageAlert = '';\n public dynamicMessageClass: string = '';\n public dynamicMessageIcon: string = '';\n\n showMessage(str): void {\n $(`#${str}-alert`).delay(200).alert();\n }\n\n hideMessage(): void {\n this.timeOut = setTimeout(() => {\n $('.alert').fadeOut('slow');\n this.alertMessageSuccess = '';\n this.alertMessageSuccessSubtitle = '';\n this.alertMessageWarning = '';\n this.alertMessageError = '';\n this.dynamicCustomMessageAlert = '';\n this.alertMessageCustom = {\n title: '',\n btn: ''\n };\n }, 100);\n }\n\n constructor(private alertService: AlertService) {\n }\n\n ngOnInit(): void {\n this.alertSubscription = this.alertService.messageChange.subscribe((data) => {\n this.alertMessageErrorSubtitle = '';\n this.alertMessageError = '';\n switch (data.type) {\n case 0:\n if (data?.subtitle) {\n data.subtitle = !(_.isEmpty(data.subtitle)) && data.subtitle.trim();\n data.subtitle = !(_.isEmpty(data.subtitle)) && data.subtitle.charAt(0).toUpperCase() + data.subtitle.slice(1);\n this.alertMessageErrorSubtitle = data.subtitle;\n }\n if (data?.error) {\n data.error = !(_.isEmpty(data.error)) && data.error.trim();\n data.error = !(_.isEmpty(data.error)) && data.error.charAt(0).toUpperCase() + data.error.slice(1);\n }\n this.alertMessageError = data.error;\n this.showMessage('error');\n break;\n case 1:\n if (data.success) {\n data.success = data.success.trim();\n data.success = data.success.charAt(0).toUpperCase() + data.success.slice(1);\n }\n if (data?.subtitle) {\n data.subtitle = !(_.isEmpty(data.subtitle)) && data.subtitle.trim();\n data.subtitle = !(_.isEmpty(data.subtitle)) && data.subtitle.charAt(0).toUpperCase() + data.subtitle.slice(1);\n this.alertMessageSuccessSubtitle = data.subtitle;\n }\n this.alertMessageSuccess = data.success;\n this.showMessage('success');\n break;\n case 2:\n if (data.warning) {\n data.warning = data.warning.trim();\n data.warning = data.warning.charAt(0).toUpperCase() + data.warning.slice(1);\n }\n this.alertMessageWarning = data.warning;\n this.showMessage('warning');\n break;\n case 3:\n if (data.custom) {\n data.custom = !(_.isEmpty(data.custom)) && data.custom.trim();\n data.custom = !(_.isEmpty(data.custom)) && data.custom.charAt(0).toUpperCase() + data.custom.slice(1);\n }\n this.dynamicMessageClass = data.className;\n this.dynamicMessageIcon = data.icon;\n this.dynamicCustomMessageAlert = data.custom;\n this.showMessage('dynamic-custom');\n break;\n case 4:\n if (data.customBtn) {\n data.customBtn = data.customBtn.trim();\n data.customBtn = data.customBtn.charAt(0).toUpperCase() + data.customBtn.slice(1);\n }\n this.alertMessageCustom.title = data.customBtn;\n this.alertMessageCustom.btn = data.btnName;\n this.showMessage('customBtn');\n break;\n case -1:\n this.hideMessage();\n }\n });\n }\n\n undoRevision(): void {\n this.alertService.undoRevisionQuestion.next(true);\n this.hideMessage();\n }\n}\n","\n
\n
\n
\n \n
\n
\n {{alertMessageSuccess}}\n

{{alertMessageSuccessSubtitle}}

\n
\n
\n ×\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n {{alertMessageError}}\n

{{alertMessageErrorSubtitle}}

\n
\n
\n ×\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n {{alertMessageWarning}}\n
\n
\n ×\n
\n
\n
\n\n\n
\n
\n
\n \n
\n
\n {{alertMessageCustom.title}}\n

Question removed from Revision Notebook

\n
\n
\n \n {{alertMessageCustom.btn}}\n
\n
\n
\n\n\n
\n
\n
\n \n
\n
\n {{dynamicCustomMessageAlert}}\n \n
\n
\n ×\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn:'root'\n})\nexport class CourseCardService {\n\n constructor(private _http: HttpService) { }\n\n getPackageDetails(pid){\n return this._http.get(`api/v3/open/package/${pid}/details`, false, null, true, false, environment.serverURLv3);\n }\n\n getTestSyllabusDetails (payload: any) {\n let url=`v4/tests/${payload.testId}/details?courseId=${payload.courseId}&packageId=${payload.packageId}`\n if(payload.testId === '0'.repeat(24) && payload.scheduleId){\n url += `&scheduleID=${payload.scheduleId}`\n }\n return this._http.get(url, false, {}, true, false, environment.serverURLv4);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'sanitiseHTML'\n})\nexport class SanitiseHTMLPipe implements PipeTransform {\n constructor(private _sanitizer: DomSanitizer){}\n transform(value) {\n return this._sanitizer.bypassSecurityTrustHtml(value);\n }\n\n}\n","import { Component, OnInit, ViewChild, OnDestroy, Output, EventEmitter } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport { Observable, timer, Subscription } from 'rxjs';\nimport { map, scan, take } from 'rxjs/operators';\n\nimport * as fromApp from 'src/app/stores/app.reducers';\nimport * as AuthActions from 'src/app/stores/auth/auth.actions';\n\nimport { HttpService } from '../../services/http.service';\nimport { AlertService } from './../../services/alert.service';\nimport { UtilityService } from '../../services/utility.service';\nimport { CaptchaDirective } from 'src/app/shared/directives/captcha.directive';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: './change-password.component.html',\n styleUrls: ['./change-password.component.scss']\n})\n\nexport class ChangePasswordComponent implements OnInit, OnDestroy {\n\n @ViewChild(CaptchaDirective) vc: CaptchaDirective;\n @Output() closeChangePass = new EventEmitter();\n\n userData: any;\n isPasswordSet: boolean = true;\n enrollmentNumber: string;\n\n oldPassword = '';\n newPassword = '';\n confirmPassword = '';\n\n displayOldPassword: boolean = false;\n displayNewPassword: boolean = false;\n displayConfirmPassword: boolean = false;\n\n strength = 0;\n\n userMobileOtp = '';\n forgotPasswordClicked = false;\n recoverPasswordViaOtp: boolean = false;\n\n captchaChecked: boolean = false;\n captchaShow: boolean = false;\n showCaptchaError: boolean = false;\n\n countDownTimer$: Observable = null;\n counterLimit: number = 30;\n\n private validators: any = {\n min: false,\n max: false,\n digits: false,\n lower: false,\n upper: false,\n nonWords: false\n };\n\n private responseResolverSubscription$: Subscription;\n\n constructor(\n private httpService: HttpService,\n private utility: UtilityService,\n private alertService: AlertService,\n private store: Store,\n ) { }\n\n ngOnInit(): void {\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n this.isPasswordSet = this.userData.isPasswordSet;\n this.enrollmentNumber = this.userData.enrollmentNumber;\n });\n this.initResponseResolver();\n }\n\n public togglePasswordDisplay(field: FieldTypes) {\n switch (field) {\n case FieldTypes.OLD_PASSWORD:\n this.displayOldPassword = !this.displayOldPassword;\n break;\n case FieldTypes.NEW_PASSSWORD:\n this.displayNewPassword = !this.displayNewPassword;\n break;\n case FieldTypes.CONFIRM_PASSWORD:\n this.displayConfirmPassword = !this.displayConfirmPassword;\n break;\n }\n }\n\n public changePassword() {\n let payload = {\n password: this.newPassword,\n confirmPassword: this.confirmPassword\n };\n if (this.recoverPasswordViaOtp) {\n this.verifyOTP();\n } else {\n payload['oldPassword'] = this.oldPassword;\n this.httpService.put('v4/auth/users/password', true, payload).subscribe((res) => {\n if (res && res.code === 200) {\n this.alertService.showSuccessMessage('Password Changed Successfully.');\n this.closeModalEvent();\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n }\n }\n\n setPassword(): void {\n const payload = {\n password: this.newPassword,\n confirmPassword: this.confirmPassword,\n };\n this.httpService.post('v4/auth/reset-password', true, payload).subscribe((res) => {\n if (res && res.code === 200) {\n this.alertService.showSuccessMessage('Password Set Successfully.');\n this.isPasswordSet = true;\n this.closeModalEvent();\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n }\n\n public forgotPassword() {\n this.forgotPasswordClicked = true;\n this.checkIfCaptchaShow();\n this.initCountDownTimer();\n }\n\n public sendOTP() {\n let token;\n if (this.captchaShow && this.vc) {\n token = this.vc.getResponse();\n }\n const body = {\n captchaToken: token\n };\n this.httpService.post('v4/auth/forgot-password', true, body).subscribe((res) => {\n if (res && res.code === 200) {\n this.forgotPasswordClicked = false;\n this.recoverPasswordViaOtp = true;\n }\n });\n }\n\n verifyOTP(): void {\n const body = {\n device: 'desktop',\n osType: 'web',\n otp: this.userMobileOtp\n };\n this.httpService.post('v4/auth/verify-forgot-password', true, body).subscribe((res) => {\n if (res && res.code === 200) {\n localStorage.setItem('authToken', res.data.authToken);\n sessionStorage.setItem('authToken', res.data.authToken);\n new AuthActions.SetToken(res.data.authToken);\n new AuthActions.SetAuthentication();\n this.setPassword();\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n }\n\n public captchaExpired(): void {\n if (this.vc) {\n this.vc.reset();\n }\n this.captchaChecked = false;\n }\n\n public captchaValidationSuccess(): void {\n this.captchaChecked = true;\n this.showCaptchaError = false;\n this.recoverPasswordViaOtp = true;\n this.initCountDownTimer();\n this.sendOTP();\n }\n\n public checkIfCaptchaShow(): void {\n this.utility.fetchCaptchaDetails().then(res => {\n if (res) {\n if (res && res.code === 200) {\n this.captchaShow = res.data.showCaptcha;\n }\n if (!this.captchaShow) {\n this.recoverPasswordViaOtp = true;\n this.sendOTP();\n }\n }\n });\n }\n\n private initCountDownTimer() {\n this.countDownTimer$ = timer(0, 1000).pipe(\n scan(acc => --acc, this.counterLimit),\n map(acc => acc < 10 ? (`0${acc}`) : acc),\n take(this.counterLimit)\n );\n }\n\n public resendOtp() {\n this.checkIfCaptchaShow();\n this.forgotPasswordClicked = true;\n }\n\n public changePasswordBtnValidator() {\n let condition = this.newPassword === '' || this.confirmPassword !== this.newPassword;\n if (this.recoverPasswordViaOtp) {\n condition = condition || this.userMobileOtp.length !== 4;\n } else {\n condition = condition || this.oldPassword === '' || (this.forgotPasswordClicked && !this.captchaChecked);\n }\n return condition;\n }\n\n private onPasswordChangeSuccess() {\n this.alertService.showSuccessMessage('Your password has been successfully changed!');\n this.oldPassword = '';\n this.newPassword = '';\n this.confirmPassword = '';\n this.userMobileOtp = '';\n this.recoverPasswordViaOtp = false;\n this.isPasswordSet = true;\n }\n\n private onPasswordChangeFailure() {\n if (this.recoverPasswordViaOtp) {\n this.alertService.showErrorMessage('Invalid OTP');\n this.userMobileOtp = '';\n } else {\n this.alertService.showErrorMessage('Incorrect old password. Please retry.');\n this.oldPassword = '';\n }\n }\n\n private initResponseResolver() {\n this.responseResolverSubscription$ = this.utility.changePasswordResolver.subscribe(res => {\n switch (res.type) {\n case 'change-password':\n if (res.success) this.onPasswordChangeSuccess();\n else this.onPasswordChangeFailure();\n break;\n }\n });\n }\n\n public numberOnlyValidator(event: any) {\n const pattern = /^[0-9]*$/;\n if (!pattern.test(event.target.value)) {\n event.target.value = event.target.value.replace(/[^0-9]/g, \"\");\n this.userMobileOtp = event.target.value;\n }\n }\n\n public closeModalEvent() {\n this.captchaExpired();\n this.oldPassword = '';\n this.newPassword = '';\n this.confirmPassword = '';\n this.userMobileOtp = '';\n this.strength = 0;\n this.recoverPasswordViaOtp = false;\n this.countDownTimer$ = null;\n this.closeChangePass.emit();\n }\n\n onPasswordChange(password): void {\n const c = this.getColor(\n this.measureStrength(password)\n );\n this.strength = c;\n }\n\n public measureStrength(pass: string): number {\n let score = 0;\n // award every unique letter until 5 repetitions\n const letters = {};\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < pass.length; i++) {\n letters[pass[i]] = (letters[pass[i]] || 0) + 1;\n score += 5.0 / letters[pass[i]];\n score += letters[pass[i]];\n }\n // bonus points for mixing it up\n const variations = {\n min: pass.length >= 6,\n max: pass.length >= 10,\n digits: /\\d/.test(pass),\n lower: /[a-z]/.test(pass),\n upper: /[A-Z]/.test(pass),\n nonWords: /\\W/.test(pass)\n };\n let variationCount = 0;\n // tslint:disable-next-line: forin\n for (const check in variations) {\n variationCount += variations[check] ? 1 : 0;\n this.validators[check] = variations[check];\n }\n // tslint:disable-next-line: no-string-literal\n if (!variations['min']) {\n variationCount = 0;\n }\n return variationCount;\n }\n\n private getColor(score: number): number {\n let idx = 0;\n if (score === 6) {\n idx = 4;\n } else if (score >= 4) {\n idx = 3;\n } else if (score === 3) {\n idx = 2;\n } else if (score === 2) {\n idx = 1;\n }\n return idx;\n }\n\n getWeak(): any {\n const colorBar = { default: false, weak: false, good: false, average: false, strong: false };\n switch (this.strength) {\n case 0:\n colorBar.default = true;\n break;\n case 1:\n colorBar.weak = true;\n break;\n case 2:\n colorBar.average = true;\n break;\n case 3:\n colorBar.good = true;\n break;\n case 4:\n colorBar.strong = true;\n break;\n default:\n colorBar.default = true;\n }\n return colorBar;\n }\n\n getAverage(): any {\n const colorBar = { default: false, weak: false, good: false, average: false, strong: false };\n switch (this.strength) {\n case 0:\n colorBar.default = true;\n break;\n case 2:\n colorBar.average = true;\n break;\n case 3:\n colorBar.good = true;\n break;\n case 4:\n colorBar.strong = true;\n break;\n default:\n colorBar.default = true;\n }\n return colorBar;\n }\n\n getGood(): any {\n const colorBar = { default: false, weak: false, good: false, average: false, strong: false };\n switch (this.strength) {\n case 0:\n colorBar.default = true;\n break;\n case 3:\n colorBar.good = true;\n break;\n case 4:\n colorBar.strong = true;\n break;\n default:\n colorBar.default = true;\n }\n return colorBar;\n }\n\n getStrong(): any {\n const colorBar = { default: false, weak: false, good: false, average: false, strong: false };\n switch (this.strength) {\n case 0:\n colorBar.default = true;\n break;\n case 4:\n colorBar.strong = true;\n break;\n default:\n colorBar.default = true;\n }\n return colorBar;\n }\n\n ngOnDestroy(): void {\n try {\n this.responseResolverSubscription$.unsubscribe();\n } catch (error) {\n // Do nothing\n }\n }\n}\n\nenum FieldTypes {\n OLD_PASSWORD, NEW_PASSSWORD, CONFIRM_PASSWORD\n}\n","
\n
\n
\n
\n
\n {{ isPasswordSet ? 'Change Password' : 'Set Password' }}\n
\n \n
\n
\n

\n You have not set your password yet. Create a password to easily login, without OTPs or via social login.\n

\n
\n
\n \n
\n \n \n
\n
\n \n
\n
\n
\n \n
\n 00:{{countDownTimer$ | async}}\n
\n
\n Send OTP again\n
\n

\n Please enter the 4-digit OTP sent to your registered mobile/email to reset your password.\n

\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n \n
\n

Password does not match!

\n
\n
\n
\n Password should be atleast 6 characters.\n
\n
\n
\n \n \n \n \n
\n

Weak Password

\n

Average Password

\n

Good Password

\n

Strong Password

\n
\n
    \n 0 ? newPassword.length > 10 ? 'strong-text' : 'weak-text' : 'default-text'\">\n A strong password typically contains 10-12 characters\n \n
  • 0 ? strength != 4 ? 'weak-text' : 'strong-text' : 'default-text'\">\n Use a combination of atleast 1 lower case, 1 upper case, 1\n number and 1 special character\n
  • \n 0 ? newPassword === 'password' || newPassword === 'Password' ? 'weak-text' : 'strong-text' : 'default-text'\">\n Do not keep your username or words like “password” as your\n password\n \n
\n
\n\n
\n
\n
\n
\n
\n
\n Please select captcha\n
\n\n
\n
\n
\n \n\n \n
\n
\n
\n
","\n\n\n\n\n\n\n\n\n\n\n\n
\n
\n
\n
\n
\n \"Restrict\n

Access Restricted

\n
\n

\n Your access to myPAT® has been restricted. Please provide the details requested on your email to restore access.\n

\n
\n
\n
\n
\n\n \n\n\n\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationCancel, NavigationEnd, NavigationError, RouteConfigLoadEnd, RouteConfigLoadStart, Router, RouterModule } from '@angular/router';\n\nimport { Store } from '@ngrx/store';\n\nimport * as fromApp from './stores/app.reducers';\nimport * as LoaderAction from './stores/loader/loader.actions';\nimport * as UserProfileActions from './stores/profile/user-profile.actions';\nimport { DetectLocationService } from './shared/services/detect-location.service';\nimport * as AuthActions from './stores/auth/auth.actions';\nimport _ from 'lodash';\nimport { concatMap, filter, last, toArray } from 'rxjs/operators';\nimport ClevertapReact from 'clevertap-react';\nimport { LazyLoadingService } from './shared/services/lazy-loading.service';\nimport { LazyLoadFileImpl } from './shared/shared.module';\nimport { environment } from './../environments/environment';\nimport { BrowserGlobalsService } from 'browser-globals';\nimport { GoogleTagManagerService } from 'angular-google-tag-manager';\nimport { UtilityService } from './shared/services/utility.service';\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { GLiteUtilityService } from './shared/services/g-lite-utility.service';\nimport { BuyCoursesService } from './home-page/cards-detail/right-selected-card/buy-courses/buy-courses.service';\nimport { AlertService } from './shared/services/alert.service';\nimport { Subscription, from } from 'rxjs';\nimport { ROUTES as ON_SPOT_ROUTES } from './on-spot-test/on-spot-test.constants';\nimport { ROUTES } from './shared/constants/route.constant';\nimport { CART_WARNING } from './shared/constants/error.constants';\nimport { Title } from '@angular/platform-browser'\nimport { EDFORA_DOMAIN, EDFORA_QUIZ_DOMAIN, EDFORA_QUIZ_FAVICON, EDFORA_QUIZ_TITLE, EDFORA_QUIZ_URL, EDFORA_QUIZ_URL_STPT_15, FACULTY_RECRUITMENT } from './app.constants';\ndeclare var $: any;\n\ndeclare const gtag: Function; // <------------Important: the declartion for gtag is required!\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n providers: [{ provide: 'googleTagManagerId', useValue: environment.gtmId }]\n})\nexport class AppComponent implements OnInit, OnDestroy {\n private baseURLMinimumLength: number = 2;\n title = 'mypat-fe-students';\n public authenticated: boolean = false;\n public showHeader: boolean = false;\n public examPopupDetails: any = [];\n public numberOfPopups: number = 0;\n private originalExamPopupDetails: any = [];\n private activeSubscriptions = new Subscription();\n private routesToShowHeader = [\n \"/home\",\n \"/terms-of-use\",\n \"/privacy-policy\",\n \"/profile\",\n \"/dashboard\",\n \"/refer-and-earn\",\n \"/\",\n \"/community\",\n \"/view-schedule\",\n \"/concept-history\",\n \"/my-revision-plan\",\n \"/about-us\",\n \"/exam-temparament-questions\",\n \"/help\",\n \"/idea\",\n \"/live-classes\",\n \"/copyright\",\n \"/disclaimer\",\n \"/fiitjee-recorded-lectures-privacy-policy\",\n \"/cart\",\n \"/checkout\",\n \"/view-our-results\",\n \"/previous-year-paper-download\",\n \"/scholarship\",\n \"/competitive-exam\",\n \"/exam\",\n \"/ebooks\",\n \"/college-predictor\",\n \"/prep-tracker\",\n \"/all-courses\"\n ];\n private screenWidth: number = 0;\n isRestrictAccess: boolean = false;\n\n constructor(private store: Store,\n private router: Router,\n private route: ActivatedRoute,\n private gtmService: GoogleTagManagerService,\n private detectLocation: DetectLocationService,\n private lazyLoadingService: LazyLoadingService,\n private utilityService: UtilityService,\n @Inject(DOCUMENT) private readonly document: Document,\n private _buyCourses: BuyCoursesService,\n private _gLiteUtilityService: GLiteUtilityService,\n private _alertService: AlertService,\n private titleService: Title,\n ) { \n this.screenWidth = window.innerWidth || this.document.documentElement.clientWidth || this.document.body.clientWidth;\n }\n redirectMobileDevice():void{\n // if (/android/i.test(navigator.userAgent)) {\n // window.location.href = environment['androidURL'];\n // }\n // else if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {\n // window.location.href = environment['iosURL'];\n // } \n }\n\n\n async asyncClevertapInitialize() {\n ClevertapReact.initialize(environment.clevertapId);\n return Promise.resolve()\n }\n async asyncAddGtmToDom() {\n this.gtmService.addGtmToDom();\n return Promise.resolve();\n }\n async asyncPushTag(gtmTag) {\n this.gtmService.pushTag(gtmTag);\n return Promise.resolve();\n }\n async asyncGtmTag() {\n const a = (await import('angular-google-tag-manager')).GoogleTagManagerService;\n this.gtmService = new a(new BrowserGlobalsService, environment.gtmId);\n return Promise.resolve();\n }\n\n async ngOnInit() {\n const hostname = window.location.hostname;\n if (hostname.includes(EDFORA_DOMAIN)) {\n this.setTitleAndFavicon(EDFORA_QUIZ_TITLE, EDFORA_QUIZ_FAVICON);\n this.checkQuizRoutes();\n }\n await this.asyncClevertapInitialize();\n this.activeSubscriptions.add(\n this.utilityService.restrictAccessPopUp.subscribe(res => {\n if (res)\n $(`#restrictmodal`).modal('show');\n })\n );\n this.route.queryParams.subscribe(params => {\n if (!(_.isEmpty(params)) && params['authToken'] && !params['process'] && !this.router.url.includes('community')) {\n localStorage.removeItem('hideMyplanPopup');\n this.store.dispatch(new LoaderAction.SetLoader(true));\n sessionStorage.setItem('authToken', params['authToken']);\n localStorage.setItem('authToken', params['authToken']);\n this.store.dispatch(new AuthActions.SetToken(params['authToken']));\n this.store.dispatch(new AuthActions.SetAuthentication());\n this.store.dispatch(new LoaderAction.SetLoader(false));\n if (params.loginVia && params.loginVia === 'qrcode') {\n localStorage.setItem('attemptIdQRCode', params['attemptId']);\n this.router.navigate(['/cpp-subjective-file-upload']);\n } else if (params.resultData) {\n sessionStorage.setItem('teachersRedirectUrl', params.redirectUrl);\n const resultData = JSON.parse(params.resultData);\n const url = '/test-results' + '/' + resultData.testId + '/' + resultData.attemptId + '/' +\n resultData.testType + '/' + (resultData.testName || resultData.encodedTestName);\n this.router.navigateByUrl(url);\n } else if(params.redirectUrl === 'cart' || params.redirectUrl === 'buyCourse'){\n const { courseId, classId } = params;\n this._buyCourses.addToCart({ courseId:courseId,classId:classId }).subscribe((res: any) => {\n if (res?.code === 200) {\n this._gLiteUtilityService.numberOfItemsInCart.next({ numberOfItemsInCart: this._gLiteUtilityService.cartItems.length });\n this._alertService.showSuccessMessage(res.message);\n } else {\n this._alertService.showErrorMessage(res.message);\n }\n if(params.redirectUrl === 'cart'){\n this.router.navigate(['/cart']);\n }else{\n this.router.navigate(['home/buy-course']);\n }\n })\n } else {\n if (!(params?.isAdmissionTestUser === 'true')) {\n this.router.navigate(['/home']);\n }\n }\n }\n });\n this.activeSubscriptions.add(\n this.store.select(\"userProfile\")\n .pipe(filter((data) => !!data?.userData?.userId))\n .subscribe((data) => {\n // if (this.screenWidth <= 767 && !data?.userData?.isAdmissionTestUser) {\n // this.redirectMobileDevice();\n // }\n })\n );\n let currentUrl = ['https://quiz.mypat.in/', 'https://quiz.mypat.in', 'https://quiz.edfora.com',\n 'https://facultyrecruitment-test.edfora.com', 'https://facultyrecruitment.edfora.com'];\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd)\n ).subscribe(async (event: NavigationEnd) => {\n const gtmTag: any = {\n event: 'page_view',\n pageName: window.location.href,\n page_path: window.location.href,\n pagePath: window.location.href,\n };\n if (window.localStorage.getItem('enrollmentNo')) {\n gtmTag.userId = window.localStorage.getItem('enrollmentNo');\n }\n if(currentUrl.includes(window.location.href)){\n this.router.navigate(['quiz']);\n } else if (!window.location.href.includes('/quiz')) {\n await this.asyncPushTag(gtmTag);\n }\n })\n if (!currentUrl.includes(window.location.href) && !window.location.href.includes('/quiz')) {\n await this.asyncAddGtmToDom();\n }\n localStorage.removeItem('checkedConceptHistory');\n localStorage.removeItem('clickedConceptHistory');\n this.store.select('auth').subscribe((data) => {\n if (data.authenticated && (localStorage.getItem('authToken') || sessionStorage.getItem('authToken'))) {\n const courseAdded = JSON.parse(localStorage.getItem('userCart')) || [];\n if (courseAdded?.length) {\n setTimeout(() => {\n this.addCourseToCart(courseAdded);\n }, 200);\n }\n this.authenticated = data.authenticated;\n const payload = {\n fromScreen: 'refresh',\n authToken: localStorage.getItem('authToken') || sessionStorage.getItem('authToken'),\n tag: ''\n };\n if (window.location.href.includes('teacher-proforma') || window.location.href.includes('parent-proforma')) {\n if (window.location.href.includes('goal-setting')) {\n payload.tag = (window.location.href.includes('teacher-proforma') ? 'teacher' : 'parent')\n // setTimeout(() => {\n this.store.dispatch(new UserProfileActions.GetUserDetail(payload));\n // }, 500);\n }\n } else {\n // setTimeout(() => {\n this.store.dispatch(new UserProfileActions.GetUserDetail(payload));\n // }, 500);\n }\n } else {\n this.authenticated = false;\n }\n });\n this.router.events.subscribe((event) => {\n if (event instanceof RouteConfigLoadStart) {\n this.store.dispatch(new LoaderAction.SetLoader(true));\n } else if (event instanceof RouteConfigLoadEnd) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n } else if (event instanceof NavigationEnd) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.checkHeaderCondition(event);\n this.checkFooterCondition(event);\n // if (this.detectLocation.isFiitjeeDomain()) {\n // this.router.navigate(['/auth/sign-in']);\n // }\n } else if (event instanceof NavigationCancel) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.checkHeaderCondition(event);\n this.checkFooterCondition(event);\n } else if (event instanceof NavigationError) {\n if (this.authenticated) {\n this.router.navigate([ON_SPOT_ROUTES.ON_SPOT]);\n }\n }\n });\n if (!hostname.includes(EDFORA_DOMAIN)) {\n // this.detectLocation.getMyCurrentLocation();\n }\n this.activeSubscriptions.add(\n this.utilityService.showApplicationSurveyPopup.subscribe((isB2C: boolean) => {\n isB2C && this.updateExamPopupDetails();\n })\n );\n }\n\n private checkQuizRoutes() {\n this.activeSubscriptions.add(\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n const hostname = window.location.hostname;\n const currentUrl = event.urlAfterRedirects;\n if (hostname?.includes(FACULTY_RECRUITMENT) && !currentUrl.includes('/quiz')) {\n this.router.navigate(['quiz/facultyrecruitment']);\n } else if (!currentUrl.includes('/quiz')) {\n this.router.navigate([EDFORA_QUIZ_URL_STPT_15]); // Default URL open 15 sept quiz\n }\n }\n })\n );\n }\n private setTitleAndFavicon(title: string, faviconUrl: string) {\n this.titleService.setTitle(title);\n const link: HTMLLinkElement = document.querySelector(\"link[rel*='icon']\") || document.createElement('link');\n link.type = 'image/x-icon';\n link.rel = 'shortcut icon';\n link.href = faviconUrl;\n document.getElementsByTagName('head')[0].appendChild(link);\n }\n\n addCourseToCart(courses) {\n this._alertService.showWarningMessage(CART_WARNING.MESSAGE);\n this.activeSubscriptions.add(from(courses).pipe(\n concatMap(course => this._buyCourses.addToCart({ courseId: course['_id'], classId: course['class']?._id || 'null' })), toArray(), last()\n ).subscribe( res => {\n localStorage.removeItem('userCart');\n this.activeSubscriptions.add(\n this.store.select(\"userProfile\").subscribe((userInfo) => {\n const redirectUrl = localStorage.getItem('redirectUrl');\n if(userInfo['userData']['userGoals'].length && redirectUrl){\n localStorage.removeItem('redirectUrl');\n this.router.navigateByUrl(redirectUrl);\n }\n })\n );\n }\n ));\n }\n\n checkHeaderCondition(event): void {\n const baseUrl = this.getBaseUrl(event.url);\n this.showHeader = this.routesToShowHeader.includes(baseUrl);\n }\n\n getBaseUrl(url: string): string {\n let urlData = url.split('?')[0].split('/');\n if (urlData.length >= this.baseURLMinimumLength) {\n url = '/' + urlData[1];\n }\n return url;\n }\n\n\n checkFooterCondition(event): void {\n\n }\n\n updateExamPopupDetails(): void {\n this.utilityService.getExamPopupDetails().subscribe((data: any) => {\n if (data?.data?.popUps) {\n this.originalExamPopupDetails = [...data.data.popUps];\n this.filterExamPopDetails();\n }\n });\n }\n\n filterExamPopDetails() {\n this.examPopupDetails = [... this.originalExamPopupDetails];\n this.numberOfPopups = this.examPopupDetails.length;\n }\n\n ngOnDestroy(): void {\n this.activeSubscriptions.unsubscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable, BehaviorSubject, throwError } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { Router } from '@angular/router';\nimport { catchError, map, timeout } from 'rxjs/operators';\nimport { AlertService } from './alert.service';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../stores/app.reducers';\nimport * as LoaderAction from '../../stores/loader/loader.actions';\nimport * as AuthActions from '../../stores/auth/auth.actions';\n\ndeclare var $: any;\n@Injectable({\n providedIn: 'root'\n})\nexport class HttpService {\n public serverName = environment.serverURLv4;\n url: string;\n accessToken1: Observable;\n accessToken: string;\n authenticated;\n selectedGoal;\n public timeoutVar: any;\n promise: Promise;\n public apiFailedForHomeCards = new BehaviorSubject(null);\n public finishingSubjective = new BehaviorSubject(null);\n constructor(\n private httpService: HttpClient, private router: Router, private alert: AlertService,\n private store: Store) {\n this.store.select('auth').subscribe((data) => {\n this.accessToken = 'JWT ' + data.token;\n this.authenticated = data.authenticated;\n });\n }\n\n public get authToken(){\n return localStorage.getItem('fiitjeeToken');\n }\n\n parseServerError(error): string {\n this.finishingSubjective.subscribe((res) => {\n if (res && res.finishing === 'true') {\n this.finishingSubjective.next({'finishing' : 'networkError'});\n }\n });\n try {\n // error = error.json();\n const message = error.message || 'Something went wrong! Please try again.';\n return message;\n } catch (e) {\n return 'Something went wrong.';\n }\n }\n\n handleError = (error: any): Observable => {\n try {\n let errormsg;\n if (error.url.includes('v4/auth/my-plan/syllabus') || error.url.includes('v4/auth/users/courses')) {\n this.apiFailedForHomeCards.next(true);\n }\n this.store.dispatch(new LoaderAction.SetLoader(false));\n switch (error.status) {\n case 400:\n case 401:\n // Unauthorised\n $('#logoutModal').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n this.store.dispatch(new AuthActions.SetToken(''));\n errormsg = this.parseServerError(error.error);\n this.alert.showErrorMessage(this.parseServerError(error.error));\n // tslint:disable-next-line: deprecation\n localStorage.clear();\n sessionStorage.clear();\n try {\n (window as any)?.ReactNativeWebView?.postMessage('logout');\n } catch (error) {\n console.log(error?.error);\n }\n this.router.navigate(['/']);\n return throwError(errormsg);\n case 404: {\n this.alert.showErrorMessage(this.parseServerError(error.error));\n // tslint:disable-next-line: deprecation\n return throwError('Server error');\n }\n case 500:\n if (error && error.error && error.error.message === 'jwt must be provided') {\n this.store.dispatch(new AuthActions.SetToken(''));\n localStorage.clear();\n sessionStorage.clear();\n this.router.navigate(['/']);\n } else {\n this.alert.showErrorMessage(this.parseServerError(error.error));\n }\n // tslint:disable-next-line: deprecation\n return throwError('Server error');\n\n default:\n errormsg = this.parseServerError(error);\n // tslint:disable-next-line: deprecation\n return throwError(error.message || errormsg);\n }\n } catch (e) {\n // tslint:disable-next-line: deprecation\n return throwError(e);\n }\n }\n\n // Get Method - Start\n get(apiName: string, isAuth?: any, params?: any, loader?, isGoal?, hostname?: any, isFiitjeeQuiz?: boolean): Observable {\n this.url = (hostname ? hostname : this.serverName) + apiName;\n if (isAuth && !this.authToken) {\n this.isLoginRequire();\n }\n if (!navigator.onLine) {\n this.alert.showErrorMessage('Please check your internet connection');\n return throwError('Please check your internet connection');\n }\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(true));\n }\n // This code will add access token\n // tslint:disable-next-line: deprecation\n let headers;\n if (isAuth) {\n if (apiName.includes('goal-levels-history')) {\n headers = new HttpHeaders().set('Authorization', 'Bearer ' + localStorage.getItem('authToken')); \n } else if(isFiitjeeQuiz){\n headers = new HttpHeaders().set('Authorization', this.authToken);\n } else {\n headers = new HttpHeaders().set('Authorization', this.accessToken);\n }\n headers = headers.append('Content-Type', 'application/json');\n } else {\n headers = new HttpHeaders().set('Content-Type', 'application/json');\n }\n // handle parameters\n if (params) {\n if (isGoal) {\n params.goalId = this.selectedGoal?.courseId;\n params.goalName = this.selectedGoal?.name;\n }\n } else if (isGoal) {\n let param: any;\n param = {\n goalId: this.selectedGoal.courseId\n };\n }\n\n let paramsToBePassed = new HttpParams();\n for (const p in params) {\n if (p) {\n paramsToBePassed = paramsToBePassed.append(p, params[p]);\n }\n }\n const options = {\n params: paramsToBePassed,\n headers\n };\n\n // Create a request option\n return this.httpService.get(this.url, options).pipe(\n map((res: Response) => {\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n }\n return res;\n }),\n catchError(this.handleError)\n );\n // ...errors if any\n }\n // Get Method - End\n\n // Post Method - Start\n post(apiName: string, isAuth?: any, body?: any, loader?, showAlert?, isGoal?, serverURL?, isFiitjeeQuiz?: boolean): Observable {\n this.url = (serverURL ? serverURL : this.serverName) + apiName;\n if (isAuth && !this.authToken) {\n this.isLoginRequire();\n }\n if (isGoal) {\n body.goalId = this.selectedGoal.courseId;\n body.goalName = this.selectedGoal.name;\n }\n if (environment.name === 'staging') {\n this.timeoutVar = 500000;\n } else {\n this.timeoutVar = 30000;\n }\n if (!navigator.onLine) {\n this.alert.showErrorMessage('Please check your internet connection');\n return throwError('Please check your internet connection');\n }\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(true));\n }\n let headers;\n if (isAuth) {\n if (apiName.includes('goal-levels-history')) {\n headers = new HttpHeaders().set('Authorization', 'Bearer ' + localStorage.getItem('authToken')); \n } else if(isFiitjeeQuiz){\n headers = new HttpHeaders().set('Authorization', this.authToken);\n } else {\n headers = new HttpHeaders().set('Authorization', this.accessToken);\n }\n headers = headers.append('Content-Type', 'application/json');\n } else {\n headers = new HttpHeaders().set('Content-Type', 'application/json');\n }\n // This code will add access token\n return this.httpService.post(this.url, JSON.stringify(body), { headers }).pipe(\n map(\n (res: Response) => {\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n }\n return res;\n }\n\n ),\n timeout(this.timeoutVar),\n catchError(this.handleError)\n );\n }\n // Post Method - End\n\n // Post Upload File Method - Start\n postUploadFile(dataToSend, imageData,fileName?): any {\n const formData: FormData = new FormData();\n formData.append('key', dataToSend.fields.key.toString());\n formData.append('bucket', dataToSend.fields.bucket.toString());\n formData.append('acl', 'public-read');\n formData.append('X-Amz-Algorithm', dataToSend.fields['X-Amz-Algorithm']);\n formData.append('X-Amz-Credential', dataToSend.fields['X-Amz-Credential']);\n formData.append('X-Amz-Date', dataToSend.fields['X-Amz-Date']);\n // tslint:disable-next-line: no-string-literal\n formData.append('Policy', dataToSend.fields['Policy']);\n formData.append('X-Amz-Signature', dataToSend.fields['X-Amz-Signature']);\n if(fileName){\n formData.append('file', imageData, fileName);\n }\n else{\n formData.append('file', imageData, imageData.name);\n }\n\n this.store.dispatch(new LoaderAction.SetLoader(true));\n const options = {\n headers: new HttpHeaders({\n Accept: 'application/json',\n }),\n observe: 'response' as 'body' // this is for viewing complete response in case on HTTPClient\n };\n return this.httpService.post(dataToSend.url, formData, options).pipe(\n map(\n (res: Response) => {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n return res;\n }\n ),\n // timeout(this.timeoutVar),\n catchError(this.handleError)\n );\n }\n // Post Upload File Method - End\n // Put Method - Start\n put(apiName: string, isAuth?: any, body?: any, loader?, hostname?, isFiitjeeQuiz?: boolean): Observable {\n // this.url = this.serverName + apiName;\n this.url = (hostname ? hostname : this.serverName) + apiName;\n if (isAuth && !this.authToken) {\n this.isLoginRequire();\n }\n if (!navigator.onLine) {\n return throwError('Please check your internet connection');\n }\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(true));\n }\n let headers;\n if (isFiitjeeQuiz) {\n headers = new HttpHeaders().set('Authorization', this.authToken);\n headers = headers.append('Content-Type', 'application/json');\n } else if (isAuth) {\n headers = new HttpHeaders().set('Authorization', this.accessToken);\n headers = headers.append('Content-Type', 'application/json');\n }else {\n headers = new HttpHeaders().set('Content-Type', 'application/json');\n }\n return this.httpService.put(this.url, JSON.stringify(body), { headers }).pipe(\n map((res: Response) => {\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n }\n return res;\n }\n ),\n catchError(this.handleError)\n );\n }\n // Put Method - End\n\n\n\n // Patch Method - Start\n patch(apiName: string, isAuth?: any, body?: any, loader?, hostname?, isFiitjeeQuiz?: boolean): Observable {\n this.url = (hostname ? hostname : this.serverName) + apiName;\n if (isAuth && !this.authToken) {\n this.isLoginRequire();\n }\n if (!navigator.onLine) {\n return throwError('Please check your internet connection');\n }\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(true));\n }\n let headers;\n if (isFiitjeeQuiz) {\n headers = new HttpHeaders().set('Authorization', this.authToken);\n headers = headers.append('Content-Type', 'application/json');\n } else if (isAuth) {\n if (apiName.includes('users/courses') || apiName.includes('/study-materials') ) {\n headers = new HttpHeaders().set('Authorization', 'Bearer ' + localStorage.getItem('authToken')); \n } else {\n headers = new HttpHeaders().set('Authorization', this.accessToken);\n }\n headers = headers.append('Content-Type', 'application/json');\n } else {\n headers = new HttpHeaders().set('Content-Type', 'application/json');\n }\n return this.httpService.patch(this.url, JSON.stringify(body), { headers }).pipe(\n map((res: Response) => {\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n }\n return res;\n }\n ),\n catchError(this.handleError)\n );\n }\n // patch Method - End\n // Delete Method - Start\n delete(apiName: string, params?, loader?, serverURL?): Observable {\n this.isLoginRequire();\n this.url = (serverURL ? serverURL : this.serverName) + apiName;\n if (!navigator.onLine) {\n this.alert.showErrorMessage('Please check your internet connection');\n return throwError('Please check your internet connection');\n }\n // This code will add access token\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(true));\n }\n const options = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Authorization: this.accessToken,\n }),\n body: params\n };\n // Create a request option\n return this.httpService.delete(this.url, options).pipe(\n map(\n (res: Response) => {\n if (loader === undefined || loader) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n }\n return res;\n }\n )\n );\n }\n // Delete Method - End\n\n isLoginRequire(isFiitjeeQuiz?: boolean): void {\n if (!(localStorage.getItem('authToken') || sessionStorage.getItem('authToken')) && !this.authenticated &&\n localStorage.getItem('loggedOut') !== 'true') {\n // if (!this.authenticated) {\n // localStorage.setItem('lastRequested', this.router.url);\n // localStorage.setItem('previousUrl', this.router.url);\n // if (!this.detectLocationService.isFiitjeeDomain()) {\n // this.router.navigateByUrl('auth/sign-in');\n // } else {\n this.router.navigateByUrl('/');\n // }\n }\n // else {\n // this.store.dispatch(new LoaderAction.SetLoader(false));\n // }\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output, HostListener, ViewChild, ElementRef, SimpleChanges, Inject } from '@angular/core';\n\nimport { Options } from 'ng5-slider';\n\ndeclare const $: any;\n\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { AssignedTestsService } from '../../services/assigned-tests.service';\nimport { UpcomingTestsService } from '../../services/upcoming-tests.service';\nimport { UtilityService } from './../../../new-community/shared/utility.service';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n selector: 'app-test-filters',\n templateUrl: './test-filters.component.html',\n styleUrls: ['./test-filters.component.scss']\n})\n\nexport class TestFiltersComponent implements OnInit {\n\n @Input() filters: any;\n @Input() cardName: string;\n @Output() appliedFilters = new EventEmitter();\n\n selectedFilters: any = [];\n filtersList = [];\n resetButtonClicked = false;\n defaultFilters: any = []\n\n public syllabusSearchQuery: string = '';\n public isSyllabusLoading: boolean = false;\n public syllabus: any[] = [];\n public selectedSyllabus: any[] = [];\n public isSyllabusSearchFocussed: boolean = false;\n\n @ViewChild(\"syllabusSearchRef\") syllabusSearchRef: ElementRef;\n @ViewChild(\"syllabusDropdownRef\") syllabusDropdownRef: ElementRef;\n\n public sliderValue: number = 1;\n public sliderOptions: Options = {\n showTicks: true,\n showTicksValues: false,\n stepsArray: []\n };\n public projectedRankRange = {\n min: '',\n max: '',\n };\n\n constructor(\n private utilityService: UtilityService,\n private httpService: HttpService,\n private assignedTestService: AssignedTestsService,\n private upcomingTestService: UpcomingTestsService,\n @Inject(DOCUMENT) private document: Document,\n private elementRef: ElementRef,\n ) { }\n\n ngOnInit(): void {\n if (this.cardName === 'testHistory') {\n document.getElementById('scrollDiv').classList.add('filterScrollTestHistory')\n } else {\n document.getElementById('scrollDiv').classList.add('filterScroll')\n }\n this.filtersList = JSON.parse(JSON.stringify(this.filters));\n this.loadSliderInfo();\n if (this.cardName === 'upcomingTest') {\n this.selectedFilters = [];\n this.defaultFilters = [];\n this.defaultFilters = JSON.parse(localStorage.getItem('upcomingTestAppliedFilters'));\n this.filtersList.forEach(filter => {\n if (filter.values.filter(obj => obj.isSelected === true).length > 0) {\n this.selectedFilters.push(filter);\n }\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.filtersList = JSON.parse(JSON.stringify(changes.filters.currentValue));\n this.selectedFilters.forEach((filter) => {\n if (filter.key === 'questionDifficulty'){\n let i = 0;\n this.filtersList.forEach(list => {\n if (list.key === 'questionDifficulty'){ \n this.filtersList[i] = filter;\n }\n i++;\n });\n }\n })\n if (this.cardName === 'upcomingTest') {\n this.selectedFilters = [];\n this.defaultFilters = [];\n this.defaultFilters = JSON.parse(localStorage.getItem('upcomingTestAppliedFilters'));\n this.filtersList.forEach(filter => {\n if (filter.values.filter(obj => obj.isSelected === true).length > 0) {\n this.selectedFilters.push(filter);\n }\n if (filter.type === 'date'){\n for (let i = 0; i < filter.values.length; i++) {\n if (!filter.values[i].isSelected){\n filter.values[i].value = '';\n }\n }\n }\n });\n }\n }\n\n loadSliderInfo() {\n let sheet = document.createElement('style'),\n $rangeInput = $('.range input'),\n prefs = ['webkit-slider-runnable-track', 'moz-range-track', 'ms-track'];\n document.body.appendChild(sheet);\n let getTrackStyle = function (el) {\n let curVal = el.value,\n val = (curVal - 1) * 16.666666667,\n style = '';\n // Set active label\n $('.range-labels li').removeClass('active selected');\n\n let curLabel = $('.range-labels').find('li:nth-child(' + curVal + ')');\n\n curLabel.addClass('active selected');\n curLabel.prevAll().addClass('selected');\n\n // Change background gradient\n for (let i = 0; i < prefs.length; i++) {\n style += '.range {background: linear-gradient(to right, #37adbf 0%, #37adbf ' + val + '%, #fff ' + val + '%, #fff 100%)}';\n style += '.range input::-' + prefs[i] + '{background: linear-gradient(to right, #37adbf 0%, #37adbf ' + val + '%, #b2b2b2 ' + val + '%, #b2b2b2 100%)}';\n }\n return style;\n }\n $rangeInput.on('input', function () {\n sheet.textContent = getTrackStyle(this);\n });\n // Change input value on label click\n $('.range-labels li').on('click', function () {\n let index = $(this).index();\n\n $rangeInput.val(index + 1).trigger('input');\n\n });\n }\n\n handleFilterClose() {\n // For Filter Scroll\n this.cardName === 'assignedTest' ? this.assignedTestService.initializeFilter.next(true) : this.cardName === 'upcomingTest' ? this.upcomingTestService.initializeFilter.next(true) : null;\n this.callJqueryForFilterClose();\n //this.appliedFilters.emit(null);\n this.filtersList = JSON.parse(JSON.stringify(this.filters));\n this.selectedFilters = [];\n this.filtersList.forEach(filter => {\n if (filter.values.filter(obj => obj.isSelected === true).length > 0) {\n this.selectedFilters.push(filter);\n }\n });\n }\n\n callJqueryForFilterClose() {\n this.document.querySelector('.filterContainer')?.classList.remove('animateFilter');\n this.elementRef.nativeElement.querySelector('.overlayFilter').style.display = 'none';\n this.document.querySelector('body').style.overflow = '';\n this.document.querySelector('body').style.height = '';\n this.ngOnDestroy();\n }\n\n checkSelectedFilters() {\n let flag = false;\n this.selectedFilters.forEach(filter => {\n const x = this.defaultFilters.find(obj => obj.key === filter.key);\n filter.values.forEach(value => {\n const defaultValue = x.values.find(obj => obj.key === value.key);\n if ((defaultValue.isSelected !== value.isSelected) || defaultValue.value !== value.value) {\n flag = true;\n }\n });\n });\n if (flag) {\n return false;\n } else {\n return true;\n }\n }\n\n applyCheckedFilter(filter, data) {\n this.resetButtonClicked = false;\n filter.values.map((a) => {\n if (a.displayName === data.displayName) {\n a.isSelected = !a.isSelected;\n }\n });\n if (this.selectedFilters.length > 0) {\n let flag = false;\n this.selectedFilters.forEach(filterData => {\n if (filterData.key === filter.key) {\n flag = true;\n filterData.values = filter.values;\n }\n });\n if (!flag) {\n this.selectedFilters.push(filter);\n }\n } else {\n this.selectedFilters.push(filter);\n }\n if (this.cardName === 'testHistory' && filter.key === 'goal') {\n this.computeRankSliderOptions();\n }\n }\n\n getSelectedFilterInfo(data): boolean {\n let selectedObjs = data.values.filter(obj => obj.isSelected === true);\n if (selectedObjs.length > 0) {\n return true;\n } else {\n return false;\n }\n }\n\n dateInfo(data) {\n this.resetButtonClicked = false;\n if (!data.values[0].value || !data.values[1].value || !data.values[0].isSelected || !data.values[1].isSelected){ //condition to remove the date from selectedfilterobj\n let i = 0;\n this.selectedFilters.forEach(filterData => {\n if (filterData.key === data.key) {\n this.selectedFilters.splice(i, 1);\n }\n i++;\n });\n return;\n }\n \n if (this.selectedFilters.length > 0 && (data.values[0].value < data.values[1].value)) {\n let flag = false;\n this.selectedFilters.forEach(filterData => {\n if (filterData.key === data.key) {\n flag = true;\n filterData.values = data.values;\n filterData.isSelected = data.isSelected;\n }\n });\n if (!flag) {\n this.selectedFilters.push(data);\n }\n } else {\n this.selectedFilters.push(data);\n }\n }\n\n applyFilters() {\n if (this.resetButtonClicked) {\n localStorage.setItem('upcomingTestAppliedFilters', localStorage.getItem('upcomingTestDefaultFilter'));\n this.resetButtonClicked = false;\n }\n // For Filter Scroll\n this.cardName === 'assignedTest' ? this.assignedTestService.initializeFilter.next(true) : this.cardName === 'upcomingTest' ? this.upcomingTestService.initializeFilter.next(true) : null;\n this.callJqueryForFilterClose();\n this.appliedFilters.emit(this.selectedFilters);\n }\n\n resetSelection() {\n this.selectedFilters = [];\n this.filtersList = JSON.parse(JSON.stringify(this.filters.slice()));\n }\n\n resetFilters() {\n this.resetButtonClicked = true;\n if (this.cardName !== 'upcomingTest') {\n this.selectedFilters = [];\n this.filtersList.forEach(filter => {\n if (filter.type === 'checkbox' || filter.type === 'date') {\n filter.values.forEach(filterData => {\n filterData['isSelected'] = false;\n });\n }\n\n if (filter.type === 'date') {\n filter.values.forEach(filterData => {\n delete filterData.singleDate;\n filterData.value = '';\n });\n }\n\n // Reset Performance and question difficulty\n if (filter.key === 'performance' || filter.key === 'questionDifficulty') {\n filter.values.forEach(filterData => {\n filterData['isSelected'] = false;\n filterData['value'] = 0;\n });\n }\n });\n this.syllabusSearchQuery = '';\n this.selectedSyllabus = [];\n } else {\n this.selectedFilters = [];\n this.filtersList = JSON.parse(localStorage.getItem('upcomingTestDefaultFilter'));\n this.filtersList.forEach(filter => {\n if (filter.values.filter(obj => obj.isSelected === true).length > 0) {\n this.selectedFilters.push(filter);\n }\n });\n }\n }\n\n public handleSyllabusSearchEvent = this.utilityService.debounce(() => {\n this.isSyllabusLoading = true;\n this.fetchSyllabus();\n }, 350);\n\n public fetchSyllabus() {\n if (this.syllabusSearchQuery.length < 3) {\n this.syllabus = [];\n this.isSyllabusLoading = false;\n return;\n }\n\n const types = ['concept', 'chapter'];\n this.httpService.get(\n `v4/auth/syllabus?types=${types.join(',')}&searchQuery=${this.syllabusSearchQuery}`,\n true,\n ).subscribe(res => {\n if (res.code === 200) {\n this.syllabus = res.data.syllabusData;\n }\n this.isSyllabusLoading = false;\n });\n }\n\n public capitalizeFirstLetter(str: string) {\n const result = `${str.slice(0, 1).toUpperCase()}${str.slice(1)}`;\n return result;\n }\n\n public setSyllabusSearchFocusMode(mode: boolean) {\n setTimeout(() => this.isSyllabusSearchFocussed = mode, 30);\n }\n\n public handleSyllabusAdd(syllabus) {\n const exists = this.selectedSyllabus.find((item) => item.id === syllabus.id);\n if (!exists) {\n this.selectedSyllabus.push(syllabus);\n }\n this.setSyllabusSearchFocusMode(false);\n this.applySyllabusFilter();\n }\n\n public handleSyllabusRemove(index) {\n this.selectedSyllabus = this.selectedSyllabus.filter((_, i) => i !== index);\n this.applySyllabusFilter();\n }\n\n private applySyllabusFilter() {\n this.selectedFilters = this.selectedFilters.filter((item: any) => item.key !== 'searchby');\n const payload = {\n key: \"searchby\",\n type: \"textbox\",\n displayName: \"Search\",\n isLocked: false,\n values: this.selectedSyllabus.map(({ id, name, type }: any) => ({\n key: id,\n displayName: name,\n searchBy: type,\n isSelected: true,\n })),\n }\n\n if (payload.values.length > 0) {\n this.selectedFilters = [payload, ...this.selectedFilters];\n }\n }\n\n public get selectedGoals() {\n const filter = this.selectedFilters.find((filter: any) => filter.key === 'goal');\n if (!filter) return [];\n\n return filter.values.filter((value: any) => value.isSelected === true);\n }\n\n public computeRankSliderOptions() {\n if (this.selectedGoals.length === 0) return;\n\n if (this.selectedGoals.length !== 1) {\n this.sliderOptions = {\n showTicks: true,\n showTicksValues: false,\n stepsArray: [],\n };\n return;\n }\n const goal = this.selectedGoals[0];\n const goalKey = goal.key;\n const projectedRank = this.filtersList.find((filter: any) => filter.key === 'rank');\n const rankObj = projectedRank?.values?.find((value: any) => value?.key === goalKey);\n const options: any = rankObj?.options;\n this.sliderOptions = {\n showTicks: true,\n showTicksValues: false,\n stepsArray: options?.map((option: any, index) => ({\n value: index + 1,\n legend: option?.displayName,\n })),\n };\n this.projectedRankRange.min = options?.[0]?.displayName;\n this.projectedRankRange.max = options?.slice(-1)?.[0]?.displayName;\n }\n\n public range(start: number, end: number, step: number): number[] {\n const arr = [];\n for (let i = start; i <= end; i += step) arr.push(i);\n return arr;\n }\n\n public handlePerformanceSelection(allPerformances, index) {\n allPerformances[index].selectedOption = {\n value: 0,\n key: allPerformances[index].options[0].key,\n };\n this.computePerformanceFilter(allPerformances);\n }\n\n public handlePerformanceKeyChange(event, allPerformances, index) {\n allPerformances[index].selectedOption = {\n value: 0,\n key: event.target.value,\n };\n this.computePerformanceFilter(allPerformances);\n }\n\n public handlePerformanceValueChange(allPerformances) {\n this.computePerformanceFilter(allPerformances);\n }\n\n public computePerformanceFilter(allPerformances) {\n const performanceFilter = this.filtersList.find((filter: any) => filter.key === 'performance');\n\n const performanceValues = allPerformances.map(({ key, displayName, options, selectedOption, isSelected }: any) => ({\n key,\n displayName,\n isSelected,\n options: !isSelected\n ? options :\n options.map((item: any) => ({\n ...item,\n isSelected: item.key === selectedOption.key,\n value: item.key === selectedOption.key ? selectedOption.value.toString() : item.value.toString(),\n })),\n }));\n\n const finalPerformanceFilter = {\n ...performanceFilter,\n values: performanceValues,\n }\n\n this.selectedFilters = this.selectedFilters.filter((filter: any) => filter.key !== 'performance');\n this.selectedFilters.push(finalPerformanceFilter);\n }\n\n public handleSliderChange(event) {\n const legends: any = document.getElementsByClassName(\"ng5-slider-tick-legend\");\n for (let i = 0; i < legends.length; i++) {\n if (i === event - 1 && i !== 0 && i !== legends.length - 1) {\n legends[i].style.opacity = '1';\n } else {\n legends[i].style.opacity = '0';\n }\n }\n }\n\n public handleSyllabusClear() {\n this.selectedSyllabus = [];\n this.applySyllabusFilter();\n }\n\n public computeDifficultyFilter(allDifficultyFilters) {\n const difficultyFilter = this.filtersList.find((filter: any) => filter.key === 'questionDifficulty');\n\n const difficultyValues = allDifficultyFilters.map(({ key, displayName, isSelected, value }: any) => ({\n key,\n displayName,\n isSelected,\n value: `${value}`,\n }));\n\n const finalDifficultyFilter = {\n ...difficultyFilter,\n values: difficultyValues,\n }\n\n this.selectedFilters = this.selectedFilters.filter((filter: any) => filter.key !== 'questionDifficulty');\n this.selectedFilters.push(finalDifficultyFilter);\n }\n\n public isDifficultyDisabled(difficultyOptions, index) {\n if (difficultyOptions[index].isSelected) return false;\n\n const selectedOptions = difficultyOptions.filter((option: any) => option.isSelected === true)\n .map((option: any) => parseInt(option.value));\n const sum = selectedOptions.reduce((a: number, b: number) => a + b, 0);\n if (sum >= 100) return true;\n return false;\n }\n\n public getMaxDifficultyValue(difficultyOptions, index) {\n const selectedOptions = difficultyOptions.filter((option: any, i) => option.isSelected && i !== index)\n .map((option: any) => parseInt(option.value));\n const sum = selectedOptions.reduce((a: number, b: number) => a + b, 0);\n\n const remaining = 100 - sum;\n return remaining;\n }\n\n public handleDifficultyValueChange(event, allDifficultyFilters, index) {\n\n const max = this.getMaxDifficultyValue(allDifficultyFilters, index);\n if (parseInt(event.target.value) > max) {\n allDifficultyFilters[index].value = 0;\n }\n this.computeDifficultyFilter(allDifficultyFilters);\n }\n\n public clearSyllabusSearchQuery() {\n this.syllabusSearchQuery = '';\n this.handleSyllabusSearchEvent();\n }\n\n @HostListener('document:mousedown', ['$event'])\n dismissSyllabusDropdown(event): void {\n if (this.cardName !== 'testHistory') return;\n const c1 = !this.syllabusSearchRef.nativeElement.contains(event.target);\n const c2 = this.syllabusDropdownRef && !this.syllabusDropdownRef.nativeElement.contains(event.target)\n if (!c2) return;\n if (c1) this.setSyllabusSearchFocusMode(false);\n }\n\n ngOnDestroy() {\n this.resetButtonClicked = false;\n }\n}\n","
\n
\n
\n Filters\n \n \n \n
\n \n
\n
\n \n
\n \n \n
\n
\n\n \n 3\"\n class=\"suggestionList\">\n
    \n
  • \n No Result Found\n
  • \n
\n
\n\n \n
0\" #syllabusDropdownRef\n class=\"suggestionList\">\n
    \n
  • \n {{syllabusItem.name}}\n {{capitalizeFirstLetter(syllabusItem.type)}}\n
  • \n
\n
\n \n
\n
\n {{syllabusItem.name}}\n \n
\n
\n
\n
0\">\n Clear All\n
\n \n \n
\n
\n
\n \n \n
\n
\n \n \n\n 0 && (filter.values[i]?.isExpired !== filter.values[i-1]?.isExpired))\">\n Expired\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n
\n \n\n \n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n %\n
\n
\n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n %\n
\n
\n\n

*Sum of the 3 percentages cannot exceed 100

\n
\n
\n
\n \n
\n \n \n
\n \n
\n \n

Please select a single Target Exam from the filter above to enable this setting

\n
\n \n
\n \n \n\n
\n {{projectedRankRange.min}}\n {{projectedRankRange.max}}\n
\n
\n
\n\n
\n
\n
\n \n \n
\n \n \n \n
\n\n","import { Injectable } from '@angular/core';\nimport ClevertapReact from 'clevertap-react';\n\ndeclare var window: any;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CleverTapService {\n\n public hostDomain = window.location.host;\n public sourceUrl = window.location.href;\n\n constructor() { }\n\n formSubmission(data?): void {\n const payload = {\n 'Source Url': window.location.href,\n };\n if (data) {\n payload['form submission intent'] = data.intent;\n }\n ClevertapReact.event('Form Submission', payload);\n }\n\n eventSignUp(data?): void {\n if (data) {\n const payload = {\n 'sign up Intent': data.intent,\n 'from referral': data.fromReferral ? data.fromReferral : 'No',\n 'source url': window.location.href\n };\n ClevertapReact.event('Sign Up', payload);\n }\n }\n\n eventPageViewed(pageCategory): void {\n const payload = {};\n if (localStorage.getItem('isMobile')) {\n const urls = window.location.href.split('/');\n if (urls[4]) {\n payload['Page Name'] = urls[4].toString();\n }\n payload['Device Type'] = 'Android';\n } else {\n payload['page category'] = pageCategory;\n payload['source url'] = window.location.href;\n }\n ClevertapReact.event('page viewed', payload);\n }\n\n pushWindowProfile(dataReceived): void {\n const payloadProfile = {\n Site: {\n Phone: dataReceived.countryCode + '' + dataReceived.mobile,\n 'referrer code' : dataReceived.referralCode ? dataReceived.referralCode : '',\n Class: dataReceived.className,\n }\n };\n // use for onuserlogin push not profile push\n window.clevertap.onUserLogin.push(payloadProfile);\n }\n}\n\n","import { Component, ElementRef, OnInit, Inject, ViewChild, HostListener, HostBinding } from '@angular/core';\nimport { Router } from '@angular/router';\nimport HEADERMENU from './headermenus.constant'\nimport { DOCUMENT } from '@angular/common';\nimport { USER_ROUTES, COURSES_CLASSES_DATA } from 'src/app/shared/constants/glite.constants';\nimport { EXAM_TYPE } from 'src/app/shared/constants/previous-year-papers.constant';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\nimport { Subscription } from 'rxjs';\nimport { EbooksService } from 'src/app/landing-pages/ebooks/ebooks.service';\nimport { environment } from '../../../environments/environment';\ndeclare var $: any;\n\n@Component({\n selector: 'app-header-before-login',\n templateUrl: './header-before-login.component.html',\n styleUrls: ['./header-before-login.component.scss']\n})\nexport class HeaderBeforeLoginComponent implements OnInit {\n @ViewChild('dropdown') dropdown: ElementRef;\n constructor(\n private _router: Router, public elementRef: ElementRef,\n @Inject(DOCUMENT) private readonly document: Document,\n private utilityService: UtilityService,\n private _ebook: EbooksService\n ) { }\n private isDropdownOpen: boolean = false;\n private activeSubscriptions = new Subscription();\n public resourcesMenu: boolean = false;\n public examsMenu: boolean = false;\n public previousPapersMenu: boolean = false;\n public eBooksMenu: boolean = false;\n public toolsMenu: boolean = false;\n public router: any;\n public enableVerifyOTPPopup: boolean = false;\n public mobileInfo: any = {};\n public formSubmitCTA:string = 'Start Learning';\n public routerInfo: any = {\n signup: `/${USER_ROUTES.USER}/${USER_ROUTES.SIGNUP}`,\n login: `/${USER_ROUTES.USER}/${USER_ROUTES.LOGIN}`\n };\n public isCartActive: boolean = false; \n\n ngOnInit(): void {\n this.activeSubscriptions.add(\n this.utilityService.downloadEbook.subscribe((downloadEbook: boolean) => {\n if (this._ebook.selectedEbookLink && downloadEbook) {\n window.open(this._ebook.selectedEbookLink, '_blank');\n this._ebook.selectedEbookLink = '';\n }\n })\n );\n this.isCartActive = (this._router.url)?.includes('cart');\n this.activeSubscriptions.add(this._router.events.subscribe((event) => {\n this.isCartActive = event['url']?.includes('cart');\n }));\n }\n\n public get cartSize() {\n return JSON.parse(localStorage.getItem('userCart'))?.length || 0;\n }\n\n get classAndGoalInfo() {\n return COURSES_CLASSES_DATA;\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent) {\n if (!this.dropdown.nativeElement.contains(event.target) || this.isDropdownOpen) {\n this.document.querySelector(\".classList\").classList.remove('active');\n this.document.querySelector(\".examList\").classList.remove('active');\n this.document.querySelector(\".resourcesListing\").classList.remove('active');\n this.isDropdownOpen = false;\n for(let dropdown in this.activeDropdown){\n this.activeDropdown[dropdown] = false;\n }\n }\n }\n\n handleDropdownState(): void {\n this.isDropdownOpen = true;\n }\n\n get EXAM_TYPES(){\n return EXAM_TYPE;\n }\n\n getPreviousYearPapers(examType: string){\n this.getMenuList(HEADERMENU.RESOURCES_LIST);\n this._router.navigateByUrl(`previous-year-paper-download/${examType}`);\n }\n\n navigateToScholarshipPage() {\n this._router.navigate(['/scholarship']);\n }\n resultPage(){\n this._router.navigate(['view-our-results']);\n }\n public activeDropdown = {\n [HEADERMENU.CLASS_LIST]: false,\n [HEADERMENU.EXAM_LIST]: false,\n [HEADERMENU.RESOURCES_LIST]: false\n }\n getMenuList(str):void{\n const classContainer = this.document.querySelector(\".classList\");\n const examContainer = this.document.querySelector(\".examList\");\n const resourcesContainer = this.document.querySelector(\".resourcesListing\");\n for(let dropdown in this.activeDropdown){\n this.activeDropdown[dropdown] = (dropdown === str);\n }\n switch(str){\n case HEADERMENU.CLASS_LIST:\n classContainer.classList.toggle('active');\n examContainer.classList.remove('active');\n resourcesContainer.classList.remove('active');\n break;\n case HEADERMENU.EXAM_LIST:\n examContainer.classList.toggle('active');\n classContainer.classList.remove('active');\n resourcesContainer.classList.remove('active');\n break;\n case HEADERMENU.RESOURCES_LIST:\n resourcesContainer.classList.toggle('active');\n examContainer.classList.remove('active');\n classContainer.classList.remove('active');\n break;\n default:\n return;\n }\n }\n\n getClassExamList(str):void{\n const class9Container = this.document.querySelector(\".examName-class9\");\n const class10Container = this.document.querySelector(\".examName-class10\");\n const class11Container = this.document.querySelector(\".examName-class11\");\n const class12Container = this.document.querySelector(\".examName-class12\");\n const class12passContainer = this.document.querySelector(\".examName-class12pass\");\n\n switch(str){\n case HEADERMENU.CLASS9:\n class9Container.classList.toggle('active');\n class10Container.classList.remove('active');\n class11Container.classList.remove('active');\n class12Container.classList.remove('active');\n class12passContainer.classList.remove('active');\n break;\n case HEADERMENU.CLASS10:\n class10Container.classList.toggle('active');\n class9Container.classList.remove('active');\n class11Container.classList.remove('active');\n class12Container.classList.remove('active');\n class12passContainer.classList.remove('active');\n break;\n case HEADERMENU.CLASS11:\n class11Container.classList.toggle('active');\n class9Container.classList.remove('active');\n class10Container.classList.remove('active');\n class12Container.classList.remove('active');\n class12passContainer.classList.remove('active');\n break;\n case HEADERMENU.CLASS12:\n class12Container.classList.toggle('active');\n class9Container.classList.remove('active');\n class10Container.classList.remove('active');\n class11Container.classList.remove('active');\n class12passContainer.classList.remove('active');\n break;\n case HEADERMENU.CLASS12_PASS:\n class12passContainer.classList.toggle('active');\n class9Container.classList.remove('active');\n class10Container.classList.remove('active');\n class11Container.classList.remove('active');\n class12Container.classList.remove('active');\n break;\n default:\n return;\n }\n }\n getResourcesList(str):void{\n const toolsContainer = this.document.querySelector(\".tools-container\");\n const toolsMenu = this.document.querySelector(\".tools-menu\");\n const previousPaperContainer = this.document.querySelector(\".previous-paper-container\");\n const previousPaperMenu = this.document.querySelector(\".previous-paper-menu\");\n // Sample Paper code for future ref.\n // const samplePaperContainer = this.document.querySelector(\".sample-paper-container\");\n // const samplePaperMenu = this.document.querySelector(\".sample-paper-menu\");\n switch(str) {\n case HEADERMENU.TOOLS:\n toolsContainer.classList.toggle('active');\n toolsMenu.classList.toggle('active');\n previousPaperContainer.classList.remove('active');\n previousPaperMenu.classList.remove('active');\n // Sample Paper code for future ref.\n // samplePaperContainer.classList.remove('active');\n // samplePaperMenu.classList.remove('active');\n break;\n case HEADERMENU.PREVIOUS_PAPER:\n previousPaperContainer.classList.toggle('active');\n previousPaperMenu.classList.toggle('active');\n toolsContainer.classList.remove('active');\n toolsMenu.classList.remove('active');\n // Sample Paper code for future ref.\n // samplePaperContainer.classList.remove('active');\n // samplePaperMenu.classList.remove('active');\n break;\n case HEADERMENU.SAMPLE_PAPER:\n // Sample Paper code for future ref.\n // samplePaperContainer.classList.toggle('active');\n // samplePaperMenu.classList.toggle('active');\n toolsContainer.classList.remove('active');\n toolsMenu.classList.remove('active');\n previousPaperContainer.classList.remove('active');\n previousPaperMenu.classList.remove('active');\n break;\n case HEADERMENU.BLOG:\n // Sample Paper code for future ref.\n // samplePaperContainer.classList.remove('active');\n // samplePaperMenu.classList.remove('active');\n toolsContainer.classList.remove('active');\n toolsMenu.classList.remove('active');\n previousPaperContainer.classList.remove('active');\n previousPaperMenu.classList.remove('active');\n this.handleDropdownState();\n break;\n case HEADERMENU.EBOOKS:\n // Sample Paper code for future ref.\n // samplePaperContainer.classList.remove('active');\n // samplePaperMenu.classList.remove('active');\n toolsContainer.classList.remove('active');\n toolsMenu.classList.remove('active');\n previousPaperContainer.classList.remove('active');\n previousPaperMenu.classList.remove('active');\n break;\n default:\n return;\n }\n }\n getmobileMainMenu(str):void{\n const mobileClassContainer = this.document.querySelector(\".mobile-class-menu\");\n const courseMenuContainer = this.document.querySelector(\".course-menu\");\n const mobileExamMenuContainer = this.document.querySelector(\".mobile-exam-menu\");\n const examMenuContainer = this.document.querySelector(\".exams-menu\");\n const mobileResourcesMenuContainer = this.document.querySelector(\".mobile-resources-menu\");\n const resourcesMenuContainer = this.document.querySelector(\".resources-menus\");\n const mobileCommunitysMenuContainer = this.document.querySelector(\".mobile-community-menu\");\n const communityMenuContainer = this.document.querySelector(\".community-menu\");\n switch(str){\n case HEADERMENU.CLASS_LIST:\n mobileClassContainer.classList.toggle('active');\n courseMenuContainer.classList.toggle('active');\n break;\n case HEADERMENU.EXAM_LIST:\n mobileExamMenuContainer.classList.toggle('active');\n examMenuContainer.classList.toggle('active');\n break;\n case HEADERMENU.RESOURCES_LIST:\n mobileResourcesMenuContainer.classList.toggle('active');\n resourcesMenuContainer.classList.toggle('active');\n break;\n case HEADERMENU.COMMUNITY:\n mobileCommunitysMenuContainer.classList.toggle('active');\n communityMenuContainer.classList.toggle('active');\n default:\n return; \n }\n }\n getmobileClassList(str):void {\n const class9listContainer = this.document.querySelector(\".class9-list\");\n const class9menu = this.document.querySelector(\".class9-menu\");\n const class10listContainer = this.document.querySelector(\".class10-list\");\n const class10menu = this.document.querySelector(\".class10-menu\");\n const class11listContainer = this.document.querySelector(\".class11-list\");\n const class11menu = this.document.querySelector(\".class11-menu\");\n const class12listContainer = this.document.querySelector(\".class12-list\");\n const class12menu = this.document.querySelector(\".class12-menu\");\n const class12passlistContainer = this.document.querySelector(\".class12pass-list\");\n const class12passmenu = this.document.querySelector(\".class12pass-menu\");\n switch(str){\n case HEADERMENU.CLASS9:\n class9listContainer.classList.toggle('active'); \n class9menu.classList.toggle('active'); \n break;\n case HEADERMENU.CLASS10:\n class10listContainer.classList.toggle('active'); \n class10menu.classList.toggle('active'); \n break;\n case HEADERMENU.CLASS11:\n class11listContainer.classList.toggle('active'); \n class11menu.classList.toggle('active'); \n break;\n case HEADERMENU.CLASS12:\n class12listContainer.classList.toggle('active'); \n class12menu.classList.toggle('active'); \n break;\n case HEADERMENU.CLASS12_PASS:\n class12passlistContainer.classList.toggle('active'); \n class12passmenu.classList.toggle('active'); \n break;\n default:\n return;\n }\n }\n getMobileResourcesList(str):void {\n const toolslist = this.document.querySelector(\".tools-list\");\n const toolsmenu = this.document.querySelector(\".tool-menu\");\n const previousPaperlist = this.document.querySelector(\".previousPaper-list\");\n const previousPapermenu = this.document.querySelector(\".previousPaper-menu\");\n const samplePaperlist = this.document.querySelector(\".samplePaper-list\");\n const samplePapermenu = this.document.querySelector(\".samplePaper-menu\");\n switch(str){\n case HEADERMENU.TOOLS:\n toolslist.classList.toggle('active'); \n toolsmenu.classList.toggle('active'); \n break;\n case HEADERMENU.PREVIOUS_PAPER:\n previousPaperlist.classList.toggle('active'); \n previousPapermenu.classList.toggle('active');\n break;\n case HEADERMENU.SAMPLE_PAPER:\n samplePaperlist.classList.toggle('active'); \n samplePapermenu.classList.toggle('active');\n default:\n return;\n }\n }\n closeHeaderResponsive(){\n const headermenuList = this.document.querySelector(\".responsive-header\");\n headermenuList.classList.remove('show');\n }\n\n navigateToSignup() {\n this._router.navigate([this.routerInfo.signup]);\n }\n\n navigateToLogin() {\n this._router.navigate([this.routerInfo.login]);\n }\n\n public get HEADERMENU_DATA(){\n return HEADERMENU;\n }\n\n retainDropdown(target){\n this.getMenuList(target);\n }\n public get BLOG_URL(){\n return environment.blog;\n }\n}\n","\n
\n
\n \n
\n
\n","export const getAdmissionTestRedirectionUrl = (admissionTestDetail: any) => {\n const testName = admissionTestDetail?.testName.split(\" \").join(\"_\");\n let redirectionUrl = `/test/test-ongoing/others/${testName}/${admissionTestDetail?.testId}/${admissionTestDetail?.courseId}`;\n if (admissionTestDetail?.attempts?.length) {\n const latestAttempt = admissionTestDetail?.attempts[0];\n redirectionUrl += `/${latestAttempt?.attemptId}`;\n if (latestAttempt?.status === \"finished\") {\n redirectionUrl = `/test-results/${admissionTestDetail?.testId}/${latestAttempt?.attemptId}/${latestAttempt?.testType}`;\n }\n }\n return redirectionUrl;\n};\n","import * as TestOngoingActionList from './test-ongoing.actions';\nimport {question} from '../../test/test-ongoing/model/question.model';\nimport * as fromApp from '../app.reducers';\nimport { Router } from '@angular/router';\ndeclare var window: any;\n\nexport interface FeatureState extends fromApp.AppState {\n testOngoing: State\n}\n\nexport interface State {\n paperTitle: string,\n attemptNo: any,\n questions: {},\n timeLeft: any,\n duration: any;\n startTime: any;\n progress: number,\n testType: any,\n currentSectionId: string,\n currentTypeId: string,\n currentQuestionId: string,\n questionIds: string[],\n minQuestions: number,\n questionsAttempted: number;\n questionsNotAttempted: number;\n questionsVisited: number;\n questionsNotVisited: number;\n questionsReviewed: number;\n numQuestions: number;\n questionsAnsweredReviewed: number;\n paperDetails: any,\n isBackDisable: boolean,\n isSkipDisable: boolean,\n isNextDisable: boolean,\n question_array: any;\n attemptId: string,\n testId: any;\n testStartDate:Date;\n testEndDate:Date;\n serverTimeInitially: number,\n questionImages : any[],\n sectionWiseNumbering : boolean;\n totalSessionTime: string | number;\n showNewInstruction: boolean;\n isAutoProctoring: boolean;\n}\n\nconst intialState: State = {\n paperTitle: \"\",\n attemptNo: 0,\n questions: {},\n timeLeft: 0.0,\n duration: 0.0,\n startTime: 0.0,\n progress: 0,\n testType: \"\",\n currentSectionId: \"\",\n currentTypeId: \"\",\n currentQuestionId: \"\",\n questionIds: [], \n minQuestions: 0,\n questionsAttempted: 0,\n questionsNotAttempted: 0,\n questionsVisited: 0,\n questionsNotVisited: 0,\n questionsReviewed: 0,\n questionsAnsweredReviewed: 0,\n numQuestions: 0,\n paperDetails: [],\n isBackDisable: false,\n isSkipDisable: false,\n isNextDisable: false,\n question_array: [],\n attemptId: \"\",\n testId: \"\",\n testStartDate:new Date(),\n testEndDate:new Date(),\n serverTimeInitially:0,\n questionImages:[],\n sectionWiseNumbering : false,\n totalSessionTime: '0',\n showNewInstruction: false,\n isAutoProctoring: false\n};\n\n//function to get first type\nfunction getQuestionType(questions, sectionKey) {\n let qtype = \"\";\n let flag = -1;\n \n for(let type in questions[sectionKey]) {\n qtype = type;\n flag = flag + 1;\n\n if(flag == 1) {\n break;\n }\n }\n return qtype;\n}\n\n//change visited questions on the basis of count of current question\nfunction visitQuestion(countOfQuestion, visitedQuestions, notVisitedQuestions, notAttempted) {\n let noOfVisitQuestions = visitedQuestions;\n let noOfNotVisitQuestions = notVisitedQuestions;\n let countQuestion = countOfQuestion;\n\n countQuestion = countQuestion + 1;\n if(countQuestion == 1) {\n noOfVisitQuestions = noOfVisitQuestions + 1;\n noOfNotVisitQuestions = noOfNotVisitQuestions - 1;\n notAttempted = notAttempted + 1;\n }\n return [countQuestion, noOfVisitQuestions, noOfNotVisitQuestions, notAttempted];\n}\n\n//update time\nfunction updateTime(stateTimeLeft, timeLeft, stateQuestionTimeSpent) {\n stateTimeLeft = timeLeft;\n stateQuestionTimeSpent = stateQuestionTimeSpent + stateTimeLeft - timeLeft;\n return [stateTimeLeft, stateQuestionTimeSpent];\n}\n\n// mark and review without answer\nfunction markAndReviewWithoutAnswer(isAttempted, isAnsweredReviewed, isMarked, questionsReviewed,\n questionsAnsweredReviewed, questionsNotAttempted, questionsAttempted) {\n if (isAttempted) {\n isAttempted = false;\n questionsAttempted = questionsAttempted - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n }\n\n if (isAnsweredReviewed) {\n isAnsweredReviewed = false;\n questionsAnsweredReviewed = questionsAnsweredReviewed - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n }\n\n if (!isMarked) {\n isMarked = true;\n questionsReviewed = questionsReviewed + 1;\n questionsNotAttempted = questionsNotAttempted - 1;\n } else if (isMarked) {\n isMarked = false;\n questionsReviewed -= 1;\n if (!isAnsweredReviewed && !isAttempted) {\n questionsNotAttempted += 1;\n }\n }\n return [isAttempted, isAnsweredReviewed, isMarked, questionsReviewed,\n questionsAnsweredReviewed, questionsNotAttempted, questionsAttempted];\n}\n\n// mark and review with answer\nfunction markAndReviewWithAnswer(isAttempted, isAnsweredReviewed, isMarked, questionsReviewed,\n questionsAnsweredReviewed, questionsNotAttempted, questionsAttempted) {\n\n if (isAttempted && !isAnsweredReviewed) {\n isAttempted = false;\n questionsAttempted = questionsAttempted - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n }\n\n if (isMarked) {\n isMarked = false;\n questionsReviewed = questionsReviewed - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n }\n\n if (!isAnsweredReviewed) {\n isAnsweredReviewed = true;\n questionsAnsweredReviewed = questionsAnsweredReviewed + 1;\n questionsNotAttempted = questionsNotAttempted - 1;\n }\n return [isAttempted, isAnsweredReviewed, isMarked, questionsReviewed, questionsAnsweredReviewed,\n questionsNotAttempted, questionsAttempted];\n}\n\nfunction answeredMarkedCpp(isAttempted, isAnsweredReviewed, isMarked, questionsReviewed,\n questionsAnsweredReviewed, questionsNotAttempted, questionsAttempted) {\n if (isAnsweredReviewed) {\n isAttempted = true;\n isAnsweredReviewed = false;\n questionsAnsweredReviewed -= 1;\n questionsAttempted += 1;\n } else if (isAttempted) {\n isAttempted = false;\n isAnsweredReviewed = true;\n questionsAttempted = questionsAttempted - 1;\n questionsAnsweredReviewed = questionsAnsweredReviewed + 1;\n } else if (isMarked) {\n isMarked = false;\n questionsReviewed -= 1;\n questionsNotAttempted += 1;\n }\n return [isAttempted, isAnsweredReviewed, isMarked, questionsReviewed, questionsAnsweredReviewed,\n questionsNotAttempted, questionsAttempted];\n}\n\n// mark and review with answer\nfunction saveUpdationsCpp(isAttempted, isAnsweredReviewed, isMarked, questionsReviewed,\n questionsAnsweredReviewed, questionsNotAttempted, questionsAttempted) {\n if (isAttempted) {\n isAttempted = false;\n questionsAttempted = questionsAttempted - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n } else if (isMarked) {\n isMarked = false;\n isAnsweredReviewed = true;\n questionsAnsweredReviewed += 1;\n questionsReviewed -= 1;\n } else if (!isAttempted && !isMarked) {\n isAttempted = true;\n isMarked = false;\n isAnsweredReviewed = false;\n questionsAttempted += 1;\n }\n\n return [isAttempted, isAnsweredReviewed, isMarked, questionsReviewed, questionsAnsweredReviewed,\n questionsNotAttempted, questionsAttempted];\n}\n\n\n//save question\nfunction saveQuestion(isAttempted, questionsNotAttempted, questionsAttempted) {\n if (!isAttempted) {\n isAttempted = true;\n questionsAttempted = questionsAttempted + 1;\n questionsNotAttempted = questionsNotAttempted - 1;\n }\n return [isAttempted, questionsNotAttempted, questionsAttempted];\n}\n\n//not save question\nfunction notSaveQuestion(isAttempted, questionsNotAttempted, questionsAttempted) {\n if(isAttempted ) {\n isAttempted = false;\n questionsAttempted = questionsAttempted - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n\n }\n return [isAttempted, questionsNotAttempted, questionsAttempted];\n}\n\n//remove mark state\nfunction removeMarkState(isAnsweredReviewed, isMarked, questionsReviewed, questionsAnsweredReviewed, questionsNotAttempted) {\n if(isAnsweredReviewed ) {\n isAnsweredReviewed = false;\n questionsAnsweredReviewed = questionsAnsweredReviewed - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n } else if(isMarked ) {\n isMarked = false;\n questionsReviewed = questionsReviewed - 1;\n questionsNotAttempted = questionsNotAttempted + 1;\n }\n return [isAnsweredReviewed, isMarked, questionsReviewed, questionsAnsweredReviewed, questionsNotAttempted];\n}\n\nexport function testOngoingReducer(state = intialState, action: TestOngoingActionList.TestOngoingActionList) {\n switch (action.type) {\n case TestOngoingActionList.START_TEST_DETAILS:\n //change count of current question\n if(action.payload[\"questions\"][action.payload[\"currentSectionId\"]][action.payload[\"currentTypeId\"]][action.payload[\"currentQuestionId\"]]?.countSeen){\n action.payload[\"questions\"][action.payload[\"currentSectionId\"]][action.payload[\"currentTypeId\"]][action.payload[\"currentQuestionId\"]].countSeen = 1;\n }\n return {\n ...state,\n startTime: action.payload[\"startTime\"],\n duration: action.payload[\"totalDuration\"],\n attemptId: action.payload[\"attemptId\"],\n attemptNo: action.payload[\"attemptNo\"],\n question_array: action.payload[\"question_array\"],\n timeLeft: action.payload[\"totalDuration\"],\n minQuestions: action.payload[\"minQuestions\"],\n paperDetails: action.payload[\"details\"],\n paperTitle: action.payload[\"paperTitle\"],\n questions: action.payload[\"questions\"],\n progress: action.payload[\"progress\"],\n questionIds: action.payload[\"questionIds\"],\n testType: action.payload[\"testType\"],\n currentSectionId: action.payload[\"currentSectionId\"],\n currentTypeId: action.payload[\"currentTypeId\"],\n currentQuestionId: action.payload[\"currentQuestionId\"],\n numQuestions: action.payload[\"questionsNotAttempted\"],\n questionsAttempted: action.payload[\"questionsAttempted\"],\n questionsNotAttempted: action.payload[\"questionsNotAttempted\"],\n questionsVisited: action.payload[\"questionsVisited\"],\n questionsNotVisited: action.payload[\"questionsNotVisited\"],\n questionsReviewed: action.payload[\"questionsReviewed\"],\n questionsAnsweredReviewed: action.payload[\"questionsAnsweredReviewed\"],\n testStartDate:action.payload['testStartDate'],\n testEndDate:action.payload['testEndDate'],\n isBackDisable: true,\n isSkipDisable: false,\n isNextDisable: true,\n serverTimeInitially:action.payload[\"serverTimeInitially\"],\n questionImages : action.payload[\"questionImages\"],\n sectionWiseNumbering : action.payload[\"sectionWiseNumbering\"],\n totalSessionTime: 0,\n showNewInstruction: action.payload['showNewInstruction'],\n isAutoProctoring: action.payload['isAutoProctoring']\n }\n case TestOngoingActionList.GET_QUESTIONS: \n return {\n ...state,\n isBackDisable: true,\n isSkipDisable: false,\n isNextDisable: true\n }\n case TestOngoingActionList.UPDATE_SECTION_TYPE:\n //update time\n // let currentTime = parseFloat(state.timeLeft) - parseFloat(action.payload[\"timeSpent\"]);\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n \n //update question\n state.currentTypeId = action.payload[\"currentTypeId\"];\n state.currentQuestionId = state.questions[state.currentSectionId][action.payload[\"currentTypeId\"]][\"questionTracker\"][0];\n\n //changes to be done on visiting a question\n let pquestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n if(state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId][\"countSeen\"] == 0) {\n state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] = state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] - 1;\n }\n\n if(pquestion.countSeen===0 &&pquestion.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n //changes to be done on visiting a question\n [state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen, state.questionsVisited, state.questionsNotVisited,state.questionsNotAttempted] = visitQuestion(state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen, state.questionsVisited, state.questionsNotVisited, state.questionsNotAttempted);\n return {\n ...state, \n isBackDisable: (state.questionIds[0] === state.questions[state.currentSectionId][action.payload[\"currentTypeId\"]][\"questionTracker\"][0])?true: false,\n isSkipDisable: (state.questionIds[state.questionIds.length - 1] === state.questions[state.currentSectionId][action.payload[\"currentTypeId\"]][\"questionTracker\"][0])?true: false,\n isNextDisable: true\n }\n case TestOngoingActionList.UPDATE_SECTION:\n //update time\n // currentTime = parseFloat(state.timeLeft) - parseFloat(action.payload[\"timeSpent\"]);\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n\n //update question\n let qtype = getQuestionType(state.questions, action.payload[\"currentSectionId\"]);\n state.currentSectionId = action.payload[\"currentSectionId\"];\n\n //get section type on the basis of paper\n if(action.payload[\"type\"] == 2) {\n state.currentTypeId = action.payload[\"currentTypeId\"];\n } else {\n state.currentTypeId = qtype;\n }\n \n state.currentQuestionId = state.questions[action.payload[\"currentSectionId\"]][state.currentTypeId][\"questionTracker\"][0];\n let cquestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n if(state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId][\"countSeen\"] == 0) {\n state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] = state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] - 1;\n }\n\n if(cquestion.countSeen===0 && cquestion.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n //changes to be done on visiting a question\n [state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen, state.questionsVisited, state.questionsNotVisited,state.questionsNotAttempted] = visitQuestion(state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen, state.questionsVisited, state.questionsNotVisited, state.questionsNotAttempted); \n return {\n ...state,\n isBackDisable: (state.questionIds[0] === state.questions[action.payload[\"currentSectionId\"]][qtype][\"questionTracker\"][0])?true: false,\n isSkipDisable: false,\n isNextDisable: true\n }\n case TestOngoingActionList.UPDATE_QUESTION:\n // currentTime = parseFloat(state.timeLeft) - parseFloat(action.payload[\"timeSpent\"]);\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n\n //update question\n state.currentSectionId = action.payload[\"currentSectionId\"];\n state.currentTypeId = action.payload[\"currentTypeId\"];\n state.currentQuestionId = action.payload[\"currentQuestionId\"];\n\n let question = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n if(state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen == 0) {\n state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] = state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] - 1;\n }\n\n if(question.countSeen===0 && question.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n //changes to be done on visiting a question\n [state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen, state.questionsVisited, state.questionsNotVisited, state.questionsNotAttempted] = visitQuestion(state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].countSeen, state.questionsVisited, state.questionsNotVisited, state.questionsNotAttempted); \n return {\n ...state,\n isBackDisable: \n state.questionIds[0] === action.payload[\"currentQuestionId\"]?true: false,\n isSkipDisable: \n (state.questionIds[state.questionIds.length - 1] === \n action.payload[\"currentQuestionId\"])?true: false,\n isNextDisable: true \n }\n case TestOngoingActionList.UPDATE_QUESTION_TIME:\n state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].timeSpent = parseFloat(action.payload['timeSpent']);\n state.timeLeft = parseFloat(state.timeLeft) - parseFloat(action.payload[\"time\"]);\n\n return {\n ...state\n }\n case TestOngoingActionList.MARK_REVIEW:\n //update time\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n \n //mark question\n state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].isMarkedForReview = true;\n return {\n ...state\n }\n case TestOngoingActionList.UNMARK_FOR_REVIEW:\n //update time\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n \n //unmark question\n state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId].isMarkedForReview = false;\n return {\n ...state\n }\n case TestOngoingActionList.UPDATE_PROGRESS: {\n //update time\n \n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n\n let progress = state.progress;\n let numQues = state.questionIds.length;\n let options = action.payload[\"options\"];\n let currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n\n if (options.length > 0 && (currentQuestion.questionCode == 6 || currentQuestion.questionCode == 7 || currentQuestion.questionCode == 3)) {\n currentQuestion.answerKey = options[0];\n if (options[0] != null && options[0] !== \"\" && currentQuestion.isAttempted == false && !currentQuestion.isAnsweredMarkedForReview) {\n //update progress\n if (currentQuestion.isAnsweredMarkedForReview == false) {\n progress = ((progress * numQues) + 100) / (numQues);\n }\n //save question and increase progress\n if (!currentQuestion.isAttempted && !currentQuestion.isMarkedForReview && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n if (!currentQuestion.isAttempted && currentQuestion.isMarkedForReview && !(window.location.pathname.includes('jee-main'))) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n if(!window.location.pathname.includes('jee-main') || !currentQuestion.isAnsweredMarkedForReview) {\n let value = saveQuestion(currentQuestion?.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n currentQuestion.isAttempted = value[0];\n state.questionsNotAttempted = value[1];\n state.questionsAttempted = value[2];\n // [currentQuestion?.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = saveQuestion(currentQuestion?.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n }\n\n //state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] = state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] - 1;\n } else if ((options[0] == null || options[0] === \"\") && (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) ) {\n //unsave question and decrease progress\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = notSaveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n\n if (currentQuestion.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n } else if (options.length === 0 && (currentQuestion.isAnsweredMarkedForReview) ) {\n // unsave question and decrease progress\n currentQuestion.isAnsweredMarkedForReview = !currentQuestion.isAnsweredMarkedForReview;\n currentQuestion.isAttempted = false;\n state.questionsNotAttempted += 1;\n state.questionsAnsweredReviewed -= 1;\n\n if (currentQuestion.isAnsweredMarkedForReview === false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n }\n } else if (currentQuestion.questionCode == 0 || currentQuestion.questionCode == 8 || currentQuestion.questionCode == 1 || currentQuestion.questionCode == 5 || currentQuestion.questionCode == 2) {\n //updating progress if not attempted before\n if (options.length > 0 && currentQuestion.isAttempted == false && !currentQuestion.isAnsweredMarkedForReview) {\n //update progress\n if (currentQuestion.isAnsweredMarkedForReview == false) {\n progress = ((progress * numQues) + 100) / (numQues);\n }\n\n //save question and increase progress\n if (!currentQuestion.isAttempted && !currentQuestion.isMarkedForReview && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n if (!currentQuestion.isAttempted && currentQuestion.isMarkedForReview && !(window.location.pathname.includes('jee-main'))) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n if(!window.location.pathname.includes('jee-main') || !currentQuestion.isAnsweredMarkedForReview) {\n let value = saveQuestion(currentQuestion?.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n currentQuestion.isAttempted = value[0];\n state.questionsNotAttempted = value[1];\n state.questionsAttempted = value[2];\n // [currentQuestion?.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = saveQuestion(currentQuestion?.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n }\n } else if (options.length == 0 && (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) ) {\n //unsave question and decrease progress\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = notSaveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n\n if (currentQuestion.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n } else if (options.length === 0 && (currentQuestion.isAnsweredMarkedForReview) ) {\n // unsave question and decrease progress\n currentQuestion.isAnsweredMarkedForReview = !currentQuestion.isAnsweredMarkedForReview;\n currentQuestion.isAttempted = false;\n state.questionsNotAttempted += 1;\n state.questionsAnsweredReviewed -= 1;\n\n if (currentQuestion.isAnsweredMarkedForReview === false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n }\n }\n\n if (currentQuestion.isMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n if (!window.location.pathname.includes('jee-main')) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n } else {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n }\n }\n\n if (currentQuestion.isAnsweredMarkedForReview && !(window.location.pathname.includes('jee-main'))) {\n if (options && options.length) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n }\n } else if(currentQuestion.isAnsweredMarkedForReview && (window.location.pathname.includes('jee-main'))) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview && options && options.length) {\n currentQuestion.isAnsweredMarkedForReview = false;\n currentQuestion.isAttempted = true;\n state.questionsAttempted += 1;\n state.questionsAnsweredReviewed -= 1;\n } else {\n // change marked state\n [currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted] = removeMarkState(currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted);\n }\n return {\n ...state,\n progress: progress\n }\n }\n case TestOngoingActionList.MARK_PROGRESS: {\n //update time\n let progressVal = state.progress;\n let numQuesVal = state.questionIds.length;\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n let options = action.payload[\"options\"];\n let currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n\n if (options.length > 0 && (currentQuestion.questionCode == 6 || currentQuestion.questionCode == 7 || currentQuestion.questionCode == 3)) {\n currentQuestion.answerKey = options[0];\n if (options[0] != null) {\n //update progress\n if (currentQuestion.isAttempted == false && currentQuestion.isAnsweredMarkedForReview == false) {\n progressVal = ((progressVal * numQuesVal) + 100) / (numQuesVal);\n }\n\n if (currentQuestion.isMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n } else {\n //decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted ) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n }\n } else if (currentQuestion.questionCode == 0 || currentQuestion.questionCode == 8 || currentQuestion.questionCode == 1 || currentQuestion.questionCode === 5 || currentQuestion.questionCode === 2) {\n if (options.length > 0) {\n //update progress\n if (currentQuestion.isAttempted == false && currentQuestion.isAnsweredMarkedForReview == false) {\n progressVal = ((progressVal * numQuesVal) + 100) / (numQuesVal);\n }\n\n if (currentQuestion.isMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n } else {\n //decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted ) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n }\n }\n return {\n ...state,\n progress: progressVal\n }\n }\n case TestOngoingActionList.UPDATE_PROGRESS_CPP: {\n // update time\n state.timeLeft = parseFloat(action.payload['timeSpent']);\n state.testId = String(action.payload['testId']);\n\n let progress = state.progress;\n const numQues = state.questionIds.length;\n const options = action.payload['options'];\n const currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n\n if (options.length > 0 && (currentQuestion.questionCode === 6 || currentQuestion.questionCode === 7 ||\n currentQuestion.questionCode === 3)) {\n currentQuestion.answerKey = options[0];\n if (options[0] != null && options[0] !== '' &&\n !(currentQuestion.isAttempted || currentQuestion.isAnsweredMarkedForReview)) {\n // update progress\n if (!currentQuestion.isAnsweredMarkedForReview) {\n progress = ((progress * numQues) + 100) / (numQues);\n }\n // save question and increase progress\n if (!currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n }\n // call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n saveUpdationsCpp(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n } else if ((options[0] == null || options[0] === '') &&\n (currentQuestion.isAttempted || currentQuestion.isAnsweredMarkedForReview)) {\n // unsave question and decrease progress\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] =\n notSaveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n\n if (!currentQuestion.isAttempted) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n }\n } else if (currentQuestion.questionCode === 0 || currentQuestion.questionCode === 8 ||\n currentQuestion.questionCode === 1 || currentQuestion.questionCode === 5 || currentQuestion.questionCode === 2\n || currentQuestion.questionCode === 4) {\n // updating progress if not attempted before\n if (options.length > 0 && !(currentQuestion.isAttempted || currentQuestion.isAnsweredMarkedForReview)) {\n // update progress\n if (!currentQuestion.isAnsweredMarkedForReview) {\n progress = ((progress * numQues) + 100) / (numQues);\n }\n\n // save question and increase progress\n if (!currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n }\n // call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n saveUpdationsCpp(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n } else if (options.length === 0 && (currentQuestion.isAttempted || currentQuestion.isAnsweredMarkedForReview)) {\n // unsave question and decrease progress\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] =\n notSaveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n\n if (!currentQuestion.isAttempted) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n }\n }\n return {\n ...state,\n progress: progress\n };\n }\n case TestOngoingActionList.MARK_PROGRESS_CPP: {\n // update time\n let progressVal = state.progress;\n const numQuesVal = state.questionIds.length;\n state.timeLeft = parseFloat(action.payload['timeSpent']);\n state.testId = String(action.payload['testId']);\n const options = action.payload['options'];\n const currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n\n if (options.length > 0 && (currentQuestion.questionCode === 6 || currentQuestion.questionCode === 7 ||\n currentQuestion.questionCode === 3)) {\n currentQuestion.answerKey = options[0];\n if (options[0] != null) {\n // update progress\n if (!currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) {\n progressVal = ((progressVal * numQuesVal) + 100) / (numQuesVal);\n }\n\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n }\n if (!currentQuestion.isAnsweredMarkedForReview && !currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n if (!currentQuestion.isAnsweredMarkedForReview && !currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n // call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n } else {\n // call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n answeredMarkedCpp(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n }\n } else {\n // decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n if (!currentQuestion.isAnsweredMarkedForReview && !currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n\n // call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n }\n } else if (currentQuestion.questionCode === 0 || currentQuestion.questionCode === 8 || currentQuestion.questionCode === 1 ||\n currentQuestion.questionCode === 5 || currentQuestion.questionCode === 2 || currentQuestion.questionCode === 4) {\n if (options.length > 0) {\n // update progress\n if (currentQuestion.isAttempted === false && currentQuestion.isAnsweredMarkedForReview === false) {\n progressVal = ((progressVal * numQuesVal) + 100) / (numQuesVal);\n }\n\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n }\n if (!currentQuestion.isAnsweredMarkedForReview && !currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n if (!currentQuestion.isAnsweredMarkedForReview && !currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n // call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n } else {\n // call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n answeredMarkedCpp(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n }\n } else {\n // decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n if (!currentQuestion.isAnsweredMarkedForReview && !currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n\n // call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] =\n markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n }\n }\n return {\n ...state,\n progress: progressVal\n }\n }\n\n case TestOngoingActionList.UPDATE_PROGRESS_JEEADV: {\n // update time\n state.timeLeft = parseFloat(action.payload['timeSpent']);\n state.testId = String(action.payload['testId']);\n\n // tslint:disable-next-line: no-shadowed-variable\n let progress = state.progress;\n // tslint:disable-next-line: no-shadowed-variable\n const numQues = state.questionIds.length;\n // tslint:disable-next-line: no-shadowed-variable\n const options = action.payload['options'];\n // tslint:disable-next-line: no-shadowed-variable\n const currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n\n if (options.length > 0 && (currentQuestion.questionCode === 6 || currentQuestion.questionCode === 7 ||\n currentQuestion.questionCode === 3)) {\n currentQuestion.answerKey = options[0];\n if (options[0] != null && options[0] !== '' && !currentQuestion.isAttempted) {\n // update progress\n if (!currentQuestion.isAnsweredMarkedForReview) {\n progress = ((progress * numQues) + 100) / (numQues);\n }\n if (!currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n if (currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n } else {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n }\n if (!currentQuestion.isAttempted && currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n if (!currentQuestion.isAnsweredMarkedForReview) {\n\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = saveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n } else {\n currentQuestion.isAttempted = true;\n currentQuestion.isAnsweredMarkedForReview = false;\n state.questionsAnsweredReviewed--;\n state.questionsAttempted++;\n }\n\n //state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] = state.questions[state.currentSectionId][state.currentTypeId]['notVisited'] - 1;\n } else if ((options[0] == null || options[0] === \"\") && currentQuestion.isAttempted ) {\n //unsave question and decrease progress\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = notSaveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n\n if (currentQuestion.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n }\n } else if (currentQuestion.questionCode === 0 || currentQuestion.questionCode === 8 ||\n currentQuestion.questionCode === 1 || currentQuestion.questionCode === 5 || currentQuestion.questionCode === 2) {\n // updating progress if not attempted before\n if (options.length > 0 && !currentQuestion.isAttempted) {\n // update progress\n if (!currentQuestion.isAnsweredMarkedForReview) {\n progress = ((progress * numQues) + 100) / (numQues);\n }\n\n // save question and increase progress\n if (!currentQuestion.isAttempted && !currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n if (currentQuestion.isAnsweredMarkedForReview) {\n currentQuestion.isAnsweredMarkedForReview = false;\n state.questionsAnsweredReviewed--;\n state.questionsNotAttempted++;\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n } else {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] =\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] =\n saveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n }\n if (!currentQuestion.isAttempted && currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] =\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n // call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview,\n state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted]\n = markAndReviewWithAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview,\n currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed,\n state.questionsNotAttempted, state.questionsAttempted);\n }\n\n } else if (options.length == 0 && currentQuestion.isAttempted ) {\n //unsave question and decrease progress\n [currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted] = notSaveQuestion(currentQuestion.isAttempted, state.questionsNotAttempted, state.questionsAttempted);\n\n if (currentQuestion.isAttempted == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n }\n\n progress = ((progress * numQues) - 100) / (numQues);\n }\n }\n\n // if (currentQuestion.isMarkedForReview ) {\n // state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n // if (!window.location.pathname.includes('jee-main')) {\n // state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n // } else {\n // state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] + 1;\n // }\n // }\n\n // if (currentQuestion.isAnsweredMarkedForReview ) {\n // state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n // state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n // }\n\n // [currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted] = removeMarkState(currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted);\n return {\n ...state,\n progress: progress\n }\n }\n\n case TestOngoingActionList.MARK_PROGRESS_JEEADV: {\n //update time\n let progressVal = state.progress;\n let numQuesVal = state.questionIds.length;\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n let options = action.payload[\"options\"];\n let currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n\n if (options.length > 0 && (currentQuestion.questionCode == 6 || currentQuestion.questionCode == 7 || currentQuestion.questionCode == 3)) {\n currentQuestion.answerKey = options[0];\n if (options[0] != null) {\n //update progress\n if (currentQuestion.isAttempted == false && currentQuestion.isAnsweredMarkedForReview == false) {\n progressVal = ((progressVal * numQuesVal) + 100) / (numQuesVal);\n }\n\n if (currentQuestion.isMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n } else {\n //decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted ) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n }\n } else if (currentQuestion.questionCode == 0 || currentQuestion.questionCode == 8 || currentQuestion.questionCode == 1 || currentQuestion.questionCode === 5 || currentQuestion.questionCode === 2) {\n if (options.length > 0) {\n //update progress\n if (currentQuestion.isAttempted == false && currentQuestion.isAnsweredMarkedForReview == false) {\n progressVal = ((progressVal * numQuesVal) + 100) / (numQuesVal);\n }\n\n if (currentQuestion.isMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAnsweredMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review with answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n } else {\n //decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted ) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isAttempted ) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n }\n\n if (currentQuestion.isMarkedForReview == false) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] + 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] - 1;\n }\n\n //call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted] = markAndReviewWithoutAnswer(currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview, state.questionsReviewed, state.questionsAnsweredReviewed, state.questionsNotAttempted, state.questionsAttempted);\n }\n }\n return {\n ...state,\n progress: progressVal\n }\n }\n\n case TestOngoingActionList.CLEAR_RESPONSE: {\n //update time\n let progressVal = state.progress;\n let numQuesVal = state.questionIds.length;\n state.timeLeft = parseFloat(action.payload[\"timeSpent\"]);\n state.testId = String(action.payload[\"testId\"]);\n let options = action.payload[\"options\"];\n let newNotAnswered, newMarked, newAnsweredMarked, newAnswered;\n let currentQuestion = state.questions[state.currentSectionId][state.currentTypeId][state.currentQuestionId];\n if(currentQuestion.questionCode === 6 || currentQuestion.questionCode === 7 || currentQuestion.questionCode === 3) {\n currentQuestion.answerKey = null;\n }\n //decrease progress\n if (currentQuestion.isAnsweredMarkedForReview || currentQuestion.isAttempted ) {\n progressVal = ((progressVal * numQuesVal) - 100) / (numQuesVal);\n }\n\n if (currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] = state.questions[state.currentSectionId][state.currentTypeId]['answeredAndMarked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n newAnsweredMarked = state.questionsAnsweredReviewed - 1;\n newNotAnswered = state.questionsNotAttempted + 1;\n }\n\n if (currentQuestion.isAttempted && !currentQuestion.isAnsweredMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['answered'] = state.questions[state.currentSectionId][state.currentTypeId]['answered'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n newAnswered = state.questionsAttempted - 1;\n newNotAnswered = state.questionsNotAttempted + 1;\n }\n\n if (currentQuestion.isMarkedForReview) {\n state.questions[state.currentSectionId][state.currentTypeId]['marked'] = state.questions[state.currentSectionId][state.currentTypeId]['marked'] - 1;\n state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] = state.questions[state.currentSectionId][state.currentTypeId]['notAnswered'] + 1;\n newMarked = state.questionsReviewed - 1;\n newNotAnswered = state.questionsNotAttempted + 1;\n }\n\n //call mark and review without answer function\n [currentQuestion.isAttempted, currentQuestion.isAnsweredMarkedForReview, currentQuestion.isMarkedForReview] = [false, false, false]\n\n return {\n ...state,\n progress: progressVal,\n questionsAttempted: (newAnswered != undefined) ? newAnswered : state.questionsAttempted,\n questionsNotAttempted: (newNotAnswered != undefined) ? newNotAnswered : state.questionsNotAttempted,\n questionsReviewed: (newMarked != undefined) ? newMarked : state.questionsReviewed,\n questionsAnsweredReviewed: (newAnsweredMarked != undefined) ? newAnsweredMarked : state.questionsAnsweredReviewed,\n }\n }\n\n case TestOngoingActionList.GET_RESULT:\n return {\n ...state\n }\n case TestOngoingActionList.SEND_RESPONSE:\n return {\n ...state,\n timeLeft: action.payload['timeLeft'],\n totalSessionTime: action.payload['totalSessionTime']\n }\n default:\n return state;\n }\n}","import { Action } from '@ngrx/store';\nimport { UserProfile } from '../../models/profile.model';\n\nexport const GET_USER_DETAIL = 'GET_USER_DETAIL';\nexport const UPDATE_USER_DETAIL = 'UPDATE_USER_DETAIL';\n\nexport const VERIFY_MOBILE_PROFILE = 'VERIFY_MOBILE_PROFILE';\nexport const VERIFY_MOBILE_PROFILE_SUCCESS = 'VERIFY_MOBILE_PROFILE_SUCCESS';\n\nexport const VERIFY_EMAIL_PROFILE = 'VERIFY_EMAIL_PROFILE';\nexport const VERIFY_EMAIL_PROFILE_SUCCESS = 'VERIFY_EMAIL_PROFILE_SUCCESS';\n\nexport const ADD_NAME = 'UPDATE_NAME';\nexport const ADD_NAME_SUCCESS = 'ADD_NAME_SUCCESS';\n\nexport const ADD_CLASS = 'ADD_CLASS';\nexport const ADD_CAREER = 'ADD_CAREER';\nexport const ADD_GOAL = 'ADD_GOAL';\nexport const ADD_GOAL_SUCCESS = 'ADD_GOAL_SUCCESS';\nexport const ADD_SCHOOL_SUCCESS = 'ADD_SCHOOL_SUCCESS';\nexport const ADD_SCHOOL = 'ADD_SCHOOL';\nexport const ADD_PROFILE_SUCCESS = 'ADD_PROFILE_SUCCESS';\n\nexport const GET_CLASS_LIST = 'GET_CLASS_LIST';\nexport const GET_CLASS_LIST_SUCCESS = 'GET_CLASS_LIST_SUCCESS';\n\nexport const GET_GOAL_LIST = 'GET_GOAL_LIST';\nexport const GET_GOAL_LIST_SUCCESS=\"GET_GOAL_LIST_SUCCESS\";\n\nexport const ADD_PASSWORD = 'ADD_PASSWORD';\nexport const ADD_PASSWORD_SUCCESS = 'ADD_PASSWORD_SUCCESS';\nexport const SKIP_PASSWORD = 'SKIP_PASSWORD';\nexport const SKIP_PASSWORD_SUCCESS = 'SKIP_PASSWORD_SUCCESS';\n\nexport const ADD_REFERRAL = 'ADD_REFERRAL';\nexport const ADD_REFERRAL_SUCCESS = 'ADD_REFERRAL_SUCCESS';\n\nexport const FAIL = 'FAIL';\n\nexport const UPDATE_USER_CARD_PROFILE = 'UPDATE_USER_CARD_PROFILE';\nexport const UPDATE_USER_CARD_PROFILE_SUCCESS = 'UPDATE_USER_CARD_PROFILE_SUCCESS';\n\nexport const CHANGE_PASSWORD = 'CHANGE_PASSWORD';\nexport const CHANGE_PASSWORD_SUCCESS = 'CHANGE_PASSWORD_SUCCESS';\n\nexport const UPDATE_PERSONAL_INFO_SUCCESS = 'UPDATE_PERSONAL_INFO_SUCCESS';\nexport const ADD_DOB = 'ADD_DOB';\nexport const SET_USER_DETAIL = 'SET_USER_DETAIL';\n\nexport class GetUserDetail implements Action {\n readonly type = GET_USER_DETAIL;\n constructor(public payload: { 'authToken': string, 'fromScreen': string, 'tag': string }) { }\n}\nexport class SetUserDetail implements Action {\n readonly type = SET_USER_DETAIL;\n constructor(public payload: UserProfile) { };\n}\nexport class UpdateUserDetail implements Action {\n readonly type = UPDATE_USER_DETAIL;\n constructor(public payload: UserProfile) { }\n}\n\nexport class VerifyMobileProfile implements Action {\n readonly type = VERIFY_MOBILE_PROFILE;\n constructor(public payload: {\n 'countryCode': string, 'otp': number,\n 'mobile': any\n }) { }\n}\nexport class VerifyMobileProfileSuccess implements Action {\n readonly type = VERIFY_MOBILE_PROFILE_SUCCESS;\n constructor(public payload: {}) { }\n}\nexport class VerifyEmailProfile implements Action {\n readonly type = VERIFY_EMAIL_PROFILE;\n constructor(public payload: { 'email': string, 'otp': number }) { }\n}\nexport class VerifyEmailProfileSuccess implements Action {\n readonly type = VERIFY_EMAIL_PROFILE_SUCCESS;\n constructor(public payload: {}) { }\n}\nexport class GetClassList implements Action {\n readonly type = GET_CLASS_LIST;\n}\n\nexport class GetClassListSuccess implements Action {\n readonly type = GET_CLASS_LIST_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class GetGoalList implements Action {\n readonly type = GET_GOAL_LIST;\n constructor(public payload: string) { }\n}\n\nexport class AddName implements Action {\n readonly type = ADD_NAME;\n constructor(public payload: {}) { }\n}\nexport class AddNameSuccess implements Action {\n readonly type = ADD_NAME_SUCCESS;\n constructor(public payload: {}) { }\n}\nexport class AddClass implements Action {\n readonly type = ADD_CLASS;\n constructor(public payload: {}) { }\n}\nexport class AddCareer implements Action {\n readonly type = ADD_CAREER;\n constructor(public payload: {}) { }\n}\nexport class AddGoal implements Action {\n readonly type = ADD_GOAL;\n constructor(public payload: {}) { }\n}\nexport class AddGoalSuccess implements Action {\n readonly type = ADD_GOAL_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class AddSchoolSuccess implements Action {\n readonly type = ADD_SCHOOL_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class AddSchool implements Action {\n readonly type = ADD_SCHOOL;\n constructor(public payload: {}) { }\n}\n\nexport class AddProfileSuccess implements Action {\n readonly type = ADD_PROFILE_SUCCESS;\n constructor(public payload: {}) { }\n}\nexport class AddPassword implements Action {\n readonly type = ADD_PASSWORD;\n constructor(public payload: {}) { }\n}\n\nexport class AddPasswordSuccess implements Action {\n readonly type = ADD_PASSWORD_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class SkipPassword implements Action {\n readonly type = SKIP_PASSWORD;\n constructor(public payload: {}) { }\n}\n\nexport class SKipPasswordSuccess implements Action {\n readonly type = SKIP_PASSWORD_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class AddReferral implements Action {\n readonly type = ADD_REFERRAL;\n constructor(public payload: {}) { }\n}\nexport class AddReferralSuccess implements Action {\n readonly type = ADD_REFERRAL_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class Fail implements Action {\n readonly type = FAIL;\n}\n\nexport class UpdateUserCardProfile implements Action {\n readonly type = UPDATE_USER_CARD_PROFILE;\n constructor(public payload: {}) { }\n}\n\nexport class UpdateUserCardProfileSuccess implements Action {\n readonly type = UPDATE_USER_CARD_PROFILE_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class ChangePassword implements Action {\n readonly type = CHANGE_PASSWORD;\n constructor(public payload: {}) { }\n}\n\nexport class ChangePasswordSuccess implements Action {\n readonly type = CHANGE_PASSWORD_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class UpdatePersonalInfoSuccess implements Action {\n readonly type = UPDATE_PERSONAL_INFO_SUCCESS;\n constructor(public payload: {}) { }\n}\n\nexport class AddDOB implements Action {\n readonly type = ADD_DOB;\n constructor(public payload: {}) { }\n }\n\nexport type UserProfileActionList = VerifyMobileProfileSuccess | VerifyEmailProfileSuccess | AddPassword | AddPasswordSuccess |\n AddReferral | AddReferralSuccess | AddClass | AddCareer | AddGoal | AddGoalSuccess | AddNameSuccess | AddName | GetClassList |\n GetClassListSuccess | GetGoalList | GetUserDetail | UpdateUserDetail | AddSchoolSuccess | AddSchool | AddProfileSuccess | SkipPassword |\n SKipPasswordSuccess | Fail | UpdateUserCardProfileSuccess |\n ChangePassword | ChangePasswordSuccess | UpdatePersonalInfoSuccess | AddDOB | SetUserDetail;\n","export class Proforma {\n userId: string;\n name: string;\n userMobile: string;\n countryCode: string;\n email: string;\n mypatEnrollmentNumber: string;\n enrollmentNumber: string;\n photoUrlThumb: string;\n photoUrl: string;\n isFiitjee: boolean;\n isSchool: boolean;\n pastAchievements: any[];\n prevEnrollmentInfo: any[];\n student: any;\n parent: {\n status: string,\n name: string,\n email: string,\n mobile: string,\n countryCode: string\n };\n teacher: {\n status: string,\n name: string,\n email: string,\n mobile: string,\n countryCode: string\n };\n revisedGoalSetting: boolean;\n userType: string;\n school: {\n country: any;\n state: any;\n city: any;\n id: string;\n name: string;\n schoolIdUrl: string;\n };\n goalSettingRequired: boolean;\n dueDate: string;\n userClass: any;\n program: {};\n userGoals: [];\n\n questionsStatus: string;\n goalSelectionStatus: string;\n questions: [];\n goalSelections: [];\n initials: string;\n initialsClass: string;\n userCentres: any;\n constructor(userId?, name?, userMobile?, countryCode?, email?, mypatEnrollmentNumber?,\n enrollmentNumber?, photoUrlThumb?, photoUrl?, isFiitjee?, isSchool?,\n pastAchievements?, prevEnrollmentInfo?, studentObj?, parentObj?, teacherObj?,\n revisedGoalSetting?, userType?, school?, goalSettingRequired?, dueDate?, userClass?, program?, userGoals?, questionStatus?, questions?,\n goalSelectionStatus?, goalSelections?, initials?, initialsClass?, userCentres?) {\n this.userId = userId || '';\n this.name = name || '';\n this.userMobile = userMobile || '';\n this.countryCode = countryCode || '';\n this.email = email || '';\n this.mypatEnrollmentNumber = mypatEnrollmentNumber || '';\n this.enrollmentNumber = enrollmentNumber || '';\n this.photoUrlThumb = photoUrlThumb || '';\n this.photoUrl = photoUrl || '';\n this.isFiitjee = isFiitjee || false;\n this.isSchool = isSchool || false;\n this.pastAchievements = pastAchievements || [];\n this.prevEnrollmentInfo = prevEnrollmentInfo || [];\n this.student = studentObj || { status: 'pending' };\n this.parent = parentObj || { status: 'pending' };\n this.teacher = teacherObj || { status: 'pending' };\n this.revisedGoalSetting = revisedGoalSetting || false;\n this.userType = userType || '';\n this.school = school || {};\n this.goalSettingRequired = goalSettingRequired || false;\n this.dueDate = dueDate || '';\n this.userClass = userClass || {};\n this.program = program || {};\n this.userGoals = userGoals || [];\n this.questions = questions || [];\n this.goalSelectionStatus = goalSelectionStatus || [];\n this.questionsStatus = questionStatus;\n this.goalSelections = goalSelections || [];\n this.initials = initials || '';\n this.initialsClass = initialsClass || '';\n this.userCentres = userCentres || null;\n }\n}\n","const USER_PURCHASE_ACTION={\n BUY_NOW : 'Buy now',\n ADD_TO_CART :'Add to Cart',\n}\n\nexport default USER_PURCHASE_ACTION;","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { StoreModule } from '@ngrx/store';\nimport { EffectsModule } from '@ngrx/effects';\n\nimport ClevertapReact from 'clevertap-react';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\n// Needs to import the BrowserAnimationsModule\n\nimport { AppReducers } from './stores/app.reducers';\nimport { AuthEffects } from './stores/auth/auth.effects';\nimport { UserEffects } from './stores/profile/user-profile.effect';\nimport { ProformaEffects } from './stores/proforma/proforma.effect';\n\nimport { SharedModule } from './shared/shared.module';\nimport { DetectLocationService } from './shared/services/detect-location.service';\n\nimport { AuthGaurd } from './auth-guard.service';\nimport { LoginGuard } from './login-guard.service';\n\nimport { environment } from './../environments/environment';\nimport { ProfileService } from './profile/shared/services/profile.service';\nimport { GoalSettingService } from './goal-setting/services/goal-setting.service';\nimport { AlertService } from './shared/services/alert.service';\nimport { VerifyPasscodeComponent } from './auth/verify-passcode/verify-passcode.component';\nimport { FiitJeeService } from './auth/fiit-jee-login/service/fiit-jee.service';\nClevertapReact.initialize(environment.clevertapId);\n\nimport { HeaderBeforeLoginComponent } from './components/header-before-login/header-before-login.component';\n// import { HeaderBeforeLoginComponent } from './header-before-login/header-before-login.component';\nimport { AlertComponent } from './components/alert/alert.component';\nimport { DatePipe } from '@angular/common';\nimport { ApplicationSurveyComponent } from './application-survey/application-survey.component';\nimport { InvalidLoginComponent } from './invalid-login/invalid-login.component';\nimport { FooterBeforeLoginComponent } from './components/footer-before-login/footer-before-login.component';\nimport { SocialLoginModule, SocialAuthServiceConfig } from 'angularx-social-login';\nimport {\n GoogleLoginProvider,\n FacebookLoginProvider\n} from 'angularx-social-login';\n@NgModule({\n declarations: [\n AlertComponent,\n HeaderBeforeLoginComponent,\n AppComponent,\n VerifyPasscodeComponent,\n ApplicationSurveyComponent,\n InvalidLoginComponent,\n FooterBeforeLoginComponent,\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n SharedModule,\n StoreModule.forRoot(AppReducers, {\n runtimeChecks: {\n strictStateImmutability: false, // set this to false\n },\n }),\n EffectsModule.forRoot([AuthEffects, UserEffects, ProformaEffects]),\n SocialLoginModule\n ],\n providers: [DatePipe, AlertService, AuthGaurd, LoginGuard, DetectLocationService, ProfileService, GoalSettingService, FiitJeeService, { provide: 'googleTagManagerId', useValue: environment.gtmId },\n {\n provide: 'SocialAuthServiceConfig',\n useValue: {\n autoLogin: false,\n providers: [\n {\n id: GoogleLoginProvider.PROVIDER_ID,\n provider: new GoogleLoginProvider(\n environment.google_clientId\n )\n },\n {\n id: FacebookLoginProvider.PROVIDER_ID,\n provider: new FacebookLoginProvider(environment.fbAppId)\n }\n ],\n onError: (err) => {\n console.error(err);\n }\n } as SocialAuthServiceConfig,\n }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit, Input, OnDestroy, EventEmitter, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { AppState } from '../../stores/app.reducers';\nimport { Subscription } from 'rxjs/Subscription';\nimport { Router } from '@angular/router';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-serious-attempt-warning',\n templateUrl: './serious-attempt-warning.component.html',\n styleUrls: ['./serious-attempt-warning.component.css']\n})\n\nexport class SeriousAttemptWarningComponent implements OnInit, OnDestroy {\n\n constructor(private store: Store, private router: Router) { }\n\n @Input() dataRecieved: any = {};\n public testTemplate: string;\n public sub: Subscription;\n @Output() submitAttempt = new EventEmitter();\n @Output() resumedTest = new EventEmitter();\n @Input() pageLoaded: string;\n\n ngOnInit() {\n this.sub = this.store.select('userProfile').subscribe(res => {\n if (res?.userData?.isAdmissionTestUser) {\n this.submitTest();\n }\n if (res.selectedGoal) {\n if (res.selectedGoal['name'].toLowerCase().replace(' ', '').includes('jee(m')) {\n this.testTemplate = 'jee-main';\n } else if (res.selectedGoal['name'].toLowerCase().replace(' ', '').includes('jee(a')) {\n this.testTemplate = 'jee-advanced';\n } else if (res.selectedGoal['name'].toLowerCase().replace(' ', '').includes('kvpy')) {\n this.testTemplate = 'kvpy';\n } else {\n this.testTemplate = 'others';\n }\n }\n });\n }\n\n resumeTest() {\n if (this.pageLoaded === 'test') {\n this.resumedTest.emit();\n } else {\n this.closePopup();\n }\n // this.resumedTest.emit();\n }\n\n submitTest() {\n this.submitAttempt.emit();\n }\n\n closePopup() {\n localStorage.removeItem('dataForSeriousAttempt');\n $('#warn-serious').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n const url = '/test-results/' + this.dataRecieved['testId'] + '/' + this.dataRecieved['attemptId']\n + '/' + this.dataRecieved['testType'] + '/' + this.dataRecieved['courseId'] + '/overview';\n this.router.navigateByUrl(url);\n }\n\n ngOnDestroy() {\n if (this.sub) {\n this.sub.unsubscribe();\n }\n }\n\n}\n","\n\n
\n
\n
\n \n
\n
\n
\n
\n
\n \"Casual\n

Casual Attempt!

\n

{{dataRecieved.warningData.heading}}

\n

You have attempted {{dataRecieved.totalQuestions}} questions in {{dataRecieved.totalTimeTaken | convertSeconds}} of time.\n If you submit this test competitive analysis will not be done

\n

{{dataRecieved.warningData.text}}

\n
\n
\n Submit\n \n
\n
\n Continue to solution\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n ","import { Component, OnInit } from '@angular/core';\nimport { SocialAuthService } from 'angularx-social-login';\nimport { FacebookLoginProvider, GoogleLoginProvider } from 'angularx-social-login';\nimport * as fromApp from '../../../../stores/app.reducers';\nimport * as AuthActions from '../../../../stores/auth/auth.actions';\nimport { Store } from '@ngrx/store';\n\n@Component({\n selector: 'app-social-signup-login',\n templateUrl: './social-signup-login.component.html',\n styleUrls: ['./social-signup-login.component.scss']\n})\nexport class SocialSignupLoginComponent implements OnInit {\n\n constructor(private authService: SocialAuthService, private store: Store) { }\n\n ngOnInit(): void {\n this.authService.authState.subscribe((user) => {\n this.store.dispatch(new AuthActions.SocialSignup(user));\n });\n }\n\n signInWithGoogle(): void {\n this.authService.signIn(GoogleLoginProvider.PROVIDER_ID);\n }\n\n signInWithFB(): void {\n this.authService.signIn(FacebookLoginProvider.PROVIDER_ID);\n }\n\n signOut(): void {\n this.authService.signOut();\n }\n\n}\n","
\n
\n or continue with\n \n \"Google-Login\"/\n \n \n \"Facebook-Login\"/\n \n
\n
","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { shuffle } from 'lodash';\n\n// internal imports\nimport { HttpService } from '../../shared/services/http.service';\nimport { Store } from '@ngrx/store';\nimport { AppState } from '../../stores/app.reducers';\nimport { environment } from 'src/environments/environment';\ndeclare var $: any;\n\n@Injectable()\nexport class UtilityService {\n myRegex: any;\n tagColor = {\n 'chapter': '#ff7575',\n 'subject': '#609b93',\n 'concept': '#9f37ae',\n 'goal': '#1d7dea',\n 'general': '#F8AA4B'\n }\n popularTagColors = ['#666666', '#1D7DEA', '#5BAED7', '#F8AA4B', '#78D2A7', '#B83B5E', '#9F37AE', '#C5D86D', '#F05D23', '#F08A5D']\n authenticated: boolean;\n\n constructor(private http: HttpService, private store: Store) {\n this.store.select('auth').subscribe(auth => {\n this.authenticated = auth.authenticated;\n this.myRegex = /]+src=\"(https:\\/\\/[^\">]+)\"/g;\n });\n this.popularTagColors = shuffle(this.popularTagColors)\n }\n\n searchTags(param): Observable {\n return this.http.get('community/searchTag', false, param, true, false, environment.serverURLv3);\n }\n\n\n searchSimilarQuestions(param): Observable {\n if (this.authenticated)\n return this.http.get('community/searchQuestion', this.authenticated, param, true, false, environment.serverURLv3);\n else {\n return this.http.get('community/notAuthenticatedSearchQuestion', this.authenticated, param, true, false, environment.serverURLv3);\n }\n }\n\n contentManipulation(content) {\n return new Promise((resolve, reject) => {\n var $div = $('
').html(content);\n // modify attributes\n\n $div.find('a').attr('target', '_blank');\n $div.find('a').attr('rel', 'nofollow');\n $div.find('a').attr('class', 'bluecolr');\n //content = $div.html();\n var urls = [];\n var src;\n while (src = this.myRegex.exec(content)) {\n urls.push(src[1]);\n }\n var length = urls.length;\n if (urls.length > 0) {\n for (let i = 0; i < urls.length; i++) {\n this.getMeta(urls[i]).then(res => {\n\n /////////////////////// condition based on width ////////////////////////\n if (res['width'] > 800 && res['width'] < 1000) {\n $div.find('img').eq(i).addClass('width-one');\n }\n else if (res['width'] < 400) {\n $div.find('img').eq(i).addClass('width-two');\n }\n else if (res['width'] > 1000) {\n $div.find('img').eq(i).addClass('width-three');\n }\n\n ////////////////////// condition based on height ///////////////////////\n if (res['height'] > 500) {\n $div.find('img').eq(i).addClass('height-one');\n }\n if (res['height'] < 500 && res['width'] < 400) {\n $div.find('img').eq(i).addClass('height-two');\n }\n length--;\n if (length == 0) {\n content = $div.html();\n resolve(content);\n }\n });\n }\n }\n else {\n content = $div.html();\n resolve(content);\n }\n })\n }\n\n getMeta(url) {\n return new Promise((resolve, reject) => {\n var img = new Image();\n img.onload = function () {\n resolve({ width: img.width, height: img.height });\n };\n img.src = url;\n })\n }\n\n debounce(func, wait, immediate = false) {\n let timeout;\n return function () {\n let context = this, args = arguments;\n let later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n let callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n };\n\n}\n","export const LOGIN_ERROR = {\n wrong_mobile: 'This mobile no is not registered with us',\n wrong_password: 'Passwords does not match!',\n wrong_email: 'This email is not registered with us',\n field_required: 'This field is required',\n};\n\nexport const OTP_ERROR = {\n wrong_otp: 'OTP entered is invalid'\n};\n\nexport const LOGIN_ERROR_KEYWORDS = {\n user_name: 'username',\n password: 'password',\n mobile: 'mobile',\n email: 'email'\n};\n \nexport const CART_WARNING = {\n MESSAGE: 'Updating Cart!' \n};","const HOME_CARDS_ROUTE = {\n myTests : 'myTests',\n testHistory: 'test-history',\n revision: 'revision',\n upcomingTest: 'upcoming-tests',\n swotBoard: 'swot',\n buyCourses: 'buy-course', \n buildTest: 'build-test', \n previousYearPapers: 'previous-year-papers'\n};\n\nconst ALL_CARDS = 'allCards';\n\nconst HOME_ROUTE = '/home';\nconst BUY_COURSE = 'buyCourse';\nconst SEARCH_RESULT = 'searchResult';\nconst MY_REVISION_PLAN = 'my-revision-plan';\n\n\nexport {HOME_ROUTE, HOME_CARDS_ROUTE, BUY_COURSE, SEARCH_RESULT, MY_REVISION_PLAN, ALL_CARDS};","import { Action } from '@ngrx/store';\n\nexport const START_TEST = \"START_TEST\";\nexport const START_TEST_DETAILS = \"START_TEST_DETAILS\";\nexport const GET_QUESTIONS = \"GET_QUESTIONS\";\nexport const GET_QUESTIONS_START = \"GET_QUESTIONS_START\";\nexport const RESUME_TEST = \"RESUME_TEST\";\nexport const RESUME_TEST_START = \"RESUME_TEST_START\";\nexport const GET_QUESTION = \"GET_QUESTION\";\nexport const UPDATE_QUESTION = \"UPDATE_QUESTION\";\nexport const UPDATE_SECTION_TYPE = \"UPDATE_SECTION_TYPE\";\nexport const MARK_REVIEW = \"MARK_REVIEW\";\nexport const UPDATE_SECTION = \"UPDATE_SECTION\";\nexport const SEND_RESPONSE = \"SEND_RESPONSE\";\nexport const SEND_RESPONSE_START = \"SEND_RESPONSE_START\";\nexport const UPDATE_PROGRESS = \"UPDATE_PROGRESS\";\nexport const MARK_PROGRESS = \"MARK_PROGRESS\";\nexport const MARK_FOR_REVIEW = \"MARK_FOR_REVIEW\";\nexport const UNMARK_FOR_REVIEW = \"UNMARK_FOR_REVIEW\";\nexport const GET_RESULT_START = \"GET_RESULT_START\";\nexport const GET_RESULT = \"GET_RESULT\";\nexport const UPDATE_PROGRESS_CPP = 'UPDATE_PROGRESS_CPP';\nexport const MARK_PROGRESS_CPP = 'MARK_PROGRESS_CPP';\nexport const UPDATE_QUESTION_TIME = 'UPDATE_QUESTION_TIME';\nexport const UPDATE_PROGRESS_JEEADV = 'UPDATE_PROGRESS_JEEADV';\nexport const MARK_PROGRESS_JEEADV = 'MARK_PROGRESS_JEEADV';\nexport const CLEAR_RESPONSE = 'CLEAR_RESPONSE';\n\nexport class UpdateQuestionTime implements Action {\n readonly type = UPDATE_QUESTION_TIME;\n constructor(public payload: {\"timeSpent\": any, \"time\": any}){}\n}\n\nexport class StartTest implements Action {\n readonly type = START_TEST;\n constructor(public payload: {\"teacherId\": any, \"assignmentId\": any, \"orgId\": any, \"free\": any, \"challengeId\": any, \"testId\": string, \"courseId\": any}){}\n}\n\nexport class StartTestDetail implements Action {\n readonly type = START_TEST_DETAILS;\n constructor(public payload: {\"testType\": any, \"startTime\": any, \"currentQuestionId\": any, \"currentSectionId\": any, \"currentTypeId\": any, \"details\": any, \"questions\": any, \"progress\": any, \"questionIds\": any, \"attemptNo\": any, \"question_array\": any, \"attemptId\": any, \"questionsAnsweredReviewed\": any, \"questionsReviewed\": any, \"questionsNotVisited\": any, \"questionsVisited\": any, \"questionsAttempted\": any, \"questionsNotAttempted\": any, \"totalDuration\": any, \"minQuestions\": any, \"paperTitle\": any,\"testStartDate\":any,\"testEndDate\":any, \"serverTimeInitially\":any, \"questionImages\":any, \"sectionWiseNumbering\":boolean, \"showNewInstruction\":boolean, \"isAutoProctoring\":boolean}){}\n}\n\nexport class ResumeTestStart implements Action {\n readonly type = \"RESUME_TEST_START\";\n constructor(public payload: {\"teacherId\": any, \"assignmentId\": any, \"orgId\": any, \"challengeId\": any, \"testId\": any, \"attemptId\": any, \"courseId\": any}){} \n}\n\nexport class ResumeTest implements Action {\n readonly type = \"RESUME_TEST\";\n constructor(public payload: {}){} \n}\n\nexport class GetQuestions implements Action {\n readonly type = GET_QUESTIONS;\n constructor(public payload: {}){}\n}\nexport class GetQuestionsStart implements Action {\n readonly type = GET_QUESTIONS_START;\n constructor(public payload: {\"duration\": any, \"attemptId\": any, \"questionIds\": any, \"testId\": any, \"courseId\": any}){}\n}\nexport class UpdateSectionType implements Action {\n readonly type = UPDATE_SECTION_TYPE;\n constructor(public payload: {\"currentTypeId\": any, \"timeSpent\": any, \"testId\": any}){}\n}\nexport class UpdateSection implements Action {\n readonly type = UPDATE_SECTION;\n constructor(public payload: {\"type\": any, \"currentTypeId\": any, \"currentSectionId\": any, \"timeSpent\": any, \"testId\": any}){}\n}\nexport class GetQuestion implements Action {\n readonly type = GET_QUESTION;\n constructor(public payload: {\"testId\": string, \"qId\": string}){}\n} \nexport class UpdateQuestion implements Action {\n readonly type = UPDATE_QUESTION;\n constructor(public payload: {\"testId\": any, \"currentQuestionId\": any, \"currentSectionId\": any, \"currentTypeId\": any, \"timeSpent\": any}){}\n}\nexport class MarkReview implements Action {\n readonly type = MARK_REVIEW;\n constructor(public payload: {\"timeSpent\"}){};\n}\nexport class UnMarkReview implements Action {\n readonly type = UNMARK_FOR_REVIEW;\n constructor(public payload: {}){};\n}\nexport class SendResponse implements Action {\n readonly type = SEND_RESPONSE;\n constructor(public payload: { 'timeLeft': any, 'totalSessionTime': any}) {}\n}\nexport class SendResponseStart implements Action {\n readonly type = SEND_RESPONSE_START;\n constructor(public payload: {\"optionsMatrix\": any, \"optionsMcq\": any, \"type\": any, \"isVisited\": any, \"isMarked\": any, \"isAnsweredMarkedForReview\": any, \"startTime\": any, \"duration\": any, \"testId\": string, \"questionId\": string, \"sectionId\": string, \"subSectionId\": string, \"options\": any, \"timePerQuestion\": string, \"courseId\": string, \"isAttempted\": string, \"attemptNo\": number, \"attemptId\": string}){};\n}\nexport class UpdateProgress implements Action {\n readonly type = UPDATE_PROGRESS;\n constructor(public payload: {\"options\": any, \"timeSpent\": any, \"testId\": any}){};\n}\nexport class MarkProgress implements Action {\n readonly type = MARK_PROGRESS;\n constructor(public payload: {\"options\": any, \"timeSpent\": any, \"testId\": any}){};\n}\nexport class UpdateProgressCPP implements Action {\n readonly type = UPDATE_PROGRESS_CPP;\n constructor(public payload: {\"options\": any, \"timeSpent\": any, \"testId\": any}){};\n}\nexport class MarkProgressCPP implements Action {\n readonly type = MARK_PROGRESS_CPP;\n constructor(public payload: {\"options\": any, \"timeSpent\": any, \"testId\": any}){};\n}\nexport class UpdateProgressJEEADV implements Action {\n readonly type = UPDATE_PROGRESS_JEEADV;\n constructor(public payload: {'options': any, 'timeSpent': any, 'testId': any}) {}\n}\nexport class MarkProgressJEEADV implements Action {\n readonly type = MARK_PROGRESS_JEEADV;\n constructor(public payload: {'options': any, 'timeSpent': any, 'testId': any}) {}\n}\nexport class MarkForReview implements Action {\n readonly type = MARK_FOR_REVIEW;\n constructor(public payload: {\"testId\": string, \"qId\": string, \"isMarked\": boolean}){};\n}\nexport class GetResultStart implements Action {\n readonly type = GET_RESULT_START;\n constructor(public payload: {\"testId\": string, \"attemptId\": string, \"totalTimeTaken\": any, \"courseId\": string}){};\n}\nexport class GetResult implements Action {\n readonly type = GET_RESULT;\n constructor(public payload: {}){};\n}\nexport class ClearResponse implements Action {\n readonly type = CLEAR_RESPONSE;\n constructor(public payload: {'options': any, 'timeSpent': any, 'testId': any}) {}\n}\n\nexport type TestOngoingActionList = UpdateQuestionTime|MarkProgress|GetQuestions|GetQuestion|UpdateQuestion|UpdateProgress|MarkForReview|UpdateSectionType|UpdateSection|MarkReview|GetResult|SendResponse|StartTestDetail|ResumeTest|UnMarkReview|MarkProgressCPP|UpdateProgressCPP|UpdateProgressJEEADV|MarkProgressJEEADV|ClearResponse;\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'loader-lite',\n templateUrl: './loader-lite.component.html',\n styleUrls: ['./loader-lite.component.scss']\n})\nexport class LoaderLiteComponent implements OnInit {\n\n @Input('customClass') customClass = '';\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
","import { USER_TYPE } from \"./quiz-platform/constants/quiz.constants\";\nexport const EDFORA_QUIZ_DOMAIN = 'quiz.edfora.com';\nexport const EDFORA_QUIZ_TITLE = 'Edfora - Education for All';\nexport const EDFORA_QUIZ_FAVICON = 'https://www.edfora.com/favicon.ico';\nexport const EDFORA_QUIZ_URL = `quiz/${USER_TYPE.ADVTSEPT_2}`;\n\nexport const ROUTES_LINK = {\n ACCOUNT_DELETION: 'user/account-deletion'\n}\nexport const EDFORA_DOMAIN = '.edfora.com';\nexport const FACULTY_RECRUITMENT = 'facultyrecruitment';\nexport const EDFORA_QUIZ_URL_STPT_15 = `quiz/${USER_TYPE.ADVTSEPT_15}`;\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject, merge } from 'rxjs';\nimport { LazyLoadFile, LazyLoadFileImpl } from '../shared.module';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LazyLoadingService {\n\n loadedLibraries: { [url: string]: ReplaySubject } = {};\n constructor(\n @Inject(DOCUMENT) private readonly document: Document\n ) { }\n\n lazyLoad(lazyLoadFiles: LazyLoadFile[]): Observable {\n return merge(\n lazyLoadFiles.map(file => {\n if (file.type === 'stylesheet') {\n return this.loadStyle(file.url)\n }\n else if (file.type === 'script') {\n return this.loadScript(file.url);\n }\n })\n );\n }\n\n loadScript(url: string): Observable {\n if (this.loadedLibraries[url]) {\n return this.loadedLibraries[url].asObservable();\n }\n\n this.loadedLibraries[url] = new ReplaySubject();\n\n const script = this.document.createElement('script');\n // script.type = 'text/javascript';\n script.src = url;\n script.async = true;\n script.onload = () => {\n this.loadedLibraries[url].next();\n this.loadedLibraries[url].complete();\n };\n\n this.document.body.appendChild(script);\n return this.loadedLibraries[url].asObservable();\n }\n\n loadStyle(url: string): Observable {\n if (this.loadedLibraries[url]) {\n return this.loadedLibraries[url].asObservable();\n }\n\n this.loadedLibraries[url] = new ReplaySubject();\n\n const style = this.document.createElement('link');\n style.href = url;\n style.rel = 'stylesheet';\n style.onload = () => {\n this.loadedLibraries[url].next();\n this.loadedLibraries[url].complete();\n };\n\n const head = document.getElementsByTagName('head')[0];\n head.appendChild(style);\n\n return this.loadedLibraries[url].asObservable();\n }\n}","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-info-popup',\n templateUrl: './info-popup.component.html',\n styleUrls: ['./info-popup.component.scss']\n})\nexport class InfoPopupComponent implements OnInit {\n\n constructor() { }\n @Input() heading: String;\n @Input() imgSrc: String;\n @Input() text: String;\n ngOnInit(): void {\n }\n\n}\n","\n
\n
\n
\n \n
\n \n
\n \"{{heading}}\"\n

{{heading}}

\n

{{text}}

\n
\n
\n
\n \n
\n
\n
\n
","import { Injectable, EventEmitter } from '@angular/core';\nimport { HttpService } from '../../shared/services/http.service';\nimport { AlertService } from '../../shared/services/alert.service';\nimport { BehaviorSubject } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { HOME_CARDS_ROUTE } from '../constants/routes.constant';\nimport { Router } from '@angular/router';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HomeService {\n\n public homeSearchUpdate: EventEmitter = new EventEmitter();\n public updateWorkingOnHomePage = new BehaviorSubject('');\n public expandHomeCard = new BehaviorSubject('');\n public showCardDetail = new BehaviorSubject('');\n public filtersApplied = new BehaviorSubject('');\n public isTimeManagementPopup = new BehaviorSubject('')\n public selectedCardData = new BehaviorSubject({});\n public tagColor = {\n 'chapter': '#ff7575',\n 'subject': '#609b93',\n 'concept': '#9f37ae',\n 'goal': '#1d7dea',\n 'general': '#F8AA4B'\n }\n constructor(private http: HttpService, private alertService: AlertService, private router: Router) { }\n\n selectCard(card: any){\n this.selectedCardData.next(card);\n const route = `home/${HOME_CARDS_ROUTE[card.type]}`;\n localStorage.setItem('lastRequested',route);\n localStorage.setItem('lastRequestedModule', route);\n this.router.navigateByUrl(route);\n }\n \n fetchHomeCardsData(): any {\n return new Promise((resolve, reject) => {\n this.http.get('v4/auth/users/cards', true, null, true).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n fetchOngoingAttemptData(): any {\n return new Promise((resolve, reject) => {\n this.http.get('v4/auth/tests/ongoing', true, null, true, false, environment.serverURLv4).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n fetchRecentSearch(): any {\n return new Promise((resolve, reject) => {\n this.http.get('v4/auth/search/recent-searches', true, null, true, false).subscribe((res) => {\n if (res && res.code === 200) {\n console.log(res.data.recentSearches)\n resolve(res.data.recentSearches);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n searchSuggestions(types, query): any {\n query = encodeURIComponent(query);\n\n return new Promise((resolve, reject) => {\n this.http.get(`v4/auth/syllabus?searchQuery=${query}&types=${types}`, true, null, true, false).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data.syllabusData);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCommunityQuestion(searchQuery: string, pageNumber: number, masterId: any, type?: any) {\n searchQuery = encodeURIComponent(searchQuery)\n return new Promise((resolve, reject) => {\n this.http.get(`v4/auth/search/community/questions?searchQuery=${searchQuery}&pageNumber=${pageNumber}${masterId ? '&masterId=' + masterId : ''}${type ? '&type=' + type : ''}`, true, null, true, false).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getSummaryCardData(id, type): any {\n return new Promise((resolve, reject) => {\n this.http.get(`v4/auth/search/summary-card?id=${id}&type=${type}`, true, null, true, false).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getSummaryRelatedTest(id, type, name) {\n name = encodeURIComponent(name)\n\n return new Promise((resolve, reject) => {\n this.http.get(`v4/auth/search/related-tests?type=${type}&syllabusId=${id}&name=${name}`, true, null, true, false).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n })\n })\n }\n getRelatedTopicsData(id, type): any {\n return new Promise((resolve, reject) => {\n this.http.get(`v4/auth/search/related-topics?id=${id}&type=${type}`, true, null, true, false).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res.data.relatedTopics);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n clearAllSuggestion() {\n return new Promise((resolve, reject) => {\n this.http.delete(`v4/auth/search/recent-searches`, null, true).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n feedback(param) {\n let showLoader = false;\n if (param['reportType']) {\n showLoader = true;\n }\n this.http.post('community/feedback', true, param, showLoader, false, false, environment.serverURLv3).subscribe(res => console.log(res));\n }\n\n followQuestion(payload) {\n this.http.post('community/followQuestion', true, payload, true, false, false, environment.serverURLv3).subscribe(res => console.log(res));\n }\n\n //post feedback\n postFeedback(category, categoryId, reportType, types, voteType) {\n return this.http.post('community/feedback', true, { category, categoryId, reportType, types, voteType }, false, false, false, environment.serverURLv3);\n }\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\n\ndeclare var $: any;\n@Component({\n selector: 'app-done-with-revision',\n templateUrl: './done-with-revision.component.html',\n styleUrls: ['./done-with-revision.component.scss']\n})\nexport class DoneWithRevisionComponent implements OnInit {\n\n @Output() confirmExit = new EventEmitter();\n @Output() closeRevPopup = new EventEmitter();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n closePopup(): void {\n $('#doneRevisionModal').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n this.closeRevPopup.emit();\n }\n\n leave(): void {\n this.confirmExit.emit();\n }\n\n}\n","\n
\n
\n
\n
\n \n Done with your revision?\n

Make sure that you’ve revised all questions before you exit!

\n
\n \n
\n \n \n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { HttpService } from '../../../shared/services/http.service';\nimport { AlertService } from '../../../shared/services/alert.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfileService {\n\n public personalInfoUpdated = new BehaviorSubject(false);\n public schoolAdded = new BehaviorSubject(false);\n public emailMobileAdded = new BehaviorSubject({});\n public editedCourseDetails = new BehaviorSubject({});\n public showMyPlanPopUp = new BehaviorSubject(false);\n\n constructor(private httpService: HttpService, private alertService: AlertService) {\n }\n\n getClasses(): any {\n return new Promise((resolve, reject) => {\n this.httpService.get('v4/classes', {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCareers(value): any {\n return new Promise((resolve, reject) => {\n this.httpService.get(`v4/careers?classId=${value}`, null).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getGoals(value): any {\n return new Promise((resolve, reject) => {\n const apiName = `v4/courses?courseTypeIds=${value.courseTypeIds}&sessionYear=${value.sessionYear}&classId=${value.classId}`;\n this.httpService.get(apiName, null).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCountryData(): any {\n return new Promise((resolve, reject) => {\n this.httpService.get(`v4/locations`, {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getStateData(countryId): any {\n return new Promise((resolve, reject) => {\n const apiName = 'v4/locations?countryId=' + countryId;\n this.httpService.get(apiName, {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCityData(data): any {\n return new Promise((resolve, reject) => {\n const apiName = 'v4/locations?countryId=' + data.countryId + '&stateId=' + data.stateId;\n this.httpService.get(apiName, {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getSchoolData(data): any {\n const apiName = 'v4/auth/schools?cityId=' + data.cityId + '&schoolName=' + data.schoolName;\n return new Promise((resolve, reject) => {\n this.httpService.get(apiName, {}).subscribe((res) => {\n if (res && res.code) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n // get permission from s3 to upload image\n getPreSignedUrl(dataRecieved, imageData): Promise {\n return new Promise((resolve, reject) => {\n const apiUrl = 'v4/auth/upload-signed-url?location=schoolId';\n this.httpService.get(apiUrl, true, { key: dataRecieved.name.toString() }, false).subscribe(\n (res) => {\n if (res && res.code === 200) {\n if (res.data.url && res.data.fields) {\n // this.imageUrl = res.data.url + '/' + res.data.fields.key;\n this.uploadYourFileOnS3(res.data, imageData).then((resN) => {\n resN.imageUrl = res.data.url + '/' + res.data.fields.key;\n resolve(resN);\n });\n // if (this.imageUrl) {\n // tslint:disable-next-line: no-string-literal\n // this.schoolData.school['schoolIdUrl'] = this.imageUrl;\n }\n // this.store.dispatch(new UserProfileAction.AddSchool(this.schoolData));\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n // // upload image after permision\n uploadYourFileOnS3(data, imageData): Promise {\n return new Promise((resolve, reject) => {\n this.httpService.postUploadFile(data, imageData).subscribe((res) => {\n if (res) {\n if (res && res.status === 204) {\n resolve(res);\n }\n }\n });\n });\n }\n\n updateNameAndUserName(data): Promise {\n const apiName = 'v4/auth/user-name';\n return new Promise((resolve, reject) => {\n this.httpService.put(apiName, true, data).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n updateUserDetails(data): Promise {\n const apiName = 'v4/auth/user';\n return new Promise((resolve, reject) => {\n this.httpService.put(apiName, true, data).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Router, Resolve,\n RouterStateSnapshot,\n ActivatedRouteSnapshot\n} from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { AppState } from './stores/app.reducers';\nimport { catchError, filter, first, switchMap } from 'rxjs/operators';\nimport { ROUTES as ON_SPOT_ROUTES } from './on-spot-test/on-spot-test.constants';\nimport { getAdmissionTestRedirectionUrl } from './shared/utils/admissionTest.util';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AdmissionTestGuardResolver implements Resolve {\n constructor(private store: Store, private router: Router) {}\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return this.store.select('auth').pipe(\n switchMap((auth) => {\n const queryParams: any = route.queryParamMap;\n if (queryParams?.params?.authToken) {\n return of(true);\n }\n if (!auth.authenticated) {\n return of(true);\n }\n return this.store.select('userProfile').pipe(\n filter((data) => !!(data?.userData?.userId)),\n switchMap((data) => {\n if (data?.userData?.isAdmissionTestUser) {\n let redirectionUrl = getAdmissionTestRedirectionUrl(data?.userData?.admissionTestDetail);\n if (data?.userData?.onSpotRegNo) {\n redirectionUrl = `${ON_SPOT_ROUTES.ON_SPOT}/${ON_SPOT_ROUTES.DASHBOARD}`;\n }\n if (!state.url.includes(redirectionUrl) && !state.url.includes('test-ongoing') && !state.url.includes('test-results')) {\n this.router.navigate([redirectionUrl]);\n return of(false);\n }\n }\n return of(true);\n }),\n catchError(() => {\n return of(true);\n }),\n first()\n );\n }),\n catchError(() => {\n return of(true);\n }),\n first()\n );\n }\n}\n","
\n
\n \n {{pageContent.pageHeading}}\n

{{pageContent.pageMessage}}

\n \n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\n\ninterface IPageContent {\n pageName: String;\n pageMessage: String;\n pageHeading: String;\n image: String;\n}\n\n@Component({\n selector: 'app-page-lock',\n templateUrl: './page-lock.component.html',\n styleUrls: ['./page-lock.component.scss']\n})\n\nexport class PageLockComponent implements OnInit {\n @Input() pageContent: IPageContent;\n\n constructor() { }\n\n ngOnInit(): void { }\n\n}\n","import { Action } from '@ngrx/store';\n\nexport const SET_LOADER = 'SET_LOADER';\n\nexport class SetLoader implements Action {\n readonly type = SET_LOADER;\n constructor(public payload: boolean){}\n}\n\nexport type LoaderActionList = SetLoader;\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\n\ndeclare var $: any;\n@Component({\n selector: 'app-multiselectfilter',\n templateUrl: './multiselectfilter.component.html',\n styleUrls: ['./multiselectfilter.component.css']\n})\nexport class MultiselectfilterComponent implements OnInit, OnChanges {\n\n @Input() filters: any;\n @Output() onChange = new EventEmitter();\n @Input() clearingData: Boolean;\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n if (this.clearingData) {\n const items = document.getElementsByName('cBoxes');\n const checkElements = Array.from(items);\n checkElements.forEach((res) => {\n if (res['type'] === 'checkbox') {\n res['checked'] = false;\n }\n });\n }\n }\n\n change(isChecked, filterKey, filterValue) {\n const that = this;\n setTimeout(function () {\n const objToPass = {\n 'isChecked': isChecked,\n 'filterKey': filterKey,\n 'filterValue': filterValue\n };\n that.onChange.emit(objToPass);\n }, 0);\n }\n\n // isSelected(){\n // let id=\"#\"+this.option.value;\n // if(this.filterProps[this.propName].indexOf(this.option.value)>=0)\n // $(id).prop('checked',true); \n // else\n // $(id).prop('checked',false);\n // }\n\n}\n","\n

{{filters && filters.filterKey}}

\n
\n
    \n
  • \n \n
  • \n
\n
","export const countryArray = [\n {\n alpha3: 'IND',\n name: 'India',\n dialCode: '+91',\n class: 'India',\n regex: '^[6-9]\\\\d{9}$',\n flag: 'india'\n },\n {\n alpha3: 'NPL',\n name: 'Nepal',\n dialCode: '+977',\n class: 'Nepal',\n regex: '^[1-9]\\\\d{9}$',\n flag: 'nepal'\n },\n {\n alpha3: 'SAU',\n name: 'Saudi Arabia',\n dialCode: '+966',\n class: 'SaudiArabia',\n regex: '^(5)(5|0|3|6|4|9|1|8|7)([0-9]{7})$',\n flag: 'saudi-arabia'\n },\n {\n alpha3: 'MYS',\n name: 'Malaysia',\n dialCode: '+60',\n class: 'Malaysia',\n regex: '[1][0123456789][0-9]{5}',\n flag: 'malaysia'\n },\n {\n alpha3: 'ARE',\n name: 'United Arab Emirates',\n dialCode: '+971',\n class: 'UnitedArabEmirates',\n regex: '^(5[02468]{1})[1-9]{1}[0-9]{6}$',\n flag: 'united-arab-emirates'\n },\n {\n alpha3: 'MMR',\n name: 'Myanmar',\n dialCode: '+95',\n class: 'Myanmar',\n regex: '[9][0-9]{9}',\n flag: 'myanmar'\n },\n {\n alpha3: 'LKA',\n name: 'Sri Lanka',\n dialCode: '+94',\n class: 'SriLanka',\n regex: '[7][0-9]{6}',\n flag: 'sri-lanka'\n },\n {\n alpha3: 'OMN',\n name: 'Oman',\n dialCode: '+968',\n class: 'Oman',\n regex: '[9]\\\\d[0-9]{6}$',\n flag: 'oman'\n },\n {\n alpha3: 'SGP',\n name: 'Singapore',\n dialCode: '+65',\n class: 'Singapore',\n regex: '[689]\\\\d[0-9]{7}$',\n flag: 'singapore'\n },\n {\n alpha3: 'BHR',\n name: 'Bahrain',\n dialCode: '+973',\n class: 'Bahrain',\n regex: '(31|33|36|39|322|340|341|342|343|344|345|353|377|383|384|388|663|666|669){1}[0-9]{5}',\n flag: 'bahrain'\n },\n {\n alpha3: 'QAT',\n name: 'Qatar',\n dialCode: '+974',\n class: 'Qatar',\n regex: '[3-9]{1}[0-9]{7}$',\n flag: 'qatar'\n },\n {\n alpha3: 'ZAF',\n name: 'South Africa',\n dialCode: '+27',\n class: 'SouthAfrica',\n regex: '[0]\\\\d[1-9]{9}$',\n flag: 'south-africa'\n },\n {\n alpha3: 'USA',\n name: 'United States Of America',\n dialCode: '+1',\n class: 'UnitedStates',\n regex: '^([2-9]{3})[0-9]{3}[0-9]{4}$',\n flag: 'united-states-of-america'\n }\n]\n\nexport const USER_ROUTES = {\n USER: 'user',\n LOGIN: 'login',\n SIGNUP: 'signup'\n};\n\nexport const COURSES_CLASSES_DATA = {\n class_9th: '9th',\n class_10th: '10th',\n class_11th: '11th',\n class_12th: '12th',\n class_12th_Pass: '12th Pass',\n goal_jee_m: 'JEE(M)',\n goal_jee_a: 'JEE(A)',\n goal_ntse: 'NTSE',\n goal_bitsat: 'BITSAT',\n};\n","export const FORM_TYPE={\n PREP_TRACKER:'prep_tracker',\n HOME_INFO:'home-info',\n COLLEGE_PRED:'college-predictor'\n};","import { Component, OnInit, Input, Output } from '@angular/core';\nimport { EventEmitter } from '@angular/core';\ndeclare const $: any;\n@Component({\n selector: 'app-report-abuse',\n templateUrl: './report-abuse.component.html',\n styleUrls: ['../../../new-community/new-community.component.scss']\n})\nexport class ReportAbuseComponent implements OnInit {\n @Input() modalId: string;\n @Output() reportQuestionEvent = new EventEmitter();\n reportType: number\n reportTypeValue: string;\n\n\n constructor() {\n this.reportType = 0\n }\n\n ngOnInit() {\n\n }\n\n\n reportTypeClick(str) {\n if (str == \"Spam\") {\n this.reportType = 1;\n this.reportTypeValue = \"Spam\";\n } else if (str == \"Abusive / Personal Attack\") {\n this.reportType = 2;\n this.reportTypeValue = \"Abusive / Personal Attack\";\n } else if (str == \"Insincere\") {\n this.reportType = 3;\n this.reportTypeValue = \"Insincere\";\n } else if (str == \"Poorly Written\") {\n this.reportType = 4;\n this.reportTypeValue = \"Poorly Written\";\n } else {\n this.reportType = 5;\n this.reportTypeValue = \"Incorrect Topics\";\n }\n\n }\n\n reportQuestion() {\n this.reportQuestionEvent.emit(this.reportTypeValue)\n this.reportTypeValue = ''\n $(`#${this.modalId}`).modal('hide')\n\n }\n\n}","\n
\n
\n
\n
\n
Report Abuse
\n \n \n
\n
\n

Choose one of the following:

\n Spam\n Abusive/Personal\n Attack\n Insincere\n Poorly Written\n Incorrect Topics\n
\n
\n \n \n
\n
\n\n
\n
","import { Injectable } from '@angular/core';\nimport { HttpService } from '../../shared/services/http.service';\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\nimport { AlertService } from '../../shared/services/alert.service';\nimport { Observable, ObservableInput } from 'rxjs/Observable';\nimport { environment } from 'src/environments/environment';\nimport { env } from 'process';\nimport _ from 'lodash';\ndeclare var $: any;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SolutionService {\n\n constructor(private http: HttpService, private alert: AlertService) {\n }\n\n public solutionFilterData = new BehaviorSubject({});\n public sideFilterDetails = new BehaviorSubject({});\n public filterSelected = new BehaviorSubject({});\n public isFilterListLoading = new BehaviorSubject(true);\n public isSolutionListLoading = new BehaviorSubject(true);\n public hideFilterForSubjectiveCPP = new BehaviorSubject(false);\n public allMistakes = new BehaviorSubject([]);\n\n getDataForSolution(dataToPass) {\n this.http.post('solutionStats', true, dataToPass, false, false, false, environment.serverURLv3).subscribe((res) => {\n if (res) {\n this.solutionFilterData.next(res);\n this.isSolutionListLoading.next(false);\n this.isFilterListLoading.next(false);\n // this.cleverTap.solutionViewed();\n }\n });\n }\n\n sendSolutionVisitTime(dataToPass) {\n this.http.post('solutionVisitTime', true, dataToPass, false, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n }\n });\n }\n\n sendQuestionVisitTime(dataToPass) {\n this.http.post('questionVisitTime', true, dataToPass, false, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n }\n });\n }\n\n updateRatings(obj) {\n if (obj.type.toLowerCase() === 'question') {\n this.http.post('rateQuestion', true, obj, true, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n this.alert.showSuccessMessage('Your response has been submitted sucessfully');\n $('rateQuestion').modal('hide');\n }\n });\n } else {\n this.http.post('rateSolution', true, obj, true, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n this.alert.showSuccessMessage('Your response has been submitted sucessfully');\n $('rateQuestion').modal('hide');\n }\n });\n }\n }\n\n submitMistakes(obj) {\n this.http.post('markQuestionMistakes', true, obj, true, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n this.alert.showSuccessMessage('Your response has been submitted sucessfully');\n }\n });\n }\n\n bookMarkAQuestion(obj) {\n this.http.post('bookmarkQuestion', true, obj, true, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n this.alert.showSuccessMessage('Question Bookmarked sucessfully');\n }\n });\n }\n\n submitYourSuggession(obj) {\n return new Promise((resolve, reject) => {\n this.http.post('questionSuggestion', true, obj, true, false, false, environment.serverURLv3).subscribe((res) => {\n if (res.code === 200) {\n this.alert.showSuccessMessage('Thank you for your valuable feedback. We will shortly get back to you with a resolution');\n return resolve(res.code);\n }\n });\n });\n }\n\n setSolutionListLoading(value) {\n this.isSolutionListLoading.next(value);\n }\n\n resetData() {\n this.solutionFilterData.next({});\n }\n\n public getQuestionTags(): Observable {\n return this.http.get('api/v3/userTag', true, null, true, false, environment.serverURLv3);\n }\n\n public saveQuestionTag(postBody: {}): Observable {\n return this.http.post('api/v3/userTag', true, postBody, false, false, false, environment.serverURLv3);\n }\n\n public deleteCustomTag(tagId: string): Observable {\n return this.http.delete(`api/v3/userTag/${tagId}`, true, null, environment.serverURLv3);\n }\nf\n public getOneQuestionTag(tagId: string): Observable {\n return this.http.get(`api/v3/userTag/${tagId}`, true, null, false, false, environment.serverURLv3);\n }\n\n public updateTagInformation(tagId: string, postBody: {}): Observable {\n return this.http.put(`api/v3/userTag/${tagId}`, true, postBody, false, environment.serverURLv3);\n }\n\n public addRevisionQuestion(postBody: {}): Observable {\n return this.http.post('api/v3/revision', true, postBody, false, false, false, environment.serverURLv3);\n }\n\n public getRevisionQuestion(questionId: string, attemptId?: string): Observable {\n return this.http.get(`api/v3/revision/questions/${questionId}${attemptId?'/attempts/'+attemptId:''}`, true, null, false, false, environment.serverURLv3);\n }\n\n public removeRevisionQuestion(questionId: string): Observable {\n return this.http.delete(`api/v3/revision/questions/${questionId}`, null, true, environment.serverURLv3);\n }\n\n public getDeleteQuestionCount(tagId: string): Observable {\n return this.http.get(`api/v3/revision/filterAndCount?tagIds=${tagId}`, true, null, false, false, environment.serverURLv3);\n }\n public fetchAllMistakeTags(){\n const apiUrl = 'question-mistake-tags';\n return new Promise((resolve,reject)=>{\n this.http.get(apiUrl, true, null, true,false,environment.serverURLv3).subscribe(res => {\n let questionMistakeTags=[];\n if(res.code==200){\n questionMistakeTags=_.get(res,\"data.questionMistakeTags\",[]);\n }\n this.allMistakes.next(questionMistakeTags);\n resolve(questionMistakeTags);\n })});\n }\n public addCustomMistake(postBody:{name:String}){\n const apiUrl = 'question-mistake-tags';\n return new Promise((resolve,reject)=>{\n this.http.post(apiUrl, true, postBody,false,true,false,environment.serverURLv3).subscribe(res => {\n resolve(res);\n })});\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { Store } from '@ngrx/store';\nimport { Effect, Actions, ofType } from '@ngrx/effects';\n\nimport { map, catchError, switchMap, tap, mergeMap } from 'rxjs/operators';\n\nimport * as AuthActions from './auth.actions';\nimport * as fromApp from '../../stores/app.reducers';\nimport * as UserProfileActionList from '../profile/user-profile.actions';\nimport * as LoaderAction from \"../../stores/loader/loader.actions\";\nimport { HttpService } from '../../shared/services/http.service';\nimport { AlertService } from '../../shared/services/alert.service';\nimport { UtilityService } from '../../shared/services/utility.service';\nimport { ExtraEdgeService } from '../../shared/services/extra-edge.service';\nimport { SignupService } from '../../auth/signup-login-master/shared/services/signup.service';\nimport { FiitJeeService } from '../../auth/fiit-jee-login/service/fiit-jee.service';\nimport { environment } from 'src/environments/environment';\nimport { of } from 'rxjs';\nimport { DetectLocationService } from 'src/app/shared/services/detect-location.service';\nimport { ExtraEdgeV3Service } from 'src/app/utility/extra-edge-v3.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\ninterface ApiResponse {\n code: number;\n data: any;\n message: any;\n}\n\ninterface SocialSignup {\n provider: string;\n authToken: string;\n}\n\ndeclare var $: any;\ndeclare var window: any;\n@Injectable()\nexport class AuthEffects {\n\n body;\n response;\n id: any;\n extraedgeCampaign: any;\n leadSource: any;\n leadType: any;\n leadName: any;\n userData: any;\n profileDataResponse: any;\n profiledataResponseFiitjee: any;\n public signuplognpassedInfo: any;\n constructor(\n private http: HttpService,\n private detectLocationService: DetectLocationService,\n private action$: Actions,\n private store: Store,\n private router: Router,\n private route: ActivatedRoute,\n private utility: UtilityService,\n private signUpService: SignupService,\n private alert: AlertService,\n private extraEdge: ExtraEdgeService,\n private fiitJee: FiitJeeService,\n private extraEdgeV3: ExtraEdgeV3Service,\n private _helper: HelperService\n ) {\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n });\n }\n\n // Registering the effect of verify mobile\n @Effect({ dispatch: false })\n verifyOtpEmail = this.action$.pipe(\n ofType(AuthActions.VERIFY_OTP_EMAIL),\n switchMap((authData) => this.http.post('verifyOtp', false, authData).pipe(\n map((res: ApiResponse) => {\n if (res.code === 200) {\n localStorage.removeItem('lastRequested');\n }\n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n })\n )\n ),\n )\n\n @Effect()\n socialSignup = this.action$.pipe(\n ofType(AuthActions.SOCIAL_SIGNUP),\n map((action: AuthActions.SocialSignup) => action.payload),\n switchMap((obj: any) => {\n const dataToSend = {\n email: obj.email,\n socialToken: obj.authToken,\n type: obj.provider.toLowerCase(),\n name: obj.name,\n uid: obj.id\n };\n\n return this.http.post('socialLogin', false, dataToSend, true, false, false, environment.serverURLv3).pipe(\n map((res) => {\n if (res.code === 200) {\n const responseRecieved = JSON.parse(JSON.stringify(res));\n localStorage.setItem('authToken', responseRecieved.data.authToken);\n window.location.reload();\n return [\n new AuthActions.SetToken(responseRecieved.data.authToken),\n new AuthActions.SetAuthentication(),\n new UserProfileActionList.GetUserDetail(responseRecieved.data),\n ];\n } else {\n this.alert.showErrorMessage(res.message);\n return [{ type: AuthActions.FAIL }];\n }\n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n })\n );\n })\n );\n \n\n @Effect()\n socialSignin = this.action$.pipe(\n ofType(AuthActions.SOCIAL_SIGNIN),\n map((action: AuthActions.SocialSignin) => {\n return action.payload;\n }),\n switchMap(\n (obj: SocialSignup) => {\n const dataToSend = {\n socialToken: obj.authToken,\n osType: 'web',\n device: 'desktop'\n };\n const apiUrl = 'v4/login/social/' + obj.provider.toLowerCase();\n return this.http.post(apiUrl, false, dataToSend, true).pipe(\n mergeMap((res: ApiResponse) => {\n if (res.code === 200) {\n if (res && res.data) {\n res.data.fromScreen = 'signin';\n localStorage.removeItem('lastRequested');\n res.data.tag = '';\n }\n localStorage.setItem('authToken', res.data.authToken);\n return [\n new AuthActions.SetToken(res.data.authToken),\n new AuthActions.SetAuthentication(),\n new UserProfileActionList.GetUserDetail(res.data),\n ];\n } else {\n this.alert.showErrorMessage(res.message);\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n })\n );\n }\n )\n )\n\n // Registering the effect of Signin action\n @Effect({ dispatch: false })\n processAfterSignIn = this.action$.pipe(\n ofType(AuthActions.PROCESS_AFTER_SIGNIN),\n tap(() => {\n this.router.navigate(['/complete-profile']);\n })\n );\n\n // Registering the effect of Logout action\n @Effect()\n logout = this.action$.pipe(\n ofType(AuthActions.LOGOUT),\n map((action: AuthActions.Logout) => {\n }),\n switchMap(\n (authData) => {\n return this.http.post('logout', true, undefined, true, false, false, environment.serverURLv3).pipe(\n mergeMap((res: ApiResponse) => {\n if (res.code === 200) {\n let learnDarkMode = localStorage.getItem('isDarkmodeforid');\n localStorage.clear();\n localStorage.setItem('isDarkmodeforid', learnDarkMode)\n sessionStorage.clear();\n $('#logoutModal').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n this.alert.showSuccessMessage(res.message);\n let isRedirect=!this.userData?.isNCRPUser;\n localStorage.clear();\n localStorage.setItem('isDarkmodeforid', learnDarkMode)\n sessionStorage.clear();\n if(!isRedirect){\n window.location.href = `${environment.fiitjeeUrlv4}?redirect=user-myPat`;\n }else{\n this.router.navigate(['/']);\n } \n return [\n {\n type: AuthActions.LOGOUT_SUCCESS\n }\n ];\n } else {\n this.alert.showErrorMessage(res.message);\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n })\n );\n }\n )\n )\n\n @Effect()\n getProfileData = this.action$.pipe(\n ofType(AuthActions.GET_PROFILE_DATA),\n map((action: AuthActions.GetProfileData) => {\n return;\n }),\n switchMap(\n () => {\n return this.http.get('profile', true, null, false),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }),\n mergeMap(\n (res: ApiResponse) => {\n if (res.code === 200) {\n // get profile data\n const obj = res.data;\n this.profileDataResponse = res.data;\n } else {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }\n );\n }\n )\n )\n\n @Effect()\n FiiJeeMyPatLogin = this.action$.pipe(\n ofType(AuthActions.FIITJEE_MYPAT_LOGIN),\n map((action: AuthActions.FiiJeeMyPatLogin) => {\n return action.payload;\n }),\n switchMap(\n (authData) => {\n let dataToSend = {};\n if (authData.type === 'mypat') {\n dataToSend = {\n password: authData.password,\n enrollmentno: authData.enrollmentno,\n source: 'web',\n deviceToken: ''\n };\n if (localStorage.getItem('userIdcheckEn')) {\n dataToSend['userId'] = localStorage.getItem('userIdcheckEn');\n }\n\n }\n else {\n dataToSend = {\n password: authData.password,\n enrollmentno: authData.enrollmentno,\n source: 'web',\n deviceToken: ''\n };\n }\n return this.http.post('partnerLogin', false, dataToSend, false, false, false, environment.serverURLv3).pipe(\n mergeMap((res: ApiResponse) => {\n if (res.code === 200 || res.code === 201) {\n localStorage.setItem('authToken', res.data.authToken);\n \n return [\n new AuthActions.SetToken(res.data.authToken),\n new AuthActions.SetAuthentication(),\n new UserProfileActionList.GetUserDetail(res.data),\n ];\n } else if (res.code === 408) {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n } else {\n this.alert.showErrorMessage(res.message);\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }),\n );\n }\n )\n )\n\n @Effect()\n OtpLoginFiitjee = this.action$.pipe(\n ofType(AuthActions.OTP_LOGIN_FIITJEE),\n map((action: AuthActions.OtpLoginFiitjee) => {\n return action.payload;\n }),\n switchMap(\n (authData) => {\n const dataToSend = {\n enrollmentno: authData.enrollmentno,\n otp: authData.otp,\n source: 'web',\n deviceToken: '',\n userId: authData.userId\n };\n if (dataToSend.otp) {\n return this.http.post('otpPartner', false, dataToSend, false, false, false, environment.serverURLv3).pipe(\n mergeMap((res: ApiResponse) => {\n localStorage.setItem('authToken', res.data.authToken);\n if (res.code === 200 || res.code === 201) {\n sessionStorage.removeItem('otpResendCount');\n return [\n new AuthActions.SetToken(res.data.authToken),\n new AuthActions.SetAuthentication(),\n new UserProfileActionList.GetUserDetail(res.data),\n ];\n } else if (res.code === 408) {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n } else {\n this.alert.showErrorMessage(res.message);\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n \n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }),\n );\n } else {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }\n )\n )\n\n @Effect()\n WACLoginFiitjee = this.action$.pipe(\n ofType(AuthActions.WAC_LOGIN_FIITJEE),\n map((action: AuthActions.WACLoginFiitjee) => {\n return action.payload;\n }),\n switchMap(\n (authData) => {\n const dataToSend = {\n enrollmentno: authData.enrollmentno,\n wac: authData.wac,\n source: 'web',\n deviceToken: '',\n };\n if (dataToSend.wac) {\n return this.http.post('wacPartner', false, dataToSend, false, false, false, environment.serverURLv3).pipe(\n mergeMap((res: ApiResponse) => {\n if (res.code === 200 || res.code === 201) {\n localStorage.setItem('authToken', res.data.authToken);\n return [\n new AuthActions.SetToken(res.data.authToken),\n new AuthActions.SetAuthentication(),\n new UserProfileActionList.GetUserDetail(res.data),\n ];\n } else if (res.code === 408) {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n } else {\n this.alert.showErrorMessage(res.message);\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n \n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }),\n );\n } else {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }\n )\n )\n\n @Effect()\n ResetPasswordFiitJee = this.action$.pipe(\n ofType(AuthActions.RESET_PASSWORD_FIITJEE),\n map((action: AuthActions.ResetPasswordFiitJee) => {\n return action.payload;\n }),\n switchMap(\n (authData) => {\n let dataToSend;\n\n if (this.fiitJee.saveOtp) {\n dataToSend = {\n userId: authData.userId,\n password: authData.password,\n enrollmentno: authData.enrollmentno,\n otp: this.fiitJee.saveOtp,\n source: 'web',\n deviceToken: ''\n }\n }\n else if (this.fiitJee.savePassword) {\n dataToSend = {\n userId: authData.userId,\n password: authData.password,\n enrollmentno: authData.enrollmentno,\n fjpassword: this.fiitJee.savePassword,\n source: 'web',\n deviceToken: ''\n }\n }\n else if (this.fiitJee.saveWac) {\n dataToSend = {\n userId: authData.userId,\n password: authData.password,\n enrollmentno: authData.enrollmentno,\n wac: this.fiitJee.saveWac,\n source: 'web',\n deviceToken: ''\n }\n }\n return this.http.put('mypatLogin', false, null, false, environment.serverURLv3).pipe(\n mergeMap((res: ApiResponse) => {\n if (res.code === 200 || res.code === 201) {\n localStorage.setItem('authToken', res.data.authToken);\n return [\n new AuthActions.SetToken(res.data.authToken),\n new AuthActions.SetAuthentication(),\n new UserProfileActionList.GetUserDetail(res.data),\n ];\n } else if (res.code === 408) {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n } else {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n\n }),\n catchError((error) => {\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }),\n );\n }\n )\n )\n\n @Effect()\n authNewSignup = this.action$.pipe(\n ofType(AuthActions.TRY_NEW_SIGNUP),\n map((action: AuthActions.TryNewSignup) => action.payload),\n switchMap((authData: any) => {\n let isFreeTrial = false;\n if (authData.hasOwnProperty('freeTrial')) {\n isFreeTrial = authData?.freeTrial;\n delete authData.freeTrial;\n }\n return this.http.post('v1/signup', false, authData, false, false, false, environment.serverURLv3).pipe(\n catchError((error) => {\n return of({ type: AuthActions.FAIL });\n }),\n map((res) => {\n const response = res;\n if (res.code == 200) {\n this.utility.signupData.next(authData);\n this.utility.isNewUser.next(res);\n this.utility.signUpSuccess.next(res);\n this._helper.handleSignupError.next({ signupError: false, isFreeTrial, mobileNumber: res?.data?.mobile?.number, code: res?.data?.mobile?.countryCode });\n\n // GTM\n const gtmData = {\n 'event': 'mobileSignup',\n 'isFIITJEE': this.detectLocationService.isFiitjeeDomain() ? 'fiitjee' : 'non-fiitjee'\n };\n if (localStorage.getItem('utm_source')) {\n gtmData['source'] = localStorage.getItem('utm_source');\n } else if (this.utility.getGlobalAuthPopup() === true) {\n gtmData['source'] = 'WebPopup';\n }\n window['dataLayer'] = window['dataLayer'] || [];\n window['dataLayer'].push(gtmData);\n\n sessionStorage.setItem('userIdClever', response.data._id);\n localStorage.setItem('userId', response.data._id);\n\n let pageStr = '';\n if (!authData.loginViaOtp) {\n if (this.utility.getGlobalAuthPopup() === true) {\n pageStr = \"WebPopup\";\n } else if (this.router.url == '' || this.router.url == '/') {\n pageStr = \"free trial\";\n } else if (localStorage.getItem('lastRequested') == '/counselling') {\n pageStr = \"free counselling\";\n } else if (this.router.url.includes('auth/sign-up')) {\n pageStr = \"normal register\";\n } else if (this.router.url.includes('all-india-challenge')) {\n pageStr = 'Open Live Challenge Test';\n } else if (this.router.url.includes('pre-jee-main')) {\n pageStr = 'Pre JEE Main';\n } else {\n pageStr = this.router.url.replace(new RegExp('-', 'g'), ' ').split('/').reverse().join(' ');\n }\n\n if (this.detectLocationService.isFiitjeeDomain()) {\n this.extraEdgeV3.extraEdgeToolUpdate(\n `&MobileNumber=${response['data']['mobile']['number']}&Leadstatus=Closed&ReasonCode=Existing Fiitjee student&Textb1=${response.data._id}&Field2=${authData.class?.name || ''}&FirstName=${authData.name || ''}`,\n pageStr\n );\n } else {\n const extraEdgePayload = {\n 'MobileNumber': response['data']['mobile']['number'],\n 'Textb1': response.data._id\n };\n if (authData.class && authData.class.name) extraEdgePayload['Field2'] = authData.class.name;\n if (authData.name) extraEdgePayload['FirstName'] = authData.name;\n this.extraEdgeV3.extraEdgeJSONUpdate(extraEdgePayload, { sourceName: pageStr, addLeadMeta: true });\n }\n } else {\n if (this.router.url.includes('free-course')) {\n const submittedJSON = JSON.parse(localStorage.getItem('freePackageData'));\n this.extraEdgeV3.extraEdgeToolUpdate(\n `&Field2=${authData.class ? authData.class.name : submittedJSON.class.name}&Target Exam=${submittedJSON.goal.name}&MobileNumber=${response['data']['mobile']['number']}&Textb1=${response.data._id}`,\n 'Free Course'\n );\n } else {\n const extraEdgePayload = {\n 'MobileNumber': response['data']['mobile']['number'],\n 'Textb1': response.data._id\n };\n if (authData.class && authData.class.name) extraEdgePayload['Field2'] = authData.class.name;\n if (authData.name) extraEdgePayload['FirstName'] = authData.name;\n let campaignName = \"\";\n if (this.router.url == '' || this.router.url == '/') {\n campaignName = \"free trial\";\n } else if (localStorage.getItem('lastRequested') == '/counselling') {\n campaignName = \"free counselling\";\n } else {\n campaignName = this.router.url.replace(new RegExp('-', 'g'), ' ').split('/').reverse().join(' ');\n }\n this.extraEdgeV3.extraEdgeJSONUpdate(extraEdgePayload, { sourceName: campaignName, addLeadMeta: true });\n }\n }\n\n return { type: AuthActions.SIGNUP };\n } else if (res.code === 403) {\n this._helper.handleSignupError.next({signupError: true, isFreeTrial});\n this.alert.showErrorMessage(res.message);\n return { type: AuthActions.FAIL };\n } else if (res.code === 409) {\n this.utility.downloadEbook.next(true);\n this._helper.handleSignupError.next({signupError: true, isFreeTrial});\n this.alert.showErrorMessage(res?.message);\n this.router.navigate(['/user/login']);\n return { type: AuthActions.FAIL };\n } else {\n this._helper.handleSignupError.next({signupError: true, isFreeTrial});\n this.alert.throwErrorMessage(res);\n this.alert.showErrorMessage(res.message);\n return { type: AuthActions.FAIL };\n }\n })\n );\n })\n );\n\n @Effect()\n authVerifyMobile = this.action$.pipe(\n ofType(AuthActions.VERIFY_MOBILE),\n tap((action: AuthActions.VerifyMobile) => {\n action.payload['source'] = 'web';\n action.payload['deviceToken'] = '';\n }),\n switchMap((authData) => {\n this.signuplognpassedInfo = JSON.parse(JSON.stringify(authData));\n delete authData['sourcePage'];\n return this.http.post('verifyOtpMobile', false, authData.payload, false, false, false, environment.serverURLv3).pipe(\n catchError((error) => {\n return of({ type: AuthActions.FAIL });\n })\n );\n }),\n mergeMap((res) => {\n const { code, data, message } = res;\n if (code == 200) {\n this.profileDataResponse = data.profile;\n localStorage.setItem('authToken', data['authToken']);\n this.utility.downloadEbook.next(true);\n window['dataLayer'] = window['dataLayer'] || [];\n window['dataLayer'].push({\n 'event': 'mobileSignup',\n 'isFIITJEE': this.detectLocationService.isFiitjeeDomain() ? 'fiitjee' : 'non-fiitjee'\n });\n\n const extraEdgePayload = {\n 'MobileNumber': data.mobile.number,\n 'MobileVerified': true\n };\n\n let isPreviouslyFiitjeeUser = false;\n try {\n isPreviouslyFiitjeeUser = isPreviouslyFiitjeeUser || data.profile.partner.partnerUser;\n isPreviouslyFiitjeeUser = isPreviouslyFiitjeeUser || (data.profile.partner.partnerId != null);\n isPreviouslyFiitjeeUser = isPreviouslyFiitjeeUser || data.isFIITJEE;\n } catch (error) { }\n if (isPreviouslyFiitjeeUser) {\n extraEdgePayload['ReasonCode'] = 'Existing Fiitjee student';\n extraEdgePayload['Leadstatus'] = 'Closed';\n }\n\n this.extraEdge.extraEdgeJSONUpdate(extraEdgePayload);\n window.location.reload();\n return [\n { type: AuthActions.SET_TOKEN, payload: data['authToken'] },\n { type: AuthActions.SIGNIN },\n { type: AuthActions.GET_PROFILE_DATA }\n ];\n } else {\n this._helper.handleOtpError.next({isOtpError: true});\n return [{ type: AuthActions.FAIL }];\n }\n })\n );\n\n @Effect()\n authSignin = this.action$.pipe(\n ofType(AuthActions.TRY_SIGNIN),\n map((action: AuthActions.TrySignin) => action.payload),\n switchMap((authData) =>\n this.http.post('login', false, authData, false, false, false, environment.serverURLv3).pipe(\n mergeMap((response) => {\n if (response.code === 200) {\n // gtm implementation\n if (response.data.profile.isStepUser) {\n localStorage.setItem('step-login', 'true');\n }\n\n if (response.data && response.data.mobile) {\n // call extra edge\n const extraEdgePayload = {\n 'MobileNumber': response.data.mobile.number.toString(),\n };\n\n let isPreviouslyFiitjeeUser = false;\n try {\n isPreviouslyFiitjeeUser = isPreviouslyFiitjeeUser || response.data.profile.partner.partnerUser;\n isPreviouslyFiitjeeUser = isPreviouslyFiitjeeUser || (response.data.profile.partner.partnerId != null);\n isPreviouslyFiitjeeUser = isPreviouslyFiitjeeUser || response.data.isFIITJEE;\n } catch (error) { }\n\n if (isPreviouslyFiitjeeUser) {\n extraEdgePayload['ReasonCode'] = 'Existing Fiitjee student';\n extraEdgePayload['Leadstatus'] = 'Closed';\n }\n\n this.extraEdge.extraEdgeJSONUpdate(extraEdgePayload);\n }\n\n let payloadProfile;\n if (authData.mobileNumber == null && authData.email != null) {\n payloadProfile = {\n 'Site': {\n 'Identity': response.data._id,\n 'Email': response.data.email.id\n }\n };\n // use for onuserlogin push not profile push\n window['dataLayer'] = window['dataLayer'] || [];\n window['dataLayer'].push({\n 'event': 'emailLogin',\n 'isFIITJEE': this.detectLocationService.isFiitjeeDomain() ? 'fiitjee' : 'non-fiitjee'\n });\n } else if (authData.mobileNumber != null && authData.email == null) {\n payloadProfile = {\n 'Site': {\n 'Identity': response.data._id,\n 'Phone': response.data.mobile.countryCode + '' + response.data.mobile.number\n }\n };\n // use for onuserlogin push not profile push\n window['dataLayer'] = window['dataLayer'] || [];\n window['dataLayer'].push({\n 'event': 'mobileLogin',\n 'isFIITJEE': this.detectLocationService.isFiitjeeDomain() ? 'fiitjee' : 'non-fiitjee'\n });\n }\n\n localStorage.setItem('authToken', response.data.authToken);\n // get profile data\n const obj = response.data.profile;\n this.profileDataResponse = response.data.profile;\n let user = this.utility.createUserObject(response.data);\n user['dateOfBirth'] = obj.userId.dateOfBirth;\n if (obj.class.classId) {\n this.store.dispatch(new UserProfileActionList.GetGoalList(obj.class.classId));\n }\n localStorage.removeItem('login_Type');\n localStorage.setItem('userId', response.data._id);\n this.store.dispatch(new UserProfileActionList.SetUserDetail(user));\n this.store.dispatch(new LoaderAction.SetLoader(false));\n if (user.userGoals.length < 1 && this.router.url != '/auth/congratulation/final' && this.router.url != '/auth/congratulation/email_verified') {\n this.router.navigate(['/user-profile-completion']);\n }\n // window.location.reload(); commented for MV4-10529\n return [\n {\n type: AuthActions.SET_TOKEN,\n payload: response.data.authToken\n },\n {\n type: AuthActions.SIGNIN\n }\n ];\n } else {\n switch (response.code) {\n case 400:\n this._helper.handleLoginError.next({message: response.message});\n break;\n case 401:\n this.router.navigate(['/auth/verify/email', authData.email]);\n break;\n case 402:\n this.router.navigate(['/auth/verify/mobile', authData.mobileNumber]);\n break;\n default:\n console.log(response);\n }\n\n this.store.dispatch(new LoaderAction.SetLoader(false));\n\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n }\n }),\n catchError((error) => {\n console.error(error);\n this.store.dispatch(new LoaderAction.SetLoader(false));\n return [\n {\n type: AuthActions.FAIL\n }\n ];\n })\n )\n )\n );\n\n callGTMevent(str): void {\n switch (str) {\n case 'verify-otp': {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'mobileSignup',\n });\n }\n }\n }\n}\n\n\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { Store } from '@ngrx/store';\nimport { Effect, Actions, ofType } from '@ngrx/effects';\nimport { map, catchError, switchMap } from 'rxjs/operators';\n\nimport * as fromApp from '../app.reducers';\nimport * as ProformaActions from './proforma.actions';\nimport * as LoaderAction from '../../stores/loader/loader.actions';\n\nimport { Proforma } from '../../models/proforma.model';\nimport { HttpService } from '../../shared/services/http.service';\nimport { AlertService } from '../../shared/services/alert.service';\nimport { UtilityService } from '../../shared/services/utility.service';\nimport { DetectLocationService } from '../../shared/services/detect-location.service';\nimport { forkJoin } from 'rxjs';\nimport { GoalSettingService } from 'src/app/goal-setting/services/goal-setting.service';\n\ninterface ApiResponse {\n code: number;\n data: any;\n message?: any;\n}\n\n\n@Injectable()\nexport class ProformaEffects {\n\n body;\n response;\n MSInputMethodContext;\n data;\n constructor(\n private http: HttpService,\n private action$: Actions,\n private router: Router,\n private store: Store,\n private alertService: AlertService,\n private utilityService: UtilityService,\n private detectLocation: DetectLocationService, private goalService: GoalSettingService) {\n this.store.select('proforma').subscribe((proforma) => {\n this.data = proforma.data;\n });\n }\n\n // Registering the effect of get proforma detail action\n @Effect()\n getProformaDetails = this.action$.pipe(\n ofType(ProformaActions.GET_PROFORMA_DETAIL),\n switchMap((data) => {\n const userTag = data.payload.tag ? data.payload.tag : 'student';\n const url = 'v4/auth/goal-settings?tag=' + userTag + '&type=' + 'initial';\n return forkJoin([\n this.http.get('v4/auth/user-info', true, null, true),\n this.http.get(`${url}`, true, null, true)\n ]).pipe(\n map(([userInfoResponse, goalSettingResponse]) => {\n let questions = [];\n let questionstatus = '';\n let goalSelections = [];\n let goalStatus = '';\n const goalSetting = goalSettingResponse.data.goalSettings[0];\n if (goalSettingResponse.code === 200 && goalSettingResponse.data.goalSettings.length > 0) {\n const goalSetting = goalSettingResponse.data.goalSettings[0];\n if (goalSetting.hasOwnProperty('questions')) {\n questions = goalSetting.questions;\n questionstatus = goalSetting ? goalSetting.status.questions : 'pending';\n goalStatus = goalSetting.status.goalSelections;\n goalSelections = goalSelections;\n }\n } else {\n questionstatus = goalSetting ? goalSetting.status.questions : 'pending';\n }\n if (userInfoResponse.code === 200) {\n const userInfo = userInfoResponse.data;\n let initials = '';\n if (userInfoResponse.data.name.hasOwnProperty('firstName') && userInfoResponse.data.name.firstName.length > 0) {\n initials = this.utilityService.getYourInitials(userInfoResponse.data.name);\n }\n const initialsClass = this.utilityService.getInitialsClass();\n switch (userTag) {\n case 'parent':\n goalStatus = userInfo.goalSetting.parent ? userInfo.goalSetting.parent.status : 'pending';\n break;\n case 'teacher':\n goalStatus = userInfo.goalSetting.teacher ? userInfo.goalSetting.teacher.status : 'pending';\n break;\n case 'student':\n goalStatus = userInfo.goalSetting.student ? userInfo.goalSetting.student.status : 'pending';\n break;\n }\n if (userTag == 'teacher' || userTag == 'parent') {\n if (userTag == 'teacher') {\n if (!goalSetting || questionstatus == 'pending') {\n this.router.navigate([`/goal-setting/${userTag}-proforma/analysis`]);\n } else if ((!goalSetting || questionstatus == 'done')) {\n this.router.navigate([`/goal-setting/${userTag}-proforma/last-step`]);\n }\n }\n else {\n if (userTag == 'parent') {\n this.router.navigate([`/goal-setting/parent-proforma/welcome`]);\n }\n }\n\n } else {\n if (userInfo.hasOwnProperty('goalSettingRequired') && userInfo.goalSettingRequired &&\n !userInfo.onboardingRequired) {\n this.router.navigate([`/goal-setting/${userTag}-proforma/intro`]);\n }\n else {\n if (userInfo.hasOwnProperty('goalSettingRequired') && !userInfo.goalSettingRequired) {\n this.router.navigate(['/home']);\n } else {\n if (localStorage.getItem('lastRequested') && localStorage.getItem('lastRequested') !== '/') {\n this.router.navigateByUrl(localStorage.getItem('lastRequested'));\n } else {\n this.router.navigate(['/home']);\n }\n }\n }\n }\n const name = userInfo.name.firstName ?\n userInfo.name.firstName + (userInfo.name.middleName ? ' ' + userInfo.name.middleName : '') +\n (userInfo.name.lastName ? ' ' + userInfo.name.lastName : '') : '';\n const pastAchievements = userInfo.hasOwnProperty('pastAchievements') ? userInfo.pastAchievements : [];\n const prevEnrollmentInfo = userInfo.hasOwnProperty('prevEnrollmentInfo') ? userInfo.prevEnrollmentInfo : [];\n const goalSettingRequired = userInfo.hasOwnProperty('goalSettingRequired') ? userInfo.goalSettingRequired : false;\n const revisedGoalSetting = userInfo.goalSetting.hasOwnProperty('revisedGoalSetting') ? userInfo.goalSetting.revisedGoalSetting : false;\n const studentObj = userInfo.goalSetting.hasOwnProperty('student') ? userInfo.goalSetting.student : { status: 'pending' };\n const parentObj = userInfo.goalSetting.hasOwnProperty('parent') ? userInfo.goalSetting.parent : { status: 'partial' };\n const teacherObj = userInfo.goalSetting.hasOwnProperty('teacher') ? userInfo.goalSetting.teacher : { status: 'partial' };\n const program = userInfo.hasOwnProperty('program') ? userInfo.program : { code: '', name: '' };\n\n const proforma = new Proforma(userInfo._id, name, userInfo.mobile, userInfo.countryCode,\n userInfo.email, userInfo.mypatEnrollmentNo, userInfo.enrollmentNo,\n '', userInfo.photoUrl, (userInfo.userType === 'fiitjee'),\n this.detectLocation.isSchoolDomain(), pastAchievements, prevEnrollmentInfo,\n studentObj, parentObj, teacherObj,\n revisedGoalSetting, userInfo.userType, userInfo.school, goalSettingRequired,\n userInfo.goalSetting.dueDate, userInfo.class, program, userInfo.goals, questionstatus,\n questions, goalStatus, goalSelections, initials, initialsClass, userInfo.centres);\n return {\n type: ProformaActions.UPDATE_PROFORMA_DETAIL,\n payload: proforma\n };\n } else {\n return {\n type: ProformaActions.FAIL\n };\n }\n\n }\n ),\n catchError((error) => {\n return [\n {\n type: ProformaActions.FAIL\n }\n ];\n })\n );\n }),\n );\n\n @Effect({ dispatch: false })\n updateProformaStatus = this.action$.pipe(\n ofType(ProformaActions.UPDATE_PROFORMA_STATUS),\n map((action: ProformaActions.ProformaStatus) => {\n return action.payload;\n }),\n );\n\n @Effect({ dispatch: false })\n updateProformaQuestions = this.action$.pipe(\n ofType(ProformaActions.UPDATE_PROFORMA_QUESTIONS),\n map((action: ProformaActions.QuestionsResponses) => {\n return action.payload;\n }),\n );\n\n // Registering the effect of update proforma detail action\n @Effect({ dispatch: false })\n updateProformaDetail = this.action$.pipe(\n ofType(ProformaActions.UPDATE_PROFORMA_DETAIL),\n map((action: ProformaActions.UpdateProformaDetail) => {\n return action.payload;\n }),\n );\n\n @Effect({ dispatch: false })\n updateEnrollmentNUmbers = this.action$.pipe(\n ofType(ProformaActions.UPDATE_ENROLLMENT_DETAIL),\n map((action: ProformaActions.UpadteEnrollmentNumbers) => {\n return action.payload;\n }), switchMap(\n (payload) => {\n return this.http.put('v4/auth/user', true, payload, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res.code === 200) {\n if (payload.value == 0) {\n this.router.navigate([`/goal-setting/student-proforma/intro`]);\n } else if (payload.value == 1) {\n this.router.navigate(['/goal-setting/student-proforma/2']);\n }\n } else {\n this.alertService.showErrorMessage(res.message);\n return {\n type: ProformaActions.FAIL\n };\n }\n\n }\n ),\n catchError((error) => {\n return [\n {\n type: ProformaActions.FAIL\n }\n ];\n }));\n }\n )\n )\n}\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { CaptchaDirective } from 'src/app/shared/directives/captcha.directive';\nimport { UtilityService } from 'src/app/shared/services/utility.service';\nimport { Subscription } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../../../../app/stores/app.reducers';\nimport * as AuthActions from '../../../../../app/stores/auth/auth.actions';\nimport { GLiteUtilityService } from 'src/app/shared/services/g-lite-utility.service';\nimport { countryArray } from 'src/app/shared/constants/glite.constants';\nimport { FORM_TYPE } from './form.constant';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { EbooksService } from 'src/app/landing-pages/ebooks/ebooks.service';\n@Component({\n selector: 'app-free-trial-form',\n templateUrl: './free-trial-form.component.html',\n styleUrls: ['./free-trial-form.component.scss']\n})\nexport class FreeTrialFormComponent implements OnInit {\n @Input() submitCTA: string;\n @Input() prePaperURL: string = '';\n @ViewChild(CaptchaDirective) vc: CaptchaDirective;\n private validMobileNumberLength: number = 10;\n private availableClasses: String[] = [];\n private activeSubscription = new Subscription();\n public classesDropdown: any[] = [{ class: 'Select Class', _id: '00' }];\n public freeTrialAccessForm: FormGroup = null;\n public selectedClass: any = { class: 'Select Class', _id: '00' };\n public selectedDialCode: any = countryArray[0];\n public errorMessages = {\n noName: 'Please Enter Name',\n noClass: 'Please Enter Class',\n noNumber: 'Please Enter Mobile Number',\n invalidNumber: 'Invalid Mobile Number'\n };\n public captchaInfo: any = {\n isCaptchaEnabled: false,\n showCaptcha: false,\n captchaChecked: true,\n showCaptchaError: false\n }\n public enableOtpPopup: boolean = false;\n @Input() formType = FORM_TYPE.HOME_INFO;\n constructor(\n private fb: FormBuilder,\n private _alert: AlertService,\n private utility: UtilityService,\n private store: Store,\n private _glite: GLiteUtilityService,\n private ebookService: EbooksService,\n private _helper: HelperService) { }\n\n ngOnInit(): void {\n this.checkIfCaptchaShow();\n this.freeTrialAccessForm = this.fb.group({\n userName: [''],\n userNumber: [''],\n exam:['']\n });\n\n this.getClasses();\n this.activeSubscription.add(\n this.utility.captchaStateHandler.subscribe((resetCaptcha: boolean) => {\n if (resetCaptcha) {\n this.resetCaptcha();\n }\n })\n );\n\n this.activeSubscription.add(\n this._helper.handleSignupError.subscribe((data: any) => {\n if (!data.signupError && data.isFreeTrial) {\n const mobileNumber = data?.mobileNumber || this.freeTrialAccessForm.value.userNumber;\n const selectedDialCode = (data?.code && this.getCountryData(data?.code)) || this.selectedDialCode;\n this.utility.otpPopupHandler.next(\n {\n isPopUpEnabled: true,\n mobileInfo: { mobileNumber, selectedDialCode}\n }\n );\n } else {\n this.resetCaptcha();\n }\n })\n )\n }\n\n getCountryData(code: string) {\n const selectedCountry = countryArray.filter((country: any) => {\n return country.dialCode === code;\n })\n return !!selectedCountry.length && selectedCountry[0];\n }\n\n get countryData() {\n return countryArray;\n }\n\n validateName(): void {\n const regexToTestName = /^[A-Z]/gi;\n let userName = this.freeTrialAccessForm.value.userName;\n if (!regexToTestName.test(userName)) {\n userName = userName.substring(0, userName.length - 1);\n }\n this.freeTrialAccessForm.controls['userName'].setValue(userName);\n }\n\n getClasses(): void {\n this.activeSubscription.add(\n this.utility.getClasses().subscribe((res) => {\n this.classesDropdown = res?.data || [];\n this.availableClasses = this.classesDropdown.map(item => item.class);\n if (this.classesDropdown.length) {\n this._glite.getActiveClassId.next({ class_id: this.classesDropdown[0]._id });\n }\n })\n );\n }\n\n selectClass(dataSelected: any) {\n if (this.selectedClass._id !== dataSelected._id) {\n this.selectedClass.class = dataSelected.class;\n this.selectedClass._id = dataSelected._id;\n this._glite.getActiveClassId.next({ class_id: this.selectedClass._id });\n }\n }\n\n selectCountryCode(selectedDialCode: any) {\n this.selectedDialCode = selectedDialCode;\n }\n\n getSuccess() {\n this.captchaInfo.captchaChecked = true;\n this.captchaInfo.showCaptchaError = false;\n this.handleSignup();\n if(this.prePaperURL){\n this.ebookService.selectedEbookLink = this.prePaperURL;\n }\n }\n\n handleSignup() {\n let captchaToken = '';\n if (this.captchaInfo.isCaptchaEnabled && this.vc) {\n captchaToken = this.vc.getResponse();\n }\n\n const payload = {\n name: this.freeTrialAccessForm.value.userName,\n countryCode: this.selectedDialCode.dialCode,\n mobileNumber: this.freeTrialAccessForm.value.userNumber,\n loginViaOtp: true,\n referralCode: '',\n class: {\n classId: this.selectedClass._id,\n name: this.selectedClass.class\n },\n captchaToken,\n freeTrial: true\n };\n this.store.dispatch(new AuthActions.TryNewSignup(payload));\n }\n\n captchaExpired() {\n if (this.vc) {\n this.vc.reset();\n }\n this.captchaInfo.captchaChecked = false;\n }\n\n resetCaptcha() {\n if (this.vc) {\n this.vc.reset();\n }\n this.captchaInfo.captchaChecked = false;\n this.captchaInfo.showCaptcha = false;\n }\n\n checkIfCaptchaShow(): void {\n this.utility.fetchCaptchaDetails().then(res => {\n if (res) {\n if (res && res.code === 200) {\n this.captchaInfo.isCaptchaEnabled = res.data.showCaptcha;\n }\n }\n });\n }\n\n handleMobileNumber(e: any): any {\n let mobileNumber = this.freeTrialAccessForm.value.userNumber;\n var pattern = /^[0-9]+$/;\n if (!pattern.test(mobileNumber)) {\n mobileNumber = mobileNumber.substring(0, mobileNumber.length - 1);\n } else if (mobileNumber.length > this.validMobileNumberLength) {\n mobileNumber = mobileNumber.substring(0, this.validMobileNumberLength);\n }\n this.freeTrialAccessForm.controls['userNumber'].setValue(mobileNumber);\n }\n\n startLearning(): void {\n let errorMessageToShow = '';\n if (!this.freeTrialAccessForm.value.userName) {\n errorMessageToShow = this.errorMessages.noName;\n } else if (!this.availableClasses.includes(this.selectedClass.class) && this.formType !==FORM_TYPE.COLLEGE_PRED) {\n errorMessageToShow = this.errorMessages.noClass;\n } else if (!this.freeTrialAccessForm.value.userNumber) {\n errorMessageToShow = this.errorMessages.noNumber;\n } else if (this.freeTrialAccessForm.value.userNumber.length < this.validMobileNumberLength) {\n errorMessageToShow = this.errorMessages.invalidNumber;\n }\n this._alert.showErrorMessage(errorMessageToShow);\n if (errorMessageToShow) {\n return;\n }\n if(this.captchaInfo.isCaptchaEnabled){\n this.captchaInfo.showCaptcha = this.captchaInfo.isCaptchaEnabled;\n }else {\n this.getSuccess();\n }\n }\n\n public get FORM_TYPE(){\n return FORM_TYPE;\n }\n\n resetForm(){\n this.freeTrialAccessForm.reset();\n this.selectedClass = { class: 'Select Class', _id: '00' };\n }\n}\n","
\n \n Download Now\n \n
\n
\n
\n \n
\n
\n \n
    \n
  • {{class.class}}
  • \n
\n
\n
\n
\n
\n {{selectedDialCode.dialCode}}\n \n
\n
    \n
  • {{country.dialCode}}
  • \n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n \n
\n \n
    \n
  • {{class.class}}
  • \n
\n
\n
\n \n
\n
\n
\n
\n {{selectedDialCode.dialCode}}\n \"arrow\n
\n
    \n
  • {{country.dialCode}}
  • \n
\n
\n \n
\n
\n
\n \n \n
\n\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
Please select captcha
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport * as AuthActions from '../stores/auth/auth.actions';\nimport { Store } from '@ngrx/store';\nimport { environment } from 'src/environments/environment';\nimport * as fromApp from '../stores/app.reducers';\n\n@Component({\n selector: 'app-invalid-login',\n templateUrl: './invalid-login.component.html',\n styleUrls: ['./invalid-login.component.scss']\n})\n\nexport class InvalidLoginComponent implements OnInit {\n\n public authToken = '';\n\n constructor(private route:ActivatedRoute, private store: Store) { }\n\n count=1;\n userData;\n\n ngOnInit(): void {\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n this.authToken=localStorage.getItem('authToken')||sessionStorage.getItem('authToken') ||this.route.snapshot.queryParamMap.get('authToken');\n if(!this.authToken){\n let setCountDown = setInterval(() => {\n this.count++;\n if(this.count >= 5){\n let isRedirect=!this.userData?.isNCRPUser;\n this.store.dispatch(new AuthActions.Logout());\n localStorage.clear();\n sessionStorage.clear();\n clearInterval(setCountDown);\n }\n }, 1000);\n }\n });\n }\n\n}\n","
\n
\n
\n

{{count}}

\n Please wait, you're being redirected...\n
\n
\n","export const USER_INFO_CONST = {\n restrictAccess: 'restrictedAccess',\n userAccessStatus: 'userAccessStatus'\n}","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HelperService {\n public handleLoginError = new Subject();\n public handleOtpError = new Subject();\n public handleSignupError = new Subject();\n constructor() { }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { environment } from 'src/environments/environment';\n\nimport { HttpService } from '../../services/http.service';\nimport { AlertService } from '../../services/alert.service';\nimport { UtilityService } from '../../services/utility.service';\n\ndeclare var $: any;\n@Component({\n selector: 'app-transfer-to-paytm',\n templateUrl: './transfer-to-paytm.component.html',\n styleUrls: ['./transfer-to-paytm.component.scss']\n})\nexport class TransferToPaytmComponent implements OnInit {\n\n @Input() userId: string;\n referralData: any;\n\n mobileNumber: number;\n user = {\n mobileNumber: 0,\n countryCode: ''\n };\n selectedCountryData: any = {};\n\n buttonText = 'Send OTP';\n currentState = 'initial';\n\n showTimer = true;\n timerSec: Observable;\n timeValue = 30;\n interval: any;\n otpApiError = '';\n\n otpValue = 0;\n otpDigit1 = '';\n otpDigit2 = '';\n otpDigit3 = '';\n otpDigit4 = '';\n\n redeemablePoint: any;\n\n constructor(\n private httpService: HttpService,\n private alertService: AlertService,\n private utilityService: UtilityService\n ) {\n this.getCountryList();\n }\n\n ngOnInit(): void {\n this.loadScriptForOTP();\n this.getReferralDetails();\n }\n\n ngOnChanges(): void {\n this.startTimer();\n }\n\n getReferralDetails(): void {\n return;\n const apiName = `getReferralDetail?id=${this.userId}`;\n this.httpService.get(apiName, true, null, false, false, environment.serverURLv3).subscribe((res) => {\n if (res && res.code === 200) {\n this.referralData = res.data;\n this.redeemablePoint = this.referralData.balanceAmount > 1500 ? 1500 : this.referralData.balanceAmount;\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n }\n\n getCountryList(): void {\n const countryList = this.utilityService.getAllCountryList();\n this.selectedCountryData = countryList[0];\n }\n\n performAction(): void {\n switch (this.currentState) {\n case 'initial':\n this.sendOTP();\n break;\n case 'otpSent':\n this.verifyOTP();\n break;\n case 'otpVerified':\n this.confirmTransfer();\n break;\n };\n }\n\n checkIfValid(): boolean {\n let isValid = false;\n switch (this.currentState) {\n case 'initial':\n if (this.mobileNumber) {\n\n if (this.mobileNumber.toString().length === 10) {\n isValid = true;\n } else {\n isValid = false;\n }\n } else {\n isValid = false;\n }\n break;\n case 'otpSent':\n if (this.otpValue.toString().length === 4 && this.otpDigit1 && this.otpDigit2 && this.otpDigit3 && this.otpDigit4) {\n isValid = true;\n } else {\n isValid = false;\n }\n break;\n default:\n isValid = true;\n };\n return isValid;\n }\n\n sendOTP(): void {\n if (this.mobileNumber && this.mobileNumber.toString().match(this.selectedCountryData.regex)) {\n this.user = {\n mobileNumber: this.mobileNumber,\n countryCode: this.selectedCountryData.dialCode,\n };\n this.httpService.post('sendRedeemOtp', true, this.user, false, false, false, environment.serverURLv3).subscribe((res) => {\n if (res && res.code === 200) {\n this.startTimer();\n this.currentState = 'otpSent';\n this.buttonText = 'Verify';\n }\n });\n }\n }\n\n loadScriptForOTP(): void {\n // tslint:disable-next-line: typedef\n $('.inputs').keyup(function (e) {\n if (e.which === 8 || e.which === 46) {\n $(this).prev('.inputs').focus();\n } else {\n if (this.value.length === this.maxLength) {\n $(this).next('.inputs').focus();\n }\n }\n });\n }\n\n resendOTP(): void {\n this.sendOTP();\n }\n\n startTimer(): void {\n this.otpApiError = '';\n this.showTimer = true;\n this.timeValue = 30;\n this.interval = setInterval(() => {\n if (this.timeValue > 0) {\n this.timeValue--;\n } else {\n this.pauseTimer();\n }\n }, 1000);\n }\n\n pauseTimer(): void {\n this.showTimer = false;\n clearInterval(this.interval);\n }\n\n resendOtp(): void {\n this.sendOTP();\n }\n\n editMobile(): void {\n this.otpDigit1 = '';\n this.otpDigit2 = '';\n this.otpDigit3 = '';\n this.otpDigit4 = '';\n this.currentState = 'initial';\n this.buttonText = 'Send OTP';\n }\n\n onEnterOTP(): void {\n this.otpValue = Number(this.otpDigit1 + this.otpDigit2 + this.otpDigit3 + this.otpDigit4);\n }\n\n verifyOTP(): void {\n const payload = {\n otpNumber: this.otpValue,\n points: this.redeemablePoint\n };\n this.httpService.post('verifyRedeemOtp', true, payload, false, false, false, environment.serverURLv3).subscribe((res) => {\n if (res && res.code === 200) {\n this.currentState = 'otpVerified';\n this.buttonText = 'Confirm';\n this.redeemablePoint = res.data.redeemablepoint || res.data.data.redeemablepoint;\n }\n });\n }\n\n confirmTransfer(): void {\n const userObj = {\n redeemPoints: this.redeemablePoint,\n mobileNumber: this.mobileNumber,\n locale: 'IN'\n };\n this.httpService.post('redeempoints', true, userObj, false, false, false, environment.serverURLv3).subscribe(res => {\n if (res.code === 200) {\n this.currentState = 'confirm';\n this.getReferralDetails();\n }\n });\n }\n\n closeModal(): void {\n this.otpDigit1 = '';\n this.otpDigit2 = '';\n this.otpDigit3 = '';\n this.otpDigit4 = '';\n this.otpValue = 0;\n this.mobileNumber = null;\n this.currentState = 'initial';\n this.buttonText = 'Send OTP';\n }\n}\n","\n
\n
\n
\n
\n
\n Redeem in Paytm Wallet\n
\n
\n
\n \n

Enter Your Paytm Mobile number below

\n

Enter OTP sent to the mobile number below

\n

\n ₹{{redeemablePoint}}* will be transferred to you Paytm account
linked with mobile\n number\n

\n
\n
\n \n \n
\n\n
\n
\n Please enter a valid mobile number!\n
\n
\n Please enter a valid mobile number!\n
\n
\n
\n

\n {{ selectedCountryData.dialCode }} - {{ mobileNumber }}\n \n

\n
\n \n \n \n \n
\n

0\">\n 00:{{ timeValue < 10 ? \"0\" + this.timeValue : this.timeValue }}

\n

\n \n

\n
\n
\n \n

Redeemed Successfully

\n

₹{{redeemablePoint}} from your myCash is transferred
to your Paytm wallet

\n
\n
\n
\n \n \n \n
\n

*If you don’t have a Paytm account, we’ll help you create one.

\n
\n
\n
\n
","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, OnDestroy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../stores/app.reducers';\nimport { Subscription } from 'rxjs';\ndeclare var $: any;\n\n@Component({\n selector: 'app-side-filter-list',\n templateUrl: './side-filter-list.component.html',\n styleUrls: ['./side-filter-list.component.css']\n})\nexport class SideFilterListComponent implements OnInit, OnChanges, OnDestroy {\n\n @Input() filterDetails: any;\n @Input() filterType: any;\n @Input() clearingData: Boolean;\n @Output() filterChange = new EventEmitter();\n @Output() closeFilters = new EventEmitter();\n public filterDataToShow: any = [];\n public isMobile = false;\n private activeSubscriptions: Subscription = new Subscription();\n public userData: any; \n\n constructor(\n private store: Store,\n ) {\n if (/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\n this.isMobile = true;\n }\n }\n\n ngOnInit() {\n $('#kaptureChatWrapper').addClass('hide-chat');\n this.activeSubscriptions.add(\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n })\n );\n this.filterDataToShow = [];\n for (let i = 0; i < this.filterDetails.length; i++) {\n const filterKeys = Object.keys(this.filterDetails[i]);\n const filterObj = {\n filterKey: filterKeys[0],\n filterValues: this.filterDetails[i][filterKeys[0]],\n type: filterKeys[0] === 'Time Taken' ? 'single' : this.filterType\n };\n for (let i = 0; i < filterObj.filterValues.length; i++) {\n filterObj.filterValues[i].isChecked = false;\n filterObj.filterValues[i].isApplied = false;\n }\n this.filterDataToShow.push(filterObj);\n }\n }\n\n ngOnChanges() {\n }\n\n onChangeMultiSelect(event) {\n if (this.isMobile) {\n return;\n }\n this.filterChange.emit(event);\n }\n\n onChangeSingleSelect(event) {\n if (this.isMobile) {\n return;\n }\n this.filterChange.emit(event);\n }\n\n\n apply() {\n this.filterDataToShow.forEach((category: any) => {\n category.filterValues.forEach((filter: any) => {\n if (filter.isChecked) {\n filter.isApplied = true;\n }\n this.filterChange.emit({\n isChecked: filter.isChecked,\n filterKey: category.filterKey,\n filterValue: filter\n });\n });\n });\n $('#kaptureChatWrapper').removeClass('hide-chat');\n this.closeFilters.emit();\n }\n\n closeFilter() {\n this.filterDataToShow.forEach((category: any) => {\n category.filterValues.forEach((filter: any) => {\n filter.isChecked = filter.isApplied;\n });\n });\n $('#kaptureChatWrapper').removeClass('hide-chat');\n this.closeFilters.emit();\n }\n\n resetFilters() {\n this.filterDataToShow.forEach((category: any) => {\n category.filterValues.forEach((filter: any) => {\n filter.isChecked = false;\n filter.isApplied = false;\n });\n });\n for (let i = 0; i < this.filterDataToShow.length; i++) {\n this.filterDataToShow[i].isChecked = false;\n for (let j = 0; j < this.filterDataToShow[i].filterValues.length; j++) {\n this.filterChange.emit({ isChecked: false, filterValue: this.filterDataToShow[i].filterValues[j], filterKey: this.filterDataToShow[i].filterKey });\n }\n }\n }\n\n ngOnDestroy() {\n this.activeSubscriptions.unsubscribe();\n }\n}\n","
\n
\n
\n

Setting

\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n
\n
","
\n
\n
\n
\n
\n \"logo\"\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n

Passcode Required for Access

\n

\n Please enter the 6-digit Passcode sent to you along with the link for this proforma\n

\n\n
\n
\n \n \n \n \n \n \n
\n
{{ passcodeApiError }}
\n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { SignupService } from 'src/app/auth/signup-login-master/shared/services/signup.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { GoalSettingService } from '../../goal-setting/services/goal-setting.service';\nimport * as fromApp from '../../stores/app.reducers';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-verify-passcode',\n templateUrl: './verify-passcode.component.html',\n styleUrls: ['./verify-passcode.component.scss']\n})\nexport class VerifyPasscodeComponent implements OnInit {\n userTag = '';\n\n passcodeApiError = '';\n enteredPasscodeValue: any;\n userId: string;\n currentRouteSub: Subscription;\n dueDate: any;\n isLinkExpired: boolean;\n\n constructor(private router: Router, private currentRoute: ActivatedRoute,\n private store: Store,\n private goalSettingService: GoalSettingService, private alertService: AlertService,\n private signupService: SignupService) {\n this.userId = this.currentRoute.snapshot.params.userId;\n }\n\n ngOnInit(): void {\n localStorage.setItem('lastRequested', this.router.url);\n this.userTag = this.goalSettingService.getUserTagByUrl(this.router.url);\n this.loadScriptForOTP();\n this.store.select('proforma').subscribe((info) => {\n if (info && info.data) {\n let data = info.data;\n if (data.dueDate) {\n const currentDate = new Date();\n this.dueDate = new Date(data.dueDate);\n if (currentDate.getTime() > this.dueDate.getTime()) {\n this.alertService.showErrorMessage('This form cannot be accessed as the submission date has already passed!');\n this.isLinkExpired = true;\n }\n }\n }\n });\n }\n\n loadScriptForOTP(): void {\n // tslint:disable-next-line: typedef\n $('.inputs').keyup(function (e) {\n if (e.which === 8 || e.which === 46) {\n $(this).prev('.inputs').focus();\n } else {\n if (this.value.length === this.maxLength) {\n $(this).next('.inputs').focus();\n }\n }\n });\n }\n\n verifyPasscode(value): void {\n this.enteredPasscodeValue = value.passcode1 + value.passcode2 + value.passcode3 +\n value.passcode4 + value.passcode5 + value.passcode6;\n\n if (this.enteredPasscodeValue.toString().length === 6) {\n this.passcodeApiError = '';\n\n const userOtpData: any = {\n userId: this.userId,\n passcode: this.enteredPasscodeValue.toString(),\n tag: this.userTag,\n device: 'desktop',\n osType: 'web',\n };\n\n this.goalSettingService.postPasscodeLogin(userOtpData).then(res => {\n this.signupService.navigateAfterLogin(res.data, this.userTag);\n setTimeout(() => {\n if (this.userTag === 'parent') {\n this.router.navigate(['goal-setting/parent-proforma/welcome']);\n }\n if (this.userTag === 'teacher') {\n this.router.navigate(['goal-setting/teacher-proforma/analysis']);\n }\n }, 500);\n });\n } else {\n this.passcodeApiError = 'Please enter valid passcode';\n }\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'highlight'\n})\n\nexport class HighlightSearch implements PipeTransform {\n transform(value: any, args: any): any {\n if (!args) return value;\n const re = new RegExp(args, 'gi');\n return value.replace(re, \"$&\");\n }\n}\n","","import {\n Component,\n ElementRef,\n Input,\n OnInit,\n ViewChildren,\n} from '@angular/core';\n\n@Component({\n selector: 'app-test-details-syllabus',\n templateUrl: './test-details-syllabus.component.html',\n styleUrls: ['./test-details-syllabus.component.scss'],\n})\nexport class TestDetailsSyllabusComponent implements OnInit {\n @Input() testType: string;\n @Input() testDetails: any;\n public syllabusLevel: string = 'chapters';\n @ViewChildren('chapters') chaptersComponent: ElementRef[];\n @ViewChildren('conceptsCollapse') conceptsCollapseComponent: ElementRef[];\n @ViewChildren('subjects') subjectsComponent: ElementRef[];\n @ViewChildren('chaptersCollapse') chaptersCollapseComponent: ElementRef[];\n constructor() {}\n\n ngOnInit(): void {}\n\n changeSyllabusLevel(level: string): void {\n if (this.syllabusLevel === level) {\n return;\n }\n this.syllabusLevel = level;\n this.chaptersCollapseComponent.forEach((div) => {\n div.nativeElement.classList.add('show');\n });\n this.subjectsComponent.forEach((div) => {\n div.nativeElement.setAttribute('aria-expanded', 'true');\n });\n if (level === 'concepts') {\n this.conceptsCollapseComponent.forEach((div) => {\n div.nativeElement.classList.add('show');\n });\n this.chaptersComponent.forEach((div) => {\n div.nativeElement.setAttribute('aria-expanded', 'true');\n });\n return;\n }\n this.conceptsCollapseComponent.forEach((div) => {\n div.nativeElement.classList.remove('show');\n });\n this.chaptersComponent.forEach((div) => {\n div.nativeElement.setAttribute('aria-expanded', 'false');\n });\n }\n}\n","import * as LoaderActionList from './loader.actions';\n\nexport interface State {\n isLoader: boolean;\n pendingRequest: number;\n}\n\nconst intialState: State = {\n isLoader: false,\n pendingRequest: 0\n};\n\nexport function loaderReducer(state = intialState, action: LoaderActionList.LoaderActionList): any {\n switch (action.type) {\n case LoaderActionList.SET_LOADER:\n let isLoader = state.isLoader;\n let pendingRequest = state.pendingRequest;\n if (action.payload) {\n pendingRequest = pendingRequest + 1;\n isLoader = true;\n }\n else {\n pendingRequest = pendingRequest - 1;\n if (pendingRequest <= 0) {\n pendingRequest = 0;\n isLoader = false;\n }\n }\n return {\n ...state,\n isLoader,\n pendingRequest\n };\n default:\n return state;\n }\n}\n","import { UtilityService } from '../../shared/services/utility.service';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Effect, Actions, ofType } from '@ngrx/effects';\nimport { map, catchError, switchMap } from 'rxjs/operators';\n\nimport * as fromApp from '../app.reducers';\nimport * as UserProfileActions from './user-profile.actions';\nimport * as ProformaActions from '../proforma/proforma.actions';\nimport * as LoaderAction from '../../stores/loader/loader.actions';\n\nimport { UserProfile } from '../../models/profile.model';\nimport { HttpService } from '../../shared/services/http.service';\nimport { AlertService } from '../../shared/services/alert.service';\nimport { OnboardingService } from '../../user-onboarding/service/onboarding.service';\nimport { ProfileService } from '../../profile/shared/services/profile.service';\nimport { DetectLocationService } from '../../shared/services/detect-location.service';\nimport { ROUTES as ON_SPOT_ROUTES } from '../../on-spot-test/on-spot-test.constants';\nimport { getAdmissionTestRedirectionUrl } from '../../shared/utils/admissionTest.util';\nimport { USER_INFO_CONST } from 'src/app/shared/constants/common.constant';\nimport { ROUTES_LINK } from 'src/app/app.constants';\n\ninterface ApiResponse {\n code: number;\n data: any;\n message?: any;\n}\n\ninterface UserResponse {\n fromScreen: string;\n}\n\n@Injectable()\nexport class UserEffects {\n\n body;\n response;\n MSInputMethodContext;\n userData;\n constructor(\n private http: HttpService,\n private action$: Actions,\n private router: Router,\n private store: Store,\n private alertService: AlertService,\n private utilityService: UtilityService,\n private onboardingService: OnboardingService,\n private profileService: ProfileService,\n private route: ActivatedRoute,\n private detectLocation: DetectLocationService) {\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n });\n }\n\n // Registering the effect of get user detail action\n @Effect()\n getUserDetails = this.action$.pipe(\n ofType(UserProfileActions.GET_USER_DETAIL),\n switchMap((data) => {\n const fromScreen = data['fromScreen'];\n return this.http.get('v4/auth/user-info', true, null, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res.code === 200) {\n const userInfo = res.data;\n if (userInfo.hasOwnProperty(USER_INFO_CONST.userAccessStatus) && userInfo.userAccessStatus === USER_INFO_CONST.restrictAccess) {\n this.utilityService.restrictAccessPopUp.next(true);\n } else {\n this.profileService.showMyPlanPopUp.next(userInfo.showMyPlanPopUp);\n }\n localStorage.setItem('body', userInfo._id);\n localStorage.setItem('enrollmentNo', userInfo.enrollmentNo);\n localStorage.setItem('isNCRPUser',userInfo?.isNCRPUser);\n !userInfo.isNCRPUser && this.utilityService.showApplicationSurveyPopup.next(true);\n let initials = '';\n if (res.data.name.hasOwnProperty('firstName') && res.data.name.firstName.length > 0) {\n initials = this.utilityService.getYourInitials(res.data.name);\n }\n const initialsClass = this.utilityService.getInitialsClass();\n const userTag = data.payload.tag ? data.payload.tag : 'student';\n const teacherUrl = sessionStorage.getItem('teachersRedirectUrl');\n if (userInfo?.isAdmissionTestUser && !userInfo?.onSpotRegNo) {\n const redirectionUrl = getAdmissionTestRedirectionUrl(userInfo?.admissionTest);\n this.router.navigate([redirectionUrl]);\n }\n if ((!teacherUrl || teacherUrl === '') && !userInfo?.isAdmissionTestUser) {\n if (userInfo?.onboardingRequired && !userInfo.isTeacher && !userInfo?.dateOfBirth) {\n this.router.navigate(['/complete-profile']);\n } \n else {\n if (!window.location.href.includes('parent-proforma') && !window.location.href.includes('teacher-proforma')) {\n if (window.location.href.split('/')[window.location.href.split('/').length - 1] === '/') {\n this.router.navigate(['/home']);\n } else {\n const currentLocation = window.location.href;\n let accountDeletion = null;\n try {\n accountDeletion = JSON.parse(this.route.snapshot.queryParams.accountDeletion);\n } catch (e) {\n accountDeletion = false;\n }\n if (localStorage.getItem('lastRequested')) {\n localStorage.removeItem('lastRequested');\n } else if (currentLocation.includes('user/login') && accountDeletion) {\n this.router.navigate([ROUTES_LINK.ACCOUNT_DELETION])\n } else if (!Object.values(ROUTES_LINK).some(activeLinks => currentLocation.includes(activeLinks))) {\n this.router.navigate(['/home']);\n }\n }\n }\n }\n }\n let name = userInfo.name.firstName ? userInfo.name.firstName +\n ' ' + (userInfo.name.middleName ? userInfo.name.middleName + ' ' : '') +\n (userInfo.name.lastName ? userInfo.name.lastName : '') : '';\n name = name.trim();\n const user = new UserProfile(userInfo._id, name, userInfo.userName, (userInfo.mobile || (userInfo.b2bMobile && userInfo.b2bMobile.number)), userInfo.countryCode,\n userInfo.email,userInfo.dateOfBirth, userInfo.goals, userInfo.class, userInfo.careers, userInfo.location, {}, userInfo.mypatEnrollmentNo,\n '', userInfo.school, '', userInfo.photoUrl, false, false, userInfo.packages, 0, userInfo.passwordExists, {},\n userInfo.referralCode, '', {}, '', null, (userInfo.userType === 'fiitjee'),\n this.detectLocation.isSchoolDomain(), (userInfo.mobileIsVerified || (userInfo.b2bMobile && userInfo.b2bMobile.isVerified)), userInfo.emailIsverified,\n userInfo.followerCount, userInfo.followingCount, initials, initialsClass, userInfo.centres, userInfo.enrollmentNo, userInfo.isNCRPUser, userInfo.featurePermissions, userInfo.isTeacher, userInfo.isAdmissionTestUser, userInfo.admissionTest, userInfo.hasActivePackage,\n userInfo.onSpotRegNo, userInfo?.fiitjeeFacultyHiring\n );\n if (name && userInfo.userName) {\n localStorage.setItem('step1Status', 'completed');\n } else {\n localStorage.removeItem('step1Status');\n }\n if (userInfo.class && userInfo.goals) {\n localStorage.setItem('step2Status', 'completed');\n } else {\n localStorage.removeItem('step2Status');\n }\n if (userInfo.school.name) {\n localStorage.setItem('step3Status', 'completed');\n } else {\n localStorage.removeItem('step3Status');\n }\n if (userInfo.photoUrl || (userInfo.onboardingStepsSkipped && userInfo.onboardingStepsSkipped.find(step => step.name === 'profilePicture'))) {\n localStorage.setItem('step4Status', 'completed');\n } else {\n localStorage.removeItem('step4Status');\n }\n if ((userInfo?.mobileIsVerified || userInfo?.b2bMobile?.isVerified) && userInfo?.emailIsverified) {\n localStorage.setItem('step5Status', 'completed');\n } else {\n localStorage.removeItem('step5Status');\n }\n return {\n type: UserProfileActions.UPDATE_USER_DETAIL,\n payload: user\n };\n } else {\n return {\n type: UserProfileActions.FAIL\n };\n }\n }\n ),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n })\n );\n }),\n );\n\n\n // Registering the effect of update user detail action\n @Effect({ dispatch: false })\n updateUserDetail = this.action$.pipe(\n ofType(UserProfileActions.UPDATE_USER_DETAIL),\n map((action: UserProfileActions.UpdateUserDetail) => {\n return action.payload;\n }),\n );\n\n // Update class of the user in the store\n @Effect({ dispatch: false })\n addClass = this.action$.pipe(\n ofType(UserProfileActions.ADD_CLASS),\n map((action: UserProfileActions.AddClass) => {\n return action.payload;\n }),\n );\n\n // Update career of the user in the store\n @Effect({ dispatch: false })\n addCareer = this.action$.pipe(\n ofType(UserProfileActions.ADD_CAREER),\n map((action: UserProfileActions.AddCareer) => {\n return action.payload;\n }),\n );\n\n // Registering the effect of add goal action\n @Effect()\n addGoal = this.action$.pipe(\n ofType(UserProfileActions.ADD_GOAL),\n map((action: UserProfileActions.AddGoal) => {\n return action.payload;\n }),\n switchMap(\n (UserDetail) => {\n return this.http.put('v4/auth/user', true, UserDetail, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res && res.code === 200) {\n const careerToAdd = [];\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < UserDetail['careers'].length; i++) {\n careerToAdd.push({\n id: UserDetail['careers'][i].id,\n name: UserDetail['careers'][i].name\n });\n }\n if (this.router.url.includes('complete-profile')) {\n localStorage.setItem('step2Status', 'completed');\n this.onboardingService.currentStep.next('3');\n this.onboardingService.lastStep.next('2c');\n this.router.navigateByUrl('complete-profile/3');\n } else {\n this.profileService.editedCourseDetails.next(true);\n }\n return {\n type: UserProfileActions.ADD_GOAL_SUCCESS,\n // tslint:disable-next-line: no-string-literal\n payload: {\n userClass: UserDetail['userClass'],\n goals: UserDetail['goals'],\n userCareers: careerToAdd\n },\n };\n } else if (res.code === 400) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n } else {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n }\n return {\n type: UserProfileActions.FAIL\n };\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n\n // Adding name in case of add name + username\n\n @Effect()\n addName = this.action$.pipe(\n ofType(UserProfileActions.ADD_NAME),\n map((action: UserProfileActions.AddName) => {\n return action.payload;\n }),\n switchMap(\n (UserDetail) => {\n const dataToSend = {\n // tslint:disable-next-line: no-string-literal\n name: UserDetail['name'],\n // tslint:disable-next-line: no-string-literal\n userName: UserDetail['userName']\n };\n return this.http.put('v4/auth/user-name', true, dataToSend, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res && res.code === 200) {\n localStorage.setItem('step1Status', 'completed');\n if (UserDetail['isFiitjee']) {\n this.onboardingService.currentStep.next('3');\n this.onboardingService.lastStep.next('2c');\n this.router.navigateByUrl('complete-profile/3');\n } else {\n this.onboardingService.currentStep.next('2a');\n this.onboardingService.lastStep.next('1');\n this.router.navigateByUrl('complete-profile/2');\n }\n return {\n type: UserProfileActions.ADD_NAME_SUCCESS,\n // tslint:disable-next-line: no-string-literal\n payload: { name: dataToSend['name'], userName: dataToSend['userName'] },\n };\n } else if (res.code === 400) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.onboardingService.errorMessage.next({ step1: res.message });\n } else {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n }\n return {\n type: UserProfileActions.FAIL\n };\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n // Registering the effect of add school action\n @Effect()\n addSchool = this.action$.pipe(\n ofType(UserProfileActions.ADD_SCHOOL),\n map((action: UserProfileActions.AddSchool) => {\n return action.payload;\n }),\n switchMap(\n (UserDetail) => {\n return this.http.put('v4/auth/user', true, UserDetail, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res && res.code === 200) {\n if (this.router.url.includes('complete-profile')) {\n localStorage.setItem('step3Status', 'completed');\n this.onboardingService.currentStep.next('4');\n this.onboardingService.lastStep.next('3');\n this.router.navigateByUrl('complete-profile/4');\n this.onboardingService.schoolUpdated.next(false);\n } else {\n this.profileService.schoolAdded.next(true);\n }\n const payload = {\n fromScreen: 'step3',\n authToken: localStorage.getItem('authToken') || sessionStorage.getItem('authToken'),\n tag: ''\n };\n return {\n type: UserProfileActions.GET_USER_DETAIL,\n payload: payload\n };\n } else if (res.code === 400) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n } else {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n }\n return {\n type: UserProfileActions.FAIL\n };\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n\n // Registering the effect of add profile action\n @Effect()\n addPhoto = this.action$.pipe(\n ofType(UserProfileActions.ADD_PROFILE_SUCCESS),\n map((action: UserProfileActions.AddProfileSuccess) => {\n return action.payload;\n }),\n switchMap(\n (UserDetail) => {\n return this.http.put('v4/auth/user', true, UserDetail, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res && res.code === 200) {\n localStorage.setItem('step4Status', 'completed');\n this.onboardingService.currentStep.next('5a');\n this.onboardingService.lastStep.next('4');\n this.router.navigateByUrl('complete-profile/5');\n return {\n type: UserProfileActions.ADD_PROFILE_SUCCESS,\n // tslint:disable-next-line: no-string-literal\n payload: UserDetail['photoUrl']\n };\n } else if (res.code === 400) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n } else {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n }\n return {\n type: UserProfileActions.FAIL\n };\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n // Registering the effect of verifing mobile action\n @Effect()\n verifyMobile = this.action$.pipe(\n ofType(UserProfileActions.VERIFY_MOBILE_PROFILE),\n map((action: UserProfileActions.VerifyMobileProfile) => {\n return action.payload;\n }),\n switchMap(\n (payload) => {\n return this.http.put('v4/auth/users/verify-otp', true, payload, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res.code === 200) {\n if (this.router.url.includes('complete-profile')) {\n this.onboardingService.phoneAdded.next('true');\n // localStorage.setItem('step5Status', 'completed');\n this.onboardingService.currentStep.next('5b');\n this.onboardingService.lastStep.next('5a');\n } else {\n this.profileService.emailMobileAdded.next({ mobileAdded: true });\n }\n return {\n type: UserProfileActions.VERIFY_MOBILE_PROFILE_SUCCESS,\n payload: { mobile: payload.mobile, countryCode: payload.countryCode },\n };\n } else if (res.code === 202 && this.router.url.includes('edit')) {\n } else if (res && res.code === 409) {\n } else {\n this.alertService.showErrorMessage(res.message);\n return {\n type: UserProfileActions.FAIL\n };\n }\n return {\n type: UserProfileActions.FAIL\n };\n }\n ),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n // Registering the effect of verifing mobile action\n @Effect()\n verifyEmail = this.action$.pipe(\n ofType(UserProfileActions.VERIFY_EMAIL_PROFILE),\n map((action: UserProfileActions.VerifyEmailProfile) => {\n return action.payload;\n }),\n switchMap(\n (payload) => {\n return this.http.put('v4/auth/users/verify-otp', true, payload, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res.code === 200 || res.code === 408) {\n if (this.router.url.includes('complete-profile')) {\n localStorage.setItem('step5Status', 'completed');\n this.onboardingService.currentStep.next('6');\n this.onboardingService.lastStep.next('5b');\n this.router.navigateByUrl('complete-profile/6');\n } else {\n this.profileService.emailMobileAdded.next({ emailAdded: true });\n }\n return {\n type: UserProfileActions.VERIFY_EMAIL_PROFILE_SUCCESS,\n payload: { email: payload.email }\n };\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n return {\n type: UserProfileActions.FAIL\n };\n }\n ),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n // Registering the effect of add password action\n @Effect()\n addPassword = this.action$.pipe(\n ofType(UserProfileActions.ADD_PASSWORD),\n map((action: UserProfileActions.AddPassword) => {\n return action.payload;\n }),\n switchMap(\n (payload) => {\n return this.http.post('v4/auth/reset-password', true, payload, true).pipe(\n map(\n (data: ApiResponse) => {\n if (data.code === 200) {\n this.http.put('v4/auth/users/mypat-enrolment-number', true, {}, true).subscribe((res) => {\n if (res && res.code === 200) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n localStorage.setItem('step6Status', 'completed');\n this.onboardingService.currentStep.next('6');\n this.onboardingService.lastStep.next('6');\n const payload = {\n fromScreen: 'refresh',\n authToken: localStorage.getItem('authToken') || sessionStorage.getItem('authToken'),\n tag: 'student'\n };\n this.store.dispatch(new ProformaActions.GetProformaDetail(payload));\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n return {\n type: UserProfileActions.ADD_PASSWORD_SUCCESS,\n payload: {}\n };\n } else {\n return {\n type: UserProfileActions.FAIL\n };\n }\n }\n ),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n\n @Effect()\n skipPassword = this.action$.pipe(\n ofType(UserProfileActions.SKIP_PASSWORD),\n map((action: UserProfileActions.SkipPassword) => {\n return action.payload;\n }),\n switchMap(() => {\n return this.http.put('v4/auth/users/mypat-enrolment-number', true, {}, true).pipe(\n map((res: ApiResponse) => {\n if (res && res.code === 200) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n localStorage.setItem('step6Status', 'completed');\n this.onboardingService.currentStep.next('6');\n this.onboardingService.lastStep.next('6');\n\n const payload = {\n fromScreen: 'refresh',\n authToken: localStorage.getItem('authToken') || sessionStorage.getItem('authToken'),\n tag: 'student'\n };\n this.store.dispatch(new ProformaActions.GetProformaDetail(payload));\n // this.router.navigateByUrl('dashboard');\n return {\n type: UserProfileActions.SKIP_PASSWORD_SUCCESS,\n payload: {}\n };\n } else {\n return {\n type: UserProfileActions.FAIL\n };\n }\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n })\n )\n }\n ),\n );\n\n\n // Registering the effect to get class list action\n @Effect()\n getClassList = this.action$.pipe(\n ofType(UserProfileActions.GET_CLASS_LIST),\n map((action: UserProfileActions.GetClassList) => {\n return;\n }),\n switchMap(\n (obj) => {\n if (this.router.url.includes('user-profile-completion')) {\n localStorage.setItem('fetchedClassList', 'true');\n }\n return this.http.get('getClass', false, null, true),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n });\n }\n ),\n map((res: ApiResponse) => {\n if (res.code === 200) {\n return {\n type: UserProfileActions.FAIL\n };\n }\n else {\n return {\n type: UserProfileActions.FAIL\n };\n }\n }\n )\n );\n\n // Registering the effect to get goal list action\n @Effect()\n getGoalList = this.action$.pipe(\n ofType(UserProfileActions.GET_GOAL_LIST),\n map((action: UserProfileActions.GetGoalList) => {\n return action.payload;\n }),\n switchMap(\n (className) => {\n return this.http.get('getGoals?class=' + className, false, null, true),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n });\n }\n ),\n map((res: ApiResponse) => {\n if (res.code === 200) {\n if (res && res.data && res.data.length) {\n }\n return {\n type: UserProfileActions.FAIL\n };\n } else {\n return {\n type: UserProfileActions.FAIL\n };\n\n }\n }\n )\n );\n\n @Effect()\n addReferral = this.action$.pipe(\n ofType(UserProfileActions.ADD_REFERRAL),\n map((action: UserProfileActions.AddReferral) => {\n return action.payload;\n }),\n switchMap(\n (obj) => {\n const dataToSend = null;\n return this.http.put('updateOtherDetails', true, dataToSend, true),\n map(\n (data: ApiResponse) => {\n if (data.code === 200) {\n return {\n type: UserProfileActions.ADD_REFERRAL_SUCCESS,\n payload: obj\n };\n } else {\n return {\n type: UserProfileActions.FAIL\n };\n }\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n });\n }\n )\n );\n\n\n // Updating user profile photo from user card section - profile details\n @Effect()\n updateUserProfilePhoto = this.action$.pipe(\n ofType(UserProfileActions.UPDATE_USER_CARD_PROFILE),\n map((action: UserProfileActions.UpdateUserCardProfile) => {\n return action.payload;\n }),\n switchMap(\n (UserDetail) => {\n return this.http.put('v4/auth/user', true, UserDetail, true).pipe(\n map(\n (res: ApiResponse) => {\n if (res && res.code === 200) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showSuccessMessage(res.message);\n return {\n type: UserProfileActions.UPDATE_USER_CARD_PROFILE_SUCCESS,\n payload: {\n // tslint:disable-next-line: no-string-literal\n photoUrl: UserDetail['photoUrl']\n }\n };\n } else if (res.code === 400) {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n } else {\n this.store.dispatch(new LoaderAction.SetLoader(false));\n this.alertService.showErrorMessage(res.message);\n }\n return {\n type: UserProfileActions.FAIL\n };\n }),\n catchError((error) => {\n return [\n {\n type: UserProfileActions.FAIL\n }\n ];\n }));\n }\n )\n );\n}\n","import { Component, OnInit, ViewChild, ElementRef, HostListener, OnDestroy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport * as fromApp from '../../../stores/app.reducers';\nimport { UtilityService } from '../../services/utility.service';\nimport { Router, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, RoutesRecognized } from '@angular/router';\nimport { environment } from 'src/environments/environment';\nimport { AlertService } from '../../services/alert.service';\nimport { HomeService } from 'src/app/home-page/services/home.service';\nimport { HomeSearchComponent } from 'src/app/home-page/shared/home-search/home-search.component';\nimport { GLiteUtilityService } from '../../services/g-lite-utility.service';\nimport { Subscription } from 'rxjs';\nimport { EbooksService } from 'src/app/landing-pages/ebooks/ebooks.service';\nimport { HOME_ROUTE, MY_REVISION_PLAN, SEARCH_RESULT, } from 'src/app/home-page/constants/routes.constant';\nimport { filter } from 'rxjs/operators';\ndeclare var $: any;\n\n@Component({\n selector: 'app-header-after-login',\n templateUrl: './header-after-login.component.html',\n styleUrls: ['./header-after-login.component.scss']\n})\n\nexport class HeaderAfterLoginComponent implements OnInit, OnDestroy {\n @ViewChild('sideBar') sideBarRef: ElementRef;\n isClassVisible = true;\n public userData: any;\n public freeTrialData: any;\n public currentUrl = '';\n public showLogoutPopup = false;\n public showChangePassword = false;\n public sidebarOverlay: boolean = false;\n isMobile = false;\n showSearchIcon = false;\n hideRightNav = false;\n clearSearch = false;\n public clickedTabDetail: string = '';\n public showRevModal: boolean = false;\n public isNcrpUser = false;\n public numberOfItemsInCart: number = 0;\n public fiitjeeFacultyHiring:boolean = false;\n private activeSubscriptions = new Subscription();\n @ViewChild(HomeSearchComponent) homeSearchComponent: HomeSearchComponent;\n public isHomeActive : boolean = true;\n constructor(private store: Store,\n private router: Router, public utilityService: UtilityService, private alert: AlertService, private homeService: HomeService\n , private _gLiteUtility: GLiteUtilityService,\n private _ebook: EbooksService) {\n if (/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\n this.isMobile = true;\n }\n }\n\n ngOnInit(): void {\n this.sidebarOverlay = false;\n this.activeSubscriptions.add(\n this.store.select('userProfile').subscribe((userProfile) => {\n this.userData = userProfile.userData;\n this.isNcrpUser = this.userData.isNCRPUser;\n this.fiitjeeFacultyHiring = this.userData.fiitjeeFacultyHiring;\n })\n );\n this.activeSubscriptions.add(\n this._gLiteUtility.getCart().subscribe(res => {\n if(res){\n this.numberOfItemsInCart=res?.data?.course?.length;\n this._gLiteUtility.numberOfItemsInCart.next({ numberOfItemsInCart: this.numberOfItemsInCart});\n }\n })\n );\n\n this.activeSubscriptions.add(\n this._gLiteUtility.numberOfItemsInCart.subscribe((data: any) => {\n this.numberOfItemsInCart = data.numberOfItemsInCart;\n })\n )\n\n this.activeSubscriptions.add(\n this.utilityService.downloadEbook.subscribe((downloadEbook: boolean) => {\n if (this._ebook.selectedEbookLink && downloadEbook) {\n window.open(this._ebook.selectedEbookLink, '_blank');\n this._ebook.selectedEbookLink = '';\n }\n })\n );\n\n // freeTrial code\n this.getTheFreeTrialData();\n\n this.router.events.forEach((event) => {\n if (event instanceof NavigationEnd) {\n this.currentUrl = event.url;\n }\n });\n\n this.currentUrl = this.router.url;\n // for hiding navbar on outer click\n $(document).click((event) => {\n const clickover = $(event.target);\n const $navbar = $('.navbar-collapse');\n const opened = $navbar.hasClass('show');\n if (opened === true && !clickover.hasClass('navbar-toggle')) {\n $navbar.collapse('hide');\n }\n });\n this.activeSubscriptions.add(\n this.router.events\n .pipe(filter((event) => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n if (\n this.currentUrl.includes(HOME_ROUTE) ||\n this.currentUrl.includes(SEARCH_RESULT) ||\n this.currentUrl.includes(MY_REVISION_PLAN)\n ) {\n this.changeHomeStatus(true);\n }\n })\n );\n }\n\n @HostListener('document:click', ['$event']) onClick(event) {\n let searchEle: any = document.getElementsByClassName('searchHideRes');\n if (searchEle && searchEle.length === 0) {\n this.showSearchIcon = false;\n }\n }\n\n onExpand(event) {\n this.hideRightNav = event;\n }\n\n searchClicked() {\n this.changeHomeStatus();\n this.showSearchIcon = true;\n this.homeSearchComponent?.clearSearchText();\n }\n\n showSidebar(): void {\n this.sideBarRef.nativeElement.style.left = '0px';\n this.sidebarOverlay = !this.sidebarOverlay;\n }\n\n hideSidebar(): void {\n this.sideBarRef.nativeElement.style.left = '-1000px';\n this.sidebarOverlay = !this.sidebarOverlay;\n }\n\n getTheFreeTrialData(): void {\n this.utilityService.fetchFreeTrialDataAPI();\n this.activeSubscriptions.add(\n this.utilityService.freeTrialDataContainer.subscribe((res) => {\n this.freeTrialData = res;\n })\n );\n }\n\n navigateToHome(): void {\n localStorage.removeItem('lastRequested');\n this.changeHomeStatus(true);\n if (localStorage.getItem('onLastMinuteRevision') === 'true') {\n this.clickedTabDetail = 'home';\n this.showRevModal = true;\n setTimeout(() => {\n $('#doneRevisionModal').modal({\n backdrop: 'static',\n keyboard: false\n });\n }, 100);\n } else {\n this.clickedTabDetail = '';\n this.clearSearch = true;\n const card = JSON.parse(localStorage.getItem('openendCardDetails'))?.selectedCard;\n if (card?.type != 'help' && card?.type != 'ideasAndSuggestions') {\n //localStorage.removeItem('toExpandCard');\n //localStorage.removeItem('openendCardDetails');\n }\n if (this.router.url.includes('home') && !this.router.url.includes('/searchResult/')) {\n this.alert.updateWorkingHomePage.next({ update: 'openHome' });\n }\n localStorage.removeItem('lastRequested');\n this.router.navigate(['/home']);\n }\n }\n\n navigateToClasses(): void {\n if (localStorage.getItem('onLastMinuteRevision') === 'true') {\n this.clickedTabDetail = 'liveclasses';\n this.showRevModal = true;\n setTimeout(() => {\n $('#doneRevisionModal').modal({\n backdrop: 'static',\n keyboard: false\n });\n }, 100);\n } else {\n this.clickedTabDetail = '';\n const url = (this.userData.isFiitjee ? environment.glorifireliveClasses : environment.myPatUrl) + '?authToken=' + (localStorage.getItem('authToken') || sessionStorage.getItem('authToken')) + '&loginVia=liveClasses';\n window.open(url, '_blank');\n }\n }\n\n navigateToCommunity(): void {\n this.changeHomeStatus();\n if (localStorage.getItem('onLastMinuteRevision') === 'true') {\n this.clickedTabDetail = 'community';\n this.showRevModal = true;\n setTimeout(() => {\n $('#doneRevisionModal').modal({\n backdrop: 'static',\n keyboard: false\n });\n }, 100);\n } else {\n // this.clickedTabDetail = '';\n // const url = (this.userData.isFiitjee ? environment.fiitjeeUrlv3 : environment.myPatUrl) +\n // '/community/view/popular?authToken=' + (localStorage.getItem('authToken') || sessionStorage.getItem('authToken')) + '&redirectUrl=' + environment.fiitjeeUrlv4;\n // window.open(url, '_blank');\n this.router.navigate(['/community/view/popular']);\n }\n }\n\n goToDownloadApp(): void {\n this.router.navigate(['/mobile-app-download']);\n }\n\n logoutConfirm(): void {\n this.changeHomeStatus();\n this.showLogoutPopup = true;\n setTimeout(() => {\n $('#logoutModal').modal({\n backdrop: 'static',\n keyboard: false\n });\n }, 0);\n }\n\n closePopup(): void {\n $('#logoutModal').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n }\n\n changePassword(): void {\n this.showChangePassword = true;\n setTimeout(() => {\n $('#changePasswordModal').modal({\n backdrop: 'static',\n keyboard: false\n });\n }, 0);\n }\n\n closeChangePassword(): void {\n $('#changePasswordModal').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n }\n\n closeRevisionPopup(): void {\n $('#doneRevisionModal').modal('hide');\n $('.modal-backdrop').remove();\n $('body').removeClass('modal-open');\n }\n\n\n confirmExit(event): void {\n localStorage.removeItem('onLastMinuteRevision');\n this.showRevModal = false;\n switch (this.clickedTabDetail) {\n case 'home': {\n this.navigateToHome();\n this.closeRevisionPopup();\n break;\n }\n case 'liveclasses': {\n this.navigateToClasses();\n this.closeRevisionPopup();\n break;\n }\n case 'community': {\n this.navigateToCommunity();\n this.closeRevisionPopup();\n break;\n }\n }\n }\n\n closeRevPopup(): void {\n this.showRevModal = false;\n }\n\n autoFocusSearchField(): void {\n this.homeService.homeSearchUpdate.emit({ action: 'autoFocusSearchField' });\n }\n\n clearSearchResults(): void {\n this.homeService.homeSearchUpdate.emit({ action: 'clearAllSuggestions' });\n }\n\n changeHomeStatus(status: boolean = false){ \n this.isHomeActive= status; \n }\n\n ngOnDestroy(): void {\n this.activeSubscriptions.unsubscribe();\n }\n}\n","
\n
\n \n \n
\n \n
\n \n
\n\n
\n \n\n \n \n \n
\n
\n\n
\n
\n
\n
\n \n

Search History

\n

Are you sure you want to clear your Search History?

\n
\n \n
\n
\n
\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AuthGaurd } from './auth-guard.service';\nimport { VerifyPasscodeComponent } from './auth/verify-passcode/verify-passcode.component';\nimport { UnderDevelopmentComponent } from './shared/components/under-development/under-development.component';\nimport { InvalidLoginComponent } from './invalid-login/invalid-login.component';\nimport { AdmissionTestGuardResolver } from './admissionTestGuard.resolver';\nimport { ROUTES as ON_SPOT_ROUTES } from './on-spot-test/on-spot-test.constants';\nimport { LoginGuard } from './login-guard.service';\nimport { ROUTES_LINK } from './app.constants';\n\nconst routes: Routes = [\n {\n path: '',\n canActivate: [LoginGuard],\n loadChildren: () => import('src/app/home-info/home-info.module').then(m => m.HomeInfoModule)\n },\n {\n path: 'parent-proforma/:userId',\n component: VerifyPasscodeComponent,\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'teacher-proforma/:userId',\n component: VerifyPasscodeComponent,\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'foreward-and-FUPs',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/foreward-fup/foreward-fup.module').then(m => m.ForewardFupModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'complete-profile',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/onboarding/onboarding.module').then(m => m.OnboardingModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'profile',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/profile/profile.module').then(m => m.ProfileModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n // {\n // path: 'refer-and-earn',\n // loadChildren: () => import('src/app/refer-and-earn/refer-and-earn.module').then(m => m.ReferAndEarn)\n // },\n {\n path: 'home',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/home-page/home-page.module').then(m => m.HomePageModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'cart',\n loadChildren: () => import('src/app/cart/cart.module').then(m => m.CartModule)\n },\n {\n path: 'view-schedule/:packageId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/view-schedule/view-schedule.module').then(m => m.ViewScheduleModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'community',\n loadChildren: () => import('src/app/new-community/new-community.module').then(m => m.NewCommunityModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'my-revision-plan',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/myRevision-plan/myRevision-plan.module').then(m => m.MyRevisionPlanModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test/test.module').then(m => m.TestModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n // Routes for new result analysis\n {\n path: 'test-results',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-results/:testId/:attemptId/:testType',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-results/:testId/:attemptId/:testType/:testName',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-results/:testId/:attemptId/:testType/:testName/:authToken',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-results/:testId/:attemptId/:testType/:courseId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-results/:testId/:attemptId/:testType/:testName/:courseId/:authToken',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: ':module/test-results',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule)\n },\n {\n path: ':module/test-results/:testId/:attemptId/:testType',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule)\n },\n {\n path: ':module/test-results/:testId/:attemptId/:testType/:testName',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule)\n },\n {\n path: ':module/test-results/:testId/:attemptId/:testType/:testName/:authToken',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule)\n },\n {\n path: ':module/test-results/:testId/:attemptId/:testType/:courseId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule)\n },\n {\n path: ':module/test-results/:testId/:attemptId/:testType/:testName/:courseId/:authToken',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-results-analytics/test-results-analytics.module').then(m => m.TestResultsAnalyticsModule)\n },\n {\n path: 'revision/question-details',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/revision-question-details/revision-question-details.module').then(m => m.RevisionQuestionDetailsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n // Routes for new result analysis ends\n\n { // TODO: insert in some module later\n path: 'dashboard',\n canActivate: [AuthGaurd],\n component: UnderDevelopmentComponent,\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-details/course/:courseId/test/:testId/package/:packageId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-details/course/:courseId/test/:testId/:isCustomTest',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-details/course/:courseId/test/:testId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'test-details/course/:courseId/assignment/:assignmentId/test/:testId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: ':module/test-details/course/:courseId/test/:testId/package/:packageId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule)\n },\n {\n path: ':module/test-details/course/:courseId/test/:testId/:isCustomTest',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule)\n },\n {\n path: ':module/test-details/course/:courseId/test/:testId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule)\n },\n {\n path: ':module/test-details/course/:courseId/assignment/:assignmentId/test/:testId',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/test-details/test-details.module').then(m => m.TestDetailsModule)\n },\n {\n path: 'cpp-subjective-file-upload',\n loadChildren: () => import('src/app/upload-file-subjective/upload-file-subjective.module').then(m => m.UploadFileSubjectiveModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'about-us',\n loadChildren: () => import('src/app/about-us/about-us.module').then(m => m.aboutUsModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'm.about-us',\n loadChildren: () => import('src/app/about-us-mobile/about-us-mobile.module').then(m => m.AboutUsMobileModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'terms-of-use',\n loadChildren: () => import('src/app/terms-of-use/terms-of-use.module').then(m => m.TermsOfUseModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'm.terms-of-use',\n loadChildren: () => import('src/app/terms-of-use-mobile/terms-of-use-mobile.module').then(m => m.TermsOfUseMobileModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'privacy-policy',\n loadChildren: () => import('src/app/privacy-policy/privacy-policy.module').then(m => m.PrivacyPolicyModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'm.privacy-policy',\n loadChildren: () => import('src/app/privacy-policy-mobile/privacy-policy-mobile.module').then(m => m.PrivacyPolicyMobileModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'copyright',\n loadChildren: () => import('src/app/copyright/copyright.module').then(m => m.CopyrightModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'disclaimer',\n loadChildren: () => import('src/app/disclaimer/disclaimer.module').then(m => m.DisclaimerModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'fiitjee-recorded-lectures-privacy-policy',\n loadChildren: () => import('src/app/lecture-privacy-policy/lecture-privacy-policy.module').then(m => m.LecturePrivacyPolicyModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'm.fiitjee-recorded-lectures-privacy-policy',\n loadChildren: () => import('src/app/mobile-lecture-privacy-policy/mobile-lecture-privacy-policy.module').then(m => m.MobileLecturePrivacyPolicyModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n // {\n // path: 'help',\n // canActivate: [AuthGaurd],\n // loadChildren: () => import('src/app/help-and-support/help-and-support.module').then(m => m.HelpAndSupportModule)\n // },\n // {\n // path: 'idea',\n // canActivate: [AuthGaurd],\n // loadChildren: () => import('src/app/idea-and-support/idea-and-support.module').then(m => m.IdeaAndSupportModule)\n // },\n {\n path: 'checkout',\n canActivate: [AuthGaurd],\n loadChildren: () => import('src/app/checkout/checkout.module').then(m => m.CheckoutModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n },\n {\n path: 'concept-history/:syllabusId/:conceptId/:title',\n canActivate: [AuthGaurd],\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n loadChildren: () => import('src/app/concept-history/concept-history.module').then(m => m.ConceptHistoryModule)\n },\n {\n path: 'competitive-exam',\n loadChildren: () => import('src/app/landing-pages/competitive-exam/competitive-exam.module').then(m => m.CompetitiveExamModule)\n },\n {\n path: 'view-our-results',\n loadChildren: () => import('src/app/landing-pages/view-our-results/view-our-results.module').then(m => m.ViewOurResultsModule)\n },\n {\n path: 'exam/:id',\n loadChildren: () => import('src/app/landing-pages/exam/exam.module').then(m => m.ExamModule)\n },\n {\n path: 'ebooks',\n loadChildren: () => import('src/app/landing-pages/ebooks/ebooks.module').then(m => m.EbooksModule)\n },\n {\n path: 'previous-year-paper-download',\n loadChildren: () => import('src/app/previous-year-papers-download/previous-year-papers-download.module').then(m => m.PreviousYearPapersDownloadModule)\n },\n {\n path: 'user',\n loadChildren: () => import('src/app/login-signup-info/login-signup-data.module').then(m => m.LoginSignupDataModule)\n },\n {\n path: 'prep-tracker',\n loadChildren: () => import('src/app/landing-pages/prep-tracker/prep-tracker.module').then(m => m.PrepTrackerModule)\n },\n {\n path: 'college-predictor',\n loadChildren: () => import('src/app/college-predictor/college-predictor.module').then(m => m.CollegePredictorModule)\n },\n {\n path: 'quiz',\n loadChildren: () => import('src/app/quiz-platform/quiz-platform.module').then(m => m.QuizPlatformModule)\n },\n {\n path: ROUTES_LINK.ACCOUNT_DELETION,\n loadChildren: () => import('src/app/account-deletion/account-deletion.module').then(m => m.AccountDeletionModule)\n },\n {\n path: ON_SPOT_ROUTES.ON_SPOT,\n loadChildren: () => import('src/app/on-spot-test/on-spot-test.module').then(m => m.OnSpotTestModule),\n resolve: {\n resolvedData: AdmissionTestGuardResolver,\n },\n }, \n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {scrollPositionRestoration: 'enabled'})],\n exports: [RouterModule]\n})\n\nexport class AppRoutingModule { }\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, timer, } from 'rxjs';\nimport { scan, takeWhile } from 'rxjs/operators';\n\nimport { HttpService } from '../../shared/services/http.service';\nimport { AlertService } from '../../shared/services/alert.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnboardingService {\n public errorMessage = new BehaviorSubject({});\n public updatedProfileImage = new BehaviorSubject({});\n public currentStep = new BehaviorSubject('1');\n public lastStep = new BehaviorSubject('1');\n public schoolUpdated = new BehaviorSubject(false);\n public isCaptchaChecked = new BehaviorSubject(false);\n public phoneAdded = new BehaviorSubject('');\n\n constructor(\n private httpService: HttpService,\n private alertService: AlertService\n ) { }\n\n getOnboardingStep(userInfo): number {\n if (this.showStep2(userInfo)) {\n if (this.showStep3(userInfo)) {\n if (this.showStep4(userInfo)) {\n if (this.showStep5(userInfo)) {\n if (this.showStep6(userInfo)) {\n this.currentStep.next('6');\n return 6;\n } else {\n this.currentStep.next('5a');\n return 5;\n }\n } else {\n this.currentStep.next('4');\n return 4;\n }\n } else {\n this.currentStep.next('3');\n return 3;\n }\n } else {\n this.currentStep.next('2a');\n return 2;\n }\n } else {\n this.currentStep.next('1');\n return 1;\n }\n }\n\n showStep2(userInfo): boolean {\n if (userInfo.class && userInfo.class.name) {\n return true;\n } else {\n return false;\n }\n }\n\n showStep3(userInfo): boolean {\n if (userInfo.goals.length > 0 || userInfo.userType === 'fiitjee') {\n return true;\n } else {\n return false;\n }\n }\n\n showStep4(userInfo): boolean {\n if (userInfo.school && userInfo.school.name) {\n return true;\n } else {\n return false;\n }\n }\n\n showStep5(userInfo): boolean {\n if (userInfo.photoUrl || (userInfo.onboardingStepsSkipped && userInfo.onboardingStepsSkipped.find(step => step.name === 'profilePicture'))) {\n return true;\n } else {\n return false;\n }\n }\n\n showStep6(userInfo): boolean {\n if ((userInfo?.mobileIsVerified || userInfo?.b2bMobile?.isVerified) && userInfo?.emailIsverified) {\n return true;\n } else {\n return false;\n }\n }\n\n getClasses(): any {\n return new Promise((resolve, reject) => {\n this.httpService.get('v4/classes', {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCareers(value): any {\n return new Promise((resolve, reject) => {\n this.httpService.get(`v4/careers?classId=${value}`, null).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getGoals(value): any {\n return new Promise((resolve, reject) => {\n const apiName = `v4/courses?courseTypeIds=${value.courseTypeIds}&sessionYear=${value.sessionYear}&classId=${value.classId}`;\n this.httpService.get(apiName, null).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCountryData(): any {\n return new Promise((resolve, reject) => {\n this.httpService.get(`v4/locations`, {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getStateData(countryId): any {\n return new Promise((resolve, reject) => {\n const apiName = 'v4/locations?countryId=' + countryId;\n this.httpService.get(apiName, {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getCityData(data): any {\n return new Promise((resolve, reject) => {\n const apiName = 'v4/locations?countryId=' + data.countryId + '&stateId=' + data.stateId;\n this.httpService.get(apiName, {}).subscribe((res) => {\n if (res && res.code === 200) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n getSchoolData(data): any {\n const apiName = 'v4/auth/schools?cityId=' + data.cityId + '&schoolName=' + data.schoolName;\n return new Promise((resolve, reject) => {\n this.httpService.get(apiName, {}).subscribe((res) => {\n if (res && res.code) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n\n skipStep(step) : any {\n const apiName = 'v4/auth/user';\n return new Promise((resolve, reject) => {\n this.httpService.put(apiName, true, step, true).subscribe((res) => {\n if (res && res.code) {\n resolve(res);\n } else {\n this.alertService.showErrorMessage(res.message);\n }\n });\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn:'root'\n})\nexport class BuyCoursesService {\n constructor(private _http: HttpService) { }\n\n\n getAllAvailedPackages(){\n return this._http.get('v4/auth/user/packages', true, null, true, false, environment.serverURLv4);\n }\n\n getCourses(class_id, exam_id) {\n return this._http.get('packages', false, { class_id, exam_id}, true, false, environment.serverURLv3);\n }\n\n getGoals(class_id) {\n return this._http.get('getGoalsType', false, { class: class_id }, true, false, environment.serverURLv3);\n }\n\n getClasses(startingClass = 9) {\n return this._http.get('getClass', false, { startingClass }, true, false, environment.serverURLv3);\n }\n\n addToCart(data: any) {\n return this._http.post('addToCart', true, data, true, false, false, environment.serverURLv3);\n }\n \n addToAccount(pid: any) {\n return this._http.post('v4/auth/free-packages', true, {'packageIds': [pid]}, true, false, false, environment.serverURLv4);\n }\n}\n","export const USER_TYPE = {\n STUDENTS: 'students',\n STAKEHOLDER: 'stakeholders',\n STAFF: 'staff',\n STAFF_ALUMNI: 'staffalumni',\n SCHOOLS: 'schools',\n STUDENT_ALUMNI: 'studentalumni',\n FRESH_REGISTRATION: 'freshregistrations',\n PARENTS: 'parents',\n ALUMNI_PARENTS: 'alumni_and_parents',\n STUDENT_6: 'studentsclass6',\n STUDENT_7: 'studentsclass7',\n STUDENT_8: 'studentsclass8',\n STUDENT_9: 'studentsclass9',\n STUDENT_10: 'studentsclass10',\n STUDENT_11: 'studentsclass11',\n STUDENT_12: 'studentsclass12',\n ADVTSEPT_2: 'advtsept2',\n FACULTY_RECRUITMENT: 'facultyrecruitment',\n ADVTSEPT_15: 'advtsept15',\n COUNSELLORS: 'counsellors',\n};\n\nexport const USER_TYPE_DISPLAY_NAME = {\n [USER_TYPE.STUDENTS]: 'Students',\n [USER_TYPE.STAKEHOLDER]: 'Stakeholders',\n [USER_TYPE.STAFF]: 'Staff',\n [USER_TYPE.SCHOOLS]: 'Schools',\n [USER_TYPE.STAFF_ALUMNI]: 'Staff Alumni',\n [USER_TYPE.STUDENT_ALUMNI]: 'Old Students',\n [USER_TYPE.FRESH_REGISTRATION]: 'Fresh Registration',\n [USER_TYPE.PARENTS]: 'Parents',\n [USER_TYPE.ALUMNI_PARENTS]: 'Alumni and Parents',\n [USER_TYPE.STUDENT_6]:'Students Class 6',\n [USER_TYPE.STUDENT_7]:'Students Class 7',\n [USER_TYPE.STUDENT_8]:'Students Class 8',\n [USER_TYPE.STUDENT_9]:'Students Class 9',\n [USER_TYPE.STUDENT_10]:'Students Class 10',\n [USER_TYPE.STUDENT_11]:'Students Class 11',\n [USER_TYPE.STUDENT_12]:'Students Class 12',\n [USER_TYPE.FACULTY_RECRUITMENT]: 'Faculty Recruitment',\n [USER_TYPE.COUNSELLORS]: 'Counsellors',\n};\n\nexport const GENERIC_CONST = {\n OTP_EXPIRY_INTERVAL: 60,\n SURVEY_TYPE: 'survey',\n MASTER_OTP: '9999',\n PAUSE: 'pause',\n RESUME: 'resume',\n GRACE: 'grace',\n TIME_LEFT_GRACE: 10,\n MIN_ENROLMENT_NO_LENGTH: 13,\n QUIZ: 'quiz',\n TEST: 'test',\n}\n\nexport const QUESTION_TYPE = {\n SMCQ: 0,\n MATRIX: 1,\n DESCRIPTIVE: 4,\n NUMERICAL: 6,\n INTEGER: 7,\n MMCQ: 8\n}\n\nexport const SURVEY_TYPE = {\n LONG: 'long',\n SHORT: 'short',\n ANSWERS_ONLY: 'answers-only',\n STUDENT: 'student',\n TEACHER: 'teacher',\n PARENT: 'parent',\n OTHERS: 'others',\n SURVEY_FORWARD: 'survey-forward',\n SURVEY_COUNT: 'survey-count',\n}\n\nexport const RATING_QUESTION_CLASS = ['minVal', 'midVal', 'maxVal'];\nexport const NUMERICAL_REGEX = /^[-]?\\d*\\.?\\d*$/;\n\nexport const QUIZ_STATUS_NOT_FINISHED = 'notFinished';\n\nexport const SHOW_CLASS_FILTER = ['student', 'parent'];\n\nexport const FACULTY_RECRUITMENT: any = {\n ROUNDS_STATUS: {\n UPCOMING: 'upcoming',\n START: 'start',\n RESUME: 'resume',\n IN_REVIEW: 'inReview',\n SELECTED: 'selected',\n NOT_SELECTED: 'notSelected',\n EXPIRED: 'expired',\n },\n ROUNDS_TYPE: {\n 'Online Assessment': {\n TEXT: 'Online Assessment',\n IMG: 'online-assessment-round',\n },\n 'Offline Assessment': {\n CLASS: 'offline',\n IMG: 'offline-assessment-round',\n TEXT: 'Offline Assessment',\n },\n 'In Person Interview': {\n CLASS: 'interview',\n IMG: 'inperson-interview',\n TEXT: 'In Person Interview',\n },\n },\n ROUND_STATUS_DETAILS: {\n upcoming: {\n CTA_TEXT: 'Upcoming',\n },\n start: {\n CTA_TEXT: \"Let's Start\",\n },\n resume: {\n CTA_TEXT: 'Resume',\n },\n inReview: {\n CTA_TEXT: 'In Review',\n },\n selected: {\n CTA_TEXT: 'Selected',\n },\n notSelected: {\n CTA_TEXT: 'Not Selected',\n },\n expired: {\n CTA_TEXT: 'Session Expired',\n },\n },\n TEST_STATUS: {\n FINISHED: 'finished',\n },\n MESSAGE_IMAGE: {\n inReview: 'inreview-message',\n selected: 'green-up',\n notSelected: 'red-down',\n }\n};\n\nexport const SOURCE: any = {\n MYPAT: 'quiz.mypat.in',\n FACULTY_RECRUITMENT: 'facultyrecruitment.edfora.com',\n};\n\nexport const USER_SELFIE_IMAGE_NAME = 'faculty-recruitment-user-selfie';\nexport const SELFIE_CAMERA_LABELS = ['front', 'selfie', 'user'];\nexport const NUMERIC_QUESTION_TYPE_KEYPAD = [\n ['7', '8', '9'],\n ['4', '5', '6'],\n ['1', '2', '3'],\n ['0', '.', '-'],\n ['←', '→']\n];\n\nexport const QUIZ_DATE_WISE = ['advtsept2', 'advtsept15']\nexport const LOCATION_TIMEOUT_DURATION = 5000;\nexport const LOCATION_ERROR_MSG = {\n TIMEOUT_ERROR: 'Error getting location. Check if location is turned on',\n LOCATION_UNAVAILABLE: 'Location information is unavailable',\n PERMISSION_DENIED: 'Please allow Location Permission',\n DEFAULT: 'Error getting location',\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport * as fromApp from '../../../stores/app.reducers';\nimport * as AuthActions from '../../../stores/auth/auth.actions';\nimport { AlertService } from '../../services/alert.service';\nimport { HttpService } from '../../services/http.service';\n\n@Component({\n selector: 'app-under-development',\n templateUrl: './under-development.component.html',\n styleUrls: ['./under-development.component.scss']\n})\nexport class UnderDevelopmentComponent implements OnInit {\n\n constructor(\n private httpService: HttpService,\n private alertService: AlertService,\n private store: Store) { }\n\n ngOnInit(): void {\n }\n\n logout() {\n this.store.dispatch(new AuthActions.Logout())\n }\n}\n","
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n

We are Working on it.

\n

App is under development

\n \n
\n
\n
\n
\n \"404\"\n
\n
\n
\n
\n
\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\n\ndeclare var MathLive: any;\n@Directive({\n selector: '[mathlive]'\n})\nexport class MathliveDirective implements OnChanges {\n\n @Input('mathlive') content: any;\n\n constructor(private element: ElementRef) {\n }\n\n async makeFormula(formula: any) {\n\n const dynamicFormulaElement = this.element.nativeElement;\n dynamicFormulaElement.innerHTML = formula;\n MathLive.renderMathInElement(dynamicFormulaElement);\n\n }\n ngOnChanges(changes: SimpleChanges): void {\n\n if (changes[\"content\"]?.currentValue)\n this.makeFormula(this.content);\n\n }\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n if (environment.name === 'prod') {\n window.console.log = () => { };\n }\n}\n\nif ('serviceWorker' in navigator) {\n removeServiceWorker();\n}\n\nfunction removeServiceWorker(): void {\n /**\n * The following will remove service worker and clear all associated caches\n * Use this for hard reset of website in case of dead-worker\n */\n\n // test remove service-worker\n navigator.serviceWorker.getRegistrations().then((registrations) => {\n for (const registration of registrations) {\n registration.unregister();\n }\n console.log('Service Worker unregistered successfully');\n }).catch((err) => {\n console.log('Service Worker failed to unregister', err);\n });\n\n // test clearing cache\n caches.keys().then((names) => {\n for (const name of names) {\n caches.delete(name);\n }\n console.log('Caches cleared successfully');\n }).catch((err) => {\n console.log('Failed to clear caches', err);\n });\n}\n\nfunction addServiceWorker(): void {\n // test add service-worker\n navigator.serviceWorker.register('ngsw-worker.js').then(registration => {\n console.log('SW registered: ', registration);\n }).catch(registrationError => {\n console.log('SW registration failed: ', registrationError);\n });\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .then(() => { })\n .catch(err => console.error(err));\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\nimport { HttpService } from 'src/app/shared/services/http.service';\nimport { environment } from 'src/environments/environment';\n\ndeclare var $: any;\n@Component({\n selector: 'app-share-referral-popup',\n templateUrl: './share-referral-popup.component.html',\n styleUrls: ['./share-referral-popup.component.scss']\n})\n\nexport class ShareReferralPopupComponent implements OnInit {\n\n @Input() referralCode: string;\n @Output() closePopup = new EventEmitter();\n\n isLinkCopied = false;\n referralLink = '';\n\n inviteSent = false;\n isInviteSuccessfull = false;\n showTextBox = false;\n text = '';\n\n public emailsAdded = [];\n public mobileAdded = [];\n\n public emailPattern = '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,4}$';\n public mobilePattern = '^[6-9]\\\\d{9}$';\n\n constructor(\n private httpService: HttpService\n ) { }\n\n ngOnInit(): void {\n this.referralLink = `https://fiitjee.glorifire.com/?referralCode=${this.referralCode}`;\n $(function () {\n $('[data-toggle=\"tooltip\"]').tooltip();\n });\n }\n\n copyCode(): void {\n document.addEventListener('copy', (e: ClipboardEvent) => {\n e.clipboardData.setData('text/plain', this.referralLink);\n e.preventDefault();\n document.removeEventListener('copy', null);\n });\n document.execCommand('copy');\n this.isLinkCopied = true;\n setTimeout(() => {\n this.isLinkCopied = false;\n }, 3000);\n }\n\n closeModal(): void {\n this.isLinkCopied = false;\n this.inviteSent = false;\n this.isInviteSuccessfull = false;\n this.showTextBox = false;\n this.text = '';\n this.emailsAdded = [];\n this.mobileAdded = [];\n this.closePopup.emit();\n }\n\n getEncodedURL(): any {\n return encodeURIComponent(this.referralLink);\n }\n\n showMobileInputBox(): void {\n this.text = 'mobile';\n this.showTextBox = true;\n this.emailsAdded = [];\n if (this.mobileAdded.length === 0) {\n this.mobileAdded.push({ id: 1, number: '' });\n }\n }\n\n showEmailInputBox(): void {\n this.text = 'email';\n this.showTextBox = true;\n this.mobileAdded = [];\n if (this.emailsAdded.length === 0) {\n this.emailsAdded.push({ id: 1, email: '' });\n }\n }\n\n goBack(): void {\n this.showTextBox = false;\n }\n\n addMoreItems(): void {\n if (this.text === 'email') {\n this.mobileAdded = [];\n if (this.emailsAdded.length < 5) {\n this.emailsAdded.push({ id: this.emailsAdded[this.emailsAdded.length - 1].id + 1, email: '' });\n }\n } else {\n this.emailsAdded = [];\n if (this.mobileAdded.length < 5) {\n this.mobileAdded.push({ id: this.mobileAdded[this.mobileAdded.length - 1].id + 1, number: '' });\n }\n }\n }\n\n showAddMore(): boolean {\n if (this.emailsAdded.length === 5) {\n return false;\n }\n if (this.mobileAdded.length === 5) {\n return false;\n }\n return true;\n }\n\n deleteEntry(i): void {\n if (this.text === 'email') {\n this.emailsAdded.splice(i, 1);\n } else {\n this.mobileAdded.splice(i, 1);\n }\n }\n\n isSendInviteEnabled(): boolean {\n if (this.emailsAdded.length > 0) {\n if (this.emailsAdded.findIndex(o => o.email === '') === -1) {\n if (this.emailsAdded.findIndex(o => o.email.match(this.emailPattern) === null) === -1) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n if (this.mobileAdded.length > 0) {\n if (this.mobileAdded.findIndex(o => o.number === '') === -1) {\n if (this.mobileAdded.findIndex(o => o.number.match(this.mobilePattern) === null) === -1) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n return false;\n }\n\n sendInvites(): void {\n let payload;\n if (this.emailsAdded.length > 0) {\n // const emails = [];\n payload = {\n communicationList: this.emailsAdded.map(e => e.email.toLowerCase()),\n type: 'EMAIL'\n };\n } else if (this.mobileAdded.length > 0) {\n // const mobileNumbers = ;\n payload = {\n communicationList: this.mobileAdded.map(e => e.number),\n type: 'SMS'\n };\n }\n this.httpService.post('referrals/share', true, payload, false, false, false, environment.serverURLv3).subscribe((res) => {\n this.inviteSent = true;\n if (res && res.code === 200) {\n this.isInviteSuccessfull = true;\n } else {\n this.isInviteSuccessfull = false;\n }\n })\n }\n}\n","\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n

\n Win ₹500 Each For You
\n & Your Friends.\n

\n

Invite them on Glorifire with your unique referral code

\n
\n \n
\n \n
\n
\n

\n \n \n \n Copied!\n

\n

\n \n \n \n Back\n

\n

\n Now you can share your referral code on your friend's {{ text }} via\n text directly!\n

\n\n
\n
\n
\n\n \n = 2\">\n \n\n
\n
\n
\n Please enter a valid mobile number\n
\n
\n
\n
\n\n
\n
\n
\n \n = 2\">\n \n
\n
\n
\n Please enter a valid Email ID\n
\n
\n
\n
\n
\n \n \n
\n

or share with

\n \n\n
\n \n
\n \n

Thanks!

\n

Your invite has been successfully sent!

\n \n
\n\n\n \n
\n \n

OOPS!

\n

Your invite could not be sent right now.
\n Please try again after sometime.

\n \n
\n
\n
\n
\n
\n
\n
","var map = {\n\t\"./question-detail/question-detail.module\": [\n\t\t\"B7q5\",\n\t\t\"default~question-detail-question-detail-module~question-listing-question-listing-module~src-app-new-~8cddb739\",\n\t\t\"default~question-detail-question-detail-module~src-app-new-community-new-community-module\"\n\t],\n\t\"./question-listing/question-listing.module\": [\n\t\t\"gDeS\",\n\t\t\"default~comparison-comparison-module~insights-insights-module~overview-overview-module~question-list~be152cd1\",\n\t\t\"default~question-detail-question-detail-module~question-listing-question-listing-module~src-app-new-~8cddb739\",\n\t\t\"default~question-listing-question-listing-module~src-app-new-community-new-community-module\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"zn8P\";\nmodule.exports = webpackAsyncContext;","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-locked-state',\n templateUrl: './locked-state.component.html',\n styleUrls: ['./locked-state.component.scss']\n})\nexport class LockedStateComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n

Widget Locked

\n

Attempt a few tests to unlock this powerful widget
and boost your smart study toolkit.

\n
\n"]}