{"version":3,"mappings":"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","names":["e","webpackEmptyAsyncContext","module","AppComponent","selector","template","AppModule","imports","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_57__","_angular_forms__WEBPACK_IMPORTED_MODULE_58__","_angular_http__WEBPACK_IMPORTED_MODULE_59__","_angular_common_http__WEBPACK_IMPORTED_MODULE_60__","_ng_bootstrap_ng_bootstrap__WEBPACK_IMPORTED_MODULE_61__","_angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_62__","_angular_material_progress_spinner__WEBPACK_IMPORTED_MODULE_63__","_angular_material_progress_bar__WEBPACK_IMPORTED_MODULE_64__","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_65__","_angular_material_form_field__WEBPACK_IMPORTED_MODULE_66__","_angular_material_input__WEBPACK_IMPORTED_MODULE_67__","_angular_material_checkbox__WEBPACK_IMPORTED_MODULE_68__","_angular_material_select__WEBPACK_IMPORTED_MODULE_69__","_angular_material_toolbar__WEBPACK_IMPORTED_MODULE_70__","_angular_material_icon__WEBPACK_IMPORTED_MODULE_71__","_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_72__","_angular_material_chips__WEBPACK_IMPORTED_MODULE_73__","_angular_material_button__WEBPACK_IMPORTED_MODULE_74__","_angular_material_components_datetime_picker__WEBPACK_IMPORTED_MODULE_75__","_angular_material_core__WEBPACK_IMPORTED_MODULE_76__","_angular_material_tooltip__WEBPACK_IMPORTED_MODULE_77__","_shared_router_service__WEBPACK_IMPORTED_MODULE_2__","exports","providers","provide","useValue","_providers_faculty_service__WEBPACK_IMPORTED_MODULE_3__","_providers_faculty_fellowship_specialisation_service__WEBPACK_IMPORTED_MODULE_5__","_providers_medical_procedure_service__WEBPACK_IMPORTED_MODULE_6__","_providers_faculty_medical_procedure_service__WEBPACK_IMPORTED_MODULE_7__","_providers_hospital_service__WEBPACK_IMPORTED_MODULE_9__","_providers_faculty_medical_procedure_parameter_service__WEBPACK_IMPORTED_MODULE_10__","_providers_faculty_medical_procedure_case_review_parameter_service__WEBPACK_IMPORTED_MODULE_8__","_providers_continuous_assessment_service__WEBPACK_IMPORTED_MODULE_11__","_providers_cpd_service__WEBPACK_IMPORTED_MODULE_13__","_providers_stats_service__WEBPACK_IMPORTED_MODULE_4__","_providers_help_topic_service__WEBPACK_IMPORTED_MODULE_17__","_providers_rotations_service__WEBPACK_IMPORTED_MODULE_12__","_providers_academy_year_service__WEBPACK_IMPORTED_MODULE_40__","declarations","_app_component__WEBPACK_IMPORTED_MODULE_0__","_pages_login_login_component__WEBPACK_IMPORTED_MODULE_1__","_dialogs_success_dialog_success_dialog_component__WEBPACK_IMPORTED_MODULE_16__","_dialogs_error_dialog_error_dialog_component__WEBPACK_IMPORTED_MODULE_14__","_dialogs_prompt_dialog_prompt_dialog_component__WEBPACK_IMPORTED_MODULE_15__","_dialogs_edit_dialog_edit_dialog_component__WEBPACK_IMPORTED_MODULE_18__","_dialogs_hospital_edit_dialog_hospital_edit_dialog_component__WEBPACK_IMPORTED_MODULE_19__","_dialogs_suggested_trainers_edit_dialog_suggested_trainers_edit_dialog_component__WEBPACK_IMPORTED_MODULE_20__","_dialogs_trainer_password_edit_dailog_trainer_password_edit_dailog_component__WEBPACK_IMPORTED_MODULE_21__","_dialogs_users_password_reset_dialog_users_password_reset_dialog_component__WEBPACK_IMPORTED_MODULE_22__","_dialogs_trainee_password_reset_dialog_trainee_password_reset_dialog_component__WEBPACK_IMPORTED_MODULE_23__","_dialogs_fellowship_procedures_edit_dialog_fellowship_procedures_edit_dialog_component__WEBPACK_IMPORTED_MODULE_24__","_pages_faculty_medical_procedure_parameter_parameter_edit_dialog_parameter_edit_dialog_component__WEBPACK_IMPORTED_MODULE_25__","_dialogs_trainers_edit_dialog_trainers_edit_dialog_component__WEBPACK_IMPORTED_MODULE_26__","_dialogs_users_edit_dialog_users_edit_dialog_component__WEBPACK_IMPORTED_MODULE_27__","_dialogs_trainees_edit_dialog_trainees_edit_dialog_component__WEBPACK_IMPORTED_MODULE_28__","_pages_faculty_fellowship_specialisation_fellowship_specialisation_edit_dialog_fellowship_specialisation_edit_dialog_component__WEBPACK_IMPORTED_MODULE_29__","_pages_faculty_medical_procedure_category_fellowship_cat_edit_dialog_fellowship_cat_edit_dialog_component__WEBPACK_IMPORTED_MODULE_30__","_dialogs_faculties_add_dialog_faculties_add_dialog_component__WEBPACK_IMPORTED_MODULE_31__","_dialogs_hospital_add_dialog_hospital_add_dialog_component__WEBPACK_IMPORTED_MODULE_32__","_dialogs_trainers_add_dialog_trainers_add_dialog_component__WEBPACK_IMPORTED_MODULE_33__","_dialogs_user_add_dialog_user_add_dialog_component__WEBPACK_IMPORTED_MODULE_34__","_dialogs_trainee_add_dialog_trainee_add_dialog_component__WEBPACK_IMPORTED_MODULE_35__","_dialogs_emergency_fellowship_pro_add_dialog_emergency_fellowship_pro_add_dialog_component__WEBPACK_IMPORTED_MODULE_41__","_dialogs_procedure_hospital_add_dialog_procedure_hospital_add_dialog_component__WEBPACK_IMPORTED_MODULE_36__","_dialogs_procedure_parameter_add_dialog_procedure_parameter_add_dialog_component__WEBPACK_IMPORTED_MODULE_37__","_dialogs_procedure_review_parameter_add_dialog_procedure_review_parameter_add_dialog_component__WEBPACK_IMPORTED_MODULE_38__","_dialogs_success_snackbar_success_snackbar_component__WEBPACK_IMPORTED_MODULE_39__","_dialogs_emergency_membership_add_dialog_emergency_membership_add_dialog_component__WEBPACK_IMPORTED_MODULE_42__","_pages_faculty_fellowship_specialisation_fellowship_specialisation_add_dialog_fellowship_specialisation_add_dialog_component__WEBPACK_IMPORTED_MODULE_43__","_dialogs_continous_assesment_edit_dialog_continous_assesment_edit_dialog_component__WEBPACK_IMPORTED_MODULE_44__","_dialogs_approval_dialog_approval_dialog_component__WEBPACK_IMPORTED_MODULE_45__","_dialogs_not_approval_dialog_not_approval_dialog_component__WEBPACK_IMPORTED_MODULE_50__","_dialogs_trainee_rotations_approveall_dialog_trainee_rotations_approveall_dialog_component__WEBPACK_IMPORTED_MODULE_46__","_dialogs_trainee_procedure_case_approveall_dialog_trainee_procedure_case_approveall_dialog_component__WEBPACK_IMPORTED_MODULE_52__","_dialogs_medical_procedure_case_approval_dialog_medical_procedure_case_approval_dialog_component__WEBPACK_IMPORTED_MODULE_47__","_dialogs_medical_procedure_case_not_approval_dialog_medical_procedure_case_not_approval_dialog_component__WEBPACK_IMPORTED_MODULE_49__","_dialogs_not_approve_assessment_not_approve_assessment_component__WEBPACK_IMPORTED_MODULE_51__","_dialogs_approval_success_snackbar_approval_success_snackbar_component__WEBPACK_IMPORTED_MODULE_48__","_pages_user_user_rights_user_right_delete_dialog_user_right_delete_dialog_component__WEBPACK_IMPORTED_MODULE_53__","_pages_user_continuous_assessment_form_fill_assessment_success_snackbar_assessment_success_snackbar_component__WEBPACK_IMPORTED_MODULE_54__","_dialogs_user_rights_add_dialog_user_rights_add_dialog_component__WEBPACK_IMPORTED_MODULE_55__","entryComponents","schemas","_angular_core__WEBPACK_IMPORTED_MODULE_56__","bootstrap","AuthGuard","authService","router","route","state","routeModuleId","mUser","_model_auth_user_model__WEBPACK_IMPORTED_MODULE_1__","params","parseInt","authUser","userId","console","log","login","getUserHasAccessRight","pipe","result","navigate","redirectUrl","url","_auth_service__WEBPACK_IMPORTED_MODULE_0__","_angular_router__WEBPACK_IMPORTED_MODULE_4__","AuthService","http","isTrainerId","roles","indexOf","userName","password","Username","Password","body","JSON","stringify","headers","_angular_common_http__WEBPACK_IMPORTED_MODULE_1__","options","items$","post","_utils_api_url_util__WEBPACK_IMPORTED_MODULE_0__","handleError","res","isLoggedIn","user","localStorage","setItem","parse","getItem","moduleId","get","status","item","Id","ApprovedByUserId","Status","id","put","Alerts","facultyId","hospitalId","username","replace","studentId","phoneNumber","smsCode","UserId","SMSCode","error","AddSuccessSnackbarComponent","ApprovalDialogComponent","fb","location","mApiService","_snackBar","dialogRef","data","selectedItem","_model_trainee_rotations_model__WEBPACK_IMPORTED_MODULE_2__","close","ApprovalStatus","editItem","subscribe","p","openFromComponent","_approval_success_snackbar_approval_success_snackbar_component__WEBPACK_IMPORTED_MODULE_4__","duration","durationInSeconds","errorMessage","isLoading","back","_angular_forms__WEBPACK_IMPORTED_MODULE_5__","_angular_common__WEBPACK_IMPORTED_MODULE_6__","_providers_rotations_service__WEBPACK_IMPORTED_MODULE_3__","_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_7__","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_8__","_angular_core__WEBPACK_IMPORTED_MODULE_9__","args","ApprovalSuccessSnackbarComponent","ContinousAssesmentEditDialogComponent","editContinuousAssessment","_angular_forms__WEBPACK_IMPORTED_MODULE_3__","_providers_continuous_assessment_service__WEBPACK_IMPORTED_MODULE_2__","_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_4__","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_5__","_angular_core__WEBPACK_IMPORTED_MODULE_6__","EditDialogComponent","_success_snackbar_success_snackbar_component__WEBPACK_IMPORTED_MODULE_3__","_angular_forms__WEBPACK_IMPORTED_MODULE_4__","_providers_faculty_service__WEBPACK_IMPORTED_MODULE_2__","_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_5__","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_6__","_angular_core__WEBPACK_IMPORTED_MODULE_7__","EmergencyFellowshipProAddDialogComponent","newItem","event","CategoryId","mFellowshipItems","mItems","filter","ProgramCategoryId","mMembershipItems","getItems","categoriseItems","FacultyId","mFacultyId","addItem","getItemsList","_add_success_snackbar_add_success_snackbar_component__WEBPACK_IMPORTED_MODULE_4__","_model_faculty_medical_procedure_model__WEBPACK_IMPORTED_MODULE_2__","_providers_faculty_medical_procedure_service__WEBPACK_IMPORTED_MODULE_3__","_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_6__","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_7__","_angular_core__WEBPACK_IMPORTED_MODULE_8__","EmergencyMembershipAddDialogComponent","ErrorDialogComponent","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_2__","_angular_core__WEBPACK_IMPORTED_MODULE_3__","FacultiesAddDialogComponent","_model_faculty_model__WEBPACK_IMPORTED_MODULE_2__","FellowshipProceduresEditDialogComponent","mFaculty","isFellowshipProcedure","fellowshipSpecialtyId","mCategorisedFacultyMedicalProcedureCategories","_a","FellowshipSpecialisationId","_success_snackbar_success_snackbar_component__WEBPACK_IMPORTED_MODULE_4__","HospitalAddDialogComponent","Name","_model_hospital_model__WEBPACK_IMPORTED_MODULE_2__","_providers_hospital_service__WEBPACK_IMPORTED_MODULE_3__","HospitalEditDialogComponent","_providers_hospital_service__WEBPACK_IMPORTED_MODULE_2__","MedicalProcedureCaseApprovalDialogComponent","approveTraineeMedicalProcedureCase","_approval_success_snackbar_approval_success_snackbar_component__WEBPACK_IMPORTED_MODULE_3__","_angular_common__WEBPACK_IMPORTED_MODULE_5__","_providers_medical_procedure_service__WEBPACK_IMPORTED_MODULE_2__","MedicalProcedureCaseNotApprovalDialogComponent","NotApprovalDialogComponent","AssessmentCaseNotApprovalDialogComponent","approveTraineeContinuousAssessment","_angular_common__WEBPACK_IMPORTED_MODULE_4__","PasswordResetSnackbarComponent","ProcedureHospitalAddDialogComponent","addHospital","_add_success_snackbar_add_success_snackbar_component__WEBPACK_IMPORTED_MODULE_3__","_providers_faculty_medical_procedure_service__WEBPACK_IMPORTED_MODULE_2__","ProcedureParameterAddDialogComponent","mFacultyMedicalProcedure","_model_faculty_medical_procedure_parameter__WEBPACK_IMPORTED_MODULE_2__","FacultyMedicalProcedureId","ProgramcategoryId","FacultyFellowshipSpecialisationId","_providers_faculty_medical_procedure_parameter_service__WEBPACK_IMPORTED_MODULE_3__","ProcedureReviewParameterAddDialogComponent","_model_faculty_medical_procedure_case_review_model__WEBPACK_IMPORTED_MODULE_2__","_providers_faculty_medical_procedure_case_review_parameter_service__WEBPACK_IMPORTED_MODULE_3__","PromptDialogComponent","message","document","getElementById","innerHTML","SuccessDialogComponent","SuccessSnackbarComponent","SuggestedTrainersEditDialogComponent","snackBar","getSuggestedTrainersByStatus","open","action","actionDisabled","takeSuggestedTrainerAction","Success","varShowActionDialog","getSuggestedTrainers","openSnackBar","Message","_auth_auth_service__WEBPACK_IMPORTED_MODULE_2__","TraineeAddDialogComponent","getTrainees","ASCIICode","which","keyCode","addMessage","UserRole","addUser","_model_user_model__WEBPACK_IMPORTED_MODULE_3__","getTrainneListAll","TraineePasswordResetDialogComponent","resetSystemUserPassword","_password_reset_snackbar_password_reset_snackbar_component__WEBPACK_IMPORTED_MODULE_3__","TraineeProceduresApproveAllDialogComponent","_model_trainer_approve_all_model__WEBPACK_IMPORTED_MODULE_2__","supervisorId","getTrainerTraineeProcedureCases","SupervisorId","approveData","StudentId","Action","Remark","approveAllTrainerTraineePendingProcedures","success","_providers_medical_procedure_service__WEBPACK_IMPORTED_MODULE_3__","TraineeRotationsApproveallDialogComponent","getTrainerTraineeRotations","approveAllTrainerTraineePendingRotaions","TraineesEditDialogComponent","updateUser","getTraineeListAll","TrainerPasswordEditDailogComponent","TrainersAddDialogComponent","mFacultyService","getTrainers","_add_success_snackbar_add_success_snackbar_component__WEBPACK_IMPORTED_MODULE_5__","_angular_forms__WEBPACK_IMPORTED_MODULE_6__","_providers_faculty_service__WEBPACK_IMPORTED_MODULE_4__","TrainersEditDialogComponent","updateUserTrainer","UserAddDialogComponent","getSystemUsers","UserRightsAddDialogComponent","_model_user_role_module_model__WEBPACK_IMPORTED_MODULE_3__","selectedRole","UserRoleSearchModel","getUserRoleAppModules","code","UserRoleId","addUserRoleModule","UsersEditDialogComponent","UsersPasswordResetDialogComponent","AuthLoginModel","AuthUserModel","FacultyModel","FacultyFellowshipSpecialisationModel","FacultyMedicalProcedureModel","FacultyMedicalProcedureCaseReviewParameterModel","FacultyMedicalProcedureParameterModel","HospitalModel","TraineeMedicalProcedureCaseParameterModel","TraineeRotationsModel","TrainerApproveAllModel","UserModel","UserRoleAppModuleModel","FellowshipSpecialisationAddDialogComponent","facultyService","_model_faculty_fellowship_specialisation_model__WEBPACK_IMPORTED_MODULE_4__","_model_faculty_model__WEBPACK_IMPORTED_MODULE_3__","_dialogs_add_success_snackbar_add_success_snackbar_component__WEBPACK_IMPORTED_MODULE_2__","_angular_forms__WEBPACK_IMPORTED_MODULE_7__","_providers_faculty_fellowship_specialisation_service__WEBPACK_IMPORTED_MODULE_6__","_providers_faculty_service__WEBPACK_IMPORTED_MODULE_5__","_angular_common__WEBPACK_IMPORTED_MODULE_8__","_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_9__","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_10__","_angular_core__WEBPACK_IMPORTED_MODULE_11__","FellowshipSpecialisationEditDialogComponent","_model_faculty_fellowship_specialisation_model__WEBPACK_IMPORTED_MODULE_3__","_dialogs_success_snackbar_success_snackbar_component__WEBPACK_IMPORTED_MODULE_2__","_providers_faculty_fellowship_specialisation_service__WEBPACK_IMPORTED_MODULE_4__","FellowshipCatEditDialogComponent","editFcultyMedicalProcedureCategoryItem","getFacultyMedicalProcedureCategoriesItems","_providers_medical_procedure_service__WEBPACK_IMPORTED_MODULE_4__","ParameterEditDialogComponent","LoginComponent","mLogin","_model_auth_login_model__WEBPACK_IMPORTED_MODULE_2__","target","querySelector","writer","t_writer_js__WEBPACK_IMPORTED_MODULE_4___default","loop","typeSpeed","deleteSpeed","typeColor","type","rest","changeOps","remove","clear","start","loginStatus","handleLogin","login_failure","userFullName","userProgramCategory","linkName","getNavigateLink","link","_auth_auth_service__WEBPACK_IMPORTED_MODULE_3__","_angular_router__WEBPACK_IMPORTED_MODULE_5__","AssessmentSuccessSnackbarComponent","UserRightDeleteDialogComponent","index","splice","removeUserRoleModule","removeItemInList","Location","_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_3__","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_4__","_angular_core__WEBPACK_IMPORTED_MODULE_5__","AcademicYearService","ContinuousAssessmentService","programCategoryId","facultyContinuousAssessmentGroupId","_angular_common_http__WEBPACK_IMPORTED_MODULE_2__","facultyContinuousAssessmentId","refNo","traineeAssessmentFormId","traineeId","trainerId","items","itemsForm","forEach","key","value","ContinuingProfessionalDevelopmentService","FacultyService","FacultyFellowshipSpecialisationService","FacultyMedicalProcedureService","FacultyMedicalProcedureCaseReviewParameterService","FacultyMedicalProcedureParameterService","HelpTopicService","providedIn","HospitalService","MedicalProcedureService","_utils_api_url_util__WEBPACK_IMPORTED_MODULE_1__","_angular_common_http__WEBPACK_IMPORTED_MODULE_3__","caseId","facultyProcedureId","specialisationId","facultyMedicalProcedureId","fmpId","fParams","traineeFMParams","element","tParam","_model_trainee_medical_procedure_case_parameter_model__WEBPACK_IMPORTED_MODULE_0__","ParameterName","FacultyMedicalProcedureParameterId","push","item$","parameters","caseItem","parametersGroup","patientGroup","PatientName","PatientFullName","PatientAge","PatientGender","PatientCode","question","required","IsPatientProcedure","patient","isPatientProcedure","trainerGroup","TrainerId","procedurePerformanceTypeId","trainer","ReviewDate","RotationsService","scheduleId","facultyRotationId","StatsService","topTenTrainees","topTenTrainers","dashHeaderStats","startDate","endDate","CanLoadDashboardSection","getIsLoggedIn","appRoutingProviders","_auth_auth_guard_service__WEBPACK_IMPORTED_MODULE_1__","routing","path","pathMatch","redirectTo","component","_pages_login_login_component__WEBPACK_IMPORTED_MODULE_0__","loadChildren","Promise","then","m","TraineeDashboardModule","canLoad","TrainerDashboardModule","TraineeSearchModule","DashboardModule","PasswordResetDashComponentModule","useHash","relativeLinkResolution","API_URLS","BASE_URL","bootstrapModule","_app_app_module__WEBPACK_IMPORTED_MODULE_0__","__webpack_exports__"],"sources":["webpack:///$_lazy_route_resources|lazy|groupOptions:%20%7B%7D|namespace%20object","webpack:///src/app/app.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/auth/auth-guard.service.ts","webpack:///src/app/auth/auth.service.ts","webpack:///src/app/dialogs/add-success-snackbar/add-success-snackbar.component.ts","webpack:///src/app/dialogs/approval-dialog/approval-dialog.component.ts","webpack:///src/app/dialogs/approval-success-snackbar/approval-success-snackbar.component.ts","webpack:///src/app/dialogs/continous-assesment-edit-dialog/continous-assesment-edit-dialog.component.ts","webpack:///src/app/dialogs/edit-dialog/edit-dialog.component.ts","webpack:///src/app/dialogs/emergency-fellowship-pro-add-dialog/emergency-fellowship-pro-add-dialog.component.ts","webpack:///src/app/dialogs/emergency-membership-add-dialog/emergency-membership-add-dialog.component.ts","webpack:///src/app/dialogs/error-dialog/error-dialog.component.ts","webpack:///src/app/dialogs/faculties-add-dialog/faculties-add-dialog.component.ts","webpack:///src/app/dialogs/fellowship-procedures-edit-dialog/fellowship-procedures-edit-dialog.component.ts","webpack:///src/app/dialogs/hospital-add-dialog/hospital-add-dialog.component.ts","webpack:///src/app/dialogs/hospital-edit-dialog/hospital-edit-dialog.component.ts","webpack:///src/app/dialogs/medical-procedure-case-approval-dialog/medical-procedure-case-approval-dialog.component.ts","webpack:///src/app/dialogs/medical-procedure-case-not-approval-dialog/medical-procedure-case-not-approval-dialog.component.ts","webpack:///src/app/dialogs/not-approval-dialog/not-approval-dialog.component.ts","webpack:///src/app/dialogs/not-approve-assessment/not-approve-assessment.component.ts","webpack:///src/app/dialogs/password-reset-snackbar/password-reset-snackbar.component.ts","webpack:///src/app/dialogs/procedure-hospital-add-dialog/procedure-hospital-add-dialog.component.ts","webpack:///src/app/dialogs/procedure-parameter-add-dialog/procedure-parameter-add-dialog.component.ts","webpack:///src/app/dialogs/procedure-review-parameter-add-dialog/procedure-review-parameter-add-dialog.component.ts","webpack:///src/app/dialogs/prompt-dialog/prompt-dialog.component.ts","webpack:///src/app/dialogs/success-dialog/success-dialog.component.ts","webpack:///src/app/dialogs/success-snackbar/success-snackbar.component.ts","webpack:///src/app/dialogs/suggested-trainers-edit-dialog/suggested-trainers-edit-dialog.component.ts","webpack:///src/app/dialogs/trainee-add-dialog/trainee-add-dialog.component.ts","webpack:///src/app/dialogs/trainee-password-reset-dialog/trainee-password-reset-dialog.component.ts","webpack:///src/app/dialogs/trainee-procedure-case-approveall-dialog/trainee-procedure-case-approveall-dialog.component.ts","webpack:///src/app/dialogs/trainee-rotations-approveall-dialog/trainee-rotations-approveall-dialog.component.ts","webpack:///src/app/dialogs/trainees-edit-dialog/trainees-edit-dialog.component.ts","webpack:///src/app/dialogs/trainer-password-edit-dailog/trainer-password-edit-dailog.component.ts","webpack:///src/app/dialogs/trainers-add-dialog/trainers-add-dialog.component.ts","webpack:///src/app/dialogs/trainers-edit-dialog/trainers-edit-dialog.component.ts","webpack:///src/app/dialogs/user-add-dialog/user-add-dialog.component.ts","webpack:///src/app/dialogs/user-rights-add-dialog/user-rights-add-dialog.component.ts","webpack:///src/app/dialogs/users-edit-dialog/users-edit-dialog.component.ts","webpack:///src/app/dialogs/users-password-reset-dialog/users-password-reset-dialog.component.ts","webpack:///src/app/model/auth_login.model.ts","webpack:///src/app/model/auth_user.model.ts","webpack:///src/app/model/faculty.model.ts","webpack:///src/app/model/faculty_fellowship_specialisation.model.ts","webpack:///src/app/model/faculty_medical_procedure.model.ts","webpack:///src/app/model/faculty_medical_procedure_case_review.model.ts","webpack:///src/app/model/faculty_medical_procedure_parameter.ts","webpack:///src/app/model/hospital.model.ts","webpack:///src/app/model/trainee_medical_procedure_case_parameter.model.ts","webpack:///src/app/model/trainee_rotations.model.ts","webpack:///src/app/model/trainer_approve_all.model.ts","webpack:///src/app/model/user.model.ts","webpack:///src/app/model/user_role_module.model.ts","webpack:///src/app/pages/faculty-fellowship-specialisation/fellowship-specialisation-add-dialog/fellowship-specialisation-add-dialog.component.ts","webpack:///src/app/pages/faculty-fellowship-specialisation/fellowship-specialisation-edit-dialog/fellowship-specialisation-edit-dialog.component.ts","webpack:///src/app/pages/faculty-medical-procedure-category/fellowship-cat-edit-dialog/fellowship-cat-edit-dialog.component.ts","webpack:///src/app/pages/faculty-medical-procedure-parameter/parameter-edit-dialog/parameter-edit-dialog.component.ts","webpack:///src/app/pages/login/login.component.ts","webpack:///src/app/pages/user/continuous-assessment-form-fill/assessment-success-snackbar/assessment-success-snackbar.component.ts","webpack:///src/app/pages/user/user-rights/user-right-delete-dialog/user-right-delete-dialog.component.ts","webpack:///src/app/providers/academy_year.service.ts","webpack:///src/app/providers/continuous_assessment.service.ts","webpack:///src/app/providers/cpd.service.ts","webpack:///src/app/providers/faculty.service.ts","webpack:///src/app/providers/faculty_fellowship_specialisation.service.ts","webpack:///src/app/providers/faculty_medical_procedure.service.ts","webpack:///src/app/providers/faculty_medical_procedure_case_review_parameter.service.ts","webpack:///src/app/providers/faculty_medical_procedure_parameter.service.ts","webpack:///src/app/providers/help_topic.service.ts","webpack:///src/app/providers/hospital.service.ts","webpack:///src/app/providers/medical_procedure.service.ts","webpack:///src/app/providers/rotations.service.ts","webpack:///src/app/providers/stats.service.ts","webpack:///src/app/shared/router.service.ts","webpack:///src/app/utils/api_url.util.ts","webpack:///src/main.ts","webpack:///src/app/dialogs/add-success-snackbar/add-success-snackbar.component.html","webpack:///src/app/dialogs/approval-dialog/approval-dialog.component.html","webpack:///src/app/dialogs/approval-success-snackbar/approval-success-snackbar.component.html","webpack:///src/app/dialogs/continous-assesment-edit-dialog/continous-assesment-edit-dialog.component.html","webpack:///src/app/dialogs/edit-dialog/edit-dialog.component.html","webpack:///src/app/dialogs/emergency-fellowship-pro-add-dialog/emergency-fellowship-pro-add-dialog.component.html","webpack:///src/app/dialogs/emergency-membership-add-dialog/emergency-membership-add-dialog.component.html","webpack:///src/app/dialogs/error-dialog/error-dialog.component.html","webpack:///src/app/dialogs/faculties-add-dialog/faculties-add-dialog.component.html","webpack:///src/app/dialogs/fellowship-procedures-edit-dialog/fellowship-procedures-edit-dialog.component.html","webpack:///src/app/dialogs/hospital-add-dialog/hospital-add-dialog.component.html","webpack:///src/app/dialogs/hospital-edit-dialog/hospital-edit-dialog.component.html","webpack:///src/app/dialogs/medical-procedure-case-approval-dialog/medical-procedure-case-approval-dialog.component.html","webpack:///src/app/dialogs/medical-procedure-case-not-approval-dialog/medical-procedure-case-not-approval-dialog.component.html","webpack:///src/app/dialogs/not-approval-dialog/not-approval-dialog.component.html","webpack:///src/app/dialogs/not-approve-assessment/not-approve-assessment.component.html","webpack:///src/app/dialogs/password-reset-snackbar/password-reset-snackbar.component.html","webpack:///src/app/dialogs/procedure-hospital-add-dialog/procedure-hospital-add-dialog.component.html","webpack:///src/app/dialogs/procedure-parameter-add-dialog/procedure-parameter-add-dialog.component.html","webpack:///src/app/dialogs/procedure-review-parameter-add-dialog/procedure-review-parameter-add-dialog.component.html","webpack:///src/app/dialogs/prompt-dialog/prompt-dialog.component.html","webpack:///src/app/dialogs/success-dialog/success-dialog.component.html","webpack:///src/app/dialogs/success-snackbar/success-snackbar.component.html","webpack:///src/app/dialogs/suggested-trainers-edit-dialog/suggested-trainers-edit-dialog.component.html","webpack:///src/app/dialogs/trainee-add-dialog/trainee-add-dialog.component.html","webpack:///src/app/dialogs/trainee-password-reset-dialog/trainee-password-reset-dialog.component.html","webpack:///src/app/dialogs/trainee-procedure-case-approveall-dialog/trainee-procedure-case-approveall-dialog.component.html","webpack:///src/app/dialogs/trainee-rotations-approveall-dialog/trainee-rotations-approveall-dialog.component.html","webpack:///src/app/dialogs/trainees-edit-dialog/trainees-edit-dialog.component.html","webpack:///src/app/dialogs/trainer-password-edit-dailog/trainer-password-edit-dailog.component.html","webpack:///src/app/dialogs/trainers-add-dialog/trainers-add-dialog.component.html","webpack:///src/app/dialogs/trainers-edit-dialog/trainers-edit-dialog.component.html","webpack:///src/app/dialogs/user-add-dialog/user-add-dialog.component.html","webpack:///src/app/dialogs/user-rights-add-dialog/user-rights-add-dialog.component.html","webpack:///src/app/dialogs/users-edit-dialog/users-edit-dialog.component.html","webpack:///src/app/dialogs/users-password-reset-dialog/users-password-reset-dialog.component.html","webpack:///src/app/pages/faculty-fellowship-specialisation/fellowship-specialisation-add-dialog/fellowship-specialisation-add-dialog.component.html","webpack:///src/app/pages/faculty-fellowship-specialisation/fellowship-specialisation-edit-dialog/fellowship-specialisation-edit-dialog.component.html","webpack:///src/app/pages/faculty-medical-procedure-category/fellowship-cat-edit-dialog/fellowship-cat-edit-dialog.component.html","webpack:///src/app/pages/faculty-medical-procedure-parameter/parameter-edit-dialog/parameter-edit-dialog.component.html","webpack:///src/app/pages/login/login.component.html","webpack:///src/app/pages/user/continuous-assessment-form-fill/assessment-success-snackbar/assessment-success-snackbar.component.html","webpack:///src/app/pages/user/user-rights/user-right-delete-dialog/user-right-delete-dialog.component.html"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { Component} from '@angular/core';\n\n\n@Component({\n moduleId: module.id,\n selector: 'my-app',\n template: ''\n \n\n})\n\nexport class AppComponent {\n public title = 'Angular2 Bootstrap4 Navbar';\n\n \n}\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { HttpModule } from '@angular/http';\nimport { HttpClientModule } from '@angular/common/http';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { AppComponent } from './app.component';\nimport { LoginComponent } from './pages/login/login.component';\nimport { routing, appRoutingProviders, CanLoadDashboardSection } from './shared/router.service';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FacultyService } from './providers/faculty.service';\nimport { StatsService } from './providers/stats.service';\nimport { FacultyFellowshipSpecialisationService } from './providers/faculty_fellowship_specialisation.service';\nimport { MedicalProcedureService } from './providers/medical_procedure.service';\nimport { FacultyMedicalProcedureService } from './providers/faculty_medical_procedure.service';\nimport { FacultyMedicalProcedureCaseReviewParameterService } from './providers/faculty_medical_procedure_case_review_parameter.service';\nimport { HospitalService } from './providers/hospital.service';\nimport { FacultyMedicalProcedureParameterService } from './providers/faculty_medical_procedure_parameter.service';\nimport { ContinuousAssessmentService } from './providers/continuous_assessment.service';\nimport { RotationsService } from './providers/rotations.service';\nimport { ContinuingProfessionalDevelopmentService } from './providers/cpd.service';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { ErrorDialogComponent } from './dialogs/error-dialog/error-dialog.component';\nimport { PromptDialogComponent } from './dialogs/prompt-dialog/prompt-dialog.component';\nimport { SuccessDialogComponent } from './dialogs/success-dialog/success-dialog.component';\nimport { MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { HelpTopicService } from './providers/help_topic.service';\nimport { EditDialogComponent } from './dialogs/edit-dialog/edit-dialog.component';\nimport { HospitalEditDialogComponent } from './dialogs/hospital-edit-dialog/hospital-edit-dialog.component';\nimport { SuggestedTrainersEditDialogComponent } from './dialogs/suggested-trainers-edit-dialog/suggested-trainers-edit-dialog.component';\nimport { TrainerPasswordEditDailogComponent } from './dialogs/trainer-password-edit-dailog/trainer-password-edit-dailog.component';\nimport { UsersPasswordResetDialogComponent } from './dialogs/users-password-reset-dialog/users-password-reset-dialog.component';\nimport { TraineePasswordResetDialogComponent } from './dialogs/trainee-password-reset-dialog/trainee-password-reset-dialog.component';\nimport { FellowshipProceduresEditDialogComponent } from './dialogs/fellowship-procedures-edit-dialog/fellowship-procedures-edit-dialog.component';\nimport { ParameterEditDialogComponent } from './pages/faculty-medical-procedure-parameter/parameter-edit-dialog/parameter-edit-dialog.component';\nimport { TrainersEditDialogComponent } from './dialogs/trainers-edit-dialog/trainers-edit-dialog.component';\nimport { UsersEditDialogComponent } from './dialogs/users-edit-dialog/users-edit-dialog.component';\nimport { TraineesEditDialogComponent } from './dialogs/trainees-edit-dialog/trainees-edit-dialog.component';\nimport { FellowshipSpecialisationEditDialogComponent } from './pages/faculty-fellowship-specialisation/fellowship-specialisation-edit-dialog/fellowship-specialisation-edit-dialog.component';\nimport { FellowshipCatEditDialogComponent } from './pages/faculty-medical-procedure-category/fellowship-cat-edit-dialog/fellowship-cat-edit-dialog.component';\n\nimport { FacultiesAddDialogComponent } from './dialogs/faculties-add-dialog/faculties-add-dialog.component';\nimport { HospitalAddDialogComponent } from './dialogs/hospital-add-dialog/hospital-add-dialog.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TrainersAddDialogComponent } from './dialogs/trainers-add-dialog/trainers-add-dialog.component';\nimport { UserAddDialogComponent } from './dialogs/user-add-dialog/user-add-dialog.component';\nimport { TraineeAddDialogComponent } from './dialogs/trainee-add-dialog/trainee-add-dialog.component';\nimport { ProcedureHospitalAddDialogComponent } from './dialogs/procedure-hospital-add-dialog/procedure-hospital-add-dialog.component';\nimport { ProcedureParameterAddDialogComponent } from './dialogs/procedure-parameter-add-dialog/procedure-parameter-add-dialog.component';\nimport { ProcedureReviewParameterAddDialogComponent } from './dialogs/procedure-review-parameter-add-dialog/procedure-review-parameter-add-dialog.component';\n\nimport { SuccessSnackbarComponent } from './dialogs/success-snackbar/success-snackbar.component';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatButtonModule } from '@angular/material/button';\nimport { AcademicYearService } from './providers/academy_year.service';\nimport { EmergencyFellowshipProAddDialogComponent } from './dialogs/emergency-fellowship-pro-add-dialog/emergency-fellowship-pro-add-dialog.component';\nimport { EmergencyMembershipAddDialogComponent } from './dialogs/emergency-membership-add-dialog/emergency-membership-add-dialog.component';\nimport { FellowshipSpecialisationAddDialogComponent } from './pages/faculty-fellowship-specialisation/fellowship-specialisation-add-dialog/fellowship-specialisation-add-dialog.component';\nimport { ContinousAssesmentEditDialogComponent } from './dialogs/continous-assesment-edit-dialog/continous-assesment-edit-dialog.component';\nimport { ApprovalDialogComponent } from './dialogs/approval-dialog/approval-dialog.component';\nimport { TraineeRotationsApproveallDialogComponent } from './dialogs/trainee-rotations-approveall-dialog/trainee-rotations-approveall-dialog.component';\nimport { MedicalProcedureCaseApprovalDialogComponent } from './dialogs/medical-procedure-case-approval-dialog/medical-procedure-case-approval-dialog.component';\nimport { ApprovalSuccessSnackbarComponent } from './dialogs/approval-success-snackbar/approval-success-snackbar.component';\nimport { MedicalProcedureCaseNotApprovalDialogComponent } from './dialogs/medical-procedure-case-not-approval-dialog/medical-procedure-case-not-approval-dialog.component';\nimport { NotApprovalDialogComponent } from './dialogs/not-approval-dialog/not-approval-dialog.component';\nimport { AssessmentCaseNotApprovalDialogComponent } from './dialogs/not-approve-assessment/not-approve-assessment.component';\nimport { TraineeProceduresApproveAllDialogComponent } from './dialogs/trainee-procedure-case-approveall-dialog/trainee-procedure-case-approveall-dialog.component';\nimport { UserRightDeleteDialogComponent } from './pages/user/user-rights/user-right-delete-dialog/user-right-delete-dialog.component';\nimport { AssessmentSuccessSnackbarComponent } from './pages/user/continuous-assessment-form-fill/assessment-success-snackbar/assessment-success-snackbar.component';\nimport { UserRightsAddDialogComponent } from './dialogs/user-rights-add-dialog/user-rights-add-dialog.component';\nimport { NgxMatDatetimePickerModule, NgxMatTimepickerModule } from '@angular-material-components/datetime-picker';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n// import { SharedModule } from './shared/shared.module';\n\n//import { AgmCoreModule } from 'angular2-google-maps/core';\n\n@NgModule({\n\timports: [\n\t\tBrowserModule,\n\t\tFormsModule,\n\t\tReactiveFormsModule,\n\t\tHttpModule,\n\t\tHttpClientModule,\n\t\tNgbModule.forRoot(),\n\t\tBrowserAnimationsModule,\n\t\tMatProgressSpinnerModule,\n\t\tMatProgressBarModule,\n\t\tMatDialogModule,\n\t\tMatFormFieldModule,\n\t\tMatInputModule,\n\t\tMatCheckboxModule,\n\t\tMatSelectModule,\n\t\tMatToolbarModule,\n\t\tMatIconModule,\n\t\tMatSnackBarModule,\n\t\tMatChipsModule,\n\t\tMatButtonModule,\n\t\tNgxMatTimepickerModule,\n\t\tNgxMatDatetimePickerModule,\n\t\tMatNativeDateModule,\n\t\tMatTooltipModule,\n\n\t\t// SharedModule,\n\n\t\trouting\n\t],\n\n\texports: [ MatProgressSpinnerModule, MatProgressBarModule ],\n\tproviders: [\n\t\t{ provide: MatDialogRef, useValue: {} },\n\t\tappRoutingProviders,\n\t\tFacultyService,\n\t\tFacultyFellowshipSpecialisationService,\n\t\tMedicalProcedureService,\n\t\tFacultyMedicalProcedureService,\n\t\tHospitalService,\n\t\tFacultyMedicalProcedureParameterService,\n\t\tFacultyMedicalProcedureCaseReviewParameterService,\n\t\tContinuousAssessmentService,\n\t\tContinuingProfessionalDevelopmentService,\n\t\tStatsService,\n\t\tCanLoadDashboardSection,\n\t\tHelpTopicService,\n\t\tRotationsService,\n\t\tAcademicYearService\n\t],\n\n\tdeclarations: [\n\t\tAppComponent,\n\t\tLoginComponent,\n\t\tSuccessDialogComponent,\n\t\tErrorDialogComponent,\n\t\tPromptDialogComponent,\n\t\tEditDialogComponent,\n\t\tHospitalEditDialogComponent,\n\t\tSuggestedTrainersEditDialogComponent,\n\t\tTrainerPasswordEditDailogComponent,\n\t\tUsersPasswordResetDialogComponent,\n\t\tTraineePasswordResetDialogComponent,\n\t\tFellowshipProceduresEditDialogComponent,\n\t\tParameterEditDialogComponent,\n\t\tTrainersEditDialogComponent,\n\t\tUsersEditDialogComponent,\n\t\tTraineesEditDialogComponent,\n\t\tFellowshipSpecialisationEditDialogComponent,\n\t\tFellowshipCatEditDialogComponent,\n\n\t\tFacultiesAddDialogComponent,\n\t\tHospitalAddDialogComponent,\n\t\tTrainersAddDialogComponent,\n\t\tUserAddDialogComponent,\n\t\tTraineeAddDialogComponent,\n\t\tEmergencyFellowshipProAddDialogComponent,\n\t\tProcedureHospitalAddDialogComponent,\n\t\tProcedureParameterAddDialogComponent,\n\t\tProcedureReviewParameterAddDialogComponent,\n\n\t\tSuccessSnackbarComponent,\n\t\tEmergencyMembershipAddDialogComponent,\n\t\tFellowshipSpecialisationAddDialogComponent,\n\t\tContinousAssesmentEditDialogComponent,\n\t\tApprovalDialogComponent,\n\t\tNotApprovalDialogComponent,\n\t\tTraineeRotationsApproveallDialogComponent,\n\t\tTraineeProceduresApproveAllDialogComponent,\n\t\tMedicalProcedureCaseApprovalDialogComponent,\n\t\tMedicalProcedureCaseNotApprovalDialogComponent,\n\t\tAssessmentCaseNotApprovalDialogComponent,\n\t\tApprovalSuccessSnackbarComponent,\n\t\tUserRightDeleteDialogComponent,\n\t\tAssessmentSuccessSnackbarComponent,\n\t\tUserRightsAddDialogComponent\n\t],\n\n\tentryComponents: [\n\t\tSuccessDialogComponent,\n\t\tErrorDialogComponent,\n\t\tPromptDialogComponent\n\t\t// EditDialogComponent\n\t],\n\n\tschemas: [ CUSTOM_ELEMENTS_SCHEMA ],\n\n\tbootstrap: [ AppComponent ]\n})\nexport class AppModule {}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, Router,\n ActivatedRouteSnapshot,\n RouterStateSnapshot } from '@angular/router';\n\nimport {AuthService} from './auth.service'\nimport {AuthRouteTypes} from './auth-route-types'\nimport {AuthUserModel} from '../model/auth_user.model'\nimport { Observable , of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\n\n@Injectable()\n\nexport class AuthGuard implements CanActivate {\n\n\n\n\nconstructor(private authService: AuthService, private router: Router) {\n\n \n}\n\n\ncanActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n \n\n // we pass a routeTypeId to all components we want to guard\n // this helps us determine here which component it is so \n //we know how to handle authentication for different user roles\n let routeModuleId:number=0;\n let mUser:AuthUserModel=new AuthUserModel();\n if(route.params['itemType']!=null)\n routeModuleId=parseInt(route.params['itemType'])\n \n if(this.authService.authUser)\n mUser.userId = this.authService.authUser.userId;\n else\n mUser.userId=null;\n\n \n\n if (mUser.userId!=null) { \n\n console.log(\"Curren user : \"+mUser.userId);\n // We get the User Logged In from localStorage\n let login:boolean=false;\n\n return this.authService.getUserHasAccessRight(mUser.userId,routeModuleId)\n .pipe(\n map(result=>{\n\n \n \n if(!result)\n {\n \n console.log(\"Authentication Failure\");\n\n this.router.navigate(['/login']);\n }\n \n return result;\n\n })\n );\n\n }\n \n // Store the attempted URL for redirecting\n this.authService.redirectUrl = state.url;\n\n // Navigate to the login page\n this.router.navigate(['/login']);\n return of(false);\n }\n \n\n}","import { throwError as observableThrowError, Observable } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport { API_URLS } from '../utils/api_url.util';\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\nimport { UserRoleModel } from '../model/user_role.model';\nimport { YearGroupModel } from '../model/year-group.model';\nimport { UserModel } from '../model/user.model';\nimport { TraineeLogbookAuditModel } from '../model/trainee-logbook-audit.model';\nimport { TrainerLogbookAuditModel } from '../model/trainer-logbook-audit.model';\nimport { UserRoleAppModuleModel } from '../model/user_role_module.model';\nimport { AppModuleModel } from '../model/app_module.model';\nimport { AuthUserModel } from '../model/auth_user.model';\nimport { SMSVerifyResponseModel } from '../model/sms_verify_response.model';\nimport { TraineeOverviewModel } from '../model/trainee_overview.model';\nimport { catchError, map } from 'rxjs/operators';\nimport { UserAddResultModel } from '../model/user_add_result.model';\nimport { SuggestedTrainerModel } from '../model/suggested_trainer.model';\nimport { TraineeRotationsModel } from '../model/trainee_rotations.model';\nimport { TrainerOverviewModel } from '../model/trainer_overview.model';\nimport { BulkUserModel } from '../model/bulk-user-model';\n\n@Injectable()\nexport class AuthService {\n\tconstructor(private http: HttpClient) {}\n\n\tisLoggedIn: boolean = false;\n\tauthUser: AuthUserModel = null;\n\n\t// store the URL so we can redirect after logging in\n\tredirectUrl: string;\n\n\tgetIsUserTrainer() {\n\t\tlet isTrainerId = this.authUser.roles.indexOf('Supervisor');\n\t\tif (isTrainerId > 0) return true;\n\n\t\treturn false;\n\t}\n\n\tlogin(userName: string, password: string): Observable {\n\t\t/*\n let clientId:string='1880957B-A51E-4363-87D0-19CE2EECAD4D';\n let clientSecret='37974EF9-D82A-4E9C-929D-B6490964670A';\n\n\n let body = \"username=\"+`${userName}`+\"&password=\"+`${password}`+\"&client_id=\"+`${clientId}`+\"&client_secret=\"+`${clientSecret}`+\"&grant_type=password\"+\"&is_twitter_digit_auth=false\";\n let headers = new HttpHeaders({ 'Content-Type': 'application/x-www-form-form-urlencoded' });\n let options = { headers: headers };\n*/\n\t\tlet login = { Username: userName, Password: password };\n\t\tlet body = JSON.stringify(login);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http.post(API_URLS.API_LOGIN_PASSWORD, body, options).pipe(\n\t\t\tcatchError(handleError),\n\t\t\tmap((res) => {\n\t\t\t\tthis.isLoggedIn = false;\n\t\t\t\tlet user: AuthUserModel = res;\n\t\t\t\tthis.authUser = user;\n\n\t\t\t\tif (user) {\n\t\t\t\t\tconsole.log(user);\n\t\t\t\t\tthis.isLoggedIn = true;\n\t\t\t\t\tlocalStorage.setItem('authUser', JSON.stringify(this.authUser));\n\t\t\t\t}\n\n\t\t\t\treturn user;\n\t\t\t})\n\t\t);\n\t\treturn items$;\n\t}\n\n\tgetIsLoggedIn(): boolean {\n\t\tlet user: AuthUserModel = JSON.parse(localStorage.getItem('authUser'));\n\n\t\tif (user) {\n\t\t\tthis.authUser = user;\n\t\t\tthis.isLoggedIn = true;\n\t\t} else {\n\t\t\tthis.isLoggedIn = false;\n\t\t}\n\n\t\treturn this.isLoggedIn;\n\t}\n\n\tlogout() {\n\t\tthis.isLoggedIn = false;\n\t}\n\n\tresetUser() {\n\t\tlocalStorage.setItem('authUser', null);\n\t\tthis.authUser = null;\n\t\tthis.isLoggedIn = false;\n\t}\n\n\t/////////////////////////////////////////////////////////////////////////////////////////\n\n\tgetUserHasAccessRight(userId: string, moduleId: number): Observable {\n\t\tlet items$ = this.http\n\t\t\t.get(API_URLS.API_GET_HAS_USER_ACCESS_RIGHT_TO_APP_MODULE + `/${userId}` + `/${moduleId}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetSuggestedTrainersByStatus(status: string): Observable {\n\t\tlet items$ = this.http\n\t\t\t.get(API_URLS.API_GET_SUGGESTED_TRAINERS_BY_STATUS + `/${status}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\ttakeSuggestedTrainerAction(item: SuggestedTrainerModel): Observable {\n\t\tlet items$ = this.http\n\t\t\t.get(\n\t\t\t\tAPI_URLS.API_POST_TAKE_SUGGESTED_USER_ACTION +\n\t\t\t\t\t`/${item.Id}` +\n\t\t\t\t\t`/${item.ApprovedByUserId}` +\n\t\t\t\t\t`/${item.Status}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetUserRoles(userId: string): Observable {\n\t\tlet items$ = this.http.get(API_URLS.API_GET_USER_ROLES + `/${userId}`).pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetUserDetail(id: string): Observable {\n\t\tlet items$ = this.http.get(API_URLS.API_GET_USER_DETAIL + `/${id}`).pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tupdateUserRoles(userId: string, roles: string[]): Observable {\n\t\tlet items$ = this.http\n\t\t\t.put(API_URLS.API_UPDATE_USER_ROLES + `/${userId}` + '/roles', roles)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\taddUserRoleModule(item: UserRoleAppModuleModel): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\t\tlet id = item.Id;\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_ADD_USER_ROLE_APP_MODULE, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tremoveUserRoleModule(item: UserRoleAppModuleModel): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\t\tlet id = item.Id;\n\n\t\tlet items$ = this.http\n\t\t\t.get(API_URLS.API_REMOVE_USER_ROLE_APP_MODULE + `/${id}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetUserRoleAppModules(id: string): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_USER_ROLE_APP_MODULES + `/${id}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetRoles(): Observable> {\n\t\tlet items$ = this.http.get>(API_URLS.API_GET_ROLES).pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\taddRole(item: UserRoleModel): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\t\tlet id = item.Id;\n\n\t\tlet items$ = this.http.post(API_URLS.API_ADD_ROLE, body, options).pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tsendStudentLogbookProcedurePendingReminder(item: TraineeLogbookAuditModel[]): Observable {\n\t\tlet body = JSON.stringify({ Alerts: item });\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_SMS_NOTIFY_SEND_STUDENT_LOGBOOK_PROCEDURE_PENDING_REMINDER, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tsendSupervisorLogbookProcedurePendingReminder(item: TrainerLogbookAuditModel[]): Observable {\n\t\tlet body = JSON.stringify({ Alerts: item });\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_SMS_NOTIFY_SEND_SUPERVISOR_LOGBOOK_PROCEDURE_PENDING_REMINDER, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTrainees(): Observable> {\n\t\tlet items$ = this.http.get>(API_URLS.API_GET_TRAINEES).pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTrainerTraineesAtHospitalFaculty(userId: string): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_SUPERVISOR_STUDENTS_AT_HOSPITAL_FACULTY + `/${userId}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTraineesByFaculty(facultyId: string): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_TRAINEES_BY_FACULTY + `/${facultyId}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTraineesByScheduledRotationHospital(hospitalId: string): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_TRAINEES_BY_SCHEDULED_ROTATION_HOSPITAL + `/${hospitalId}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTraineesByPostingHospital(hospitalId: string): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_TRAINEES_BY_POSTING_HOSPITAL + `/${hospitalId}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetYearGroups(): Observable> {\n\t\tlet items$ = this.http.get>(API_URLS.API_GET_YEAR_GROUPS).pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tfindUserByUsername(username: string): Observable {\n\t\tusername = username.replace(/\\//g, '-'); // replace forward slash in resident Id eg IM/56/7/M to IM-56-7-M\n\n\t\tconsole.log(username);\n\n\t\tlet items$ = this.http\n\t\t\t.get(API_URLS.API_GET_USER_BY_USERNAME + `/${username}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTrainers(hospitalId: string): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_TRAINERS + `/${hospitalId}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetAllTrainers(): Observable> {\n\t\tlet items$ = this.http.get>(API_URLS.API_GET_ALL_TRAINERS).pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTraineeOverview(id: string): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_TRAINEE_OVERVIEW + `/${id}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTrainerOverview(id: string): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_TRAINER_OVERVIEW + `/${id}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTraineeRotationDetails(studentId: string): Observable {\n\t\tlet items$ = this.http\n\t\t\t.get(API_URLS.API_GET_TRAINEE_ROTATION_DETAILS + `/${studentId}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tverifyUserPhoneNumber(phoneNumber: string): Observable {\n\t\tlet items$ = this.http\n\t\t\t.get(API_URLS.API_VERIFY_USER_PHONE + `/${phoneNumber}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tverifySMSCode(userId: string, smsCode: string): Observable {\n\t\tlet items$ = this.http\n\t\t\t.get(API_URLS.API_VERIFY_SMS_CODE + `/${userId}` + `/${smsCode}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tsendSMSVerifyCode(userId: string): Observable {\n\t\tlet items$ = this.http.get(API_URLS.API_SEND_VERIFY_CODE + `/${userId}`).pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tresetUserPasswordWithSmsCode(userId: string, smsCode: string, password: string): Observable {\n\t\tlet body = JSON.stringify({ UserId: userId, SMSCode: smsCode, Password: password });\n\t\tconsole.log(body);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_RESET_USER_PASSWORD_WITH_SMS, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTraineesLogbookAudit(): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_TRAINEE_LOGBOOK_AUDIT)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTrainersLogbookAudit(): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_TRAINER_LOGBOOK_AUDIT)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetSystemUsers(): Observable> {\n\t\tlet items$ = this.http.get>(API_URLS.API_GET_SYSTEM_USERS).pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetAppModules(): Observable> {\n\t\tlet items$ = this.http.get>(API_URLS.API_GET_APP_MODULES).pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetUserAppModules(userId: string): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_USER_APP_MODULES + `/${userId}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\taddUser(item: BulkUserModel): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\t\tlet id = item.Id;\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_ADD_USER_SYSTEM_USER, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\taddBulkUser(item: Array): Observable> {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.post>(API_URLS.API_ADD_BULK_TRAINEE, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\t/*\n addUserTrainee(item:UserModel): Observable{\n\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n let id=item.Id;\n\n let items$ = this.http\n\n .post(API_URLS.API_ADD_USER_TRAINEE,body,options)\n\n .pipe( catchError(handleError) )\n return items$;\n\n\n }\n\n addUserSystemUser(item:UserModel): Observable{\n\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n let id=item.Id;\n\n let items$ = this.http\n\n .post(API_URLS.API_ADD_USER_SYSTEM_USER,body,options)\n .pipe( catchError(handleError) )\n return items$;\n\n\n }\n */\n\n\tupdateUser(item: UserModel): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\t\tlet id = item.Id;\n\n\t\tlet items$ = this.http.post(API_URLS.API_UPDATE_USER, body, options).pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tupdateUserTrainer(item: UserModel): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\t\tlet id = item.Id;\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_UPDATE_USER_TRAINER, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tresetSystemUserPassword(item: any): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\t\tlet id = item.Id;\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_RESET_SYSTEM_USER_PASSWORD, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n}\n\n// this could also be a private method of the component class\nfunction handleError(error: HttpErrorResponse) {\n\t// log error\n\t// could be something more sofisticated\n\tconsole.error(error);\n\n\treturn observableThrowError(error.error);\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-add-success-snackbar',\n templateUrl: './add-success-snackbar.component.html',\n styleUrls: ['./add-success-snackbar.component.css']\n})\nexport class AddSuccessSnackbarComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Location } from '@angular/common';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { TraineeRotationsModel } from '../../model/trainee_rotations.model';\nimport { RotationsService } from '../../providers/rotations.service';\nimport { AddSuccessSnackbarComponent } from '../add-success-snackbar/add-success-snackbar.component';\nimport { ApprovalSuccessSnackbarComponent } from '../approval-success-snackbar/approval-success-snackbar.component';\n\n@Component({\n\tselector: 'app-approval-dialog',\n\ttemplateUrl: './approval-dialog.component.html',\n\tstyleUrls: [ './approval-dialog.component.css' ]\n})\nexport class ApprovalDialogComponent implements OnInit {\n\tselectedItem: TraineeRotationsModel;\n\terrorMessage: string = '';\n\tisLoading: boolean = true;\n\tdurationInSeconds = 1;\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tprivate location: Location,\n\t\tprivate mApiService: RotationsService,\n\t\tprivate _snackBar: MatSnackBar,\n\t\tprivate dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\n\t) {\n\t\tthis.selectedItem = new TraineeRotationsModel();\n\t}\n\n\tngOnInit(): void {\n\t\tthis.selectedItem = this.data;\n\t}\n\n\tclose() {\n\t\tthis.dialogRef.close();\n\t}\n\n\tsaveRotation() {\n\t\tthis.selectedItem.ApprovalStatus = 'APPROVED';\n\t\tconsole.log(this.selectedItem);\n\n\t\tthis.mApiService.editItem(this.selectedItem).subscribe(\n\t\t\t(p) => {\n\t\t\t\tif (p) {\n\t\t\t\t\tthis.selectedItem = p;\n\n\t\t\t\t\tthis.dialogRef.close();\n\n\t\t\t\t\tthis._snackBar.openFromComponent(ApprovalSuccessSnackbarComponent, {\n\t\t\t\t\t\tduration: this.durationInSeconds * 1000\n\t\t\t\t\t});\n\n\t\t\t\t\tconsole.log(p);\n\t\t\t\t}\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => (this.isLoading = false)\n\t\t);\n\t\tthis.location.back();\n\t}\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-approval-success-snackbar',\n templateUrl: './approval-success-snackbar.component.html',\n styleUrls: ['./approval-success-snackbar.component.css']\n})\nexport class ApprovalSuccessSnackbarComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ContinuousAssessmentModel } from '../../model/continuous_assessment.model';\nimport { ContinuousAssessmentService } from '../../providers/continuous_assessment.service';\n\n@Component({\n\tselector: 'app-continous-assesment-edit-dialog',\n\ttemplateUrl: './continous-assesment-edit-dialog.component.html',\n\tstyleUrls: [ './continous-assesment-edit-dialog.component.css' ]\n})\nexport class ContinousAssesmentEditDialogComponent implements OnInit {\n\tselectedItem: ContinuousAssessmentModel;\n\terrorMessage: string = '';\n\tisLoading: boolean = true;\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tprivate mApiService: ContinuousAssessmentService,\n\t\tprivate _snackBar: MatSnackBar,\n\t\tprivate dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\n\t) {}\n\n\tngOnInit(): void {\n\t\tthis.selectedItem = this.data;\n\t}\n\n\tsaveEdit() {\n\t\tthis.mApiService.editContinuousAssessment(this.selectedItem).subscribe(\n\t\t\t(p) => {\n\t\t\t\t// this.varShowEditDialog=false;\n\t\t\t\tthis.dialogRef.close();\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => (this.isLoading = false)\n\t\t);\n\t}\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { FacultyModel } from '../../model/faculty.model';\nimport { ItemQuantityModel } from '../../model/item_quantity.model';\nimport { FacultyService } from '../../providers/faculty.service';\nimport { SuccessSnackbarComponent } from '../success-snackbar/success-snackbar.component';\n\n@Component({\n selector: 'app-edit-dialog',\n templateUrl: './edit-dialog.component.html',\n styleUrls: ['./edit-dialog.component.css']\n})\nexport class EditDialogComponent implements OnInit {\n\n mItems: FacultyModel[];\n\n durationInSeconds = 1;\n\n // mApiService: FacultyService;\n varShowEditDialog: boolean;\n selectedItem: FacultyModel;\n errorMessage: any;\n isLoading: boolean;\n response: FacultyModel;\n\n constructor(private fb: FormBuilder, private mApiService: FacultyService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ngOnInit(): void {\n this.selectedItem = this.data;\n }\n\n\n\n saveEdit() {\n\n // this.mApiService.editItem;\n\n \n this.mApiService\n .editItem(this.selectedItem)\n .subscribe(\n data => {\n console.log(data);\n this.selectedItem = data;\n this.dialogRef.close() ;\n\n this._snackBar.openFromComponent(SuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n \n }\n )\n\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { FacultyModel } from '../../model/faculty.model';\nimport { FacultyMedicalProcedureModel } from '../../model/faculty_medical_procedure.model';\nimport { FacultyMedicalProcedureService } from '../../providers/faculty_medical_procedure.service';\nimport { AddSuccessSnackbarComponent } from '../add-success-snackbar/add-success-snackbar.component';\n\n@Component({\n selector: 'app-emergency-fellowship-pro-add-dialog',\n templateUrl: './emergency-fellowship-pro-add-dialog.component.html',\n styleUrls: ['./emergency-fellowship-pro-add-dialog.component.css']\n})\nexport class EmergencyFellowshipProAddDialogComponent implements OnInit {\n\n newItem: FacultyMedicalProcedureModel;\n selectedItem: FacultyMedicalProcedureModel;\n errorMessage: string = '';\n durationInSeconds = 1;\n isLoading: boolean = true;\n mItems: FacultyMedicalProcedureModel[] = [];\n mMembershipItems: FacultyMedicalProcedureModel[] = [];\n mFellowshipItems: FacultyMedicalProcedureModel[] = [];\n\n constructor(private fb: FormBuilder, private mApiService: FacultyMedicalProcedureService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) {\n }\n\n ngOnInit(): void {\n console.log(this.data)\n this.newItem = this.data\n }\n\n resetProcedureCategory(event: Event): void {\n\n if (this.newItem != null)\n this.newItem.CategoryId = null;\n if (this.selectedItem != null) {\n // console.log(event.target);\n this.selectedItem.CategoryId = null;\n }\n\n }\n\n\n \n categoriseItems(): any {\n this.mFellowshipItems = this.mItems.filter(item => item.ProgramCategoryId == 1);\n this.mMembershipItems = this.mItems.filter(item => item.ProgramCategoryId == 2);\n }\n\n getItemsList(id: string) {\n this.mItems = [];\n this.isLoading = true;\n\n\n this.mApiService.getItems(id, 0)\n .subscribe(\n p => {\n\n this.mItems = p;\n this.categoriseItems();\n\n },\n e => this.errorMessage = e,\n () => this.isLoading = false\n )\n\n }\n \n saveNewItem() {\n\n\n this.newItem.FacultyId = this.data.mFacultyId;\n this.newItem.ProgramCategoryId=1;\n this.newItem.Status=true;\n console.log(\"Saving..\");\n console.log(this.newItem);\n\n this.mApiService\n .addItem(this.newItem)\n .subscribe(\n p => {\n this.getItemsList(this.data.mFacultyId);\n this.dialogRef.close() ;\n \n this._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n this.newItem = new FacultyMedicalProcedureModel();\n\n },\n e => this.errorMessage = e,\n () => this.isLoading = false\n )\n\n\n\n\n\n\n\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { FacultyModel } from '../../model/faculty.model';\nimport { FacultyMedicalProcedureModel } from '../../model/faculty_medical_procedure.model';\nimport { FacultyMedicalProcedureService } from '../../providers/faculty_medical_procedure.service';\nimport { AddSuccessSnackbarComponent } from '../add-success-snackbar/add-success-snackbar.component';\n\n@Component({\n selector: 'app-emergency-membership-add-dialog',\n templateUrl: './emergency-membership-add-dialog.component.html',\n styleUrls: ['./emergency-membership-add-dialog.component.css']\n})\nexport class EmergencyMembershipAddDialogComponent implements OnInit {\n\n newItem: FacultyMedicalProcedureModel;\n durationInSeconds = 1;\n selectedItem: FacultyMedicalProcedureModel;\n errorMessage: string = '';\n isLoading: boolean = true;\n mItems: FacultyMedicalProcedureModel[] = [];\n mMembershipItems: FacultyMedicalProcedureModel[] = [];\n mFellowshipItems: FacultyMedicalProcedureModel[] = [];\n\n\n constructor(private fb: FormBuilder, private mApiService: FacultyMedicalProcedureService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) { \n \n }\n\n ngOnInit(): void {\n console.log(this.data)\n this.newItem =new FacultyMedicalProcedureModel();\n }\n\n \n resetProcedureCategory(event: Event): void {\n\n if (this.newItem != null)\n this.newItem.CategoryId = null;\n if (this.selectedItem != null) {\n // console.log(event.target);\n this.selectedItem.CategoryId = null;\n }\n\n }\n\n\n \n categoriseItems(): any {\n this.mFellowshipItems = this.mItems.filter(item => item.ProgramCategoryId == 1);\n this.mMembershipItems = this.mItems.filter(item => item.ProgramCategoryId == 2);\n }\n\n getItemsList(id: string) {\n this.mItems = [];\n this.isLoading = true;\n\n\n this.mApiService.getItems(id, 0)\n .subscribe(\n p => {\n\n this.mItems = p;\n this.categoriseItems();\n\n },\n e => this.errorMessage = e,\n () => this.isLoading = false\n )\n\n }\n \n saveNewItem() {\n\n\n this.newItem.FacultyId =this.data.mFacultyId;\n this.newItem.ProgramCategoryId=2;\n this.newItem.Status=true;\n \n console.log(this.newItem);\n\n this.mApiService\n .addItem(this.newItem)\n .subscribe(\n p => {\n this.getItemsList(this.data.mFacultyId);\n this.dialogRef.close() ;\n this._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n this.newItem = new FacultyMedicalProcedureModel();\n\n },\n e => this.errorMessage = e,\n () => this.isLoading = false\n )\n\n\n\n\n\n\n\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport {MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\n\n \n@Component({\n selector: 'app-error-dialog',\n templateUrl: './error-dialog.component.html',\n styleUrls: ['./error-dialog.component.scss']\n})\nexport class ErrorDialogComponent implements OnInit {\n \n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any) { }\n \n ngOnInit() {\n }\n \n public closeDialog = () => {\n this.dialogRef.close();\n }\n}","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { FacultyModel } from '../../model/faculty.model';\nimport { FacultyService } from '../../providers/faculty.service';\nimport { AddSuccessSnackbarComponent } from '../add-success-snackbar/add-success-snackbar.component';\n\n@Component({\n selector: 'app-faculties-add-dialog',\n templateUrl: './faculties-add-dialog.component.html',\n styleUrls: ['./faculties-add-dialog.component.css']\n})\nexport class FacultiesAddDialogComponent implements OnInit {\n\n newItem:FacultyModel;\n mItems:FacultyModel[]; \n errorMessage: string = '';\n isLoading: boolean = true;\n\n durationInSeconds = 1;\n\n constructor(private fb: FormBuilder, private mApiService:FacultyService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) {\n this.newItem = new FacultyModel();\n }\n\n ngOnInit(): void {\n // this.newItem = this.data;\n }\n\n \nsaveNewItem(){\n \n this.mApiService\n .addItem(this.newItem)\n .subscribe(\n p=>{\n \n\n this.dialogRef.close() ;\n\n this._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n\n this.newItem=new FacultyModel();\n\n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n\n}\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { FacultyModel } from '../../model/faculty.model';\nimport { FacultyFellowshipSpecialisationModel } from '../../model/faculty_fellowship_specialisation.model';\nimport { FacultyMedicalProcedureModel } from '../../model/faculty_medical_procedure.model';\nimport { FacultyMedicalProcedureCategoryModel } from '../../model/faculty_medical_procedure_category.model';\nimport { FacultyMedicalProcedureService } from '../../providers/faculty_medical_procedure.service';\nimport { SuccessSnackbarComponent } from '../success-snackbar/success-snackbar.component';\n\n@Component({\n selector: 'app-fellowship-procedures-edit-dialog',\n templateUrl: './fellowship-procedures-edit-dialog.component.html',\n styleUrls: ['./fellowship-procedures-edit-dialog.component.css']\n})\nexport class FellowshipProceduresEditDialogComponent implements OnInit {\n\n // mFacultyFellowshipSpecialisations:FacultyFellowshipSpecialisationModel[]= new FacultyFellowshipSpecialisationModel();\n\n // mFacultyFellowshipSpecialisations: Array = [];\n newItem: FacultyMedicalProcedureModel;\n selectedItem: FacultyMedicalProcedureModel;\n mFacultyMedicalProcedureCategories: FacultyMedicalProcedureCategoryModel[];\n isFellowshipProcedure: boolean;\n mItems: FacultyMedicalProcedureModel[] = [];\n mFellowshipItems: FacultyMedicalProcedureModel[] = [];\n mMembershipItems: FacultyMedicalProcedureModel[] = [];\n mFaculty: FacultyModel;\n durationInSeconds = 1;\n errorMessage: string = '';\n isLoading: boolean = true;\n\n\n mCategorisedFacultyMedicalProcedureCategories: FacultyMedicalProcedureCategoryModel[];\n selected: FacultyMedicalProcedureModel;\n\n constructor(private fb: FormBuilder, private mApiService: FacultyMedicalProcedureService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) { \n this.mFaculty = new FacultyModel();\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ngOnInit(): void {\n this.isFellowshipProcedure = (this.data.ProgramCategoryId == 1) ? true : false;\n this.selectedItem = this.data;\n \n }\n\n resetProcedureCategory(event: Event): void {\n\n if (this.newItem != null)\n this.newItem.CategoryId = null;\n if (this.selectedItem != null) {\n // console.log(event.target);\n this.selectedItem.CategoryId = null;\n }\n\n }\n\n getProcedureCategories(fellowshipSpecialtyId: string): FacultyMedicalProcedureCategoryModel[] {\n if (this.isFellowshipProcedure) {\n if (fellowshipSpecialtyId == null)\n return []\n\n return this.mCategorisedFacultyMedicalProcedureCategories?.filter(k => k?.FellowshipSpecialisationId == fellowshipSpecialtyId);\n\n }\n else {\n return this.mCategorisedFacultyMedicalProcedureCategories;\n }\n\n }\n\n\n \n saveEdit() {\n\n\n\n console.log(this.selectedItem);\n\n this.mApiService\n .editItem(this.selectedItem)\n .subscribe(\n p => {\n\n this.dialogRef.close() ;\n \n this._snackBar.openFromComponent(SuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n this.getItemsList(this.mFaculty.Id);\n },\n e => this.errorMessage = e,\n () => this.isLoading = false\n )\n\n }\n\n getItemsList(id: string) {\n this.mItems = [];\n this.isLoading = true;\n\n\n this.mApiService.getItems(id, 0)\n .subscribe(\n p => {\n\n this.mItems = p;\n this.categoriseItems();\n\n },\n e => this.errorMessage = e,\n () => this.isLoading = false\n )\n\n }\n\n categoriseItems(): any {\n this.mFellowshipItems = this.mItems.filter(item => item.ProgramCategoryId == 1);\n this.mMembershipItems = this.mItems.filter(item => item.ProgramCategoryId == 2);\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { HospitalModel } from '../../model/hospital.model';\nimport { HospitalCategoryModel } from '../../model/hospital_category.model';\nimport { HospitalService } from '../../providers/hospital.service';\nimport { AddSuccessSnackbarComponent } from '../add-success-snackbar/add-success-snackbar.component';\n\n@Component({\n selector: 'app-hospital-add-dialog',\n templateUrl: './hospital-add-dialog.component.html',\n styleUrls: ['./hospital-add-dialog.component.css']\n})\nexport class HospitalAddDialogComponent implements OnInit {\n\n newItem:HospitalModel;\n mItems:HospitalModel[];\n errorMessage: string = '';\n isLoading: boolean = true; \n\n durationInSeconds = 1;\n\n \n\n mCategories:HospitalCategoryModel[]=[{Id:1,Name:'Training Center'},{Id:2,Name:'Training Site'}]\n\n constructor(private fb: FormBuilder, private mApiService:HospitalService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) {\n this.newItem=new HospitalModel();\n }\n\n ngOnInit(): void {\n \n }\n\n \nsaveNewItem(){\n\n \n \n this.mApiService\n .addItem(this.newItem)\n .subscribe(\n p=>{\n\n \n \n this.getItemsList();\n\n this.dialogRef.close() ;\n\n this._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n this.newItem=new HospitalModel();\n \n \n \n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n\n}\n\ngetItemsList()\n{\n this.mItems=[];\n this.isLoading=true;\n \n\n this.mApiService.getItems()\n .subscribe(\n p=>this.mItems=p,\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n \n}\n\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { HospitalModel } from '../../model/hospital.model';\nimport { HospitalCategoryModel } from '../../model/hospital_category.model';\nimport { HospitalService } from '../../providers/hospital.service';\nimport { SuccessSnackbarComponent } from '../success-snackbar/success-snackbar.component';\n\n@Component({\n selector: 'app-hospital-edit-dialog',\n templateUrl: './hospital-edit-dialog.component.html',\n styleUrls: ['./hospital-edit-dialog.component.css']\n})\nexport class HospitalEditDialogComponent implements OnInit {\n\n\n\n \n\n errorMessage: string = '';\n isLoading: boolean = true;\n selectedItem:HospitalModel;\n durationInSeconds = 1;\n\n \n mItems:HospitalModel[]; \n mCategories:HospitalCategoryModel[]=[{Id:1,Name:'Training Center'},{Id:2,Name:'Training Site'}]\n\n constructor(private fb: FormBuilder, private mApiService:HospitalService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) { }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ngOnInit(): void {\n this.selectedItem = this.data;\n }\n\n getItemsList()\n{\n this.mItems=[];\n this.isLoading=true;\n \n\n this.mApiService.getItems()\n .subscribe(\n p=>this.mItems=p,\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n \n}\n\n\nsaveEdit(){\n\n\n\n console.log(this.selectedItem);\n \n this.mApiService\n .editItem(this.selectedItem)\n .subscribe(\n p=> {\n \n // this.varShowEditDialog=false ;\n this.getItemsList();\n this.dialogRef.close() ;\n\n this._snackBar.openFromComponent(SuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n \n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n}\n\n \n}\n","import { Location } from '@angular/common';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { TraineeMedicalProcedureCaseModel } from '../../model/trainee_medical_procedure_case.model';\nimport { MedicalProcedureService } from '../../providers/medical_procedure.service';\nimport { ApprovalSuccessSnackbarComponent } from '../approval-success-snackbar/approval-success-snackbar.component';\n\n@Component({\n\tselector: 'app-medical-procedure-case-approval-dialog',\n\ttemplateUrl: './medical-procedure-case-approval-dialog.component.html',\n\tstyleUrls: [ './medical-procedure-case-approval-dialog.component.css' ]\n})\nexport class MedicalProcedureCaseApprovalDialogComponent implements OnInit {\n\tselectedItem: TraineeMedicalProcedureCaseModel;\n\terrorMessage: string = '';\n\tisLoading: boolean = true;\n\tdurationInSeconds = 1;\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tprivate location: Location,\n\t\tprivate mApiService: MedicalProcedureService,\n\t\tprivate _snackBar: MatSnackBar,\n\t\tprivate dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\n\t) {}\n\n\tngOnInit(): void {\n\t\tthis.selectedItem = this.data;\n\t}\n\n\tclose() {\n\t\tthis.dialogRef.close();\n\t}\n\n\tapproveCase() {\n\t\tthis.mApiService.approveTraineeMedicalProcedureCase(this.selectedItem).subscribe(\n\t\t\t(p) => {\n\t\t\t\tthis.dialogRef.close();\n\n\t\t\t\tthis._snackBar.openFromComponent(ApprovalSuccessSnackbarComponent, {\n\t\t\t\t\tduration: this.durationInSeconds * 1000\n\t\t\t\t});\n\n\t\t\t\t// this.varShowApproveDialog=false;\n\t\t\t\t// console.log(p);\n\n\t\t\t\tif (p) {\n\t\t\t\t\tthis.selectedItem.ApprovalStatus = 'APPROVED';\n\t\t\t\t}\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => (this.isLoading = false)\n\t\t);\n\t\tthis.location.back();\n\t}\n}\n","import { Location } from '@angular/common';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { TraineeMedicalProcedureCaseModel } from '../../model/trainee_medical_procedure_case.model';\nimport { MedicalProcedureService } from '../../providers/medical_procedure.service';\nimport { ApprovalSuccessSnackbarComponent } from '../approval-success-snackbar/approval-success-snackbar.component';\n\n@Component({\n\tselector: 'app-medical-procedure-case-approval-dialog',\n\ttemplateUrl: './medical-procedure-case-not-approval-dialog.component.html',\n\tstyleUrls: [ './medical-procedure-case-not-approval-dialog.component.css' ]\n})\nexport class MedicalProcedureCaseNotApprovalDialogComponent implements OnInit {\n\tselectedItem: TraineeMedicalProcedureCaseModel;\n\terrorMessage: string = '';\n\tisLoading: boolean = true;\n\tdurationInSeconds = 1;\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tprivate location: Location,\n\t\tprivate mApiService: MedicalProcedureService,\n\t\tprivate _snackBar: MatSnackBar,\n\t\tprivate dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\n\t) {}\n\n\tngOnInit(): void {\n\t\tthis.selectedItem = this.data;\n\t}\n\n\tclose() {\n\t\tthis.dialogRef.close();\n\t}\n\n\tnotApproveCase() {\n\t\tthis.mApiService.approveTraineeMedicalProcedureCase(this.selectedItem).subscribe(\n\t\t\t(p) => {\n\t\t\t\tthis.dialogRef.close();\n\n\t\t\t\tthis._snackBar.openFromComponent(ApprovalSuccessSnackbarComponent, {\n\t\t\t\t\tduration: this.durationInSeconds * 1000\n\t\t\t\t});\n\n\t\t\t\t// this.varShowApproveDialog=false;\n\t\t\t\t// console.log(p);\n\n\t\t\t\tif (p) {\n\t\t\t\t\tthis.selectedItem.ApprovalStatus = 'UNAPPROVE';\n\t\t\t\t}\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => (this.isLoading = false)\n\t\t);\n\t\tthis.location.back();\n\t}\n}\n","import { Location } from '@angular/common';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { TraineeRotationsModel } from '../../model/trainee_rotations.model';\nimport { RotationsService } from '../../providers/rotations.service';\nimport { AddSuccessSnackbarComponent } from '../add-success-snackbar/add-success-snackbar.component';\nimport { ApprovalSuccessSnackbarComponent } from '../approval-success-snackbar/approval-success-snackbar.component';\n\n@Component({\n\tselector: 'app-approval-dialog',\n\ttemplateUrl: './not-approval-dialog.component.html',\n\tstyleUrls: [ './not-approval-dialog.component.css' ]\n})\nexport class NotApprovalDialogComponent implements OnInit {\n\tselectedItem: TraineeRotationsModel;\n\terrorMessage: string = '';\n\tisLoading: boolean = true;\n\tdurationInSeconds = 1;\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tprivate location: Location,\n\t\tprivate mApiService: RotationsService,\n\t\tprivate _snackBar: MatSnackBar,\n\t\tprivate dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\n\t) {\n\t\tthis.selectedItem = new TraineeRotationsModel();\n\t}\n\n\tngOnInit(): void {\n\t\tthis.selectedItem = this.data;\n\t}\n\n\tclose() {\n\t\tthis.dialogRef.close();\n\t}\n\n\tsaveRotation() {\n\t\tthis.selectedItem.ApprovalStatus = 'UNAPPROVE';\n\n\t\tconsole.log(this.selectedItem);\n\n\t\tthis.mApiService.editItem(this.selectedItem).subscribe(\n\t\t\t(p) => {\n\t\t\t\tif (p) {\n\t\t\t\t\tthis.selectedItem = p;\n\n\t\t\t\t\tthis.dialogRef.close();\n\n\t\t\t\t\tthis._snackBar.openFromComponent(ApprovalSuccessSnackbarComponent, {\n\t\t\t\t\t\tduration: this.durationInSeconds * 1000\n\t\t\t\t\t});\n\n\t\t\t\t\tconsole.log(p);\n\t\t\t\t}\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => (this.isLoading = false)\n\t\t);\n\t\tthis.location.back();\n\t}\n}\n","import { Location } from '@angular/common';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { TraineeContinuousAssessmentModel } from '../../model/trainee_continuous_assessment.model';\nimport { TraineeMedicalProcedureCaseModel } from '../../model/trainee_medical_procedure_case.model';\nimport { ContinuousAssessmentService } from '../../providers/continuous_assessment.service';\nimport { MedicalProcedureService } from '../../providers/medical_procedure.service';\nimport { ApprovalSuccessSnackbarComponent } from '../approval-success-snackbar/approval-success-snackbar.component';\n\n@Component({\n\tselector: 'app-assessment-case-approval-dialog',\n\ttemplateUrl: './not-approve-assessment.component.html',\n\tstyleUrls: [ './not-approve-assessment.component.css' ]\n})\nexport class AssessmentCaseNotApprovalDialogComponent implements OnInit {\n\tselectedItem: TraineeContinuousAssessmentModel;\n\terrorMessage: string = '';\n\tisLoading: boolean = true;\n\tdurationInSeconds = 1;\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tprivate location: Location,\n\t\tprivate mApiService: ContinuousAssessmentService,\n\t\tprivate _snackBar: MatSnackBar,\n\t\tprivate dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\n\t) {}\n\n\tngOnInit(): void {\n\t\tthis.selectedItem = this.data;\n\t}\n\n\tclose() {\n\t\tthis.dialogRef.close();\n\t}\n\n\tnotApprove() {\n\t\tconsole.log(this.selectedItem.ApprovalStatus);\n\t\tthis.mApiService.approveTraineeContinuousAssessment(this.selectedItem).subscribe(\n\t\t\t(p) => {\n\t\t\t\tif (p) {\n\t\t\t\t\tthis.selectedItem.ApprovalStatus = 'UNAPPROVE';\n\t\t\t\t\t// console.log(p);\n\t\t\t\t}\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => (this.isLoading = false)\n\t\t);\n\t\tthis.location.back();\n\t\t// this.dataGrid.instance.refresh();\n\t}\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-password-reset-snackbar',\n templateUrl: './password-reset-snackbar.component.html',\n styleUrls: ['./password-reset-snackbar.component.css']\n})\nexport class PasswordResetSnackbarComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AuthService } from '../../auth/auth.service';\nimport { FacultyMedicalProcedureHospitalModel } from '../../model/faculty_medical_procedure_hospital.model';\nimport { FacultyMedicalProcedureService } from '../../providers/faculty_medical_procedure.service';\nimport { AddSuccessSnackbarComponent } from '../add-success-snackbar/add-success-snackbar.component';\n\n@Component({\n selector: 'app-procedure-hospital-add-dialog',\n templateUrl: './procedure-hospital-add-dialog.component.html',\n styleUrls: ['./procedure-hospital-add-dialog.component.css']\n})\nexport class ProcedureHospitalAddDialogComponent implements OnInit {\n\n\n newItem:any;\n errorMessage: string = '';\n isLoading: boolean = true;\n durationInSeconds = 1;\n\n\n constructor(private fb: FormBuilder, private mApiService:FacultyMedicalProcedureService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) { }\n\n ngOnInit(): void {\n this.newItem = this.data;\n }\n\n saveNewItem(){\n\n \n \n this.mApiService\n .addHospital(this.newItem)\n .subscribe(\n p=>{\n this.dialogRef.close() ;\n\n this._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n \n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n}\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { FacultyMedicalProcedureModel } from '../../model/faculty_medical_procedure.model';\nimport { FacultyMedicalProcedureParameterModel } from '../../model/faculty_medical_procedure_parameter';\nimport { FacultyMedicalProcedureParameterService } from '../../providers/faculty_medical_procedure_parameter.service';\nimport { AddSuccessSnackbarComponent } from '../add-success-snackbar/add-success-snackbar.component';\n\n@Component({\n selector: 'app-procedure-parameter-add-dialog',\n templateUrl: './procedure-parameter-add-dialog.component.html',\n styleUrls: ['./procedure-parameter-add-dialog.component.css']\n})\nexport class ProcedureParameterAddDialogComponent implements OnInit {\n\n newItem:FacultyMedicalProcedureParameterModel;\n mFacultyMedicalProcedure:FacultyMedicalProcedureModel;;\n errorMessage: string = '';\n isLoading: boolean = true;\n durationInSeconds = 1;\n mItems:FacultyMedicalProcedureParameterModel[]; \n // mApiService:FacultyMedicalProcedureParameterService;\n\n constructor(private fb: FormBuilder, private mApiService:FacultyMedicalProcedureParameterService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) {\n this.mFacultyMedicalProcedure=data;\n }\n\n ngOnInit(): void {\n \n\n // this.newItem = this.data;\n this.newItem = new FacultyMedicalProcedureParameterModel()\n \n }\n\n getItemsList(id:string)\n{\n this.mItems=[];\n this.isLoading=true;\n \n\n this.mApiService.getItems(id)\n .subscribe(\n p=>this.mItems=p,\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n}\n\n\n \nsaveNewItem(){\n\n \n\n this.newItem.FacultyMedicalProcedureId=this.mFacultyMedicalProcedure.Id;\n this.newItem.ProgramcategoryId=this.mFacultyMedicalProcedure.ProgramCategoryId;\n if(this.mFacultyMedicalProcedure.FacultyFellowshipSpecialisationId!=\"null\")\n this.newItem.FellowshipSpecialisationId=this.mFacultyMedicalProcedure.FacultyFellowshipSpecialisationId;\n \n console.log(this.newItem);\n \n this.mApiService\n .addItem(this.newItem)\n .subscribe(\n p=>{\n \n this.dialogRef.close() ;\n\n this._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n // this.varShowAddDialog=false;\n this.newItem=new FacultyMedicalProcedureParameterModel();\n this.getItemsList( this.mFacultyMedicalProcedure.Id);\n \n\n \n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n}\n}\n","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { FacultyMedicalProcedureModel } from \"../../model/faculty_medical_procedure.model\";\nimport { FacultyMedicalProcedureCaseReviewParameterModel } from \"../../model/faculty_medical_procedure_case_review.model\";\nimport { FacultyMedicalProcedureCaseReviewParameterService } from \"../../providers/faculty_medical_procedure_case_review_parameter.service\";\nimport { AddSuccessSnackbarComponent } from \"../add-success-snackbar/add-success-snackbar.component\";\n\n@Component({\n selector: \"app-procedure-review-parameter-add-dialog\",\n templateUrl: \"./procedure-review-parameter-add-dialog.component.html\",\n styleUrls: [\"./procedure-review-parameter-add-dialog.component.css\"],\n})\nexport class ProcedureReviewParameterAddDialogComponent implements OnInit {\n newItem:FacultyMedicalProcedureCaseReviewParameterModel;\n mFacultyMedicalProcedure: FacultyMedicalProcedureModel;\n errorMessage: string = \"\";\n isLoading: boolean = true;\n durationInSeconds = 1;\n mItems:FacultyMedicalProcedureCaseReviewParameterModel[]; \n\n \n constructor(private fb: FormBuilder, private mApiService:FacultyMedicalProcedureCaseReviewParameterService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) {}\n\n ngOnInit(): void {\n this.newItem = new FacultyMedicalProcedureCaseReviewParameterModel();\n }\n\n\n getItemsList(id:string)\n{\n this.mItems=[];\n this.isLoading=true;\n \n\n this.mApiService.getItems(id)\n .subscribe(\n p=>{\n \n this.mItems=p\n \n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n \n}\n\n saveNewItem(){\n\n this.newItem.FacultyMedicalProcedureId=this.mFacultyMedicalProcedure.Id;\n \n this.mApiService\n .addItem(this.newItem)\n .subscribe(\n p=>{\n\n this.dialogRef.close() ;\n\n this._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n \n // this.varShowAddDialog=false;\n this.newItem=new FacultyMedicalProcedureCaseReviewParameterModel();\n this.getItemsList( this.mFacultyMedicalProcedure.Id)\n \n \n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n}\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n \n@Component({\n selector: 'app-prompt-dialog',\n templateUrl: './prompt-dialog.component.html',\n styleUrls: ['./prompt-dialog.component.scss']\n})\nexport class PromptDialogComponent implements OnInit {\n \n message:string;\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any) { \n this.message=data;\n }\n \n \n ngOnInit() {\n\n document.getElementById(\"message\").innerHTML = this.message\n }\n public closeDialog = () => {\n this.dialogRef.close();\n }\n}","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n \n@Component({\n selector: 'app-success-dialog',\n templateUrl: './success-dialog.component.html',\n styleUrls: ['./success-dialog.component.scss']\n})\nexport class SuccessDialogComponent implements OnInit {\n \n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any) { }\n \n ngOnInit() {\n }\n \n public closeDialog = () => {\n this.dialogRef.close();\n }\n}","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-success-snackbar',\n templateUrl: './success-snackbar.component.html',\n styleUrls: ['./success-snackbar.component.css']\n})\nexport class SuccessSnackbarComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AuthService } from '../../auth/auth.service';\nimport { FacultyModel } from '../../model/faculty.model';\nimport { SuggestedTrainerModel } from '../../model/suggested_trainer.model';\nimport { FacultyService } from '../../providers/faculty.service';\n\n@Component({\n\tselector: 'app-suggested-trainers-edit-dialog',\n\ttemplateUrl: './suggested-trainers-edit-dialog.component.html',\n\tstyleUrls: [ './suggested-trainers-edit-dialog.component.css' ]\n})\nexport class SuggestedTrainersEditDialogComponent implements OnInit {\n\tmItems: Array = [];\n\n\tselectedItem: SuggestedTrainerModel;\n\tmFacultyService: FacultyService;\n\terrorMessage: string = '';\n\tisLoading: boolean = true;\n\tactionDisabled = false;\n\tvarShowActionDialog: boolean = false;\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tpublic snackBar: MatSnackBar,\n\t\tprivate mApiService: AuthService,\n\t\tprivate dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\n\t) {}\n\n\tonNoClick(): void {\n\t\tthis.dialogRef.close();\n\t}\n\n\tngOnInit(): void {\n\t\tthis.selectedItem = this.data;\n\t}\n\n\tgetSuggestedTrainers() {\n\t\tthis.mApiService\n\t\t\t.getSuggestedTrainersByStatus('PENDING')\n\t\t\t.subscribe((p) => (this.mItems = p), (e) => (this.errorMessage = e), () => (this.isLoading = false));\n\t}\n\n\topenSnackBar(message: string) {\n\t\tthis.snackBar.open(message, '', { duration: 500 });\n\t}\n\n\tpublic takeSuggestedTrainerAction(action: string) {\n\t\tthis.actionDisabled = true;\n\t\tthis.selectedItem.Status = action;\n\t\tthis.selectedItem.ApprovedByUserId = this.mApiService.authUser.userId;\n\n\t\tthis.mApiService.takeSuggestedTrainerAction(this.selectedItem).subscribe(\n\t\t\t(p) => {\n\t\t\t\tif (p) {\n\t\t\t\t\tif (p.Success == 0) {\n\t\t\t\t\t\tthis.varShowActionDialog = false;\n\t\t\t\t\t\tthis.getSuggestedTrainers();\n\t\t\t\t\t\tthis.openSnackBar(p.Message);\n\t\t\t\t\t\tthis.dialogRef.close();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.varShowActionDialog = false;\n\t\t\t\t\t\tthis.openSnackBar(p.Message);\n\t\t\t\t\t\tthis.dialogRef.close();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => {\n\t\t\t\tthis.actionDisabled = false;\n\t\t\t\tthis.isLoading = false;\n\t\t\t}\n\t\t);\n\t}\n}\n","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { AuthService } from \"../../auth/auth.service\";\nimport { UserModel } from \"../../model/user.model\";\nimport { AddSuccessSnackbarComponent } from \"../add-success-snackbar/add-success-snackbar.component\";\n\n@Component({\n selector: \"app-trainee-add-dialog\",\n templateUrl: \"./trainee-add-dialog.component.html\",\n styleUrls: [\"./trainee-add-dialog.component.css\"],\n})\nexport class TraineeAddDialogComponent implements OnInit {\n newItem: any;\n addMessage: string = null;\n errorMessage: string = \"\";\n isLoading: boolean = true;\n mItems: UserModel[];\n durationInSeconds = 1;\n\n constructor(\n private fb: FormBuilder,\n private mApiService: AuthService,\n private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {}\n\n ngOnInit(): void {\n this.newItem = this.data;\n }\n\n getTrainneListAll() {\n this.mItems = [];\n this.isLoading = true;\n\n this.mApiService.getTrainees().subscribe(\n (p) => {\n this.mItems = p;\n },\n (e) => (this.errorMessage = e),\n () => (this.isLoading = false)\n );\n }\n\n onlyNumberKey(event) {\n let ASCIICode = event.which ? event.which : event.keyCode;\n if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57)) return false;\n return true;\n }\n\n public saveNewItem() {\n this.addMessage = null;\n this.newItem.UserRole = \"Student\";\n\n this.mApiService.addUser(this.newItem).subscribe(\n (p) => {\n if (p.Success == 0) {\n this.dialogRef.close();\n\n this._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n // this.addModal.close('1');\n this.newItem = new UserModel();\n this.getTrainneListAll();\n } else {\n this.addMessage = p.Message;\n }\n },\n (e) => (this.errorMessage = e),\n () => (this.isLoading = false)\n );\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AuthService } from '../../auth/auth.service';\nimport { UserModel } from '../../model/user.model';\nimport { PasswordResetSnackbarComponent } from '../password-reset-snackbar/password-reset-snackbar.component';\n\n@Component({\n selector: 'app-trainee-password-reset-dialog',\n templateUrl: './trainee-password-reset-dialog.component.html',\n styleUrls: ['./trainee-password-reset-dialog.component.css']\n})\nexport class TraineePasswordResetDialogComponent implements OnInit {\n\n\n errorMessage: string = '';\n isLoading: boolean = true;\n durationInSeconds = 1;\n\n\n selectedItem: UserModel;\n\n constructor(private fb: FormBuilder, private mApiService: AuthService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) { }\n\n ngOnInit(): void {\n this.selectedItem = this.data;\n }\n\n\n savePasswordReset() {\n\n this.mApiService\n .resetSystemUserPassword(this.selectedItem)\n .subscribe(\n p => {\n\n if (p) {\n this.dialogRef.close() ;\n\n this._snackBar.openFromComponent(PasswordResetSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n // this.varShowPasswordResetDialog = false;\n }\n\n\n },\n e => this.errorMessage = e,\n () => this.isLoading = false\n )\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AuthService } from '../../auth/auth.service';\nimport { AuthUserModel } from '../../model/auth_user.model';\nimport { TrainerApproveAllModel } from '../../model/trainer_approve_all.model';\nimport { UserModel } from '../../model/user.model';\nimport { MedicalProcedureService } from '../../providers/medical_procedure.service';\nimport { TraineeMedicalProcedureCaseModel } from '../../model/trainee_medical_procedure_case.model';\n\n@Component({\n\tselector: 'app-trainee-rotations-approveall-dialog',\n\ttemplateUrl: './trainee-procedure-case-approveall-dialog.component.html',\n\tstyleUrls: [ './trainee-procedure-case-approveall-dialog.component.css' ]\n})\nexport class TraineeProceduresApproveAllDialogComponent implements OnInit {\n\titem: TrainerApproveAllModel;\n\tmAuthService: AuthService;\n\terrorMessage: string = '';\n\tisLoading: boolean = true;\n\tdurationInSeconds = 1;\n\tmUserFacultyId: string;\n\tmUserId: string;\n\tmUser: UserModel;\n\tauthUser: AuthUserModel = null;\n\t// authUser:AuthUserModel\n\tmItems: TraineeMedicalProcedureCaseModel[];\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tprivate location: Location,\n\t\tprivate mApiService: MedicalProcedureService,\n\t\tprivate _snackBar: MatSnackBar,\n\t\tprivate dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\n\t) {\n\t\tthis.item = new TrainerApproveAllModel();\n\t\t// this.authUser = new AuthUserModel()\n\t}\n\n\tngOnInit(): void {\n\t\t// console.log(this.item);\n\t\tthis.item = this.data;\n\t\tconsole.log(this.data);\n\t}\n\n\tgetItemsList(supervisorId: string, userId: string) {\n\t\tthis.mItems = [];\n\t\tthis.isLoading = true;\n\n\t\tthis.mApiService.getTrainerTraineeProcedureCases(supervisorId, userId).subscribe(\n\t\t\t(p) => {\n\t\t\t\t(this.mItems = p), console.log(p);\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => (this.isLoading = false)\n\t\t);\n\t}\n\n\t// getItemsList()\n\t// {\n\t// this.mItems=[];\n\t// this.isLoading=true;\n\n\t// this.mApiService.getTraineeMedicalProcedureCases(this.mTraineeMedicalProcedure.FacultyMedicalProcedureId,this.mTraineeMedicalProcedure.StudentId)\n\t// .subscribe(\n\t// p=>{\n\n\t// this.setItems(p);\n\t// console.log(p);\n\n\t// },\n\t// e => this.errorMessage = e,\n\t// ()=>this.isLoading=false\n\t// )\n\n\t// }\n\n\tclose() {\n\t\tthis.dialogRef.close();\n\t}\n\tapproveAll() {\n\t\t// let authUser=this.mAuthService.authUser;\n\t\tlet authUser = this.data.SupervisorId;\n\t\tlet approveData = new TrainerApproveAllModel();\n\t\tapproveData.StudentId = this.data.StudentId;\n\t\tapproveData.SupervisorId = authUser;\n\t\tapproveData.Action = 'APPROVED';\n\t\tapproveData.Remark = '';\n\t\t// console.log(JSON.stringify(approveData));\n\t\tconsole.log(approveData.SupervisorId);\n\t\tconsole.log(approveData.StudentId);\n\n\t\tthis.mApiService.approveAllTrainerTraineePendingProcedures(approveData).subscribe(\n\t\t\t(p) => {\n\t\t\t\tthis.dialogRef.close();\n\n\t\t\t\tif (p) {\n\t\t\t\t\tif (p.success == 0) this.getItemsList(approveData.SupervisorId, approveData.StudentId);\n\t\t\t\t\t// this.getItemsList(authUser.userId, this.mUser.Id);\n\t\t\t\t}\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => (this.isLoading = false)\n\t\t);\n\t\tthis.location.back();\n\t}\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AuthService } from '../../auth/auth.service';\nimport { AuthUserModel } from '../../model/auth_user.model';\nimport { TraineeRotationsModel } from '../../model/trainee_rotations.model';\nimport { TrainerApproveAllModel } from '../../model/trainer_approve_all.model';\nimport { UserModel } from '../../model/user.model';\nimport { RotationsService } from '../../providers/rotations.service';\n\n@Component({\n\tselector: 'app-trainee-rotations-approveall-dialog',\n\ttemplateUrl: './trainee-rotations-approveall-dialog.component.html',\n\tstyleUrls: [ './trainee-rotations-approveall-dialog.component.css' ]\n})\nexport class TraineeRotationsApproveallDialogComponent implements OnInit {\n\titem: TrainerApproveAllModel;\n\tmAuthService: AuthService;\n\terrorMessage: string = '';\n\tisLoading: boolean = true;\n\tdurationInSeconds = 1;\n\tmUserFacultyId: string;\n\tmUserId: string;\n\tmUser: UserModel;\n\tauthUser: AuthUserModel = null;\n\t// authUser:AuthUserModel\n\tmItems: TraineeRotationsModel[];\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tprivate location: Location,\n\t\tprivate mApiService: RotationsService,\n\t\tprivate _snackBar: MatSnackBar,\n\t\tprivate dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\n\t) {\n\t\tthis.item = new TrainerApproveAllModel();\n\t\t// this.authUser = new AuthUserModel()\n\t}\n\n\tngOnInit(): void {\n\t\t// console.log(this.item);\n\t\tthis.item = this.data;\n\t\tconsole.log(this.data);\n\t}\n\n\tgetItemsList(supervisorId: string, userId: string) {\n\t\tthis.mItems = [];\n\t\tthis.isLoading = true;\n\n\t\tthis.mApiService\n\t\t\t.getTrainerTraineeRotations(supervisorId, userId)\n\t\t\t.subscribe((p) => (this.mItems = p), (e) => (this.errorMessage = e), () => (this.isLoading = false));\n\t}\n\tclose() {\n\t\tthis.dialogRef.close();\n\t}\n\tapproveAll() {\n\t\tconsole.log(this.mUser);\n\t\t// let authUser=this.mAuthService.authUser;\n\t\tlet authUser = this.data.SupervisorId;\n\t\tlet approveData = new TrainerApproveAllModel();\n\t\tapproveData.StudentId = this.data.StudentId;\n\t\tapproveData.SupervisorId = authUser;\n\t\tapproveData.Action = 'APPROVED';\n\t\tapproveData.Remark = '';\n\t\t// console.log(JSON.stringify(approveData));\n\t\t// console.log(approveData.SupervisorId);\n\t\t// console.log(approveData.StudentId);\n\n\t\tthis.mApiService.approveAllTrainerTraineePendingRotaions(approveData).subscribe(\n\t\t\t(p) => {\n\t\t\t\tthis.dialogRef.close();\n\n\t\t\t\t// console.log(p);\n\t\t\t\tif (p) {\n\t\t\t\t\tif (p.success == 0) this.getItemsList(approveData.SupervisorId, approveData.StudentId);\n\t\t\t\t}\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => (this.isLoading = false)\n\t\t);\n\t\tthis.location.back();\n\n\t\t// this.mApiService.approveAllTrainerTraineePendingRotaions(approveData).subscribe(\n\t\t// \t(p) => {\n\t\t// \t\t// this.dialog.closeAll()\n\t\t// \t\tif (p) {\n\t\t// \t\t\tif (p.success == 0) this.getItemsList(approveData.SupervisorId, approveData.StudentId);\n\t\t// \t\t\tconsole.log(p);\n\t\t// \t\t}\n\t\t// \t},\n\t\t// \t(e) => (this.errorMessage = e),\n\t\t// \t() => (this.isLoading = false)\n\t\t// );\n\t}\n}\n","import { Location } from \"@angular/common\";\nimport { Component, Inject, OnInit } from \"@angular/core\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { AuthService } from \"../../auth/auth.service\";\nimport { UserModel } from \"../../model/user.model\";\nimport { SuccessSnackbarComponent } from \"../success-snackbar/success-snackbar.component\";\n\n@Component({\n selector: \"app-trainees-edit-dialog\",\n templateUrl: \"./trainees-edit-dialog.component.html\",\n styleUrls: [\"./trainees-edit-dialog.component.css\"],\n})\nexport class TraineesEditDialogComponent implements OnInit {\n addMessage: string = null;\n newItem: UserModel;\n mItems: UserModel[];\n location: Location;\n\n durationInSeconds = 1;\n\n errorMessage: string = \"\";\n isLoading: boolean = true;\n selectedItem: UserModel;\n\n constructor(\n private fb: FormBuilder,\n private mApiService: AuthService,\n private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {}\n\n ngOnInit(): void {\n this.selectedItem = this.data;\n }\n\n getTraineeListAll() {\n this.mItems = [];\n this.isLoading = true;\n\n this.mApiService.getTrainees().subscribe(\n (p) => (this.mItems = p),\n (e) => (this.errorMessage = e),\n () => (this.isLoading = false)\n );\n }\n\n onlyNumberKey(event) {\n let ASCIICode = event.which ? event.which : event.keyCode;\n if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57)) return false;\n return true;\n }\n\n saveEditItem() {\n this.mApiService.updateUser(this.selectedItem).subscribe(\n (p) => {\n console.log(p);\n\n // this.editModal.close('1');\n this.selectedItem = new UserModel();\n this.getTraineeListAll();\n this.dialogRef.close();\n this.location.back();\n\n this._snackBar.openFromComponent(SuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n },\n (e) => (this.errorMessage = e),\n () => (this.isLoading = false)\n );\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AuthService } from '../../auth/auth.service';\nimport { UserModel } from '../../model/user.model';\nimport { SuccessSnackbarComponent } from '../success-snackbar/success-snackbar.component';\n\n@Component({\n selector: 'app-trainer-password-edit-dailog',\n templateUrl: './trainer-password-edit-dailog.component.html',\n styleUrls: ['./trainer-password-edit-dailog.component.css']\n})\nexport class TrainerPasswordEditDailogComponent implements OnInit {\n\n errorMessage: string = '';\n isLoading: boolean = true;\n\n durationInSeconds = 1;\n\n selectedItem:UserModel;\n\n constructor(private fb: FormBuilder,private mApiService:AuthService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) { }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ngOnInit(): void {\n this.selectedItem = this.data;\n }\n\n \nsavePasswordReset()\n{\n\n console.log( this.selectedItem);\n\n \n this.mApiService\n .resetSystemUserPassword(this.selectedItem)\n .subscribe(\n p=>{\n \n if(p)\n {\n this.dialogRef.close() ;\n\n this._snackBar.openFromComponent(SuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n \n // this.varShowPasswordResetDialog=false;\n }\n \n \n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n}\n\n}\n","import { Location } from \"@angular/common\";\nimport { Component, Inject, OnInit } from \"@angular/core\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\nimport { getMatFormFieldMissingControlError } from \"@angular/material/form-field\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { AuthService } from \"../../auth/auth.service\";\nimport { FacultyModel } from \"../../model/faculty.model\";\nimport { UserModel } from \"../../model/user.model\";\nimport { TraineeFelloshipSpecialisationModule } from \"../../pages/user/trainee-fellowship-specialisations/trainee-fellowship-specialisation.module\";\nimport { FacultyService } from \"../../providers/faculty.service\";\nimport { AddSuccessSnackbarComponent } from \"../add-success-snackbar/add-success-snackbar.component\";\n\n@Component({\n selector: \"app-trainers-add-dialog\",\n templateUrl: \"./trainers-add-dialog.component.html\",\n styleUrls: [\"./trainers-add-dialog.component.css\"],\n})\nexport class TrainersAddDialogComponent implements OnInit {\n newItem: UserModel;\n mFaculties: FacultyModel[];\n errorMessage: string = \"\";\n isLoading: boolean = true;\n mItems: UserModel[];\n\n durationInSeconds = 1;\n addMessage: string = null;\n location: Location;\n\n constructor(\n private fb: FormBuilder,\n private mApiService: AuthService,\n private mFacultyService: FacultyService,\n private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this.newItem = new UserModel();\n }\n\n ngOnInit(): void {\n // this.getFaculties();\n this.newItem = this.data;\n console.log(\"myOwn\", this.newItem);\n }\n\n getItemsList() {\n let id = \"1A9810A1-EE07-44C9-9475-5E4BD7EEF56D\"; // default id used to select all trainers\n\n this.mItems = [];\n this.isLoading = true;\n\n this.mApiService.getTrainers(id).subscribe(\n (p) => (this.mItems = p),\n (e) => (this.errorMessage = e),\n () => (this.isLoading = false)\n );\n }\n\n onlyNumberKey(event) {\n let ASCIICode = event.which ? event.which : event.keyCode;\n if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57)) return false;\n return true;\n }\n\n saveNewItem() {\n this.newItem.UserRole = \"Supervisor\";\n console.log(this.newItem);\n this.mApiService.addUser(this.newItem).subscribe(\n (p) => {\n this.newItem = new UserModel();\n this.getItemsList();\n this.dialogRef.close();\n this._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n\n // this.newItem = new UserModel();\n },\n (e) => (this.errorMessage = e),\n () => (this.isLoading = false)\n );\n }\n\n // saveNewItem() {\n // // this.addMessage = null;\n\n // console.log(this.newItem);\n // this.newItem.UserRole = \"Supervisor\";\n\n // this.mApiService.addUser(this.newItem).subscribe(\n // (p) => {\n // if (p) {\n // if (p.Success == 0) {\n\n // this.newItem = new UserModel();\n // this.getItemsList();\n\n // this.dialogRef.close() ;\n\n // this._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n // duration: this.durationInSeconds * 1000,\n // });\n // } else {\n\n // this.addMessage = p.Message;\n // }\n // }\n // },\n // (e) => (this.errorMessage = e),\n // () => (this.isLoading = false)\n // );\n // }\n}\n","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { AuthService } from \"../../auth/auth.service\";\nimport { UserModel } from \"../../model/user.model\";\nimport { SuccessSnackbarComponent } from \"../success-snackbar/success-snackbar.component\";\n\n@Component({\n selector: \"app-trainers-edit-dialog\",\n templateUrl: \"./trainers-edit-dialog.component.html\",\n styleUrls: [\"./trainers-edit-dialog.component.css\"],\n})\nexport class TrainersEditDialogComponent implements OnInit {\n mItems: UserModel[];\n errorMessage: string = \"\";\n isLoading: boolean = true;\n\n durationInSeconds = 1;\n\n selectedItem: UserModel;\n\n constructor(\n private fb: FormBuilder,\n private mApiService: AuthService,\n private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {}\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ngOnInit(): void {\n this.selectedItem = this.data;\n }\n\n getItemsList() {\n let id = \"1A9810A1-EE07-44C9-9475-5E4BD7EEF56D\"; // default id used to select all trainers\n\n this.mItems = [];\n this.isLoading = true;\n\n this.mApiService.getTrainers(id).subscribe(\n (p) => (this.mItems = p),\n (e) => (this.errorMessage = e),\n () => (this.isLoading = false)\n );\n }\n\n onlyNumberKey(event) {\n let ASCIICode = event.which ? event.which : event.keyCode;\n if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57)) return false;\n return true;\n }\n\n saveEditItem() {\n this.mApiService.updateUserTrainer(this.selectedItem).subscribe(\n (p) => {\n // this.editModal.close('1');\n this.selectedItem = new UserModel();\n this.getItemsList();\n\n this.dialogRef.close();\n\n this._snackBar.openFromComponent(SuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n },\n (e) => (this.errorMessage = e),\n () => (this.isLoading = false)\n );\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AuthService } from '../../auth/auth.service';\nimport { UserModel } from '../../model/user.model';\nimport { AddSuccessSnackbarComponent } from '../add-success-snackbar/add-success-snackbar.component';\n\n@Component({\n\tselector: 'app-user-add-dialog',\n\ttemplateUrl: './user-add-dialog.component.html',\n\tstyleUrls: [ './user-add-dialog.component.css' ]\n})\nexport class UserAddDialogComponent implements OnInit {\n\tnewItem: UserModel;\n\taddMessage: string = null;\n\tmItems: UserModel[];\n\tdurationInSeconds = 1;\n\terrorMessage: string = '';\n\tisLoading: boolean = true;\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tprivate location: Location,\n\t\tprivate mApiService: AuthService,\n\t\tprivate _snackBar: MatSnackBar,\n\t\tprivate dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\n\t) {}\n\n\tngOnInit(): void {\n\t\tthis.newItem = this.data;\n\t}\n\n\tgetItemsList() {\n\t\tthis.mItems = [];\n\t\tthis.isLoading = true;\n\n\t\tthis.mApiService\n\t\t\t.getSystemUsers()\n\t\t\t.subscribe((p) => (this.mItems = p), (e) => (this.errorMessage = e), () => (this.isLoading = false));\n\t}\n\n\toldsaveNewItem() {\n\t\tconsole.log(JSON.stringify(this.newItem));\n\n\t\tthis.addMessage = null;\n\t\tthis.mApiService.addUser(this.newItem).subscribe(\n\t\t\t(p) => {\n\t\t\t\tconsole.log(p);\n\t\t\t\tif (p.Success == 0) {\n\t\t\t\t\tthis.dialogRef.close();\n\n\t\t\t\t\tthis._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n\t\t\t\t\t\tduration: this.durationInSeconds * 1000\n\t\t\t\t\t});\n\t\t\t\t\t// this.addModal.close('1');\n\t\t\t\t\t// this.newItem = new UserModel();\n\t\t\t\t\tthis.getItemsList();\n\t\t\t\t\tconsole.log('new User', this.newItem);\n\t\t\t\t} else {\n\t\t\t\t\tthis.addMessage = p.Message;\n\t\t\t\t}\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => (this.isLoading = false)\n\t\t);\n\t}\n\n\tpublic saveNewItem() {\n\t\tthis.addMessage = null;\n\n\t\tthis.mApiService.addUser(this.newItem).subscribe(\n\t\t\t(p) => {\n\t\t\t\tif (p.Success == 0) {\n\t\t\t\t\tthis.dialogRef.close();\n\n\t\t\t\t\tthis._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n\t\t\t\t\t\tduration: this.durationInSeconds * 1000\n\t\t\t\t\t});\n\t\t\t\t\t// this.addModal.close('1');\n\t\t\t\t\tthis.newItem = new UserModel();\n\t\t\t\t\tthis.getItemsList();\n\t\t\t\t} else {\n\t\t\t\t\tthis.addMessage = p.Message;\n\t\t\t\t}\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => (this.isLoading = false)\n\t\t);\n\t}\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AuthService } from '../../auth/auth.service';\nimport { UserRoleAppModuleModel } from '../../model/user_role_module.model';\n\n@Component({\n selector: 'app-user-rights-add-dialog',\n templateUrl: './user-rights-add-dialog.component.html',\n styleUrls: ['./user-rights-add-dialog.component.css']\n})\nexport class UserRightsAddDialogComponent implements OnInit {\n \n newItem:UserRoleAppModuleModel;\n selectedRole:UserRoleSearchModel;\n mItems:UserRoleAppModuleModel[]; \n selectedItem:UserRoleAppModuleModel;\n errorMessage: string = '';\n isLoading: boolean = true;\n \n\n constructor(\n private fb: FormBuilder, private mApiService:AuthService, private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any\n ) { \n this.selectedItem=new UserRoleAppModuleModel();\n this.newItem=new UserRoleAppModuleModel();\n this.selectedRole=new UserRoleSearchModel();\n }\n\n ngOnInit(): void {\n this.selectedItem = this.data\n }\n\n\n getItemsList()\n{\n this.mItems=[];\n this.isLoading=true;\n \n\n this.mApiService.getUserRoleAppModules(this.selectedRole.code)\n .subscribe(\n p=>this.mItems=p,\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n}\n\n \nsaveNewItem(){\n \n\n // add a new access right\n this.newItem.UserRoleId=this.selectedRole.code;\n this.mApiService\n .addUserRoleModule(this.newItem)\n .subscribe(\n p=>{\n \n this.getItemsList();\n this.newItem=new UserRoleAppModuleModel()\n this.selectedItem=null;\n // this.varShowAddDialog=false;\n\n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n}\n\n}\n\n\nclass UserRoleSearchModel{\n\n code:string;\n name:string;\n \n \n }\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AuthService } from '../../auth/auth.service';\nimport { UserModel } from '../../model/user.model';\nimport { SuccessSnackbarComponent } from '../success-snackbar/success-snackbar.component';\n\n@Component({\n selector: 'app-users-edit-dialog',\n templateUrl: './users-edit-dialog.component.html',\n styleUrls: ['./users-edit-dialog.component.css']\n})\nexport class UsersEditDialogComponent implements OnInit {\n\n errorMessage: string = '';\n isLoading: boolean = true;\n\n durationInSeconds = 1;\n\n selectedItem: UserModel;\n\n constructor(private fb: FormBuilder, private mApiService: AuthService, private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) { }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n\n ngOnInit(): void {\n this.selectedItem = this.data;\n }\n\n saveEditItem() {\n\n\n\n console.log(this.selectedItem);\n\n this.mApiService\n .updateUserTrainer(this.selectedItem)\n .subscribe(\n p => {\n\n console.log(p);\n\n // this.editModal.close('1');\n this.selectedItem = new UserModel();\n this.dialogRef.close() ;\n\n this._snackBar.openFromComponent(SuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n\n },\n e => this.errorMessage = e,\n () => this.isLoading = false\n )\n\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AuthService } from '../../auth/auth.service';\nimport { UserModel } from '../../model/user.model';\nimport { PasswordResetSnackbarComponent } from '../password-reset-snackbar/password-reset-snackbar.component';\n\n@Component({\n selector: 'app-users-password-reset-dialog',\n templateUrl: './users-password-reset-dialog.component.html',\n styleUrls: ['./users-password-reset-dialog.component.css']\n})\nexport class UsersPasswordResetDialogComponent implements OnInit {\n\n errorMessage: string = '';\n isLoading: boolean = true;\n durationInSeconds = 1;\n\n \n \n\n selectedItem:UserModel;\n\n constructor(private fb: FormBuilder,private mApiService:AuthService, private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) { }\n\n ngOnInit(): void {\n this.selectedItem = this.data;\n }\n\n \nsavePasswordReset()\n{\n\n this.mApiService\n .resetSystemUserPassword(this.selectedItem)\n .subscribe(\n p=>{\n \n if(p)\n {\n this.dialogRef.close() ;\n\n this._snackBar.openFromComponent(PasswordResetSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n // this.varShowPasswordResetDialog=false;\n }\n \n \n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n}\n \n\n}\n","export class AuthLoginModel{\n\n client_id:string;\n client_secret:string;\n username:string;\n password:string;\n grant_type:string;\n is_twitter_digit_auth:string;\n\n\n\n}","export class AuthUserModel{\n \n userId:string;\n userFullName:string;\n facultyId:string;\n hospitalId:string;\n userProgramCategory:number;\n roles:string[];\n userName:string;\n facultyName:string;\n hospitalName:string;\n programCategoryName:string;\n profilePictureSmallUrl:string;\n\n}\n\n","export class FacultyModel{\nId:string;\nFacultyCode:string;\nName:string;\nFacultyFellowshipSpecialtiesCount:number;\nFacultyMedicalProcedureCategoryCount:number;\nFacultyMedicalProceduresCount:number;\nFacultyContinuousAssessmentFormCount:number;\n mFacult: FacultyModel[];\n}","export class FacultyFellowshipSpecialisationModel{ \n Id:string\n FacultyId:string;\n FacultyName:string;\n FellowshipSpecialisationName:string;\n\n}","\nexport class FacultyMedicalProcedureModel{\n Id:string;\n CategoryName:string;\n CategoryId:string;\n FacultyId:string;\n FacultyName:string;\n ProcedureCode:string;\n MedicalProcedureName:string;\n Name:string; // this is same sa MedicalProcedureName useful for direct saving into db ,see EF FacultyMedicalProcedure model \n FacultyFellowshipSpecialisationId:string;\n FacultyFellowshipSpecialisationName:string;\n CasesCount:number;\n AcceptAttachment:boolean;\n PerformAtHospital:boolean;\n PerformAtHospitalCasesCount:number;\n ProgramCategoryId:number;\n IsPatientProcedure:boolean;\n Status:boolean;\n}\n \n ","\n\nexport class FacultyMedicalProcedureCaseReviewParameterModel{\n\n Id:string;\n FacultyMedicalProcedureId:string;\n Name:string;\n\n\n}\n\n","\n\nexport class FacultyMedicalProcedureParameterModel{\n Id:string;\n FacultyMedicalProcedureId:string;\n FellowshipSpecialisationId:string;\n ProgramcategoryId:number;\n Name:string; \n}","import { HospitalCategoryModel } from './hospital_category.model';\n\nexport class HospitalModel {\n\tId: string;\n\tHospitalCode: string;\n\tHospitalCategoryId: number;\n\tName: string;\n\tLocLat: number;\n\tLocLongt: number;\n\tHospitalCategory: HospitalCategoryModel;\n}\n","\n\nexport class TraineeMedicalProcedureCaseParameterModel\n{\n Id:string ;\n StudentMedicalProcedureCaseId:string;\n FacultyMedicalProcedureParameterId:string;\n ParameterName:string;\n ParameterValue:string;\n}","export class TraineeRotationsModel {\n\tId: string;\n\tFacultyRotationId: string;\n\tStudentId: string;\n\tStudentFullName: string;\n\tHospitalId: string;\n\tScheduleHospitalId: string;\n\tScheduledHospitalName: string;\n\tHospitalName: string;\n\tUnit: string;\n\tStartedOn: string;\n\tCompletedOn: string;\n\tSupervisorId: string;\n\tSupervisorFullName: string;\n\tApprovalStatus: string;\n\tIsActive: boolean;\n\tRemark: string;\n\tCreatedOn: string;\n\tStudentRotationScheduleId: string;\n\tRotationTypeId: number;\n\tRefNo: string;\n}\n","export class TrainerApproveAllModel {\n\tSupervisorId: string;\n\tStudentId: string;\n\tRemark: string;\n\tAction: string;\n}\n","import { HospitalModel } from './hospital.model';\nimport { FacultyModel } from './faculty.model';\nimport { ProgramCategoryModel } from './program_category.model';\n\nexport class UserModel {\n\tId: string;\n\tFirstName: string;\n\tLastName: string;\n\tMiddleName: string;\n\tFullName: string;\n\tPhoneNumber: string;\n\tEmail: string;\n\tAbout: string;\n\tFacultyId: string;\n\tProgramCategoryId: number;\n\tProgramCategoryName: string;\n\tFacultyName: string;\n\tFacultySpecialisationId: string;\n\tYearGroupId: string;\n\tYearGroupName: string;\n\tResidentId: string;\n\tHospitalId: number;\n\tUserName: string;\n\tPassword: string;\n\tConfirmPassword: string;\n\tUserRole: string;\n\tProfileImageSmallUrl: string;\n\tProgramCategory: ProgramCategoryModel;\n\tFaculty: FacultyModel;\n\tHospital: HospitalModel;\n\tHospitalName: string;\n\tFacultyContinuousAssessmentFormId: string;\n}\n","export class UserRoleAppModuleModel{\n\n\n Id:number;\n UserRoleId:string;\n ModuleId:number;\n UserRoleName:string;\n ModuleName:string;\n\n\n}\n\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AddSuccessSnackbarComponent } from '../../../dialogs/add-success-snackbar/add-success-snackbar.component';\nimport { FacultyModel } from '../../../model/faculty.model';\nimport { FacultyFellowshipSpecialisationModel } from '../../../model/faculty_fellowship_specialisation.model';\nimport { FacultyService } from '../../../providers/faculty.service';\nimport { FacultyFellowshipSpecialisationService } from '../../../providers/faculty_fellowship_specialisation.service';\nimport { Location } from '@angular/common';\n\n@Component({\n\tselector: 'app-fellowship-specialisation-add-dialog',\n\ttemplateUrl: './fellowship-specialisation-add-dialog.component.html',\n\tstyleUrls: [ './fellowship-specialisation-add-dialog.component.css' ]\n})\nexport class FellowshipSpecialisationAddDialogComponent implements OnInit {\n\tnewItem: FacultyFellowshipSpecialisationModel;\n\tmItems: FacultyFellowshipSpecialisationModel[];\n\tmFaculty: FacultyModel;\n\tdurationInSeconds = 1;\n\terrorMessage: string = '';\n\tisLoading: boolean = true;\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tprivate mApiService: FacultyFellowshipSpecialisationService,\n\t\tpublic facultyService: FacultyService,\n\t\tprivate location: Location,\n\t\tprivate _snackBar: MatSnackBar,\n\t\tprivate dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\n\t) {\n\t\tthis.newItem = new FacultyFellowshipSpecialisationModel();\n\t\tthis.mFaculty = new FacultyModel();\n\t}\n\n\tngOnInit(): void {\n\t\tthis.mFaculty = this.facultyService.mFaculty;\n\t}\n\n\tgetItemsList(id: string) {\n\t\tthis.mItems = [];\n\t\tthis.isLoading = true;\n\n\t\tthis.mApiService\n\t\t\t.getItems(id)\n\t\t\t.subscribe((p) => (this.mItems = p), (e) => (this.errorMessage = e), () => (this.isLoading = false));\n\t}\n\n\tsaveNewItem() {\n\t\tthis.newItem.FacultyId = this.mFaculty.Id;\n\t\t// console.log(this.newItem);\n\t\tthis.mApiService.addItem(this.newItem).subscribe(\n\t\t\t(p) => {\n\t\t\t\tthis.dialogRef.close();\n\t\t\t\tthis._snackBar.openFromComponent(AddSuccessSnackbarComponent, {\n\t\t\t\t\tduration: this.durationInSeconds * 1000\n\t\t\t\t});\n\n\t\t\t\tthis.newItem = new FacultyFellowshipSpecialisationModel();\n\t\t\t\t// this.getItemsList(this.mFaculty.Id);\n\t\t\t\tthis.location.back();\n\t\t\t},\n\t\t\t(e) => (this.errorMessage = e),\n\t\t\t() => (this.isLoading = false)\n\t\t);\n\t}\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SuccessSnackbarComponent } from '../../../dialogs/success-snackbar/success-snackbar.component';\nimport { FacultyFellowshipSpecialisationModel } from '../../../model/faculty_fellowship_specialisation.model';\nimport { FacultyFellowshipSpecialisationService } from '../../../providers/faculty_fellowship_specialisation.service';\n\n\n@Component({\n selector: 'app-fellowship-specialisation-edit-dialog',\n templateUrl: './fellowship-specialisation-edit-dialog.component.html',\n styleUrls: ['./fellowship-specialisation-edit-dialog.component.css']\n})\nexport class FellowshipSpecialisationEditDialogComponent implements OnInit {\n\n selectedItem:FacultyFellowshipSpecialisationModel;\n errorMessage: string = '';\n durationInSeconds = 1;\n isLoading: boolean = true;\n // mItems:FacultyMedicalProcedureParameterModel[]; \n\n constructor(private fb: FormBuilder, private mApiService:FacultyFellowshipSpecialisationService,private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) {\n this.selectedItem=new FacultyFellowshipSpecialisationModel();\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n\n ngOnInit(): void {\n this.selectedItem = this.data;\n }\n\n \nsaveEdit(){\n\n\n\n console.log(this.selectedItem);\n \n this.mApiService\n .editItem(this.selectedItem)\n .subscribe(\n p=> {\n this.dialogRef.close() ;\n this._snackBar.openFromComponent(SuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n } ,\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n}\n\n \n\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SuccessSnackbarComponent } from '../../../dialogs/success-snackbar/success-snackbar.component';\nimport { FacultyModel } from '../../../model/faculty.model';\nimport { FacultyFellowshipSpecialisationModel } from '../../../model/faculty_fellowship_specialisation.model';\nimport { FacultyMedicalProcedureCategoryModel } from '../../../model/faculty_medical_procedure_category.model';\nimport { MedicalProcedureService } from '../../../providers/medical_procedure.service';\n\n@Component({\n selector: 'app-fellowship-cat-edit-dialog',\n templateUrl: './fellowship-cat-edit-dialog.component.html',\n styleUrls: ['./fellowship-cat-edit-dialog.component.css']\n})\nexport class FellowshipCatEditDialogComponent implements OnInit {\n \n errorMessage: string = '';\n isLoading: boolean = true;\n mFaculty:FacultyModel;\n mItems:FacultyMedicalProcedureCategoryModel[]=[]; \n mFellowshipItems:FacultyMedicalProcedureCategoryModel[]=[]; \n mMembershipItems:FacultyMedicalProcedureCategoryModel[]=[];\n mFacultyFellowshipSpecialisations:FacultyFellowshipSpecialisationModel[]; \n durationInSeconds = 1;\n\n selectedItem:FacultyMedicalProcedureCategoryModel;\n\n constructor(private fb: FormBuilder, private mApiService:MedicalProcedureService, private _snackBar: MatSnackBar,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) { \n this.mFaculty = new FacultyModel()\n }\n\n ngOnInit(): void {\n this.selectedItem = this.data;\n }\n\n \nsaveEdit(){\n\n\n\n console.log(this.selectedItem);\n \n this.mApiService\n .editFcultyMedicalProcedureCategoryItem(this.selectedItem)\n .subscribe(\n p=> \n {\n \n this.getItemsList(this.mFaculty.Id);\n this.dialogRef.close() ;\n\n this._snackBar.openFromComponent(SuccessSnackbarComponent, {\n duration: this.durationInSeconds * 1000,\n });\n \n \n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n}\n\n\ngetItemsList(id:string)\n{\n this.mItems=[];\n this.isLoading=true;\n \n\n this.mApiService.getFacultyMedicalProcedureCategoriesItems(id,0)\n .subscribe(\n p=>{this.mItems=p\n this.categoriseItems();\n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n \n}\n\ncategoriseItems(): any {\n this.mFellowshipItems=this.mItems.filter(item=>item.ProgramCategoryId==1);\n this.mMembershipItems=this.mItems.filter(item=>item.ProgramCategoryId==2);\n}\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FacultyMedicalProcedureModel } from '../../../model/faculty_medical_procedure.model';\nimport { FacultyMedicalProcedureParameterModel } from '../../../model/faculty_medical_procedure_parameter';\nimport { FacultyMedicalProcedureParameterService } from '../../../providers/faculty_medical_procedure_parameter.service';\n\n@Component({\n selector: 'app-parameter-edit-dialog',\n templateUrl: './parameter-edit-dialog.component.html',\n styleUrls: ['./parameter-edit-dialog.component.css']\n})\nexport class ParameterEditDialogComponent implements OnInit {\n\n selectedItem:FacultyMedicalProcedureParameterModel;\n errorMessage: string = '';\n isLoading: boolean = true;\n mItems:FacultyMedicalProcedureParameterModel[]; \n mFacultyMedicalProcedure:FacultyMedicalProcedureModel\n\n constructor(private fb: FormBuilder, private mApiService:FacultyMedicalProcedureParameterService,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) {\n this.mFacultyMedicalProcedure=new FacultyMedicalProcedureModel();\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ngOnInit(): void {\n this.selectedItem = this.data;\n\n \n }\n\n saveEdit(){\n\n\n \n this.mApiService\n .editItem(this.selectedItem)\n .subscribe(\n p=> {\n this.getItemsList( this.mFacultyMedicalProcedure.Id);\n // this.varShowEditDialog=false \n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n}\n\n\ngetItemsList(id:string)\n{\n this.mItems=[];\n this.isLoading=true;\n \n\n this.mApiService.getItems(id)\n .subscribe(\n p=>this.mItems=p,\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n \n}\n\n\n}\n","import {AuthLoginModel} from '../../model/auth_login.model'\nimport {AuthService} from '../../auth/auth.service';\nimport {AuthUserModel} from '../../model/auth_user.model'\nimport {Component,Input ,OnInit,OnDestroy} from '@angular/core';\nimport {ActivatedRoute,Router} from '@angular/router';\nimport Typewriter from 't-writer.js'\n\n\n\n@Component({\n moduleId:module.id,\n\tselector : 'login',\n\ttemplateUrl : 'login.component.html',\n styleUrls:['login.component.scss']\n\n\n})\n\nexport class LoginComponent implements OnInit {\n\n mLogin:AuthLoginModel;\n mApiService:AuthService;\n errorMessage: string = '';\n isLoading: boolean = false;\n loginStatus:string=''\n route:ActivatedRoute;\n router:Router;\n\n constructor(mApiService:AuthService,route:ActivatedRoute,router:Router){\n\n\n this.mApiService=mApiService;\n this.mLogin=new AuthLoginModel();\n this.router=router;\n this.route=route;\n\n }\n ngOnInit() {\n const target = document.querySelector('.tw');\n const writer = new Typewriter(target, {\n loop: true,\n typeSpeed: 80,\n deleteSpeed: 80,\n typeColor: '#2D426D'\n })\n\n writer\n .type('Hello!')\n .rest(500)\n .changeOps({ deleteSpeed: 80 })\n .remove(6)\n .type('Welcome.')\n .rest(500)\n // .remove(4)\n // .type('synchronize callbacks')\n // .rest(500)\n // .changeOps({ deleteSpeed: 20 })\n // .remove(21)\n // .type('change options on the go')\n // .rest(500)\n .clear()\n .start()\n }\n\n\n login()\n {\n\n this.loginStatus='';\n this.isLoading=true;\n this.mApiService.login(this.mLogin.username,this.mLogin.password)\n .subscribe(\n p=>{\n\n this.isLoading=false;\n this.handleLogin(p)\n\n },\n e => {\n\n this.errorMessage = e;\n\n if('login_failure' in e)\n this.loginStatus= e.login_failure[0];\n else\n this.loginStatus='An error occured';\n\n this.isLoading=false;\n\n },\n ()=>this.isLoading=false\n )\n\n\n }\n\n handleLogin(user:AuthUserModel)\n {\n\n if(user)\n {\n localStorage.setItem(\"userId\",user.userId);\n localStorage.setItem(\"userFullName\",user.userFullName);\n localStorage.setItem(\"userName\",user.userName);\n localStorage.setItem(\"userProgramCategory\",user.userProgramCategory+\"\");\n console.log(\"Yupee Login success\");\n\n\n\n let linkName:string= this.getNavigateLink(user.roles);\n\n let link=[linkName]\n this.router.navigate(link);\n\n }\n else\n {\n this.loginStatus='Invalid UserName or Password';\n\n }\n\n }\n getNavigateLink(roles:string[]):string\n {\n\n console.log(roles);\n\n let link=\"dashboard\"\n if(roles.indexOf(\"Supervisor\")>0)\n {\n link=\"trainerDashboard\";\n }\n\n\n else if(roles.indexOf(\"Student\")>0)\n {\n link=\"traineeDashboard\";\n }\n\n\n return link;\n\n\n }\n\n\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-assessment-success-snackbar',\n templateUrl: './assessment-success-snackbar.component.html',\n styleUrls: ['./assessment-success-snackbar.component.css']\n})\nexport class AssessmentSuccessSnackbarComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AuthService } from '../../../../auth/auth.service';\nimport { UserRoleAppModuleModel } from '../../../../model/user_role_module.model';\n\n@Component({\n selector: 'app-user-right-delete-dialog',\n templateUrl: './user-right-delete-dialog.component.html',\n styleUrls: ['./user-right-delete-dialog.component.css']\n})\nexport class UserRightDeleteDialogComponent implements OnInit {\n\n selectedItem:UserRoleAppModuleModel;\n mItems:UserRoleAppModuleModel[]; \n errorMessage: string = '';\n\tisLoading: boolean = true;\n\n constructor(\n private location: Location,\n\t\tprivate mApiService:AuthService,\n\t\tprivate _snackBar: MatSnackBar,\n\t\tprivate dialogRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n this.selectedItem = this.data;\n }\n\n \n \nremoveItemInList(item:UserRoleAppModuleModel){\n\n let index:number=this.mItems.indexOf(item);\n\n if(index>0)\n {\n this.mItems.splice(index,1);\n }\n\n\n}\n\n\nclose() {\n this.dialogRef.close();\n}\n \nsaveDelete(){\n \n\n // add a new access right\n this.mApiService\n .removeUserRoleModule(this.selectedItem)\n .subscribe(\n p=>{\n\n this.removeItemInList(this.selectedItem);\n this.selectedItem=null;\n this.dialogRef.close();\n \n \n },\n e => this.errorMessage = e,\n ()=>this.isLoading=false\n )\n\n}\n\n}\n","import {throwError as observableThrowError, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { HttpClient ,HttpHeaders, HttpErrorResponse} from '@angular/common/http';\n\nimport {FacultyRotationModel} from '../model/faculty_rotation.model';\nimport {TraineeRotationsModel} from '../model/trainee_rotations.model';\nimport {TrainerTraineeItemPendingReturnModel} from '../model/trainer_trainee_pending_item.model'\nimport {TrainerApproveAllModel} from '../model/trainer_approve_all.model'\nimport {RotationTypeModel} from '../model/rotation_type.model'\nimport {ApiResultModel} from '../model/api_result.model';\nimport {TraineeRotationScheduleModel} from '../model/trainee_rotation_schedule.model'\nimport {TraineeRotationScheduleCreateModel} from '../model/trainee_rotation_schedule_create.model'\n\n\n\nimport {API_URLS} from '../utils/api_url.util';\nimport { API_UTILS} from '../utils/api_utils.util'\nimport { catchError } from 'rxjs/operators';\nimport { AcademicYearModel } from '../model/academic_year.model';\n\n\n/*\n Generated class for the UserFaculties provider.\n\n See https://angular.io/docs/ts/latest/guide/dependency-injection.html\n for more info on providers and Angular 2 DI.\n*/\n@Injectable()\nexport class AcademicYearService {\n\n mAcademicYear:AcademicYearModel;\n\n constructor(private http: HttpClient) {\n\n }\n\n\n addAcademicYear(item:AcademicYearModel): Observable{\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n let items$ = this.http\n .post(API_URLS.API_ACADEMIC_YEAR,body,options).pipe(\n catchError(handleError));\n return items$;\n }\n\n editAcademicYear(item:AcademicYearModel): Observable{\n\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n\n let items$ = this.http\n .put(API_URLS.API_ACADEMIC_YEAR+`/${item.Id}`,body,options).pipe(\n catchError(handleError));\n return items$;\n\n }\n\n deleteAcademicYear(item:AcademicYearModel): Observable{\n\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n\n let items$ = this.http\n .delete(API_URLS.API_ACADEMIC_YEAR+`/${item.Id}`,options).pipe(\n catchError(handleError));\n return items$;\n\n }\n\n// getTraineeRotationScheduleRotations(scheduleId:string): Observable>\n// {\n// let items$ = this.http\n// .get>(API_URLS.API_GET_TRAINEE_ROTATION_SCHEDULE_ROTATIONS+`/${scheduleId}`)\n// .pipe( catchError(handleError) )\n// return items$;\n// }\n\n\n// getItems(userId:string): Observable>{\n// let items$ = this.http\n// .get>(API_URLS.API_GET_TRAINEE_ROTATIONS+`/${userId}`)\n// .pipe( catchError(handleError) )\n// return items$;\n// }\n\n\n\n// getRotationTypes(): Observable>{\n// let items$ = this.http\n// .get>(API_URLS.API_GET_ROTATION_TYPES)\n// .pipe( catchError(handleError) )\n// return items$;\n// }\n\n\n// getFacultyRotations(facultyId:string,programCategoryId:number): Observable>{\n// let items$ = this.http\n// .get>(API_URLS.API_GET_FACULTY_ROTATION_TYPES+`/${facultyId}`+`/${programCategoryId}`)\n// .pipe( catchError(handleError) )\n// return items$;\n// }\n\n\n// getTraineeRotationSchedules(userId:string,facultyRotationId:string): Observable>\n// {\n// let items$ = this.http\n// .get>(API_URLS.API_GET_TRAINEE_ROTATION_SCHEDULES+`/${userId}`+`/${facultyRotationId}`)\n// .pipe( catchError(handleError) )\n// return items$;\n\n// }\n\n\n\n// getTrainerTraineeRotations(trainerId:string,traineeId:string): Observable>{\n// let items$ = this.http\n// .get>(API_URLS.API_GET_TRAINER_TRAINEE_ROTATIONS+`/${trainerId}`+`/${traineeId}`)\n// .pipe( catchError(handleError) )\n// return items$;\n// }\n\n\n// getTrainerTraineesWithPendingRotations(trainerId:string): Observable>{\n// let items$ = this.http\n\n// .get>(API_URLS.API_GET_TRAINEER_TRAINEES_WITH_PENDING_ROTATIONS+`/${trainerId}`)\n// .pipe( catchError(handleError) )\n// return items$;\n// }\n\n\n\n\n\n// approveAllTrainerTraineePendingRotaions(item:TrainerApproveAllModel): Observable{\n\n// let body = JSON.stringify(item);\n// let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n// let options = { headers: headers };\n\n\n// let items$ = this.http\n\n// .post(API_URLS.API_POST_APPROVE_TRAINER_TRAINEE_ALL_ROTATIONS,body,options)\n// .pipe( catchError(handleError) )\n// return items$;\n\n// }\n\n\n\n\n\n// updateTraineeRotationSchedule(item:TraineeRotationScheduleCreateModel): Observable{\n\n// let body = JSON.stringify(item);\n// let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n// let options = { headers: headers };\n\n\n// let items$ = this.http\n\n// .post(API_URLS.API_UPDATE_TRAINEE_ROTATION_SCHEDULES,body,options)\n// .pipe( catchError(handleError) )\n// return items$;\n\n// }\n\n\n// addItem(item:TraineeRotationsModel): Observable{\n\n// let body = JSON.stringify(item);\n// let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n// let options = { headers: headers };\n\n\n// let items$ = this.http\n\n// .post(API_URLS.API_POST_ADD_TRAINEE_ROTATIONS,body,options)\n// .pipe( catchError(handleError) )\n// return items$;\n\n// }\n\n\n\n\n// editItem(item:TraineeRotationsModel): Observable{\n\n// item.ApprovalStatus=\"APPROVED\";\n// let body = JSON.stringify(item);\n// let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n// let options = { headers: headers };\n// let id=item.Id;\n\n// let items$ = this.http\n\n// .post(API_URLS.API_POST_EDIT_TRAINEE_ROTATIONS,body,options)\n// .pipe( catchError(handleError) )\n// return items$;\n\n\n// }\n\n\n\n\n// removeItem(item:TraineeRotationsModel): Observable{\n\n// let body = JSON.stringify(item);\n// let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n// let options = { headers: headers };\n// let id=item.Id;\n\n// let items$ = this.http\n// .get(API_URLS.API_POST_REMOVE_TRAINEE_ROTATIONS+`/${id}`)\n// .pipe( catchError(handleError) )\n// return items$;\n\n// }\n\n\n\n\n\n\n\n\n// checkTraineeActiveRotation(studentId:string): Observable{\n// let items$ = this.http\n// .get(API_URLS.API_GET_TRAINEE_ACTIVE_ROTATIONS+`/${studentId}`)\n// .pipe( catchError(handleError) )\n// return items$;\n// }\n\n\n\n\n\n\n\n\n\n}\n\n\n\n\n// this could also be a private method of the component class\nfunction handleError (error: HttpErrorResponse) {\n // log error\n // could be something more sofisticated\n console.error(error);\n\n return observableThrowError(error.error);\n\n\n }\n\n\n","import { throwError as observableThrowError, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MedicalProcedureCaseParameterBase } from '../model/reactive-form-model/medical_procedure_case_parameter_base.model';\nimport { DropdownItem } from '../model/reactive-form-model/dropdown_type.model';\n\nimport { ContinuousAssessmentModel } from '../model/continuous_assessment.model';\nimport { ContinuousAssessmentFormEntryModel } from '../model/continuous_assessment_form_entries.model';\nimport { FacultyContinuousAssessmentScoreChartModel } from '../model/faculty_continuous_assessment_score_chart.model';\n\nimport { FacultyContinuousAssessmentFormModel } from '../model/faculty_continuous_assessment_form.model';\nimport { TraineeContinuousAssessmentDetailModel } from '../model/trainee_continuous_assessment_detail.model';\nimport { TraineeContinuousAssessmentDetailCreateModel } from '../model/trainee_continuous_assessment_detail_create.model';\nimport { TraineeContinuousAssessmentModel } from '../model/trainee_continuous_assessment.model';\nimport { ContinuousAssessmentGroupModel } from '../model/continuous_assessment_group.model';\nimport { TrainerTraineeItemPendingReturnModel } from '../model/trainer_trainee_pending_item.model';\nimport { TrainerApproveAllModel } from '../model/trainer_approve_all.model';\nimport { ApiResultModel } from '../model/api_result.model';\n\nimport { API_URLS } from '../utils/api_url.util';\nimport { API_UTILS } from '../utils/api_utils.util';\nimport { catchError } from 'rxjs/operators';\n\n/*\n Generated class for the UserFaculties provider.\n\n See https://angular.io/docs/ts/latest/guide/dependency-injection.html\n for more info on providers and Angular 2 DI.\n*/\n@Injectable()\nexport class ContinuousAssessmentService {\n\tpublic mFacultyContinuousAssessmentForm: FacultyContinuousAssessmentFormModel;\n\n\tconstructor(private http: HttpClient) {}\n\n\tgetTraineeFacultyContinuousAssessmentTypes(\n\t\tfacultyId: string,\n\t\tprogramCategoryId: number\n\t): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_TRAINEE_FACULTY_CONTINUOUS_ASSESSMENT_FORM_TYPES +\n\t\t\t\t\t`/${facultyId}` +\n\t\t\t\t\t`/${programCategoryId}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTrainerFacultyContinuousAssessmentTypes(\n\t\tfacultyId: string,\n\t\tprogramCategoryId: number\n\t): Observable {\n\t\tlet items$ = this.http\n\t\t\t.get(\n\t\t\t\tAPI_URLS.API_GET_TRAINER_FACULTY_CONTINUOUS_ASSESSMENT_FORM_TYPES +\n\t\t\t\t\t`/${facultyId}` +\n\t\t\t\t\t`/${programCategoryId}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetContinuousAssessmentGroupCriteria(\n\t\tfacultyContinuousAssessmentGroupId\n\t): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_CONTINUOUS_ASSESSMENT + `/${facultyContinuousAssessmentGroupId}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tapproveTraineeContinuousAssessment(\n\t\titem: TraineeContinuousAssessmentModel\n\t): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_POST_APPROVE_CONTINUOUS_ASSESSMENT, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTraineeContinuousAssessmentReports(): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_STUDENT_CONTINUOUS_ASSESSMENT_REPORT)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetContinuousAssessmentGroup(\n\t\tfacultyContinuousAssessmentId: string\n\t): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_CONTINUOUS_ASSESSMENT_GROUP + `/${facultyContinuousAssessmentId}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\taddContinuousAssessment(item: ContinuousAssessmentModel): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_POST_ADD_CONTINUOUS_ASSESSMENT_CRITERIA, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\teditContinuousAssessment(item: ContinuousAssessmentModel): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_POST_EDIT_CONTINUOUS_ASSESSMENT_CRITERIA, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\taddContinuousAssessmentGroup(item: ContinuousAssessmentGroupModel): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_POST_ADD_CONTINUOUS_ASSESSMENT_GROUP, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\teditContinuousAssessmentGroup(item: ContinuousAssessmentGroupModel): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_POST_EDIT_CONTINUOUS_ASSESSMENT_GROUP, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetFacultyContinuousAssessmentScoreChart(\n\t\tfacultyContinuousAssessmentId\n\t): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_FACULTY_CONTINUOUS_ASSESSMENT_FORM_SCORE_CHART + `/${facultyContinuousAssessmentId}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetFacultyContinuousAssessmentScoreChartByRef(\n\t\trefNo\n\t): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_FACULTY_CONTINUOUS_ASSESSMENT_FORM_SCORE_CHART_BY_REF + `/${refNo}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\t// get the form which includes the group and entries in a group\n\tgetFacultyContinuousAssessmentForm(\n\t\tfacultyContinuousAssessmentId\n\t): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_FACULTY_CONTINUOUS_ASSESSMENT_FORM + `/${facultyContinuousAssessmentId}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\t// get the form which includes the group and entries in a group\n\tgetTraineeAssessmentFormDetail(traineeAssessmentFormId): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_TRAINEE_CONTINUOUS_ASSESSMENT_FORM_DETAIL + `/${traineeAssessmentFormId}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTraineeContinuousAssessments(\n\t\ttraineeId: string,\n\t\ttype: number\n\t): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_STUDENT_CONTINUOUS_ASSESSMENTS + `/${traineeId}` + `/${type}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTraineeContinuousAssessmentByRef(refNo: string): Observable {\n\t\tlet items$ = this.http\n\t\t\t.get(API_URLS.API_GET_STUDENT_CONTINUOUS_ASSESSMENT_BY_REF + `/${refNo}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTraineeContinuousAssessmentDetailsByRef(\n\t\trefNo: string\n\t): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_STUDENT_CONTINUOUS_ASSESSMENT_DETAILS_BY_REF + `/${refNo}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTrainerAssessmentByTrainees(userId: string): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_SUPERVISOR_ASSESSMENTS_BY_STUDENT + `/${userId}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTrainersTraineeContinuousAssessments(\n\t\ttrainerId: string,\n\t\ttraineeId: string\n\t): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_SUPERVISOR_STUDENT_CONTINUOUS_ASSESSMENTS + `/${trainerId}` + `/${traineeId}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTrainerTraineesWithPendingAssessments(\n\t\ttrainerId: string\n\t): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_TRAINEER_TRAINEES_WITH_PENDING_ASSESSMENTS + `/${trainerId}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\taddTraineeContinuousAssessmentDetail(\n\t\titem: TraineeContinuousAssessmentDetailCreateModel\n\t): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_POST_ADD_CONTINUOUS_ASSESSMENT_FORM_DETAIL, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tinitiateContinuousAssessment(item: TraineeContinuousAssessmentModel): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_POST_ADD_CONTINUOUS_ASSESSMENT, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tmAssessmentEntriesFormGroup(items: MedicalProcedureCaseParameterBase[]) {\n\t\tlet itemsForm: any = {};\n\n\t\titems.forEach((item) => {\n\t\t\titemsForm[item.key] = new FormControl(item.value || '', Validators.required);\n\t\t});\n\n\t\treturn new FormGroup(itemsForm);\n\t}\n}\n\n// this could also be a private method of the component class\nfunction handleError(error: HttpErrorResponse) {\n\t// log error\n\t// could be something more sofisticated\n\tconsole.error(error);\n\n\treturn observableThrowError(error.error);\n}\n","import { throwError as observableThrowError, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TraineeContinuingProfessionalDevelopment } from '../model/trainee_cpd.model';\nimport { ApiResultModel } from '../model/api_result.model';\n\nimport { API_URLS } from '../utils/api_url.util';\nimport { API_UTILS } from '../utils/api_utils.util';\nimport { catchError } from 'rxjs/operators';\nimport { FacultyMandatoryCPD } from '../model/faculty_mandatory_cpd.model';\nimport { ContinuingProfessionalDevelopmentTypeModel } from '../model/cpd_type.model';\n\n/*\n Generated class for the UserFaculties provider.\n\n See https://angular.io/docs/ts/latest/guide/dependency-injection.html\n for more info on providers and Angular 2 DI.\n*/\n@Injectable()\nexport class ContinuingProfessionalDevelopmentService {\n\tmFacultyMandatoryCPD: FacultyMandatoryCPD;\n\n\tconstructor(private http: HttpClient) {}\n\n\tgetAllTraineeContinuingProfessionalDevelopment(\n\t\tuserId: string\n\t): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_TRAINEE_CONTINUING_PROFESSIONAL_DEVELOPMENT + `/${userId}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetAllMandatoryCPDs(facultyId: string): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_ALL_MANDATORY_CPDS + `/${facultyId}`)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetCPDByRef(refNo: string): Observable {\n\t\tlet items$ = this.http\n\t\t\t.get(\n\t\t\t\tAPI_URLS.API_GET_TRAINEE_CONTINUING_PROFESSIONAL_DEVELOPMENT_BY_REF + `/${refNo}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetCPDReports(): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_GET_CDP_REPORT)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetTraineeContinuingProfessionalDevelopmentByType(\n\t\tuserId: string,\n\t\ttype: number\n\t): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(\n\t\t\t\tAPI_URLS.API_GET_TRAINEE_CONTINUING_PROFESSIONAL_DEVELOPMENT_BY_TYPE + `/${userId}` + `/${type}`\n\t\t\t)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\teditCPD(item: any): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\t\tlet id = item.Id;\n\n\t\treturn this.http.put(API_URLS.API_UPDATE_STUDENT_CPD, body, options).pipe(catchError(handleError));\n\t}\n\n\taddTraineeContinuingProfessionalDevelopment(\n\t\titem: TraineeContinuingProfessionalDevelopment\n\t): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_POST_ADD_TRAINEE_CONTINUING_PROFESSIONAL_DEVELOPMENT, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetCPDTypes(): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_CPD_TYPE)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tgetFacultyMandatoryCPDItems(): Observable> {\n\t\tlet items$ = this.http\n\t\t\t.get>(API_URLS.API_FACULTY_MANDATORY_CPD)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\taddFacultyMandatoryCPD(item: FacultyMandatoryCPD): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\t\tlet items$ = this.http\n\t\t\t.post(API_URLS.API_FACULTY_MANDATORY_CPD, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\teditFacultyMandatoryCPD(item: FacultyMandatoryCPD): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.put(API_URLS.API_FACULTY_MANDATORY_CPD + `/${item.Id}`, body, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n\n\tdeleteFacultyMandatoryCPD(item: FacultyMandatoryCPD): Observable {\n\t\tlet body = JSON.stringify(item);\n\t\tlet headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n\t\tlet options = { headers: headers };\n\n\t\tlet items$ = this.http\n\t\t\t.delete(API_URLS.API_FACULTY_MANDATORY_CPD + `/${item.Id}`, options)\n\t\t\t.pipe(catchError(handleError));\n\t\treturn items$;\n\t}\n}\n\n// this could also be a private method of the component class\nfunction handleError(error: HttpErrorResponse) {\n\t// log error\n\t// could be something more sofisticated\n\tconsole.error(error);\n\n\treturn observableThrowError(error.error);\n}\n","\nimport {throwError as observableThrowError, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { HttpClient ,HttpHeaders, HttpErrorResponse} from '@angular/common/http';\nimport {FacultyModel} from '../model/faculty.model';\nimport {API_URLS} from '../utils/api_url.util';\nimport { API_UTILS} from '../utils/api_utils.util'\nimport { TraineeMedicalProcedureCaseModel } from '../model/trainee_medical_procedure_case.model';\nimport { catchError } from 'rxjs/operators';\nimport { ProgramCategoryModel } from '../model/program_category.model';\n\n\n/*\n Generated class for the UserFaculties provider.\n\n See https://angular.io/docs/ts/latest/guide/dependency-injection.html\n for more info on providers and Angular 2 DI.\n*/\n@Injectable()\nexport class FacultyService {\n items:FacultyModel[];\n \n constructor(private http: HttpClient) {\n this.items = null;\n }\n mFaculty:FacultyModel=null;\n\n\n/*\n\n getItemsByCategory(categoryId:number)\n {\n if(this.items)\n {\n return Promise.resolve(this.items)\n }\n\n // don't have the data yet\n return new Promise(resolve => {\n // We're using Angular Http provider to request the data,\n // then on the response it'll map the JSON data to a parsed JS object.\n // Next we process the data and resolve the promise with the new data.\n this.http.get(API_URLS.API_GET_HERITAGE_ITEM_BY_CATEGORY+'/admin'+'/${categoryId}')\n .map(res => >res.json())\n .subscribe(data => {\n // we've got back the raw data, now generate the core schedule data\n // and save the data for later reference\n this.items= data;\n resolve(this.items);\n });\n });\n\n\n }\n\n */\n\n \n getItems(): Observable>{\n return this.http\n .get>(API_URLS.API_GET_FACULTIES)\n .pipe(\n catchError(handleError)\n );\n\n \n }\n\n\n \n \n getProgramCategoryItems(): Observable>{\n return this.http\n .get>(API_URLS.API_PROGRAM_CATEGORIES)\n .pipe(\n catchError(handleError)\n );\n\n \n }\n\n\n \n getLogbBookFaculties(): Observable>{\n return this.http\n .get>(API_URLS.API_GET_LOGBOOK_FACULTIES)\n .pipe(\n catchError(handleError)\n );\n\n \n }\n\n\n \n\n\n\n addItem(item:FacultyModel): Observable{\n\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n\n\n let items$ = this.http\n \n .post(API_URLS.API_ADD_FACULTY,body,options)\n .pipe( catchError(handleError) )\n return items$; \n }\n\n \n \n\n editItem(item:FacultyModel): Observable{\n\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n let id=item.Id;\n\n return this.http\n \n .post(API_URLS.API_EDIT_FACULTY,body,options)\n .pipe( catchError(handleError) );\n \n\n\n }\n\n\n\n\n removeItem(item:FacultyModel): Observable{\n\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n let id=item.Id;\n\n let items$ = this.http\n .get(API_URLS.API_REMOVE_FACULTY+`/${id}`)\n .pipe( catchError(handleError) )\n return items$;\n \n }\n\n\n \n getFacultyTraineesMedicalProcedureCases(facultyId:string):Observable {\n \n let items$ = this.http\n .get(API_URLS.API_GET_FACULTY_TRAINEES_MEDICAL_PROCEDURE_CASES+`/${facultyId}`)\n .pipe( catchError(handleError) )\n return items$;\n \n \n \n }\n \n\n\n\n/*\n\n getItemsByCategoryAndRegion(categoryId:number,regionId:number)\n {\n if(this.items)\n {\n return Promise.resolve(this.items)\n }\n\n // don't have the data yet\n return new Promise(resolve => {\n // We're using Angular Http provider to request the data,\n // then on the response it'll map the JSON data to a parsed JS object.\n // Next we process the data and resolve the promise with the new data.\n this.http.get(API_URLS.API_GET_HERITAGE_ITEM_BY_CATEGORY+'/admin'+'/${categoryId}'+'/${regionId}')\n .map(res => >res.json())\n .subscribe(data => {\n // we've got back the raw data, now generate the core schedule data\n // and save the data for later reference\n this.items= data;\n resolve(this.items);\n });\n });\n\n\n }\n\n*/\n\n\n\n \n}\n\n\n\n\n// this could also be a private method of the component class\nfunction handleError (error: HttpErrorResponse) {\n // log error\n // could be something more sofisticated\n console.error(error);\n\n return observableThrowError(error.error);\n\n \n }","\nimport {throwError as observableThrowError, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { HttpClient ,HttpHeaders, HttpErrorResponse} from '@angular/common/http';\nimport {FacultyFellowshipSpecialisationModel} from '../model/faculty_fellowship_specialisation.model';\nimport {API_URLS} from '../utils/api_url.util';\nimport { API_UTILS} from '../utils/api_utils.util'\nimport { catchError } from 'rxjs/operators';\n\n/*\n Generated class for the UserFaculties provider.\n\n See https://angular.io/docs/ts/latest/guide/dependency-injection.html\n for more info on providers and Angular 2 DI.\n*/\n@Injectable()\nexport class FacultyFellowshipSpecialisationService {\n items:FacultyFellowshipSpecialisationModel[];\n\n constructor(private http: HttpClient) {\n this.items = null;\n }\n\n\n \n getItems(facultyId:string): Observable>{\n let items$ = this.http\n .get>(API_URLS.API_GET_FACULTY_FELLOWSHIP_SPECIALISATIONS+`/${facultyId}`)\n .pipe( catchError(handleError) )\n return items$;\n }\n\n\n \n\n\n\n addItem(item:FacultyFellowshipSpecialisationModel): Observable{\n\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n\n\n let items$ = this.http\n \n .post(API_URLS.API_ADD_FACULTY_FELLOWSHIP_SPECIALISATION,body,options)\n .pipe( catchError(handleError) )\n return items$; \n \n }\n\n \n \n\n editItem(item:FacultyFellowshipSpecialisationModel): Observable{\n\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n let id=item.Id;\n\n let items$ = this.http\n \n .post(API_URLS.API_EDIT_FACULTY_FELLOWSHIP_SPECIALISATION,body,options)\n .pipe( catchError(handleError) )\n return items$;\n\n\n }\n\n\n\n\n removeItem(item:FacultyFellowshipSpecialisationModel): Observable{\n\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n let id=item.Id;\n\n let items$ = this.http\n .get(API_URLS.API_REMOVE_FACULTY_FELLOWSHIP_SPECIALISATION+`/${id}`)\n .pipe( catchError(handleError) )\n return items$;\n \n }\n\n\n\n\n\n\n\n\n \n}\n\n\n\n\n// this could also be a private method of the component class\nfunction handleError (error: HttpErrorResponse) {\n // log error\n // could be something more sofisticated\n console.error(error);\n\n return observableThrowError(error.error);\n\n \n }","\nimport {throwError as observableThrowError, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { HttpClient ,HttpHeaders, HttpErrorResponse} from '@angular/common/http';\nimport {FacultyMedicalProcedureModel} from '../model/faculty_medical_procedure.model';\nimport {FacultyMedicalProcedureHospitalModel} from '../model/faculty_medical_procedure_hospital.model';\n\nimport {API_URLS} from '../utils/api_url.util';\nimport { API_UTILS} from '../utils/api_utils.util'\nimport { catchError } from 'rxjs/operators';\n\n/*\n Generated class for the UserFaculties provider.\n\n See https://angular.io/docs/ts/latest/guide/dependency-injection.html\n for more info on providers and Angular 2 DI.\n*/\n@Injectable()\nexport class FacultyMedicalProcedureService {\n items:FacultyMedicalProcedureModel[];\n\n constructor(private http: HttpClient) {\n this.items = null;\n }\n\n\n\n\n\n \n getItems(id:string,programCategoryId:number): Observable>{\n let items$ = this.http\n .get>(API_URLS.API_GET_FACULTY_MEDICAL_PROCEDURES+`/${id}`+`/${programCategoryId}`)\n .pipe( catchError(handleError) )\n return items$;\n }\n\n\n \n\n\n\n addItem(item:FacultyMedicalProcedureModel): Observable{\n\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n\n\n let items$ = this.http\n \n .post(API_URLS.API_ADD_FACULTY_MEDICAL_PROCEDURE,body,options)\n .pipe( catchError(handleError) )\n return items$; \n \n }\n\n\n\n addHospital(item:FacultyMedicalProcedureHospitalModel): Observable{\n\n let body = JSON.stringify(item);\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let options = { headers: headers };\n\n\n let items$ = this.http\n \n .post