{"version":3,"file":"main.js","mappings":"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,SAAS,CAAC;AACpB,qBAAU,GAAG,KAAK,CAAC;AACnB,6BAAkB,GAAG,qCAAqC,CAAC;AAC3D,gBAAK,GAAG,OAAO,CAAC;AAChB,aAAE,GAAG,IAAI,CAAC;AACV,cAAG,GAAG,KAAK,CAAC;AACZ,oBAAS,GAAG,iDAAiD,CAAC;AAC9D,yBAAc,GAAG,qDAAqD;AACtE,sBAAW,GAAG,mDAAmD;AACjE,mBAAQ,GAAG,0BAA0B;AACrC,4BAAiB,GAAG,gCAAgC;AACpD,sBAAW,GAAG,0CAA0C,CAAC;AACzD,qCAA0B,GAAG,8DAA8D,CAAC;AAC5F,eAAI,GAAG,MAAM,CAAC;AACd,sCAA2B,GAAG,uCAAuC,CAAC;AACtE,+BAAoB,GAAG,uBAAuB,CAAC;AAC/C,6BAAkB,GAAG,mFAAmF,CAAC;AACzG,iCAAsB,GAAG,wBAAwB,CAAC;AAClD,gCAAqB,GAAG,0BAA0B,CAAC;AACnD,sCAA2B,GAAG,8BAA8B,CAAC;AAC7D,qBAAU,GAAG,YAAY,CAAC;AAC1B,qBAAU,GAAQ,YAAY,CAAC;AAC/B,wBAAa,GAAQ,eAAe,CAAC;AACrC,sBAAW,GAAW,aAAa,CAAC;AACpC,qBAAU,GAAW,YAAY,CAAC;;;;;;;;;;;AClEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.config.ts","./src/app/app.module.ts","./src/app/containers/default-layout/_nav.ts","./src/app/containers/default-layout/default-footer/default-footer.component.ts","./src/app/containers/default-layout/default-header/default-header.component.ts","./src/app/containers/default-layout/default-header/default-header.component.html","./src/app/containers/default-layout/default-layout.component.ts","./src/app/containers/default-layout/default-layout.component.html","./src/app/containers/default-layout/index.ts","./src/app/containers/index.ts","./src/app/icons/icon-subset.ts","./src/app/layouts/baseline/component/verfication/registration/registration-success/registration-success.component.ts","./src/app/layouts/baseline/component/verfication/registration/registration-success/registration-success.component.html","./src/app/layouts/baseline/component/verfication/registration/registration.component.ts","./src/app/layouts/baseline/component/verfication/registration/registration.component.html","./src/app/layouts/baseline/component/verfication/registration/verification-code/verification-code.component.ts","./src/app/layouts/baseline/component/verfication/registration/verification-code/verification-code.component.html","./src/app/layouts/baseline/model/bank.model.ts","./src/app/layouts/baseline/model/entity.model.ts","./src/app/layouts/baseline/model/otp-detail.model.ts","./src/app/layouts/baseline/service/assessment service/group service/group.service.ts","./src/app/layouts/baseline/service/baseline.service.ts","./src/app/layouts/baseline/service/registration.service.ts","./src/app/layouts/common-loader/ag-grid-html/ag-grid-html.component.ts","./src/app/layouts/common-loader/ag-grid-html/ag-grid-html.component.html","./src/app/layouts/common-loader/btn-button/btn-button.component.ts","./src/app/layouts/common-loader/btn-button/btn-button.component.html","./src/app/layouts/common-loader/common-loader.module.ts","./src/app/layouts/common-loader/directives/tooltip.directive.ts","./src/app/layouts/common-loader/loader/loader.component.ts","./src/app/layouts/common-loader/loader/loader.component.html","./src/app/layouts/common-loader/ng-select-dropdown/ng-select-dropdown.component.ts","./src/app/layouts/common-loader/ng-select-dropdown/ng-select-dropdown.component.html","./src/app/layouts/common-loader/search/search.component.ts","./src/app/layouts/common-loader/search/search.component.html","./src/app/layouts/configurations/model/manage role model/permission.ts","./src/app/layouts/configurations/service/manage role service/user-role.service.ts","./src/app/layouts/configurations/service/manage user service/manage-user.service.ts","./src/app/layouts/core/allocate-icon/allocate-icon.component.ts","./src/app/layouts/core/allocate-icon/allocate-icon.component.html","./src/app/layouts/core/bars-icon/bars-icon.component.ts","./src/app/layouts/core/bars-icon/bars-icon.component.html","./src/app/layouts/core/checkbox-disabled/checkbox-disabled.component.ts","./src/app/layouts/core/checkbox-disabled/checkbox-disabled.component.html","./src/app/layouts/core/checkbox/checkbox.component.ts","./src/app/layouts/core/checkbox/checkbox.component.html","./src/app/layouts/core/core-routing.module.ts","./src/app/layouts/core/core.module.ts","./src/app/layouts/core/create-template-icon/create-template-icon.component.ts","./src/app/layouts/core/create-template-icon/create-template-icon.component.html","./src/app/layouts/core/delete-icon/delete-icon.component.ts","./src/app/layouts/core/delete-icon/delete-icon.component.html","./src/app/layouts/core/detail/detail.component.ts","./src/app/layouts/core/detail/detail.component.html","./src/app/layouts/core/edit-icon/edit-icon.component.ts","./src/app/layouts/core/edit-icon/edit-icon.component.html","./src/app/layouts/core/enroll-icon/enroll-icon.component.ts","./src/app/layouts/core/enroll-icon/enroll-icon.component.html","./src/app/layouts/core/eye-icon/eye-icon.component.ts","./src/app/layouts/core/eye-icon/eye-icon.component.html","./src/app/layouts/core/link-status/link-status.component.ts","./src/app/layouts/core/link-status/link-status.component.html","./src/app/layouts/core/link/link.component.ts","./src/app/layouts/core/link/link.component.html","./src/app/layouts/core/parameter-icon/parameter-icon.component.ts","./src/app/layouts/core/parameter-icon/parameter-icon.component.html","./src/app/layouts/core/pop-up/pop-up.component.ts","./src/app/layouts/core/pop-up/pop-up.component.html","./src/app/layouts/core/power-icon/power-icon.component.ts","./src/app/layouts/core/power-icon/power-icon.component.html","./src/app/layouts/core/rating-icon/rating-icon.component.ts","./src/app/layouts/core/rating-icon/rating-icon.component.html","./src/app/layouts/core/remark-text-box/remark-text-box.component.ts","./src/app/layouts/core/remark-text-box/remark-text-box.component.html","./src/app/layouts/core/remove-icon/remove-icon.component.ts","./src/app/layouts/core/remove-icon/remove-icon.component.html","./src/app/layouts/core/review-assessment/review-assessment.component.ts","./src/app/layouts/core/review-assessment/review-assessment.component.html","./src/app/layouts/core/self-assmt-link/self-assmt-link.component.ts","./src/app/layouts/core/self-assmt-link/self-assmt-link.component.html","./src/app/layouts/core/start-test-icon/start-test-icon.component.ts","./src/app/layouts/core/start-test-icon/start-test-icon.component.html","./src/app/layouts/core/switch/switch.component.ts","./src/app/layouts/core/switch/switch.component.html","./src/app/layouts/core/take-test-perform-spot-icon/take-test-perform-spot-icon.component.ts","./src/app/layouts/core/take-test-perform-spot-icon/take-test-perform-spot-icon.component.html","./src/app/layouts/core/training-test-status/training-test-status.component.ts","./src/app/layouts/core/training-test-status/training-test-status.component.html","./src/app/layouts/core/verify-status/verify-status.component.ts","./src/app/layouts/core/verify-status/verify-status.component.html","./src/app/layouts/core/view-area/view-area.component.ts","./src/app/layouts/core/view-area/view-area.component.html","./src/app/layouts/core/view-report-icon/view-report-icon.component.ts","./src/app/layouts/core/view-report-icon/view-report-icon.component.html","./src/app/layouts/core/view-roles-exclamation/view-roles-exclamation.component.ts","./src/app/layouts/core/view-roles-exclamation/view-roles-exclamation.component.html","./src/app/layouts/core/view-roles/view-roles.component.ts","./src/app/layouts/core/view-roles/view-roles.component.html","./src/app/layouts/escalation/service/problem.service.ts","./src/app/layouts/escalation/service/specific-problem-path.service.ts","./src/app/layouts/hpc-form/service/gts-mapping.service.ts","./src/app/layouts/hpc-form/service/hpc-form.service.ts","./src/app/layouts/monitoring/component/privacy-policy/privacy-policy.component.ts","./src/app/layouts/monitoring/component/privacy-policy/privacy-policy.component.html","./src/app/layouts/monitoring/model/emergency-visit-master.ts","./src/app/layouts/monitoring/model/section-master.ts","./src/app/layouts/monitoring/model/section-type.ts","./src/app/layouts/monitoring/model/sub-section-master.ts","./src/app/layouts/monitoring/service/emergency-visit.service.ts","./src/app/layouts/monitoring/service/mentoring-reportcard.service.ts","./src/app/layouts/monitoring/service/parameter.service.ts","./src/app/layouts/monitoring/service/regular-visit.service.ts","./src/app/layouts/monitoring/service/sections.service.ts","./src/app/layouts/monitoring/service/spot-assessment.service.ts","./src/app/layouts/pmu-meeting/services/pmu-meeting.service.ts","./src/app/layouts/shaikshik-samwad/services/shaikshik-samwad.service.ts","./src/app/layouts/shared/component/confirmation-dialog/confirmation-dialog.component.ts","./src/app/layouts/shared/component/confirmation-dialog/confirmation-dialog.component.html","./src/app/layouts/shared/component/dialogue/dialogue.component.ts","./src/app/layouts/shared/component/dialogue/dialogue.component.html","./src/app/layouts/shared/services/ag-grid.service.ts","./src/app/layouts/shared/services/auth.service.ts","./src/app/layouts/shared/services/client-side-storage.service.ts","./src/app/layouts/shared/services/confirmation-dialog.service.ts","./src/app/layouts/shared/services/data-sharing.service.ts","./src/app/layouts/shared/services/url-formation.service.ts","./src/app/layouts/shared/static/constants.ts","./src/app/layouts/shared/validator/space-validator.validator.ts","./src/app/layouts/training/component/attendance/attendance.component.ts","./src/app/layouts/training/component/attendance/attendance.component.html","./src/app/layouts/training/component/attendance/remark-pop-up/remark-pop-up.component.ts","./src/app/layouts/training/component/attendance/remark-pop-up/remark-pop-up.component.html","./src/app/layouts/training/component/form-initiate-training/form-initiate-training.component.ts","./src/app/layouts/training/component/form-initiate-training/form-initiate-training.component.html","./src/app/layouts/training/component/generate-qrcode/generate-qrcode.component.ts","./src/app/layouts/training/component/generate-qrcode/generate-qrcode.component.html","./src/app/layouts/training/component/generate-relieving-certificate/generate-relieving-certificate.component.ts","./src/app/layouts/training/component/generate-relieving-certificate/generate-relieving-certificate.component.html","./src/app/layouts/training/component/initiate-training/initiate-training.component.ts","./src/app/layouts/training/component/initiate-training/initiate-training.component.html","./src/app/layouts/training/component/launch-training/launch-pop-up/launch-pop-up.component.ts","./src/app/layouts/training/component/launch-training/launch-pop-up/launch-pop-up.component.html","./src/app/layouts/training/component/launch-training/launch-training.component.ts","./src/app/layouts/training/component/launch-training/launch-training.component.html","./src/app/layouts/training/component/my-trainings/active-trainings/active-trainings.component.ts","./src/app/layouts/training/component/my-trainings/active-trainings/active-trainings.component.html","./src/app/layouts/training/component/my-trainings/completed-trainings/completed-trainings.component.ts","./src/app/layouts/training/component/my-trainings/completed-trainings/completed-trainings.component.html","./src/app/layouts/training/component/my-trainings/my-profile/my-profile.component.ts","./src/app/layouts/training/component/my-trainings/my-profile/my-profile.component.html","./src/app/layouts/training/component/my-trainings/training-details/certificates/certificates.component.ts","./src/app/layouts/training/component/my-trainings/training-details/certificates/certificates.component.html","./src/app/layouts/training/component/my-trainings/training-details/my-training-assessment/my-training-assessment.component.ts","./src/app/layouts/training/component/my-trainings/training-details/my-training-assessment/my-training-assessment.component.html","./src/app/layouts/training/component/my-trainings/training-details/my-trainings-attendance/my-trainings-attendance.component.ts","./src/app/layouts/training/component/my-trainings/training-details/my-trainings-attendance/my-trainings-attendance.component.html","./src/app/layouts/training/component/my-trainings/training-details/my-trainings-material/my-trainings-material.component.ts","./src/app/layouts/training/component/my-trainings/training-details/my-trainings-material/my-trainings-material.component.html","./src/app/layouts/training/component/my-trainings/training-details/my-trainings-raise-ticket/my-trainings-raise-ticket.component.ts","./src/app/layouts/training/component/my-trainings/training-details/my-trainings-raise-ticket/my-trainings-raise-ticket.component.html","./src/app/layouts/training/component/new-training-assessment/new-training-assessment.component.ts","./src/app/layouts/training/component/new-training-assessment/new-training-assessment.component.html","./src/app/layouts/training/component/new-training-assessment/new-training-test/new-training-test.component.ts","./src/app/layouts/training/component/new-training-assessment/new-training-test/new-training-test.component.html","./src/app/layouts/training/component/payment-configuration/payment-configuration.component.ts","./src/app/layouts/training/component/payment-configuration/payment-configuration.component.html","./src/app/layouts/training/component/payment-status/payment-status.component.ts","./src/app/layouts/training/component/payment-status/payment-status.component.html","./src/app/layouts/training/component/report-training-summary/report-training-summary.component.ts","./src/app/layouts/training/component/report-training-summary/report-training-summary.component.html","./src/app/layouts/training/component/report/attendance-report/attendance-report.component.ts","./src/app/layouts/training/component/report/attendance-report/attendance-report.component.html","./src/app/layouts/training/component/report/f2f-attendance-report/f2f-attendance-report.component.ts","./src/app/layouts/training/component/report/f2f-attendance-report/f2f-attendance-report.component.html","./src/app/layouts/training/component/report/f2f-pre-post-report/f2f-pre-post-report.component.ts","./src/app/layouts/training/component/report/f2f-pre-post-report/f2f-pre-post-report.component.html","./src/app/layouts/training/component/report/f2f-score-pre-post/f2f-score-pre-post.component.ts","./src/app/layouts/training/component/report/f2f-score-pre-post/f2f-score-pre-post.component.html","./src/app/layouts/training/component/report/model/role-area-dto.ts","./src/app/layouts/training/component/report/pop-up-grid/pop-up-grid.component.ts","./src/app/layouts/training/component/report/pop-up-grid/pop-up-grid.component.html","./src/app/layouts/training/component/report/pre-post-report/pre-post-report.component.ts","./src/app/layouts/training/component/report/pre-post-report/pre-post-report.component.html","./src/app/layouts/training/component/report/pre-post-status-report/pre-post-status-report.component.ts","./src/app/layouts/training/component/report/pre-post-status-report/pre-post-status-report.component.html","./src/app/layouts/training/component/report/report/report.component.ts","./src/app/layouts/training/component/report/report/report.component.html","./src/app/layouts/training/component/report/training-readiness/training-readiness.component.ts","./src/app/layouts/training/component/report/training-readiness/training-readiness.component.html","./src/app/layouts/training/component/test/test.component.ts","./src/app/layouts/training/component/test/test.component.html","./src/app/layouts/training/component/trainee-registration/batches/batches.component.ts","./src/app/layouts/training/component/trainee-registration/batches/batches.component.html","./src/app/layouts/training/component/trainee-registration/batches/pop-up-trainee-registration/pop-up-trainee-registration.component.ts","./src/app/layouts/training/component/trainee-registration/batches/pop-up-trainee-registration/pop-up-trainee-registration.component.html","./src/app/layouts/training/component/trainee-registration/trainee-registration.component.ts","./src/app/layouts/training/component/trainee-registration/trainee-registration.component.html","./src/app/layouts/training/component/trainer-payment-approval/trainer-payment-approval.component.ts","./src/app/layouts/training/component/trainer-payment-approval/trainer-payment-approval.component.html","./src/app/layouts/training/component/trainer-payment-approval/view-trainers/view-trainers.component.ts","./src/app/layouts/training/component/trainer-payment-approval/view-trainers/view-trainers.component.html","./src/app/layouts/training/component/training master/group/add-group/add-group.component.ts","./src/app/layouts/training/component/training master/group/add-group/add-group.component.html","./src/app/layouts/training/component/training master/group/group.component.ts","./src/app/layouts/training/component/training master/group/group.component.html","./src/app/layouts/training/component/training master/sub-group/add-sub-group/add-sub-group.component.ts","./src/app/layouts/training/component/training master/sub-group/add-sub-group/add-sub-group.component.html","./src/app/layouts/training/component/training master/sub-group/sub-group.component.ts","./src/app/layouts/training/component/training master/sub-group/sub-group.component.html","./src/app/layouts/training/component/training master/training/add-training/add-training.component.ts","./src/app/layouts/training/component/training master/training/add-training/add-training.component.html","./src/app/layouts/training/component/training master/training/training.component.ts","./src/app/layouts/training/component/training master/training/training.component.html","./src/app/layouts/training/component/training-assessment/training-assessment.component.ts","./src/app/layouts/training/component/training-assessment/training-assessment.component.html","./src/app/layouts/training/component/training-assessment/training-test/training-test.component.ts","./src/app/layouts/training/component/training-assessment/training-test/training-test.component.html","./src/app/layouts/training/component/training-configuration/training-configuration.component.ts","./src/app/layouts/training/component/training-configuration/training-configuration.component.html","./src/app/layouts/training/component/training-dashboard/training-dashboard.component.ts","./src/app/layouts/training/component/training-dashboard/training-dashboard.component.html","./src/app/layouts/training/component/training-monitor/training-monitor.component.ts","./src/app/layouts/training/component/training-monitor/training-monitor.component.html","./src/app/layouts/training/component/training-monitoring-status/monitoring-status-form/monitoring-status-form.component.ts","./src/app/layouts/training/component/training-monitoring-status/monitoring-status-form/monitoring-status-form.component.html","./src/app/layouts/training/component/training-monitoring-status/training-monitoring-status.component.ts","./src/app/layouts/training/component/training-monitoring-status/training-monitoring-status.component.html","./src/app/layouts/training/model/add-trainer.ts","./src/app/layouts/training/model/approved-trainer-paymemts.ts","./src/app/layouts/training/model/bank-info.ts","./src/app/layouts/training/model/batch-initiate.ts","./src/app/layouts/training/model/batch-master.ts","./src/app/layouts/training/model/check-list-items.ts","./src/app/layouts/training/model/checklist-master.ts","./src/app/layouts/training/model/coordinator.model.ts","./src/app/layouts/training/model/document.ts","./src/app/layouts/training/model/file-dto.model.ts","./src/app/layouts/training/model/group.ts","./src/app/layouts/training/model/link.ts","./src/app/layouts/training/model/monitor-comments.ts","./src/app/layouts/training/model/monitor-question-master.ts","./src/app/layouts/training/model/monitor-questions-verification.ts","./src/app/layouts/training/model/monitor-questions.ts","./src/app/layouts/training/model/move-item-in-form-array.ts","./src/app/layouts/training/model/question.ts","./src/app/layouts/training/model/quiz.ts","./src/app/layouts/training/model/red-flag.ts","./src/app/layouts/training/model/sub-group.ts","./src/app/layouts/training/model/trainee-answer-sheet.ts","./src/app/layouts/training/model/trainee-attendance-verification.ts","./src/app/layouts/training/model/trainee-attendance.ts","./src/app/layouts/training/model/trainee.ts","./src/app/layouts/training/model/trainer-attendance-verification.ts","./src/app/layouts/training/model/trainer-attendance.ts","./src/app/layouts/training/model/trainer-master.ts","./src/app/layouts/training/model/training-area.ts","./src/app/layouts/training/model/training-check-list-items.ts","./src/app/layouts/training/model/training-letter.ts","./src/app/layouts/training/model/training-material.ts","./src/app/layouts/training/model/training-monitor-questions.ts","./src/app/layouts/training/model/training.ts","./src/app/layouts/training/model/verify-check-list.ts","./src/app/layouts/training/services/attendance-verification.service.ts","./src/app/layouts/training/services/attendance.service.ts","./src/app/layouts/training/services/group.service.ts","./src/app/layouts/training/services/initiate-training.service.ts","./src/app/layouts/training/services/launch-training.service.ts","./src/app/layouts/training/services/my-trainings.service.ts","./src/app/layouts/training/services/payment.service.ts","./src/app/layouts/training/services/report.service.ts","./src/app/layouts/training/services/trainee-registration.service.ts","./src/app/layouts/training/services/trainer-payment-approval.service.ts","./src/app/layouts/training/services/training-assessment.service.ts","./src/app/layouts/training/services/training-monitoring-status-history.service.ts","./src/app/layouts/training/services/training.service.ts","./src/app/layouts/training/training-routing.module.ts","./src/app/layouts/training/training.module.ts","./src/app/test/test/test.component.ts","./src/app/test/three-d-scene/three-d-scene.component.ts","./src/app/token.interceptor.ts","./src/app/views/grids/ag-grid/ag-grid.component.ts","./src/app/views/grids/ag-grid/ag-grid.component.html","./src/app/views/pages/forgot-password/forgot-password.component.ts","./src/app/views/pages/forgot-password/forgot-password.component.html","./src/app/views/pages/login/login.component.ts","./src/app/views/pages/login/login.component.html","./src/app/views/pages/login/model/loggedin-user-data.model.ts","./src/app/views/pages/login/model/test-login.model.ts","./src/app/views/pages/login/model/user.model.ts","./src/app/views/pages/login/services/login.service.ts","./src/app/views/pages/model/emp-code.ts","./src/app/views/pages/model/system-user.ts","./src/app/views/pages/model/user.ts","./src/app/views/pages/page401/page401.component.ts","./src/app/views/pages/page401/page401.component.html","./src/app/views/pages/page404/page404.component.ts","./src/app/views/pages/page404/page404.component.html","./src/app/views/pages/page500/page500.component.ts","./src/app/views/pages/page500/page500.component.html","./src/app/views/pages/register/register.component.ts","./src/app/views/pages/session-expired/session-expired.component.ts","./src/app/views/pages/session-expired/session-expired.component.html","./src/components/docs-callout/docs-callout.component.ts","./src/components/docs-callout/docs-callout.component.html","./src/components/docs-components.module.ts","./src/components/docs-example/docs-example.component.ts","./src/components/docs-example/docs-example.component.html","./src/components/docs-link/docs-link.component.ts","./src/components/docs-link/docs-link.component.html","./src/environments/environment.ts","./src/main.ts","./src/utils/common-util.service.ts","./src/utils/constantss.ts","./node_modules/moment/locale|sync|/^/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { DefaultLayoutComponent } from './containers';\r\nimport { Page404Component } from './views/pages/page404/page404.component';\r\nimport { Page500Component } from './views/pages/page500/page500.component';\r\nimport { LoginComponent } from './views/pages/login/login.component';\r\nimport { RegisterComponent } from './views/pages/register/register.component';\r\nimport { ForgotPasswordComponent } from './views/pages/forgot-password/forgot-password.component';\r\nimport { AgGridComponent } from './views/grids/ag-grid/ag-grid.component';\r\nimport { ConfigurationsModule } from './layouts/configurations/configurations.module';\r\nimport { RegistrationComponent } from './layouts/baseline/component/verfication/registration/registration.component';\r\nimport { VerificationCodeComponent } from './layouts/baseline/component/verfication/registration/verification-code/verification-code.component';\r\nimport { RegistrationSuccessComponent } from './layouts/baseline/component/verfication/registration/registration-success/registration-success.component';\r\nimport { HomeComponent } from './views/pages/homepage/components/home/home.component';\r\nimport { Page401Component } from './views/pages/page401/page401.component';\r\nimport { PrivacyPolicyComponent } from './layouts/monitoring/component/privacy-policy/privacy-policy.component';\r\nimport { TestComponent } from './test/test/test.component';\r\n// import { AuthGuard } from './auth.guard';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: 'login',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'registration',\r\n component: RegistrationComponent\r\n },\r\n {\r\n path: 'privacyPolicy',\r\n component: PrivacyPolicyComponent\r\n },\r\n {\r\n path: 'verification',\r\n component: VerificationCodeComponent\r\n },\r\n {\r\n path: 'registration-success',\r\n component: RegistrationSuccessComponent\r\n },\r\n {\r\n path: '',\r\n component: DefaultLayoutComponent,\r\n // data: {\r\n // title: 'Home'\r\n // },\r\n children: [\r\n {\r\n path: 'dashboard',\r\n loadChildren: () =>\r\n import('./views/dashboard/dashboard.module').then((m) => m.DashboardModule),\r\n // canActivate : [AuthGuard]\r\n },\r\n {\r\n path: 'grid',\r\n loadChildren: () =>\r\n import('./layouts/data-grid/data-grid.module').then((m) => m.DataGridModule)\r\n },\r\n {\r\n path: 'Config',\r\n loadChildren: () =>\r\n import('./layouts/configurations/configurations.module').then((m) => m.ConfigurationsModule)\r\n },\r\n {\r\n path: 'baseline',\r\n loadChildren: () =>\r\n import('./layouts/baseline/baseline.module').then((m) => m.BaselineModule)\r\n },\r\n // {\r\n // path: 'Reports',\r\n // loadChildren: () =>\r\n // import('./layouts/reports/reports.module').then((m) => m.ReportsModule)\r\n // },\r\n {\r\n path: 'training',\r\n loadChildren: () =>\r\n import('./layouts/training/training.module').then((m) => m.TrainingModule)\r\n },\r\n {\r\n path: 'monitoring',\r\n loadChildren: () =>\r\n import('./layouts/monitoring/monitoring.module').then((m) => m.MonitoringModule)\r\n },\r\n {\r\n path: 'escalation',\r\n loadChildren: () =>\r\n import('./layouts/escalation/escalation.module').then((m) => m.EscalationModule)\r\n },\r\n {\r\n path: 'meeting',\r\n loadChildren: () =>\r\n import('./layouts/meeting/meeting.module').then((m) => m.MeetingModule)\r\n },\r\n {\r\n path: 'mentoring',\r\n loadChildren: () =>\r\n import('./layouts/mentoring/mentoring.module').then((m) => m.MentoringModule)\r\n },\r\n {\r\n path: 'pmuMeeting',\r\n loadChildren: () =>\r\n import('./layouts/pmu-meeting/pmu-meeting.module').then((m) => m.PmuMeetingModule)\r\n },\r\n {\r\n path: 'hpcForm',\r\n loadChildren: () =>\r\n import('./layouts/hpc-form/hpc-form.module').then((m) => m.HpcFormModule)\r\n },\r\n {\r\n path : 'shaikshik',\r\n loadChildren : ()=>\r\n import('./layouts/shaikshik-samwad/shaikshik-samwad.module').then((m)=>m.ShaikshikSamwadModule)\r\n },\r\n {\r\n path: 'base',\r\n loadChildren: () =>\r\n import('./views/base/base.module').then((m) => m.BaseModule)\r\n },\r\n {\r\n path: 'buttons',\r\n loadChildren: () =>\r\n import('./views/buttons/buttons.module').then((m) => m.ButtonsModule)\r\n },\r\n {\r\n path: 'forms',\r\n loadChildren: () =>\r\n import('./views/forms/forms.module').then((m) => m.CoreUIFormsModule)\r\n },\r\n {\r\n path: 'charts',\r\n loadChildren: () =>\r\n import('./views/charts/charts.module').then((m) => m.ChartsModule)\r\n },\r\n {\r\n path: 'icons',\r\n loadChildren: () =>\r\n import('./views/icons/icons.module').then((m) => m.IconsModule)\r\n },\r\n {\r\n path: 'notifications',\r\n loadChildren: () =>\r\n import('./views/notifications/notifications.module').then((m) => m.NotificationsModule)\r\n },\r\n {\r\n path: 'widgets',\r\n loadChildren: () =>\r\n import('./views/widgets/widgets.module').then((m) => m.WidgetsModule)\r\n },\r\n {\r\n path: 'pages',\r\n loadChildren: () =>\r\n import('./views/pages/pages.module').then((m) => m.PagesModule)\r\n },\r\n {\r\n path: 'theme',\r\n loadChildren: () =>\r\n import('./views/theme/theme.module').then((m) => m.ThemeModule)\r\n }\r\n ]\r\n },\r\n // {\r\n // path: 'agGrid',\r\n // component: AgGridComponent\r\n // },\r\n {\r\n path: '401',\r\n component: Page401Component,\r\n data: {\r\n title: 'Page 401'\r\n }\r\n },\r\n {\r\n path: '404',\r\n component: Page404Component,\r\n data: {\r\n title: 'Page 404'\r\n }\r\n },\r\n {\r\n path: '500',\r\n component: Page500Component,\r\n data: {\r\n title: 'Page 500'\r\n }\r\n },\r\n {\r\n path: 'login',\r\n component: LoginComponent,\r\n data: {\r\n title: 'Login Page'\r\n }\r\n },\r\n {\r\n path: 'test',\r\n component: TestComponent\r\n },\r\n // {\r\n // path: 'homepage',\r\n // component: HomeComponent,\r\n // data: {\r\n // title: 'HomePage'\r\n // }\r\n // },\r\n {\r\n path: 'register',\r\n component: RegisterComponent,\r\n data: {\r\n title: 'Register Page'\r\n }\r\n },\r\n {\r\n path: 'forgot',\r\n component: ForgotPasswordComponent,\r\n data: {\r\n title: 'Forgot page'\r\n }\r\n\r\n },\r\n { path: '**', redirectTo: '404' }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, {\r\n scrollPositionRestoration: 'top',\r\n anchorScrolling: 'enabled',\r\n initialNavigation: 'enabledBlocking',\r\n onSameUrlNavigation: 'reload'\r\n // relativeLinkResolution: 'legacy'\r\n })\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { IconSetService } from '@coreui/icons-angular';\r\nimport { iconSubset } from './icons/icon-subset';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';\r\nimport { Subscription } from 'rxjs';\r\nexport let browserRefresh = false;\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'body',\r\n template: '',\r\n})\r\n\r\n\r\nexport class AppComponent implements OnInit {\r\n title = '';\r\n subscription: Subscription;\r\n constructor(\r\n private router: Router,\r\n private titleService: Title,\r\n private iconSetService: IconSetService\r\n ) {\r\n titleService.setTitle(this.title);\r\n // iconSet singleton\r\n\r\n iconSetService.icons = { ...iconSubset };\r\n this.subscription = router.events.subscribe((evt) => {\r\n //if ((evt instanceof NavigationEnd)) {\r\n\r\n if (!this.router.navigated) {\r\n browserRefresh = true;\r\n } else {\r\n browserRefresh = false;\r\n };\r\n //}\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.router.events.subscribe((evt: any) => {\r\n if (!(evt instanceof NavigationEnd)) {\r\n return;\r\n }\r\n window.scrollTo(0, 0);\r\n });\r\n }\r\n}\r\n","import { environment } from '../environments/environment';\r\nexport class AppConfig {\r\n // This is base microservice path for config microservice serving API Cluster\r\n public readonly configApiBaseUrl = environment.commonUrl ;\r\n\r\n // This will be a new microservice for login\r\n public readonly loginApiBaseUrl = environment.baseUrl + 'login';\r\n\r\n // This will be a new microservice for integration\r\n public readonly integrationApiBaseUrl = environment.baseUrl + 'integration';\r\n\r\n public readonly awsRegion = environment.awsregion;\r\n\r\n public readonly awsACL = 'public-read';\r\n\r\n public readonly sellerLoanTapeUploadModuleName = 'importLoanTape';\r\n\r\n public readonly sellerLoanDocUploadModuleName = 'importLoanDocuments';\r\n\r\n public readonly maxUploadFilesLimit = environment.uploadMaxFilesLimit;\r\n\r\n public readonly maxParallelFilesUploadLimit =\r\n environment.uploadMaxParallelProcessingFilesLimit;\r\n\r\n public readonly loanDocMaxFileSize = '250MB';\r\n\r\n public readonly loanTapeMaxFileSize = '3MB';\r\n\r\n public readonly docLibUploadModuleName = 'Admin';\r\n\r\n public readonly dashboardComingSoonOverlay =\r\n environment.dashboardComingSoonOverlay;\r\n\r\n public readonly importFindingsModuleName = 'importFindings';\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { DatePipe, HashLocationStrategy, LocationStrategy, PathLocationStrategy } from '@angular/common';\r\nimport { BrowserModule, Title } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport {\r\n PERFECT_SCROLLBAR_CONFIG,\r\n PerfectScrollbarConfigInterface,\r\n PerfectScrollbarModule,\r\n} from 'ngx-perfect-scrollbar';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\n\r\n// Import routing module\r\nimport { AppRoutingModule } from './app-routing.module';\r\n\r\n// Import app component\r\nimport { AppComponent } from './app.component';\r\n\r\n// Import containers\r\nimport {\r\n DefaultFooterComponent,\r\n DefaultHeaderComponent,\r\n DefaultLayoutComponent,\r\n} from './containers';\r\n// import {AgGridModule} from 'ag-grid-angular'\r\nimport {\r\n AccordionModule,\r\n AvatarModule,\r\n \r\n BadgeModule,\r\n BreadcrumbModule,\r\n ButtonGroupModule,\r\n ButtonModule,\r\n CardModule,\r\n DropdownModule,\r\n FooterModule,\r\n FormModule,\r\n GridModule,\r\n HeaderModule,\r\n ListGroupModule,\r\n NavModule,\r\n ProgressModule,\r\n SharedModule,\r\n SidebarModule,\r\n TabsModule,\r\n UtilitiesModule,\r\n} from '@coreui/angular';\r\n\r\nimport { IconModule, IconSetService } from '@coreui/icons-angular';\r\nimport { AgGridComponent } from './views/grids/ag-grid/ag-grid.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { AngularSlickgridModule } from 'angular-slickgrid';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS} from '@angular/common/http';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { AgGriddComponent } from './layouts/data-grid/ag-gridd/ag-gridd.component';\r\nimport { NgToastModule } from 'ng-angular-popup';\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport {SessionStorageService} from 'ngx-webstorage';\r\nimport {ToasterModule} from \"angular2-toaster\";\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { NgbModule, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from './app.config';\r\nimport {ToasterService} from 'angular2-toaster';\r\n// import {AuthGuard} from './auth.guard';\r\nimport {TokenInterceptor} from './token.interceptor';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport {NgMultiSelectDropDownModule} from 'ng-multiselect-dropdown';\r\nimport {CoreModule} from '../app/layouts/core/core.module';\r\nimport { SortablejsModule } from 'ngx-sortablejs';\r\nimport { AuthService } from './layouts/shared/services/auth.service';\r\nimport { TestComponent } from './test/test/test.component';\r\nimport { ZXingScannerModule } from '@zxing/ngx-scanner';\nimport { ThreeDSceneComponent } from './test/three-d-scene/three-d-scene.component';\r\n\r\n\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: true,\r\n};\r\n\r\nconst APP_CONTAINERS = [\r\n DefaultFooterComponent,\r\n DefaultHeaderComponent,\r\n DefaultLayoutComponent,\r\n];\r\n\r\n\r\nexport function TranslationLoaderFactory(http:HttpClient){\r\n return new TranslateHttpLoader(http, './assets/i18n/','.json')\r\n}\r\n\r\n\r\n@NgModule({\r\n declarations: [AppComponent, ...APP_CONTAINERS, AgGridComponent, TestComponent, ThreeDSceneComponent],\r\n imports: [\r\n BrowserModule,DragDropModule,\r\n BrowserAnimationsModule,\r\n AppRoutingModule,\r\n AvatarModule,\r\n BreadcrumbModule,\r\n FooterModule,\r\n DropdownModule,\r\n GridModule,\r\n HeaderModule,\r\n ReactiveFormsModule,\r\n FormModule,\r\n SidebarModule,\r\n IconModule,\r\n PerfectScrollbarModule,\r\n NavModule,\r\n ButtonModule,\r\n FormModule,\r\n UtilitiesModule,\r\n ButtonGroupModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n CoreModule,\r\n SidebarModule,\r\n SharedModule,\r\n TabsModule,\r\n ListGroupModule,\r\n ProgressModule,\r\n BadgeModule,\r\n ListGroupModule,\r\n CardModule,\r\n HttpClientModule,\r\n TranslateModule.forRoot({\r\n defaultLanguage:'en',\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: TranslationLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n // AngularSlickgridModule.forRoot(),\r\n AgGridModule.withComponents([]),\r\n NgToastModule,\r\n DataTablesModule,\r\n ToasterModule.forRoot(),\r\n ToastrModule.forRoot(),\r\n AvatarModule,\r\n NgbPopoverModule,\r\n SortablejsModule.forRoot({\r\n animation: 200,\r\n }),\r\n NgSelectModule,\r\n NgMultiSelectDropDownModule.forRoot(),\r\n ZXingScannerModule,\r\n AccordionModule,\r\n \r\n \r\n\r\n ],\r\n providers: [\r\n {\r\n provide: LocationStrategy,\r\n useClass: HashLocationStrategy,\r\n },\r\n {\r\n provide: PERFECT_SCROLLBAR_CONFIG,\r\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG,\r\n },\r\n \r\n {\r\n provide : HTTP_INTERCEPTORS,\r\n useClass : TokenInterceptor,\r\n multi : true\r\n },\r\n DatePipe,\r\n IconSetService,\r\n Title,\r\n SessionStorageService,\r\n AppConfig,\r\n ToasterService,\r\n CookieService,\r\n AuthService\r\n // AuthGuard\r\n ],\r\n bootstrap: [AppComponent],\r\n\r\n})\r\nexport class AppModule {\r\n constructor(){\r\n // console.log(\"Saurav Gawli, Ayushi Gajpal, Samarth Trivedi\")\r\n }\r\n}\r\n","import { INavData } from '@coreui/angular';\r\n\r\nexport const navItems: INavData[] = [\r\n// {\r\n// name: 'Dashboard',\r\n// url: '/dashboard',\r\n// iconComponent: { name: 'cil-speedometer' },\r\n// },\r\n// {\r\n// title: true,\r\n// name: 'Grid'\r\n// },\r\n// {\r\n// name: 'Ag grid',\r\n// url: '/grid/aggrid',\r\n// iconComponent: { name: 'cil-drop' }\r\n// },\r\n// {\r\n// name: 'Data table',\r\n// url: '/grid/datatable',\r\n// // linkProps: { fragment: 'someAnchor' },\r\n// iconComponent: { name: 'cil-pencil' }\r\n// },\r\n// {\r\n// title: true,\r\n// name: 'Configuration'\r\n// },\r\n// {\r\n// name: 'Role Management',\r\n// url: '/configuration/manage_roles',\r\n// // linkProps: { fragment: 'someAnchor' },\r\n// iconComponent: { name: 'cil-People' }\r\n// },\r\n// {\r\n// name: 'User Management',\r\n// url: '/configuration/manage_users',\r\n// // linkProps: { fragment: 'someAnchor' },\r\n// iconComponent: { name: 'cil-userFollow' }\r\n// },\r\n// {\r\n// name: 'Manage Permission',\r\n// url: '/configuration/manage_permissions',\r\n// // linkProps: { fragment: 'someAnchor' },\r\n// iconComponent: { name: 'cil-List' }\r\n// }\r\n// ,\r\n\r\n// {\r\n// name: 'Components',\r\n// title: true\r\n// },\r\n// {\r\n// name: 'Base',\r\n// url: '/base',\r\n// iconComponent: { name: 'cil-puzzle' },\r\n// children: [\r\n// {\r\n// name: 'Accordion',\r\n// url: '/base/accordion'\r\n// },\r\n// {\r\n// name: 'Breadcrumbs',\r\n// url: '/base/breadcrumbs'\r\n// },\r\n// {\r\n// name: 'Cards',\r\n// url: '/base/cards'\r\n// },\r\n// {\r\n// name: 'Carousel',\r\n// url: '/base/carousel'\r\n// },\r\n// {\r\n// name: 'Collapse',\r\n// url: '/base/collapse'\r\n// },\r\n// {\r\n// name: 'List Group',\r\n// url: '/base/list-group'\r\n// },\r\n// {\r\n// name: 'Navs & Tabs',\r\n// url: '/base/navs'\r\n// },\r\n// {\r\n// name: 'Pagination',\r\n// url: '/base/pagination'\r\n// },\r\n// {\r\n// name: 'Placeholder',\r\n// url: '/base/placeholder'\r\n// },\r\n// {\r\n// name: 'Popovers',\r\n// url: '/base/popovers'\r\n// },\r\n// {\r\n// name: 'Progress',\r\n// url: '/base/progress'\r\n// },\r\n// {\r\n// name: 'Spinners',\r\n// url: '/base/spinners'\r\n// },\r\n// {\r\n// name: 'Tables',\r\n// url: '/base/tables'\r\n// },\r\n// {\r\n// name: 'Tabs',\r\n// url: '/base/tabs'\r\n// },\r\n// {\r\n// name: 'Tooltips',\r\n// url: '/base/tooltips'\r\n// }\r\n// ]\r\n// },\r\n// {\r\n// name: 'Buttons',\r\n// url: '/buttons',\r\n// iconComponent: { name: 'cil-cursor' },\r\n// children: [\r\n// {\r\n// name: 'Buttons',\r\n// url: '/buttons/buttons'\r\n// },\r\n// {\r\n// name: 'Button groups',\r\n// url: '/buttons/button-groups'\r\n// },\r\n// {\r\n// name: 'Dropdowns',\r\n// url: '/buttons/dropdowns'\r\n// },\r\n// ]\r\n// },\r\n\r\n// [\r\n// {\r\n// \"name\": \"Configuration\",\r\n// \"url\": \"Config\",\r\n// \"icon\": \"config.jpg\",\r\n// \"displayOrder\": 1,\r\n// \"children\": [\r\n// {\r\n// \"privilegeOrder\": 0,\r\n// \"icon\": \"umgmt.jpg\",\r\n// \"id\": 2,\r\n// \"name\": \"User Management\",\r\n// \"itemName\": \"User Management\",\r\n// \"url\": \"Config/UserMgmt\",\r\n// \"permission\": {\r\n// \"view\": true,\r\n// \"add\": false,\r\n// \"edit\": false,\r\n// \"delete\": false\r\n// },\r\n// \"displayOrder\": 1,\r\n// \"children\": []\r\n// },\r\n// {\r\n// \"privilegeOrder\": 0,\r\n// \"icon\": \"rmgmt.jpg\",\r\n// \"id\": 3,\r\n// \"name\": \"Role Management\",\r\n// \"itemName\": \"Role Management\",\r\n// \"url\": \"Config/RoleMgmt\",\r\n// \"permission\": {\r\n// \"view\": true,\r\n// \"add\": false,\r\n// \"edit\": false,\r\n// \"delete\": false\r\n// },\r\n// \"displayOrder\": 2,\r\n// \"children\": []\r\n// },\r\n// {\r\n// \"privilegeOrder\": 0,\r\n// \"icon\": \"perm.jpg\",\r\n// \"id\": 4,\r\n// \"name\": \"Permission\",\r\n// \"itemName\": \"Permission\",\r\n// \"url\": \"Config/Permission\",\r\n// \"permission\": {\r\n// \"view\": true,\r\n// \"add\": false,\r\n// \"edit\": false,\r\n// \"delete\": false\r\n// },\r\n// \"displayOrder\": 3,\r\n// \"children\": []\r\n// }\r\n// ]\r\n// },\r\n// {\r\n// \"name\": \"Performance\",\r\n// \"url\": \"Perform\",\r\n// \"icon\": \"perf.jpg\",\r\n// \"displayOrder\": 2,\r\n// \"children\": [\r\n// {\r\n// \"privilegeOrder\": 0,\r\n// \"icon\": \"sperf.jpg\",\r\n// \"id\": 6,\r\n// \"name\": \"StudentPerformance\",\r\n// \"itemName\": \"StudentPerformance\",\r\n// \"url\": \"StudentPerformance\",\r\n// \"permission\": {\r\n// \"view\": true,\r\n// \"add\": false,\r\n// \"edit\": false,\r\n// \"delete\": false\r\n// },\r\n// \"displayOrder\": 1,\r\n// \"children\": []\r\n// },\r\n// {\r\n// \"privilegeOrder\": 0,\r\n// \"icon\": \"tperf.jpg\",\r\n// \"id\": 7,\r\n// \"name\": \"TeacherPerformance\",\r\n// \"itemName\": \"TeacherPerformance\",\r\n// \"url\": \"TeacherPerformance\",\r\n// \"permission\": {\r\n// \"view\": true,\r\n// \"add\": false,\r\n// \"edit\": false,\r\n// \"delete\": false\r\n// },\r\n// \"displayOrder\": 2,\r\n// \"children\": [\r\n// {\r\n// \"privilegeOrder\": 0,\r\n// \"icon\": \"as.jpg\",\r\n// \"id\": 8,\r\n// \"name\": \"Assessment\",\r\n// \"itemName\": \"Assessment\",\r\n// \"url\": \"tp/Assessment\",\r\n// \"permission\": {\r\n// \"view\": true,\r\n// \"add\": false,\r\n// \"edit\": false,\r\n// \"delete\": false\r\n// },\r\n// \"displayOrder\": 1,\r\n// \"children\": []\r\n// }\r\n// ]\r\n// }\r\n// ]\r\n// }\r\n// ]\r\n// {\r\n// name: 'Forms',\r\n// url: '/forms',\r\n// iconComponent: { name: 'cil-notes' },\r\n// children: [\r\n// {\r\n// name: 'Form Control',\r\n// url: '/forms/form-control'\r\n// },\r\n// {\r\n// name: 'Select',\r\n// url: '/forms/select'\r\n// },\r\n// {\r\n// name: 'Checks & Radios',\r\n// url: '/forms/checks-radios'\r\n// },\r\n// {\r\n// name: 'Range',\r\n// url: '/forms/range'\r\n// },\r\n// {\r\n// name: 'Input Group',\r\n// url: '/forms/input-group'\r\n// },\r\n// {\r\n// name: 'Floating Labels',\r\n// url: '/forms/floating-labels'\r\n// },\r\n// {\r\n// name: 'Layout',\r\n// url: '/forms/layout'\r\n// },\r\n// {\r\n// name: 'Validation',\r\n// url: '/forms/validation'\r\n// }\r\n// ]\r\n// },\r\n// {\r\n// name: 'Charts',\r\n// url: '/charts',\r\n// iconComponent: { name: 'cil-chart-pie' }\r\n// },\r\n// {\r\n// name: 'Icons',\r\n// iconComponent: { name: 'cil-star' },\r\n// url: '/icons',\r\n// children: [\r\n// {\r\n// name: 'CoreUI Free',\r\n// url: '/icons/coreui-icons',\r\n// badge: {\r\n// color: 'success',\r\n// text: 'FREE'\r\n// }\r\n// },\r\n// {\r\n// name: 'CoreUI Flags',\r\n// url: '/icons/flags'\r\n// },\r\n// {\r\n// name: 'CoreUI Brands',\r\n// url: '/icons/brands'\r\n// }\r\n// ]\r\n// },\r\n// {\r\n// name: 'Notifications',\r\n// url: '/notifications',\r\n// iconComponent: { name: 'cil-bell' },\r\n// children: [\r\n// {\r\n// name: 'Alerts',\r\n// url: '/notifications/alerts'\r\n// },\r\n// {\r\n// name: 'Badges',\r\n// url: '/notifications/badges'\r\n// },\r\n// {\r\n// name: 'Modal',\r\n// url: '/notifications/modal'\r\n// },\r\n// {\r\n// name: 'Toast',\r\n// url: '/notifications/toasts'\r\n// }\r\n// ]\r\n// },\r\n// {\r\n// name: 'Widgets',\r\n// url: '/widgets',\r\n// iconComponent: { name: 'cil-calculator' },\r\n// badge: {\r\n// color: 'info',\r\n// text: 'NEW'\r\n// }\r\n// },\r\n// {\r\n// title: true,\r\n// name: 'Extras'\r\n// },\r\n// {\r\n// name: 'Pages',\r\n// url: '/login',\r\n// iconComponent: { name: 'cil-star' },\r\n// children: [\r\n// {\r\n// name: 'Login',\r\n// url: '/login'\r\n// },\r\n// {\r\n// name: 'Register',\r\n// url: '/register'\r\n// },\r\n// {\r\n// name: 'Error 404',\r\n// url: '/404'\r\n// },\r\n// {\r\n// name: 'Error 500',\r\n// url: '/500'\r\n// }\r\n// ]\r\n// },\r\n];\r\n","import { Component } from '@angular/core';\r\nimport { FooterComponent } from '@coreui/angular';\r\n\r\n@Component({\r\n selector: 'app-default-footer',\r\n templateUrl: './default-footer.component.html',\r\n styleUrls: ['./default-footer.component.scss'],\r\n})\r\nexport class DefaultFooterComponent extends FooterComponent {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { ClassToggleService, HeaderComponent } from '@coreui/angular';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-default-header',\r\n templateUrl: './default-header.component.html',\r\n styleUrls : ['./default-header.component.scss']\r\n})\r\nexport class DefaultHeaderComponent extends HeaderComponent {\r\n\r\n @Input() sidebarId: string = \"sidebar\";\r\n chooseLanguage =\"Choose Language\";\r\n userData:any;\r\n public newMessages = new Array(4)\r\n public newTasks = new Array(5)\r\n public newNotifications = new Array(5)\r\n roleList=[];\r\n\r\n constructor(private classToggler: ClassToggleService,\r\n private clientSideStorage : ClientSideStorageService,\r\n private translateService : TranslateService,\r\n private dataSharingService : DataSharingService,\r\n private router : Router,) { \r\n super();\r\n }\r\n\r\n public selectLanguage(event:any){\r\n this.translateService.use(event.target.value);\r\n }\r\n\r\n logout(){\r\n this.clientSideStorage.clear();\r\n this.router.navigate(['/']);\r\n }\r\n\r\n public selectedRole(event:any){\r\n this.dataSharingService.setNavigationMenuId(parseInt(event.target.value));\r\n\r\n }\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{'dashboard' | translate}}\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n {{ \"language.english\" | translate }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LoginService } from '../../views/pages/login/services/login.service';\r\nimport { navItems } from './_nav';\r\nimport { DataSharingService } from '../../layouts/shared/services/data-sharing.service';\r\nimport * as _ from 'lodash';\r\nimport { LoggedinUserData } from '../../views/pages/login/model/loggedin-user-data.model';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './default-layout.component.html',\r\n})\r\nexport class DefaultLayoutComponent implements OnInit {\r\n public navItems = navItems;\r\n loggedinUserData = new LoggedinUserData();\r\n userData: any;\r\n roleArea: any;\r\n roleList = [];\r\n employeeCode;\r\n employeeName;\r\n public perfectScrollbarConfig = {\r\n suppressScrollX: true,\r\n };\r\n roleIdLoggedIn:any;\r\n @Input() sidebarId: string = 'sidebar';\r\n chooseLanguage = 'Choose Language';\r\n public newMessages = new Array(4);\r\n public newTasks = new Array(5);\r\n public newNotifications = new Array(5);\r\n\r\n constructor(\r\n private _loginService: LoginService,\r\n private dataSharing: DataSharingService,\r\n private translateService: TranslateService,\r\n private clientStorage: ClientSideStorageService,\r\n private router: Router,\r\n ) {\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n this.roleList.sort((a, b) => a.roleTypeId - b.roleTypeId);\r\n this.userId = this.userData.user.userId;\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n const roleId = this.clientStorage.get('roleId');\r\n const batchCode = this.clientStorage.get('batchCode');\r\n const userId = this.clientStorage.get('userId');\r\n this.getNavigableMenu(Number(userId), this.roleList[0].roleId);\r\n }\r\n\r\n id: number;\r\n userId: number;\r\n selectedAttributes: any;\r\n ngOnInit(): void {\r\n this.selectedAttributes = this.roleList[0].roleId;\r\n this.clientStorage.set('loggedInRole', JSON.stringify( this.roleList[0]));\r\n this.clientStorage.set('roleId',JSON.parse(this.clientStorage.get('loggedInRole')).roleId);\r\n this.clientStorage.set('roleTypeId',this.roleList[0].roleTypeId);\r\n this.roleIdLoggedIn = this.roleList[0].roleId;\r\n }\r\n\r\n onSelectedRole(e) {\r\n this.clientStorage.set('loggedInRole', JSON.stringify(e));\r\n this.clientStorage.set('roleId',JSON.parse(this.clientStorage.get('loggedInRole')).roleId);\r\n this.roleIdLoggedIn= e.roleId;\r\n this.clientStorage.set('roleTypeId',e.roleTypeId);\r\n this.getNavigableMenu(Number(this.userId), Number(e.roleId));\r\n this.router.navigate(['/dashboard']);\r\n }\r\n\r\n // public selectedRole(event:any){\r\n // this.dataSharing.setNavigationMenuId(parseInt(event.target.value));\r\n\r\n // }\r\n\r\n logout() {\r\n this.dataSharing.setMOMEditData([]);\r\n this.clientStorage.clear(); \r\n this.router.navigate(['/']);\r\n }\r\n\r\n public selectLanguage(event: any) {\r\n this.translateService.use(event.target.value);\r\n }\r\n\r\n getNavigableMenu(userId?, roleId?) {\r\n this._loginService.getNavigationMenu(userId, roleId).subscribe((data) => {\r\n if (data.employeeRoleArea.employeeRole != null) {\r\n this.employeeCode = data.employeeRoleArea.employeeRole.employeeCode;\r\n this.employeeName = data.employeeRoleArea.employeeRole.employeeName;\r\n let loggedInRoleArea=[];\r\n if(data.employeeRoleArea.roleArea!=null || data.employeeRoleArea.roleArea!=undefined){\r\n data.employeeRoleArea.roleArea.forEach(a=>{\r\n if(a.roleId===roleId){\r\n loggedInRoleArea.push(a);\r\n }\r\n })\r\n }\r\n this.clientStorage.set('roleArea', JSON.stringify(loggedInRoleArea));\r\n this.clientStorage.set('employeeId',data.employeeRoleArea.employeeRole.employeeCode);\r\n }\r\n if (data && data !== null) {\r\n let child = [];\r\n this.navItems = data.navigableMenu;\r\n this.dataSharing.setNavItems(this.navItems);\r\n const dataNav = data.employeeRoleArea;\r\n const dataFilter = dataNav.roleArea.filter((d)=>d.roleId===this.roleIdLoggedIn);\r\n dataNav.roleArea = dataFilter; \r\n this.dataSharing.setMenuList(dataNav);\r\n this.navItems = _.orderBy(this.navItems, 'displayOrder', 'asc');\r\n setTimeout(() => { }, 10);\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n}\r\n","\r\n
\r\n \r\n\r\n \r\n \r\n \r\n {{ \"rsk\" | translate }}\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n
Hello,\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Home > \r\n \r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
Logged in Role
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n\r\n
    Settings
    \r\n
  • \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n
    \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
","export * from './default-footer/default-footer.component';\r\nexport * from './default-header/default-header.component';\r\nexport * from './default-layout.component';\r\n","export * from './default-layout';\r\n","import {\r\n cibCcAmex,\r\n cibCcApplePay,\r\n cibCcMastercard,\r\n cibCcPaypal,\r\n cibCcStripe,\r\n cibCcVisa,\r\n cibFacebook,\r\n cibGoogle,\r\n cibLinkedin,\r\n cibSkype,\r\n cibTwitter,\r\n cifBr,\r\n cifEs,\r\n cifFr,\r\n cifIn,\r\n cifPl,\r\n cifUs,\r\n cilAlignCenter,\r\n cilAlignLeft,\r\n cilAlignRight,\r\n cilApplicationsSettings,\r\n cilArrowBottom,\r\n cilArrowRight,\r\n cilArrowTop,\r\n cilBasket,\r\n cilBell,\r\n cilBold,\r\n cilBookmark,\r\n cilCalculator,\r\n cilCalendar,\r\n cilChart,\r\n cilChartPie,\r\n cilCheck,\r\n cilChevronLeft,\r\n cilChevronRight,\r\n cilCloudDownload,\r\n cilCode,\r\n cilCommentSquare,\r\n cilCreditCard,\r\n cilCursor,\r\n cilDollar,\r\n cilDrop,\r\n cilEnvelopeClosed,\r\n cilEnvelopeOpen,\r\n cilFile,\r\n cilHome,\r\n cilInbox,\r\n cilIndentDecrease,\r\n cilIndentIncrease,\r\n cilItalic,\r\n cilJustifyCenter,\r\n cilLayers,\r\n cilList,\r\n cilListNumbered,\r\n cilLocationPin,\r\n cilLockLocked,\r\n cilMagnifyingGlass,\r\n cilMap,\r\n cilMediaPlay,\r\n cilMenu,\r\n cilMoon,\r\n cilNotes,\r\n cilOptions,\r\n cilPaperclip,\r\n cilPaperPlane,\r\n cilPen,\r\n cilPencil,\r\n cilPeople,\r\n cilPrint,\r\n cilPuzzle,\r\n cilReportSlash,\r\n cilSave,\r\n cilSettings,\r\n cilShare,\r\n cilShareAll,\r\n cilShareBoxed,\r\n cilSpeech,\r\n cilSpeedometer,\r\n cilSpreadsheet,\r\n cilStar,\r\n cilSun,\r\n cilTags,\r\n cilTask,\r\n cilTrash,\r\n cilUnderline,\r\n cilUser,\r\n cilUserFemale,\r\n cilUserFollow,\r\n cilUserUnfollow,\r\n} from '@coreui/icons';\r\n\r\nexport const iconSubset = {\r\n cibCcAmex,\r\n cibCcApplePay,\r\n cibCcMastercard,\r\n cibCcPaypal,\r\n cibCcStripe,\r\n cibCcVisa,\r\n cibFacebook,\r\n cibGoogle,\r\n cibLinkedin,\r\n cibSkype,\r\n cibTwitter,\r\n cifBr,\r\n cifEs,\r\n cifFr,\r\n cifIn,\r\n cifPl,\r\n cifUs,\r\n cilAlignCenter,\r\n cilAlignLeft,\r\n cilAlignRight,\r\n cilApplicationsSettings,\r\n cilArrowBottom,\r\n cilArrowRight,\r\n cilArrowTop,\r\n cilBasket,\r\n cilBell,\r\n cilBold,\r\n cilBookmark,\r\n cilCalculator,\r\n cilCalendar,\r\n cilChart,\r\n cilChartPie,\r\n cilCheck,\r\n cilChevronLeft,\r\n cilChevronRight,\r\n cilCloudDownload,\r\n cilCode,\r\n cilCommentSquare,\r\n cilCreditCard,\r\n cilCursor,\r\n cilDollar,\r\n cilDrop,\r\n cilEnvelopeClosed,\r\n cilEnvelopeOpen,\r\n cilFile,\r\n cilHome,\r\n cilInbox,\r\n cilIndentDecrease,\r\n cilIndentIncrease,\r\n cilItalic,\r\n cilJustifyCenter,\r\n cilLayers,\r\n cilList,\r\n cilListNumbered,\r\n cilLocationPin,\r\n cilLockLocked,\r\n cilMagnifyingGlass,\r\n cilMap,\r\n cilMediaPlay,\r\n cilMenu,\r\n cilMoon,\r\n cilNotes,\r\n cilOptions,\r\n cilPaperclip,\r\n cilPaperPlane,\r\n cilPen,\r\n cilPencil,\r\n cilPeople,\r\n cilPrint,\r\n cilPuzzle,\r\n cilReportSlash,\r\n cilSave,\r\n cilSettings,\r\n cilShare,\r\n cilShareAll,\r\n cilShareBoxed,\r\n cilSpeech,\r\n cilSpeedometer,\r\n cilSpreadsheet,\r\n cilStar,\r\n cilSun,\r\n cilTags,\r\n cilTask,\r\n cilTrash,\r\n cilUnderline,\r\n cilUser,\r\n cilUserFemale,\r\n cilUserFollow,\r\n cilUserUnfollow,\r\n};\r\n\r\nexport enum IconSubset {\r\n cibCcAmex = 'cibCcAmex',\r\n cibCcApplePay = 'cibCcApplePay',\r\n cibCcMastercard = 'cibCcMastercard',\r\n cibCcPaypal = 'cibCcPaypal',\r\n cibCcStripe = 'cibCcStripe',\r\n cibCcVisa = 'cibCcVisa',\r\n cibFacebook = 'cibFacebook',\r\n cibGoogle = 'cibGoogle',\r\n cibLinkedin = 'cibLinkedin',\r\n cibSkype = 'cibSkype',\r\n cibTwitter = 'cibTwitter',\r\n cifBr = 'cifBr',\r\n cifEs = 'cifEs',\r\n cifFr = 'cifFr',\r\n cifIn = 'cifIn',\r\n cifPl = 'cifPl',\r\n cifUs = 'cifUs',\r\n cilAlignCenter = 'cilAlignCenter',\r\n cilAlignLeft = 'cilAlignLeft',\r\n cilAlignRight = 'cilAlignRight',\r\n cilApplicationsSettings = 'cilApplicationsSettings',\r\n cilArrowBottom = 'cilArrowBottom',\r\n cilArrowRight = 'cilArrowRight',\r\n cilArrowTop = 'cilArrowTop',\r\n cilBasket = 'cilBasket',\r\n cilBell = 'cilBell',\r\n cilBold = 'cilBold',\r\n cilBookmark = 'cilBookmark',\r\n cilCalculator = 'cilCalculator',\r\n cilCalendar = 'cilCalendar',\r\n cilChart = 'cilChart',\r\n cilChartPie = 'cilChartPie',\r\n cilCheck='cilCheck',\r\n cilChevronLeft = 'cilChevronLeft',\r\n cilChevronRight = 'cilChevronRight',\r\n cilCloudDownload = 'cilCloudDownload',\r\n cilCode = 'cilCode',\r\n cilCommentSquare = 'cilCommentSquare',\r\n cilCreditCard = 'cilCreditCard',\r\n cilCursor = 'cilCursor',\r\n cilDollar = 'cilDollar',\r\n cilDrop = 'cilDrop',\r\n cilEnvelopeClosed = 'cilEnvelopeClosed',\r\n cilEnvelopeOpen = 'cilEnvelopeOpen',\r\n cilFile = 'cilFile',\r\n cilHome = 'cilHome',\r\n cilInbox = 'cilInbox',\r\n cilIndentDecrease = 'cilIndentDecrease',\r\n cilIndentIncrease = 'cilIndentIncrease',\r\n cilItalic = 'cilItalic',\r\n cilJustifyCenter = 'cilJustifyCenter',\r\n cilLayers = 'cilLayers',\r\n cilList = 'cilList',\r\n cilListNumbered = 'cilListNumbered',\r\n cilLocationPin = 'cilLocationPin',\r\n cilLockLocked = 'cilLockLocked',\r\n cilMagnifyingGlass = 'cilMagnifyingGlass',\r\n cilMap = 'cilMap',\r\n cilMediaPlay = 'cilMediaPlay',\r\n cilMenu = 'cilMenu',\r\n cilMoon = 'cilMoon',\r\n cilNotes = 'cilNotes',\r\n cilOptions = 'cilOptions',\r\n cilPaperclip = 'cilPaperclip',\r\n cilPaperPlane = 'cilPaperPlane',\r\n cilPen = 'cilPen',\r\n cilPencil = 'cilPencil',\r\n cilPeople = 'cilPeople',\r\n cilPrint = 'cilPrint',\r\n cilPuzzle = 'cilPuzzle',\r\n cilReportSlash = 'cilReportSlash',\r\n cilSave = 'cilSave',\r\n cilSettings = 'cilSettings',\r\n cilShare = 'cilShare',\r\n cilShareAll = 'cilShareAll',\r\n cilShareBoxed = 'cilShareBoxed',\r\n cilSpeech = 'cilSpeech',\r\n cilSpeedometer = 'cilSpeedometer',\r\n cilSpreadsheet = 'cilSpreadsheet',\r\n cilStar = 'cilStar',\r\n cilSun = 'cilSun',\r\n cilTags = 'cilTags',\r\n cilTask = 'cilTask',\r\n cilTrash = 'cilTrash',\r\n cilUnderline = 'cilUnderline',\r\n cilUser = 'cilUser',\r\n cilUserFemale = 'cilUserFemale',\r\n cilUserFollow = 'cilUserFollow',\r\n cilUserUnfollow = 'cilUserUnfollow',\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-registration-success',\r\n templateUrl: './registration-success.component.html',\r\n styleUrls: ['./registration-success.component.scss']\r\n})\r\nexport class RegistrationSuccessComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\nVerification\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\"Registration
\r\n
\r\n
\r\n Registration Successful\r\n
\r\n
\r\n
\r\n\r\n
\r\n Thank you for registering with us! Your Data has been saved successfully and you will be notified via text for\r\n further updates.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { Bank } from '../../../model/bank.model';\r\nimport { Entity } from '../../../model/entity.model';\r\nimport { Enumerator } from '../../../model/enumerator.model';\r\nimport { Verification } from '../../../model/verification model/verification';\r\nimport { RegistrationService } from '../../../service/registration.service';\r\nimport { ManageUserService } from '../../../../configurations/service/manage user service/manage-user.service';\r\nimport { OtpDetail } from '../../../model/otp-detail.model';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { VerificationCodeConfirmationService } from '../../../../shared/services/verification-code-confirmation.service';\r\nimport { InstituteDistrict } from '../../../model/institute-district.model';\r\nimport { Institute } from '../../../model/institute.model';\r\nimport { Districtcode } from '../../../model/districtcode.model';\r\nimport { Block } from '../../../model/block.model';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { UserArea } from 'src/app/layouts/configurations/model/manage role model/user-area.model';\r\nimport { VerifiedBy } from 'src/app/views/pages/model/verified-by';\r\nimport { EmpCode } from 'src/app/views/pages/model/emp-code';\r\nimport { LoggedinUserData } from 'src/app/views/pages/login/model/loggedin-user-data.model';\r\nimport { formatDate } from '@angular/common';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { cilUnderline } from '@coreui/icons';\r\nimport { thousandSeparatorFormatted } from 'angular-slickgrid';\r\nimport { BaselineService } from '../../../service/baseline.service';\r\nimport { FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { PmuMeetingService } from 'src/app/layouts/pmu-meeting/services/pmu-meeting.service';\r\nimport { EditIconComponent } from 'src/app/layouts/core/edit-icon/edit-icon.component';\r\n\r\n@Component({\r\n selector: 'app-registration',\r\n templateUrl: './registration.component.html',\r\n styleUrls: ['./registration.component.scss'],\r\n})\r\nexport class RegistrationComponent implements OnInit {\r\n title: string;\r\n readonly = false;\r\n institutionDistricts = [];\r\n institutionNames = [];\r\n enumeratorId: number;\r\n disFile = false;\r\n emailPattern = '^[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,4}$';\r\n detailsForm: FormGroup;\r\n showReg = true;\r\n showVerf = false;\r\n showVerfiedBy = false;\r\n localRegistrationPath = 'http://localhost:4200/#/registration';\r\n appRegistrationPath = 'http://184.168.124.155/#/registration';\r\n districts;\r\n blocks: Entity[];\r\n clusters: Entity[];\r\n groupFilter: any;\r\n schools: Entity[];\r\n path = window.location.href;\r\n editData: any;\r\n districtList: Entity[];\r\n otpDetail = new OtpDetail();\r\n bankList: Entity[];\r\n fileUploadplaceHolder;\r\n ppm: any;\r\n branchName = '';\r\n fileName;\r\n columnDefs: any;\r\n paginationPageSize = 20;\r\n userData: any;\r\n userId: string;\r\n fData = new FormData();\r\n editDataRes: any;\r\n loggedInRole: any;\r\n loggedInUserDistrictId: any;\r\n subjects;\r\n rowData = [];\r\n recordCount = 0;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n frameworkComponents;\r\n value: any;\r\n district = [];\r\n districtInfoArray: any;\r\n roleArea;\r\n districtIDS = [];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private dataSharing: DataSharingService,\r\n private router: Router,\r\n private userService: ManageUserService,\r\n private registrationService: RegistrationService,\r\n private toast: NgToastService,\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private clientStorage: ClientSideStorageService,\r\n private baseLineService: BaselineService,\r\n private _commonUtilService: CommonUtilService,\r\n private meetingService: PmuMeetingService\r\n ) {\r\n this.frameworkComponents = {\r\n editIconComponent: EditIconComponent\r\n };\r\n this.userId = this.clientStorage.get('userId');\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n this.getSubjects();\r\n this.loggedInRole = JSON.parse(this.clientStorage.get('roleArea'));\r\n this.getRoleArea();\r\n this.getAllEnumerator()\r\n if (\r\n this.loggedInRole &&\r\n this.loggedInRole != undefined &&\r\n this.loggedInRole[0].districtId != undefined &&\r\n this.loggedInRole != null &&\r\n this.loggedInRole[0].districtId != null\r\n ) {\r\n this.loggedInUserDistrictId = Number(this.loggedInRole[0].districtId);\r\n }\r\n this.title = 'Registration Form';\r\n this.createFormAdd();\r\n this.createColumnDefs();\r\n }\r\n\r\n getRoleArea() {\r\n this.districtInfoArray = this.roleArea.map(item => {\r\n return {\r\n districtId: item.districtId,\r\n districtName: item.districtName\r\n };\r\n });\r\n this.district = [...new Set(this.districtInfoArray)]\r\n // console.log(this.district);\r\n }\r\n\r\n year = [\r\n // { id: 1, value: 1 },\r\n // { id: 2, value: 2 },\r\n {\r\n id: 1,\r\n value: 'D.Ed 1st year'\r\n },\r\n {\r\n id: 2,\r\n value: ' D.Ed 2nd year'\r\n }, {\r\n id: 3,\r\n value: 'MT/DRG '\r\n }, {\r\n id: 4,\r\n value: 'CAC'\r\n }, {\r\n id: 5,\r\n value: 'BAC'\r\n }\r\n ];\r\n\r\n ngOnInit(): void {\r\n this.getBanks();\r\n this.getDistrict();\r\n this.getInstitutionDistrict();\r\n this.getInstituitionNames();\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n this.gridApi.refreshCells()\r\n }\r\n\r\n\r\n createFormAdd() {\r\n this.disFile = null;\r\n this.detailsForm = this.fb.group({\r\n id: [],\r\n name: ['',\r\n [\r\n Validators.required\r\n ],\r\n ],\r\n dateOfBirth: [''],\r\n mobile: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.maxLength(10),\r\n Validators.pattern('^[0-9]+$'),\r\n ],\r\n ],\r\n email: ['', [Validators.pattern(this.emailPattern)]],\r\n fatherName: [''],\r\n residentialAddress: [\r\n '',\r\n [\r\n Validators.maxLength(250)\r\n ],\r\n ],\r\n ded: [null, [Validators.required]],\r\n accountHolderName: [\r\n '',\r\n [\r\n Validators.maxLength(50)\r\n ],\r\n ],\r\n bankId: [null],\r\n ifscCode: [\r\n '',\r\n [\r\n Validators.maxLength(11),\r\n Validators.pattern('^[A-Za-z]{4}0[A-Z0-9a-z]{6}$'),\r\n ],\r\n ],\r\n accountNumber: [''],\r\n districtCode: [null, [Validators.required]]\r\n });\r\n }\r\n\r\n createFormEdit() {\r\n this.detailsForm = this.fb.group({\r\n id: [this.editData?.id],\r\n name: [this.editData?.name, [\r\n Validators.required\r\n ]],\r\n dateOfBirth: [this.getDateOfBirth(), [Validators.required]],\r\n mobile: [this.editData?.mobile, [\r\n Validators.required,\r\n Validators.maxLength(10),\r\n Validators.pattern('^[0-9]+$'),\r\n ]],\r\n email: [this.editData?.email, [Validators.pattern(this.emailPattern)]],\r\n fatherName: [this.editData?.fatherName, [Validators.required]],\r\n residentialAddress: [this.editData?.residentialAddress, [\r\n Validators.maxLength(250)\r\n ]],\r\n ded: [this.editData?.ded, [Validators.required]],\r\n accountHolderName: [this.editData?.accountHolderName, [\r\n Validators.maxLength(50),\r\n ]],\r\n bankId: [this.editData?.bankId],\r\n ifscCode: [this.editData?.ifscCode,\r\n [\r\n\r\n Validators.maxLength(11),\r\n Validators.pattern('^[A-Za-z]{4}0[A-Z0-9a-z]{6}$'),\r\n ]],\r\n accountNumber: [this.editData?.accountNumber],\r\n districtCode: [this.editData?.districtCode, [Validators.required]]\r\n });\r\n\r\n this.onIFSCEntered(this.editData?.ifscCode)\r\n }\r\n\r\n get name() {\r\n return this.detailsForm.get('name');\r\n }\r\n\r\n private getDateOfBirth() {\r\n const dateString = this.editData?.dateOfBirth;\r\n if (dateString) {\r\n const dateObject = new Date(dateString);\r\n const formattedDate = dateObject.toISOString().split('T')[0];\r\n return formattedDate;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n\r\n get mobile() {\r\n return this.detailsForm.get('mobile');\r\n }\r\n\r\n get email() {\r\n return this.detailsForm.get('email');\r\n }\r\n\r\n get fatherName() {\r\n return this.detailsForm.get('fatherName');\r\n }\r\n\r\n get ded() {\r\n return this.detailsForm.get('ded');\r\n }\r\n\r\n get grade() {\r\n return this.detailsForm.get('grade');\r\n }\r\n\r\n get address() {\r\n return this.detailsForm.get('residentialAddress');\r\n }\r\n\r\n get accountHolderName() {\r\n return this.detailsForm.get('accountHolderName');\r\n }\r\n\r\n get bankId() {\r\n return this.detailsForm.get('bankId');\r\n }\r\n\r\n get ifscCode() {\r\n return this.detailsForm.get('ifscCode');\r\n }\r\n get accountNumber() {\r\n return this.detailsForm.get('accountNumber');\r\n }\r\n\r\n get dateOfBirth() {\r\n return this.detailsForm.get('dateOfBirth');\r\n }\r\n\r\n verify() {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to verify this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n let enumId = this.editData.enumeratorId;\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.userId = this.userData.user.userId;\r\n this.registrationService\r\n .verifyEnumerator(enumId, this.userId)\r\n .subscribe((resp) => {\r\n if (resp.status === Constantss.SUCCESS) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: resp.message,\r\n duration: 10000,\r\n });\r\n this.router.navigate(['/baseline/verified']);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: resp.message,\r\n duration: 10000,\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n cancel() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.detailsForm.reset();\r\n this.branchName = ''\r\n }\r\n });\r\n }\r\n\r\n next() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n // console.log(JSON.stringify(this.detailsForm.value));\r\n this.detailsForm.value.createdOn = new Date;\r\n this.detailsForm.value.createdBy = this.userId;\r\n this.detailsForm.value.updatedBy = this.userId;\r\n this.baseLineService\r\n .addUpdateEnumerator(this.detailsForm.value)\r\n .subscribe((res) => {\r\n if (res && res != null && res.status == 200) {\r\n this.getAllEnumerator();\r\n this.detailsForm.reset();\r\n this.branchName = ''\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: \"Data Saved Successfully!\",\r\n duration: 10000,\r\n });\r\n this.detailsForm.reset();\r\n } else if (res && res != null && res.status == 400) {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n back() {\r\n this.router.navigate(['/baseline/verified']);\r\n }\r\n\r\n getDistrict() {\r\n this.registrationService.fetchDistrict().subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.districtList = res.data;\r\n }\r\n });\r\n if (\r\n this.loggedInUserDistrictId &&\r\n this.loggedInUserDistrictId != undefined &&\r\n this.loggedInUserDistrictId != null\r\n ) {\r\n this.userService\r\n .getBlockData(this.loggedInUserDistrictId)\r\n .subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.blocks = res.data;\r\n }\r\n });\r\n }\r\n }\r\n\r\n getInstitutionDistrict() {\r\n this.registrationService.getInstitutionDistrict(0).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.institutionDistricts = res.data;\r\n }\r\n });\r\n }\r\n\r\n getBlock() {\r\n this.registrationService.fetchBlock().subscribe((resp) => {\r\n if (resp && resp.data !== null) {\r\n this.blocks = resp.data;\r\n }\r\n });\r\n }\r\n\r\n seletedDistrict(e) {\r\n this.userService.getBlockData(e.id).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.blocks = res.data;\r\n }\r\n });\r\n }\r\n\r\n seletedBlock(e) {\r\n this.userService.getClusterByBlockId(e.id).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.clusters = res.data;\r\n }\r\n });\r\n }\r\n\r\n seletedCluster(e) {\r\n this.userService.getSchoolData(e.id).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.schools = res.data;\r\n }\r\n });\r\n }\r\n\r\n seletedBank($event) { }\r\n\r\n async getSubjects() {\r\n await this.userService.getSubjects().subscribe((res) => {\r\n if (res && res.data != null) {\r\n this.subjects = res.data;\r\n }\r\n });\r\n }\r\n\r\n getAllEnumerator() {\r\n this.districtIDS = [...new Set(this.roleArea.map(item => item.districtId))];\r\n this.meetingService.getAllEnumerator(this.districtIDS).subscribe((res) => {\r\n res.data.forEach((data) => {\r\n data.dob = this.dateFormatter(data.dateOfBirth);\r\n })\r\n this.rowData = res?.data;\r\n this.recordCount = this.rowData.length;\r\n // console.log(res?.data);\r\n this.createColumnDefs();\r\n })\r\n }\r\n\r\n clearSearch(e) {\r\n this.groupFilter = '';\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n getBanks() {\r\n this.registrationService.getAllBanks().subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.bankList = res.data;\r\n }\r\n });\r\n }\r\n\r\n getInstituitionNames() {\r\n this.registrationService.getInstitutionNames().subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.institutionNames = res.data;\r\n }\r\n });\r\n }\r\n\r\n onIFSCEntered(e) {\r\n let ifsc = e?.target?.value ?? e;\r\n this.registrationService\r\n .getBankBranchByIfsc(ifsc)\r\n .subscribe((response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.branchName = response.data[0].branchName;\r\n } else {\r\n if (this.ifscCode.value.length === 11) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n this.branchName = '';\r\n }\r\n });\r\n }\r\n\r\n dateFormattergrid(date: any) {\r\n let formatedDate;\r\n if (typeof date === 'string') {\r\n const [day, month, year] = date.split('-');\r\n formatedDate = new Date(+year, +month - 1, +day);\r\n }\r\n const format = 'yyyy-MM-dd';\r\n const locale = 'en-US';\r\n return formatedDate\r\n ? formatDate(formatedDate, format, locale)\r\n : formatDate(date, format, locale);\r\n }\r\n\r\n\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'rollNo',\r\n 'Roll No.'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'name',\r\n 'Name'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'fatherName',\r\n 'Father\\'s name'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'dob',\r\n 'Date Of Birth'\r\n );\r\n header.width = 350;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'mobile',\r\n 'Mobile Number'\r\n );\r\n header.width = 250;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Edit');\r\n header.width = 180;\r\n header.suppressMovable = true;\r\n header.cellRenderer = 'editIconComponent';\r\n header.cellRendererParams = {\r\n inRouterLink: '/baseline/Registration',\r\n onEditIconClick: (params: any) => {\r\n this.onEditBtnClicked(params.rowData);\r\n },\r\n };\r\n\r\n this.columnDefs.push(header);\r\n\r\n }\r\n\r\n onEditBtnClicked(params: any) {\r\n this.editData = params;\r\n this.createFormEdit();\r\n }\r\n\r\n dateFormatter(date: Date) {\r\n const format = \"dd-MM-yyyy\"\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{ title }}

\r\n
\r\n
\r\n
\r\n
Personal Information
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Name is a required field\r\n \r\n \r\n Only alphabets allowed\r\n \r\n \r\n Maximum length is 50 characters\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n DOB is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Mobile number is a required field\r\n \r\n \r\n Mobile number should be of 10 digits\r\n \r\n \r\n Only numbers allowed\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Please enter a valid email\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Father's name is a required field\r\n \r\n \r\n Maximum length is 50 characters\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n D Ed is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Maximum 250 characters allowed\r\n \r\n \r\n Character not allowed\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n
Bank Details
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Only alphabets allowed\r\n \r\n \r\n Maximum 50 characters allowed\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Bank name is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n IFSC code is a required field\r\n \r\n \r\n IFSC should be 4 letters followed by 7 letters or digits\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n Account number is a required field\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
Verification Details
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Training

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

\r\n {{ \"total_records\" | translate }} {{ recordCount }}\r\n

\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { OtpDetail } from 'src/app/layouts/baseline/model/otp-detail.model';\r\nimport { RegistrationService } from 'src/app/layouts/baseline/service/registration.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-verification-code',\r\n templateUrl: './verification-code.component.html',\r\n styleUrls: ['./verification-code.component.scss']\r\n})\r\nexport class VerificationCodeComponent implements OnInit {\r\n\r\n otpDetail = new OtpDetail();\r\n mobileNumber;\r\n asterik = \"******\";\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() btnOkText: string;\r\n @Input() btnCancelText: string;\r\n otpForm: FormGroup;\r\n\r\n constructor(private router: Router,\r\n private activeModal: NgbActiveModal,\r\n private registrationService: RegistrationService,\r\n private toast: NgToastService,\r\n private dataSharing: DataSharingService, private fb: FormBuilder) {\r\n this.dataSharing.getOTP().subscribe(res => { \r\n if (res && res !== null) {\r\n this.otpDetail = res\r\n this.otpDetail.otp=\"1234\"\r\n this.mobileNumber = \"+91 \"+this.asterik.concat(this.otpDetail.mobile.slice(6,10));\r\n }\r\n });\r\n }\r\n\r\n otpDetailForm() {\r\n this.otpForm = this.fb.group({\r\n digit1: [],\r\n digit2: [],\r\n digit3: [],\r\n digit4: []\r\n\r\n });\r\n }\r\n ngOnInit(): void {\r\n this.otpDetailForm();\r\n }\r\n\r\n public decline() {\r\n this.activeModal.close(false);\r\n }\r\n\r\n public accept() {\r\n this.activeModal.close(true);\r\n }\r\n\r\n public dismiss() {\r\n this.activeModal.dismiss();\r\n }\r\n \r\n digitValidate(ele) {\r\n ele.value = ele.target.value.replace(/[^0-9]/g, '');\r\n }\r\n\r\n tabChange(val) {\r\n let ele = document.querySelectorAll('input');\r\n if (ele[val - 1].value != '') {\r\n ele[val].focus()\r\n } else if (ele[val - 1].value == '') {\r\n ele[val - 2].focus()\r\n }\r\n }\r\n\r\n resendOTP(){\r\n this.dataSharing.getOTP().subscribe(res => {\r\n if (res && res !== null) {\r\n this.otpDetail = res\r\n this.mobileNumber = this.otpDetail.mobile;\r\n }\r\n });\r\n }\r\n\r\n validate() {\r\n let otp = this.otpForm.value.digit1 + this.otpForm.value.digit2 + this.otpForm.value.digit3 + this.otpForm.value.digit4;\r\n if (this.otpDetail.otp === otp) {\r\n this.registrationService.otpVerification(this.otpDetail).subscribe(res => {\r\n if(res.status==='200'){\r\n this.router.navigate(['/registration-success']);\r\n this.accept();\r\n }\r\n })\r\n \r\n } else {\r\n this.toast.info({\r\n detail: 'Incorrect Otp',\r\n summary: 'Please enter correct Otp',\r\n duration: 10000,\r\n })\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n

{{ title }}

\r\n
\r\n
\r\n {{ message }} {{mobileNumber}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Resend OTP\r\n
\r\n
\r\n
\r\n
","\r\nexport class Bank {\r\n bankId:number;\r\n bankName:string;\r\n ifscCode:string;\r\n bankAccountNo:string;\r\n acountHolder:string;\r\n}\r\n","\r\n\r\nexport class Entity {\r\n name:string;\r\n id:number;\r\n}\r\n","export class OtpDetail {\r\n enumeratorId:number;\r\n module:string;\r\n mobile: string;\r\n otp: string;\r\n timeStamp:any;\r\n verified: boolean;\r\n expired:boolean;\r\n userId: number\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { UrlFormationService } from 'src/app/layouts/shared/services/url-formation.service';\r\nimport { Group } from '../../../model/assessment model/group';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GroupService {\r\n \r\n constructor(private url : UrlFormationService, private http : HttpClient) { }\r\n\r\n getGroupList(): Observable{\r\n return this.http.get(this.url.fetchGroupList());\r\n }\r\n\r\n getTrainingByArea(area:any){\r\n return this.http.post(this.url.getTrainingByArea(),area);\r\n }\r\n\r\n getTrainingGroups(): Observable {\r\n return this.http.get(this.url.getTrainingGroup());\r\n }\r\n\r\n getSubGroupByGroupId(id:any):Observable{\r\n return this.http.get(this.url.fetchSubGroupByGroupId()+id);\r\n }\r\n\r\n fetchBlockByDistrictId(id:any):Observable{\r\n return this.http.get(this.url.fetchBlockById()+id);\r\n }\r\n \r\n postGroup(group: Group): Observable {\r\n return this.http.post(this.url.saveGroup(), group);\r\n }\r\n\r\n fetchAllState():Observable{\r\n return this.http.get(this.url.fetchAllState());\r\n }\r\n\r\n fetchDistrictByDivisionId(id:any):Observable{\r\n return this.http.get(this.url.fetchDistrictByDivId()+id);\r\n }\r\n\r\n getBatchesByTraining(trainingId:any):Observable{\r\n return this.http.get(this.url.getBatchesByTraining().concat(trainingId));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaselineService {\r\n\r\n constructor(private url: UrlFormationService, private http: HttpClient) { }\r\n\r\n addUpdateEnumerator(enumerator: any): Observable {\r\n return this.http.post(this.url.saveUpdateEnumeratorReg(), enumerator);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'angular-slickgrid';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\nimport { OtpDetail } from '../model/otp-detail.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RegistrationService {\r\n\r\n constructor(private http: HttpClient, private url: UrlFormationService) { }\r\n\r\n getAllDistricts(): Observable {\r\n return this.http.get(this.url.fetchInstitutionalDistricts());\r\n }\r\n\r\n fetchDistrict(): Observable {\r\n return this.http.get(this.url.fetchDistrict());\r\n }\r\n\r\n fetchAllDivision(): Observable {\r\n return this.http.get(this.url.fetchAllDivision());\r\n }\r\n\r\n fetchBlock(): Observable {\r\n return this.http.get(this.url.fetchBlock());\r\n }\r\n\r\n fetchCluster(): Observable {\r\n return this.http.get(this.url.fetchCluster());\r\n }\r\n\r\n fetchDistrictByJava(): Observable {\r\n return this.http.get(this.url.fetchAllDistrictsJava());\r\n }\r\n\r\n getAllBlocks(): Observable {\r\n return this.http.get(this.url.fetchAllBlocks());\r\n }\r\n\r\n saveUpdateEnumerator(fdata: FormData): Observable {\r\n return this.http.post(this.url.saveUpdateEnumerator(), fdata);\r\n }\r\n\r\n getAllBanks(): Observable {\r\n return this.http.get(this.url.fetchAllBanks());\r\n }\r\n\r\n getAllEnumerators(): Observable {\r\n return this.http.get(this.url.fetchAllEnumerators());\r\n }\r\n\r\n otpVerification(otpDetail: OtpDetail): Observable {\r\n return this.http.get(this.url.verifyOtp().concat(otpDetail.mobile + '/' + otpDetail.otp));\r\n }\r\n\r\n getEnumeratorsById(id, verificationStatus): Observable {\r\n return this.http.get(this.url.fetchEnumeratorById().concat(id).concat('/').concat(verificationStatus));\r\n }\r\n\r\n getInstitutionDistrict(id: any): Observable {\r\n return this.http.get(this.url.fetchInstitutionalDistricts().concat(id));\r\n }\r\n\r\n getInstitutionNames(): Observable {\r\n return this.http.get(this.url.fetchAllIntitutionNames());\r\n }\r\n\r\n getInstitutionNameById(id: any): Observable {\r\n return this.http.get(this.url.fetchInstitutionNameById().concat(id));\r\n }\r\n\r\n verifyEnumerator(id: any, userId: any): Observable {\r\n return this.http.get(this.url.enumeratorVerification().concat(id).concat('/').concat(userId));\r\n }\r\n\r\n getBankBranchByIfsc(id: any): Observable {\r\n return this.http.get(this.url.fetchBankBranchByIfsc().concat(id));\r\n }\r\n\r\n getBaselineEnumeratorMappedSchool(empCode): Observable {\r\n return this.http.get(this.url.getBaselineEnumeratorMappedSchool() + empCode);\r\n }\r\n\r\n deleteBaselineEnumeratorMappedSchool(mappingId): Observable {\r\n return this.http.delete(this.url.deleteBaselineEnumeratorMappedSchool() + mappingId);\r\n }\r\n\r\n getBaselineEnumeratorSchoolByBlock(blockCode, empCode): Observable {\r\n return this.http.get(this.url.getBaselineEnumeratorSchoolByBlock() + blockCode + \"/\" + empCode);\r\n }\r\n\r\n mapSchoolBaselineEnumerator(data): Observable {\r\n return this.http.post(this.url.mapSchoolBaselineEnumerator(), data);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\n\r\n@Component({\r\n selector: 'app-ag-grid-html',\r\n templateUrl: './ag-grid-html.component.html',\r\n styleUrls: ['./ag-grid-html.component.scss']\r\n})\r\nexport class AgGridHtmlComponent implements OnInit {\r\n gridApi: GridApi;\r\n gridOptions = {};\r\n value; columnApi: any; paginationPageSize = 20;\r\n @Input() frameworkComponents = {};\r\n @Input() rowData: any = [];\r\n @Input() recordCount: number = 0;\r\n @Input() columnDefs: any;\r\n @Input() showGenerateExcelBtn: boolean = false;\r\n @Input() fileName : string = 'Exported Data';\r\n @Input() gridHeight : string = '73vh';\r\n @Input() gridWidth : string = '100%';\r\n constructor(private aggridService: AgGridService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }\r\n\r\n\r\n generateReport() {\r\n const params = {\r\n fileName: this.fileName\r\n };\r\n this.gridApi.exportDataAsCsv(params);\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n

\r\n Total Records {{ recordCount }}\r\n

\r\n \r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-btn-button',\r\n templateUrl: './btn-button.component.html',\r\n styleUrls: ['./btn-button.component.scss']\r\n})\r\nexport class BtnButtonComponent implements OnInit {\r\n\r\n @Input() text: string = 'View';\r\n @Input() type: string = 'button';\r\n @Input() disabled: boolean = false;\r\n @Input() extraClasses: string = ''\r\n @Input() class: string = 'btn btn-primary-dark-blue hoverBtn' + this.extraClasses;\r\n @Output() buttonClick: EventEmitter = new EventEmitter();\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n get buttonClasses(): string {\r\n return `${this.class} ${this.extraClasses}`;\r\n }\r\n\r\n onClick(): void {\r\n this.buttonClick.emit('clear');\r\n }\r\n\r\n\r\n}\r\n","","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { SearchComponent } from './search/search.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TooltipDirective } from './directives/tooltip.directive';\r\nimport { NgSelectDropdownComponent } from './ng-select-dropdown/ng-select-dropdown.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { BtnButtonComponent } from './btn-button/btn-button.component';\r\nimport { AgGridHtmlComponent } from './ag-grid-html/ag-grid-html.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n LoaderComponent,\r\n SearchComponent,\r\n TooltipDirective,\r\n NgSelectDropdownComponent,\r\n BtnButtonComponent,\r\n AgGridHtmlComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgSelectModule,\r\n ReactiveFormsModule,\r\n AgGridModule.withComponents([]),\r\n\r\n ],\r\n exports: [LoaderComponent, SearchComponent, TooltipDirective, NgSelectDropdownComponent, BtnButtonComponent,\r\n AgGridHtmlComponent\r\n ]\r\n})\r\nexport class CommonLoaderModule { }\r\n","import { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[appTooltip]',\n})\nexport class TooltipDirective {\n\n @Input('appTooltip') tooltipText: string;\n @Input() tooltipDirection: 'top' | 'right' | 'bottom' | 'left' = 'top'; // Default direction is top\n tooltipElement: HTMLElement;\n isVisible: boolean = false;\n tooltipDelay: number = 0; // Set delay to 0 to remove delay effect\n @Input() tooltipTopOffset: number = 0; // Default top offset\n @Input() tooltipLeftOffset: number = 0; // Default left offset\n\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\n\n showTooltip() {\n if (!this.isVisible) {\n this.tooltipElement = this.renderer.createElement('div');\n this.renderer.addClass(this.tooltipElement, 'tooltipCSS');\n const text = this.renderer.createText(this.tooltipText);\n this.renderer.appendChild(this.tooltipElement, text);\n document.body.appendChild(this.tooltipElement);\n\n const hostPos = this.elementRef.nativeElement.getBoundingClientRect();\n const tooltipPos = this.tooltipElement.getBoundingClientRect();\n\n let top, left;\n console.log(this.tooltipDirection);\n switch (this.tooltipDirection) {\n\n case 'top':\n top = hostPos.top - tooltipPos.height - this.tooltipTopOffset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) - this.tooltipLeftOffset;\n break;\n case 'right':\n top = hostPos.top - tooltipPos.height - this.tooltipTopOffset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) - this.tooltipLeftOffset;\n break;\n case 'bottom':\n top = hostPos.bottom + 10;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n break;\n case 'left':\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.left - tooltipPos.width - 10;\n break;\n default:\n top = hostPos.top - tooltipPos.height - 10;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n break;\n }\n\n // Apply styles to tooltip element\n this.renderer.setStyle(this.tooltipElement, 'top', `${top}px`);\n this.renderer.setStyle(this.tooltipElement, 'left', `${left}px`);\n this.renderer.setStyle(this.tooltipElement, 'opacity', '0.9'); // Set initial opacity\n\n // Fade in effect\n setTimeout(() => {\n this.renderer.setStyle(this.tooltipElement, 'opacity', '1');\n this.isVisible = true;\n }, 100);\n }\n }\n\n\n hideTooltip() {\n if (this.isVisible && this.tooltipElement) {\n this.renderer.setStyle(this.tooltipElement, 'opacity', '0');\n setTimeout(() => {\n if (this.tooltipElement && this.tooltipElement.parentNode) {\n this.renderer.removeChild(document.body, this.tooltipElement);\n this.tooltipElement = null;\n this.isVisible = false;\n }\n }, this.tooltipDelay);\n }\n }\n\n @HostListener('mouseenter') onMouseEnter() {\n this.showTooltip();\n }\n\n @HostListener('mouseleave') onMouseLeave() {\n this.hideTooltip();\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n\r\n @Input() loading = false;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, forwardRef, Input, OnInit } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\n@Component({\r\n selector: 'app-ng-select-dropdown',\r\n templateUrl: './ng-select-dropdown.component.html',\r\n styleUrls: ['./ng-select-dropdown.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => NgSelectDropdownComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class NgSelectDropdownComponent implements OnInit {\r\n\r\n @Input() clearable: boolean = false;\r\n @Input() searchable: boolean = false;\r\n @Input() dropdownPosition: string = 'bottom';\r\n @Input() items: any[] = [];\r\n @Input() formControlName: string;\r\n @Input() bindLabel: string = 'name';\r\n @Input() bindValue: string = 'id';\r\n @Input() placeholder: string = \"Select\";\r\n\r\n // FormControl instance\r\n value: any;\r\n onChange: (value: any) => void;\r\n onTouched: () => void;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n // ControlValueAccessor methods\r\n writeValue(value: any): void {\r\n console.log(value);\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n // Implement if needed\r\n }\r\n\r\n // Method to emit changes\r\n emitChanges(value: any) {\r\n if (this.onChange) {\r\n console.log(value);\r\n this.onChange(value);\r\n }\r\n }\r\n\r\n clearValue() {\r\n\r\n console.log('Clearing value...');\r\n this.value = null; // Clear the selected value\r\n if (this.onChange) {\r\n console.log('Calling onChange with null');\r\n this.onChange(this.value); // Notify the change\r\n }\r\n }\r\n \r\n onFormValueChanges(value: any) {\r\n console.log(value);\r\n this.value = value;\r\n }\r\n}\r\n","\r\n\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.scss']\r\n})\r\nexport class SearchComponent {\r\n @Input() groupFilter: string = '';\r\n @Output() searchCleared: EventEmitter = new EventEmitter();\r\n @Output() groupFilterChange: EventEmitter = new EventEmitter();\r\n\r\n quickSearch(event: any) {\r\n const inputValue = event.target.value;\r\n this.groupFilter = inputValue;\r\n this.groupFilterChange.emit(this.groupFilter);\r\n }\r\n\r\n clearSearch(e) {\r\n this.groupFilter = '';\r\n this.groupFilterChange.emit(this.groupFilter);\r\n this.searchCleared.emit();\r\n }\r\n}\r\n","
\r\n \r\n\r\n
\r\n \r\n
\r\n
","export class Permission {\r\n view: boolean;\r\n add: boolean;\r\n edit: boolean;\r\n delete: boolean;\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { UrlFormationService } from 'src/app/layouts/shared/services/url-formation.service';\r\nimport { RoleModulePermission } from '../../model/manage role model/role-module-permission.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserRoleService {\r\n private selectedRoledata = new BehaviorSubject([]);\r\n role: any;\r\n roleIsActive: any;\r\n verify: boolean = false;\r\n private id = new BehaviorSubject([]);\r\n\r\n constructor(private http: HttpClient, private url: UrlFormationService) {}\r\n\r\n setRoleData(param: any): void {\r\n this.selectedRoledata.next(param);\r\n }\r\n\r\n getRoleData(): Observable {\r\n return this.selectedRoledata.asObservable();\r\n }\r\n\r\n setAddRoleId(param: any): void {\r\n this.id.next(param);\r\n }\r\n\r\n getAddRoleId(): Observable {\r\n return this.id.asObservable();\r\n }\r\n\r\n postUserRoleData(\r\n roleModulePermission: RoleModulePermission\r\n ): Observable {\r\n return this.http.post(\r\n this.url.saveUserRolePermission(),\r\n roleModulePermission,\r\n { responseType: 'text' }\r\n );\r\n }\r\n\r\n getAllRoleData(): Observable {\r\n return this.http.get(this.url.fetchAllRole());\r\n }\r\n\r\n getAllRoleType(): Observable {\r\n return this.http.get(this.url.fetchAllRoleType());\r\n }\r\n\r\n getModuleSubModulePermission(): Observable {\r\n return this.http.get(this.url.fetchAllRolePermission());\r\n }\r\n\r\n getUserRoleById(id): Observable {\r\n return this.http.get(this.url.fetchAllRolePermission().concat('/' + id));\r\n }\r\n\r\n getRoleExists(roleName: string): Observable {\r\n return this.http.get(this.url.testRoleExistence().concat(roleName));\r\n }\r\n\r\n //collect data from edit button\r\n editRoleData(data): Observable {\r\n this.role = data.rowData;\r\n this.verify = true;\r\n return this.role;\r\n }\r\n\r\n switchRoleData(data): Observable {\r\n this.roleIsActive = data.rowData.isActive;\r\n this.verify = true;\r\n return this.roleIsActive;\r\n }\r\n\r\n changeRoleStatus(type,status,roleId:number,userId:any):Observable{\r\n return this.http.get(this.url.changeRoleStatus().concat(type+'/'+status+'/'+roleId+'/'+userId));\r\n }\r\n\r\n deleteUserRole(type,roleId,userId):Observable{\r\n return this.http.get(this.url.deleteUserRole().concat(type+'/'+roleId+'/'+userId));\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { UrlFormationService } from 'src/app/layouts/shared/services/url-formation.service';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ManageUserService {\r\n private userData = new BehaviorSubject([]);\r\n private editUserData = new BehaviorSubject([]);\r\n\r\n constructor(private http: HttpClient, private url: UrlFormationService) { }\r\n\r\n setUserData(param: any): void {\r\n this.userData.next(param);\r\n }\r\n\r\n getUserData(): Observable {\r\n return this.userData.asObservable();\r\n }\r\n\r\n setEditUserData(param: any): void {\r\n this.editUserData.next(param);\r\n }\r\n\r\n getEditUserData(): Observable {\r\n return this.editUserData.asObservable();\r\n }\r\n\r\n getUserDataById(empCode): Observable {\r\n return this.http.get(this.url.fetchEmpByEmpCode().concat(empCode));\r\n }\r\n\r\n getDivisionData(): Observable {\r\n return this.http.get(this.url.fetchAllDivision());\r\n }\r\n\r\n getAllDistricts(): Observable {\r\n return this.http.get(this.url.fetchAllDistricts());\r\n }\r\n\r\n\r\n getDistrictData(id): Observable {\r\n return this.http.get(this.url.fetchDistrictByDivId().concat(id));\r\n }\r\n\r\n getBlockData(id): Observable {\r\n return this.http.get(this.url.fetchBlockById().concat(id));\r\n }\r\n\r\n getClusterByBlockId(id: any): Observable {\r\n return this.http.get(this.url.fetchClustersByBlockId().concat(id));\r\n }\r\n\r\n getSchoolByBlockId(id: any): Observable {\r\n return this.http.get(this.url.fetchSchoolByBlockId().concat(id));\r\n }\r\n\r\n getClusterData(id): Observable {\r\n return this.http.get(this.url.fetchClusterById().concat(id));\r\n }\r\n\r\n getAllClusters(): Observable {\r\n return this.http.get(this.url.fetchCluster());\r\n }\r\n\r\n getSchoolData(id): Observable {\r\n return this.http.get(this.url.fetchSchoolById().concat(id));\r\n }\r\n\r\n getRoleArea(userId, roleId): Observable {\r\n return this.http.get(\r\n this.url\r\n .fetchNavByUserRoleId()\r\n .concat(userId)\r\n .concat('/' + roleId)\r\n );\r\n }\r\n\r\n addRoleAssociation(areaList: any): Observable {\r\n return this.http.post(this.url.saveRoleAssosciation(), areaList);\r\n }\r\n\r\n getUserRoles(empCode): Observable {\r\n return this.http.get(this.url.GetUserRoles().concat(empCode));\r\n }\r\n\r\n assignRole(areaList: any): Observable {\r\n return this.http.post(this.url.AssignRole(), areaList);\r\n }\r\n\r\n\r\n roleAllocation(empCode, empRoleTypeId, assigneeEmpCode, loggedInRoleTypeId, searchedUserRoleId?: any, loggedInRoleRoleId?: any): Observable {\r\n return this.http.get(this.url.roleAllocation() + empCode + \"/\" + empRoleTypeId + \"/\"\r\n + searchedUserRoleId + \"/\" + assigneeEmpCode + \"/\" + loggedInRoleTypeId + \"/\" + loggedInRoleRoleId);\r\n }\r\n\r\n deleteRoleAllocationRole(roleId: any, userId: any): Observable {\r\n return this.http.delete(this.url.deleteRoleAllocationRole() + roleId + \"/\" + userId);\r\n }\r\n\r\n deleteAreaRoleAllocation(roleAreaId: any): Observable {\r\n return this.http.delete(this.url.deleteAreaRoleAllocation() + roleAreaId);\r\n }\r\n\r\n roleAllocationGetRoles(roleTypeId: any): Observable {\r\n return this.http.get(this.url.roleAllocationGetRoles() + roleTypeId);\r\n }\r\n\r\n roleAllocationGetEmployees(userId: any, roleId: any): Observable {\r\n return this.http.get(this.url.roleAllocationGetEmployees() + userId + \"/\" + roleId);\r\n }\r\n\r\n roleAllocationGetAreas(userId: any, roleId: any): Observable {\r\n return this.http.get(this.url.roleAllocationGetAreas() + userId + \"/\" + roleId);\r\n }\r\n\r\n getFilteredRoles(roleId: any, roleTypeId: any): Observable {\r\n return this.http.get(this.url.getFilteredRoles() + roleId + \"/\" + roleTypeId);\r\n }\r\n\r\n getSubjects(): Observable {\r\n return this.http.get(this.url.getAllSpotSubjectsData());\r\n }\r\n\r\n}\r\n\r\n","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-allocate-icon',\r\n templateUrl: './allocate-icon.component.html',\r\n styleUrls: ['./allocate-icon.component.scss']\r\n})\r\nexport class AllocateIconComponent implements ICellRendererAngularComp {\r\n\r\n params: any;\r\n constructor(private router : Router,\r\n private ngZone: NgZone,\r\n private dataSharing : DataSharingService) { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n onAllocateClick($event,link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n if (this.params.onAllocateClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n\r\n };\r\n this.dataSharing.setGlobalEditData(this.params.node.data);\r\n this.params.onAllocateClick(params);\r\n }\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n}\r\n","\r\n","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-bars-icon',\r\n templateUrl: './bars-icon.component.html',\r\n styleUrls: ['./bars-icon.component.scss']\r\n})\r\nexport class BarsIconComponent implements ICellRendererAngularComp {\r\n params:any;\r\n constructor(\r\n private router : Router,\r\n private ngZone: NgZone,\r\n private dataSharing : DataSharingService\r\n ) { }\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n onBtnClick($event,link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n if (this.params.onBtnClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n\r\n };\r\n this.dataSharing.setGlobalEditData(this.params.node.data);\r\n this.params.onBtnClick(params);\r\n }\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n\r\n}\r\n","","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-checkbox-disabled',\r\n templateUrl: './checkbox-disabled.component.html',\r\n styleUrls: ['./checkbox-disabled.component.scss']\r\n})\r\nexport class CheckboxDisabledComponent implements ICellRendererAngularComp {\r\n\r\n params;\r\n status: any;\r\n constructor(\r\n private router: Router,\r\n private ngZone: NgZone,\r\n private dataSharingService: DataSharingService,\r\n ) { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n}\r\n\r\n\r\n","
\r\n \r\n
\r\n","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { Permission } from '../../configurations/model/manage role model/permission';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.scss'],\r\n})\r\nexport class CheckboxComponent implements ICellRendererAngularComp {\r\n params;\r\n status: any;\r\n data: any;\r\n loggedInUserPermissionData: any;\r\n enableEdit: boolean;\r\n checked;\r\n constructor(private dataSharingService: DataSharingService) {\r\n this.data = this.dataSharingService.getNavItems();\r\n this.loggedInUserPermissionData = this.data.source._value;\r\n }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n if(params.data.attendanceMarked !== null && params.data.attendanceMarked === true) {\r\n this.enableEdit = false;\r\n } else {\r\n this.enableEdit = true;\r\n }\r\n\r\n if(params.data.isPresent === true){\r\n this.checked= true;\r\n this.status === true;\r\n this.params.data.hasRemarkDisabled = true;\r\n }\r\n this.checkPermission(params.type)\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n checkPermission(type) {\r\n let permissions = new Permission();\r\n if (type === 'Training.Attendance') {\r\n if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n this.loggedInUserPermissionData[3].children[0].children.forEach(nav =>{\r\n if(nav.name == 'Attendance'){\r\n permissions = nav.permission\r\n return\r\n }\r\n })\r\n if (permissions.add === true) {\r\n this.enableEdit = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onCheckBoxClick($event) {\r\n this.status = $event.target.checked;\r\n this.params.node.data.isPresent = this.status;\r\n if (this.status === true) {\r\n this.params.data.hasRemarkDisabled = true;\r\n } else {\r\n this.params.data.hasRemarkDisabled = false;\r\n }\r\n\r\n if (this.params.onCheckBoxClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.dataSharingService.setGlobalEditData(this.params.node.data);\r\n this.params.onCheckBoxClick(params);\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nconst routes: Routes = [];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class CoreRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CoreRoutingModule } from './core-routing.module';\r\nimport { SwitchComponent } from './switch/switch.component';\r\nimport { EditIconComponent } from './edit-icon/edit-icon.component';\r\nimport { DeleteIconComponent } from './delete-icon/delete-icon.component';\r\nimport { ViewAreaComponent } from './view-area/view-area.component';\r\nimport { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DetailComponent } from './detail/detail.component';\r\nimport { EyeIconComponent } from './eye-icon/eye-icon.component';\r\nimport { RemoveIconComponent } from './remove-icon/remove-icon.component';\r\nimport { AllocateIconComponent } from './allocate-icon/allocate-icon.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { TrainingModule } from '../training/training.module';\r\nimport { LinkComponent } from './link/link.component';\r\nimport { PowerIconComponent } from './power-icon/power-icon.component';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { RemarkTextBoxComponent } from './remark-text-box/remark-text-box.component';\r\nimport { RatingIconComponent } from './rating-icon/rating-icon.component';\r\nimport { TrainingService } from '../training/services/training.service';\r\nimport { AttendanceService } from '../training/services/attendance.service';\r\nimport { CheckboxDisabledComponent } from './checkbox-disabled/checkbox-disabled.component';\r\nimport { VerifyStatusComponent } from './verify-status/verify-status.component';\r\nimport { StartTestIconComponent } from './start-test-icon/start-test-icon.component';\r\nimport { LinkStatusComponent } from './link-status/link-status.component';\r\nimport { TrainingTestStatusComponent } from './training-test-status/training-test-status.component';\r\nimport { ParameterIconComponent } from './parameter-icon/parameter-icon.component';\r\nimport { SelfAssmtLinkComponent } from './self-assmt-link/self-assmt-link.component';\r\nimport { TakeTestPerformSpotIconComponent } from './take-test-perform-spot-icon/take-test-perform-spot-icon.component';\r\nimport { BarsIconComponent } from './bars-icon/bars-icon.component';\r\nimport { ReviewAssessmentComponent } from './review-assessment/review-assessment.component';\r\nimport { ViewRolesComponent } from './view-roles/view-roles.component';\r\nimport { CreateTemplateIconComponent } from './create-template-icon/create-template-icon.component';\r\nimport { ViewReportIconComponent } from './view-report-icon/view-report-icon.component';\r\nimport { ViewRolesExclamationComponent } from './view-roles-exclamation/view-roles-exclamation.component';\r\nimport { EnrollIconComponent } from './enroll-icon/enroll-icon.component';\r\nimport { PopUpComponent } from './pop-up/pop-up.component';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SwitchComponent,\r\n EditIconComponent,\r\n DeleteIconComponent,\r\n ViewAreaComponent,\r\n DetailComponent,\r\n EyeIconComponent,\r\n RemoveIconComponent,\r\n AllocateIconComponent,\r\n LinkComponent,\r\n PowerIconComponent,\r\n CheckboxComponent,\r\n RemarkTextBoxComponent,\r\n RatingIconComponent,\r\n CheckboxDisabledComponent,\r\n VerifyStatusComponent,\r\n StartTestIconComponent,\r\n LinkStatusComponent,\r\n TrainingTestStatusComponent,\r\n ParameterIconComponent,\r\n SelfAssmtLinkComponent,\r\n TakeTestPerformSpotIconComponent,\r\n BarsIconComponent,\r\n ReviewAssessmentComponent,\r\n ViewRolesComponent,\r\n CreateTemplateIconComponent,\r\n ViewReportIconComponent,\r\n ViewRolesExclamationComponent,\r\n EnrollIconComponent,\r\n PopUpComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TrainingModule,\r\n CoreRoutingModule,\r\n NgbPopoverModule,\r\n TranslateModule,\r\n ModalModule,\r\n FormsModule\r\n ],\r\n providers:[TrainingService,AttendanceService]\r\n\r\n})\r\nexport class CoreModule { }\r\n","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-create-template-icon',\r\n templateUrl: './create-template-icon.component.html',\r\n styleUrls: ['./create-template-icon.component.scss']\r\n})\r\nexport class CreateTemplateIconComponent implements ICellRendererAngularComp {\r\n\r\n params: any;\r\n constructor(private router : Router,\r\n private ngZone: NgZone,\r\n private dataSharing : DataSharingService) { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n oncreateTemplateClick($event,link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n if (this.params.onIconClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n\r\n };\r\n this.params.onIconClick(params);\r\n }\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n}\r\n","","import { Component, OnInit } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { Permission } from '../../configurations/model/manage role model/permission';\r\nimport { UserRoleService } from '../../configurations/service/manage role service/user-role.service';\r\nimport { ProblemService } from '../../escalation/service/problem.service';\r\nimport { SpecificProblemPathService } from '../../escalation/service/specific-problem-path.service';\r\nimport { EmergencyVisitService } from '../../monitoring/service/emergency-visit.service';\r\nimport { ParameterService } from '../../monitoring/service/parameter.service';\r\nimport { RegularVisitService } from '../../monitoring/service/regular-visit.service';\r\nimport { SectionsService } from '../../monitoring/service/sections.service';\r\nimport { ConfirmationDialogService } from '../../shared/services/confirmation-dialog.service';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\nimport { TrainingService } from '../../training/services/training.service';\r\nimport { GroupService } from '../../training/services/group.service';\r\nimport { ManageUserService } from '../../configurations/service/manage user service/manage-user.service';\r\nimport { PmuMeetingService } from '../../pmu-meeting/services/pmu-meeting.service';\r\nimport { ShaikshikSamwadService } from '../../shaikshik-samwad/services/shaikshik-samwad.service';\r\n\r\n@Component({\r\n selector: 'app-delete-icon',\r\n templateUrl: './delete-icon.component.html',\r\n styleUrls: ['./delete-icon.component.scss'],\r\n})\r\nexport class DeleteIconComponent implements ICellRendererAngularComp {\r\n params: any;\r\n data: any;\r\n loggedInUserPermissionData: any;\r\n enableEdit: boolean;\r\n constructor(\r\n private userRoleService: UserRoleService,\r\n private toast: NgToastService,\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private regularVisitService: RegularVisitService,\r\n private emergencyVisitService: EmergencyVisitService,\r\n private sectionService: SectionsService,\r\n private parameterService: ParameterService,\r\n private dataSharingService: DataSharingService,\r\n private trainingService: TrainingService,\r\n private problemService: ProblemService,\r\n private _specificProblemPath: SpecificProblemPathService,\r\n private groupService: GroupService,\r\n private manageUserService: ManageUserService,\r\n private meetingService: PmuMeetingService,\r\n private shaikshikService : ShaikshikSamwadService\r\n ) {\r\n this.data = this.dataSharingService.getNavItems();\r\n this.loggedInUserPermissionData = this.data.source._value;\r\n }\r\n\r\n delete: boolean = false;\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n // this.checkPermission(params.type);\r\n\r\n if (params.type === 'deleteDocInitiate' || params.type === 'deleteLinkInitiate') {\r\n if (params.data.documentLevel === \"State Level\") {\r\n this.enableEdit = false;\r\n } else {\r\n this.enableEdit = true;\r\n }\r\n } else {\r\n this.enableEdit = true;\r\n }\r\n\r\n\r\n // if (params.type === 'deleteDocInitiate' && params.data.documentLevel === \"State Level\") {\r\n // this.enableEdit = false;\r\n // }else{\r\n // this.enableEdit = true;\r\n // }\r\n\r\n // if (params.type === 'deleteLinkInitiate' && params.data.documentLevel === \"State Level\") {\r\n // this.enableEdit = false;\r\n // }else{\r\n // this.enableEdit = true;\r\n // }\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n // checkPermission(type) {\r\n // let permissions = new Permission();\r\n // if (type === 'role') {\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[0] && this.loggedInUserPermissionData[0].children && this.loggedInUserPermissionData[0].children[1] && this.loggedInUserPermissionData[0].children[1].children) {\r\n // permissions =\r\n // this.loggedInUserPermissionData[0].children[1].permission;\r\n // if (permissions.delete === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else if (type === 'userrole') {\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[0] && this.loggedInUserPermissionData[0].children && this.loggedInUserPermissionData[0].children[0] && this.loggedInUserPermissionData[0].children[0].children) {\r\n // permissions =\r\n // this.loggedInUserPermissionData[0].children[0].permission;\r\n // if (permissions.delete === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else if (type === 'Training.TrainingMaster') {\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n // this.loggedInUserPermissionData[3].children[0].children.forEach(nav => {\r\n // if (nav.name == 'Training Master') {\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.delete === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else if (type === 'Training.GroupMaster') {\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n // this.loggedInUserPermissionData[3].children[0].children.forEach(nav => {\r\n // if (nav.name == 'Training Master') {\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else if (type === 'Training.SubGroupMaster') {\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n // this.loggedInUserPermissionData[3].children[0].children.forEach(nav => {\r\n // if (nav.name == 'Training Master') {\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else if (type === 'group') {\r\n // permissions =\r\n // this.loggedInUserPermissionData[1].children[0].children[0].permission;\r\n // if (permissions.delete === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // else if (type === 'deleteUser') {\r\n // this.enableEdit = true;\r\n // }\r\n // else if (type === 'problem-master') {\r\n // permissions =\r\n // this.loggedInUserPermissionData[5].children[1].permission;\r\n // if (permissions.delete === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n\r\n // // else if(type === 'escalatedProblem') {\r\n // // permissions =\r\n // // this.loggedInUserPermissionData[5].children[1].permission;\r\n // // if (permissions.delete === true) {\r\n // // this.enableEdit = true;\r\n // // }\r\n // // }\r\n // // else if (type === 'specific-problem-path') {\r\n // // this.params.onDeleteIconClick(this.params);\r\n // // }\r\n // else {\r\n // this.enableEdit = true;\r\n // }\r\n\r\n // }\r\n\r\n onDeleteIconClick($event, type, userId) {\r\n\r\n if (type === 'regularVisit') {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.DO_YOU_WANT_TO_DELETE_THIS_INFO)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.regularVisitService\r\n .deleteRegularVisit(this.params.data?.vregularvisitid)\r\n .subscribe({\r\n next: (res) => {\r\n if (res?.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: `Regular Visit ${res?.message}`,\r\n duration: 10000,\r\n });\r\n this.params?.onDeleteIconClick(this.params);\r\n }\r\n },\r\n error: (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error?.message,\r\n duration: 10000,\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n \r\n\r\n if (type === 'deleteMeetingById') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.meetingService\r\n .deleteMeetingByMeetingId(this.params.data.meetingId)\r\n .subscribe((res) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n });\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n if (type === 'sub-section') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.sectionService.\r\n deleteSubSection(this.params.data.vsubsectionid)\r\n .subscribe((res) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n });\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n if(type==='Shaikshik.RegisteredUsers'){\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.REMOVE_RECORD)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.shaikshikService.deleteRegisteredTrainee(this.params.data.registrationId).subscribe((resp) => {\r\n if (resp.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: resp.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n } else if (resp?.status === '400') {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: resp.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.error,\r\n duration: 10000,\r\n });\r\n });\r\n\r\n }\r\n })\r\n }\r\n\r\n\r\n if (type === 'Training.TrainingMaster') {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.REMOVE_RECORD)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.trainingService.deleteTraining(this.params.data.trainingId).subscribe((resp) => {\r\n if (resp.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: resp.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n } else if (resp?.status === '400') {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: resp.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.error,\r\n duration: 10000,\r\n });\r\n });\r\n\r\n }\r\n })\r\n }\r\n\r\n if (type === 'specificProblemPath') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this._specificProblemPath\r\n .deleteSpecificProblm(this.params.data.pathId)\r\n .subscribe((res) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.error,\r\n duration: 10000,\r\n });\r\n });\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n // if (type === 'spotMaster') {\r\n // this.confirmationDialogueService\r\n // .confirm('Confirmation', 'Do you want to delete this information ?')\r\n // .then((confirmed) => {\r\n // if (confirmed) {\r\n // this.params.onDeleteIconClick(this.params);\r\n // }\r\n // })\r\n // }\r\n\r\n if (type === \"deleteBaselineQuestionMaster\") {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this question ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n })\r\n }\r\n\r\n\r\n if (type === \"deleteBaselineSubQuestion\") {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this question ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n })\r\n }\r\n\r\n\r\n if (type === \"deleteMappedSchool\") {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this school mapping?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n })\r\n }\r\n\r\n\r\n if (type === \"escalatedProblem\") {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n });\r\n }\r\n\r\n if (type === \"MOM\") {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n });\r\n }\r\n\r\n if (type === \"regularSelfAllocation\") {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n });\r\n }\r\n\r\n\r\n if (type === 'section') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.sectionService\r\n .deleteSection(this.params.data.vsectionid)\r\n .subscribe((res) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: \"Section\" + \" \" + res.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n });\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n if (type === 'deleteEmergencyVisitById') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.emergencyVisitService\r\n .deleteEmergencyVisitById(this.params.data.emergencyVisitId)\r\n .subscribe((res) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: \"Emergency Visit\" + \" \" + res.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n });\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n if (type === 'deleteParameterById') {\r\n this.confirmationDialogueService.confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.parameterService.deleteParameterById(this.params.data.vparameterid).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: \"Parameter\" + \" \" + response.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n })\r\n }\r\n })\r\n }\r\n\r\n if (type === 'deleteEmergencyVisitParameter') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.emergencyVisitService\r\n .deleteEmergencyVisitParameter(this.params.data.emergencyVisitParameterId)\r\n .subscribe((res) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: \"Emergency Visit\" + \" \" + res.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n });\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n if (type === 'removeAreaPlanVisit') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n if (type === 'removeEmergencyVisitArea') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n if (type === 'deleteUser') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n\r\n if (type === 'userrole') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n if (type === 'deleteArea') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n if (type === 'deleteDoc') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n if (type === 'deleteLink') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n if (type === 'deleteDocInitiate') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n if (type === 'deleteLinkInitiate') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n\r\n if (type === 'removeTrainerEmployee') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n if (type === 'removeOthers') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n if (type === 'removeCoordinator') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n if (type === 'removeTrainee') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n if (type === 'defaultPathConfiguration') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n if (type === 'problemRaise') {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n\r\n if (type === 'role') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.userRoleService\r\n .deleteUserRole(type, this.params.data.roleId, 0)\r\n .subscribe((res) => {\r\n if (res.status === Constantss.SUCCESS) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n });\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n\r\n // this.userRoleService\r\n // .deleteUserRole(type, this.params.data.roleId, userId)\r\n\r\n\r\n\r\n if (type === 'assessment') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.userRoleService\r\n .deleteUserRole(type, this.params.data.assessmentId, 0)\r\n .subscribe((res) => {\r\n if (res.status === 'Success') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n });\r\n }\r\n })\r\n\r\n }\r\n\r\n if (type === 'group') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n\r\n this.userRoleService\r\n .deleteUserRole(type, this.params.data.groupId, 0)\r\n .subscribe((res) => {\r\n if (res.status === 'Success') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n });\r\n\r\n\r\n }\r\n });\r\n }\r\n\r\n if (type === 'Training.GroupMaster') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Group already in use!',\r\n duration: 10000,\r\n });\r\n // this.userRoleService\r\n // .deleteUserRole(type, this.params.data.groupId, 0)\r\n // .subscribe((res) => {\r\n // if (res.status === 'Success') {\r\n // this.toast.success({\r\n // detail: 'Success',\r\n // summary: res.message,\r\n // duration: 10000,\r\n // });\r\n // this.params.onDeleteIconClick(this.params);\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: res.message,\r\n // duration: 10000,\r\n // });\r\n // }\r\n // });\r\n\r\n\r\n }\r\n });\r\n\r\n }\r\n if (type === 'Training.SubGroupMaster') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n\r\n this.groupService\r\n .deleteSubGroup(this.params?.data?.subGroupId)\r\n .subscribe((res) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Record' + res.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n });\r\n\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n // if (type === 'Training.TrainingMaster') {\r\n // this.confirmationDialogueService\r\n // .confirm('Confirmation', 'Do you want to delete this information ?')\r\n // .then((confirmed) => {\r\n // if (confirmed) {\r\n\r\n // this.userRoleService\r\n // .deleteUserRole(type, this.params.data.trainingId, 0)\r\n // .subscribe((res) => {\r\n // if (res.status === 'Success') {\r\n // this.toast.success({\r\n // detail: 'Success',\r\n // summary: res.message,\r\n // duration: 10000,\r\n // });\r\n // this.params.onDeleteIconClick(this.params);\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: res.message,\r\n // duration: 10000,\r\n // });\r\n // }\r\n // });\r\n // }\r\n // });\r\n // }\r\n if (type === 'removeMonitorPhoto') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this image ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.params.onDeleteIconClick(this.params);\r\n }\r\n });\r\n }\r\n\r\n if (type === 'problem-master') {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to delete this information ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n\r\n this.problemService\r\n .deleteProblemMaster(this.params.data.problemId)\r\n .subscribe((res: any) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n this.params.onDeleteIconClick(this.params);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n });\r\n\r\n\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n\r\n}\r\n","\r\n","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-detail',\r\n templateUrl: './detail.component.html',\r\n styleUrls: ['./detail.component.scss']\r\n})\r\nexport class DetailComponent implements ICellRendererAngularComp {\r\n\r\n params: any;\r\n constructor(private router : Router,\r\n private ngZone: NgZone,\r\n private dataSharing : DataSharingService) { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n onDetailClick($event,link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n if (this.params.onDetailClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n\r\n };\r\n this.dataSharing.setGlobalEditData(this.params.node.data);\r\n this.params.onDetailClick(params);\r\n }\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n}\r\n","\r\n","import { Component, NgZone, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport {\r\n ICellEditorAngularComp,\r\n ICellRendererAngularComp,\r\n} from 'ag-grid-angular';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { GroupService } from '../../baseline/service/assessment service/group service/group.service';\r\nimport { Permission } from '../../configurations/model/manage role model/permission';\r\nimport { UserRoleService } from '../../configurations/service/manage role service/user-role.service';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n@Component({\r\n selector: 'app-edit-icon',\r\n templateUrl: './edit-icon.component.html',\r\n styleUrls: ['./edit-icon.component.scss'],\r\n})\r\nexport class EditIconComponent implements ICellRendererAngularComp {\r\n params: any;\r\n edit: boolean = false;\r\n data: any;\r\n enableEdit: Boolean = false;\r\n loggedInUserPermissionData: any;\r\n type: string;\r\n id:number;\r\n allRolesFromParent;\r\n \r\n constructor(\r\n private router: Router,\r\n private userRoleService: UserRoleService,\r\n private ngZone: NgZone,\r\n private groupService: GroupService,\r\n private dataSharingService: DataSharingService,\r\n ) {\r\n this.data = this.dataSharingService.getNavItems();\r\n this.loggedInUserPermissionData = this.data.source._value;\r\n }\r\n agInit(params: any): void {\r\n this.params = params;\r\n //this.checkPermission(params.type);\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n onEditIconClick($event, link?, type?) {\r\n if(link!=null && link!=undefined){\r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n }\r\n \r\n if (this.params.onEditIconClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.dataSharingService.setGlobalEditData(this.params.node.data);\r\n this.userRoleService.setAddRoleId(1);\r\n this.params.onEditIconClick(params);\r\n }\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n\r\n // checkPermission(type) {\r\n // let permissions = new Permission();\r\n // if (type === 'role') {\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[0] && this.loggedInUserPermissionData[0].children) {\r\n // this.loggedInUserPermissionData[0].children.forEach(nav =>{\r\n // if(nav.name == 'Role Management'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else if(type=== 'userrole'){\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[0] && this.loggedInUserPermissionData[0].children) {\r\n // this.loggedInUserPermissionData[0].children.forEach(nav =>{\r\n // if(nav.name == 'User Management'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // else if(type=== 'Training.TrainingMaster'){\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n // this.loggedInUserPermissionData[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Training Master'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // }\r\n // else if(type=== 'Training.GroupMaster'){\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n // this.loggedInUserPermissionData[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Training Master'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else if(type=== 'Training.SubGroupMaster'){\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n // this.loggedInUserPermissionData[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Training Master'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else if(type==='group'){\r\n // permissions =\r\n // this.loggedInUserPermissionData[1].children[0].children[0].permission;\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }else if(type=== 'problem-master'){\r\n // this.loggedInUserPermissionData[5].children.forEach(nav =>{\r\n // if(nav.name == 'Problem Master'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // else{\r\n // this.enableEdit= true;\r\n // }\r\n \r\n // }\r\n\r\n \r\n}\r\n","\r\n\r\n\r\n\r\n","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'app-enroll-icon',\r\n templateUrl: './enroll-icon.component.html',\r\n styleUrls: ['./enroll-icon.component.scss']\r\n})\r\nexport class EnrollIconComponent implements ICellRendererAngularComp {\r\n\r\n params: any;\r\n edit: boolean = false;\r\n data: any;\r\n enableEdit: Boolean = false;\r\n loggedInUserPermissionData: any;\r\n type: string;\r\n id:number;\r\n allRolesFromParent;\r\n \r\n constructor(\r\n private router: Router,\r\n private ngZone: NgZone,\r\n private dataSharingService: DataSharingService,\r\n ) {\r\n this.data = this.dataSharingService.getNavItems();\r\n this.loggedInUserPermissionData = this.data.source._value;\r\n }\r\n agInit(params: any): void {\r\n this.params = params;\r\n //this.checkPermission(params.type);\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n onEnrollIconClick($event, link, type) {\r\n if(link!=null){\r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n }\r\n \r\n if (this.params.onEnrollIconClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n // this.dataSharingService.setGlobalEditData(this.params.node.data);\r\n this.params.onEnrollIconClick(params);\r\n }\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n\r\n\r\n}\r\n","\r\n","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-eye-icon',\r\n templateUrl: './eye-icon.component.html',\r\n styleUrls: ['./eye-icon.component.scss']\r\n})\r\nexport class EyeIconComponent implements ICellRendererAngularComp {\r\n\r\n \r\n params: any;\r\n constructor(private router : Router, private ngZone : NgZone,\r\n private dataSharing : DataSharingService) { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n onIconClick($event,link) {\r\n this.ngZone.run(()=>{\r\nthis.router.navigate([link]);\r\n })\r\n if (this.params.onIconClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.dataSharing.setGlobalEditData(this.params.node.data);\r\n this.params.onIconClick(params);\r\n }\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n\r\n}\r\n","\r\n","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { Permission } from '../../configurations/model/manage role model/permission';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-link-status',\r\n templateUrl: './link-status.component.html',\r\n styleUrls: ['./link-status.component.scss']\r\n})\r\nexport class LinkStatusComponent implements ICellRendererAngularComp {\r\n\r\n params: any;\r\n data: any;\r\n loggedInUserPermissionData: any;\r\n enableEdit: boolean;\r\n constructor(private ngZone: NgZone, private router: Router, private dataSharingService: DataSharingService) {\r\n this.data = this.dataSharingService.getNavItems();\r\n this.loggedInUserPermissionData = this.data.source._value;\r\n }\r\n agInit(params: any): void {\r\n this.params = params;\r\n this.checkPermission(params.type)\r\n }\r\n\r\n onLinkClick($event, link) {\r\n //if(this.enableEdit){\r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n if (this.params.onLinkClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.dataSharingService.setGlobalEditData(this.params.node.data);\r\n this.params.onLinkClick(params);\r\n }\r\n //}\r\n \r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n checkPermission(type) {\r\n let permissions = new Permission();\r\n if(type=== 'Training.TrainingMaster'){\r\n if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n this.loggedInUserPermissionData[3].children[0].children.forEach(nav =>{\r\n if(nav.name == 'Training Master'){\r\n permissions = nav.permission\r\n return\r\n }\r\n })\r\n if (permissions.add === true) {\r\n this.enableEdit = true;\r\n }\r\n }\r\n }\r\n else if(type=== 'Training.InitiateTraining'){\r\n if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n this.loggedInUserPermissionData[3].children[0].children.forEach(nav => {\r\n if (nav.name == 'Initiate Training') {\r\n permissions = nav.permission\r\n return\r\n }\r\n })\r\n if (permissions.add === true) {\r\n this.enableEdit = true;\r\n }\r\n }\r\n }\r\n else if(type==='group'){\r\n permissions =\r\n this.loggedInUserPermissionData[1].children[0].children[0].permission;\r\n if (permissions.add === true) {\r\n this.enableEdit = true;\r\n }\r\n }\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n\r\n}\r\n","\r\n {{params.data.initiateTrainingStatus}}\r\n\r\n\r\n {{params.data.initiateTrainingStatus.entityName}}","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { Permission } from '../../configurations/model/manage role model/permission';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-link',\r\n templateUrl: './link.component.html',\r\n styleUrls: ['./link.component.scss'],\r\n})\r\nexport class LinkComponent implements ICellRendererAngularComp {\r\n params: any;\r\n data: any;\r\n loggedInUserPermissionData: any;\r\n enableEdit: boolean;\r\n disableConfiguredLink;\r\n constructor(\r\n private ngZone: NgZone,\r\n private router: Router,\r\n private dataSharingService: DataSharingService\r\n ) {\r\n this.data = this.dataSharingService.getNavItems();\r\n this.loggedInUserPermissionData = this.data.source._value;\r\n }\r\n agInit(params: any): void {\r\n this.params = params;\r\n if(params.data.configured.entityName==='Configured'){\r\n this.disableConfiguredLink = true;\r\n }else{\r\n this.disableConfiguredLink = false;\r\n }\r\n this.checkPermission(params.type);\r\n }\r\n\r\n onLinkClick($event, link) {\r\n // if (this.enableEdit) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n if (this.params.onLinkClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.dataSharingService.setGlobalEditData(this.params.node.data);\r\n this.params.onLinkClick(params);\r\n }\r\n // }\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n checkPermission(type) {\r\n let permissions = new Permission();\r\n if (type === 'Training.TrainingMaster') {\r\n if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n this.loggedInUserPermissionData[3].children[0].children.forEach((nav) => {\r\n if (nav.name == 'Training Master') {\r\n permissions = nav.permission;\r\n return;\r\n }\r\n });\r\n if (permissions.add === true) {\r\n this.enableEdit = true;\r\n }\r\n }\r\n } else if (type === 'Training.InitiateTraining') { \r\n if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n this.loggedInUserPermissionData[3].children[0].children.forEach((nav) => {\r\n if (nav.name == 'Initiate Training') {\r\n permissions = nav.permission;\r\n return;\r\n }\r\n });\r\n if (permissions.add === true) {\r\n this.enableEdit = true;\r\n }\r\n }\r\n } else if (type === 'group') {\r\n permissions =\r\n this.loggedInUserPermissionData[1].children[0].children[0].permission;\r\n if (permissions.add === true) {\r\n this.enableEdit = true;\r\n }\r\n }\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n}\r\n","\r\n\r\n","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { UserRoleService } from '../../configurations/service/manage role service/user-role.service';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-parameter-icon',\r\n templateUrl: './parameter-icon.component.html',\r\n styleUrls: ['./parameter-icon.component.scss']\r\n})\r\nexport class ParameterIconComponent implements ICellRendererAngularComp {\r\n\r\n params: any;\r\n constructor( private router: Router,\r\n private dataSharingService: DataSharingService,\r\n private ngZone: NgZone,) { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n onIconClick($event,link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n if (this.params.onIconClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.dataSharingService.setGlobalEditData(this.params.node.data);\r\n this.params.onIconClick(params);\r\n }\r\n }\r\n\r\n}\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\n\r\n@Component({\r\n selector: 'app-pop-up',\r\n templateUrl: './pop-up.component.html',\r\n styleUrls: ['./pop-up.component.scss']\r\n})\r\nexport class PopUpComponent implements OnInit, ICellRendererAngularComp {\r\n\r\n private params: any;\r\n data: any[] = [];\r\n dataLength: number;\r\n\r\n constructor() { }\r\n\r\n refresh(params: ICellRendererParams): boolean {\r\n return true;\r\n }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n if (params.colDef.field === 'quaterMaster.length') {\r\n params.data.quaterMaster.forEach((data: any) => {\r\n data.NAME = data.quaterName;\r\n });\r\n this.data = params.data.quaterMaster;\r\n } else if (params.colDef.field === 'gradeGroup.length') {\r\n params.data.gradeGroup.forEach((data: any) => {\r\n data.NAME = data.gradeGroupId;\r\n });\r\n this.data = params.data.gradeGroup;\r\n }\r\n else if (params.colDef.field === 'classListNew.length') {\r\n params.data.classListNew.forEach((data: any) => {\r\n data.NAME = data.gradeId;\r\n });\r\n this.data = params.data.classListNew;\r\n }\r\n else if (params.colDef.field === 'termListNew.length') {\r\n params.data.termListNew.forEach((data: any) => {\r\n data.NAME = data.termId;\r\n });\r\n this.data = params.data.termListNew;\r\n }\r\n\r\n this.dataLength = this.data ? this.data.length : 0;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n
    \r\n \r\n
  • {{ item.NAME }}
  • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n
0; else elseArea\">\r\n \r\n {{ data.length }}\r\n \r\n
\r\n --\r\n ","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { Permission } from '../../configurations/model/manage role model/permission';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\nimport { NgToastService } from 'ng-angular-popup';\r\n\r\n@Component({\r\n selector: 'app-power-icon',\r\n templateUrl: './power-icon.component.html',\r\n styleUrls: ['./power-icon.component.scss'],\r\n})\r\nexport class PowerIconComponent implements ICellRendererAngularComp {\r\n params: any;\r\n enableEdit: boolean;\r\n loggedInUserPermissionData: any;\r\n data: any;\r\n startDate : any;\r\n cuurentDate : any;\r\n endDate : any;\r\n constructor(\r\n private router: Router,\r\n private ngZone: NgZone,\r\n private dataSharing: DataSharingService,\r\n private toast : NgToastService\r\n ) {\r\n this.data = this.dataSharing.getNavItems();\r\n this.loggedInUserPermissionData = this.data.source._value;\r\n }\r\n\r\n agInit(params: any): void {\r\n if(params.data!=null && params.data!=undefined)\r\n this.params = params;\r\n this.checkPermission(params.type)\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n checkPermission(type) {\r\n let permissions = new Permission();\r\n if(type === 'Training.LaunchTraining'){\r\n if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n this.loggedInUserPermissionData[3].children[0].children.forEach(nav =>{\r\n if(nav.name == 'Launch Training'){\r\n permissions = nav.permission\r\n return\r\n }\r\n })\r\n if (permissions.add === true) {\r\n this.enableEdit = true;\r\n }\r\n }\r\n }\r\n }\r\n onPowerIconClick($event) {\r\n // if(this.enableEdit){\r\n if (this.params.onPowerIconClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.startDate = (new Date(this.params.data.trainingStartDate.split('T')[0])).getTime();\r\n this.endDate = (new Date(this.params.data.trainingEndDate.split('T')[0])).getTime();\r\n this.cuurentDate = (new Date(this.params.data.todayDate.split('T')[0])).getTime();\r\n\r\n if(this.cuurentDate<=this.endDate){\r\n this.dataSharing.setGlobalEditData(this.params.node.data);\r\n this.params.onPowerIconClick(params);\r\n }else{\r\n this.toast.error({\r\n detail: 'Cannot Launch Batch! ',\r\n summary: `बैच की अंतिम तिथि निकल चुकी है। बैच लॉन्च नहीं हो सकता`,\r\n duration: 10000,\r\n });\r\n }\r\n \r\n \r\n }\r\n // } \r\n }\r\n\r\n onPowerIconClickCheck($event){\r\n if (this.params.onPowerIconClickCheck instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.dataSharing.setGlobalEditData(this.params.node.data);\r\n this.params.onPowerIconClickCheck(params);\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-rating-icon',\r\n templateUrl: './rating-icon.component.html',\r\n styleUrls: ['./rating-icon.component.scss'],\r\n})\r\nexport class RatingIconComponent implements ICellRendererAngularComp {\r\n count = 0;\r\n exampleCheck1 = 0;\r\n exampleCheck2 = 0;\r\n exampleCheck3 = 0;\r\n exampleCheck4 = 0;\r\n exampleCheck5 = 0;\r\n params: any;\r\n status: any;\r\n disabledStars = false;\r\n constructor(\r\n private dataSharingService: DataSharingService\r\n ) { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n if (this.params.data.rating !== undefined && this.params.data.rating !== null) {\r\n this.disabledStars = true;\r\n if (this.params.data.rating === 1) {\r\n this.exampleCheck1 = 1;\r\n this.exampleCheck2 = 0;\r\n this.exampleCheck3 = 0;\r\n this.exampleCheck4 = 0;\r\n this.exampleCheck5 = 0;\r\n } else if (this.params.data.rating === 2) {\r\n this.exampleCheck1 = 1;\r\n this.exampleCheck2 = 2;\r\n this.exampleCheck3 = 0;\r\n this.exampleCheck4 = 0;\r\n this.exampleCheck5 = 0;\r\n } else if (this.params.data.rating === 3) {\r\n this.exampleCheck1 = 1;\r\n this.exampleCheck2 = 2;\r\n this.exampleCheck3 = 3;\r\n this.exampleCheck4 = 0;\r\n this.exampleCheck5 = 0;\r\n } else if (this.params.data.rating === 4) {\r\n this.exampleCheck1 = 1;\r\n this.exampleCheck2 = 2;\r\n this.exampleCheck3 = 3;\r\n this.exampleCheck4 = 4;\r\n this.exampleCheck5 = 0;\r\n } else if (this.params.data.rating === 5) {\r\n this.exampleCheck1 = 1;\r\n this.exampleCheck2 = 2;\r\n this.exampleCheck3 = 3;\r\n this.exampleCheck4 = 4;\r\n this.exampleCheck5 = 5;\r\n }\r\n }\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n onRatingClick($event) {\r\n if (this.params.onRatingClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n if (params.rowData.trainerId) {\r\n if (params.event.target.id == 'exampleCheck1') {\r\n this.count = 1;\r\n this.exampleCheck1 = 1;\r\n this.exampleCheck2 = 0;\r\n this.exampleCheck3 = 0;\r\n this.exampleCheck4 = 0;\r\n this.exampleCheck5 = 0;\r\n this.params.data.rating = 1;\r\n }\r\n if (params.event.target.id == 'exampleCheck2') {\r\n this.count = 2;\r\n this.exampleCheck1 = 1;\r\n this.exampleCheck2 = 2;\r\n this.exampleCheck3 = 0;\r\n this.exampleCheck4 = 0;\r\n this.exampleCheck5 = 0;\r\n this.params.rating = 2;\r\n }\r\n if (params.event.target.id == 'exampleCheck3') {\r\n this.count = 3;\r\n this.exampleCheck1 = 1;\r\n this.exampleCheck2 = 2;\r\n this.exampleCheck3 = 3;\r\n this.exampleCheck4 = 0;\r\n this.exampleCheck5 = 0;\r\n this.params.data.rating = 3;\r\n }\r\n if (params.event.target.id == 'exampleCheck4') {\r\n this.count = 4;\r\n this.exampleCheck1 = 1;\r\n this.exampleCheck2 = 2;\r\n this.exampleCheck3 = 3;\r\n this.exampleCheck4 = 4;\r\n this.exampleCheck5 = 0;\r\n this.params.data.rating = 4;\r\n }\r\n if (params.event.target.id == 'exampleCheck5') {\r\n this.count = 5;\r\n this.exampleCheck1 = 1;\r\n this.exampleCheck2 = 2;\r\n this.exampleCheck3 = 3;\r\n this.exampleCheck4 = 4;\r\n this.exampleCheck5 = 5;\r\n this.params.data.rating = 5;\r\n }\r\n }\r\n this.params.node.data.rating = this.count;\r\n this.dataSharingService.setGlobalEditData(this.params.node.data);\r\n this.params.onRatingClick(params);\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, Input, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { Permission } from '../../configurations/model/manage role model/permission';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-remark-text-box',\r\n templateUrl: './remark-text-box.component.html',\r\n styleUrls: ['./remark-text-box.component.scss']\r\n})\r\nexport class RemarkTextBoxComponent implements ICellRendererAngularComp {\r\n params:any;\r\n status: any;\r\n loggedInUserPermissionData: any;\r\n enableEdit: boolean = true;\r\n data: any;\r\n textBoxVisible = false;\r\n remarkData = '';\r\n remarkText = '';\r\n ;\r\n constructor(\r\n private router: Router,\r\n private ngZone: NgZone,\r\n private dataSharingService: DataSharingService,\r\n ) {\r\n this.data = this.dataSharingService.getNavItems();\r\n this.loggedInUserPermissionData = this.data.source._value;\r\n }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n // if (params.data.hasRemarkDisabled) {\r\n // this.enableEdit = false;\r\n // }\r\n if(params.data.hasRemarkDisabled) {\r\n this.enableEdit = true;\r\n } else {\r\n this.enableEdit = false;\r\n }\r\n\r\n if (params.data.attendanceMarked !== null && params.data.attendanceMarked === true) {\r\n this.enableEdit = true;\r\n }\r\n // this.checkPermission(params.type);\r\n if(params.data && params.data.remark) { \r\n this.textBoxVisible = true;\r\n this.remarkData = params.data.remark;\r\n }\r\n // if((this.remarkData !=null && this.remarkData!=undefined) || this.remarkText != \"\"){\r\n // this.textBoxVisible === true;\r\n // // this.params.data.hasRemarkDisabled = true;\r\n // }\r\n if((this.remarkText !=null && this.remarkText!=undefined) || this.remarkText != \"\"){\r\n this.textBoxVisible === true;\r\n }\r\n // this.remarkData = params.data.remark\r\n }\r\n\r\n refresh(data: any): boolean {\r\n this.remarkData = data;\r\n return true;\r\n }\r\n\r\n setRemark(data:any):void{\r\n this.remarkData = data;\r\n }\r\n\r\n onRemarkInput(event){\r\n \r\n if(event.data == null){\r\n this.remarkText = this.remarkText.substring(0, this.remarkText.length-1);\r\n }else{\r\n this.remarkText = this.remarkText.concat(event.data)\r\n }\r\n this.params.data.remark = this.remarkText\r\n const params = {\r\n event: event,\r\n rowData: this.params.node.data,\r\n remark: this.remarkText\r\n };\r\n this.dataSharingService.setGlobalEditData(this.params.node.data);\r\n this.params.onInputText(params);\r\n }\r\n\r\n // checkPermission(type) {\r\n // let permissions = new Permission();\r\n // if (type === 'Training.Attendance') {\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n // this.loggedInUserPermissionData[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Attendance'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.add === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else if (type === 'Training.Monitor') {\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n // this.loggedInUserPermissionData[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Training Monitor'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.add === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else{\r\n // this.enableEdit = true\r\n // }\r\n // }\r\n\r\n onRemarkTextBox($event){\r\n // if(this.enableEdit){\r\n this.status = $event.target\r\n // this.params.node.data.isPresent = this.status;\r\n this.textBoxVisible = true;\r\n if (this.params.onRemarkTextBox instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.dataSharingService.setGlobalEditData(this.params.node.data);\r\n this.params.onRemarkTextBox(params);\r\n }\r\n // }\r\n }\r\n \r\n\r\n}\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\n\r\n@Component({\r\n selector: 'app-remove-icon',\r\n templateUrl: './remove-icon.component.html',\r\n styleUrls: ['./remove-icon.component.scss']\r\n})\r\nexport class RemoveIconComponent implements ICellRendererAngularComp {\r\n params: any;\r\n constructor() { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n onRemoveIconClick(event,type){\r\n if(type==='removeAllocationSchoolClass'){\r\n this.params.onRemoveIconClick(this.params);\r\n }\r\n\r\n }\r\n \r\n\r\n }\r\n","","import { Component, NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'app-review-assessment',\r\n templateUrl: './review-assessment.component.html',\r\n styleUrls: ['./review-assessment.component.scss']\r\n})\r\nexport class ReviewAssessmentComponent implements ICellRendererAngularComp {\r\n public params: any;\r\n \r\n constructor(private ngZone: NgZone, private router: Router) { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n\r\n onClick($event, link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n if (this.params.onClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.params.onClick(params);\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n
","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-self-assmt-link',\r\n templateUrl: './self-assmt-link.component.html',\r\n styleUrls: ['./self-assmt-link.component.scss']\r\n})\r\nexport class SelfAssmtLinkComponent implements ICellRendererAngularComp {\r\n params: any;\r\n constructor(private ngZone: NgZone,private router : Router, private dataSharingService: DataSharingService) { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n onLinkClick($event, link){\r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n if (this.params.onLinkClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.dataSharingService.setGlobalEditData(this.params.node.data);\r\n this.params.onLinkClick(params);\r\n }\r\n}\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n\r\n}\r\n","\r\n {{params.data.initiateTrainingStatus.entityName}}","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { Entity } from '../../baseline/model/entity.model';\r\nimport { Permission } from '../../configurations/model/manage role model/permission';\r\nimport { ClientSideStorageService } from '../../shared/services/client-side-storage.service';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\nimport { Question } from '../../training/model/question';\r\nimport { Trainee } from '../../training/model/trainee';\r\nimport { TraineeAnswerSheet } from '../../training/model/trainee-answer-sheet';\r\nimport { Training } from '../../training/model/training';\r\nimport { TrainingAssessmentService } from '../../training/services/training-assessment.service';\r\n\r\n@Component({\r\n selector: 'app-start-test-icon',\r\n templateUrl: './start-test-icon.component.html',\r\n styleUrls: ['./start-test-icon.component.scss']\r\n})\r\nexport class StartTestIconComponent implements ICellRendererAngularComp {\r\n\r\n userId: any;\r\n public params: any;\r\n traineeAnsSheet: any[];\r\n loggedInUserPermissionData: any;\r\n enableEdit: boolean;\r\n isDisable:boolean;\r\n notDisable:boolean;\r\n spotAssementIcon:boolean = false;\r\n constructor(\r\n private dataSharing: DataSharingService,\r\n private router: Router,\r\n private ngZone: NgZone,\r\n private _trainingAssmtService: TrainingAssessmentService,\r\n private clientSideStorage: ClientSideStorageService\r\n ) { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n if(params && params.type === \"Monitoring.SpotAssessment\") {\r\n this.spotAssementIcon = true;\r\n } else {\r\n if(params.data.status ==='Expired' || params.data.status==='Upcoming' || params.data.status==='Completed') {\r\n this.isDisable = true;\r\n this.notDisable = false;\r\n } else if (params.data.status==='Incomplete' || params.data.status==='Pending') {\r\n this.isDisable = false;\r\n this.notDisable = true;\r\n }\r\n this.userId = this.clientSideStorage.get('userId');\r\n this.checkPermission(params.type);\r\n }\r\n \r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n checkPermission(type) {\r\n // let permissions = new Permission();\r\n // if (type === 'Training.TrainingAssessment') {\r\n // this.loggedInUserPermissionData[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Training Assessment'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.add === true) {\r\n this.enableEdit = true;\r\n // }\r\n // }\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n\r\n onClick($event, link) {\r\n \r\n //let traineeAnswerSheet;\r\n //traineeAnswerSheet = this.mapToModelTraineeAnsSheet(this.params.data);\r\n \r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n if (this.params.onClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.dataSharing.setGlobalEditData(this.params.node.data);\r\n this.params.onClick(params);\r\n }\r\n //}\r\n }\r\n\r\n mapToModelTraineeAnsSheet(data) {\r\n let arr = [];\r\n let traineeAnswerSheet = new TraineeAnswerSheet();\r\n traineeAnswerSheet.answer = null;\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n traineeAnswerSheet.createdBy = createdBy;\r\n traineeAnswerSheet.createdOn = new Date();\r\n let trainee = new Trainee();\r\n trainee.traineeId = data.traineeId;\r\n traineeAnswerSheet.trainee = trainee;\r\n let training = new Training();\r\n training.trainingId = data.training.trainingId;\r\n traineeAnswerSheet.training = training;\r\n let updatedBy = new User();\r\n updatedBy.userId = this.userId;\r\n traineeAnswerSheet.updatedBy = updatedBy;\r\n traineeAnswerSheet.updatedOn = new Date();\r\n let entity = new Entity();\r\n entity.id = 66;\r\n traineeAnswerSheet.status = entity;\r\n\r\n arr.push(traineeAnswerSheet);\r\n this.traineeAnsSheet = arr;\r\n return this.traineeAnsSheet;\r\n }\r\n\r\n takeSpotAssementTest($e,link) {\r\n if(link!=null){\r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n }\r\n if (this.params.takeSpotAssementTest instanceof Function) {\r\n const params = {\r\n event: $e,\r\n rowData: this.params.node.data,\r\n };\r\n \r\n this.params.takeSpotAssementTest(params);\r\n }\r\n }\r\n\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { Permission } from '../../configurations/model/manage role model/permission';\r\nimport { UserRoleService } from '../../configurations/service/manage role service/user-role.service';\r\nimport { ProblemService } from '../../escalation/service/problem.service';\r\nimport { EmergencyVisitMaster } from '../../monitoring/model/emergency-visit-master';\r\nimport { Parameter } from '../../monitoring/model/parameter';\r\nimport { SectionMaster } from '../../monitoring/model/section-master';\r\nimport { SectionType } from '../../monitoring/model/section-type';\r\nimport { SubSectionMaster } from '../../monitoring/model/sub-section-master';\r\nimport { VisitTypeMaster } from '../../monitoring/model/visit-type-master';\r\nimport { EmergencyVisitService } from '../../monitoring/service/emergency-visit.service';\r\nimport { ParameterService } from '../../monitoring/service/parameter.service';\r\nimport { SectionsService } from '../../monitoring/service/sections.service';\r\nimport { ClientSideStorageService } from '../../shared/services/client-side-storage.service';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\nimport { SpotAssessmentService } from '../../monitoring/service/spot-assessment.service';\r\nimport { GtsMappingService } from '../../hpc-form/service/gts-mapping.service';\r\nimport { HpcFormService } from '../../hpc-form/service/hpc-form.service';\r\nimport { MentoringReportcardService } from '../../monitoring/service/mentoring-reportcard.service';\r\n\r\n@Component({\r\n selector: 'app-switch',\r\n templateUrl: './switch.component.html',\r\n styleUrls: ['./switch.component.scss'],\r\n})\r\nexport class SwitchComponent implements ICellRendererAngularComp {\r\n public params: any;\r\n userId: any;\r\n data: any;\r\n enableEdit: Boolean = false;\r\n loggedInUserPermissionData: any;\r\n constructor(\r\n private userRoleService: UserRoleService,\r\n private toast: NgToastService,\r\n private clientSideStorage: ClientSideStorageService,\r\n private _emergencyVisit: EmergencyVisitService,\r\n private sectionService: SectionsService,\r\n private dataSharingService: DataSharingService,\r\n private problemService: ProblemService,\r\n private parameterService: ParameterService,\r\n private _spotService: SpotAssessmentService,\r\n private gtsMappingService: GtsMappingService,\r\n private hpcFormService: HpcFormService,\r\n private _mentoringReportCardService: MentoringReportcardService,\r\n \r\n ) {\r\n this.userId = this.clientSideStorage.get('userId');\r\n this.data = this.dataSharingService.getNavItems();\r\n this.loggedInUserPermissionData = this.data.source._value;\r\n }\r\n agInit(params: any): void {\r\n this.params = params;\r\n // this.checkPermission(params.type);\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n status: any;\r\n isactive: any;\r\n\r\n // checkPermission(type) {\r\n // let permissions = new Permission();\r\n\r\n // if (type === 'role') {\r\n // this.loggedInUserPermissionData[0].children.forEach(nav =>{\r\n // if(nav.name == 'Role Management'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // else if(type=== 'userrole'){\r\n // this.loggedInUserPermissionData[0].children.forEach(nav =>{\r\n // if(nav.name == 'User Management'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // else if(type=== 'Training.TrainingMaster'){\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n // this.loggedInUserPermissionData[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Training Master'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else if(type=== 'Training.GroupMaster'){\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n // this.loggedInUserPermissionData[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Training Master'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else if(type=== 'Training.SubGroupMaster'){\r\n // if (this.loggedInUserPermissionData && this.loggedInUserPermissionData[3] && this.loggedInUserPermissionData[3].children && this.loggedInUserPermissionData[3].children[0] && this.loggedInUserPermissionData[3].children[0].children) {\r\n // this.loggedInUserPermissionData[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Training Master'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // }\r\n // else if(type==='group'){\r\n // permissions =\r\n // this.loggedInUserPermissionData[1].children[0].children[0].permission;\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n // else if(type=== 'section'){\r\n // this.loggedInUserPermissionData[4].children.forEach(nav =>{\r\n // if(nav.name == 'Sections'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // } else if(type=== 'problem-master'){\r\n // this.loggedInUserPermissionData[5].children.forEach(nav =>{\r\n // if(nav.name == 'Problem Master'){\r\n // permissions = nav.permission\r\n // return\r\n // }\r\n // })\r\n // if (permissions.edit === true) {\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n\r\n // else{\r\n // this.enableEdit = true;\r\n // }\r\n // }\r\n\r\n onSwitchClick(event, type, userId) {\r\n const params = {\r\n event: event,\r\n rowData: this.params.node.data,\r\n };\r\n this.status = event.target.checked;\r\n if (type === 'role') {\r\n this.userRoleService\r\n .changeRoleStatus(type, this.status, this.params.data.roleId, 0)\r\n .subscribe((res) => {\r\n if (res.status === 'Success') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n if (type === 'userrole') {\r\n this.userRoleService\r\n .changeRoleStatus(type, this.status, this.params.data.roleId, userId)\r\n .subscribe((res) => {\r\n if (res.status === 'Success') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n if (type === 'assessment') {\r\n this.userRoleService\r\n .changeRoleStatus(type, this.status, this.params.data.assessmentId, 0)\r\n .subscribe((res) => {\r\n if (res.status === 'Success') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n if (type === 'group') {\r\n this.userRoleService\r\n .changeRoleStatus(type, this.status, this.params.data.groupId, 0)\r\n .subscribe((res) => {\r\n if (res.status === 'Success') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n if (type === 'subjectMasterSpotAss') {\r\n this._spotService.updateSubjectStatus(this.params.data.subjectId, this.status).subscribe((res) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (type === 'spotMaster') {\r\n if (params && this.params?.data && this.params?.data?.questionId) {\r\n this._spotService.updateSpotQuestionStatus(this.params?.data?.questionId,this.status).subscribe({\r\n next :(res)=>{\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.STATUS_UPDATED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n }else{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n error :(err)=>{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: err.message,\r\n duration: 5000,\r\n });\r\n }\r\n })\r\n }\r\n }\r\n \r\n\r\n\r\n\r\n if (type === 'domainSpotAss') {\r\n this._spotService.updateDomainStatus(this.params.data.domainId, this.status).subscribe((res) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n if (type === 'competencyMasterSpotAss') {\r\n this._spotService.updateCompentencyStatus(this.params.data.competencyMaster, this.status).subscribe((res) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n if (type === 'Training.GroupMaster') {\r\n // this.userRoleService.\r\n // changeRoleStatus(type, this.status, this.params.data.groupId, 0).subscribe((res) => {\r\n // if (res.status === 'Success') {\r\n // this.toast.success({\r\n // detail: 'Success',\r\n // summary: 'Status has been updated successfully',\r\n // duration: 5000,\r\n // });\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: res.message,\r\n // duration: 5000,\r\n // });\r\n // }\r\n\r\n // this.params.onSwitchClicked();\r\n // });\r\n }\r\n\r\n if (type === 'Training.SubGroupMaster') {\r\n //this.params.onSwitchClick(params)\r\n // this.userRoleService.changeRoleStatus(type, this.status, this.params.data.subGroupId, 0)\r\n // .subscribe((res) => {\r\n // if (res.status === 'Success') {\r\n // this.toast.success({\r\n // detail: 'Success',\r\n // summary: 'Status has been updated successfully',\r\n // duration: 5000,\r\n // });\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: res.message,\r\n // duration: 5000,\r\n // });\r\n // }\r\n // });\r\n }\r\n if (type === 'Training.TrainingMaster') {\r\n //this.params.onTrainingSwitch(params)\r\n // this.userRoleService.changeRoleStatus(type, this.status, this.params.data.trainingId, 0)\r\n // .subscribe((res) => {\r\n // if (res.status === 'Success') {\r\n // this.toast.success({\r\n // detail: 'Success',\r\n // summary: 'Status has been updated successfully',\r\n // duration: 5000,\r\n // });\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: res.message,\r\n // duration: 5000,\r\n // });\r\n // }\r\n // });\r\n }\r\n\r\n if (type === \"emergencyStatus\") {\r\n let emergencyVisitMaster = new EmergencyVisitMaster();\r\n emergencyVisitMaster = this.mapToModel(this.params.data);\r\n this._emergencyVisit.saveEmergencyVisit(emergencyVisitMaster).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n }\r\n\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 5000,\r\n });\r\n })\r\n }\r\n\r\n if (type === \"section\") {\r\n let sectionMasterList: any = [];\r\n let sectionMaster = this.mapToSectionModel(this.params.data);\r\n sectionMasterList.push(sectionMaster)\r\n this.sectionService.saveSectionList(sectionMasterList[0]).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n }\r\n\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 5000,\r\n });\r\n })\r\n }\r\n\r\n if (type === \"sub-section\") {\r\n let subSectionMasterList: any = [];\r\n let subSectionMaster = this.mapToSubSectionModel(this.params.data);\r\n subSectionMasterList.push(subSectionMaster)\r\n this.sectionService.saveSubsection(subSectionMasterList[0]).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n }\r\n\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 5000,\r\n });\r\n })\r\n }\r\n\r\n if (type === \"parameter\") {\r\n // let parameterList: any = [];\r\n // let parameterMaster = this.mapToParameterModel();\r\n // parameterList.push(parameterMaster);\r\n let status = this.status === true ? 1 : 0;\r\n this.parameterService.changeParameterStatus(this.params?.data?.vparameterid, status).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 5000,\r\n });\r\n })\r\n // this.parameterService.saveParameter(parameterList).subscribe((response) => {\r\n // if (response.status === '200') {\r\n // this.toast.success({\r\n // detail: 'Success',\r\n // summary: 'Status has been updated successfully',\r\n // duration: 5000,\r\n // });\r\n // }\r\n\r\n // }, (error) => {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: Constantss.SOMETHING_WENT_WRONG,\r\n // duration: 5000,\r\n // });\r\n // })\r\n }\r\n\r\n\r\n if (type === 'problem-master') {\r\n this.problemService\r\n .updateProblemStatus(this.params.data.problemId, !this.params.data.isActive, this.userId)\r\n .subscribe((res) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (type === 'MOM') {\r\n this.userRoleService\r\n .changeRoleStatus(type, this.status, this.params.data.roleId, userId)\r\n .subscribe((res) => {\r\n if (res.status === 'Success') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (type === 'externalUser') {\r\n this.userRoleService\r\n .changeRoleStatus(type, this.status, this.params.data.roleId, userId)\r\n .subscribe((res) => {\r\n if (res.status === 'Success') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (type === \"classMaster\") {\r\n let dataMaster = {\r\n isactive: null\r\n };\r\n dataMaster = this.params.data;\r\n dataMaster.isactive = this.status;\r\n this.sectionService.saveClassmaster(dataMaster).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Status has been updated successfully',\r\n duration: 5000,\r\n });\r\n }\r\n\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 5000,\r\n });\r\n })\r\n }\r\n\r\n if (type === 'hpcMasterDomain') {\r\n this.params.data.isActive = this.status;\r\n this.params.data.createdBy = Number(this.userId);\r\n this.params.data.createdOn = new Date();\r\n this.params.data.updatedBy = Number(this.userId);\r\n this.params.data.updatedOn = new Date();\r\n this.hpcFormService.addUpdateHPCDomain(this.params.data).subscribe((res) => {\r\n if (res?.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.STATUS_UPDATED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 5000,\r\n });\r\n })\r\n }\r\n\r\n if (type === 'hpcMasterSection') {\r\n this.params.data.isActive = this.status;\r\n this.params.data.createdBy = Number(this.userId);\r\n this.params.data.createdOn = new Date();\r\n this.params.data.updatedBy = Number(this.userId);\r\n this.params.data.updatedOn = new Date();\r\n this.hpcFormService.addUpdateHPCSection(this.params.data).subscribe((res) => {\r\n if (res?.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.STATUS_UPDATED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 5000,\r\n });\r\n });\r\n }\r\n\r\n if (type === 'mentoringReportCardDomainMasterStatus') {\r\n this._mentoringReportCardService.updateMentoringDomainStatus(this.params?.data?.domainId, this.status).subscribe({\r\n next: (res) => {\r\n if (res?.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.STATUS_UPDATED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n error: (err) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n if (type === 'mentoringReportCardCompetencyStatus') {\r\n this._mentoringReportCardService.updateMentoringCompetencyMasterStatus(this.params?.data?.competencyId, this.status).subscribe({\r\n next: (res) => {\r\n if (res?.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.STATUS_UPDATED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n error: (err) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (type === 'sectionTermMappingStatus') {\r\n this.params.data.isActive = this.status;\r\n this.params.data.createdBy = Number(this.userId);\r\n this.params.data.createdOn = new Date();\r\n this.params.data.updatedBy = Number(this.userId);\r\n this.params.data.updatedOn = new Date();\r\n this.gtsMappingService.addUpdateGTSMappingData(this.params.data).subscribe((res) => {\r\n if (res?.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.STATUS_UPDATED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 5000,\r\n });\r\n })\r\n }\r\n }\r\n\r\n\r\n mapToModel(form: any,) {\r\n let emergencyVisitMaster = new EmergencyVisitMaster();\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n emergencyVisitMaster.createdBy = createdBy;\r\n emergencyVisitMaster.createdOn = new Date();\r\n emergencyVisitMaster.description = form.description;\r\n emergencyVisitMaster.emergencyVisitId = form.emergencyVisitId;\r\n emergencyVisitMaster.endDate = form.endDate;\r\n emergencyVisitMaster.gradeGroupIds = form.gradeGroupIds;\r\n emergencyVisitMaster.gradeGroups = form.gradeGroups;\r\n emergencyVisitMaster.level = form.level;\r\n emergencyVisitMaster.parameterList = form.parameterList;\r\n emergencyVisitMaster.rangeFrom = form.rangeFrom;\r\n emergencyVisitMaster.rangeTo = form.rangeTo;\r\n emergencyVisitMaster.role = form.role;\r\n emergencyVisitMaster.startDate = form.startDate;\r\n emergencyVisitMaster.visitName = form.visitName;\r\n let updatedBy = new User();\r\n updatedBy.userId = this.userId;\r\n emergencyVisitMaster.updatedBy = updatedBy;\r\n emergencyVisitMaster.updatedOn = new Date();\r\n emergencyVisitMaster.isActive = this.status;\r\n emergencyVisitMaster.status = form.status;\r\n return emergencyVisitMaster;\r\n }\r\n\r\n mapToSectionModel(data: any): SectionMaster {\r\n let sectionMaster = new SectionMaster();\r\n sectionMaster.vsectionid = data.vsectionid;\r\n sectionMaster.createdby = data.createdby;\r\n let setionType = new SectionType;\r\n setionType.vvisittypemasterid = data.vvisittypemaster.vvisittypemasterid;\r\n sectionMaster.vvisittypemaster = setionType;\r\n sectionMaster.createdon = new Date();\r\n sectionMaster.description = data.description;\r\n // let entity = new Entity();\r\n // entity.id = data.purpose;\r\n // sectionMaster.purposeId = entity;\r\n sectionMaster.name = data.name;\r\n sectionMaster.isactive = this.status;\r\n sectionMaster.updatedby = data.updatedby;\r\n sectionMaster.updatedon = new Date();\r\n // sectionMaster.orderNumber = data.orderNumber;\r\n return sectionMaster;\r\n }\r\n\r\n mapToSubSectionModel(data: any): SubSectionMaster {\r\n let sectionMaster = new SubSectionMaster();\r\n if (data.vsubsectionid != null) {\r\n sectionMaster.vsubsectionid = data.vsubsectionid;\r\n }\r\n sectionMaster.createdby = this.userId;\r\n sectionMaster.createdon = new Date();\r\n sectionMaster.description = data.description;\r\n sectionMaster.name = data.name;\r\n sectionMaster.isactive = this.status;\r\n sectionMaster.updatedby = this.userId;\r\n sectionMaster.updatedon = new Date();\r\n let vsectionmaster = new SectionMaster();\r\n vsectionmaster.vsectionid = data.vsectionmaster.vsectionid;\r\n sectionMaster.vsectionmaster = vsectionmaster;\r\n return sectionMaster;\r\n }\r\n\r\n // mapToParameterModel(data: any): Parameter {\r\n // let parameter = new Parameter();\r\n // parameter.createdby = this.userId;\r\n // parameter.gradegroupid = data.gradegroupid;\r\n // parameter.isactive = this.status;\r\n // parameter.mandatory = data.mandatory;\r\n // parameter.createdon = new Date();\r\n // if (data.vparameterid !== null) {\r\n // parameter.vparameterid = data.vparameterid;\r\n // }\r\n // parameter.ordernumber = 0;\r\n // parameter.parametername = data.parametername;\r\n\r\n // parameter.vsubsectionid = data.vsubsectionid;\r\n // parameter.purposeid = data.purposeid;\r\n // parameter.quaterid = data.quaterid;\r\n\r\n // let vvisitTypeMaster = new VisitTypeMaster();\r\n // vvisitTypeMaster.vvisittypemasterid = data.vvisitTypeMaster.vvisittypemasterid;\r\n // parameter.vvisitTypeMaster = vvisitTypeMaster;\r\n\r\n // parameter.updatedby = this.userId;\r\n // parameter.updatedon = new Date();\r\n\r\n // if (data.vparameterid != null) {\r\n // parameter.visitorroleid = data.visitorroleid;\r\n // }\r\n // // let vsubSectionMaster = new SubSectionMaster();\r\n // // vsubSectionMaster.vsubsectionid = data.vsubSectionMaster;\r\n // // parameter.vsubSectionMaster = vsubSectionMaster;\r\n\r\n // let parameterValuesList: any = [];\r\n // parameterValuesList.push(data.vparameterValues[0])\r\n // parameterValuesList.push(data.vparameterValues[1])\r\n // parameterValuesList.push(data.vparameterValues[2])\r\n // parameter.vparameterValues = parameterValuesList;\r\n\r\n // return parameter;\r\n // }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
","import { Component,NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'app-take-test-perform-spot-icon',\r\n templateUrl: './take-test-perform-spot-icon.component.html',\r\n styleUrls: ['./take-test-perform-spot-icon.component.scss']\r\n})\r\nexport class TakeTestPerformSpotIconComponent implements ICellRendererAngularComp {\r\n public params: any;\r\n testTaken;\r\n testNotTaken;\r\n constructor(private ngZone: NgZone,private router: Router) { }\r\n\r\n agInit(params:any): void {\r\n this.params = params;\r\n if(params.data.testStatus===true) {\r\n this.testTaken = true;\r\n this.testNotTaken = false;\r\n } else {\r\n this.testTaken = false;\r\n this.testNotTaken = true;\r\n }\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n navigate(link) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([link, this.params.value]);\r\n });\r\n }\r\n\r\n onClick($event, link) { \r\n this.ngZone.run(() => {\r\n this.router.navigate([link]);\r\n });\r\n if (this.params.onClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n };\r\n this.params.onClick(params);\r\n }\r\n }\r\n\r\n}\r\n","
\r\n\r\n
\r\n
\r\n \r\n
","import { formatDate } from '@angular/common';\r\nimport { Component, NgZone, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\nimport { RegularVisitService } from '../../monitoring/service/regular-visit.service';\r\nimport { scheduled } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-training-test-status',\r\n templateUrl: './training-test-status.component.html',\r\n styleUrls: ['./training-test-status.component.scss']\r\n})\r\nexport class TrainingTestStatusComponent implements ICellRendererAngularComp {\r\n\r\n params: any;\r\n todaysDate: any;\r\n constructor(private router: Router,\r\n private ngZone: NgZone,\r\n private dataSharing: DataSharingService,\r\n private _regularVisit: RegularVisitService) { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n let scheduleddateFormatted = (new Date(this.params.data.assessmentDate.split('T')[0])).getTime();\r\n let todaysdateFormatted = (new Date(this.params.data.todaysDate.split('T')[0])).getTime();\r\n if (scheduleddateFormatted < todaysdateFormatted) {\r\n this.params.data.status = 'Expired';\r\n } else if (scheduleddateFormatted === todaysdateFormatted) {\r\n if (this.params.data.attendedQuestions === null) {\r\n this.params.data.status = 'Incomplete';\r\n }\r\n else if (this.params.data.attendedQuestions.length > 0) {\r\n this.params.data.status = 'Completed';\r\n } \r\n // } else if (this.params.data.attendedQuestions.length === this.params.data.assessmentQuestions.length\r\n // || this.params.data.attendedQuestions.length > this.params.data.assessmentQuestions.length) {\r\n // this.params.data.status = 'Completed';\r\n // } else {\r\n // this.params.data.status = 'Pending';\r\n // }\r\n } else if (scheduleddateFormatted > todaysdateFormatted) {\r\n this.params.data.status = 'Upcoming';\r\n } else {\r\n this.params.data.status = 'Incomplete';\r\n }\r\n\r\n\r\n\r\n\r\n\r\n // (currently working code) : \r\n // this.params = params;\r\n // this.todaysDate = new Date();\r\n // console.log(this.todaysDate);\r\n // let scheduledDate = this.params.data.scheduledDate;\r\n // let today = new Date(this.todaysDate);\r\n // let todaysdateFormatted = this.dateFormatter(today);\r\n // let scheduled = scheduledDate;\r\n // let scheduleddateFormatted = scheduled;\r\n // if (scheduleddateFormatted < todaysdateFormatted) {\r\n // this.params.data.status = 'Expired';\r\n // } else if (scheduleddateFormatted === todaysdateFormatted) {\r\n // if (this.params.data.attendedQuestions === null) {\r\n // this.params.data.status = 'Incomplete';\r\n // } else if (this.params.data.attendedQuestions.length === this.params.data.assessmentQuestions.length\r\n // || this.params.data.attendedQuestions.length > this.params.data.assessmentQuestions.length) {\r\n // this.params.data.status = 'Completed';\r\n // } else {\r\n // this.params.data.status = 'Pending';\r\n // }\r\n // } else if (scheduleddateFormatted > todaysdateFormatted) {\r\n // this.params.data.status = 'Upcoming';\r\n // } else {\r\n // this.params.data.status = 'Incomplete';\r\n // }\r\n\r\n\r\n // ------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n //One Day Training......\r\n // this.params = params;\r\n // this.todaysDate = new Date();\r\n // let scheduledDate = this.params.data.scheduledDate;\r\n // let today = new Date(this.todaysDate);\r\n // let todaysdateFormatted = this.dateFormatter(today);\r\n // let scheduled = scheduledDate;\r\n // let scheduleddateFormatted=scheduled;\r\n // if (scheduleddateFormatted > todaysdateFormatted) {\r\n // if(this.params.data.testType.id===56){\r\n // this.params.data.status='Upcoming';\r\n // }else{\r\n // this.params.data.status = 'Expired';\r\n // }\r\n // } else if (scheduleddateFormatted === todaysdateFormatted) {\r\n // if (this.params.data.attendedQuestions === null) {\r\n // if(this.params.data.testType.id===54 && this.params.data.status===null){\r\n // this.params.data.status = 'Incomplete';\r\n // }\r\n // else if(this.params.data.testType.id===55 && this.params.data.status===null){\r\n // this.params.data.status = 'Upcoming';\r\n // }else{\r\n // this.params.data.status = 'Incomplete';\r\n // }\r\n\r\n // } else if (this.params.data.attendedQuestions.length === this.params.data.assessmentQuestions.length\r\n // || this.params.data.attendedQuestions.length > this.params.data.assessmentQuestions.length ) {\r\n // let filteredPre= this.params.data.attendedQuestions.filter(t=> t.testType.id===54) \r\n // let filteredPost= this.params.data.attendedQuestions.filter(t=> t.testType.id===55)\r\n // if(this.params.data.testType.id===55 && filteredPre.length!=0 && filteredPost.length===0){\r\n // this.params.data.status='Incomplete';\r\n // }else if(this.params.data.testType.id===55 && filteredPost.length!=0){\r\n // this.params.data.status = 'Completed';\r\n // }else{\r\n // this.params.data.status = 'Completed';\r\n // }\r\n // } else {\r\n // this.params.data.status = 'Pending';\r\n // }\r\n // } else if (scheduleddateFormatted < todaysdateFormatted) {\r\n // this.params.data.status = 'Expired';\r\n // } else {\r\n // this.params.data.status = 'Incomplete';\r\n // }\r\n\r\n }\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n dateFormatterYYYY(date: any) {\r\n const format = 'yyyy-MM-dd';\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n}\r\n","{{params.data.status}} ","import { Component, OnInit } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { DataSharingService } from '../../shared/services/data-sharing.service';\r\n\r\n@Component({\r\n selector: 'app-verify-status',\r\n templateUrl: './verify-status.component.html',\r\n styleUrls: ['./verify-status.component.scss']\r\n})\r\nexport class VerifyStatusComponent implements ICellRendererAngularComp {\r\n\r\n params;\r\n status = true;\r\n constructor(\r\n private dataSharing : DataSharingService\r\n ) { }\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n if(this.params && this.params.node && this.params.node.data && this.params.node.data.verify === true) {\r\n this.status = true;\r\n } else if(this.params && this.params.node && this.params.node.data && this.params.node.data.verify === false) {\r\n this.status = false;\r\n } \r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n onSwitchClick($event){\r\n this.status = $event.target.checked;\r\n this.params.node.data.verify = this.status;\r\n if (this.params.onSwitchClick instanceof Function) {\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data,\r\n\r\n };\r\n this.dataSharing.setGlobalEditData(this.params.node.data);\r\n this.params.onSwitchClick(params);\r\n }\r\n \r\n }\r\n\r\n\r\n}\r\n","
\r\n \r\n
","import { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { PopoverDirective } from '@coreui/angular';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { Area } from '../../configurations/model/manage role model/area.model';\r\n\r\n@Component({\r\n selector: 'app-view-area',\r\n templateUrl: './view-area.component.html',\r\n styleUrls: ['./view-area.component.scss']\r\n})\r\n\r\n\r\nexport class ViewAreaComponent implements OnInit, ICellRendererAngularComp {\r\n\r\n private params : any;\r\n areaLenght:number;\r\n areas:Area[]=[];\r\n @ViewChildren(PopoverDirective) popovers: QueryList;\r\n constructor() { }\r\n refresh(params: ICellRendererParams): boolean {\r\n return true;\r\n }\r\n agInit(params: any): void {\r\n this.params = params;\r\n if(params.data.area && params.data.area!=null && params.data.area.length!=0){\r\n this.areaLenght=params.data.area.length;\r\n }else{\r\n this.areaLenght=0;\r\n }\r\n \r\n this.areas=params.data.area;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n \r\n \r\n\r\n}\r\n","\r\n
\r\n \r\n \r\n
    \r\n \r\n
  • {{ area.areaName}}
  • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n {{ areaLenght }}\r\n
\r\nNo Areas\r\n","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\n\r\n@Component({\r\n selector: 'app-view-report-icon',\r\n templateUrl: './view-report-icon.component.html',\r\n styleUrls: ['./view-report-icon.component.scss']\r\n})\r\nexport class ViewReportIconComponent implements ICellRendererAngularComp {\r\n params: any;\r\n\r\n constructor() { }\r\n refresh(params: ICellRendererParams): boolean {\r\n throw new Error('Method not implemented.');\r\n }\r\n agInit(params: ICellRendererParams): void {\r\n this.params = params\r\n }\r\n\r\n onClick(){\r\n this.params.onViewSchoolReport(this.params)\r\n }\r\n\r\n}\r\n","","import { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { PopoverDirective } from '@coreui/angular';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { Area } from '../../configurations/model/manage role model/area.model';\r\n\r\n@Component({\r\n selector: 'app-view-roles-exclamation',\r\n templateUrl: './view-roles-exclamation.component.html',\r\n styleUrls: ['./view-roles-exclamation.component.scss']\r\n})\r\nexport class ViewRolesExclamationComponent implements OnInit, ICellRendererAngularComp {\r\n\r\n private params: any;\r\n levelLength: number;\r\n levels: Area[] = [];\r\n @ViewChildren(PopoverDirective) popovers: QueryList;\r\n constructor() { }\r\n refresh(params: ICellRendererParams): boolean {\r\n return true;\r\n }\r\n agInit(params: any): void {\r\n this.params = params;\r\n this.levelLength = params.data.roleName.length;\r\n this.levels = params.data.roleName;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n \r\n \r\n
    \r\n \r\n
  • {{ level}}
  • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\nNo Roles","import { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { PopoverDirective } from '@coreui/angular';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { Area } from '../../configurations/model/manage role model/area.model';\r\n\r\n@Component({\r\n selector: 'app-view-roles',\r\n templateUrl: './view-roles.component.html',\r\n styleUrls: ['./view-roles.component.scss']\r\n})\r\nexport class ViewRolesComponent implements OnInit, ICellRendererAngularComp {\r\n\r\n private params: any;\r\n levelLength: number;\r\n levels: Area[] = [];\r\n @ViewChildren(PopoverDirective) popovers: QueryList;\r\n constructor() { }\r\n refresh(params: ICellRendererParams): boolean {\r\n return true;\r\n }\r\n agInit(params: any): void {\r\n this.params = params;\r\n this.levelLength = params.data.levels.length;\r\n this.levels = params.data.levels;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n \r\n \r\n
    \r\n \r\n
  • {{ level.entityName}}
  • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n {{ levelLength }}\r\n
\r\nNo level","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ProblemService {\r\n private detailData = new BehaviorSubject([]);\r\n constructor(private url: UrlFormationService, private http: HttpClient) {}\r\n\r\n getAllProblemMaster(): Observable {\r\n return this.http.get(this.url.getAllProblem());\r\n }\r\n\r\n setDetailDataData(param: any) {\r\n this.detailData.next(param);\r\n }\r\n\r\n getDetailData() {\r\n return this.detailData.asObservable();\r\n }\r\n\r\n updateProblemStatus(\r\n problemId: any,\r\n status: any,\r\n userId: any\r\n ): Observable {\r\n return this.http.get(\r\n this.url\r\n .updateProblemStatus()\r\n .concat(problemId + '/' + status + '/' + userId)\r\n );\r\n }\r\n\r\n saveProblem(data):Observable {\r\n return this.http.post(this.url.saveProblem(),data);\r\n }\r\n\r\n deleteProblemMaster(problemId: any) {\r\n return this.http.delete(this.url.deleteProblemMaster().concat(problemId));\r\n }\r\n\r\n getAllRaisedProblems(userId): Observable {\r\n return this.http.get(this.url.getAllRaisedProblems() + '/' + userId);\r\n }\r\n\r\n getAllProblemForRaiseProblem(id): Observable {\r\n return this.http.get(this.url.getAllProblem() + '/' + id);\r\n }\r\n\r\n saveProblemForRaiseProblem(data): Observable {\r\n return this.http.post(this.url.saveRaisedProblem(),data);\r\n }\r\n\r\n getEscalationListing(RoleId): Observable {\r\n return this.http.get(this.url.getEscalationListing() + '/' + RoleId);\r\n }\r\n\r\n saveEscalatedProblem(data): Observable {\r\n return this.http.post(this.url.saveEscalatedProblem(),data);\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SpecificProblemPathService {\r\n\r\n constructor(private url: UrlFormationService, private http: HttpClient) { }\r\n\r\n getSpecificProblemList(): Observable {\r\n return this.http.get(this.url.getSpecificProblemList());\r\n }\r\n\r\n saveSpecificProbelemPath(specificProblemPath): Observable {\r\n return this.http.post(this.url.saveSpecificProblemPath(),specificProblemPath);\r\n }\r\n\r\n deleteSpecificProblm(id):Observable{\r\n return this.http.delete(this.url.deleteSpecificProblem()+id);\r\n }\r\n\r\n getProblemByTypeId(id):Observable{\r\n return this.http.get(this.url.getProblemByTypeId()+id);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GtsMappingService {\r\n\r\n constructor(private http: HttpClient, private url: UrlFormationService) { }\r\n\r\n getAllGTSMappingData(): Observable {\r\n return this.http.get(this.url.getAllGTSMappingData());\r\n }\r\n\r\n getAllGTSSections(gradeId: any, termId: any): Observable {\r\n return this.http.get(this.url.getAllGTSSections()+gradeId+\"/\"+termId);\r\n }\r\n\r\n addUpdateGTSMappingData(gtsMappingData): Observable {\r\n return this.http.post(this.url.addUpdateGTSMappingData(), gtsMappingData);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HpcFormService {\r\n\r\n constructor(private http: HttpClient, private url: UrlFormationService) { }\r\n\r\n saveQuestion(question: any): Observable {\r\n return this.http.post(this.url.saveHPCQuestion(), question);\r\n }\r\n\r\n addUpdateHPCSection(section: any): Observable {\r\n return this.http.post(this.url.addUpdateHPCSection(), section);\r\n }\r\n\r\n addUpdateHPCDomain(domain: any): Observable {\r\n return this.http.post(this.url.addUpdateHPCDomain(), domain);\r\n }\r\n\r\n getAllHPCSections(): Observable {\r\n return this.http.get(this.url.getAllHPCSections());\r\n }\r\n\r\n getAllHPCDomains(): Observable {\r\n return this.http.get(this.url.getAllHPCDomains());\r\n }\r\n\r\n\r\n getAllHPCSection(): Observable {\r\n return this.http.get(this.url.getAllHPCSection());\r\n }\r\n\r\n getAllHPCTerms(): Observable {\r\n return this.http.get(this.url.getAllHPCTerms());\r\n }\r\n\r\n getAllHPCGrades(): Observable {\r\n return this.http.get(this.url.getAllClasses());\r\n }\r\n\r\n getAllHPCQuestions(): Observable {\r\n return this.http.get(this.url.getAllHPCQuestions());\r\n }\r\n\r\n getHPCQuestionParams(classList: any, termList: any, sectionMaster: any): Observable {\r\n return this.http.get(this.url.getHPCQuestionParams() + classList + '/' + termList + '/' + sectionMaster);\r\n }\r\n\r\n deleteHPCQuestiobByOptionId(optionId: any): Observable {\r\n return this.http.delete(this.url.deleteHPCQuestiobByOptionId() + \"/\" + optionId);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-privacy-policy',\r\n templateUrl: './privacy-policy.component.html',\r\n styleUrls: ['./privacy-policy.component.scss']\r\n})\r\nexport class PrivacyPolicyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n\r\n

Privacy Policy

\r\n\r\n

\r\n This Privacy Policy governs the manner in which shikshamp collects, uses, maintains, and discloses\r\n information collected from users (each, a \"User\") of the shikshamp mobile application (\"App\").\r\n

\r\n\r\n

\r\n\r\n Personal Identification Information : \r\n We may collect personal identification information from Users in a variety of ways, including, but not limited\r\n to,\r\n when Users visit our App, register on the App, place an order, subscribe to the newsletter, respond to a survey,\r\n fill out a form, and in connection with other activities, services, features, or resources we make available on\r\n our\r\n App. Users may be asked for, as appropriate, name, email address, mailing address, phone number, and credit card\r\n information. We will collect personal identification information from Users only if they voluntarily submit such\r\n information to us. Users can always refuse to supply personally identification information, except that it may\r\n prevent them from engaging in certain App-related activities.\r\n

\r\n\r\n

\r\n Non-Personal Identification Information : \r\n \r\n We may collect non-personal identification information about Users whenever they interact with our App.\r\n Non-personal\r\n identification information may include the browser name, the type of device, and technical information about\r\n Users'\r\n means of connection to our App, such as the operating system and the Internet service providers utilized and\r\n other\r\n similar information.\r\n

\r\n\r\n

\r\n How We Use Collected Information : \r\n \r\n shikshamp may collect and use Users' personal information for the following purposes:\r\n

\r\n\r\n

\r\n To improve customer service: Information you provide helps us respond to your customer service requests and\r\n support\r\n needs more efficiently.\r\n To personalize user experience: We may use information in the aggregate to understand how our Users as a group\r\n use\r\n the services and resources provided on our App.\r\n To improve our App: We may use feedback you provide to improve our products and services.\r\n To process payments: We may use the information Users provide about themselves when placing an order only to\r\n provide\r\n service to that order. We do not share this information with outside parties except to the extent necessary to\r\n provide the service.\r\n To send periodic emails: We may use the email address to send User information and updates pertaining to their\r\n order\r\n or subscription. It may also be used to respond to their inquiries, questions, and/or other requests.\r\n How We Protect Your Information\r\n We adopt appropriate data collection, storage, and processing practices, and security measures to protect\r\n against\r\n unauthorized access, alteration, disclosure, or destruction of your personal information, username, password,\r\n transaction information, and data stored on our App.\r\n

\r\n\r\n

Sharing Your Personal Information : \r\n \r\n We do not sell, trade, or rent Users' personal identification information to others. We may share generic\r\n aggregated\r\n demographic information not linked to any personal identification information regarding visitors and Users with\r\n our\r\n business partners, trusted affiliates, and advertisers for the purposes outlined above.\r\n

\r\n\r\n

\r\n\r\n Changes to This Privacy Policy : \r\n \r\n shikshamp has the discretion to update this privacy policy at any time. When we do, we will revise\r\n the\r\n updated date at the bottom of this page. We encourage Users to frequently check this page for any changes to\r\n stay\r\n informed about how we are helping to protect the personal information we collect. You acknowledge and agree that\r\n it\r\n is your responsibility to review this privacy policy periodically and become aware of modifications.\r\n

\r\n\r\n

\r\n Your Acceptance of These Terms : \r\n \r\n By using this App, you signify your acceptance of this policy. If you do not agree to this policy, please do not\r\n use\r\n our App. Your continued use of the App following the posting of changes to this policy will be deemed your\r\n acceptance of those changes.\r\n

\r\n
","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { Entity } from \"../../baseline/model/entity.model\";\r\nimport { UserRole } from \"../../configurations/model/manage role model/user-role\";\r\nimport { GradeGroups } from '../model/grade-groups';\r\nimport { EmergencyVisitArea } from '../model/emergency-visit-area';\r\nimport { EmergencyVisitParameter } from '../model/emergency-visit-parameter';\r\n\r\nexport class EmergencyVisitMaster {\r\n emergencyVisitId: number;\r\n visitName: string;\r\n description: string;\r\n level: Entity;\r\n role: string;\r\n gradeGroupIds: string;\r\n gradeGroups: GradeGroups[];\r\n rangeFrom: number;\r\n rangeTo: number;\r\n startDate: any;\r\n endDate: any;\r\n visitAreaList: EmergencyVisitArea[];\r\n parameterList: EmergencyVisitParameter[];\r\n createdBy: User;\r\n createdOn: Date;\r\n updatedBy: User;\r\n updatedOn: Date;\r\n isActive:boolean;\r\n status:Entity;\r\n}\r\n","import { Type } from \"@angular/core\";\r\nimport { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { Entity } from \"../../baseline/model/entity.model\";\r\nimport { Parameter } from \"./parameter\";\r\nimport { SectionType } from \"./section-type\";\r\n\r\nexport class SectionMaster {\r\n vsectionid: number;\r\n name: string;\r\n description: string;\r\n purposeId: Entity;\r\n status: boolean;\r\n parameterList: Parameter[];\r\n createdby: number;\r\n createdon: Date;\r\n updatedby: number;\r\n updatedon: Date;\r\n orderNumber: number;\r\n isactive:boolean;\r\n vvisittypemaster: SectionType;\r\n}\r\n","export class SectionType {\r\n vvisittypemasterid:number;\r\n}\r\n","import { SectionMaster } from \"./section-master\";\r\nimport { VisitTypeMaster } from \"./visit-type-master\";\r\nimport { DomainMaster } from \"./domain-master\";\r\n\r\nexport class SubSectionMaster {\r\n vsubsectionid: number;\r\n createdby: number;\r\n createdon: Date;\r\n description: string;\r\n isactive: boolean;\r\n name: string;\r\n updatedby: number;\r\n updatedon: Date;\r\n vsectionmaster: SectionMaster;\r\n vvisittypemaster : VisitTypeMaster;\r\n isenabledomain:boolean;\r\n domainMasters: DomainMaster[];;\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EmergencyVisitService {\r\n\r\n constructor(private url: UrlFormationService, private http: HttpClient) { }\r\n\r\n getEmergencyVisit(): Observable {\r\n return this.http.get(this.url.getEmergencyVisit());\r\n }\r\n\r\n saveEmergencyVisit(emergencyVisit:any):Observable{\r\n return this.http.post(this.url.saveEmergencyVisit(), emergencyVisit);\r\n }\r\n\r\n saveEmergencyVisitArea(emergencyVisitArea:any):Observable{\r\n return this.http.post(this.url.saveEmergencyVisitArea(), emergencyVisitArea);\r\n }\r\n\r\n getEmergencyVisitById(id:any): Observable {\r\n return this.http.get(this.url.getEmergencyVisitById()+\"/\"+id);\r\n }\r\n\r\n fetchBystate(): Observable {\r\n return this.http.get(this.url.fetchBystate());\r\n }\r\n\r\n deleteEmergencyVisitById(id:any):Observable{\r\n return this.http.delete(this.url.deleteEmergencyVisitById()+\"/\"+id);\r\n }\r\n\r\n deleteEmergencyVisitAArea(id:any):Observable{\r\n return this.http.delete(this.url.deleteEmergencyVisitAArea()+\"/\"+id);\r\n }\r\n\r\n deleteEmergencyVisitParameter(id:any):Observable{\r\n return this.http.delete(this.url.deleteEmergencyVisitParameter()+\"/\"+id);\r\n }\r\n\r\n saveEmergencyVisitParameter(data:any):Observable{\r\n return this.http.post(this.url.saveEmergencyVisitParameter(), data);\r\n }\r\n\r\n saveEmergencyVisitStatus(id, status):Observable{\r\n return this.http.post(this.url.saveEmergencyVisitStatus()+\"/\"+id, status);\r\n }\r\n\r\n getEmergencyVisitByAssessmentId(id:any): Observable {\r\n return this.http.get(this.url.getEmergencyVisitByAssessmentId()+\"/\"+id);\r\n }\r\n\r\n getEmergencyVisitByRoleId(roleID:any):Observable{\r\n return this.http.get(this.url.getEmergencyVisitByRoleId()+\"/\"+roleID);\r\n }\r\n\r\n saveEmergencyVisitSchedule(emergencyVisit):Observable{\r\n return this.http.post(this.url.saveEmergencyVisitSchedule(), emergencyVisit);\r\n }\r\n\r\n getEmergencyVisitSchool(emergencyVisitId):Observable{\r\n return this.http.get(this.url.getEmergencyVisitSchool()+\"/\"+emergencyVisitId);\r\n }\r\n\r\n deleteEmergencySchedule(scheduleId):Observable{\r\n return this.http.delete(this.url.deleteEmergencySchedule()+\"/\"+scheduleId);\r\n }\r\n\r\n getEmerencyVisitUserArea(emergencyVisitId,data):Observable{\r\n return this.http.post(this.url.getEmerencyVisitUserArea()+\"/\"+emergencyVisitId,data);\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MentoringReportcardService {\r\n\r\n constructor(private url: UrlFormationService, private http: HttpClient) { }\r\n\r\n\r\n addUpdateMentoringDomains(mentoringDomainList): Observable {\r\n return this.http.post(this.url.addUpdateMentoringDomains(), mentoringDomainList);\r\n }\r\n\r\n getAllDomains(): Observable {\r\n return this.http.get(this.url.getAllDomains());\r\n }\r\n\r\n getMentoringDomainBySection(sectionId: number): Observable {\r\n return this.http.get(this.url.getMentoringDomainBySection() + sectionId);\r\n }\r\n\r\n getAllMentoringCompetencyMaster(): Observable {\r\n return this.http.get(this.url.getAllMentoringCompetencyMaster());\r\n }\r\n\r\n addUpdateMentoringCompetencyMaster(competencyMaster: object): Observable {\r\n return this.http.post(this.url.addUpdateMentoringCompetencyMaster(), competencyMaster);\r\n }\r\n\r\n getCompetencyByDomaind(domainId: number): Observable {\r\n return this.http.get(this.url.getCompetencyByDomaind() + \"/\" + domainId);\r\n }\r\n\r\n getParameterBySubSection(subsectionId: number, competencyId: number): Observable {\r\n return this.http.get(this.url.getParameterBySubSection() + \"/\" + subsectionId + \"/\" + competencyId);\r\n }\r\n\r\n addUpdateParameterCompetency(competencyParameterTransactionList: any): Observable {\r\n return this.http.post(this.url.addUpdateParameterCompetency(), competencyParameterTransactionList);\r\n }\r\n\r\n updateMentoringDomainStatus(domainId: number, status: boolean): Observable {\r\n return this.http.get(this.url.updateMentoringDomainStatus() + domainId + \"/\" + status);\r\n }\r\n\r\n updateMentoringCompetencyMasterStatus(competencyId: number, status: boolean): Observable {\r\n return this.http.get(this.url.updateMentoringCompetencyMasterStatus() + competencyId + \"/\" + status);\r\n }\r\n\r\n saveMentoringDomainOrder(mentoringDomainDTO: any[]): Observable {\r\n return this.http.post(this.url.saveMentoringDomainOrder(), mentoringDomainDTO);\r\n }\r\n\r\n saveMentoringCompetencyOrder(mentoringCompetencyDTO: any[]): Observable {\r\n return this.http.post(this.url.saveMentoringCompetencyOrder(), mentoringCompetencyDTO);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ParameterService {\r\n\r\n constructor(private url: UrlFormationService, private http: HttpClient) { }\r\n\r\n\r\n getGradeGroup(): Observable {\r\n return this.http.get(this.url.getGradeGroup());\r\n }\r\n\r\n getQuarter(): Observable {\r\n return this.http.get(this.url.getQuarter());\r\n }\r\n\r\n getTypes(): Observable {\r\n return this.http.get(this.url.getTypes());\r\n }\r\n\r\n getDomain(subSectionId): Observable {\r\n return this.http.get(this.url.getDomain() + \"/\" + subSectionId);\r\n }\r\n\r\n getAllRoles(): Observable {\r\n return this.http.get(this.url.fetchAllRole());\r\n }\r\n\r\n saveParameter(parameter: any): Observable {\r\n return this.http.post(this.url.saveParameter(), parameter);\r\n }\r\n\r\n saveParameterOrder(orderList: any): Observable {\r\n return this.http.post(this.url.saveParameterOrder(), orderList);\r\n }\r\n\r\n changeParameterStatus(parameterId: number, status: any): Observable {\r\n return this.http.get(this.url.changeParameterStatus() + parameterId + \"/\" + status)\r\n }\r\n\r\n deleteParameterById(id: any): Observable {\r\n return this.http.delete(this.url.deleteParameter().concat(id));\r\n }\r\n\r\n getAllWeekRanges(): Observable {\r\n return this.http.get(this.url.fetchAllWeekRange());\r\n }\r\n\r\n\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RegularVisitService {\r\n\r\n constructor(private url: UrlFormationService, private http: HttpClient) { }\r\n\r\n saveRegularVisit(parameter:any):Observable{\r\n return this.http.post(this.url.postRegularVisit(), parameter);\r\n }\r\n\r\n getScheduledVisits(monthNum:any):Observable{\r\n return this.http.get(this.url.getScheduledVisits()+monthNum);\r\n }\r\n\r\n getRegularVisit():Observable{\r\n return this.http.get(this.url.getRegularVisit());\r\n }\r\n\r\n deleteRegularVisit(id:any):Observable{\r\n return this.http.delete(this.url.deleteRegularVisit()+\"/\"+id);\r\n }\r\n\r\n GetTodayDate():Observable{\r\n return this.http.get(this.url.getTodayDate());\r\n }\r\n\r\n getAllSchoolData(roleId,empCode):Observable{\r\n return this.http.get(this.url.getAllSchoolData() + \"/\"+ empCode +\"/\"+ roleId );\r\n }\r\n\r\n getTargetAndCompleted(roleId:any, empCode:any) :Observable{\r\n return this.http.get(this.url.getTargetAndCompleted()+\"/\"+roleId +\"/\"+empCode);\r\n }\r\n\r\n deleteRegularVisitSelfAllocation(id):Observable{\r\n return this.http.delete(this.url.deleteScheduledVisit()+\"/\"+id);\r\n }\r\n\r\n getDivisionData(): Observable {\r\n return this.http.get(this.url.fetchAllDivision());\r\n }\r\n\r\n getDistrictData(id): Observable {\r\n return this.http.get(this.url.fetchDistrictByDivId().concat(id));\r\n }\r\n\r\n getBlockData(id): Observable {\r\n return this.http.get(this.url.fetchBlockById().concat(id));\r\n } \r\n\r\n getClusterData(id): Observable {\r\n return this.http.get(this.url.fetchClusterById().concat(id));\r\n }\r\n\r\n getSchoolData(id,roleId): Observable {\r\n return this.http.get(this.url.fetchNonAllocatedSchool().concat(id)+ \"/\" + roleId);\r\n }\r\n\r\n regularvisitschedule(data):Observable{\r\n return this.http.post(this.url.regularvisitschedule(), data);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, ReplaySubject, Subject } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SectionsService {\r\n domainDataForObservation = new BehaviorSubject([]);\r\n\r\n constructor(private url: UrlFormationService, private http: HttpClient) { }\r\n\r\n setDomainDataForObservation(param: any) {\r\n this.domainDataForObservation.next(param);\r\n }\r\n\r\n getDomainDataForObservation() {\r\n return this.domainDataForObservation.asObservable();\r\n }\r\n\r\n getSubSectionList(): Observable {\r\n return this.http.get(this.url.getSubSectionList());\r\n }\r\n\r\n getSectionList(): Observable {\r\n return this.http.get(this.url.getSectionList());\r\n }\r\n\r\n saveSectionList(section: any): Observable {\r\n return this.http.post(this.url.saveSectionMaster(), section);\r\n }\r\n\r\n deleteSection(section: any): Observable {\r\n return this.http.delete(this.url.deleteSectionMaster().concat(section));\r\n }\r\n\r\n getAllParameter(): Observable {\r\n return this.http.get(this.url.getAllParameter());\r\n }\r\n\r\n getSectionById(id: any): Observable {\r\n return this.http.get(this.url.getSectionById() + \"/\" + id);\r\n }\r\n\r\n getScoringWeightage(): Observable {\r\n return this.http.get(this.url.getScoringWeightage());\r\n }\r\n\r\n saveScoringWeightage(weightage: any): Observable {\r\n return this.http.post(this.url.saveScoringWeightage(), weightage);\r\n }\r\n\r\n saveSubsection(subsection): Observable {\r\n return this.http.post(this.url.saveSubSection(), subsection);\r\n }\r\n\r\n getParameterBySubSectionId(subSectionId): Observable {\r\n return this.http.get(this.url.getParameterBySubSectionId() + \"/\" + subSectionId);\r\n }\r\n\r\n getSubSectionBySectionId(id, schoolAllocationId): Observable {\r\n return this.http.get(this.url.getSubSectionBySectionId() + \"/\" + id + \"/\" + schoolAllocationId);\r\n }\r\n\r\n getSubSectionBySectionIDonly(id): Observable {\r\n return this.http.get(this.url.getSubSectionBySectionIDonly() + \"/\" + id);\r\n }\r\n\r\n getSubSectionBySection(id): Observable {\r\n return this.http.get(this.url.getSubSectionBySectionId() + \"/\" + id);\r\n }\r\n\r\n getAddUpdateClassRoomObservation(data): Observable {\r\n return this.http.post(this.url.getAddUpdateClassRoomObservation(), data);\r\n }\r\n\r\n saveClassRoomObservationActivity(data): Observable {\r\n return this.http.post(this.url.saveClassRoomObservationActivity(), data);\r\n }\r\n\r\n getDomainParameters(domainId, classroomobservationid): Observable {\r\n return this.http.get(this.url.getDomainParameters() + \"/\" + domainId + \"/\" + classroomobservationid);\r\n }\r\n\r\n getSubjectByClass(id) {\r\n return this.http.get(this.url.getSubjectByClass() + \"/\" + id);\r\n }\r\n\r\n getLObyClassSubject(classId, subjectId) {\r\n return this.http.get(this.url.getLObyClassSubject() + \"/\" + classId + \"/\" + subjectId);\r\n }\r\n\r\n saveSpotAssessment(data): Observable {\r\n return this.http.post(this.url.saveSpotAssessment(), data);\r\n }\r\n\r\n saveSpotAssessmentInfo(data): Observable {\r\n return this.http.post(this.url.saveSpotAssessmentInfo(), data);\r\n }\r\n\r\n getStudentList(udiseCode, classId, subjectId, spotassessId) {\r\n return this.http.get(this.url.getStudentList() + \"/\" + udiseCode + \"/\" + classId + \"/\" + subjectId + \"/\" + spotassessId);\r\n }\r\n\r\n getCompletedSubjectsList(spotAssessmentId): Observable {\r\n return this.http.get(this.url.getCompletedSubjectsList() + \"/\" + spotAssessmentId);\r\n }\r\n\r\n getclassMasterList(): Observable {\r\n return this.http.get(this.url.getclassMasterList());\r\n }\r\n\r\n getPrefilledClass(SchoolAllocationId): Observable {\r\n return this.http.get(this.url.getPrefilledClass() + \"/\" + SchoolAllocationId);\r\n }\r\n\r\n saveClassmaster(data): Observable {\r\n return this.http.post(this.url.saveClassmaster(), data);\r\n }\r\n\r\n deleteDescriptionClassMaster(id): Observable {\r\n return this.http.delete(this.url.deleteDescriptionClassMaster() + \"/\" + id);\r\n }\r\n\r\n getEmpByEmpCode(empCode): Observable {\r\n return this.http.get(this.url.getEmpByEmpCode() + '/' + empCode);\r\n }\r\n\r\n addUpdateClassRoomObservationResponse(data): Observable {\r\n return this.http.post(this.url.addUpdateClassRoomObservationResponse(), data);\r\n }\r\n\r\n getDomainbySubsectionClassroomObservation(subsectionid, classRoomObservationId): Observable {\r\n return this.http.get(this.url.getDomainbySubsectionClassroomObservation() + '/' + subsectionid + '/' + classRoomObservationId);\r\n }\r\n\r\n deleteSubSection(subSectionId): Observable {\r\n return this.http.delete(this.url.deleteSubSection().concat(subSectionId));\r\n }\r\n\r\n\r\n getAllMentoringWeightageFeedback(): Observable {\r\n return this.http.get(this.url.getMentoringWeightageFeedback());\r\n }\r\n\r\n saveMentoringWeigtageFeedback(mentoringWeightageFeedback: any[]): Observable {\r\n return this.http.post(this.url.saveMentoringWeigtageFeedback(), mentoringWeightageFeedback);\r\n }\r\n\r\n\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SpotAssessmentService {\r\n\r\n constructor(private url: UrlFormationService, private http: HttpClient) { }\r\n\r\n getAllSpotAssessment(): Observable {\r\n return this.http.get(this.url.getAllSpotAssessment());\r\n }\r\n\r\n saveEmergencyVisit(emergencyVisit: any): Observable {\r\n return this.http.post(this.url.saveEmergencyVisit(), emergencyVisit);\r\n }\r\n\r\n getSpotAssmtSchoolDataByUdiseCode(userId, roleId, udiseCode): Observable {\r\n return this.http.get(this.url.getSpotAssmtSchoolDataByUdiseCode() + \"/\" + userId + \"/\" + roleId + \"/\" + udiseCode);\r\n }\r\n\r\n getSubjectList(classId): Observable {\r\n return this.http.get(this.url.getSubjectList() + \"/\" + classId);\r\n }\r\n getLOList(classId, subjectId): Observable {\r\n return this.http.get(this.url.getLOList() + \"/\" + classId + \"/\" + subjectId);\r\n }\r\n\r\n saveSpotAssessment(data: any): Observable {\r\n return this.http.post(this.url.saveSpotAssessment(), data);\r\n }\r\n\r\n getStudents(UDISEcode, classId, subject, lOId): Observable {\r\n return this.http.get(this.url.getStudents() + \"/\" + UDISEcode + \"/\" + classId + \"/\" + subject + \"/\" + lOId);\r\n }\r\n\r\n getRandomQuestions(subjectId, classId, loId): Observable {\r\n return this.http.get(this.url.getRandomQuestions() + \"/\" + subjectId + \"/\" + classId + \"/\" + loId);\r\n }\r\n\r\n saveTestResponse(response: any): Observable {\r\n return this.http.post(this.url.saveTestResponse(), response);\r\n }\r\n\r\n getQuestions(classId, subjectId, WeekRangeId): Observable {\r\n return this.http.get(this.url.getRandomQuestions() + \"/\" + classId + \"/\" + subjectId + \"/\" + WeekRangeId);\r\n }\r\n\r\n saveStudentResponse(response: any): Observable {\r\n return this.http.post(this.url.saveStudentResponse(), response);\r\n }\r\n\r\n getWeekRange(): Observable {\r\n return this.http.get(this.url.getWeekRange());\r\n }\r\n\r\n getDomainList(classId: any, subjectid: any, weekid?: any): Observable {\r\n if (weekid && weekid != null && weekid != undefined) {\r\n return this.http.get(this.url.getDomainList() + \"/\" + classId + \"/\" + subjectid + \"/\" + weekid);\r\n } else {\r\n return this.http.get(this.url.getDomainList() + \"/\" + classId + \"/\" + subjectid);\r\n }\r\n\r\n }\r\n\r\n getQuestionData(classId, subjectid, weekrangeid, domainid, competancyid): Observable {\r\n return this.http.get(this.url.getQuestionData() + \"/\" + classId + \"/\" + subjectid + \"/\" + weekrangeid + \"/\" + domainid + \"/\" + competancyid);\r\n }\r\n\r\n deleteSpotAssessmentQuestionImage(questionId: number): Observable {\r\n return this.http.delete(this.url.deleteSpotAssessmentQuestionImage() + \"/\" + questionId);\r\n }\r\n\r\n\r\n addUpdateSpotQuestions(response: any): Observable {\r\n return this.http.post(this.url.addUpdateSpotQuestions(), response);\r\n }\r\n\r\n updateSpotQuestionStatus(questionId: number, status: string): Observable {\r\n return this.http.get(this.url.spotAssessDeleteQuestion() + \"/\" + questionId + \"/\" + status);\r\n }\r\n\r\n downloadQuestionImage(fileName: string | undefined): Observable {\r\n return this.http.get(this.url.downloadQuestionImage(fileName), {\r\n responseType: 'blob'\r\n });\r\n }\r\n\r\n previewDocument(fileName: string) {\r\n let params = new HttpParams();\r\n params = params.set('fileName', fileName);\r\n return this.http.get(this.url.downloadQuestionImage(fileName),\r\n { params, responseType: 'arraybuffer', observe: 'response' });\r\n }\r\n\r\n getSpotSubjects(): Observable {\r\n return this.http.get(this.url.getAllSpotSubjectsData());\r\n }\r\n\r\n getSpotSubjectsByID(subjectId: any): Observable {\r\n return this.http.get(this.url.getSpotSubjectsByID() + subjectId);\r\n }\r\n\r\n addUpdateSpotSubject(response: any): Observable {\r\n return this.http.post(this.url.addUpdateSpotSubject(), response);\r\n }\r\n\r\n updateSubjectStatus(subjectId: any, status: any): Observable {\r\n return this.http.get(this.url.updateSubjectStatus() + subjectId + \"/\" + status);\r\n }\r\n\r\n getDomainsSpot(): Observable {\r\n return this.http.get(this.url.getDomainsSpot());\r\n }\r\n\r\n updateDomainStatus(domainId: any, status: any): Observable {\r\n return this.http.get(this.url.updateDomainStatus() + domainId + \"/\" + status);\r\n }\r\n\r\n updateCompentencyStatus(competancyid: any, status: any): Observable {\r\n return this.http.get(this.url.updateCompentencyStatus() + competancyid + \"/\" + status);\r\n }\r\n\r\n spotDomainGetAllClasses(): Observable {\r\n return this.http.get(this.url.spotDomainGetAllClasses());\r\n }\r\n\r\n addUpdateSPotDomain(response: any): Observable {\r\n return this.http.post(this.url.addUpdateSPotDomain(), response);\r\n }\r\n\r\n addUpdateCompetency(response: any): Observable {\r\n return this.http.post(this.url.addUpdateCompetency(), response);\r\n }\r\n\r\n getAllCompetencies(): Observable {\r\n return this.http.get(this.url.getAllCompetencies());\r\n }\r\n\r\n getCompentencyById(competencyId: any): Observable {\r\n return this.http.get(this.url.getCompentencyById() + competencyId);\r\n }\r\n\r\n getDomainByIdSpot(domainId: any): Observable {\r\n return this.http.get(this.url.getDomainByIdSpot() + domainId);\r\n }\r\n\r\n getDomainBySubject(subjectId: any): Observable {\r\n return this.http.get(this.url.getDomainBySubject() + subjectId);\r\n }\r\n\r\n getAllClasses(): Observable {\r\n return this.http.get(this.url.getAllClasses());\r\n }\r\n\r\n getAllSubjects(): Observable {\r\n return this.http.get(this.url.getAllSpotSubjectsData());\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PmuMeetingService {\r\n\r\n constructor(private http: HttpClient, private url: UrlFormationService) { }\r\n\r\n getAllMeetings(areaList: any): Observable {\r\n return this.http.post(this.url.getAllMeetings(), areaList);\r\n }\r\n\r\n deleteMeetingByMeetingId(id: any): Observable {\r\n return this.http.delete(this.url.deleteMeetingByMeetingId() + id);\r\n }\r\n\r\n getMeetingDetailsQuestionByString(str: any): Observable {\r\n return this.http.get(this.url.getMeetingDetailsQuestionByString() + str);\r\n }\r\n\r\n getRolesHardCodedByEntityMaster(str: any): Observable {\r\n return this.http.get(this.url.getRolesHardCodedByEntityMaster() + str);\r\n }\r\n\r\n saveMeetingDetails(meetingDetails: any): Observable {\r\n return this.http.post(this.url.saveMeetingDetails(), meetingDetails);\r\n }\r\n\r\n getStateLevelAgendaAndRoleArea(roleId: any, areaId: any, meetingId: any): Observable {\r\n return this.http.get(this.url.getStateLevelAgendaAndRoleArea() + roleId + \"/\" + areaId + '/' + meetingId);\r\n }\r\n\r\n saveAgendaForMeeting(agenda: any): Observable {\r\n return this.http.post(this.url.saveAgendaForMeeting(), agenda);\r\n }\r\n\r\n getItemsByMeetingIdAndAgendaId(meetingId: any, agendaId: any): Observable {\r\n return this.http.get(this.url.getItemsByMeetingIdAndAgendaId() + meetingId + \"/\" + agendaId);\r\n }\r\n\r\n saveMOMData(momData: any): Observable {\r\n return this.http.post(this.url.saveMOMData(), momData);\r\n }\r\n\r\n downLoadImageMeetingDetail(fileName: any): Observable {\r\n return this.http.get(this.url.downLoadImageMeetingDetail() + fileName, { responseType: 'blob' });\r\n }\r\n\r\n deleteImageMeetingDetail(imageId: any): Observable {\r\n return this.http.delete(this.url.deleteImageMeetingDetail() + imageId);\r\n }\r\n\r\n finalSubmitMOM(meetingId: any): Observable {\r\n return this.http.get(this.url.finalSubmitMOM() + meetingId);\r\n }\r\n\r\n getLastActionItem(agendaId: any, roleId: any, areaId: any): Observable {\r\n return this.http.get(this.url.getLastActionItem() + agendaId + \"/\" + roleId + \"/\" + areaId);\r\n }\r\n\r\n empSearch(empCode: any): Observable {\r\n return this.http.get(this.url.empSearch() + empCode);\r\n }\r\n\r\n deleteMOM(momId: any): Observable {\r\n return this.http.delete(this.url.deleteMOM() + momId);\r\n }\r\n\r\n getMeetingDetailReport(monthName, year, levelId?): Observable {\r\n return this.http.post(this.url.getMeetingDetailReport() + monthName + \"/\" + year + \"/\" + levelId, null);\r\n }\r\n\r\n getMeetingDetailReportByMeetingId(meetingId): Observable {\r\n return this.http.get(this.url.getMeetingDetailReportByMeetingId() + meetingId);\r\n }\r\n\r\n getAllEnumerator(data): Observable {\r\n return this.http.post(this.url.getAllEnumerator(), data);\r\n }\r\n\r\n getFIForAllocation(data): Observable {\r\n return this.http.post(this.url.getFIForAllocation(), data);\r\n }\r\n\r\n getMeetingDetailReportMeetingDetailAndMOM(meetingId): Observable {\r\n return this.http.get(this.url.getMeetingDetailReportMeetingDetailAndMOM() + meetingId);\r\n }\r\n\r\n getBaselineReport(loggedInLevel, data): Observable {\r\n return this.http.post(this.url.getBaselineReport() + loggedInLevel, data);\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ShaikshikSamwadService {\n\n constructor(private http: HttpClient, private url: UrlFormationService) { }\n\n getDietOrientationData(levelId, areaId): Observable {\n return this.http.get(this.url.getDietOrientationData() + levelId + \"/\" + areaId);\n }\n\n saveUpdateOrientationMaster(orientation: any): Observable {\n return this.http.post(this.url.saveUpdateOrientationMaster(), orientation);\n }\n\n getOrientationDataById(orientationId): Observable {\n return this.http.get(this.url.getOrientationDataById() + orientationId);\n }\n\n generateOrientationQRCode(orientationId): Observable {\n return this.http.get(this.url.generateOrientationQRCode() + orientationId, { responseType: 'blob' });\n }\n\n registerTraineeForOrientation(trainee: any): Observable {\n return this.http.post(this.url.registerTraineeForOrientation(), trainee);\n }\n\n getRegisteredTrainee(orientationId: number): Observable {\n return this.http.get(this.url.getRegisteredTrainee() + orientationId);\n }\n\n deleteRegisteredTrainee(registrationId: number): Observable {\n return this.http.delete(this.url.deleteRegisteredTrainee() + registrationId);\n }\n\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-confirmation-dialog',\r\n templateUrl: './confirmation-dialog.component.html',\r\n styleUrls: ['./confirmation-dialog.component.scss']\r\n})\r\nexport class ConfirmationDialogComponent implements OnInit {\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() btnOkText: string;\r\n @Input() btnCancelText: string;\r\n isCancelVisible = false\r\n constructor(private activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n if(this.title===''){\r\n this.isCancelVisible = true;\r\n }\r\n let a = this.btnCancelText;\r\n }\r\n public decline() {\r\n this.activeModal.close(false);\r\n }\r\n\r\n public accept() {\r\n this.activeModal.close(true);\r\n }\r\n\r\n public dismiss() {\r\n this.activeModal.dismiss();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n

{{ title }}

\r\n \r\n
\r\n
\r\n {{ message }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-dialogue',\r\n templateUrl: './dialogue.component.html',\r\n styleUrls: ['./dialogue.component.scss']\r\n})\r\nexport class DialogueComponent implements OnInit {\r\n\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() btnOkText: string;\r\n @Input() btnCancelText: string;\r\n constructor(private activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n public decline() {\r\n this.activeModal.close(false);\r\n }\r\n\r\n public accept() {\r\n this.activeModal.close(true);\r\n }\r\n\r\n public dismiss() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n {{ message }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AgGridService {\r\n\r\n constructor(private _commonUtilService: CommonUtilService) { }\r\n\r\n createColumnDefss(columnConfigs: any[]): any[] {\r\n const columnDefs = [];\r\n\r\n for (const config of columnConfigs) {\r\n let header: any = {\r\n headerName: config.label,\r\n field: config.key,\r\n width: config.width || 200, // Default width if not provided\r\n sortable: config.sortable || false,\r\n filter: config.filter || false,\r\n suppressMovable: true, // Default behavior for ag-Grid columns,\r\n rowDrag: config.rowDrag || false,\r\n autoHeight: config.autoHeight || false,\r\n wrapText: config.wrapText || false\r\n };\r\n\r\n // Apply cellStyle if provided in config\r\n if (config.cellStyle) {\r\n header.cellStyle = config.cellStyle;\r\n }\r\n\r\n if (config.cellRenderer) {\r\n header.cellRenderer = config.cellRenderer;\r\n if (config.cellRendererParams) {\r\n header.cellRendererParams = config.cellRendererParams;\r\n }\r\n }\r\n\r\n columnDefs.push(header);\r\n }\r\n\r\n return columnDefs;\r\n }\r\n\r\n\r\n\r\n autoSizeColumns(gridOptions: any) {\r\n // Ensure grid options and column API are defined\r\n if (gridOptions && gridOptions.columnApi) {\r\n const allColumnIds = [];\r\n gridOptions.columnApi.getAllColumns().forEach(column => {\r\n allColumnIds.push(column.getColId());\r\n });\r\n gridOptions.columnApi.autoSizeColumns(allColumnIds, false);\r\n\r\n // Force the grid to recalculate row heights to accommodate wrapped text\r\n gridOptions.api.resetRowHeights();\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport { ClientSideStorageService } from './client-side-storage.service';\r\nimport { DataSharingService } from './data-sharing.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService implements CanActivate {\r\n data;\r\n finalRes = undefined;\r\n\r\n constructor(private clientStorage: ClientSideStorageService, private _loginService: LoginService,\r\n private router: Router, private datasharing: DataSharingService) {\r\n this.userAuthenticate();\r\n }\r\n\r\n\r\n userAuthenticate() {\r\n let data = this.clientStorage.get('user');\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n this.finalRes = undefined;\r\n const user = JSON.parse(this.clientStorage.get('user'));\r\n const userId = JSON.parse(this.clientStorage.get('userId'));\r\n const roleId = JSON.parse(this.clientStorage.get('roleId'));\r\n if (user && user.status === true) {\r\n let value = undefined;\r\n this.data = this.datasharing.getNavItems();\r\n let dataRes = this.data.source._value;\r\n if (dataRes === null && dataRes === undefined) {\r\n this._loginService.getNavigationMenu(userId, roleId).subscribe((data) => {\r\n if (data && data !== null) {\r\n dataRes = data.navigableMenu;\r\n }\r\n });\r\n }\r\n value = dataRes.find(i => state.url === i.url);\r\n if (value === undefined) {\r\n dataRes.forEach(element => {\r\n value = element.children.find(i => state.url === i.url);\r\n if (value !== undefined) {\r\n this.finalRes = value;\r\n } else if (value === undefined && this.finalRes === undefined){\r\n this.finalRes = undefined;\r\n }\r\n });\r\n if (this.finalRes === undefined) {\r\n dataRes.forEach(element => {\r\n if (element.children) {\r\n element.children.forEach(item => {\r\n if (item.children) {\r\n value = item.children.find(i => state.url === i.url);\r\n if (value !== undefined) {\r\n this.finalRes = value;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n } else {\r\n this.finalRes = value;\r\n }\r\n // check if route is restricted by role\r\n if (this.finalRes === undefined) {\r\n // role not authorised so redirect to home page\r\n this.router.navigate(['/']);\r\n return false;\r\n } else if (this.finalRes && this.finalRes.url === state.url) {\r\n return true;\r\n } else {\r\n this.router.navigate(['/401'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n // authorised so return true\r\n } else {\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClientSideStorageService {\r\n\r\n constructor() { }\r\n\r\n checkLocalStorageSupport(): boolean {\r\n if (typeof (Storage) !== \"undefined\") {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n get(key?: string): any {\r\n return localStorage.getItem(key);\r\n }\r\n set(key: string, value: any): void {\r\n localStorage.setItem(key, value);\r\n }\r\n\r\n delete(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n\r\n clear() {\r\n localStorage.clear();\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ConfirmationDialogComponent } from '../../shared/component/confirmation-dialog/confirmation-dialog.component';\r\nimport { DialogueComponent } from '../../shared/component/dialogue/dialogue.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfirmationDialogService {\r\n\r\n constructor(private modalService: NgbModal) { }\r\n public confirm(\r\n title: string,\r\n message: string,\r\n btnOkText: string = 'Yes',\r\n btnCancelText: string = 'No',\r\n dialogSize: 'sm'|'lg' = 'sm'): Promise {\r\n const modalRef = this.modalService.open(ConfirmationDialogComponent, { size: dialogSize });\r\n modalRef.componentInstance.title = title;\r\n modalRef.componentInstance.message = message;\r\n modalRef.componentInstance.btnOkText = btnOkText;\r\n modalRef.componentInstance.btnCancelText = btnCancelText;\r\n\r\n return modalRef.result;\r\n }\r\n\r\n\r\n public dialogueForIFSCAccNotRegistered(\r\n title: string,\r\n message: string,\r\n btnOkText: string = 'Proceed',\r\n isCancelVisible = false,\r\n //: string = 'No',\r\n dialogSize: 'sm'|'lg' = 'sm'): Promise {\r\n const modalRef = this.modalService.open(ConfirmationDialogComponent, { size: dialogSize });\r\n modalRef.componentInstance.title = title;\r\n modalRef.componentInstance.isCancelVisible = isCancelVisible;\r\n modalRef.componentInstance.message = message;\r\n modalRef.componentInstance.btnOkText = btnOkText;\r\n \r\n //modalRef.componentInstance.btnCancelText = btnCancelText;\r\n\r\n return modalRef.result;\r\n }\r\n\r\n public dialogBoxForObservation(\r\n title: string,\r\n message: string,\r\n btnOkText: string = 'Yes',\r\n btnCancelText: string = 'No',\r\n dialogSize: 'sm'|'lg' = 'sm'): Promise {\r\n const modalRef = this.modalService.open(DialogueComponent, { size: dialogSize });\r\n modalRef.componentInstance.title = title;\r\n modalRef.componentInstance.message = message;\r\n modalRef.componentInstance.btnOkText = btnOkText;\r\n modalRef.componentInstance.btnCancelText = btnCancelText;\r\n\r\n return modalRef.result;\r\n }\r\n\r\n public dialogBoxForSpotAssessmentOnlySubmit(\r\n title: string,\r\n message: string,\r\n btnOkText: string = 'Submit & Continue',\r\n btnCancelText: string = 'Cancel',\r\n dialogSize: 'sm'|'lg' = 'sm'): Promise {\r\n const modalRef = this.modalService.open(DialogueComponent, { size: dialogSize });\r\n modalRef.componentInstance.title = title;\r\n modalRef.componentInstance.message = message;\r\n modalRef.componentInstance.btnOkText = btnOkText;\r\n modalRef.componentInstance.btnCancelText = btnCancelText;\r\n\r\n return modalRef.result;\r\n }\r\n\r\n public dialogBoxForSpotAssessmentSubmit(\r\n title: string,\r\n message: string,\r\n btnOkText: string = 'Submit & Continue',\r\n btnCancelText: string = 'Complete',\r\n dialogSize: 'sm'|'lg' = 'sm'): Promise {\r\n const modalRef = this.modalService.open(DialogueComponent, { size: dialogSize });\r\n modalRef.componentInstance.title = title;\r\n modalRef.componentInstance.message = message;\r\n modalRef.componentInstance.btnOkText = btnOkText;\r\n modalRef.componentInstance.btnCancelText = btnCancelText;\r\n\r\n return modalRef.result;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SystemUser } from '../../../views/pages/model/system-user';\r\nimport { BehaviorSubject, Observable, ReplaySubject, Subject } from 'rxjs';\r\nimport { SessionStorageService } from 'ngx-webstorage';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UrlFormationService } from './url-formation.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DataSharingService {\r\n systemUserData: SystemUser;\r\n\r\n systemUser = new SystemUser();\r\n step = new BehaviorSubject([]);\r\n res1 = new BehaviorSubject([]);\r\n otp = new BehaviorSubject([]);\r\n data = new BehaviorSubject([]);\r\n schoolAllocationData = new BehaviorSubject([]);\r\n batchCode = new BehaviorSubject('');\r\n\r\n private globalEditData = new BehaviorSubject([]);\r\n private momEditData = new BehaviorSubject([]);\r\n private batch = new BehaviorSubject([]);\r\n private studentId = new BehaviorSubject([]);\r\n\r\n private spotAssessmentId = new BehaviorSubject([]);\r\n private systemUsers = new BehaviorSubject('');\r\n\r\n private loginFlag = new BehaviorSubject([]);\r\n\r\n private navigableMenu = new BehaviorSubject([]);\r\n\r\n private navigationMenuId = new BehaviorSubject([]);\r\n\r\n private navItems = new BehaviorSubject([]);\r\n\r\n private sectionName = new BehaviorSubject('');\r\n\r\n private sectionData = new BehaviorSubject([]);\r\n\r\n private parameterData = new BehaviorSubject([]);\r\n\r\n private reviewAssessmentData = new BehaviorSubject([]);\r\n\r\n private classMasterData = new BehaviorSubject([]);\r\n\r\n private traineeEnrollData = new BehaviorSubject([]);\r\n\r\n private routeToTraineeAsessmentPage = new BehaviorSubject([]);\r\n\r\n private routeToMeetingModuleReport = new BehaviorSubject('');\r\n constructor(\r\n private storageService: SessionStorageService,\r\n private http: HttpClient,\r\n private url: UrlFormationService,\r\n private datePipe: DatePipe,\r\n\r\n ) { }\r\n\r\n setSectionName(param: any) {\r\n this.sectionName.next(param);\r\n }\r\n\r\n getSectionName() {\r\n return this.sectionName.asObservable();\r\n }\r\n\r\n setRouteToMeetingModuleReport(param: any) {\r\n this.routeToMeetingModuleReport.next(param);\r\n }\r\n\r\n getRouteToMeetingModuleReport() {\r\n return this.routeToMeetingModuleReport.asObservable();\r\n }\r\n\r\n setSectionData(param: any) {\r\n this.sectionData.next(param);\r\n }\r\n\r\n\r\n setRouteToTraineeAsessmentPage(param: any) {\r\n this.routeToTraineeAsessmentPage.next(param);\r\n }\r\n\r\n getRouteToTraineeAsessmentPage() {\r\n return this.routeToTraineeAsessmentPage.asObservable();\r\n }\r\n\r\n getSectionData() {\r\n return this.sectionData.asObservable();\r\n }\r\n\r\n setClassMasterData(param: any) {\r\n this.classMasterData.next(param);\r\n }\r\n\r\n getClassMasterData() {\r\n return this.classMasterData.asObservable();\r\n }\r\n\r\n setschoolAllocationData(param: any) {\r\n this.schoolAllocationData.next(param);\r\n }\r\n\r\n getschoolAllocationData() {\r\n return this.schoolAllocationData.asObservable();\r\n }\r\n\r\n setParameterData(param: any) {\r\n this.parameterData.next(param);\r\n }\r\n\r\n getParameterData() {\r\n return this.parameterData.asObservable();\r\n }\r\n\r\n setStep(param: any) {\r\n this.otp.next(param);\r\n }\r\n\r\n getStep() {\r\n return this.otp.asObservable();\r\n }\r\n\r\n setBatchCode(param: any) {\r\n this.batchCode.next(param);\r\n }\r\n\r\n getBatchCode() {\r\n return this.batchCode.asObservable();\r\n }\r\n\r\n setNavItems(param: any) {\r\n this.navItems.next(param);\r\n }\r\n\r\n getNavItems() {\r\n return this.navItems.asObservable();\r\n }\r\n\r\n setNavigationMenuId(param: any) {\r\n this.navigableMenu.next(param);\r\n }\r\n\r\n getNavigationMenuId() {\r\n return this.navigableMenu.asObservable();\r\n }\r\n\r\n setGlobalEditData(param: any) {\r\n this.globalEditData.next(param);\r\n }\r\n\r\n getTraineeEnrollData() {\r\n return this.traineeEnrollData.asObservable();\r\n }\r\n\r\n setTraineeEnrollData(param: any) {\r\n this.traineeEnrollData.next(param);\r\n }\r\n\r\n getGlobalEditData() {\r\n return this.globalEditData.asObservable();\r\n }\r\n\r\n setMOMEditData(param: any) {\r\n this.momEditData.next(param);\r\n }\r\n\r\n getMOMEditData() {\r\n return this.momEditData.asObservable();\r\n }\r\n\r\n setBatchData(param: any) {\r\n this.batch.next(param);\r\n }\r\n\r\n getBatchData() {\r\n return this.batch.asObservable();\r\n }\r\n\r\n setOTP(param: any) {\r\n this.otp.next(param);\r\n }\r\n\r\n getOTP() {\r\n return this.otp.asObservable();\r\n }\r\n\r\n setSystemUser(systemUser: SystemUser) { }\r\n\r\n setMenuList(param: any): void {\r\n this.navigableMenu.next(param);\r\n }\r\n getMenuList(): Observable {\r\n return this.navigableMenu.asObservable();\r\n }\r\n setToken(token: String) {\r\n this.data.next(token);\r\n }\r\n getToken(): Observable {\r\n return this.data.asObservable();\r\n }\r\n\r\n getSystemUser(): Observable {\r\n return this.systemUsers.asObservable();\r\n }\r\n\r\n setLoginFlag(value) {\r\n this.loginFlag.next(value);\r\n }\r\n\r\n getLoginFlag(): Observable {\r\n return this.loginFlag.asObservable();\r\n }\r\n\r\n setNavPermissions(data: any) {\r\n this.res1 = data;\r\n }\r\n\r\n getNavPermission(): Observable {\r\n return this.res1.asObservable();\r\n }\r\n\r\n fetchEntityById(id: any): Observable {\r\n return this.http.get(this.url.fetchEntityById().concat(id));\r\n }\r\n\r\n setStudentId(param: any) {\r\n this.studentId.next(param);\r\n }\r\n\r\n getStudentId() {\r\n return this.studentId.asObservable();\r\n }\r\n\r\n setSpotAssessmentId(param: any) {\r\n this.spotAssessmentId.next(param);\r\n }\r\n\r\n getSpotAssessmentId() {\r\n return this.spotAssessmentId.asObservable();\r\n }\r\n\r\n setReviewAssessmentData(param: any) {\r\n this.reviewAssessmentData.next(param);\r\n }\r\n\r\n getReviewAssessmentData() {\r\n return this.reviewAssessmentData.asObservable();\r\n\r\n }\r\n\r\n datePipeFormat(date, format) {\r\n return this.datePipe.transform(date, format, 'UTC');\r\n }\r\n\r\n validateToken(token, userDetail) {\r\n return this.http.post(this.url.validateToken().concat(token), userDetail);\r\n }\r\n\r\n resetForm(form: any) {\r\n return form?.reset();\r\n }\r\n\r\n getFieldValue(form: any, field: string) {\r\n return form.controls[field].value;\r\n }\r\n\r\n assignZeroToNulls(res: any) {\r\n res?.data.forEach(data => {\r\n Object.keys(data).forEach(key => {\r\n if (data[key] == null) {\r\n data[key] = 0;\r\n }\r\n });\r\n });\r\n\r\n return res?.data;\r\n }\r\n\r\n\r\n\r\n processResponseData(response: any, levelId: number): any {\r\n if (response && response.data) {\r\n response.data.forEach((d) => {\r\n Object.keys(d).forEach(key => {\r\n if (d[key] == null) {\r\n d[key] = 0;\r\n }\r\n });\r\n // d.percentage = d?.percentage ?? 0;\r\n if (levelId == 40) {\r\n d.districtName = d?.areaName;\r\n } else if (levelId == 42) {\r\n d.blockName = d?.areaName;\r\n } else if (levelId == 43) {\r\n d.clusterName = d?.areaName;\r\n }\r\n });\r\n return response.data;\r\n }\r\n return [];\r\n }\r\n\r\n\r\n\r\n getAllMonths() {\r\n return [\r\n {\r\n index: 0,\r\n id: 1,\r\n name: 'January'\r\n }, {\r\n index: 1,\r\n id: 2,\r\n name: 'February'\r\n },\r\n {\r\n index: 2,\r\n id: 3,\r\n name: 'March'\r\n }, {\r\n index: 3,\r\n id: 4,\r\n name: 'April'\r\n }, {\r\n index: 4,\r\n id: 5,\r\n name: 'May'\r\n }, {\r\n index: 5,\r\n id: 6,\r\n name: 'June'\r\n }, {\r\n index: 6,\r\n id: 7,\r\n name: 'July'\r\n }, {\r\n index: 7,\r\n id: 8,\r\n name: 'August'\r\n }, {\r\n index: 8,\r\n id: 9,\r\n name: 'September'\r\n }, {\r\n index: 9,\r\n id: 10,\r\n name: 'October'\r\n }, {\r\n index: 10,\r\n id: 11,\r\n name: 'November'\r\n }, {\r\n index: 11,\r\n id: 12,\r\n name: 'December'\r\n }\r\n ]\r\n }\r\n\r\n validateAllFormFields(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) {\r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n\r\n searchFilterChange(groupFilter: string, rowData: any[]) {\r\n let searchedText = groupFilter.toLowerCase().trim();\r\n let filteredData = rowData.filter(data => {\r\n return Object.values(data).some(value => {\r\n return value != null && value.toString().toLowerCase().includes(searchedText);\r\n });\r\n });\r\n return filteredData;\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\nimport { constants } from '../static/constants';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UrlFormationService {\r\n\r\n\r\n constructor(private http: HttpClient) { }\r\n alignmentUrl: string = environment.alignmentUrl;\r\n appLoginUrl: string = environment.commonUrl;\r\n appJavaLoginUrl: string = environment.javaCommonUrl;\r\n // java : string = environment.java;\r\n authenticateUrl: string = environment.authUrl;\r\n\r\n\r\n\r\n getLoginUrl() {\r\n return `${this.appLoginUrl}/${constants.auth}`\r\n }\r\n\r\n saveUserRolePermission() {\r\n return `${this.appJavaLoginUrl}/${constants.saveRoleModulePermissiom}`;\r\n }\r\n\r\n fetchAllRole() {\r\n return `${this.appLoginUrl}/${constants.fetchAllRole}`;\r\n }\r\n fetchAllWeekRange() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllWeekRange}`;\r\n }\r\n\r\n fetchAllRoleType() {\r\n return `${this.appLoginUrl}/${constants.fetchAllRoleType}`;\r\n }\r\n\r\n fetchAllRolePermission() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchAllRolePermission}`;\r\n }\r\n\r\n testRoleExistence() {\r\n return `${this.appLoginUrl}/${constants.testRoleExistence}`;\r\n }\r\n\r\n fetchEmpByEmpCode() {\r\n return `${this.appLoginUrl}/${constants.fetchEmpDataByEmpCode}`;\r\n }\r\n\r\n fetchAllDivision() {\r\n return `${this.appLoginUrl}/${constants.fetchAllDivision}`;\r\n }\r\n\r\n fetchDistrictByDivId() {\r\n return `${this.appLoginUrl}/${constants.fetchDistrictById}`;\r\n }\r\n\r\n fetchDistrict() {\r\n return `${this.appLoginUrl}/${constants.fetchDistrict}`;\r\n }\r\n\r\n fetchBlockById() {\r\n return `${this.appLoginUrl}/${constants.fetchBlockById}`;\r\n }\r\n\r\n\r\n fetchBlock() {\r\n return `${this.appLoginUrl}/${constants.fetchBlock}`;\r\n }\r\n\r\n fetchCluster() {\r\n return `${this.appLoginUrl}/${constants.fetchCluster}`;\r\n }\r\n\r\n\r\n fetchClusterById() {\r\n return `${this.appLoginUrl}/${constants.fetchClusterById}`;\r\n }\r\n\r\n fetchSchoolById() {\r\n return `${this.appLoginUrl}/${constants.fetchSchoolById}`;\r\n }\r\n\r\n fetchNonAllocatedSchool() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchNonAllocatedSchool}`;\r\n }\r\n\r\n allschoolwiseparameterreportbyschoolandrole() {\r\n return `${this.appJavaLoginUrl}/${constants.allschoolwiseparameterreportbyschoolandrole}`;\r\n }\r\n\r\n regularvisitschedule() {\r\n return `${this.appJavaLoginUrl}/${constants.regularvisitschedule}`;\r\n }\r\n\r\n fetchNavByUserRoleId() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchNavByRoleUserId}`;\r\n }\r\n\r\n saveRoleAssosciation() {\r\n return `${this.appLoginUrl}/${constants.saveRoleAssosciation}`;\r\n }\r\n\r\n fetchNavigationMenu() {\r\n return `${this.appLoginUrl}/${constants.fetchNavigationMenu}`;\r\n }\r\n\r\n fetchjwtToken() {\r\n return `${this.appLoginUrl}/${constants.fetchjwtToken}`;\r\n }\r\n\r\n changeRoleStatus() {\r\n return `${this.appLoginUrl}/${constants.changeRoleStatus}`;\r\n }\r\n\r\n deleteUserRole() {\r\n return `${this.appLoginUrl}/${constants.deleteUserRole}`;\r\n }\r\n\r\n fetchEntityById() {\r\n return `${this.appLoginUrl}/${constants.fetchEntity}`;\r\n }\r\n\r\n\r\n fetchAllDistricts() {\r\n return `${this.appJavaLoginUrl}/${constants.allDistricts}`;\r\n }\r\n\r\n fetchAllBlocks() {\r\n return `${this.appJavaLoginUrl}/${constants.allBlocks}`;\r\n }\r\n\r\n fetchAllBanks() {\r\n return `${this.appLoginUrl}/${constants.allBanks}`;\r\n }\r\n\r\n fetchRolesPermissionByMenu() {\r\n return `${this.appLoginUrl}/${constants.fetchRolesPermissionByMenu}`;\r\n }\r\n\r\n saveRolesPermissionByMenu() {\r\n return `${this.appLoginUrl}/${constants.saveRolesPermissionByMenu}`;\r\n }\r\n\r\n fetchStateList() {\r\n return `${this.appLoginUrl}/${constants.fetchStateAll}`;\r\n }\r\n\r\n //java\r\n\r\n fetchGroupList() {\r\n return `${this.appJavaLoginUrl}/${constants.getGroupList}`;\r\n }\r\n\r\n saveGroup() {\r\n return `${this.appJavaLoginUrl}/${constants.postGroupList}`;\r\n }\r\n\r\n\r\n saveUpdateAssesment() {\r\n return `${this.appJavaLoginUrl}/${constants.saveUpdateAssesment}`;\r\n }\r\n\r\n getAssessment() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchAssessment}`;\r\n }\r\n\r\n saveUpdateEnumerator() {\r\n return `${this.appJavaLoginUrl}/${constants.saveUpdateEnumerator}`;\r\n }\r\n\r\n\r\n fetchAllEnumerators() {\r\n return `${this.appJavaLoginUrl}/${constants.allEnumerators}`;\r\n }\r\n\r\n verifyOtp() {\r\n return `${this.appJavaLoginUrl}/${constants.verifyOtp}`;\r\n }\r\n\r\n fetchEnumeratorById() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchEnumeratorById}`;\r\n }\r\n\r\n\r\n enumeratorVerification() {\r\n return `${this.appLoginUrl}/${constants.fetchEnumeratorVerification}`;\r\n }\r\n\r\n fetchAllIntitutionNames() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchAllIntitutionNames}`;\r\n }\r\n\r\n fetchInstitutionNameById() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchInstitutionNameById}`;\r\n }\r\n\r\n fetchBankBranchByIfsc() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchBankBranchByIfsc}`;\r\n }\r\n\r\n\r\n fetchInstitutionalDistricts() {\r\n return `${this.appLoginUrl}/${constants.fetchInstitutionalDistricts}`;\r\n }\r\n\r\n fetchAllDistrictsJava() {\r\n return `${this.appJavaLoginUrl}/${constants.allDistricts}`;\r\n }\r\n\r\n fetchAllAssessmentGroups() {\r\n return `${this.appJavaLoginUrl}/${constants.assessmentGroups}`;\r\n }\r\n\r\n fetchAssessmentByGroup() {\r\n return `${this.appJavaLoginUrl}/${constants.groupAssessment}`;\r\n }\r\n\r\n fetchRoleArea() {\r\n return `${this.appLoginUrl}/${constants.roleArea}`;\r\n }\r\n\r\n fetchSchoolByBlockId() {\r\n return `${this.appLoginUrl}/${constants.fetchSchoolByBlock}`;\r\n }\r\n\r\n fetchClustersByBlockId() {\r\n return `${this.appLoginUrl}/${constants.fetchClusterByBlock}`;\r\n }\r\n\r\n addUpdateAllocation() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateAllocation}`;\r\n }\r\n\r\n getAllAllocationList() {\r\n return `${this.appJavaLoginUrl}/${constants.allAllocation}`;\r\n }\r\n\r\n getAssessmentsByGroupId() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchAssessmentByGroupId}`;\r\n }\r\n\r\n getReport() {\r\n return `${this.appJavaLoginUrl}/${constants.report}`;\r\n }\r\n\r\n getAttendanceReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getAttendanceReport}`;\r\n }\r\n\r\n getAttendanceReportBatch() {\r\n return `${this.appJavaLoginUrl}/${constants.getReadinessReport}`;\r\n }\r\n\r\n getPrePostStatusReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getPrePostStatusReport}`;\r\n }\r\n\r\n getAttendanceStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.getAttendanceStatus}`;\r\n }\r\n\r\n getTrainingGroup() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchTrainingGroup}`;\r\n }\r\n\r\n getTrainingSubGroup() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchTrainingSubGroup}`;\r\n }\r\n\r\n saveTrainingGroup() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTrainingGroup}`;\r\n }\r\n\r\n saveTrainingSubGroup() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTrainingSubGroup}`;\r\n }\r\n\r\n fetchSubGroupByGroupId() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchSubGroupByGroupId}`;\r\n }\r\n\r\n fetchAllTrainingList() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchAllTrainingList}`;\r\n }\r\n fetchAllUserRespectiveTraining() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchAllUserRespectiveTraining}`;\r\n }\r\n\r\n saveTraining() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTraining}`;\r\n }\r\n\r\n saveUpdateQuiz() {\r\n return `${this.appJavaLoginUrl}/${constants.saevUpdateQuiz}`;\r\n }\r\n saveTrainingArea() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTrainingArea}`;\r\n }\r\n\r\n updateTrainingStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.updateTrainingStatus}`;\r\n }\r\n\r\n saveUpdateQuestion() {\r\n return `${this.appJavaLoginUrl}/${constants.saveUpdateQuestion}`;\r\n }\r\n\r\n saveTrainingMaterial() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTrainingMaterial}`;\r\n }\r\n\r\n fetchTrainingAreas() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchTrainingAreas}`;\r\n }\r\n\r\n deleteQuestion() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteQuestion}`;\r\n }\r\n\r\n getQuestions() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchQuestions}`;\r\n }\r\n\r\n getQuizData() {\r\n return `${this.appJavaLoginUrl}/${constants.getQuizData}`;\r\n }\r\n deleteArea() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteArea}`;\r\n }\r\n\r\n saveBatchInitiate() {\r\n return `${this.appJavaLoginUrl}/${constants.saveBatchInitiate}`;\r\n }\r\n\r\n fetchTrainingCheckList() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchTrainingCheckList}`;\r\n }\r\n\r\n fetchTrainingCheckListDropdown() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchTrainingCheckListDropdown}`;\r\n }\r\n\r\n fetchAllBatchInitiate() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllBatchInitiate}`;\r\n }\r\n\r\n fetchAllBatchInitiateById() {\r\n return `${this.appJavaLoginUrl}/${constants.getBatchInitiateById}`;\r\n }\r\n\r\n fetchAllBatch() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllBatch}`;\r\n }\r\n\r\n fetchBatchById() {\r\n return `${this.appJavaLoginUrl}/${constants.getBatchById}`;\r\n }\r\n\r\n saveBatch() {\r\n return `${this.appJavaLoginUrl}/${constants.saveBatch}`;\r\n }\r\n\r\n saveCoordinator() {\r\n return `${this.appJavaLoginUrl}/${constants.saveCoordinator}`;\r\n }\r\n\r\n saveTrainer() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTrainer}`;\r\n }\r\n\r\n saveCheckList() {\r\n return `${this.appJavaLoginUrl}/${constants.saveCheckList}`;\r\n }\r\n\r\n saveMonitoringQuestions() {\r\n return `${this.appJavaLoginUrl}/${constants.saveMonitoringQuestions}`;\r\n }\r\n\r\n getCoordinator() {\r\n return `${this.appJavaLoginUrl}/${constants.getCoordinator}`;\r\n }\r\n\r\n getBatches() {\r\n return `${this.appJavaLoginUrl}/${constants.getBatches}`;\r\n }\r\n\r\n saveTraineees() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTraineees}`;\r\n }\r\n\r\n getTrainingMaterial() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainingMaterial}`;\r\n }\r\n\r\n deleteTrainingMaterial() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteTrainingMaterial}`;\r\n }\r\n\r\n getTrainingByArea() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainingByArea}`;\r\n\r\n }\r\n\r\n getBatchInitiate() {\r\n return `${this.appJavaLoginUrl}/${constants.getBatchInitiate}`;\r\n }\r\n\r\n getTrainingBySubGroupId() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainingBySubGroupId}`;\r\n }\r\n\r\n fetchArea() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchArea}`;\r\n }\r\n\r\n getBatchesByTraining() {\r\n return `${this.appJavaLoginUrl}/${constants.getBatchesByTraining}`;\r\n }\r\n\r\n deleteSubGroup() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteSubGroup}`;\r\n }\r\n\r\n generateQRcode() {\r\n return `${this.appJavaLoginUrl}/${constants.generateQRcode}`;\r\n }\r\n\r\n getBatchInfo() {\r\n return `${this.appJavaLoginUrl}/${constants.generateQRcode}`;\r\n }\r\n getTrainersByBatchId() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainersByBatchId}`;\r\n }\r\n\r\n getAllTrainersByBatchId() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllTrainersByBatchId}`;\r\n }\r\n\r\n getTraineeAssessmentStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.getTraineeAssessmentStatusByBatchId}`;\r\n }\r\n\r\n getTrainerRatingByBatchId() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainerRatingByBatchId}`;\r\n }\r\n\r\n getTraineesByBatchId() {\r\n return `${this.appJavaLoginUrl}/${constants.getTraineesByBatchId}`;\r\n }\r\n\r\n getTrainersByBatch() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainerByBatch}`;\r\n }\r\n\r\n saveTraineeAttendance() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTraineeAttendance}`;\r\n }\r\n\r\n saveTrainerAttendance() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTrainerAttendance}`;\r\n }\r\n\r\n saveTrainerRating() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTrainerRating}`;\r\n }\r\n\r\n getTrainersByBatchForAttendance() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainersByBatchForAttendance}`;\r\n }\r\n\r\n getTrainersByBatchForRating() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainersByBatchForRating}`;\r\n }\r\n\r\n getTraineeAttendanceByBatchAndSession() {\r\n return `${this.appJavaLoginUrl}/${constants.getTraineeAttendanceByBatchAndSession}`;\r\n }\r\n\r\n getTrainerAttendanceByBatchAndSession() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainerAttendanceByBatchAndSession}`;\r\n }\r\n\r\n saveTrainerAttendanceVerification() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTrainerAttendanceVerification}`;\r\n }\r\n\r\n saveRating() {\r\n return `${this.appJavaLoginUrl}/${constants.saveRating}`;\r\n }\r\n\r\n QRcodeReader() {\r\n return `${this.appJavaLoginUrl}/${constants.qrCodeReader}`;\r\n }\r\n\r\n getMonitorQuestions() {\r\n return `${this.appJavaLoginUrl}/${constants.getMonitorQuestions}`;\r\n }\r\n getTrainingMonitorQuestions() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainingMonitorQuestions}`;\r\n }\r\n\r\n getMonitorQuestionsByTraining() {\r\n return `${this.appJavaLoginUrl}/${constants.monitorQuesByTraining}`;\r\n }\r\n\r\n getTraineeAttendaceListByBatchId() {\r\n return `${this.appJavaLoginUrl}/${constants.getTraineeAttendanceListByBatchId}`;\r\n }\r\n\r\n checkTraineeAttendaceListByBatchId() {\r\n return `${this.appJavaLoginUrl}/${constants.checkTraineeAttendance}`;\r\n }\r\n\r\n checkTrainerAttendaceListByBatchId() {\r\n return `${this.appJavaLoginUrl}/${constants.checkTrainerAttendance}`;\r\n }\r\n\r\n saveTraineeAttendanceVerification() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTraineeAttendanceVerification}`;\r\n }\r\n\r\n getTrainerAttendanceByBatchId() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainerAttendanceByBatchId}`;\r\n }\r\n\r\n saveRedFlag() {\r\n return `${this.appJavaLoginUrl}/${constants.saveRedFlag}`;\r\n }\r\n\r\n getRedFlag() {\r\n return `${this.appJavaLoginUrl}/${constants.getRedFlag}`;\r\n }\r\n\r\n saveMonitorQuesVerification() {\r\n return `${this.appJavaLoginUrl}/${constants.saveMonitorQuestionVerification}`;\r\n }\r\n\r\n getAllTrainingAssessment() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllTrainingAssessment}`;\r\n }\r\n\r\n saveTrainingAssessment() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTrainingAssessment}`;\r\n }\r\n\r\n saveMonitorComments() {\r\n return `${this.appJavaLoginUrl}/${constants.saveMonitorComments}`;\r\n }\r\n\r\n saveMonitorPhotos() {\r\n return `${this.appJavaLoginUrl}/${constants.saveMonitorPhotos}`;\r\n }\r\n getTraineeByEmpCode() {\r\n return `${this.appJavaLoginUrl}/${constants.getTraineeByEmpCode}`;\r\n }\r\n\r\n getAllParameter() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllParameter}`;\r\n }\r\n\r\n getSubSectionList() {\r\n return `${this.appJavaLoginUrl}/${constants.getSubSectionList}`;\r\n }\r\n\r\n getSectionList() {\r\n return `${this.appJavaLoginUrl}/${constants.getSectionList}`;\r\n }\r\n\r\n saveSectionMaster() {\r\n return `${this.appJavaLoginUrl}/${constants.saveSectionMaster}`;\r\n }\r\n\r\n deleteSectionMaster() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteSectionMaster}`;\r\n }\r\n\r\n saveParameter() {\r\n return `${this.appJavaLoginUrl}/${constants.saveParameter}`;\r\n }\r\n\r\n getGradeGroup() {\r\n return `${this.appJavaLoginUrl}/${constants.getGradeGroup}`;\r\n }\r\n\r\n\r\n\r\n getQuarter() {\r\n return `${this.appJavaLoginUrl}/${constants.getQuarter}`;\r\n }\r\n\r\n getTypes() {\r\n return `${this.appJavaLoginUrl}/${constants.getTypes}`;\r\n }\r\n\r\n getDomain() {\r\n return `${this.appJavaLoginUrl}/${constants.getDomain}`;\r\n }\r\n\r\n getFeedbackparameters() {\r\n return `${this.appJavaLoginUrl}/${constants.getFeedbackparameters}`;\r\n }\r\n\r\n getJavaToken() {\r\n return `${this.appJavaLoginUrl}/${constants.getJavaToken}`;\r\n }\r\n\r\n getSectionById() {\r\n return `${this.appJavaLoginUrl}/${constants.getSectionById}`;\r\n }\r\n\r\n saveScoringWeightage() {\r\n return `${this.appJavaLoginUrl}/${constants.saveScoringWeightage}`;\r\n }\r\n deleteCheckListItem() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteCheckListItem}`;\r\n }\r\n deleteCheckListMaster() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteCheckListMaster}`;\r\n }\r\n deleteMonitorQuestion() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteMonitorQues}`;\r\n }\r\n getScoringWeightage() {\r\n return `${this.appJavaLoginUrl}/${constants.getScoringWeightage}`;\r\n }\r\n\r\n getVsitAsessmentList() {\r\n return `${this.appJavaLoginUrl}/${constants.getVsitAsessmentList}`;\r\n }\r\n\r\n AddUpdateVisitAssessment() {\r\n return `${this.appJavaLoginUrl}/${constants.AddUpdateVisitAssessment}`;\r\n }\r\n\r\n AddUpdateVisitAssessmentParameter() {\r\n return `${this.appJavaLoginUrl}/${constants.AddUpdateVisitAssessmentParameter}`;\r\n }\r\n\r\n getEmpByEmpCode() {\r\n return `${this.appJavaLoginUrl}/${constants.getEmpByEmpCode}`;\r\n }\r\n\r\n getEmpDetails() {\r\n return `${this.appJavaLoginUrl}/${constants.getEmpDetails}`;\r\n }\r\n\r\n searchTrainer() {\r\n return `${this.appJavaLoginUrl}/${constants.searchTrainer}`;\r\n }\r\n\r\n deleteByTrainerBatchId() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteByTrainerBatchId}`;\r\n }\r\n\r\n deleteByCoordinatorId() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteByCoordinatorId}`;\r\n }\r\n\r\n deleteByTraineeId() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteByTraineeId}`;\r\n }\r\n\r\n getAssmtYears() {\r\n return `${this.appJavaLoginUrl}/${constants.getAssmtYears}`;\r\n }\r\n\r\n getParameterList() {\r\n return `${this.appJavaLoginUrl}/${constants.getParameterList}`;\r\n }\r\n\r\n geSelfAssessmentSection() {\r\n return `${this.appJavaLoginUrl}/${constants.getSelfAssessmentSection}`;\r\n }\r\n\r\n getThirdPartySelfAssessmentByRole() {\r\n return `${this.appJavaLoginUrl}/${constants.getThirdPartySelfAssessmentByRole}`;\r\n }\r\n\r\n getSelfAssessmentByRoleforEdit() {\r\n return `${this.appJavaLoginUrl}/${constants.getSelfAssessmentByRoleforEdit}`;\r\n }\r\n\r\n getVisitAssmtByUdise() {\r\n return `${this.appJavaLoginUrl}/${constants.getVisitAssmtByUdise}`;\r\n }\r\n\r\n postVisitAssmt() {\r\n return `${this.appJavaLoginUrl}/${constants.postVisitAssmt}`;\r\n }\r\n\r\n postRegularVisit() {\r\n return `${this.appJavaLoginUrl}/${constants.postRegularVisit}`;\r\n }\r\n\r\n getRegularVisit() {\r\n return `${this.appJavaLoginUrl}/${constants.getRegularVisit}`;\r\n }\r\n\r\n getAllSchoolData() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllSchoolData}`;\r\n }\r\n\r\n saveDocumentFiles() {\r\n return `${this.appJavaLoginUrl}/${constants.saveDocumentFiles}`;\r\n }\r\n\r\n saveVisitAssessmentParameter() {\r\n return `${this.appJavaLoginUrl}/${constants.saveVisitAssessmentParameter}`;\r\n }\r\n\r\n getDocumnetForSection() {\r\n return `${this.appJavaLoginUrl}/${constants.getDocumnetForSection}`;\r\n }\r\n\r\n getEmergencyVisit() {\r\n return `${this.appJavaLoginUrl}/${constants.getEmergencyVisit}`;\r\n }\r\n\r\n saveEmergencyVisit() {\r\n return `${this.appJavaLoginUrl}/${constants.saveEmergencyVisit}`;\r\n }\r\n\r\n getStudents() {\r\n return `${this.appJavaLoginUrl}/${constants.getStudents}`;\r\n }\r\n\r\n saveEmergencyVisitParameter() {\r\n return `${this.appJavaLoginUrl}/${constants.saveEmergencyVisitParameter}`;\r\n }\r\n\r\n saveEmergencyVisitStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.saveEmergencyVisitStatus}`;\r\n }\r\n\r\n saveSelfAssessmentVerification() {\r\n return `${this.appJavaLoginUrl}/${constants.saveSelfAssessmentVerification}`;\r\n }\r\n\r\n deleteRegularVisit() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteRegularVisit}`;\r\n }\r\n\r\n saveEmergencyVisitArea() {\r\n return `${this.appJavaLoginUrl}/${constants.saveEmergencyVisitArea}`;\r\n }\r\n\r\n getEmergencyVisitById() {\r\n return `${this.appJavaLoginUrl}/${constants.getEmergencyVisitById}`;\r\n }\r\n\r\n getEmergencyVisitByAssessmentId() {\r\n return `${this.appJavaLoginUrl}/${constants.getParameterByEmergencyVisit}`;\r\n }\r\n\r\n fetchBystate() {\r\n return `${this.appLoginUrl}/${constants.fetchBystate}`;\r\n }\r\n\r\n deleteEmergencyVisitById() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteEmergencyVisitById}`;\r\n }\r\n\r\n deleteEmergencyVisitAArea() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteEmergencyVisitAArea}`;\r\n }\r\n\r\n deleteEmergencyVisitParameter() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteEmergencyVisitParam}`;\r\n }\r\n\r\n deleteByParameterId() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteByParameterId}`;\r\n }\r\n\r\n getAllSchool() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllSchool}`;\r\n }\r\n\r\n saveScheduleForRegularVisit() {\r\n return `${this.appJavaLoginUrl}/${constants.saveScheduleForRegularVisit}`;\r\n }\r\n\r\n\r\n getEmergencyVisitByRoleId() {\r\n return `${this.appJavaLoginUrl}/${constants.getEmergencyVisitByRoleId}`;\r\n }\r\n\r\n saveEmergencyVisitSchedule() {\r\n return `${this.appJavaLoginUrl}/${constants.saveEmergencyVisitSchedule}`;\r\n }\r\n\r\n getAllSpotAssessment() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllSpotAssessment}`;\r\n }\r\n\r\n getEmergencyVisitSchool() {\r\n return `${this.appJavaLoginUrl}/${constants.getEmergencyVisitSchool}`;\r\n }\r\n\r\n getSpotAssmtSchoolDataByUdiseCode() {\r\n return `${this.appJavaLoginUrl}/${constants.getSpotAssmtSchoolDataByUdiseCode}`;\r\n }\r\n saveBatchStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.saveBatchStatus}`;\r\n }\r\n\r\n launchBatch() {\r\n return `${this.appJavaLoginUrl}/${constants.lauchBatch}`;\r\n }\r\n\r\n deleteEmergencySchedule() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteEmergencySchedule}`;\r\n }\r\n\r\n getStartVisits() {\r\n return `${this.appJavaLoginUrl}/${constants.getStartVisits}`;\r\n }\r\n\r\n getCurrentVisit() {\r\n return `${this.appJavaLoginUrl}/${constants.getCurrentVisit}`;\r\n }\r\n getBatchByCoordinator() {\r\n return `${this.appJavaLoginUrl}/${constants.getBatchByCoordinator}`;\r\n }\r\n\r\n\r\n getBatch() {\r\n return `${this.appJavaLoginUrl}/${constants.getBatch}`;\r\n }\r\n\r\n downloadMaterialDoc() {\r\n return `${this.appJavaLoginUrl}/${constants.downloadtrainingMaterial}`;\r\n }\r\n\r\n saveVisitInfo() {\r\n return `${this.appJavaLoginUrl}/${constants.saveVisitInfo}`;\r\n }\r\n\r\n saveClassRoomAssessment() {\r\n return `${this.appJavaLoginUrl}/${constants.saveClassRoomAssessment}`;\r\n }\r\n\r\n thirdPartySelfAssmtVerification() {\r\n return `${this.appJavaLoginUrl}/${constants.thirdPartySelfAssmtVerification}`;\r\n }\r\n\r\n saveThirdParty() {\r\n return `${this.appJavaLoginUrl}/${constants.saveThirdParty}`;\r\n }\r\n\r\n getRegularVisitSchools() {\r\n return `${this.appJavaLoginUrl}/${constants.getRegularVisitSchools}`;\r\n }\r\n\r\n getEmergencyVisitForStartVisit() {\r\n return `${this.appJavaLoginUrl}/${constants.getEmergencyVisitForStartVisit}`;\r\n }\r\n\r\n saveClassRoomAssessmentEmergency() {\r\n return `${this.appJavaLoginUrl}/${constants.saveClassRoomAssessmentEmergency}`;\r\n }\r\n\r\n saveVisitInformation() {\r\n return `${this.appJavaLoginUrl}/${constants.saveVisitInformation}`;\r\n }\r\n\r\n saveTeacherDetails() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTeacherDetails}`;\r\n }\r\n\r\n saveNextSpotAssessment() {\r\n return `${this.appJavaLoginUrl}/${constants.saveNextSpotAssessment}`;\r\n }\r\n\r\n getSubjectList() {\r\n return `${this.appJavaLoginUrl}/${constants.getSubjectList}`;\r\n }\r\n\r\n getLOList() {\r\n return `${this.appJavaLoginUrl}/${constants.getLOList}`;\r\n }\r\n\r\n saveSpotAssessment() {\r\n return `${this.appJavaLoginUrl}/${constants.saveSpotAssessment}`;\r\n }\r\n\r\n saveSpotAssessmentInfo() {\r\n return `${this.appJavaLoginUrl}/${constants.saveSpotAssessmentInfo}`;\r\n }\r\n\r\n saveClassmaster() {\r\n return `${this.appJavaLoginUrl}/${constants.saveClassmaster}`;\r\n }\r\n\r\n deleteDescriptionClassMaster() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteDescriptionClassMaster}`;\r\n }\r\n\r\n getRandomQuestions() {\r\n return `${this.appJavaLoginUrl}/${constants.getRandomQuestions}`;\r\n }\r\n\r\n saveTestResponse() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTestResponse}`;\r\n }\r\n\r\n getWeekRange() {\r\n return `${this.appJavaLoginUrl}/${constants.getWeekRange}`;\r\n }\r\n\r\n getDomainList() {\r\n return `${this.appJavaLoginUrl}/${constants.getDomainList}`;\r\n }\r\n\r\n getQuestionData() {\r\n return `${this.appJavaLoginUrl}/${constants.getQuestionData}`;\r\n }\r\n\r\n deleteSpotAssessmentQuestionImage() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteSpotAssessmentQuestionImage}`\r\n }\r\n\r\n saveStudentResponse() {\r\n return `${this.appJavaLoginUrl}/${constants.saveStudentResponse}`;\r\n }\r\n\r\n getAllProblem() {\r\n return `${this.appJavaLoginUrl}/${constants.getProblemMaster}`;\r\n }\r\n\r\n addUpdateSpotQuestions() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateSpotQuestions}`;\r\n }\r\n\r\n spotAssessDeleteQuestion() {\r\n return `${this.appJavaLoginUrl}/${constants.spotAssessDeleteQuestion}`;\r\n }\r\n\r\n downloadQuestionImage(file: string | undefined) {\r\n return `${this.appJavaLoginUrl}/${constants.downloadQuestionImage}/${file}`;\r\n }\r\n\r\n saveRaisedProblem() {\r\n return `${this.appJavaLoginUrl}/${constants.saveRaisedProblem}`;\r\n }\r\n\r\n updateProblemStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.updateProblemMasterStatus}`;\r\n }\r\n\r\n getAllRaisedProblems() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllRaisedProblems}`;\r\n }\r\n\r\n saveTemplate() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTemplate}`;\r\n }\r\n\r\n getTemplateById() {\r\n return `${this.appJavaLoginUrl}/${constants.getTemplateById}`;\r\n }\r\n saveProblem() {\r\n return `${this.appJavaLoginUrl}/${constants.saveProblemMaster}`;\r\n }\r\n\r\n deleteProblemMaster() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteProblemMaster}`;\r\n }\r\n\r\n getAllCompletedVisits() {\r\n return `${this.appJavaLoginUrl}/${constants.completedVisits}`;\r\n }\r\n\r\n saveDefaultPath() {\r\n return `${this.appJavaLoginUrl}/${constants.saveDefaultPath}`;\r\n }\r\n\r\n getDefaultPathByID() {\r\n return `${this.appJavaLoginUrl}/${constants.getDefaultPathByID}`;\r\n }\r\n\r\n deleteDefaultPath() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteDefaultPath}`;\r\n }\r\n\r\n updateStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.updateStatus}`;\r\n }\r\n\r\n getMonitorSectionList() {\r\n return `${this.appJavaLoginUrl}/${constants.getMonitorSectionList}`;\r\n }\r\n\r\n getSpecificProblemList() {\r\n return `${this.appJavaLoginUrl}/${constants.getSpecificProblemList}`;\r\n }\r\n\r\n saveSpecificProblemPath() {\r\n return `${this.appJavaLoginUrl}/${constants.saveSpecificProblemPath}`;\r\n }\r\n\r\n deleteSpecificProblem() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteSpecificProblem}`;\r\n }\r\n\r\n getProblemByTypeId() {\r\n return `${this.appJavaLoginUrl}/${constants.getProblemByTypeId}`;\r\n }\r\n\r\n getExtResourceList() {\r\n return `${this.appJavaLoginUrl}/${constants.getExtResourceList}`;\r\n }\r\n\r\n saveExternalResource() {\r\n return `${this.appJavaLoginUrl}/${constants.saveExternalResource}`;\r\n }\r\n\r\n getMonitorQuestionsMaster() {\r\n return `${this.appJavaLoginUrl}/${constants.getMonitorQuestionsMaster}`;\r\n }\r\n\r\n getMonitorQuestionsMasterByTrainingId() {\r\n return `${this.appJavaLoginUrl}/${constants.getMonitorQuestionsMasterByTrainingId}`;\r\n }\r\n\r\n saveTrainingMonitorQuestions() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTrainingMonitorQuestions}`;\r\n }\r\n\r\n getAllCheckListMaster() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllCheckListMaster}`;\r\n }\r\n\r\n saveTrainingCheckList() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTrainingCheckList}`;\r\n }\r\n\r\n getTrainingCheckListByTrainingId() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainingCheckListByTrainingId}`;\r\n }\r\n\r\n fetchAllState() {\r\n return `${this.appLoginUrl}/${constants.fetchAllState}`;\r\n }\r\n\r\n getExternalResourcebyCode() {\r\n return `${this.appJavaLoginUrl}/${constants.getExternalResourcebyCode}`;\r\n }\r\n\r\n getMonitoringQuestionByTrainingId() {\r\n return `${this.appJavaLoginUrl}/${constants.getMonitoringQuestionByTrainingId}`;\r\n }\r\n\r\n uploadLetter() {\r\n return `${this.appJavaLoginUrl}/${constants.uploadLetter}`;\r\n }\r\n\r\n getLetter() {\r\n return `${this.appJavaLoginUrl}/${constants.getLetter}`;\r\n }\r\n\r\n downloadLetter() {\r\n return `${this.appJavaLoginUrl}/${constants.downloadLetter}`;\r\n }\r\n\r\n deleteLetter() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteLetter}`;\r\n }\r\n\r\n getTrainingMappedCheckList() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainingMappedCheckList}`;\r\n }\r\n\r\n saveVerifyCheckList() {\r\n return `${this.appJavaLoginUrl}/${constants.saveVerifyCheckList}`;\r\n }\r\n getAgendaList() {\r\n return `${this.appJavaLoginUrl}/${constants.getAgendaList}`;\r\n }\r\n\r\n saveAgenda() {\r\n return `${this.appJavaLoginUrl}/${constants.saveAgendaList}`;\r\n }\r\n\r\n getTrainingMaterials() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainingMaterials}`;\r\n }\r\n\r\n saveTrainingMaterialDoc() {\r\n return `${this.appJavaLoginUrl}/${constants.saveTrainingMaterialDoc}`;\r\n }\r\n\r\n getEmerencyVisitUserArea() {\r\n return `${this.appJavaLoginUrl}/${constants.getEmerencyVisitUserArea}`;\r\n }\r\n\r\n getEscalationListing() {\r\n return `${this.appJavaLoginUrl}/${constants.getEscalationListing}`;\r\n }\r\n\r\n saveEscalatedProblem() {\r\n return `${this.appJavaLoginUrl}/${constants.saveEscalatedProblem}`;\r\n }\r\n\r\n getProblemRaisedList() {\r\n return `${this.appJavaLoginUrl}/${constants.getProblemRaisedList}`;\r\n }\r\n\r\n getEscalationHistory() {\r\n return `${this.appJavaLoginUrl}/${constants.getEscalationHistory}`;\r\n }\r\n\r\n deleteTraining() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteTraining}`;\r\n }\r\n\r\n readEmpFromExcel() {\r\n return `${this.appJavaLoginUrl}/${constants.getEmployeeFromExcel}`;\r\n }\r\n\r\n dowloadInvalidCodes() {\r\n return `${this.appJavaLoginUrl}/${constants.downloadInvalidCode}`;\r\n }\r\n\r\n\r\n getPrePostAssessment() {\r\n return `${this.appJavaLoginUrl}/${constants.getPrePostAssessment}`;\r\n }\r\n\r\n getEmpViaTrainer() {\r\n return `${this.appJavaLoginUrl}/${constants.empViaTrainer}`;\r\n }\r\n\r\n GetAssignedTrainings() {\r\n return `${this.appJavaLoginUrl}/${constants.GetAssignedTrainings}`;\r\n }\r\n\r\n GetTrainingAreaForAttendance() {\r\n return `${this.appJavaLoginUrl}/${constants.GetTrainingAreaForAttendance}`;\r\n }\r\n\r\n GetBatchesForAttendance() {\r\n return `${this.appJavaLoginUrl}/${constants.GetBatchesForAttendance}`;\r\n }\r\n\r\n GetAllTrainings() {\r\n return `${this.appJavaLoginUrl}/${constants.allTrainings}`;\r\n }\r\n\r\n getTrainingAreaByTraining() {\r\n return `${this.appJavaLoginUrl}/${constants.fetchTrainingArea}`;\r\n }\r\n\r\n getBatchAreaWise() {\r\n return `${this.appJavaLoginUrl}/${constants.areaWiseBatch}`;\r\n }\r\n\r\n GetMonitoringCommentP() {\r\n return `${this.appJavaLoginUrl}/${constants.GetMonitoringCommentP}`;\r\n }\r\n\r\n GetMonitoringPhotosP() {\r\n return `${this.appJavaLoginUrl}/${constants.GetMonitoringPhotosP}`;\r\n }\r\n getTodayDate() {\r\n return `${this.appJavaLoginUrl}/${constants.todayDate}`;\r\n }\r\n\r\n getParametersBySubsection() {\r\n return `${this.appJavaLoginUrl}/${constants.getParametersBySubsection}`;\r\n }\r\n\r\n saveSubSection() {\r\n return `${this.appJavaLoginUrl}/${constants.saveSubSection}`;\r\n }\r\n\r\n\r\n getParameterBySubSectionId() {\r\n return `${this.appJavaLoginUrl}/${constants.getParameterBySubSectionId}`;\r\n }\r\n\r\n GetCheckListInBatch() {\r\n return `${this.appJavaLoginUrl}/${constants.GetCheckListInBatch}`;\r\n }\r\n\r\n getTargetAndCompleted() {\r\n return `${this.appJavaLoginUrl}/${constants.getTargetAndCompleted}`;\r\n }\r\n\r\n deleteScheduledVisit() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteScheduledVisit}`;\r\n }\r\n\r\n getMonitoringStatusList() {\r\n return `${this.appJavaLoginUrl}/${constants.getMonitoringStatusList}`;\r\n }\r\n\r\n getMonitoringTrainerRating() {\r\n return `${this.appJavaLoginUrl}/${constants.getMonitoringTrainerRating}`;\r\n }\r\n\r\n getTrainerAttendance() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainerAttendance}`;\r\n\r\n }\r\n\r\n getBatchCheckListItemsVerification() {\r\n return `${this.appJavaLoginUrl}/${constants.getBatchCheckListItemsVerification}`;\r\n }\r\n\r\n saveBatchCheckListItemsVerification() {\r\n return `${this.appJavaLoginUrl}/${constants.saveBatchCheckListItemsVerification}`;\r\n }\r\n\r\n getMonitoringStatusHistoryForCheckList() {\r\n return `${this.appJavaLoginUrl}/${constants.getMonitoringStatusHistoryForCheckList}`;\r\n }\r\n\r\n getMonitoringStatusHistoryForMonitoringQuestions() {\r\n return `${this.appJavaLoginUrl}/${constants.getMonitoringStatusHistoryForMonitoringQuestions}`;\r\n }\r\n\r\n getMonitoringCommentForHistory() {\r\n return `${this.appJavaLoginUrl}/${constants.getMonitoringCommentForHistory}`;\r\n }\r\n\r\n getMonitoringPhotosForHistory() {\r\n return `${this.appJavaLoginUrl}/${constants.getMonitoringPhotosForHistory}`;\r\n }\r\n\r\n validateToken() {\r\n return `${this.appJavaLoginUrl}/${constants.validateToken}`;\r\n }\r\n\r\n getSubSectionBySectionIDonly() {\r\n return `${this.appJavaLoginUrl}/${constants.getSubSectionBySectionIDonly}`;\r\n }\r\n\r\n getSubSectionBySectionId() {\r\n return `${this.appJavaLoginUrl}/${constants.getSubSectionBySectionId}`;\r\n }\r\n\r\n getAddUpdateClassRoomObservation() {\r\n return `${this.appJavaLoginUrl}/${constants.AddUpdateClassRoomObservation}`;\r\n }\r\n\r\n saveClassRoomObservationActivity() {\r\n return `${this.appJavaLoginUrl}/${constants.SaveClassRoomObservationActivity}`;\r\n }\r\n\r\n getDomainParameters() {\r\n return `${this.appJavaLoginUrl}/${constants.getDomainParameters}`;\r\n }\r\n\r\n getclassMasterList() {\r\n return `${this.appJavaLoginUrl}/${constants.getclassMasterList}`;\r\n }\r\n\r\n getPrefilledClass() {\r\n return `${this.appJavaLoginUrl}/${constants.getPrefilledClass}`;\r\n }\r\n\r\n\r\n addUpdateClassRoomObservationResponse() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateClassRoomObservationResponse}`;\r\n }\r\n\r\n getDomainbySubsectionClassroomObservation() {\r\n return `${this.appJavaLoginUrl}/${constants.getDomainbySubsectionClassroomObservation}`;\r\n }\r\n\r\n // checkAllSubjectsFilled() {\r\n // return `${this.appJavaLoginUrl}/${constants.checkAllSubjectsFilled}`;\r\n // }\r\n\r\n getSubjectByClass() {\r\n return `${this.appJavaLoginUrl}/${constants.getSubjectByClass}`;\r\n }\r\n\r\n getLObyClassSubject() {\r\n return `${this.appJavaLoginUrl}/${constants.getLObyClassSubject}`;\r\n }\r\n\r\n getStudentList() {\r\n return `${this.appJavaLoginUrl}/${constants.getStudentList}`;\r\n }\r\n\r\n getCompletedSubjectsList() {\r\n return `${this.appJavaLoginUrl}/${constants.getCompletedSubjectsList}`;\r\n }\r\n\r\n getRegularVisitReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getRegularVisitReport}`;\r\n }\r\n\r\n getRegularVisitReportByEmployee() {\r\n return `${this.appJavaLoginUrl}/${constants.getRegularVisitReportByEmployee}`;\r\n }\r\n\r\n getAreawiseSchoolVisitReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getAreawiseSchoolVisitReport}`;\r\n }\r\n\r\n getAreawiseSchoolVisitReportBySchool() {\r\n return `${this.appJavaLoginUrl}/${constants.getAreawiseSchoolVisitReportBySchool}`;\r\n }\r\n\r\n getAreawiseSchoolVisitReportDistrict() {\r\n return `${this.appJavaLoginUrl}/${constants.getAreawiseSchoolVisitReportDistrict}`;\r\n }\r\n\r\n getAreawiseSchoolVisitReportBlock() {\r\n return `${this.appJavaLoginUrl}/${constants.getAreawiseSchoolVisitReportBlock}`;\r\n }\r\n\r\n getAreawiseSchoolVisitReportDivision() {\r\n return `${this.appJavaLoginUrl}/${constants.getAreawiseSchoolVisitReportDivision}`;\r\n }\r\n\r\n GetUserRoles() {\r\n return `${this.appJavaLoginUrl}/${constants.userRoleSearch}`;\r\n }\r\n\r\n AssignRole() {\r\n return `${this.appJavaLoginUrl}/${constants.assignRole}`;\r\n }\r\n\r\n saveStartVisitFeedback() {\r\n return `${this.appJavaLoginUrl}/${constants.saveStartVisitFeedback}`;\r\n }\r\n\r\n allschoolwiseparameterreportbylevel() {\r\n return `${this.appJavaLoginUrl}/${constants.allschoolwiseparameterreportbylevel}`;\r\n }\r\n\r\n getAreawiseSpotAssessmentReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getAreawiseSpotAssessmentReport}`;\r\n }\r\n\r\n getAreawiseAllspotassesmentreportbylevelstartdateandenddateReport() {\r\n return `${this.appJavaLoginUrl}/${constants.allspotassesmentreportbylevelstartdateandenddate}`;\r\n }\r\n\r\n allspotassesmentreportbydivisiondistrictblocklevel() {\r\n return `${this.appJavaLoginUrl}/${constants.allspotassesmentreportbydivisiondistrictblocklevel}`;\r\n\r\n }\r\n\r\n GetActiveTrainings() {\r\n return `${this.appJavaLoginUrl}/${constants.GetActiveTrainings}`;\r\n }\r\n\r\n GetCompletedTrainings() {\r\n return `${this.appJavaLoginUrl}/${constants.GetCompletedTrainings}`;\r\n }\r\n\r\n getMyTrainingAttendance() {\r\n return `${this.appJavaLoginUrl}/${constants.getMyTrainingAttendance}`;\r\n }\r\n\r\n getAttendanceDaysForDonut() {\r\n return `${this.appJavaLoginUrl}/${constants.getAttendanceDaysForDonut}`;\r\n }\r\n\r\n GetTodayAttendance() {\r\n return `${this.appJavaLoginUrl}/${constants.GetTodayAttendance}`;\r\n }\r\n\r\n GetTrainingMaterial() {\r\n return `${this.appJavaLoginUrl}/${constants.GetTrainingMaterial}`;\r\n }\r\n\r\n GetPrePostMyTraining() {\r\n return `${this.appJavaLoginUrl}/${constants.GetPrePostMyTraining}`;\r\n }\r\n\r\n searchCoordinator() {\r\n return `${this.appJavaLoginUrl}/${constants.coordinatorSearch}`;\r\n }\r\n\r\n searchTrainee() {\r\n return `${this.appJavaLoginUrl}/${constants.traineeSearch}`;\r\n }\r\n\r\n getAreaWiseTraining() {\r\n return `${this.appJavaLoginUrl}/${constants.areaWiseTraining}`;\r\n }\r\n\r\n allspotassesmentreportbyClusterlevel() {\r\n return `${this.appJavaLoginUrl}/${constants.allspotassesmentreportbyClusterlevel}`;\r\n }\r\n\r\n fetchMenuWisePermissions() {\r\n return `${this.appJavaLoginUrl}/${constants.getPermissionMenuWise}`;\r\n }\r\n\r\n deleteSubSection() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteSubSection}`;\r\n }\r\n\r\n deleteParameter() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteParameterData}`;\r\n }\r\n\r\n getAllSportAssessmentInfo() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllSportAssessmentInfo}`;\r\n }\r\n\r\n getTrainingAreaWise() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainingArea}`;\r\n }\r\n\r\n\r\n getTrainingConfiguration() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainingConfiguration}`;\r\n }\r\n\r\n postPaymentConfiguration() {\r\n return `${this.appJavaLoginUrl}/${constants.postPaymentConfiguration}`;\r\n }\r\n\r\n getEnrolledTrainings() {\r\n return `${this.appJavaLoginUrl}/${constants.getEnrolledTrainings}`;\r\n }\r\n\r\n getBatchesTraineeReg() {\r\n return `${this.appJavaLoginUrl}/${constants.getBatchesTraineeReg}`;\r\n }\r\n\r\n addEmpBankDetails() {\r\n return `${this.appJavaLoginUrl}/${constants.addEmpBankDetails}`;\r\n }\r\n\r\n registerTrainee() {\r\n return `${this.appJavaLoginUrl}/${constants.registerTrainee}`;\r\n }\r\n\r\n getTrainingsByLevel() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainingsByLevel}`;\r\n }\r\n\r\n getTraineeAttendanceForF2F() {\r\n return `${this.appJavaLoginUrl}/${constants.getTraineeAttendanceForF2F}`;\r\n }\r\n\r\n getTraineeTestStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.getTraineeTestStatus}`;\r\n }\r\n\r\n getTraineeTestScore() {\r\n return `${this.appJavaLoginUrl}/${constants.getTraineeTestScore}`;\r\n }\r\n\r\n getDateStatusForAssmt() {\r\n return `${this.appJavaLoginUrl}/${constants.getDateStatusForAssmt}`;\r\n }\r\n\r\n getTrainingReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrainingReport}`;\r\n }\r\n\r\n getBatchFromLoggedInRoleArea() {\r\n return `${this.appJavaLoginUrl}/${constants.getBatchFromLoggedInRoleArea}`;\r\n }\r\n\r\n getAssmtStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.getAssmtStatus}`;\r\n }\r\n\r\n getAssessmentQuestions() {\r\n return `${this.appJavaLoginUrl}/${constants.getAssessmentQuestions}`;\r\n }\r\n\r\n roleAllocation() {\r\n return `${this.appJavaLoginUrl}/${constants.roleAllocation}`;\r\n }\r\n\r\n deleteRoleAllocationRole() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteRoleAllocationRole}`;\r\n }\r\n\r\n deleteAreaRoleAllocation() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteAreaRoleAllocation}`;\r\n }\r\n\r\n roleAllocationGetRoles() {\r\n return `${this.appJavaLoginUrl}/${constants.roleAllocationGetRoles}`;\r\n }\r\n\r\n roleAllocationGetEmployees() {\r\n return `${this.appJavaLoginUrl}/${constants.roleAllocationGetEmployees}`;\r\n }\r\n\r\n roleAllocationGetAreas() {\r\n return `${this.appJavaLoginUrl}/${constants.roleAllocationGetAreas}`;\r\n }\r\n\r\n visitMentoringReport() {\r\n return `${this.appJavaLoginUrl}/${constants.visitMentoringReport}`;\r\n }\r\n\r\n visitReportGetRoles() {\r\n return `${this.appJavaLoginUrl}/${constants.visitReportGetRoles}`;\r\n }\r\n\r\n getVisitReportForDashboard() {\r\n return `${this.appJavaLoginUrl}/${constants.getVisitReportForDashboard}`;\r\n }\r\n\r\n getVisitYears() {\r\n return `${this.appJavaLoginUrl}/${constants.getVisitYears}`;\r\n }\r\n\r\n getSchoolInfoReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getSchoolInfoReport}`;\r\n }\r\n\r\n getCompletedVisitsReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getCompletedVisitsReport}`;\r\n }\r\n\r\n getPerMonthVisitCompletedReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getPerMonthVisitCompletedReport}`;\r\n }\r\n\r\n getPercentageOfMGMLClassroomReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getPercentageOfMGMLClassroomReport}`;\r\n }\r\n\r\n getMGMLClassroomPracticesReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getMGMLClassroomPracticesReport}`;\r\n }\r\n\r\n getAllMeetings() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllMeetings}`;\r\n }\r\n\r\n deleteMeetingByMeetingId() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteMeetingByMeetingId}`;\r\n }\r\n\r\n getMeetingDetailsQuestionByString() {\r\n return `${this.appJavaLoginUrl}/${constants.getMeetingDetailsQuestionByString}`;\r\n }\r\n\r\n getRolesHardCodedByEntityMaster() {\r\n return `${this.appJavaLoginUrl}/${constants.getRolesHardCodedByEntityMaster}`;\r\n }\r\n\r\n saveMeetingDetails() {\r\n return `${this.appJavaLoginUrl}/${constants.saveMeetingDetails}`;\r\n }\r\n\r\n getStateLevelAgendaAndRoleArea() {\r\n return `${this.appJavaLoginUrl}/${constants.getStateLevelAgendaAndRoleArea}`;\r\n }\r\n\r\n saveAgendaForMeeting() {\r\n return `${this.appJavaLoginUrl}/${constants.saveAgendaForMeeting}`;\r\n }\r\n\r\n getItemsByMeetingIdAndAgendaId() {\r\n return `${this.appJavaLoginUrl}/${constants.getItemsByMeetingIdAndAgendaId}`;\r\n }\r\n\r\n saveMOMData() {\r\n return `${this.appJavaLoginUrl}/${constants.saveMOMData}`;\r\n }\r\n\r\n downLoadImageMeetingDetail() {\r\n return `${this.appJavaLoginUrl}/${constants.downLoadImageMeetingDetail}`;\r\n }\r\n\r\n deleteImageMeetingDetail() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteImageMeetingDetail}`;\r\n }\r\n\r\n finalSubmitMOM() {\r\n return `${this.appJavaLoginUrl}/${constants.finalSubmitMOM}`;\r\n }\r\n\r\n getLastActionItem() {\r\n return `${this.appJavaLoginUrl}/${constants.getLastActionItem}`;\r\n }\r\n\r\n empSearch() {\r\n return `${this.appJavaLoginUrl}/${constants.empSearch}`;\r\n }\r\n\r\n deleteMOM() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteMOM}`;\r\n }\r\n\r\n getPaymentReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getPaymentReport}`;\r\n }\r\n\r\n getFilteredRoles() {\r\n return `${this.appJavaLoginUrl}/${constants.getFilteredRoles}`;\r\n }\r\n\r\n getScheduledVisits() {\r\n return `${this.appJavaLoginUrl}/${constants.getScheduledVisits}`;\r\n }\r\n\r\n getDashboardTargetVisitReport(){\r\n return `${this.appJavaLoginUrl}/${constants.getDashboardTargetVisitReport}`; \r\n }\r\n\r\n getDashboardVisitReports() {\r\n return `${this.appJavaLoginUrl}/${constants.getDashboardVisitReports}`;\r\n }\r\n\r\n getEmployeeReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getEmployeeReport}`;\r\n }\r\n\r\n postDashboardVisitReports() {\r\n return `${this.appJavaLoginUrl}/${constants.postDashboardVisitReports}`;\r\n }\r\n\r\n dashboardF2FGetAttendanceByTraining() {\r\n return `${this.appJavaLoginUrl}/${constants.dashboardF2FGetAttendanceByTraining}`;\r\n }\r\n\r\n dashboardF2FGetTestImprovementByTraining() {\r\n return `${this.appJavaLoginUrl}/${constants.dashboardF2FGetTestImprovementByTraining}`;\r\n }\r\n\r\n dashboardF2FGetTraineesImprovementReport() {\r\n return `${this.appJavaLoginUrl}/${constants.dashboardF2FGetTraineesImprovementReport}`;\r\n }\r\n\r\n dashboardF2FGetTraineesImprovementReportBlock() {\r\n return `${this.appJavaLoginUrl}/${constants.dashboardF2FGetTraineesImprovementReportBlock}`;\r\n }\r\n\r\n getBatchNumberByArea() {\r\n return `${this.appJavaLoginUrl}/${constants.getBatchNumberByArea}`;\r\n }\r\n\r\n getSpotSubjects() {\r\n return `${this.appJavaLoginUrl}/${constants.getSpotSubjects}`;\r\n }\r\n\r\n getSpotSubjectsByID() {\r\n return `${this.appJavaLoginUrl}/${constants.getSpotSubjectsByID}`;\r\n }\r\n\r\n addUpdateSpotSubject() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateSpotSubject}`;\r\n }\r\n\r\n updateSubjectStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.updateSubjectStatus}`;\r\n }\r\n\r\n updateCompentencyStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.updateCompentencyStatus}`;\r\n }\r\n\r\n addUpdateCompetency() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateCompetency}`;\r\n }\r\n\r\n getCompentencyById() {\r\n return `${this.appJavaLoginUrl}/${constants.getCompentencyById}`;\r\n }\r\n\r\n getAllCompetencies() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllCompetencies}`;\r\n }\r\n\r\n spotDomainGetAllClasses() {\r\n return `${this.appJavaLoginUrl}/${constants.spotDomainGetAllClasses}`;\r\n }\r\n\r\n addUpdateSPotDomain() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateSPotDomain}`;\r\n }\r\n\r\n getDomainByIdSpot() {\r\n return `${this.appJavaLoginUrl}/${constants.getDomainByIdSpot}`;\r\n }\r\n\r\n getDomainsSpot() {\r\n return `${this.appJavaLoginUrl}/${constants.getDomainsSpot}`;\r\n }\r\n\r\n updateDomainStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.updateDomainStatus}`;\r\n }\r\n\r\n getDistrictReportCardSummary() {\r\n return `${this.appJavaLoginUrl}/${constants.getDistrictReportCardSummary}`;\r\n }\r\n\r\n getDomainBySubject() {\r\n return `${this.appJavaLoginUrl}/${constants.getDomainBySubject}`;\r\n }\r\n\r\n getStateReportCardSummary() {\r\n return `${this.appJavaLoginUrl}/${constants.getStateReportCardSummary}`;\r\n }\r\n\r\n getBlockReportCardSummary() {\r\n return `${this.appJavaLoginUrl}/${constants.getBlockReportCardSummary}`;\r\n }\r\n\r\n getAllSubjects() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllSubjects}`;\r\n }\r\n getAllSpotSubjectsData() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllSpotSubjects}`;\r\n }\r\n\r\n getAllClasses() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllClassess}`;\r\n }\r\n\r\n saveHPCQuestion() {\r\n return `${this.appJavaLoginUrl}/${constants.saveHPCQuestion}`;\r\n }\r\n\r\n getAllHPCSection() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllHPCSection}`;\r\n }\r\n\r\n getAllHPCTerms() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllHPCTerms}`;\r\n }\r\n\r\n getAllHPCQuestions() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllHPCQuestions}`;\r\n }\r\n\r\n getHPCQuestionParams() {\r\n return `${this.appJavaLoginUrl}/${constants.getHPCQuestionParams}`;\r\n }\r\n\r\n deleteHPCQuestiobByOptionId() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteHPCQuestiobByOptionId}`;\r\n }\r\n\r\n getCountHPCReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getCountHPCReport}`;\r\n }\r\n\r\n getMeetingReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getMeetingReport}`;\r\n }\r\n\r\n getMetaDataReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getMetaData}`;\r\n }\r\n\r\n getBaselineQuestion() {\r\n return `${this.appJavaLoginUrl}/${constants.getBaselineQuestion}`;\r\n }\r\n\r\n getBaselineSubQuestion() {\r\n return `${this.appJavaLoginUrl}/${constants.getBaselineSubQuestion}`;\r\n }\r\n\r\n addBaselineSubQuestion() {\r\n return `${this.appJavaLoginUrl}/${constants.addBaselineSubQuestion}`;\r\n }\r\n\r\n addBaselineQuestion() {\r\n return `${this.appJavaLoginUrl}/${constants.addBaselineQuestion}`;\r\n }\r\n\r\n deleteQuestionMasterId() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteQuestionMasterId}`;\r\n }\r\n\r\n deleteSubQuestionId() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteSubQuestionId}`;\r\n }\r\n\r\n saveUpdateEnumeratorReg() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateEnumerator}`;\r\n }\r\n\r\n getMeetingDetailReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getMeetingDetailReport}`;\r\n }\r\n\r\n getMeetingDetailReportByMeetingId\r\n () {\r\n return `${this.appJavaLoginUrl}/${constants.getMeetingDetailReportByMeetingId}`;\r\n }\r\n\r\n getAllEnumerator() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllEnumerator}`;\r\n }\r\n\r\n getFIForAllocation() {\r\n return `${this.appJavaLoginUrl}/${constants.getFIForAllocation}`;\r\n }\r\n\r\n getQuestionPickerCompetency() {\r\n return `${this.appJavaLoginUrl}/${constants.getQuestionPickerCompetency}`;\r\n }\r\n\r\n addUpdateQuestionPicker() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateQuestionPicker}`;\r\n }\r\n\r\n getMeetingDetailReportMeetingDetailAndMOM() {\r\n return `${this.appJavaLoginUrl}/${constants.getMeetingDetailReportMeetingDetailAndMOM}`\r\n }\r\n\r\n getBaselineEnumeratorMappedSchool() {\r\n return `${this.appJavaLoginUrl}/${constants.getBaselineEnumeratorMappedSchool}`\r\n }\r\n\r\n deleteBaselineEnumeratorMappedSchool() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteBaselineEnumeratorMappedSchool}`\r\n }\r\n\r\n getBaselineEnumeratorSchoolByBlock() {\r\n return `${this.appJavaLoginUrl}/${constants.getBaselineEnumeratorSchoolByBlock}`\r\n }\r\n\r\n mapSchoolBaselineEnumerator() {\r\n return `${this.appJavaLoginUrl}/${constants.mapSchoolBaselineEnumerator}`\r\n }\r\n\r\n getBaselineReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getBaselineReport}`\r\n }\r\n\r\n getAllHPCSections() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllHPCSections}`\r\n }\r\n\r\n getAllHPCDomains() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllHPCDomains}`\r\n }\r\n\r\n addUpdateHPCDomain() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateHPCDomain}`\r\n }\r\n\r\n addUpdateHPCSection() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateHPCSection}`\r\n }\r\n\r\n addUpdateGTSMappingData() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateGTSMappingData}`\r\n }\r\n\r\n getAllGTSMappingData() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllGTSMappingData}`\r\n }\r\n\r\n getAllGTSSections() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllGTSSections}`\r\n }\r\n\r\n //Trainer Payment Approval\r\n\r\n getBlockLevelTrainings() {\r\n return `${this.appJavaLoginUrl}/${constants.getBlockLevelTrainings}`\r\n }\r\n\r\n approveTrainerPayment() {\r\n return `${this.appJavaLoginUrl}/${constants.approveTrainerPayment}`\r\n }\r\n\r\n getBatchDetails() {\r\n return `${this.appJavaLoginUrl}/${constants.getBatchDetails}`\r\n }\r\n\r\n changeParameterStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.changeParameterStatus}`\r\n }\r\n\r\n getEmpBankDetails() {\r\n return `${this.appJavaLoginUrl}/${constants.getEmpBankDetails}`\r\n }\r\n\r\n saveParameterOrder() {\r\n return `${this.appJavaLoginUrl}/${constants.saveParameterOrder}`\r\n }\r\n\r\n addUpdateMentoringDomains() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateMentoringDomains}`\r\n }\r\n\r\n getAllDomains() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllDomains}`\r\n }\r\n\r\n getMentoringDomainBySection() {\r\n return `${this.appJavaLoginUrl}/${constants.getMentoringDomainBySection}`\r\n }\r\n\r\n getAllMentoringCompetencyMaster() {\r\n return `${this.appJavaLoginUrl}/${constants.getAllMentoringCompetencyMaster}`\r\n }\r\n\r\n addUpdateMentoringCompetencyMaster() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateMentoringCompetencyMaster}`\r\n }\r\n\r\n getCompetencyByDomaind() {\r\n return `${this.appJavaLoginUrl}/${constants.getCompetencyByDomaind}`\r\n }\r\n\r\n getParameterBySubSection() {\r\n return `${this.appJavaLoginUrl}/${constants.getParameterBySubSection}`\r\n }\r\n\r\n addUpdateParameterCompetency() {\r\n return `${this.appJavaLoginUrl}/${constants.addUpdateParameterCompetency}`\r\n }\r\n\r\n updateMentoringDomainStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.updateMentoringDomainStatus}`\r\n }\r\n\r\n updateMentoringCompetencyMasterStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.updateMentoringCompetencyMasterStatus}`\r\n }\r\n\r\n getMentoringWeightageFeedback() {\r\n return `${this.appJavaLoginUrl}/${constants.getMentoringWeightageFeedback}`\r\n }\r\n\r\n saveMentoringWeigtageFeedback() {\r\n return `${this.appJavaLoginUrl}/${constants.saveMentoringWeigtageFeedback}`\r\n }\r\n\r\n saveMentoringDomainOrder() {\r\n return `${this.appJavaLoginUrl}/${constants.saveMentoringDomainOrder}`\r\n }\r\n\r\n saveMentoringCompetencyOrder() {\r\n return `${this.appJavaLoginUrl}/${constants.saveMentoringCompetencyOrder}`\r\n }\r\n\r\n getStudentAttendanceReportDashboard() {\r\n return `${this.appJavaLoginUrl}/${constants.getStudentAttendanceReportDashboard}`\r\n }\r\n\r\n getYearlyProgressionLOReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getYearlyProgressionLOReport}`\r\n }\r\n\r\n\r\n getWBUsageAndFeedbackRateReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getWBUsageAndFeedbackRateReport}`\r\n }\r\n\r\n getPercentagesByParameterValueId() {\r\n return `${this.appJavaLoginUrl}/${constants.getPercentagesByParameterValueId}`\r\n }\r\n\r\n getTeacherPerformanceTotalL3L4Report() {\r\n return `${this.appJavaLoginUrl}/${constants.getTeacherPerformanceTotalL3L4Report}`\r\n }\r\n\r\n getDietOrientationData() {\r\n return `${this.appJavaLoginUrl}/${constants.getDietOrientationData}`\r\n }\r\n\r\n saveUpdateOrientationMaster() {\r\n return `${this.appJavaLoginUrl}/${constants.saveUpdateOrientationMaster}`\r\n }\r\n\r\n getOrientationDataById() {\r\n return `${this.appJavaLoginUrl}/${constants.getOrientationDataById}`\r\n }\r\n\r\n registerTraineeForOrientation() {\r\n return `${this.appJavaLoginUrl}/${constants.registerTraineeForOrientation}`\r\n }\r\n\r\n generateOrientationQRCode() {\r\n return `${this.appJavaLoginUrl}/${constants.generateOrientationQRCode}`\r\n }\r\n\r\n getRegisteredTrainee() {\r\n return `${this.appJavaLoginUrl}/${constants.getRegisteredTrainee}`\r\n }\r\n\r\n deleteRegisteredTrainee() {\r\n return `${this.appJavaLoginUrl}/${constants.deleteRegisteredTrainee}`\r\n }\r\n\r\n getPercentagesOfClassRoomMaterialAvailabilityReports() {\r\n return `${this.appJavaLoginUrl}/${constants.getPercentagesOfClassRoomMaterialAvailabilityReports}`\r\n }\r\n\r\n getUniqueSchoolCoverageReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getUniqueSchoolCoverageReport}`\r\n }\r\n\r\n\r\n getUniqueVisitCoverageReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getUniqueVisitCoverageReport}`\r\n }\r\n\r\n getPercentageOfTeacherWhoseClassroomFollowFLNTimeTable() {\r\n return `${this.appJavaLoginUrl}/${constants.getPercentageOfTeacherWhoseClassroomFollowFLNTimeTable}`\r\n }\r\n\r\n getSpotAssessmentDashboardReport() {\r\n return `${this.appJavaLoginUrl}/${constants.getSpotAssessmentDashboardReport}`\r\n }\r\n\r\n getCompetencyByDomain() {\r\n return `${this.appJavaLoginUrl}/${constants.getCompetencyByDomain}`\r\n }\r\n\r\n getGradeSubjectCompetencyAttainedStatus() {\r\n return `${this.appJavaLoginUrl}/${constants.getGradeSubjectCompetencyAttainedStatus}`\r\n }\r\n\r\n getAggregateCompetencyAttained() {\r\n return `${this.appJavaLoginUrl}/${constants.getAggregateCompetencyAttained}`\r\n }\r\n\r\n getTotalStudentNested() {\r\n return `${this.appJavaLoginUrl}/${constants.getTotalStudentNested}`\r\n }\r\n\r\n getLeadCompetencies() {\r\n return `${this.appJavaLoginUrl}/${constants.getLeadCompetencies}`\r\n }\r\n\r\n getTrendLineAnalysis() {\r\n return `${this.appJavaLoginUrl}/${constants.getTrendLineAnalysis}`\r\n }\r\n}\r\n\r\n\r\n","export const constants = {\r\n port: ':81',\r\n auth: 'authenticate',\r\n saveRoleModulePermissiom: 'RoleMenuPermission/AddUpdateRoleMenuPermission',\r\n fetchAllRole: 'Role/GetRoleList',\r\n fetchAllRoleType: 'Dropdown/GetData/RoleType',\r\n fetchAllRolePermission: 'Role/GetMenuForRole',\r\n testRoleExistence: 'Role/RoleExists/',\r\n fetchEmpDataByEmpCode: 'User/GetUserByEmpCode/',\r\n fetchAllDivision: 'dropdown/getdata/division',\r\n fetchAllState: \"dropdown/getdata/state\",\r\n fetchDistrictById: 'dropdown/getdata/district/',\r\n fetchDistrict: 'dropdown/getdata/district/0',\r\n fetchBlock: 'dropdown/getdata/block',\r\n fetchCluster: 'dropdown/getdata/cluster',\r\n fetchBlockById: 'dropdown/getdata/block/',\r\n fetchClusterById: 'dropdown/getdata/cluster/',\r\n fetchSchoolById: 'dropdown/getdata/school/',\r\n fetchNonAllocatedSchool: 'regularvisitschedule/getnonallocatedschools/',\r\n fetchNavByRoleUserId: 'Role/GetMenuForRole',\r\n fetchSchoolByBlock: 'Dropdown/GetData/Block-School/',\r\n fetchClusterByBlock: \"dropdown/getdata/cluster/\",\r\n saveRoleAssosciation: 'Role/AddUpdateRoleAssociation',\r\n getGroupList: 'Group/GetGroupList',\r\n postGroupList: 'Group/AddUpdateGroup',\r\n changeRoleStatus: 'Status/ChangeStatus/',\r\n deleteUserRole: 'Delete/DeleteRecord/',\r\n fetchEntity: 'DropDown/GetData/entity/',\r\n saveUpdateAssesment: \"Assessment/AddUpdateAssessment\",\r\n fetchAssessment: \"Assessment/GetAssessmentList\",\r\n saveUpdateEnumerator: \"Enumerator/AddUpdateEnumerator\",\r\n allDistricts: \"District/GetDistrictList\",\r\n\r\n allBlocks: \"Block/GetBlockList\",\r\n allBanks: \"dropdown/getdata/bank\",\r\n allEnumerators: \"Enumerator/GetEnumeratorList\",\r\n verifyOtp: \"Enumerator/OTPVerification/\",\r\n fetchEnumeratorById: \"Enumerator/GetEnumeratorList/\",\r\n fetchNavigationMenu: \"User/NavigableMenu\",\r\n fetchjwtToken: \"Jwt/JwtToken\",\r\n fetchInstitutionalDistricts: \"DropDown/GetData/District/\",\r\n fetchEnumeratorVerification: \"Enumerator/EnumeratorVerification/\",\r\n fetchAllIntitutionNames: \"Institute/GetInstituteList\",\r\n fetchInstitutionNameById: \"Institute/GetInstituteList/\",\r\n fetchBankBranchByIfsc: \"Enumerator/GetBranch/\",\r\n assessmentGroups: \"Group/GetGroupList\",\r\n groupAssessment: \"Assessment/GetAssessmentsByGroup/\",\r\n fetchRolesPermissionByMenu: \"Role/GetRolePermissionMenuWise/\",\r\n saveRolesPermissionByMenu: \"Role/AddUpdateRolePermission\",\r\n roleArea: \"User/GetUserRoleArea/\",\r\n addUpdateAllocation: \"Allocation/AddUpdateAllocation\",\r\n allAllocation: \"Allocation/GetAllocationList\",\r\n fetchAssessmentByGroupId: \"Assessment/GetAssessmentsByGroup/\",\r\n report: \"Report/getReport/\",\r\n getAttendanceReport: \"Report/getAttendanceReport\",\r\n getAttendanceReportBatch: \"Report/getAttendanceReportByBatch\",\r\n getReadinessReport: \"Report/getTrainingReadiness/\",\r\n getPrePostStatusReport: \"Report/getPrePostStatus/\",\r\n getAttendanceStatus: \"Report/getAttendanceStatus/\",\r\n fetchTrainingGroup: \"TrainingGroup/GetTrainingGroupList\",\r\n fetchTrainingSubGroup: \"TrainingSubGroup/GetTrainingSubGroupList\",\r\n saveTrainingGroup: \"TrainingGroup/AddUpdateTrainingGroup\",\r\n saveTrainingSubGroup: \"TrainingSubGroup/AddUpdateTrainingSubGroup\",\r\n fetchSubGroupByGroupId: \"TrainingSubGroup/GetSubGroupByGroup/\",\r\n fetchAllTrainingList: \"Training/GetTrainingList\",\r\n fetchAllUserRespectiveTraining: \"TrainingArea/GetUsersTraining\",\r\n saveTraining: \"Training/AddUpdateTraining\",\r\n saevUpdateQuiz: \"Quiz/AddUpdateQuiz\",\r\n saveTrainingArea: \"TrainingArea/AddUpdateTrainingArea\",\r\n updateTrainingStatus: \"Training/UpdateStatus/\",\r\n saveUpdateQuestion: \"Question/AddUpdateQuestions\",\r\n saveTrainingMaterial: \"TrainingMaterial/saveTrainingDocument\",\r\n fetchStateAll: \"DropDown/GetData/State/\",\r\n deleteQuestion: \"Question/DeleteQuestion/\",\r\n fetchQuestions: \"Question/GetQuestionsList/\",\r\n fetchTrainingAreas: \"TrainingArea/GetTrainingAreas/\",\r\n getQuizData: \"Quiz/GetQuizData/\",\r\n deleteArea: \"TrainingArea/DeleteTrainingArea/\",\r\n saveBatchInitiate: \"BatchInitiate/AddUpdateBatchInitiate\",\r\n fetchTrainingCheckList: \"TrainingCheckList/GetCheckListData/\",\r\n fetchTrainingCheckListDropdown: \"TrainingCheckList/GetCheckListDropDown/\",\r\n getAllBatchInitiate: \"BatchInitiate/GetBatchInitiate\",\r\n getBatchInitiateById: \"BatchInitiate/GetBatchInitiate\",\r\n getAllBatch: \"Batch/GetBatchList\",\r\n getBatchById: \"Batch/GetBatchList\",\r\n saveBatch: \"Batch/AddUpdateBatch\",\r\n saveCoordinator: \"Coordinator/AddUpdateCoordinators\",\r\n saveTrainer: \"Trainer/AddUpdateTrainer\",\r\n fetchAllTrainingCheckList: \"TrainingCheckList/GetCheckList\",\r\n saveCheckList: \"TrainingCheckList/AddUpdateCheckList\",\r\n getCoordinator: \"Coordinator/GetCoordinator/\",\r\n getBatches: \"Batch/GetBatches\",\r\n saveTraineees: \"Trainee/AddUpdateTrainees\",\r\n getTrainingMaterial: \"TrainingMaterial/GetTrainingMaterial/\",\r\n deleteTrainingMaterial: \"TrainingMaterial/DeleteMaterial/\",\r\n getTrainingByArea: \"Training/GetTrainingByArea\",\r\n getBatchInitiate: \"BatchInitiate/GetBatch/\",\r\n getTrainingBySubGroupId: \"Training/GetTrainingBySubGroup\",\r\n deleteSubGroup: \"TrainingSubGroup/deleteSubGroup/\",\r\n getBatchesByTraining: \"Batch/GetBatches/\",\r\n saveMonitoringQuestions: \"MonitorQuestions/AddUpdateMonitorQuestions\",\r\n generateQRcode: \"Batch/generateQRCode/\",\r\n getTrainersByBatchId: \"TrainerBatch/GetTrainers\",\r\n getAllTrainersByBatchId: \"TrainerBatch/GetTrainersByBatchId\",\r\n getTraineeAssessmentStatusByBatchId: \"Trainee/GetTraineeAssessmentStatusByBatchId\",\r\n getTrainerRatingByBatchId: \"TrainerRating/GetTrainer\",\r\n getTraineesByBatchId: \"Trainee/GetTrainees\",\r\n getTrainerByBatch: \"TrainerBatch/GetTrainerList\",\r\n saveTraineeAttendance: \"TraineeAttendance/AddUpdateTraineesAttendance\",\r\n saveTrainerAttendance: \"Trainerattendance/AddUpdateTrainerAttendance\",\r\n saveTrainerRating: \"TrainerRating/AddUpdateTrainerRating\",\r\n getTrainersByBatchForAttendance: \"TrainerBatch/GetTrainers\",\r\n getTrainersByBatchForRating: \"Trainerattendanceverification/GetTrainerAttendanceVerification\",\r\n getTrainerAttendanceByBatchAndSession: \"Trainerattendance/GetTrainerAttendance\",\r\n getTraineeAttendanceByBatchAndSession: \"TraineeAttendance/GetTraineeAttendanceList\",\r\n saveTrainerAttendanceVerification: \"Trainerattendanceverification/AddUpdateTrainerAttendanceVerification\",\r\n qrCodeReader: \"Batch/readQRCode\",\r\n getMonitorQuestions: \"MonitorQuestions/GetMonitorQuestionsList/\",\r\n getTrainingMonitorQuestions: \"MonitorQuestions/GetAllMonitorQuestionsMaster/\",\r\n getTraineeAttendanceListByBatchId: \"TraineeAttendance/GetTraineeAttendanceList\",\r\n saveTraineeAttendanceVerification: \"Traineeattendanceverification/AddUpdateTraineeAttendanceVerification\",\r\n getTrainerAttendanceByBatchId: \"Trainerattendance/GetTrainerAttendance\",\r\n saveRedFlag: \"RedFlag/AddUpdateRedFlag\",\r\n getAllTrainingAssessment: \"TrainingAnswerSheet/GetTrainingQuestionList\",\r\n saveTrainingAssessment: \"TrainingAnswerSheet/addUpdateTrainingAnswerSheet\",\r\n saveMonitorQuestionVerification: \"Monitorquestionsverification/AddUpdateMonitorQuestionsVerification\",\r\n getTraineeByEmpCode: \"Trainee/getTrainee\",\r\n saveMonitorComments: \"Monitorcomment/AddUpdateMonitorComments\",\r\n saveMonitorPhotos: \"MonitorPhotos/uploadMonitorPhotos/\",\r\n getAllParameter: \"vstartvisit/getAllTypes\",\r\n getSubSectionList: \"subsection/allvsubsection\",\r\n getSectionList: \"vsectionmaster/allvsectionmaster\",\r\n getGradeGroup: \"GradeGroup/GetGradeGroupList\",\r\n getQuarter: \"Quater/getAllQuaters\",\r\n getTypes: \"vstartvisit/getAllTypes\",\r\n getDomain: \"subsection/parameters\",\r\n saveSectionMaster: \"vsectionmaster\",\r\n deleteSectionMaster: \"vsectionmaster/DeleteSectionData/\",\r\n saveParameter: \"parametermaster\",\r\n getJavaToken: \"Token/GetToken/\",\r\n getSectionById: \"SectionMaster/getSectionList\",\r\n saveScoringWeightage: \"ScoringWeightage/AddUpdateScoringWeightage\",\r\n getScoringWeightage: \"ScoringWeightage/GetScoringWeightageList\",\r\n deleteCheckListItem: \"TrainingCheckList/DeleteCheckListItem/\",\r\n deleteCheckListMaster: \"TrainingCheckList/DeleteCheckListMaster/\",\r\n deleteMonitorQues: \"MonitorQuestions/DeleteMonitorQues/\",\r\n getVsitAsessmentList: \"VisitAssessment/getVisitAssessment\",\r\n AddUpdateVisitAssessment: \"VisitAssessment/AddUpdateVisitAssessment\",\r\n AddUpdateVisitAssessmentParameter: \"VisitAssessment/AddUpdateVisitAssessmentParameter\",\r\n getEmpByEmpCode: \"EmployeeMaster/GetEmp\",\r\n deleteByTrainerBatchId: \"TrainerBatch/DeleteTrainerData\",\r\n deleteByCoordinatorId: \"Coordinator/DeleteCoordinator\",\r\n deleteByTraineeId: \"Trainee/DeleteTrainee\",\r\n getAssmtYears: \"VisitAssessment/GetYears\",\r\n getParameterList: \"parametermaster/allparameterlist\",\r\n getVisitAssmtByUdise: \"VisitAssessment/getVisitAssessment\",\r\n postVisitAssmt: \"VisitAssessment/AddUpdateVisitAssessment\",\r\n postRegularVisit: \"regularvisit/regularvisitplan\",\r\n getRegularVisit: \"regularvisit/allregularvisitplan\",\r\n getSelfAssessmentSection: \"SectionMaster/getSelfAssessmentSectionList\",\r\n saveDocumentFiles: \"AssessmentDocFiles/AddUpdateDocumentFiles\",\r\n getThirdPartySelfAssessmentByRole: \"ThirdPartySelfAssessmentVerification/getAllThirdPartyByRole\",\r\n getSelfAssessmentByRoleforEdit: \"SelfAssessmentVerification/getSelfAssessmentVerification\",\r\n getDocumnetForSection: \"AssessmentDocFiles/GetDocuments\",\r\n saveVisitAssessmentParameter: \"VisitAssessment/AddUpdateVisitAssessmentParameter\",\r\n getEmergencyVisit: \"EmergencyVisit/getEmergencyVisit\",\r\n saveEmergencyVisit: \"EmergencyVisit/AddUpdateEmergencyVisit\",\r\n saveEmergencyVisitParameter: \"EmergencyVisitParameter/AddUpdateEmergencyVisit\",\r\n saveEmergencyVisitStatus: \"EmergencyVisit/saveEmergencyVisitStatus\",\r\n deleteRegularVisit: \"regularvisit/regularvisitplan\",\r\n saveEmergencyVisitArea: \"EmergencyVisitArea/AddUpdateEmergencyVisitArea\",\r\n getEmergencyVisitById: \"EmergencyVisit/getEmergencyVisit\",\r\n getParameterByEmergencyVisit: \"EmergencyVisitParameter/GetParameterByEmergencyVisit\",\r\n fetchBystate: \"dropdown/getdata/state\",\r\n deleteEmergencyVisitById: \"EmergencyVisit/deleteEmergencyVisit\",\r\n deleteEmergencyVisitAArea: \"EmergencyVisitArea/deleteEmergencyVisitArea\",\r\n deleteEmergencyVisitParam: \"EmergencyVisitParameter/DeleteEmergencyVisitParam\",\r\n deleteByParameterId: \"Parameter/deleteParameter\",\r\n getAllSchool: \"RegularVisitSchedule/getAllSchool\",\r\n saveScheduleForRegularVisit: \"RegularVisitSchedule/AddRegularVisitSchedule\",\r\n getEmergencyVisitByRoleId: \"EmergencyVisit/getEmergency\",\r\n fetchArea: \"TrainingArea/GetUsersDropdownTraining\",\r\n saveEmergencyVisitSchedule: \"EmergencyVisitSchedule/ScheduleEmergencyVisit\",\r\n getAllSpotAssessment: \"SpotAssessment/getSpotAssessmentData\",\r\n getEmergencyVisitSchool: \"EmergencyVisitSchedule/getSchools\",\r\n getSpotAssmtSchoolDataByUdiseCode: \"SpotAssessment/getSchoolData\",\r\n saveBatchStatus: \"Batch/SaveBatchStatus/\",\r\n lauchBatch: \"Batch/launchBatch/\",\r\n deleteEmergencySchedule: \"EmergencyVisitSchedule/DeleteEmergencySchedule\",\r\n getCurrentVisit: \"VisitInformation/GetAllVisits\",\r\n getBatchByCoordinator: \"Coordinator/GetBatchDetails/\",\r\n getBatch: \"Batch/getBatchedAreaWise\",\r\n downloadtrainingMaterial: \"TrainingMaterial/downloadFile\",\r\n checkTraineeAttendance: \"Traineeattendanceverification/CheckAttendanceVerified/\",\r\n checkTrainerAttendance: \"Trainerattendanceverification/CheckAttendanceVerified/\",\r\n saveVisitInfo: \"VisitInformation/AddUpdateVisitInfo\",\r\n saveClassRoomAssessment: \"VisitInformation/AddUpdateClassRoomAssessment\",\r\n thirdPartySelfAssmtVerification: \"ThirdPartySelfAssessmentVerification/getSelfAssessmentThirdParty\",\r\n saveThirdParty: \"ThirdPartySelfAssessmentVerification/AddUpdateThirdPartySelfAssessmentVerification\",\r\n getRegularVisitSchools: \"RegularVisitSchedule/getAllocatedSchools\",\r\n getEmergencyVisitForStartVisit: \"EmergencyVisit/getEmergencyVisit\",\r\n saveClassRoomAssessmentEmergency: \"VisitInformation/AddUpdateClassRoomAssessmentEmergency\",\r\n saveSelfAssessmentVerification: \"SelfAssessmentVerification/AddUpdateSelfAssessment\",\r\n getSubjectList: \"Class/GetSubjects\",\r\n getLOList: \"Class/GetLOList\",\r\n saveSpotAssessment: \"SpotAss\",\r\n saveSpotAssessmentInfo: \"SpotAss/spotAssessmentInfo\",\r\n getStudents: \"Student/GetStudents\",\r\n getRandomQuestions: \"SpotAssessmentQuestions/GetQuestionLists\",\r\n saveTestResponse: \"SpotAssessment/AddUpdateTestAnswers\",\r\n getProblemMaster: \"ProblemMaster/GetProblemMasterList\",\r\n updateProblemMasterStatus: \"ProblemMaster/UpdateProblemStatus/\",\r\n deleteProblemMaster: \"ProblemMaster/DeleteProblem/\",\r\n saveTemplate: \"TemplateMaster/saveTemplate\",\r\n getTemplateById: \"TemplateMaster/GetTemplatedByType/\",\r\n saveProblemMaster: \"ProblemMaster/AddUpdateProblemMaster/\",\r\n completedVisits: \"VisitInformation/GetCompletedVisits\",\r\n saveDefaultPath: \"DefaultPath/AddUpdateDefaultPath\",\r\n getDefaultPathByID: \"DefaultPath/GetDefaultPath/\",\r\n deleteDefaultPath: \"DefaultPath/deleteDefaultPath/\",\r\n updateStatus: \"VisitInformation/updateStatus/\",\r\n getMonitorSectionList: \"SectionMaster/getMonitorSectionList\",\r\n monitorQuesByTraining: \"MonitorQuestions/GetMonitorQuestionsByTraining/\",\r\n getAllRaisedProblems: \"ProblemRaised/GetProblemRaised\",\r\n saveRaisedProblem: \"ProblemRaised/AddUpdateProbRaised\",\r\n searchTrainer: \"Trainer/SearchTrainer\",\r\n saveRating: \"Trainerattendanceverification/AddUpdateTrainerRating\",\r\n getSpecificProblemList: \"SpecificProblemPath/GetSpecificProbPathList\",\r\n saveSpecificProblemPath: \"SpecificProblemPath/AddUpdateSpecificProbPath\",\r\n deleteSpecificProblem: \"SpecificProblemPath/deleteSpecificProblem/\",\r\n getProblemByTypeId: \"ProblemMaster/GetProblemMasterList/\",\r\n getExtResourceList: \"ExternalResource/GetExtResourceList\",\r\n saveExternalResource: \"ExternalResource/AddUpdateExtResource\",\r\n getMonitorQuestionsMaster: \"MonitorQuestions/GetAllMonitorQuestionsMaster\",\r\n saveTrainingMonitorQuestions: \"MonitorQuestions/AddUpdateMonitorQuestions\",\r\n getMonitorQuestionsMasterByTrainingId: \"MonitorQuestions/GetAllMonitorQuestionsMaster/\",\r\n getAllCheckListMaster: \"TrainingCheckList/GetCheckList\",\r\n saveTrainingCheckList: \"TrainingCheckList/AddUpdateCheckList\",\r\n getTrainingCheckListByTrainingId: \"TrainingCheckList/GetCheckListData/\",\r\n getExternalResourcebyCode: \"ExternalResource/GetExtResource\",\r\n getEmpDetails: \"Trainer/GetEmpDetails\",\r\n getMonitoringQuestionByTrainingId: \"MonitorQuestions/GetMonitorQuestions/\",\r\n uploadLetter: \"TrainingLetter/AddLetter\",\r\n getLetter: \"TrainingLetter/GetLetter/\",\r\n downloadLetter: \"TrainingLetter/downloadLetter/\",\r\n deleteLetter: \"TrainingLetter/DeleteLetter/\",\r\n getTrainingMappedCheckList: \"TrainingCheckList/GetTrainingMappedCheckLists/\",\r\n saveVerifyCheckList: \"TrainingCheckList/VerifyCheckList/\",\r\n\r\n getAgendaList: \"Agenda/GetAgendaList\",\r\n saveAgendaList: \"Agenda/AddUpdateAgenda\",\r\n getTrainingMaterials: \"TrainingMaterial/GetTrainingMaterial\",\r\n saveTrainingMaterialDoc: \"TrainingMaterial/saveTrainingDocument\",\r\n getEmerencyVisitUserArea: \"EmergencyVisit/getEmergencyUserArea\",\r\n getEscalationListing: \"EscalatedProblems/GetEscalationListing\",\r\n getProblemRaisedList: \"ProblemRaised/GetProblemRaisedList\",\r\n getEscalationHistory: \"EscalatedProblems/GetEscalationHistory/\",\r\n saveEscalatedProblem: \"EscalatedProblems/AddUpdateEscalatedProblem\",\r\n deleteTraining: \"Training/DeleteTraining/\",\r\n getEmployeeFromExcel: \"Trainee/getEmployees\",\r\n downloadInvalidCode: \"Trainee/GenerateExcel\",\r\n getPrePostAssessment: \"Report/getPrePostAsmtReport\",\r\n empViaTrainer: \"Trainee/GetMasterTrainees/\",\r\n GetAssignedTrainings: \"Coordinator/GetAssignedTrainings/\",\r\n GetTrainingAreaForAttendance: \"Coordinator/GetTrainingArea/\",\r\n GetBatchesForAttendance: \"Coordinator/GetBatches/\",\r\n allTrainings: \"Batch/AllTraining\",\r\n fetchTrainingArea: \"Batch/AllTrainingArea/\",\r\n areaWiseBatch: \"TrainingArea/GetBatchesAreaWise/\",\r\n GetMonitoringCommentP: \"Monitorcomment/GetMonitorComment/\",\r\n GetMonitoringPhotosP: \"MonitorPhotos/GetMonitorPhotos/\",\r\n todayDate: \"TraineeAttendance/GetTodayDate\",\r\n getParametersBySubsection: \"parametermaster/parameterlist/\",\r\n saveParameternew: \"parametermaster\",\r\n saveSubSection: \"subsection/saveUpdateSubSection\",\r\n getParameterBySubSectionId: \"subsection/getParameterBySubSectionId\",\r\n GetCheckListInBatch: \"TrainingCheckList/GetCheckListInBatch\",\r\n getAllSchoolData: \"regularvisitschedule/allocatedschools\",\r\n getTargetAndCompleted: \"regularvisitschedule/getTargetAndCompleted\",\r\n getMonitoringStatusList: \"MonitoringStatus/GetMonitoringStatusList\",\r\n getMonitoringTrainerRating: \"MonitoringStatus/GetTrainerRating/\",\r\n getTrainerAttendance: \"MonitoringStatus/GetAttendanceData/\",\r\n getBatchCheckListItemsVerification: \"BatchCheckListItemsVerification/GetCheckListItems\",\r\n saveBatchCheckListItemsVerification: \"BatchCheckListItemsVerification/VerifyBatchCheckListItems\",\r\n getMonitoringStatusHistoryForCheckList: \"MonitoringStatus/GetVerifiedCheckList\",\r\n getMonitoringStatusHistoryForMonitoringQuestions: \"MonitoringStatus/GetMonitoringQuestions\",\r\n getMonitoringCommentForHistory: \"Monitorcomment/GetMonitorComment\",\r\n getMonitoringPhotosForHistory: \"MonitorPhotos/GetMonitorPhotos\",\r\n validateToken: \"Token/ValidateToken/\",\r\n GetActiveTrainings: \"MyTrainings/GetActiveTrainings\"\r\n , GetCompletedTrainings: \"MyTrainings/GetCompletedTrainings\",\r\n getMyTrainingAttendance: \"MyTrainings/GetMyAttendance\",\r\n getAttendanceDaysForDonut: \"MyTrainings/GetAttendanceDays\",\r\n GetTodayAttendance: \"MyTrainings/GetTodayAttendance\",\r\n GetTrainingMaterial: \"MyTrainings/GetTrainingMaterial\",\r\n GetPrePostMyTraining: \"MyTrainings/MyAssessmentStatus\",\r\n //MyTrainings/MyAssessmentStatus/6260002769/1\r\n deleteScheduledVisit: \"regularvisitschedule/deleteScheduledVisit\",\r\n regularvisitschedule: \"regularvisitschedule\",\r\n getStartVisits: \"regularvisitschedule/allocatedschools\",\r\n saveVisitInformation: \"vstartvisit/schoolinformation\",\r\n saveTeacherDetails: \"vstartvisit/saveTeacherDetails\",\r\n getSubSectionBySectionId: \"subsection/getSubSectionBySectionId\",\r\n\r\n getSubjectByClass: \"Class/GetSubjects\",\r\n getLObyClassSubject: \"Class/GetLOList\",\r\n getStudentList: \"Student/GetStudents\",\r\n getCompletedSubjectsList: \"SpotAss/spotAssessmentInfo\",\r\n saveStudentResponse: \"SpotAss/studentResponse\",\r\n saveNextSpotAssessment: \"SpotAss/checkAllSubjectsFilled\",\r\n getRegularVisitReport: \"regularvisitreport/allregularvisit/\",\r\n getRegularVisitReportByEmployee: \"regularvisitreport/allregularvisitemployee/\",\r\n getAreawiseSchoolVisitReport: \"regularvisitreport/allareawiseschoolvistits/\",\r\n getAreawiseSchoolVisitReportBySchool: \"regularvisitreport/allareawiseschoolvistitsbyschool/\",\r\n getAreawiseSchoolVisitReportDistrict: \"regularvisitreport/allareawiseschoolvistitsdistrict\",\r\n getAreawiseSchoolVisitReportBlock: \"regularvisitreport/allareawiseschoolvistitsblock\",\r\n getAreawiseSchoolVisitReportDivision: \"regularvisitreport/allareawiseschoolvistitsdivision\",\r\n userRoleSearch: \"User/GetUserRole/\",\r\n assignRole: \"User/AssignRoleArea\",\r\n saveStartVisitFeedback: \"vstartvisit/feedbackresponse\",\r\n getFeedbackparameters: \"vstartvisit/feedbackparameters\",\r\n allschoolwiseparameterreportbylevel: \"regularvisitreport/allschoolwiseparameterreportbylevel\",\r\n allschoolwiseparameterreportbyschoolandrole: \"regularvisitreport/allschoolwiseparameterreportbyschoolandrole\",\r\n getAreawiseSpotAssessmentReport: \"regularvisitreport/allspotassesmentreportbylevel/\",\r\n allspotassesmentreportbydivisiondistrictblocklevel: \"regularvisitreport/allspotassesmentreportbydivisiondistrictblocklevel/\",\r\n allspotassesmentreportbylevelstartdateandenddate: \"regularvisitreport/allspotassesmentreportbylevelstartdateandenddate/\",\r\n allspotassesmentreportbyClusterlevel: \"regularvisitreport/allspotassesmentreportbylevelstartdateandenddateblockcode/\",\r\n coordinatorSearch: \"Coordinator/GetEmployeeData/\",\r\n traineeSearch: \"Trainee/GetEmployeeData/\",\r\n areaWiseTraining: \"Training/GetTrainingLevelWise\",\r\n getclassMasterList: \"classmaster/allclassmaster\",\r\n getPrefilledClass: \"classmaster/prefilledClass\",\r\n saveClassmaster: \"classmaster/classMasterTransaction\",\r\n deleteDescriptionClassMaster: \"classmaster/description\",\r\n getWeekRange: \"ClassDetails/GetWeekRangeList\",\r\n getDomainList: \"ClassDetails/GetDomainList\",\r\n getQuestionData: \"SpotAssessmentQuestions/GetQuestionList\",\r\n deleteSpotAssessmentQuestionImage: \"SpotAssessmentQuestions/DeleteQuestionImage\",\r\n addUpdateSpotQuestions: \"SpotAssessmentQuestions/AddUpdateSpotQuestions\",\r\n spotAssessDeleteQuestion: \"SpotAssessmentQuestions/UpdateSpotQuestionStatus\",\r\n downloadQuestionImage: \"SpotAssessmentQuestions/DownloadQuestionImage\",\r\n AddUpdateClassRoomObservation: \"VisitClassRoomObservation/AddUpdateClassRoomObservation\",\r\n SaveClassRoomObservationActivity: \"classroomObservationActivity/SaveClassRoomObservationActivity\",\r\n getDomainParameters: \"subsection/domainParameters\",\r\n addUpdateClassRoomObservationResponse: \"ClassRoomObservationResponse/AddUpdateClassRoomObservationResponse\",\r\n getPermissionMenuWise: \"RoleMenuPermission/FetchPermissionsMenuWise/\",\r\n getDomainbySubsectionClassroomObservation: \"subsection/parameters\",\r\n // checkAllSubjectsFilled: \"SpotAss/checkAllSubjectsFilled\"\r\n deleteSubSection: \"subsection/DeleteSubSectionData/\",\r\n deleteParameterData: \"parametermaster/DeleteParameter/\",\r\n getAllSportAssessmentInfo: \"SpotAss/spotAssessmentInfo/\",\r\n getTrainingArea: \"TrainingArea/GetTrainings/\",\r\n getTrainingConfiguration: \"PaymentConfiguration/getPaymentConfigData/\",\r\n postPaymentConfiguration: \"PaymentConfiguration/ConfigurePayment\",\r\n getEnrolledTrainings: \"TraineeRegistrationController/GetEnrolledTrainings\",\r\n getBatchesTraineeReg: \"TraineeRegistrationController/GetBatches\",\r\n\r\n //addEmpBankDetails: \"TraineeRegistrationController/AddEmpDetails\",\r\n registerTrainee: \"Trainee/RegisterTrainee/\",\r\n getTrainingsByLevel: \"F2FReport/GetTraining/\",\r\n getTraineeAttendanceForF2F: 'F2FReport/TraineeAttendance/',\r\n getTraineeTestStatus: \"F2FReport/TraineeTestStatus/\",\r\n getTraineeTestScore: \"F2FReport/TraineeTestScore/\",\r\n getDateStatusForAssmt: \"getDateStatus/\",\r\n getTrainingReport: \"F2FReport/GetTrainingReport/\",\r\n getBatchFromLoggedInRoleArea: \"Batch/getBatchArea\",\r\n getAssmtStatus: \"F2FAssessment/GetAssessmentStatus\",\r\n getAssessmentQuestions: \"F2FAssessment/GetAssessmentQuestions\",\r\n roleAllocation: \"RoleAllocation/EmployeeSearch/\",\r\n deleteRoleAllocationRole: \"RoleAllocation/DeleteRole/\",\r\n deleteAreaRoleAllocation: \"RoleAllocation/DeleteArea/\",\r\n roleAllocationGetRoles: \"RoleAllocation/GetRoles/\",\r\n roleAllocationGetEmployees: \"RoleAllocation/GetEmployees/\",\r\n roleAllocationGetAreas: \"RoleAllocation/GetAreas/\",\r\n visitMentoringReport: \"VisitReport/Report/\",\r\n visitReportGetRoles: \"VisitReport/GetRoles/\",\r\n getVisitReportForDashboard: 'VisitReport/GetVisitReport/',\r\n getVisitYears: \"VisitReport/GetVisitYears\",\r\n getSchoolInfoReport: 'VisitReport/GetSchoolInfoReport',\r\n getCompletedVisitsReport: \"VisitReport/GetCompletedVisits\",\r\n // Meeting Module APIS : \r\n getAllMeetings: \"MeetingMaster/GetMeetingList\",\r\n deleteMeetingByMeetingId: \"MeetingMaster/DeleteMeeting/\",\r\n getMeetingDetailsQuestionByString: \"MeetingQuestions/GetQuestions/\",\r\n getRolesHardCodedByEntityMaster: \"MeetingMaster/GetRoles/\",\r\n saveMeetingDetails: 'MeetingMaster/AddUpdateMeeting',\r\n getStateLevelAgendaAndRoleArea: \"Agenda/GetAgendaAreaWise/\",\r\n saveAgendaForMeeting: 'Agenda/AddUpdateAgenda',\r\n getItemsByMeetingIdAndAgendaId: \"MinuteOfMeeting/GetAgendaPoints/\",\r\n saveMOMData: 'MinuteOfMeeting/AddUpdateMoms',\r\n downLoadImageMeetingDetail: \"MeetingMaster/DownloadImage/\",\r\n deleteImageMeetingDetail: \"MeetingMaster/DeleteImage/\",\r\n finalSubmitMOM: \"MeetingMaster/UpdateMeetingStatus/\",\r\n getLastActionItem: 'MinuteOfMeeting/GetLastActionItem/',\r\n empSearch: \"EmployeeMaster/EmpSearch/\",\r\n deleteMOM: 'MinuteOfMeeting/DeleteMOM/',\r\n getPaymentReport: \"F2FReport/GetPaymentReport/\",\r\n getFilteredRoles: \"Role/GetFilteredRoles/\",\r\n getScheduledVisits: \"regularvisit/getScheduledVisits/\",\r\n getDashboardVisitReports: 'DashboardVisitReports/StateLevel/',\r\n getDashboardTargetVisitReport : \"DashboardVisitReports/getAreaWiseVisit\",\r\n getEmployeeReport: \"DashboardVisitReports/GetEmployeeReport/\",\r\n postDashboardVisitReports: 'DashboardVisitReports/',\r\n dashboardF2FGetAttendanceByTraining: \"DashboardF2F/GetAttendanceByTraining/\",\r\n dashboardF2FGetTestImprovementByTraining: 'DashboardF2F/GetTestImprovementByTraining/',\r\n dashboardF2FGetTraineesImprovementReport: 'DashboardF2F/GetTraineesImprovementReport/',\r\n dashboardF2FGetTraineesImprovementReportBlock: 'DashboardF2F/GetEmpImprovementByArea/',\r\n getBatchNumberByArea: 'Batch/getBatchNumberByArea/',\r\n getSpotSubjects: 'SpotSubject/GetAllSubjects',\r\n getSpotSubjectsByID: 'SpotSubject/GetAllSubjects/',\r\n addUpdateSpotSubject: \"SpotSubject/AddUpdateSpotSubject\",\r\n updateSubjectStatus: 'SpotSubject/UpdateSubjectStatus/',\r\n getDomainsSpot: 'SpotDomain/GetDomains',\r\n getDomainByIdSpot: 'SpotDomain/GetAllDomains/',\r\n addUpdateSPotDomain: 'SpotDomain/AddUpdateDomains',\r\n spotDomainGetAllClasses: 'SpotDomain/GetAllClasses',\r\n getAllCompetencies: 'CompetencyMaster/GetCompetencys',\r\n getCompentencyById: 'CompetencyMaster/GetAllCompetency/',\r\n addUpdateCompetency: 'CompetencyMaster/AddUpdateCompetency',\r\n updateCompentencyStatus: 'CompetencyMaster/UpdateStatus/',\r\n updateDomainStatus: 'SpotDomain/UpdateStatus/',\r\n getDistrictReportCardSummary: 'DashboardVisitReports/GetDistrictWiseSummary/',\r\n getDomainBySubject: 'SpotSubject/GetDomainBySubject/',\r\n getStateReportCardSummary: 'DashboardVisitReports/GetStateSummary/',\r\n getBlockReportCardSummary: 'DashboardVisitReports/GetBlockSummary/',\r\n getAllClassess: 'SpotDomain/GetAllClasses',\r\n getAllSubjects: 'SpotSubject/GetAllSubjects',\r\n saveHPCQuestion: 'HPCQuestions/AddQuestion',\r\n getAllHPCSection: 'HPCSection/GetAllSections',\r\n getAllHPCTerms: 'HPCQuestions/GetTerms',\r\n getAllHPCQuestions: 'HPCQuestions/GetAllQuestions',\r\n getHPCQuestionParams: 'HPCQuestions/GetAllQuestions/',\r\n deleteHPCQuestiobByOptionId: \"HPCQuestions/DeleteOption\",\r\n getCountHPCReport: 'HPCReport/GetCount/',\r\n getAllSpotSubjects: 'SpotSubject/GetSpotSubjects',\r\n getMeetingReport: \"MeetingReport/GetAreaWiseReport/\",\r\n getAllWeekRange: \"Master/GetWeekMaster\",\r\n getMetaData: \"DashboardVisitReports/GetMetaData/\",\r\n getBaselineQuestion: \"BaseLineQuestions/AllQuestions\",\r\n getBaselineSubQuestion: \"BaseLineQuestions/AllSubQuestions/\",\r\n addBaselineSubQuestion: \"BaseLineQuestions/AddBaselineSubQuestion\",\r\n addBaselineQuestion: \"BaseLineQuestions/AddBaselineQuestion\",\r\n deleteQuestionMasterId: \"BaseLineQuestions/DeleteQuestion/\",\r\n deleteSubQuestionId: \"BaseLineQuestions/DeleteSubQuestion/\",\r\n addUpdateEnumerator: \"BaseLineEnumerator/SaveUpdateBaselineEnumerator\",\r\n getMeetingDetailReport: \"MeetingMaster/GetMeetingDetailReport/\",\r\n getMeetingDetailReportByMeetingId: \"MeetingMaster/GetMeeting/\",\r\n getAllEnumerator: \"BaseLineEnumerator/AllEnumerators\",\r\n getQuestionPickerCompetency: 'QuestionPicker/GetCompetency/',\r\n addUpdateQuestionPicker: \"QuestionPicker/AddUpdateQuestionPicker\",\r\n getMeetingDetailReportMeetingDetailAndMOM: \"MeetingReport/GetMeetingDetails/\",\r\n getFIForAllocation: \"BaseLineEnumerator/GetFiForAllocation\",\r\n getBaselineEnumeratorMappedSchool: \"BaseLineEnumerator/GetMappedSchool/\",\r\n deleteBaselineEnumeratorMappedSchool: \"BaseLineEnumerator/DeleteSchoolMapping/\",\r\n getBaselineEnumeratorSchoolByBlock: \"BaseLineEnumerator/GetSchoolsByBlock/\",\r\n mapSchoolBaselineEnumerator: \"BaseLineEnumerator/MapSchool\",\r\n getPerMonthVisitCompletedReport: \"DashboardVisitReports/GetUniqueSchoolReport\",\r\n\r\n getBaselineReport: \"BaseLineEnumerator/GetBaselineReport/\",\r\n getAllHPCSections: \"HPCSection/GetSectionList\",\r\n getAllHPCDomains: 'HPCDomain/GetDomainList',\r\n addUpdateHPCDomain: \"HPCDomain/AddUpdateDomain\",\r\n addUpdateHPCSection: \"HPCSection/AddUpdateSection\",\r\n getAllGTSMappingData: \"GTSMapping/GetAllGTSMappingData\",\r\n getAllGTSSections: \"GTSMapping/GetAllGTSSections/\",\r\n addUpdateGTSMappingData: \"GTSMapping/AddGTSMappingData\",\r\n getRedFlag: \"RedFlag/GetRedFlag\",\r\n getBlockLevelTrainings: \"TrainerBatchMapping/GetBlockLevelTrainings\",\r\n approveTrainerPayment: \"TrainerBatchMapping/ApproveTrainerPayment\",\r\n getBatchDetails: \"TrainerBatchMapping/GetBatchDetails\",\r\n\r\n changeParameterStatus: \"parametermaster/ChangeParameterStatus/\",\r\n\r\n\r\n //Emp Bank Details\r\n getEmpBankDetails: \"EmpBankDetail/GetEmpBankDetails/\",\r\n addEmpBankDetails: \"EmpBankDetail/AddEmpBankDetails\",\r\n\r\n saveParameterOrder: \"parametermaster/saveParameterOrder\",\r\n\r\n //Mentoring Report Card\r\n addUpdateMentoringDomains: \"MentoringDomain/AddUpdateDomainMaster\",\r\n getAllDomains: \"MentoringDomain/AllDomains\",\r\n getMentoringDomainBySection: \"MentoringDomain/GetDomainBySection/\",\r\n getAllMentoringCompetencyMaster: \"MentoringCompetencyMaster/AllCompetency\",\r\n addUpdateMentoringCompetencyMaster: \"MentoringCompetencyMaster/addUpdateMentoringCompetencyMaster\",\r\n getCompetencyByDomaind: \"MentoringDomain/GetCompetencyByDomain\",\r\n getParameterBySubSection: \"MentoringCompetencyMaster/GetParameterBySubSection\",\r\n addUpdateParameterCompetency: \"ParameterCompetency/AddUpdateParameterCompetency\",\r\n updateMentoringDomainStatus: \"MentoringDomain/UpdateDomain/\",\r\n updateMentoringCompetencyMasterStatus: \"MentoringCompetencyMaster/UpdateCompetency/\",\r\n\r\n //Mentoring Scoring Weightage feedback\r\n getMentoringWeightageFeedback: 'MentoringWeightageFeedBack/AllWeightage',\r\n saveMentoringWeigtageFeedback: \"MentoringWeightageFeedBack/AddUpdateWeightage\",\r\n getSubSectionBySectionIDonly: \"subsection/GetSubSectionBySectionID\",\r\n saveMentoringDomainOrder: \"MentoringDomain/saveMentoringDomainOrder\",\r\n saveMentoringCompetencyOrder: \"MentoringCompetencyMaster/saveMentoringCompetencyOrder\",\r\n\r\n\r\n //student attendance Report(for dashboard)\r\n getStudentAttendanceReportDashboard: \"StudentAttendanceReport/Report\",\r\n //YearLy Progression LO Report(for dashboard)\r\n getYearlyProgressionLOReport: \"StudentAttendanceReport/LOProgressionReport\",\r\n\r\n //MGML Class Room Report (for dashboard)\r\n getPercentageOfMGMLClassroomReport: \"DashboardVisitReports/GetPercentageOfMGMLClassroomReport\",\r\n\r\n //MGML Practice (for dashboard)\r\n getMGMLClassroomPracticesReport: \"DashboardVisitReports/GetMGMLClassroomPracticesReport\",\r\n\r\n /* compliance of structured ped based teaching report(for dashboard)\r\n % of classrooms where the teacher is using periodic tracker */\r\n getPercentagesByParameterValueId: \"DashboardVisitReports/getPercentagesByParameterValueId\",\r\n\r\n //% classrooms where WBs are used by students as per instructional week progression and checked by the teacher with clear feedback report\r\n getWBUsageAndFeedbackRateReport: \"DashboardVisitReports/WBUsageAndFeedBackRate\",\r\n\r\n getTeacherPerformanceTotalL3L4Report: \"DashboardVisitReports/TeacherPerformanceTotalL3L4Report\",\r\n\r\n\r\n /* Shaikshik Samwad */\r\n getDietOrientationData: \"OrientationMaster/GetOrientationData/\",\r\n saveUpdateOrientationMaster: \"OrientationMaster/SaveUpdateOrientationMaster\",\r\n getOrientationDataById: \"OrientationMaster/GetOrientationMaster/\",\r\n registerTraineeForOrientation: \"OrientationRegisteredTrainee/RegisterTrainee\",\r\n generateOrientationQRCode: \"OrientationMaster/GenerateQRCode/\",\r\n getRegisteredTrainee: \"OrientationRegisteredTrainee/GetRegisteredTrainee/\",\r\n deleteRegisteredTrainee: \"OrientationRegisteredTrainee/DeleteRegisteredTrainee/\",\r\n getPercentagesOfClassRoomMaterialAvailabilityReports: \"DashboardVisitReports/getPercentagesOfClassRoomMaterialAvailabilityReports\",\r\n\r\n\r\n getUniqueSchoolCoverageReport: \"DashboardVisitReports/GetUniqueSchoolCoverageReport\",\r\n getUniqueVisitCoverageReport: \"DashboardVisitReports/GetUniqueVisitCoverageReport\",\r\n getPercentageOfTeacherWhoseClassroomFollowFLNTimeTable: \"DashboardVisitReports/GetPercentageOfTeacherWhoseClassroomFollowFLNTimeTable\",\r\n\r\n getSpotAssessmentDashboardReport: \"SpotAssessmentDashboard/getReport\",\r\n getCompetencyByDomain: \"ClassDetails/GetCompetencyByQuestionFilter/\",\r\n\r\n getGradeSubjectCompetencyAttainedStatus: \"DashboardVisitReports/GetGradeSubjectCompetencyAttainedstatus\",\r\n getAggregateCompetencyAttained: \"DashboardVisitReports/getAggregateCompetencyAttained\",\r\n\r\n getTotalStudentNested: \"DashboardVisitReports/getTotalStudentNested\",\r\n\r\n getLeadCompetencies: 'DashboardVisitReports/getLeadCompetencies',\r\n getTrendLineAnalysis : 'DashboardVisitReports/getTrendLineAnalysis'\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","\r\nimport { FormGroup, AbstractControl } from \"@angular/forms\";\r\n\r\nexport function ValidateSpaces(control: AbstractControl) {\r\n const input = control.value;\r\n if(input!=null && (input || '').length!=0){\r\n if((input || '').trim().length === 0 || (input || '').trimRight().startsWith(\" \") || hasWhiteSpace(input)){\r\n return {'validSpace': true}\r\n } \r\n return null;\r\n }\r\n\r\n function hasWhiteSpace(s) {\r\n return s.indexOf(' ') >= 0;\r\n }\r\n return null\r\n}\r\n","import { Component, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { CheckboxComponent } from 'src/app/layouts/core/checkbox/checkbox.component';\r\nimport { RemarkTextBoxComponent } from 'src/app/layouts/core/remark-text-box/remark-text-box.component';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { RemarkPopUpComponent } from './remark-pop-up/remark-pop-up.component';\r\nimport { InitiateTrainingService } from '../../services/initiate-training.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { AttendanceService } from '../../services/attendance.service';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { TraineeAttendance } from '../../model/trainee-attendance';\r\nimport { BatchMaster } from '../../model/batch-master';\r\nimport { Trainee } from '../../model/trainee';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { TrainerAttendance } from '../../model/trainer-attendance';\r\nimport { TrainerMaster } from '../../model/trainer-master';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport * as _ from 'lodash';\r\nimport { Constantss } from 'src/utils/constantss';\r\n@Component({\r\n selector: 'app-attendance',\r\n templateUrl: './attendance.component.html',\r\n styleUrls: ['./attendance.component.scss'],\r\n})\r\nexport class AttendanceComponent implements OnInit {\r\n @ViewChild('primaryModal', { static: false })\r\n public primaryModal: ModalDirective;\r\n readOnly: boolean = false;\r\n allGroupFromParent;\r\n loading: boolean = false;\r\n addChild: RemarkPopUpComponent;\r\n batchCode = [];\r\n training = [];\r\n session = [];\r\n markFor = [];\r\n isViewDisabled = true;\r\n trainings = [];\r\n loanFilter: any;\r\n recordCount: number = 0;\r\n remark;\r\n trainee = false;\r\n trainer = false;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [20, 50, 100];\r\n value: any;\r\n id: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {\r\n navigateToNextCell: () => {\r\n return null;\r\n },\r\n };\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize;\r\n attendanceForm: FormGroup;\r\n attendanceData = [];\r\n idRmrk: Number;\r\n todaysDate: any;\r\n attendance: any;\r\n userId: any;\r\n traineeAttendance: TraineeAttendance[] = [];\r\n trainerAttendance: TrainerAttendance[] = [];\r\n navPermissions: any;\r\n currentPermission;\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n hasRemarkboxDisabled = true;\r\n rowRenderArray = [];\r\n submitDisable: boolean = false;\r\n remarkArray = [];\r\n empCode;\r\n trainingData: any = [];\r\n trainingAreaData: any = [];\r\n batchData = [];\r\n readOnlyDate = true;\r\n startDate: any;\r\n endDate: any;\r\n constructor(\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private clientStorage: ClientSideStorageService,\r\n private fb: FormBuilder,\r\n private _commonUtilService: CommonUtilService,\r\n private dataSharing: DataSharingService,\r\n public modalService: NgbModal,\r\n private _initiateTraining: InitiateTrainingService,\r\n private _attendance: AttendanceService,\r\n private toast: NgToastService,\r\n private loginService: LoginService\r\n ) {\r\n this.frameworkComponents = {\r\n checkBoxIcon: CheckboxComponent,\r\n remarkTextBox: RemarkTextBoxComponent,\r\n };\r\n this.userId = this.clientStorage.get('userId');\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientStorage.get('userId');\r\n if (\r\n this.userId &&\r\n this.userData.user != undefined &&\r\n this.userData.user.userName != undefined\r\n ) {\r\n this.empCode = this.userData.user.userName;\r\n }\r\n this.getNavigableMenu(Number(userId), this.roleList[0].roleId);\r\n //below cuurent commented for now only\r\n this.getCurrentDate();\r\n // this.getLaunchedBatch();\r\n this.getSession();\r\n this.createColumnDefs();\r\n this.getTrainee();\r\n this.getAssignedTrainingForAttendance();\r\n }\r\n\r\n // fetchPermission(){\r\n // this.data = this.dataSharing.getNavItems();\r\n // this.navPermissions = this.data.source._value;\r\n // this.navPermissions[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Attendance'){\r\n // this.currentPermission = nav.permission\r\n // return\r\n // }\r\n // })\r\n // }\r\n\r\n getNavigableMenu(userId?, roleId?) {\r\n this.loginService.getNavigationMenu(userId, roleId).subscribe((data) => {\r\n if (data && data !== null) {\r\n let child = [];\r\n this.navItems = data.navigableMenu;\r\n this.dataSharing.setNavItems(this.navItems);\r\n this.dataSharing.setMenuList(data.employeeRoleArea);\r\n this.navItems = _.orderBy(this.navItems, 'displayOrder', 'asc');\r\n setTimeout(() => { }, 10);\r\n // this.fetchPermission();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createFormAdd();\r\n }\r\n\r\n // getLaunchedBatch() {\r\n // this._initiateTraining.getBatchByCoordinator(this.userData.user.userName).subscribe((response: any) => {\r\n // if (response && response.data !== null) {\r\n // let batches = [];\r\n // response.data.forEach(element => {\r\n // batches.push(element.batch)\r\n // })\r\n // this.batchCode = batches.filter((resp) => resp.launchStatus.id == 64);\r\n // }\r\n // });\r\n // }\r\n\r\n selectedTraining(event) { }\r\n\r\n selectedBatchCode(event) {\r\n this.readOnlyDate = false;\r\n // this.startDate = '2023-09-08';\r\n // this.endDate = '2023-09-30';\r\n this.startDate = event.startDate.split('T')[0];\r\n this.endDate = event.endDate.split('T')[0];\r\n if (\r\n this.attendanceForm.value.training != null &&\r\n this.attendanceForm.value.trainingArea != null &&\r\n this.attendanceForm.value.batchCode != null &&\r\n this.attendanceForm.value.session != null &&\r\n this.attendanceForm.value.markFor != null\r\n ) {\r\n this.isViewDisabled = false;\r\n } else {\r\n this.isViewDisabled = true;\r\n }\r\n }\r\n\r\n selectedSession(event) {\r\n if (\r\n this.attendanceForm.value.training != null &&\r\n this.attendanceForm.value.trainingArea != null &&\r\n this.attendanceForm.value.batchCode != null &&\r\n this.attendanceForm.value.session != null &&\r\n this.attendanceForm.value.markFor != null\r\n ) {\r\n this.isViewDisabled = false;\r\n } else {\r\n this.isViewDisabled = true;\r\n }\r\n }\r\n\r\n selectedMarkFor(event) {\r\n if (\r\n this.attendanceForm.value.training != null &&\r\n this.attendanceForm.value.trainingArea != null &&\r\n this.attendanceForm.value.batchCode != null &&\r\n this.attendanceForm.value.session != null &&\r\n this.attendanceForm.value.markFor != null\r\n ) {\r\n this.isViewDisabled = false;\r\n } else {\r\n this.isViewDisabled = true;\r\n }\r\n }\r\n\r\n createFormAdd() {\r\n this.attendanceForm = this.fb.group({\r\n training: [null, [Validators.required]],\r\n trainingArea: [null, [Validators.required]],\r\n batchCode: [null, [Validators.required]],\r\n session: [null, [Validators.required]],\r\n date: [null, [Validators.required]],\r\n // date: [this.todaysDate, [Validators.required]],\r\n markFor: [null, [Validators.required]],\r\n });\r\n }\r\n\r\n viewDetail() {\r\n this.attendanceData = [];\r\n this.isViewDisabled = true;\r\n if (this.attendanceForm.value.markFor === 1) {\r\n //Trainer\r\n this.loading = true;\r\n this._attendance\r\n .getTrainerAttendanceByBatchAndSession(\r\n this.attendanceForm.value.batchCode,\r\n this.attendanceForm.value.session,\r\n this.attendanceForm.value.date\r\n )\r\n .subscribe((response) => {\r\n if (response.status == 200) {\r\n this.loading = false;\r\n this.createColumnDefsTrainer();\r\n // this.isViewDisabled = true;\r\n // this.readOnly = true;\r\n if (response.data.length != 0) {\r\n // for (let i = 0; i < response.data.length; i++) {\r\n // console.log('response',response.data[i]);\r\n // this.attendanceData.push(response.data[i].trainers[0] );\r\n // console.log('attendanceData',this.attendanceData);\r\n\r\n // this.gridApi.setRowData(this.attendanceData);\r\n // this.recordCount = this.attendanceData.length;\r\n // }\r\n this.attendanceData = response.data[0].trainers;\r\n this.recordCount = this.attendanceData.length;\r\n this.isViewDisabled = true;\r\n this.submitDisable = false;\r\n }\r\n } else {\r\n if (response.data.length != 0) {\r\n this.loading = false;\r\n this.createColumnDefsTrainer();\r\n this.attendanceData = response.data[0].trainers;\r\n\r\n this.recordCount = this.attendanceData.length;\r\n this.isViewDisabled = true;\r\n this.submitDisable = true;\r\n this.createColumnDefsTrainer();\r\n }else{\r\n this.loading = false;\r\n }\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n this.toast.error({\r\n detail : Constantss.ERROR,\r\n summary : error?.message,\r\n duration : 10000\r\n })\r\n });\r\n } else {\r\n this.loading = true;\r\n this._attendance\r\n .getTraineeAttendanceByBatchAndSession(\r\n this.attendanceForm.value.batchCode,\r\n this.attendanceForm.value.session,\r\n this.attendanceForm.value.date\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (response.data.length != 0) {\r\n this.loading = false;\r\n if (response.status == 200) {\r\n this.createColumnDefs();\r\n // this.isViewDisabled = true;\r\n // this.readOnly = true;\r\n for (let i = 0; i < response.data.length; i++) {\r\n this.attendanceData.push(response.data[i]);\r\n this.gridApi.setRowData(this.attendanceData);\r\n this.recordCount = this.attendanceData.length;\r\n this.submitDisable = false;\r\n }\r\n } else if (response.status === '501') {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n } else {\r\n if (response.data.length != 0) {\r\n this.createColumnDefs();\r\n this.attendanceData = response.data;\r\n this.recordCount = this.attendanceData.length;\r\n this.isViewDisabled = true;\r\n this.submitDisable = true;\r\n this.createColumnDefs();\r\n }\r\n }\r\n this.isViewDisabled = true;\r\n }else{\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n }\r\n\r\n getCellRenderersArray() {\r\n let allRenderes = this.gridApi.getCellRendererInstances();\r\n let render = this.gridApi;\r\n // console.log(render);\r\n let rowRenderArray = [];\r\n while (allRenderes.length != 0) {\r\n var element1 = allRenderes.pop();\r\n var element2 = allRenderes.pop();\r\n rowRenderArray.push({ element1, element2 });\r\n }\r\n this.rowRenderArray = rowRenderArray;\r\n }\r\n\r\n getCurrentDate() {\r\n this._attendance.GetTodayDate().subscribe((res) => {\r\n if (res && res.data != null) {\r\n const format = 'dd-MM-yyyy';\r\n this.todaysDate = this.dataSharing.datePipeFormat(res.data[0], format);\r\n this.attendanceForm.controls['date'].setValue(this.todaysDate);\r\n }\r\n });\r\n }\r\n\r\n dateFormatters(date: any) {\r\n const format = 'yyyy-MM-dd';\r\n // const locale = 'en-US';\r\n // return formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n getSession() {\r\n this.session = session;\r\n }\r\n\r\n getTrainee() {\r\n this.markFor = trainee;\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n // if (value != null && value != undefined) {\r\n // this.paginationPageSize = value;\r\n // this.ngOnInit();\r\n // } else {\r\n // this.paginationPageSize = 20;\r\n // }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeMaster.employeeCode',\r\n 'Participant ID'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellStyle = this.cellStyling.bind(this);\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeMaster.employeeName',\r\n 'Participant Name'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellStyle = this.cellStyling.bind(this);\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('isPresent', 'Attendance');\r\n header.width = 300;\r\n header.cellRenderer = 'checkBoxIcon';\r\n header.cellStyle = this.cellStyling.bind(this);\r\n header.cellRendererParams = {\r\n type: 'Training.Attendance',\r\n // value : true,\r\n onCheckBoxClick: (params) => {\r\n this.onCheckBoxClicked(params.rowData);\r\n },\r\n };\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('remark', 'Remark');\r\n header.width = 300;\r\n header.cellRenderer = 'remarkTextBox';\r\n header.cellStyle = this.cellStyling.bind(this);\r\n header.cellRendererParams = {\r\n type: 'Training.Attendance',\r\n remarkData: this.remark,\r\n onRemarkTextBox: (params: any) => {\r\n this.onRemarkIconClicked(params.rowData);\r\n },\r\n onInputText: (params: any) => {\r\n let traineeId = params.rowData.traineeId;\r\n this.remarkArray[traineeId] = {\r\n traineeId: traineeId,\r\n remark: params.remark,\r\n };\r\n },\r\n };\r\n\r\n this.columnDefs.push(header);\r\n }\r\n\r\n createColumnDefsTrainer() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeCode',\r\n 'Participant ID'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellStyle = this.cellStyling.bind(this);\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeName',\r\n 'Participant Name'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellStyle = this.cellStyling.bind(this);\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('isPresent', 'Attendance');\r\n header.width = 300;\r\n header.cellStyle = this.cellStyling.bind(this);\r\n header.cellRenderer = 'checkBoxIcon';\r\n header.cellRendererParams = {\r\n type: 'Training.Attendance',\r\n // value : true,\r\n onCheckBoxClick: (params) => {\r\n this.onCheckBoxClickedTrainer(params.rowData);\r\n },\r\n };\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('remark', 'Remark');\r\n header.width = 300;\r\n header.cellStyle = this.cellStyling.bind(this);\r\n header.cellRenderer = 'remarkTextBox';\r\n header.cellRendererParams = {\r\n type: 'Training.Attendance',\r\n remarkData: this.remark,\r\n onRemarkTextBox: (params: any) => {\r\n this.onRemarkIconClicked(params.employeeCode);\r\n this.onRemark2(params);\r\n },\r\n onInputText: (params: any) => {\r\n let trainerBatchId = params.rowData.trainerBatchId;\r\n this.remarkArray[trainerBatchId] = {\r\n trainerBatchId: trainerBatchId,\r\n remark: params.remark,\r\n };\r\n },\r\n };\r\n this.columnDefs.push(header);\r\n }\r\n\r\n onRemarkIconClicked(id: number) {\r\n // this.primaryModal.show();\r\n }\r\n onRemark2(params) {\r\n // this.attendanceData.forEach((att) => {\r\n // if (att.employeeCode === params.employeeCode) {\r\n // att.isPresent = params.isPresent;\r\n // if (att.isPresent == true) {\r\n // // att.remark = null;\r\n // }\r\n // }\r\n // });\r\n }\r\n\r\n cellStyling(params: any) {\r\n if (this.submitDisable === true) {\r\n return { 'pointer-events': 'none' };\r\n } else {\r\n return {};\r\n }\r\n }\r\n\r\n onCheckBoxClicked(params: any) {\r\n // this.id = params.traineeId;\r\n // this.attendanceData.forEach((att) => {\r\n // if (att.traineeId === this.id) {\r\n // att.isPresent = params.isPresent;\r\n // if (att.isPresent == true) {\r\n // att.remark = null;\r\n // }\r\n // }\r\n // });\r\n // this.gridApi.setRowData(this.attendanceData);\r\n }\r\n\r\n onCheckBoxClickedTrainer(params: any) {\r\n this.id = params.employeeCode;\r\n this.attendanceData.forEach((att) => {\r\n if (att.employeeCode === this.id) {\r\n att.isPresent = params.isPresent;\r\n if (att.isPresent == true) {\r\n att.remark = null;\r\n }\r\n }\r\n });\r\n // this.gridApi.setRowData(this.attendanceData);\r\n // this.hasRemarkboxDisabled = params.hasRemarkDisabled\r\n }\r\n\r\n submit() {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.attendanceData.forEach((a) => {\r\n if (a.isPresent == undefined && a.remark == undefined) {\r\n a.isPresent = true;\r\n a.remark = null;\r\n }\r\n if (a.isPresent == null && a.remark == null) {\r\n a.isPresent = false;\r\n a.remark = null;\r\n }\r\n if (a.isPresent == true) {\r\n a.remark = null;\r\n }\r\n });\r\n if (this.attendanceForm.value.markFor === 2) {\r\n this.remarkArray.forEach((data) => {\r\n this.attendanceData.forEach((attendance) => {\r\n if (attendance.traineeId == data.traineeId) {\r\n attendance.remark = data.remark;\r\n }\r\n });\r\n });\r\n this.remarkArray = [];\r\n let attendanceDataTrainee;\r\n attendanceDataTrainee = this.mapToModelTraineeAttendance(\r\n this.attendanceData\r\n );\r\n console.log(JSON.stringify(attendanceDataTrainee));\r\n this._attendance\r\n .saveTraineeAttendance(attendanceDataTrainee)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n this.attendanceForm.controls['batchCode'].reset();\r\n // this.attendanceForm.controls['date'].reset();\r\n //this.attendanceForm.controls['date'].setValue(null);\r\n this.attendanceForm.controls['session'].reset();\r\n this.attendanceForm.controls['markFor'].reset();\r\n this.attendanceForm.controls['training'].reset();\r\n this.attendanceForm.controls['trainingArea'].reset();\r\n this.readOnlyDate = true;\r\n } else if (this.attendanceForm.value.markFor === 1) {\r\n this.remarkArray.forEach((data) => {\r\n this.attendanceData.forEach((attendance) => {\r\n if (attendance.trainerBatchId == data.trainerBatchId) {\r\n attendance.remark = data.remark;\r\n }\r\n });\r\n });\r\n this.remarkArray = [];\r\n let attendanceDataTrainer;\r\n attendanceDataTrainer = this.mapToModelTrainerAttendance(\r\n this.attendanceData\r\n );\r\n this._attendance\r\n .saveTrainerAttendance(attendanceDataTrainer)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n console.log(JSON.stringify(attendanceDataTrainer));\r\n this.attendanceForm.controls['batchCode'].reset();\r\n this.attendanceForm.controls['session'].reset();\r\n this.attendanceForm.controls['markFor'].reset();\r\n this.attendanceForm.controls['training'].reset();\r\n this.attendanceForm.controls['trainingArea'].reset();\r\n // this.attendanceForm.controls['date'].reset();\r\n // this.attendanceForm.controls['date'].setValue(null);\r\n this.readOnlyDate = true;\r\n } else {\r\n }\r\n this.attendanceData = [];\r\n this.isViewDisabled = false;\r\n this.readOnly = false;\r\n this.recordCount = 0;\r\n this.readOnlyDate = true;\r\n }\r\n });\r\n }\r\n\r\n mapToModelTraineeAttendance(data: any) {\r\n let arr = [];\r\n data.forEach((d) => {\r\n let traineeAttendance = new TraineeAttendance();\r\n\r\n let batch = new BatchMaster();\r\n batch.batchId = this.attendanceForm.value.batchCode;\r\n traineeAttendance.batch = batch;\r\n\r\n traineeAttendance.session = this.attendanceForm.value.session;\r\n\r\n let trainee = new Trainee();\r\n trainee.traineeId = d.traineeId;\r\n traineeAttendance.trainee = trainee;\r\n\r\n traineeAttendance.attendance = d.isPresent;\r\n\r\n traineeAttendance.remark = d.remark;\r\n //commented for neow\r\n //traineeAttendance.date=this.todaysDate;\r\n traineeAttendance.date = this.attendanceForm.controls['date'].value;\r\n traineeAttendance.createdOn = new Date();\r\n traineeAttendance.updatedOn = new Date();\r\n\r\n traineeAttendance.createdBy = Number(this.userId);\r\n\r\n let user = new User();\r\n user.userId = this.userId;\r\n traineeAttendance.updatedBy = user;\r\n\r\n arr.push(traineeAttendance);\r\n });\r\n this.traineeAttendance = arr;\r\n return this.traineeAttendance;\r\n }\r\n\r\n mapToModelTrainerAttendance(data: any) {\r\n let arr = [];\r\n data.forEach((d) => {\r\n let trainerAttendance = new TrainerAttendance();\r\n let batch = new BatchMaster();\r\n batch.batchId = this.attendanceForm.value.batchCode;\r\n trainerAttendance.batch = batch;\r\n\r\n trainerAttendance.session = this.attendanceForm.value.session;\r\n\r\n // let trainerMaster = new TrainerMaster();\r\n // trainerMaster.trainerId = d.trainer.trainerId;\r\n // trainerAttendance.trainerMaster = trainerMaster;\r\n trainerAttendance.employeeCode = d.employeeCode;\r\n\r\n trainerAttendance.attendance = d.isPresent;\r\n\r\n trainerAttendance.remark = d.remark;\r\n //commented for now\r\n //trainerAttendance.date=this.todaysDate;\r\n trainerAttendance.date = this.attendanceForm.controls['date'].value;\r\n trainerAttendance.createdOn = new Date();\r\n trainerAttendance.updatedOn = new Date();\r\n\r\n trainerAttendance.createdBy = Number(this.userId);\r\n\r\n let user = new User();\r\n user.userId = this.userId;\r\n trainerAttendance.updatedBy = user;\r\n\r\n arr.push(trainerAttendance);\r\n });\r\n this.trainerAttendance = arr;\r\n return this.trainerAttendance;\r\n }\r\n\r\n mapToTrainer(data) { }\r\n\r\n openModal() {\r\n const modalRef = this.modalService.open(RemarkPopUpComponent);\r\n modalRef.result.then((result) => { }).catch((error) => { });\r\n }\r\n addModel() {\r\n this.id = 0;\r\n this.primaryModal.show();\r\n this.dataSharing.setGlobalEditData(null);\r\n }\r\n\r\n changeIndicator = (callAddRole) => {\r\n this.id = 0;\r\n if (callAddRole == 'cancel') {\r\n this.primaryModal.hide();\r\n } else {\r\n this.primaryModal.hide();\r\n }\r\n this.gridApi.setRowData(this.attendanceData);\r\n };\r\n\r\n dataLoaded(child: string) { }\r\n\r\n onAddBtnClicked(event) {\r\n this.remark = event;\r\n this.getCellRenderersArray();\r\n var focusedCell = this.gridApi.getFocusedCell();\r\n // var index = this.rowRenderArray.length - focusedCell.rowIndex - 1;\r\n var index = focusedCell.rowIndex;\r\n\r\n this.rowRenderArray[index].element1.setRemark(this.remark);\r\n if (this.attendanceForm.value.markFor === 2) {\r\n this.attendanceData.forEach((remrk) => {\r\n if (remrk.traineeId == this.id.traineeId) {\r\n remrk.remark = this.remark;\r\n remrk.isPresent = false;\r\n }\r\n });\r\n } else {\r\n this.attendanceData.forEach((remrk) => {\r\n if (remrk.employeeCode == this.id) {\r\n remrk.remark = this.remark;\r\n remrk.isPresent = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n getId(event) {\r\n this.idRmrk = event;\r\n }\r\n\r\n getAssignedTrainingForAttendance() {\r\n this.loading = true;\r\n this._attendance\r\n .GetAssignedTrainings(this.empCode)\r\n .subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.trainingData = response.data;\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getAssignedTraining(e) {\r\n this.loading = true;\r\n this._attendance\r\n .GetTrainingAreaForAttendance(\r\n this.empCode,\r\n e.trainingId,\r\n e.trainingLevelId\r\n )\r\n .subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.trainingAreaData = response.data;\r\n this.attendanceForm.controls['trainingArea'].setValue(null);\r\n this.attendanceForm.controls['batchCode'].setValue(null);\r\n this.attendanceForm.controls['session'].setValue(null);\r\n this.attendanceForm.controls['markFor'].setValue(null);\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n gettrainingArea(e) {\r\n this.loading = true;\r\n this._attendance\r\n .GetBatchDataForAttendance(this.attendanceForm.value.training, e.id,this.empCode)\r\n .subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.batchCode = response.data;\r\n this.attendanceForm.controls['batchCode'].setValue(null);\r\n this.attendanceForm.controls['session'].setValue(null);\r\n this.attendanceForm.controls['markFor'].setValue(null);\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n }\r\n}\r\n\r\nconst session = [\r\n {\r\n id: 1,\r\n name: 'Morning',\r\n },\r\n {\r\n id: 2,\r\n name: 'Evening',\r\n },\r\n];\r\n\r\nconst trainee = [\r\n {\r\n id: 1,\r\n name: 'Trainer',\r\n },\r\n {\r\n id: 2,\r\n name: 'Trainee',\r\n },\r\n];\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Attendance

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-remark-pop-up',\r\n templateUrl: './remark-pop-up.component.html',\r\n styleUrls: ['./remark-pop-up.component.scss'],\r\n})\r\nexport class RemarkPopUpComponent implements OnInit {\r\n changevar: string;\r\n @Input() id: any;\r\n @Output() changeIndicator = new EventEmitter();\r\n @Output() dataLoaded = new EventEmitter();\r\n @Output() formInputText = new EventEmitter();\r\n @Output() getId = new EventEmitter();\r\n @Output() disableRedFlagBtn = new EventEmitter();\r\n @Input() allGroupFromParent: [] = [];\r\n isRedFlagDisabled = true;\r\n remarkForm: FormGroup;\r\n constructor(private fb: FormBuilder) {}\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.remarkForm = this.fb.group({\r\n remark: ['',[Validators.required,Validators.maxLength(50)]],\r\n });\r\n }\r\n\r\n get remark(){\r\n return this.remarkForm.get('remark');\r\n }\r\n\r\n onaddClick() {\r\n this.getId.emit(this.id);\r\n this.disableRedFlagBtn.emit(this.isRedFlagDisabled);\r\n this.formInputText.emit(this.remarkForm.value.remark);\r\n this.closeModel();\r\n }\r\n\r\n closeModel() {\r\n this.changevar = 'cancel';\r\n this.changeIndicator.emit(this.changevar);\r\n this.emit();\r\n this.remarkForm.reset();\r\n }\r\n\r\n emit() {\r\n this.dataLoaded.emit('RemarkPopUpComponent');\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Remark is a required field\r\n Maximum 50 characters allowed\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { formatDate } from '@angular/common';\r\nimport { Component, ElementRef, HostListener, OnInit, ViewChild } from '@angular/core';\r\nimport {\r\n FormArray,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { Trainee } from '../../model/trainee';\r\nimport * as moment from 'moment';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { Entity } from 'src/app/layouts/baseline/model/entity.model';\r\nimport { AddTrainer } from 'src/app/layouts/training/model/add-trainer';\r\nimport { RegistrationService } from 'src/app/layouts/baseline/service/registration.service';\r\nimport { ManageUserService } from 'src/app/layouts/configurations/service/manage user service/manage-user.service';\r\nimport { DeleteIconComponent } from 'src/app/layouts/core/delete-icon/delete-icon.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport * as XLSX from 'xlsx';\r\nimport { InitiateTrainingService } from '../../services/initiate-training.service';\r\nimport { BatchInitiate } from '../../model/batch-initiate';\r\nimport { Training } from '../../model/training';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { BatchMaster } from '../../model/batch-master';\r\nimport { TrainerMaster } from '../../model/trainer-master';\r\nimport { Coordinator } from '../../model/coordinator.model';\r\nimport { EmpCode } from 'src/app/views/pages/model/emp-code';\r\nimport { Bank } from 'src/app/layouts/baseline/model/bank.model';\r\nimport { GroupService } from '../../services/group.service';\r\nimport { TrainingArea } from '../../model/training-area';\r\nimport { TrainingService } from '../../services/training.service';\r\nimport { TrainingAssessmentService } from '../../services/training-assessment.service';\r\nimport { saveAs } from 'file-saver';\r\nimport { TrainingMaterial } from '../../model/training-material';\r\nimport { Link } from '../../model/link';\r\nimport { Document } from '../../model/document';\r\nimport { FileDTO } from '../../model/file-dto.model';\r\nimport { ThirdPartySelfAssessmentVerification } from 'src/app/layouts/monitoring/model/third-party-self-assessment-verification';\r\nimport * as fs from 'file-saver';\r\nimport { User } from 'src/app/views/pages/model/user';\r\nimport { Subscription } from 'rxjs';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\n\r\n@Component({\r\n selector: 'app-form-initiate-training',\r\n templateUrl: './form-initiate-training.component.html',\r\n styleUrls: ['./form-initiate-training.component.scss'],\r\n})\r\nexport class FormInitiateTrainingComponent implements OnInit {\r\n @HostListener(\"window:beforeunload\", [\"$event\"]) unloadHandler(event: Event) {\r\n window.opener.location.reload();\r\n }\r\n @ViewChild('fileInput') fileInput: ElementRef;\r\n\r\n loading: boolean = false;\r\n connector = 'HIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIII';\r\n connectorC = 1;\r\n traineeList = [];\r\n batchMasterAdd: boolean = true;\r\n batchInitiate = new BatchInitiate();\r\n trainer: any;\r\n trainerType = [];\r\n batchNumber = [];\r\n coordinatorList = [];\r\n isEmployee: boolean = false;\r\n isOthers: boolean = false;\r\n checkList;\r\n step = 1;\r\n disableBatch: boolean = false;\r\n readOnlytrainerInfo: boolean = false;\r\n readOnlyTrainerType: boolean = false;\r\n batch: BatchMaster;\r\n batchForm: FormGroup;\r\n batchMasterForm: FormGroup;\r\n trainingMaterial!: FormGroup;\r\n saveBatchMasterSuccess: boolean = true;\r\n isTraineeAddDisabled: boolean = true;\r\n // (inside trainer form)\r\n othersForm: FormGroup;\r\n batchForm_step = false;\r\n batchInfoForm_step = false;\r\n trainingInfoForm_step = false;\r\n CoordinatorForm_step = false;\r\n trainingMaterial_step = false;\r\n trainingMaterialList: Array = [];\r\n trainingMaterials = new TrainingMaterial();\r\n trainingData;\r\n trainingMasterData;\r\n roleTypeId: any;\r\n excelData: any;\r\n employeeEdit = [];\r\n mobNoDummy: any = 982;\r\n employeeList = [];\r\n empList = [];\r\n othersList = [];\r\n otherListsss = [];\r\n traineeListGrid = [];\r\n disableSaveInfoBtnForEmp: boolean = false;\r\n gridOptionsEmployee = {};\r\n gridOptionsOthers = {};\r\n gridOptionsCoordinators = {};\r\n gridOptionsTrainee = {};\r\n columnDefsEmployee;\r\n columnDefsTrainee;\r\n columnDefsOthers;\r\n columnDefsCoordinators;\r\n gridApi: GridApi;\r\n gridApi1: GridApi;\r\n gridApi2: GridApi;\r\n gridApi3: GridApi;\r\n items = [];\r\n startDate;\r\n endDate;\r\n frameworkComponents;\r\n emailPattern = '^[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,4}$';\r\n bankList: Entity[];\r\n fileUploadplaceHolder;\r\n res: TrainerMaster[] = [];\r\n fileName;\r\n fData = new FormData();\r\n totalBatch: any;\r\n saveEmpInfoBtnDisabled: boolean = false;\r\n empCode;\r\n userId;\r\n batchNumberValue: any;\r\n trainingId: any;\r\n batchInitiateId: any;\r\n dropdownSettings: IDropdownSettings = {};\r\n dropdownItems: IDropdownSettings = {};\r\n checkListItemss;\r\n itemsCheckListItems = [];\r\n dataInitiateTraining: any;\r\n batchesList: Array = [];\r\n batchId: number;\r\n batchIdOther: number;\r\n finalSubmitResult: any[];\r\n result: any[];\r\n edit: boolean = false;\r\n add: boolean = true;\r\n batchNumberEdit = [];\r\n batchData: BatchMaster;\r\n minimumTrainer: any;\r\n trainerMaster = new TrainerMaster();\r\n batchMasterSaved: boolean = false;\r\n trainingAreaStatusSubmit: any[];\r\n trainingAreaStatusFinalSubmit: any[];\r\n trainerTypeId: any;\r\n batchNumCoordinatorGrid: any;\r\n batchNumTraineeGrid: any;\r\n IseditBatchInfoForm: boolean = false;\r\n searchVisible: boolean = false;\r\n trainerTypeLabel;\r\n empListNew = [];\r\n saveNextDisable: boolean = true;\r\n //documentsList: Array = [];\r\n document = new Document();\r\n linksList: Array = [];\r\n link = new Link();\r\n documentList = [];\r\n //linkList: Link[] = [];\r\n columnDefsDoc;\r\n columnDefsLink;\r\n fileDTO: FileDTO = new FileDTO();\r\n materialRes;\r\n trainingAreaId;\r\n saveInfoDisable = false;\r\n btnAddCustomBatchDisabled: boolean = false;\r\n checkListItemsArr: any = [];\r\n dataCheck: any[];\r\n hideMultiSelect: boolean = true;\r\n allCheckListMaster: any = [];\r\n checkListMasterData: any = [];\r\n allCheckListItems: any = [];\r\n subscription: Subscription;\r\n browserRefresh: boolean = false;\r\n itemsCheckListItemsData: any = [];\r\n numberOfDays: any;\r\n disabledBatchEditBtn: boolean = false;\r\n constructor(\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private dataSharing: DataSharingService,\r\n private clientStorage: ClientSideStorageService,\r\n private _commonUtilService: CommonUtilService,\r\n private registrationService: RegistrationService,\r\n private toast: NgToastService,\r\n private userService: ManageUserService,\r\n private _initiateTrainingService: InitiateTrainingService,\r\n private _groupService: GroupService,\r\n private manageUserService: ManageUserService,\r\n private trainingService: TrainingService,\r\n private aggridService: AgGridService\r\n ) {\r\n this.reloadFunctionality();\r\n this.trainingMasterData = this.dataSharing.getGlobalEditData().source;\r\n this.trainingData = this.trainingMasterData.value;\r\n this.minimumTrainer = this.trainingData.minimumTrainer;\r\n this.trainingId = this.trainingData.trainingId;\r\n this.trainingAreaId = this.trainingData.trainingAreaId;\r\n this.numberOfDays = this.trainingData.noOfDays;\r\n this.getEditBatchInititateData(this.trainingId, this.trainingAreaId);\r\n this.getEditBatches(this.trainingId);\r\n this.getEditTrainingMaterial(this.trainingId, this.trainingAreaId);\r\n this.createBatchForm();\r\n this.frameworkComponents = {\r\n deleteIconComponent: DeleteIconComponent,\r\n };\r\n this.createColumnDefsDoc();\r\n this.createColumnDefsLink();\r\n this.createColumnDefsEmployee();\r\n this.createColumnDefsOthers();\r\n this.createColumnDefsCoordinator();\r\n this.createColumnDefsTrainee();\r\n this.checkListItems();\r\n this.getTrainerType();\r\n this.getBanks();\r\n this.createDyBatchNumber();\r\n this.getCheckListItems();\r\n let parsedStartDate = moment(this.trainingData.startDate, 'DD-MM-YYYY');\r\n this.startDate = parsedStartDate.format('YYYY-MM-DD');\r\n let parsedEndDate = moment(this.trainingData.endDate, 'DD-MM-YYYY');\r\n this.endDate = parsedEndDate.format('YYYY-MM-DD');\r\n this.roleTypeId = this.clientStorage.get('roleTypeId');\r\n const userId = this.clientStorage.get('userId');\r\n this.userId = userId;\r\n }\r\n\r\n reloadFunctionality() {\r\n this.subscription = this.router.events.subscribe((evt) => {\r\n if (!this.router.navigated) {\r\n this.browserRefresh = true;\r\n }\r\n });\r\n\r\n }\r\n\r\n getEditTrainingMaterial(trainingId: any, trainingAreaId: any) {\r\n this.loading = true;\r\n let materials = [];\r\n this._initiateTrainingService\r\n .getTrainingMaterials(this.trainingId, this.trainingAreaId)\r\n .subscribe((res: any) => {\r\n if (res && res.data != null) {\r\n this.loading = false;\r\n materials = res.data;\r\n this.materialRes = materials;\r\n // this.allForms();\r\n materials.forEach((linkData) => {\r\n if (linkData.linkPath != null && linkData.linkName != null) {\r\n let link = new Link();\r\n link.materialId = linkData.materialId;\r\n link.linkName = linkData.linkName;\r\n link.linkPath = linkData.linkPath;\r\n link.documentLevel = linkData.documentLevel;\r\n this.linksList.push(link);\r\n // this.gridApi2.setRowData(this.linksList);\r\n }\r\n if (\r\n linkData.documentName != null &&\r\n linkData.documentPath != null\r\n ) {\r\n let doucmentD = new Document();\r\n doucmentD.materialId = linkData.materialId;\r\n let docName = linkData.documentName.replace('Training_ID_4_', '');\r\n let doc = linkData.documentPath.replace(\r\n 'C:apache-tomcat-9.0.64webappsDocumentsTrainingDocs',\r\n ''\r\n );\r\n doucmentD.documentName = docName;\r\n doucmentD.documentPath = doc;\r\n doucmentD.documentLevel = linkData.documentLevel;\r\n this.documentList.push(doucmentD);\r\n // this.gridApi1.setRowData(this.documentsList);\r\n }\r\n });\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getEditBatchInititateData(trainingId, trainingAreaId) {\r\n this.loading = true;\r\n this._initiateTrainingService\r\n .getBatchInititate(trainingId, trainingAreaId)\r\n .subscribe((resp) => {\r\n if (resp && resp.data && resp.data.length != 0) {\r\n this.batchInitiate = resp.data[0];\r\n this.createBatchEditForm();\r\n } else {\r\n this.loading = false;\r\n this.createBatchForm();\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getEditBatches(trainingId) {\r\n this.loading = true;\r\n this._initiateTrainingService.getBatches(trainingId).subscribe((resp) => {\r\n if (resp) {\r\n if (resp.data != null) {\r\n this.loading = false;\r\n this.batchMasterAdd = false;\r\n this.batchesList = resp.data;\r\n } else {\r\n this.loading = false;\r\n this.batchMasterAdd = true;\r\n }\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.browserRefresh) {\r\n this.router.navigate(['/training/initiateTraining']);\r\n }\r\n this.createBatchInfoForm();\r\n this.createFormTrainingMaterial();\r\n this.createOthersForm();\r\n this.dropdownSettings = {\r\n idField: 'checkListId',\r\n textField: 'checkListName',\r\n allowSearchFilter: true\r\n };\r\n this.dropdownItems = {\r\n idField: 'checkListItemId',\r\n textField: 'checkListItemName',\r\n allowSearchFilter: true,\r\n };\r\n this.getBatchNumberEdit();\r\n }\r\n\r\n allForms() {\r\n if (this.batchForm.status === 'INVALID') {\r\n this.step = 1;\r\n this.connectorC = 1;\r\n } else if ((this.step = 2)) {\r\n this.step = 2;\r\n this.connectorC = 2;\r\n } else if (this.batchMasterForm.status === 'INVALID') {\r\n this.step = 3;\r\n this.connectorC = 3;\r\n } else if (\r\n this.employeeList === null ||\r\n this.employeeList === undefined ||\r\n this.employeeList.length === 0\r\n ) {\r\n this.step = 4;\r\n this.connectorC = 4;\r\n } else if (\r\n this.employeeList === null ||\r\n this.employeeList === undefined ||\r\n this.employeeList.length === 0\r\n ) {\r\n this.step = 5;\r\n this.connectorC = 5;\r\n }\r\n }\r\n\r\n createBatchForm() {\r\n this.batchForm = this.fb.group({\r\n batchinitiateId: [],\r\n maxBatchSize: [this.trainingData.maximumBatchSize],\r\n numOfParticipants: ['', [Validators.required]],\r\n numOfRooms: ['', [Validators.required]],\r\n totalBatches: [],\r\n cycles: [],\r\n });\r\n }\r\n createBatchEditForm() {\r\n this.batchForm = this.fb.group({\r\n batchinitiateId: [this.batchInitiate.batchinitiateId],\r\n maxBatchSize: [this.trainingData.maximumBatchSize],\r\n numOfParticipants: [\r\n this.batchInitiate.tentitiveParticipants,\r\n [Validators.required],\r\n ],\r\n numOfRooms: [this.batchInitiate.noOfRooms, [Validators.required]],\r\n totalBatches: [this.batchInitiate.calculatedBatch],\r\n cycles: [this.batchInitiate.cycle],\r\n });\r\n this.loading = false;\r\n }\r\n\r\n getEmpCode(e) {\r\n this.empCode = e.target.value.toUpperCase();\r\n }\r\n\r\n saveOthersFormData() {\r\n var filter = [];\r\n this.othersList.forEach((o) => {\r\n if (\r\n o.mobile == this.othersForm.get('mobile').value ||\r\n o.email == this.othersForm.get('email').value\r\n ) {\r\n filter.push(o);\r\n }\r\n });\r\n\r\n if (filter.length == 0) {\r\n this.othersList.push(this.othersForm.value);\r\n this.othersList.forEach((list) => {\r\n list.batch = this.batchMasterForm.get('batchNumber').value;\r\n });\r\n this.gridApi1.setRowData(this.othersList);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Trainer already added',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n\r\n saveEmployeeInfoNew() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n let trainerMaster;\r\n // this.empListNew = this.empListNew.filter((emp) => emp.trainerBatchId == null)\r\n trainerMaster = this.mapToModelNewTrainer(this.empListNew);\r\n if (trainerMaster === null || trainerMaster.length === 0) {\r\n this.saveNextDisable = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: 'Record has been added successfully.',\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = true;\r\n this._initiateTrainingService\r\n .saveNewTrainer(trainerMaster)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.saveNextDisable = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.saveInfoDisable = true;\r\n // this.empListNew = [];\r\n // this.othersForm.reset();\r\n }\r\n },\r\n (error) => {\r\n this.loading = true;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n // this.readOnlytrainerInfo = false;\r\n }\r\n });\r\n }\r\n\r\n saveOthersInfo() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n let trainerMaster;\r\n this.othersList = this.othersList.filter(\r\n (emp) => emp.trainerBatchId == null\r\n );\r\n trainerMaster = this.mapToModelOthersTrainer(this.othersList);\r\n this._initiateTrainingService\r\n .saveTrainer(trainerMaster, this.batchId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.saveNextDisable = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.othersList = [];\r\n this.othersForm.reset();\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n this.readOnlytrainerInfo = false;\r\n }\r\n });\r\n }\r\n\r\n mapToModelNewTrainer(data: any) {\r\n let arr = [];\r\n let batchID = this.batchId;\r\n let batch = new BatchMaster();\r\n batch.batchId = this.batchId;\r\n data.forEach((datas) => {\r\n let trainerMaster = new AddTrainer();\r\n trainerMaster.trainerCode = datas.employeeCode;\r\n trainerMaster.batch = batch;\r\n trainerMaster.createdBy = this.userId;\r\n let user = new User();\r\n user.userId = this.userId;\r\n trainerMaster.updatedBy = user;\r\n if (datas.trainerBatchId === null || datas.trainerBatchId === undefined) {\r\n arr.push(trainerMaster);\r\n }\r\n });\r\n this.res = arr;\r\n return this.res;\r\n }\r\n\r\n mapToModelOthersTrainer(data: any) {\r\n let arr = [];\r\n data.forEach((datas) => {\r\n let trainerMaster = new TrainerMaster();\r\n trainerMaster.IFSCcode = datas.IFSC;\r\n trainerMaster.aadharNo = datas.aadhar;\r\n trainerMaster.acountHolder = datas.nameAsInBank;\r\n trainerMaster.bankAccountNo = datas.accountNumber;\r\n let bank = new Bank();\r\n bank.bankId = datas.bank;\r\n trainerMaster.bankId = bank;\r\n trainerMaster.email = datas.email;\r\n trainerMaster.trainerName = datas.name;\r\n trainerMaster.organizationName = datas.organizationName;\r\n trainerMaster.mobile = datas.mobile;\r\n let entity = new Entity();\r\n entity.id = 58;\r\n trainerMaster.trainerType = entity;\r\n arr.push(trainerMaster);\r\n });\r\n this.res = arr;\r\n return this.res;\r\n }\r\n\r\n addEmp() {\r\n this.disableBatch = true;\r\n this._initiateTrainingService\r\n .searchTrainer(this.batchData.batchId, this.empCode)\r\n .subscribe(\r\n (response) => {\r\n if (response && response.status === '200' && response.data !== null) {\r\n response.data.forEach((element) => {\r\n element.state = 'M.P';\r\n element.batch = this.batchData.batchId;\r\n if (element.mobileNo == null) {\r\n element.mobileNo = Number(\r\n Math.floor(Math.random() * 1000000000)\r\n );\r\n }\r\n });\r\n if (response.data.length === 0) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'No data found for employee ' +\r\n this.empCode.toUpperCase() +\r\n '!',\r\n duration: 5000,\r\n });\r\n } else {\r\n const filter = this.empList.filter(\r\n (e) =>\r\n e.employeeCode === this.empCode.toUpperCase() &&\r\n e.batch === this.batchData.batchId\r\n );\r\n if (filter.length === 0) {\r\n this.saveEmpInfoBtnDisabled = false;\r\n this.empList.push(response.data[0]);\r\n this.gridApi.setRowData(this.empList);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'Employee code : ' +\r\n this.empCode.toUpperCase() +\r\n ' is already added.',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 5000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n addEmployee() {\r\n let length;\r\n let batchid;\r\n if (this.batchId && this.batchId != undefined && this.batchId != null) {\r\n batchid = this.batchId;\r\n } else if (this.batchIdOther && this.batchIdOther != undefined && this.batchIdOther != null) {\r\n batchid = this.batchIdOther;\r\n }\r\n let subGroupId = this.trainingData.subGroupId.subGroupId;\r\n if (this.empCode) {\r\n //For Normal Training , Training TYpe Id = 93\r\n if (\r\n this.trainingData.training.trainingType != null &&\r\n this.trainingData.training.trainingType != undefined &&\r\n this.trainingData.training.trainingType.id === 93\r\n ) {\r\n this._initiateTrainingService\r\n .getTrainerDetailsViaEmpCode(this.empCode, subGroupId, batchid)\r\n .subscribe((resp) => {\r\n if (resp && resp.status === '200' && resp.data.length > 0) {\r\n let filteredEmployeeCode = this.empListNew.filter(\r\n (data) => data.employeeCode === resp.data[0].employeeCode\r\n );\r\n if (filteredEmployeeCode.length == 0) {\r\n this.empListNew.push(resp.data[0]);\r\n //this.empListNew.push(resp[0].empCode);\r\n this.gridApi.setRowData(this.empListNew);\r\n this.aggridService.autoSizeColumns(this.gridOptionsEmployee);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: this.empCode + ' has already been added!',\r\n duration: 5000,\r\n });\r\n }\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: resp.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n } else {\r\n length = this.empCode.length;\r\n if (length === 6) {\r\n if (this.trainerTypeLabel === 'External Resource') {\r\n this.toast.info({\r\n detail: 'Info',\r\n summary: 'Enter correct code',\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = true;\r\n this._initiateTrainingService\r\n .getEmpDetails('Employee', this.empCode, batchid)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.status == '200' &&\r\n response.data !== null\r\n ) {\r\n this.loading = false;\r\n let filteredEmployeeCode = this.empListNew.filter(\r\n (data) =>\r\n data.employeeCode === response.data[0].employeeCode\r\n );\r\n if (filteredEmployeeCode.length == 0) {\r\n this.empListNew.push(response.data[0]);\r\n this.gridApi.setRowData(this.empListNew);\r\n this.aggridService.autoSizeColumns(this.gridOptionsEmployee);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: this.empCode + ' has already been added!',\r\n duration: 5000,\r\n });\r\n }\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n } else if (length === 8) {\r\n if (this.trainerTypeLabel === 'Employee') {\r\n this.toast.info({\r\n detail: 'Info',\r\n summary: 'Enter correct code',\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = true;\r\n this._initiateTrainingService\r\n .getEmpDetails('ExternalResource', this.empCode)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.status == '200' &&\r\n response.data !== null\r\n ) {\r\n this.loading = false;\r\n let filteredEmployeeCode = this.empListNew.filter(\r\n (data) =>\r\n data.employeeCode === response.data[0].employeeCode\r\n );\r\n if (filteredEmployeeCode.length == 0) {\r\n this.loading = false;\r\n this.empListNew.push(response.data[0]);\r\n this.gridApi.setRowData(this.empListNew);\r\n this.aggridService.autoSizeColumns(this.gridOptionsEmployee);\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: this.empCode + ' has already been added!',\r\n duration: 5000,\r\n });\r\n }\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n //summary: this.empCode + ' does not exists!',\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n addCoordinator() {\r\n this.empCode = this.empCode.trim();\r\n // this._initiateTrainingService.getEmpByEmpCode(this.empCode).subscribe(\r\n this.loading = true;\r\n this._initiateTrainingService.searchCoordinator(this.empCode, this.batchData.batchId).subscribe(\r\n (response: any) => {\r\n if (response && response.data !== null && response.status === '200') {\r\n\r\n response.data.forEach((element) => {\r\n element.schoolName = element?.schoolMaster?.schoolName;\r\n element.state = Constantss.MP;\r\n element.batch = { batchNumber: this.batchNumCoordinatorGrid };\r\n element.employeeMaster = {\r\n employeeCode: element?.employeeCode || '',\r\n employeeName: element?.employeeName || '',\r\n designation: element?.designation || '',\r\n districtName: element?.districtName || '',\r\n mobileNo: element?.mobileNo || ''\r\n };\r\n });\r\n this.loading = false;\r\n if (response.data.length === 0) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'No data found for employee ' +\r\n this.empCode.toUpperCase() +\r\n '!',\r\n duration: 5000,\r\n });\r\n } else {\r\n const filter = this.employeeList.filter(\r\n (e) =>\r\n e?.employeeMaster?.employeeCode === this.empCode.toUpperCase() &&\r\n e?.batch?.batchNumber === this.batchNumCoordinatorGrid\r\n );\r\n if (filter.length === 0) {\r\n this.employeeList.push(response.data[0]);\r\n this.aggridService.autoSizeColumns(this.gridOptionsCoordinators);\r\n this.gridApi2.setRowData(this.employeeList);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'Employee code : ' +\r\n this.empCode.toUpperCase() +\r\n ' is already added.',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 5000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n addEmpTrainee() {\r\n if (this.batchData == undefined) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Select a batch number',\r\n duration: 10000,\r\n });\r\n } else {\r\n const maxBatchSize = this.trainingData.maximumBatchSize;\r\n this.disableBatch = true;\r\n // this.userService.getUserDataById(this.empCode).subscribe((response) => {\r\n // this._initiateTrainingService.getEmpByEmpCode(this.empCode).subscribe(\r\n this.loading = true;\r\n this._initiateTrainingService.searchTrainee(this.empCode, this.batchData.batchId).subscribe(\r\n (response: any) => {\r\n if (response && response.data !== null && response.status === '200') {\r\n this.loading = false;\r\n response.data.forEach((element) => {\r\n if (element.schoolMaster && element.schoolMaster != undefined && element.schoolMaster.schoolName != undefined) {\r\n element.schoolName = element.schoolMaster.schoolName;\r\n }\r\n\r\n element.state = Constantss.MP;\r\n element.batchId = { batchNumber: this.batchNumTraineeGrid };\r\n element.employeeMaster = {\r\n employeeCode: element.employeeCode || '',\r\n employeeName: element.employeeName || '',\r\n designation: element.designation || '',\r\n districtName: element.districtName || '',\r\n mobileNo: element.mobileNo || ''\r\n };\r\n });\r\n // response.data.forEach((element) => {\r\n // element.state = 'M.P';\r\n // element.batch = this.batchNumTraineeGrid;\r\n // });\r\n if (response.data.length === 0) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'No data found for employee ' +\r\n this.empCode.toUpperCase() +\r\n '!',\r\n duration: 5000,\r\n });\r\n } else {\r\n const filter = this.traineeListGrid.filter(\r\n (e) =>\r\n e.employeeCode === this.empCode.toUpperCase() &&\r\n e.batch === this.batchNumTraineeGrid\r\n );\r\n if (filter.length === 0) {\r\n if (this.traineeListGrid.length + 1 > maxBatchSize) {\r\n this.toast.info({\r\n detail: 'Info',\r\n summary:\r\n 'Maximum ' +\r\n maxBatchSize +\r\n ' Trainees can be added in this batch',\r\n duration: 10000,\r\n });\r\n } else {\r\n let traineeGrid = this.traineeListGrid;\r\n this.traineeListGrid = [];\r\n this.traineeListGrid.push(response.data[0]);\r\n this.traineeListGrid =\r\n this.traineeListGrid.concat(traineeGrid);\r\n this.gridApi3.setRowData(this.traineeListGrid);\r\n this.aggridService.autoSizeColumns(this.gridOptionsTrainee);\r\n }\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'Employee code : ' +\r\n this.empCode.toUpperCase() +\r\n ' is already added.',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'No data found for employee ' + this.empCode.toUpperCase() + '!',\r\n duration: 5000,\r\n });\r\n }\r\n );\r\n }\r\n }\r\n\r\n get numOfParticipants() {\r\n return this.batchForm.get('numOfParticipants');\r\n }\r\n\r\n\r\n get maxBatchSize() {\r\n return this.batchForm.get('maxBatchSize');\r\n }\r\n\r\n get numOfRooms() {\r\n return this.batchForm.get('numOfRooms');\r\n }\r\n\r\n get totalBatches() {\r\n return this.batchForm.get('totalBatches');\r\n }\r\n\r\n createOthersForm() {\r\n this.othersForm = this.fb.group({\r\n name: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z ]+$'),\r\n ],\r\n ],\r\n city: [''],\r\n state: [''],\r\n mobile: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.maxLength(10),\r\n Validators.pattern('^[0-9]+$'),\r\n ],\r\n ],\r\n email: ['', [Validators.required, Validators.pattern(this.emailPattern)]],\r\n organizationName: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.maxLength(200),\r\n Validators.pattern('^[A-Za-z ]+$'),\r\n ],\r\n ],\r\n aadhar: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.maxLength(12),\r\n Validators.pattern('^[0-9]+$'),\r\n ],\r\n ],\r\n bank: [null, [Validators.required]],\r\n IFSC: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.maxLength(11),\r\n Validators.pattern('^[A-Za-z]{4}0[A-Z0-9a-z]{6}$'),\r\n ],\r\n ],\r\n bankBranch: ['', [Validators.required]],\r\n nameAsInBank: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z0-9 ]+$'),\r\n ],\r\n ],\r\n accountNumber: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.maxLength(18),\r\n Validators.pattern('^[0-9]+$'),\r\n ],\r\n ],\r\n batch: [this.batchIdOther],\r\n // checkListItems: []\r\n });\r\n }\r\n\r\n getCheckListItems() {\r\n this._initiateTrainingService\r\n .getTrainingCheckListDropdown(this.trainingId)\r\n .subscribe((res) => {\r\n if (res.data.length != 0) {\r\n this.checkListItemss = res?.data;\r\n this.checkListMasterData = this.checkListItemss;\r\n this.hideMultiSelect = true;\r\n // this.checkListItemss = res.data[0].checkListItems;\r\n } else {\r\n // document.getElementById(\"hideMultiSelect\").style.display=\"none\";\r\n this.hideMultiSelect = false;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n getEndDate(event) {\r\n const startDate = new Date(\r\n this.batchMasterForm.get('startDate').value\r\n ).getTime();\r\n const endDate = new Date(\r\n this.batchMasterForm.get('endDate').value\r\n ).getTime();\r\n if (startDate != null && endDate != null && startDate != undefined\r\n && endDate != undefined && (startDate > endDate)) {\r\n document.getElementById('errorEndDate').innerHTML =\r\n 'End Date must be greater than or equal to Start Date';\r\n document.getElementById('errorEndDate').style.color = 'red';\r\n this.batchMasterForm.controls['endDate'].setValue('');\r\n }\r\n else {\r\n document.getElementById('errorEndDate').innerHTML = '';\r\n if (startDate != null && endDate != null && startDate != undefined\r\n && endDate != undefined && ((endDate - startDate) < this.numberOfDays)) {\r\n document.getElementById('errorEndDate').innerHTML =\r\n `Batch should not be less than ${this.numberOfDays}`;\r\n document.getElementById('errorEndDate').style.color = 'red';\r\n this.batchMasterForm.controls['endDate'].setValue('');\r\n }\r\n else {\r\n document.getElementById('errorEndDate').innerHTML = '';\r\n }\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n getEndTime(event) {\r\n const startTime = this.batchMasterForm.controls['startTime'].value;\r\n const endTime = event.target.value;\r\n if (startTime > endTime) {\r\n document.getElementById('error').innerHTML =\r\n 'End Time must be greater than Start Time';\r\n document.getElementById('error').style.color = 'red';\r\n this.batchMasterForm.controls['endTime'].setValue('');\r\n } else {\r\n document.getElementById('error').innerHTML = '';\r\n }\r\n }\r\n\r\n get name() {\r\n return this.othersForm.get('name');\r\n }\r\n\r\n get accountNumber() {\r\n return this.othersForm.get('accountNumber');\r\n }\r\n\r\n get nameAsInBank() {\r\n return this.othersForm.get('nameAsInBank');\r\n }\r\n\r\n get city() {\r\n return this.othersForm.get('city');\r\n }\r\n\r\n get email() {\r\n return this.othersForm.get('email');\r\n }\r\n\r\n get state() {\r\n return this.othersForm.get('state');\r\n }\r\n\r\n get mobile() {\r\n return this.othersForm.get('mobile');\r\n }\r\n\r\n get organizationName() {\r\n return this.othersForm.get('organizationName');\r\n }\r\n\r\n get aadhar() {\r\n return this.othersForm.get('aadhar');\r\n }\r\n\r\n get bank() {\r\n return this.othersForm.get('bank');\r\n }\r\n\r\n get IFSC() {\r\n return this.othersForm.get('IFSC');\r\n }\r\n\r\n get bankBranch() {\r\n return this.othersForm.get('bankBranch');\r\n }\r\n\r\n getNumberOfParticipants(event) {\r\n const numberOfDays = event.target.value;\r\n const maxBatchSize = this.batchForm.get('maxBatchSize').value;\r\n this.batchForm.controls['totalBatches'].setValue(\r\n Math.round(numberOfDays / maxBatchSize)\r\n );\r\n const totalBatches = this.batchForm.get('totalBatches').value;\r\n const numOfRooms = this.batchForm.get('numOfRooms').value;\r\n if (totalBatches != null && numOfRooms != null) {\r\n this.batchForm.controls['cycles'].setValue(\r\n Math.ceil(totalBatches / numOfRooms)\r\n );\r\n }\r\n }\r\n\r\n getNumberOfRooms(event) {\r\n const numberOfRooms = event.target.value;\r\n const totalBatches = this.batchForm.get('totalBatches').value;\r\n if (Math.round(totalBatches / numberOfRooms) === 0) {\r\n this.batchForm.controls['cycles'].setValue(1);\r\n } else {\r\n this.batchForm.controls['cycles'].setValue(\r\n Math.round(totalBatches / numberOfRooms)\r\n );\r\n }\r\n }\r\n\r\n createDyBatchNumber() {\r\n for (let i = 0; i < this.totalBatch; i++) {\r\n this.batchNumber[i] = {\r\n batchId: i + 1,\r\n batchNumber: i + 1,\r\n };\r\n }\r\n }\r\n\r\n getBatchNumberEdit() {\r\n this.loading = true;\r\n this._initiateTrainingService\r\n .viewBatches(this.trainingId, this.trainingData.trainingAreaId)\r\n .subscribe((resp) => {\r\n if (resp && resp !== null) {\r\n this.loading = false;\r\n this.batchNumberEdit = resp.data;\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: resp.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n });\r\n });\r\n }\r\n\r\n createBatchInfoForm() {\r\n this.batchMasterForm = this.fb.group({\r\n batchId: [],\r\n batchNumber: [null, [Validators.required]],\r\n startDate: ['', [Validators.required]],\r\n endDate: ['', [Validators.required]],\r\n startTime: ['', [Validators.required]],\r\n endTime: ['', [Validators.required]],\r\n trainerType: [null, [Validators.required]],\r\n venue: ['', [Validators.maxLength(150)]],\r\n address: ['', [Validators.maxLength(250)]],\r\n checkListItems: [null, [Validators.required]],\r\n itemsCheckListItems: [null, [Validators.required]]\r\n });\r\n }\r\n\r\n // uploadTraineeList(event: any) {\r\n // this.excelData = this.readExcelData(event);\r\n // let files = event.target.files[0];\r\n // let doctype = files.name.split('.');\r\n // let doctypeName = doctype[doctype.length - 1];\r\n // if (\r\n // (doctypeName && doctypeName === 'xls' && files.size <= 11534336) ||\r\n // (doctypeName && doctypeName === 'xlsx' && files.size <= 11534336)\r\n // ) {\r\n // this.fileUploadplaceHolder = '';\r\n // this.fData.append('file', files);\r\n // this.fileName = files.name;\r\n // } else {\r\n // this.toast.info({\r\n // detail: 'Invalid File',\r\n // summary:\r\n // 'Only Excel file formats with maximum size upto 11MB are allowed',\r\n // duration: 10000,\r\n // });\r\n // event.target.value = '';\r\n // }\r\n // }\r\n\r\n uploadTraineeList(event: any) {\r\n this.loading = true;\r\n let files = event.target.files[0];\r\n let doctype = files.name.split('.');\r\n let doctypeName = doctype[doctype.length - 1];\r\n if (\r\n (doctypeName && doctypeName === 'xls' && files.size <= 11534336) ||\r\n (doctypeName && doctypeName === 'xlsx' && files.size <= 11534336)\r\n ) {\r\n this.loading = false;\r\n this.fileUploadplaceHolder = '';\r\n this.fData = new FormData();\r\n this.fData.append('ExcelFile', files);\r\n this.fileName = files.name;\r\n this.fetchData();\r\n } else {\r\n this.toast.info({\r\n detail: 'Invalid File',\r\n summary:\r\n 'Only Excel file formats with maximum size upto 11MB are allowed',\r\n duration: 10000,\r\n });\r\n event.target.value = '';\r\n this.loading = false;\r\n }\r\n }\r\n\r\n fetchData() {\r\n this.loading = true;\r\n let maxBatchSize;\r\n this.onGridReady;\r\n this._initiateTrainingService.fetchEmpFromExcel(this.fData, this.trainingData.trainingId).subscribe(\r\n (resp) => {\r\n if (resp != null && resp.employeeList.length !== 0) {\r\n this.loading = false;\r\n if (\r\n this.trainingData != undefined &&\r\n this.trainingData != null &&\r\n this.trainingData.maximumBatchSize != undefined &&\r\n this.trainingData.maximumBatchSize != null\r\n ) {\r\n maxBatchSize = this.trainingData.maximumBatchSize;\r\n }\r\n resp.employeeList.forEach((element) => {\r\n element.state = Constantss.MP;\r\n element.schoolName = element?.schoolMaster?.schoolName;\r\n element.batchId = { batchNumber: this.batchNumTraineeGrid };\r\n element.empCode = element?.employeeCode;\r\n element.employeeMaster = {\r\n employeeCode: element?.employeeCode || '',\r\n employeeName: element?.employeeName || '',\r\n designation: element?.designation || '',\r\n districtName: element?.districtName || '',\r\n mobileNo: element?.mobileNo || ''\r\n };\r\n const filter = this.traineeListGrid.filter(\r\n (e) => e.employeeCode === element.employeeCode.toUpperCase()\r\n );\r\n if (filter.length === 0) {\r\n if (\r\n maxBatchSize != undefined &&\r\n maxBatchSize > this.traineeListGrid.length\r\n ) {\r\n this.traineeListGrid.push(element);\r\n this.aggridService.autoSizeColumns(this.gridOptionsTrainee);\r\n } else {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Maximum Batch Size Exceeded! ' + maxBatchSize,\r\n duration: 10000,\r\n });\r\n }\r\n }\r\n });\r\n this.gridApi3.setRowData(this.traineeListGrid);\r\n this.aggridService.autoSizeColumns(this.gridOptionsTrainee);\r\n let json = JSON.stringify(resp.invalidCodes);\r\n let final = JSON.parse(json);\r\n //this._initiateTrainingService.exportAsExcelFile(final,\"InvalidCodes\");\r\n this._initiateTrainingService\r\n .downlaodInvalidCodes(final)\r\n .subscribe((data) => {\r\n let fileName = 'Invalid_Employee_Codes.xlsx';\r\n const blob = new Blob([data.body], {\r\n type: data.headers.get('content-type'),\r\n });\r\n fileName =\r\n fileName ||\r\n data.headers.get('content-disposition').split(';')[0];\r\n const file = new File([blob], fileName, {\r\n type: data.headers.get('content-type'),\r\n });\r\n saveAs(file);\r\n\r\n // const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n // const blob = new Blob([data], { type: 'application/vnd.ms-excel' });\r\n // fs.saveAs(blob, 'InvalidCode.xlsx');\r\n });\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: resp.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n // readExcelData(event) {\r\n // const target: DataTransfer = event.target;\r\n // if (target.files.length !== 1) {\r\n // throw new Error('Cannot use multiple files');\r\n // }\r\n // const reader: FileReader = new FileReader();\r\n // reader.readAsBinaryString(target.files[0]);\r\n // reader.onload = (e: any) => {\r\n // /* create workbook */\r\n // const binarystr: string = e.target.result;\r\n // const wb: XLSX.WorkBook = XLSX.read(binarystr, { type: 'binary' });\r\n\r\n // /* selected the first sheet */\r\n // const wsname: string = wb.SheetNames[0];\r\n // const ws: XLSX.WorkSheet = wb.Sheets[wsname];\r\n\r\n // /* save data */\r\n // let data = XLSX.utils.sheet_to_json(ws); // to get 2d array pass 2nd parameter as object {header: 1}\r\n // let empArray = [];\r\n // empArray = data;\r\n // empArray.forEach((emp) => {\r\n // this.empCode = emp.EmpCode;\r\n // this.addEmp();\r\n // });\r\n // return data;\r\n // };\r\n // }\r\n\r\n get batchNumbere() {\r\n return this.batchMasterForm.get('batchNumber');\r\n }\r\n\r\n get startDatee() {\r\n return this.batchMasterForm.get('startDate');\r\n }\r\n\r\n get endDatee() {\r\n return this.batchMasterForm.get('endDate');\r\n }\r\n\r\n get startTime() {\r\n return this.batchMasterForm.get('startTime');\r\n }\r\n\r\n get endTime() {\r\n return this.batchMasterForm.get('endTime');\r\n }\r\n\r\n get trainerTypee() {\r\n return this.batchMasterForm.get('trainerType');\r\n }\r\n\r\n get venue() {\r\n return this.batchMasterForm.get('venue');\r\n }\r\n\r\n get address() {\r\n return this.batchMasterForm.get('address');\r\n }\r\n\r\n\r\n editBatchInfoForm(data) {\r\n if (data.startDate != null && data.startDate != '') {\r\n this.IseditBatchInfoForm = true;\r\n //changed\r\n this.readOnlyTrainerType = false;\r\n // this.readOnlytrainerInfo = true;\r\n } else {\r\n this.readOnlyTrainerType = false;\r\n }\r\n\r\n let startDate = this.dateFormatters(data.startDate);\r\n let endDate = this.dateFormatters(data.endDate);\r\n\r\n this.batchMasterForm = this.fb.group({\r\n batchId: [data.batchId],\r\n batchNumber: [data.batchNumber, [Validators.required]],\r\n startDate: [startDate, [Validators.required]],\r\n endDate: [endDate, [Validators.required]],\r\n startTime: [data.startTime, [Validators.required]],\r\n endTime: [data.endTime, [Validators.required]],\r\n trainerType: [data.trainerType.id, [Validators.required]],\r\n venue: [data.venue, [Validators.maxLength(150)]],\r\n address: [data.address, [Validators.maxLength(250)]],\r\n checkListItems: [data.checkListMasterList, [Validators.required]],\r\n itemsCheckListItems: [data.checkListItemsList, [Validators.required]],\r\n });\r\n // if (data.trainerType.entityName === 'Employee') {\r\n this.isEmployee = true;\r\n // this.isOthers = false;\r\n // this.readOnlytrainerInfo = true;\r\n // } else if (data.trainerType.entityName === 'Others') {\r\n // this.isOthers = true;\r\n // this.isEmployee = false;\r\n // // this.readOnlytrainerInfo = true;\r\n // } else {\r\n // this.isOthers = true;\r\n // this.isEmployee = true;\r\n // // this.readOnlytrainerInfo = true;\r\n // }\r\n this.itemsCheckListItems = data.checkListItemsList;\r\n }\r\n\r\n dateFormatters(date: any) {\r\n const format = 'yyyy-MM-dd';\r\n // const locale = 'en-US';\r\n // return formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n getCoordinatorBatch(data) {\r\n if (data != undefined && data != null) {\r\n this.loading = true;\r\n this.batchData = new BatchMaster();\r\n this.batchData.batchId = data.batchId;\r\n this.batchNumCoordinatorGrid = data.batchNumber;\r\n this.searchVisible = true;\r\n this._initiateTrainingService\r\n .getCoordinator(data.batchId)\r\n .subscribe((res) => {\r\n if (res && res.data) {\r\n this.loading = false;\r\n this.employeeList = [];\r\n this.aggridService.autoSizeColumns(this.gridOptionsCoordinators);\r\n this.editEmployeeList(res.data, data.batchNumber);\r\n } else if (res.status === '400') {\r\n this.employeeList = [];\r\n this.loading = false;\r\n this.toast.info({\r\n detail: Constantss.INFO,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n this.employeeList = [];\r\n }\r\n }),\r\n (error) => {\r\n this.loading = false;\r\n this.toast.info({\r\n detail: 'INFO',\r\n summary: error.error,\r\n duration: 5000,\r\n });\r\n this.employeeList = [];\r\n };\r\n }\r\n }\r\n\r\n getCoordinatorBatchEdit(data) {\r\n // this.resetBatchForm();\r\n this.disabledBatchEditBtn = false;\r\n this.batchMasterSaved = false;\r\n if (data != undefined && data != null) {\r\n this.loading = true;\r\n this.batchData = new BatchMaster();\r\n this.batchData.batchId = data.batchId;\r\n this.batchIdOther = data.batchId;\r\n this.saveInfoDisable = false;\r\n // this.batchId = data.batchId;\r\n this._initiateTrainingService\r\n .getTrainersByBatch(\r\n this.trainingId,\r\n data.batchId,\r\n this.trainingData.trainingAreaId\r\n )\r\n .subscribe((res) => {\r\n if (res && res.data && res.data[0].batch != null) {\r\n this.loading = false;\r\n this.saveNextDisable = false;\r\n this.saveEmpInfoBtnDisabled = true;\r\n this.batchId = res.data[0].batch.batchId;\r\n let response;\r\n let arr1 = [];\r\n let arr2 = [];\r\n response = res.data[0];\r\n if (response.batch.launchStatus.id === 64) {\r\n this.disabledBatchEditBtn = true;\r\n } else {\r\n this.disabledBatchEditBtn = false;\r\n }\r\n this.editBatchInfoForm(response.batch);\r\n res.data.forEach((item) => {\r\n this.trainerTypeLabel = item.batch.trainerType.entityName;\r\n if (item.batch.trainerType.entityName === 'Employee') {\r\n this.trainerTypeId =\r\n this.batchMasterForm.get('trainerType').value;\r\n if (item.trainers != null) {\r\n // item.employeeName = item.trainer.trainerName;\r\n // item.batch = this.batchData.batchId;\r\n // item.mobileNo = item.trainer.mobile;\r\n // item.state = 'M.P';\r\n // item.email = item.trainer.email;\r\n // item.employeeCode = item.trainer.empCode;\r\n // item.designation = item.trainer.designation;\r\n\r\n this.empListNew = item.trainers;\r\n if (this.empListNew.length != 0) {\r\n this.saveNextDisable = false;\r\n }\r\n // this.employeeEdit.push(item);\r\n // this.saveEmpInfoBtnDisabled = true;\r\n }\r\n } else if (\r\n item.batch.trainerType.entityName === 'External Resource'\r\n ) {\r\n this.trainerTypeId =\r\n this.batchMasterForm.get('trainerType').value;\r\n if (item.trainers != null) {\r\n // item.name = item.trainer.trainerName;\r\n // item.batch = item.batch.batchNumber;\r\n // item.aadhar = item.trainer.aadharNo;\r\n // item.nameAsInBank = item.trainer.acountHolder;\r\n // item.accountNumber = item.trainer.bankAccountNo;\r\n // item.IFSC = item.trainer.ifsccode;\r\n // item.state = 'M.P';\r\n // item.mobile = item.trainer.mobile;\r\n // item.email = item.trainer.email;\r\n // item.organizationName = item.trainer.organizationName;\r\n this.empListNew = item.trainers;\r\n this.aggridService.autoSizeColumns(this.gridOptionsEmployee);\r\n if (this.empListNew.length != 0) {\r\n this.saveNextDisable = false;\r\n }\r\n }\r\n } else if (item.batch.trainerType.entityName === 'Both') {\r\n // if (item.trainers != null && item.trainers.trainerType.entityName == \"Employee\") {\r\n // // item.employeeName = item.trainer.trainerName;\r\n // // item.batch = this.batchData.batchId;\r\n // // item.mobileNo = item.trainer.mobile;\r\n // // item.state = 'M.P';\r\n // // item.email = item.trainer.email;\r\n // // item.employeeCode = item.trainer.empCode;\r\n // // item.designation = item.trainer.designation;\r\n\r\n // this.empListNew.push(item.trainers);\r\n // } else if (item.trainers != null && item.trainers.trainerType.entityName == \"External Resource\") {\r\n // // item.name = item.trainer.trainerName;\r\n // // item.batch = item.batch.batchNumber;\r\n // // item.aadhar = item.trainer.aadharNo;\r\n // // item.nameAsInBank = item.trainer.acountHolder;\r\n // // item.accountNumber = item.trainer.bankAccountNo;\r\n // // item.IFSC = item.trainer.ifsccode;\r\n // // item.state = 'M.P';\r\n // // item.mobile = item.trainer.mobile;\r\n // // item.email = item.trainer.email;\r\n // // item.organizationName = item.trainer.organizationName;\r\n // this.empListNew.push(item.trainers);\r\n // }\r\n\r\n if (item.trainers != null) {\r\n this.empListNew = item.trainers;\r\n this.aggridService.autoSizeColumns(this.gridOptionsEmployee);\r\n }\r\n }\r\n });\r\n // this.empList = arr1;\r\n // this.othersList = arr2;\r\n } else {\r\n this.loading = false;\r\n this.empList = [];\r\n this.othersList = [];\r\n this.empListNew = [];\r\n this.isOthers = false;\r\n this.isEmployee = false;\r\n this.readOnlyTrainerType = false;\r\n this.IseditBatchInfoForm = false;\r\n this.resetBatchMasterForm();\r\n }\r\n });\r\n\r\n // this._initiateTrainingService\r\n // .getCoordinator(data.batchId)\r\n // .subscribe();\r\n // this._initiateTrainingService.getBatchById(data.batchId).subscribe(res=>{\r\n // if(res && res.data) {\r\n // let response;\r\n // response = res.data[0];\r\n // this.editBatchInfoForm(response);\r\n // }\r\n // });\r\n }\r\n }\r\n\r\n resetBatchMasterForm() {\r\n this.batchMasterForm.get('batchId').setValue('');\r\n this.batchMasterForm.get('startDate').setValue('');\r\n this.batchMasterForm.get('startDate').setValue('');\r\n this.batchMasterForm.get('endDate').setValue('');\r\n this.batchMasterForm.get('startTime').setValue('');\r\n this.batchMasterForm.get('endTime').setValue('');\r\n this.batchMasterForm.get('trainerType').setValue(null);\r\n this.batchMasterForm.get('venue').setValue('');\r\n this.batchMasterForm.get('address').setValue('');\r\n this.batchMasterForm.get('checkListItems').setValue(null);\r\n this.batchMasterForm.get('itemsCheckListItems').setValue(null);\r\n }\r\n\r\n\r\n getTraineesBatch(data) {\r\n this.resetUploadTraineeFileInput();\r\n this.loading = true;\r\n if (data != undefined && data != null) {\r\n this.isTraineeAddDisabled = false;\r\n this.batchData = new BatchMaster();\r\n this.batchData.batchId = data.batchId;\r\n this.batchNumTraineeGrid = data.batchNumber;\r\n this._initiateTrainingService\r\n .getTraineesByBatch(data.batchId)\r\n .subscribe((resposne) => {\r\n if (resposne && resposne.data !== null) {\r\n this.loading = false;\r\n this.traineeListGrid = [];\r\n this.editTraineeList(resposne.data, data.batchNumber);\r\n } else if (resposne.status === '400') {\r\n this.loading = false;\r\n this.toast.info({\r\n detail: Constantss.INFO,\r\n summary: resposne.message,\r\n duration: 5000,\r\n });\r\n this.traineeListGrid = [];\r\n }\r\n }),\r\n (error) => {\r\n this.loading = false;\r\n this.toast.info({\r\n detail: Constantss.INFO,\r\n summary: error.error,\r\n duration: 5000,\r\n });\r\n this.traineeListGrid = [];\r\n };\r\n }\r\n }\r\n\r\n resetUploadTraineeFileInput() {\r\n if (this.fileInput) {\r\n this.fileInput.nativeElement.value = '';\r\n }\r\n }\r\n\r\n editEmployeeList(data, batchNumber) {\r\n this.employeeList = data;\r\n this.aggridService.autoSizeColumns(this.gridOptionsCoordinators);\r\n this.gridApi2.setRowData(this.employeeList);\r\n // data.forEach((e) => {\r\n // e.batch.batchNumber = batchNumber;\r\n // e.coordinatorId = e.coordinatorId;\r\n // e.empCode.state = 'M.P';\r\n // // if (e.traineeId != undefined && e.traineeId != null) {\r\n // // e.empCode.traineeId = e.traineeId;\r\n // // }\r\n // this.employeeList.push(e.empCode);\r\n // this.aggridService.autoSizeColumns(this.gridOptionsCoordinators);\r\n // this.gridApi2.setRowData(this.employeeList);\r\n // });\r\n }\r\n\r\n editTraineeList(data, batchNumber) {\r\n this.traineeListGrid = data;\r\n this.aggridService.autoSizeColumns(this.gridOptionsTrainee);\r\n this.gridApi3.setRowData(this.traineeListGrid);\r\n // data.forEach((e) => {\r\n // e.empCode.batch = batchNumber;\r\n // e.empCode.traineeId = e.traineeId;\r\n // e.empCode.state = 'M.P';\r\n // if (e.traineeId != undefined && e.traineeId != null) {\r\n // e.empCode.traineeId = e.traineeId;\r\n // }\r\n // this.traineeListGrid.push(e.empCode);\r\n // this.aggridService.autoSizeColumns(this.gridOptionsTrainee);\r\n // this.gridApi3.setRowData(this.traineeListGrid);\r\n // });\r\n }\r\n\r\n mapperLinkList(): Array {\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n this.linksList.forEach((element) => {\r\n let trainingMaterial = new TrainingMaterial();\r\n trainingMaterial.materialId = element.materialId;\r\n trainingMaterial.linkName = element.linkName;\r\n trainingMaterial.linkPath = element.linkPath;\r\n let user = new User();\r\n user.userId = this.userId;\r\n trainingMaterial.createdBy = user;\r\n trainingMaterial.updatedBy = user;\r\n if (this.trainingAreaId && this.trainingAreaId != undefined || this.trainingAreaId != null) {\r\n trainingMaterial.trainingAreaId = this.trainingAreaId;\r\n }\r\n if (trainingMaterial.documentLevel\r\n && trainingMaterial.documentLevel != null\r\n && trainingMaterial.documentLevel != undefined\r\n && trainingMaterial.documentLevel != 'State Level'\r\n ) {\r\n trainingMaterial.documentLevel = 'Area Level';\r\n }\r\n\r\n trainingMaterial.trainingId = training.trainingId;\r\n this.trainingMaterialList.push(trainingMaterial);\r\n });\r\n\r\n this.documentList.forEach((element) => {\r\n let trainingMaterial = new TrainingMaterial();\r\n trainingMaterial.materialId = element.materialId;\r\n trainingMaterial.trainingId = training.trainingId;\r\n trainingMaterial.documentName = element.documentName;\r\n trainingMaterial.documentPath = element.documentPath;\r\n this.trainingMaterialList.push(trainingMaterial);\r\n });\r\n return this.trainingMaterialList;\r\n }\r\n\r\n next() {\r\n if (this.step == 1) {\r\n this.batchForm_step = true;\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let batchInitiate = new BatchInitiate();\r\n batchInitiate = this.batchInitiateMaptoModel(this.batchForm.value);\r\n this._initiateTrainingService\r\n .saveBatchInitiate(batchInitiate)\r\n .subscribe((response) => {\r\n if (response.status === '200') {\r\n let trainingArea;\r\n trainingArea = this.mapToModelTrainingArea(this.trainingData?.trainingAreaId);\r\n this._initiateTrainingService.saveTrainingArea(trainingArea).subscribe();\r\n this.trainingMasterData._value.initiateTrainingStatus = {};\r\n this.trainingMasterData._value.initiateTrainingStatus.id = 61;\r\n this.trainingMasterData._value.initiateTrainingStatus.entityId = 2;\r\n this.trainingMasterData._value.initiateTrainingStatus.entityTypeId = 13;\r\n this.trainingMasterData._value.initiateTrainingStatus.entityName = 'In Progress';\r\n this.trainingMasterData._value.initiateTrainingStatus.isActive = true;\r\n this.trainingMasterData._value.initiateTrainingStatus.name = null;\r\n this.trainingMasterData._value.startDate =\r\n this.dateFormattergrid(\r\n this.trainingMasterData._value.startDate\r\n );\r\n this.trainingMasterData._value.endDate =\r\n this.dateFormattergrid(\r\n this.trainingMasterData._value.endDate\r\n );\r\n if (this.trainingMasterData._value) {\r\n this._groupService.updateTrainingStatus(this.trainingMasterData._value.trainingId)\r\n .subscribe((rsp) => {\r\n if (rsp.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error?.message,\r\n duration: 10000,\r\n });\r\n });\r\n }\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n });\r\n });\r\n this.totalBatch = this.batchForm.get('totalBatches').value;\r\n this.createDyBatchNumber();\r\n this.connectorC++;\r\n this.step++;\r\n this.loading = false;\r\n }\r\n });\r\n } else if (this.step == 2 && this.connectorC == 2) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let trainingMaterial: TrainingMaterial[];\r\n trainingMaterial = this.mapperLinkList();\r\n let trainingMaterialJSON = new Blob(\r\n [JSON.stringify(trainingMaterial)],\r\n {\r\n type: 'application/json',\r\n }\r\n );\r\n this.fData.append('training', trainingMaterialJSON);\r\n this.trainingService\r\n .saveTrainingMaterial(this.fData, 'Area', this.trainingAreaId)\r\n .subscribe(\r\n (res) => {\r\n if (res.status == '200') {\r\n this.linksList = res?.data\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n this.loading = false;\r\n this.trainingMaterial_step = true;\r\n this.connectorC++;\r\n this.step++;\r\n }\r\n });\r\n } else if (this.step == 3 && this.connectorC == 3) {\r\n this.batchInfoForm_step = true;\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n this.getBatchNumberEdit();\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n this.getBatchNumberEdit();\r\n this.connectorC++;\r\n this.step++;\r\n }\r\n });\r\n } else if (this.step == 4 && this.connectorC == 4) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let coordinators = this.coordinatorMapper();\r\n if (coordinators.length != 0) {\r\n this._initiateTrainingService\r\n .saveCoordinator(coordinators)\r\n .subscribe((response) => {\r\n if (response != null && response?.status === '200') {\r\n this.loading = false;\r\n this.employeeList = [];\r\n this.trainingInfoForm_step = true;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n });\r\n });\r\n }\r\n this.loading = false;\r\n this.connectorC++;\r\n this.step++;\r\n }\r\n });\r\n } else {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let trainees = this.traineeMapper();\r\n if (trainees != undefined && trainees != null && trainees.length != 0) {\r\n this._initiateTrainingService.saveTraineees(trainees).subscribe((response) => {\r\n if (response != null && response.status === '200') {\r\n this.loading = false;\r\n let trainingArea;\r\n trainingArea = this.mapToModelTrainingAreaFinalSubmit(this.trainingData.trainingAreaId);\r\n if (trainees[0].batchId.batchId != undefined && trainees[0].batchId.batchId != null) {\r\n this.loading = true;\r\n this._initiateTrainingService\r\n .updateBatchStatus(trainees[0].batchId.batchId)\r\n .subscribe((response) => {\r\n if (response.status == '200') {\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response?.message,\r\n duration: 10000\r\n })\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }else{\r\n this.loading = false;\r\n }\r\n this.loading = true;\r\n this._initiateTrainingService.saveTrainingArea(trainingArea).subscribe();\r\n this.trainingMasterData._value.initiateTrainingStatus = {};\r\n this.trainingMasterData._value.initiateTrainingStatus.id = 62;\r\n this.trainingMasterData._value.initiateTrainingStatus.entityId = 3;\r\n this.trainingMasterData._value.initiateTrainingStatus.entityTypeId = 13;\r\n this.trainingMasterData._value.initiateTrainingStatus.entityName =\r\n 'Initiated';\r\n this.trainingMasterData._value.initiateTrainingStatus.isActive =\r\n true;\r\n this.trainingMasterData._value.initiateTrainingStatus.name =\r\n null;\r\n this.trainingMasterData._value.startDate = new Date(\r\n this.trainingMasterData._value.startDate\r\n );\r\n this.trainingMasterData._value.endDate = new Date(\r\n this.trainingMasterData._value.endDate\r\n );\r\n this.loading = true;\r\n this._groupService.updateTrainingStatus(this.trainingData.trainingAreaId)\r\n .subscribe((rsp) => {\r\n if (rsp.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n this.router.navigate(['/training/initiateTraining']);\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n this.CoordinatorForm_step = true;\r\n this.connectorC++;\r\n this.step++;\r\n }, (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error?.message,\r\n duration: 10000,\r\n });\r\n });\r\n }else{\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response?.message,\r\n duration: 10000,\r\n });\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error?.message,\r\n duration: 10000,\r\n });\r\n });\r\n } else {\r\n this.loading = true;\r\n let trainingArea;\r\n trainingArea = this.mapToModelTrainingAreaFinalSubmit(\r\n this.trainingData.trainingAreaId);\r\n this._initiateTrainingService\r\n .saveTrainingArea(trainingArea)\r\n .subscribe((resp) => {\r\n if (resp.status == '200') {\r\n this.loading = false;\r\n this.router.navigate(['/training/initiateTraining']);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: resp?.message,\r\n duration: 10000\r\n })\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n });\r\n }\r\n this.disableBatch = false;\r\n }\r\n\r\n showLoading() {\r\n let element = document.getElementById('cover-spin');\r\n if ((element.style.display = 'none')) {\r\n element.style.display = 'block';\r\n } else {\r\n element.style.display = 'none';\r\n }\r\n }\r\n\r\n mapToModel(data: any) {\r\n let training = new Training();\r\n return training;\r\n }\r\n\r\n mapToModelTrainingArea(areaId) {\r\n let arr = [];\r\n let trainingArea = new TrainingArea();\r\n if (\r\n this.trainingData.initiateTrainingStatus === 'Pending' ||\r\n this.trainingData.initiateTrainingStatus.id === 61\r\n ) {\r\n let entity = new Entity();\r\n entity.id = 61;\r\n trainingArea.status = entity;\r\n }\r\n if (this.trainingData.initiateTrainingStatus.id === 62) {\r\n let entity = new Entity();\r\n entity.id = 62;\r\n trainingArea.status = entity;\r\n }\r\n\r\n trainingArea.trainingAreaId = areaId;\r\n trainingArea.areaId = this.trainingData.areaId;\r\n let entity2 = new Entity();\r\n entity2.id = this.trainingData.trainingTypeId.id;\r\n trainingArea.trainingTypeId = entity2;\r\n // let training = new Training();\r\n // training.trainingId = this.trainingData.trainingId;\r\n // trainingArea.training = training;\r\n trainingArea.trainingId = this.trainingData.trainingId;\r\n arr.push(trainingArea);\r\n this.trainingAreaStatusSubmit = arr;\r\n return this.trainingAreaStatusSubmit;\r\n }\r\n\r\n mapToModelTrainingAreaFinalSubmit(areaId) {\r\n let arr = [];\r\n let trainingArea = new TrainingArea();\r\n let entity = new Entity();\r\n entity.id = 62;\r\n trainingArea.status = entity;\r\n trainingArea.trainingAreaId = areaId;\r\n trainingArea.areaId = this.trainingData.areaId;\r\n let entity2 = new Entity();\r\n entity2.id = this.trainingData.trainingTypeId.id;\r\n trainingArea.trainingTypeId = entity2;\r\n // let training = new Training();\r\n // training.trainingId = this.trainingData.trainingId;\r\n trainingArea.trainingId = this.trainingData?.trainingId;\r\n arr.push(trainingArea);\r\n this.trainingAreaStatusFinalSubmit = arr;\r\n return this.trainingAreaStatusFinalSubmit;\r\n }\r\n\r\n coordinatorMapper() {\r\n let coordinators: Array = [];\r\n this.employeeList.forEach((employee) => {\r\n let coordinator = new Coordinator();\r\n if (\r\n employee.coordinatorId != undefined &&\r\n employee.coordinatorId != null\r\n ) {\r\n coordinator.coordinatorId = employee.coordinatorId;\r\n }\r\n // let empCode = new EmpCode();\r\n // empCode.employeeCode = employee.employeeCode;\r\n coordinator.empCode = employee?.employeeMaster?.employeeCode;\r\n coordinator.batch = this.batchData;\r\n coordinator.createdBy = this.userId;\r\n coordinator.updatedBy = this.userId;\r\n if (\r\n coordinator.coordinatorId === undefined ||\r\n coordinator.coordinatorId === null\r\n ) {\r\n coordinators.push(coordinator);\r\n }\r\n });\r\n\r\n return coordinators;\r\n }\r\n\r\n traineeMapper() {\r\n let trainees: Array = [];\r\n this.traineeListGrid.forEach((emp) => {\r\n let trainee = new Trainee();\r\n // let empCode = new EmpCode();\r\n // empCode.employeeCode = emp.employeeCode;\r\n trainee.empCode = emp?.employeeCode;\r\n trainee.batchId = this.batchData;\r\n trainee.traineeId = emp.traineeId;\r\n trainee.createdBy = this.userId;\r\n trainee.updatedBy = this.userId;\r\n if (trainee.traineeId === undefined || trainee.traineeId === null) {\r\n trainees.push(trainee);\r\n }\r\n });\r\n return trainees;\r\n }\r\n\r\n batchInitiateMaptoModel(data: any) {\r\n let batchInitiate = new BatchInitiate();\r\n batchInitiate.batchinitiateId = data.batchinitiateId;\r\n batchInitiate.maxBatchSize = data.maxBatchSize;\r\n batchInitiate.tentitiveParticipants = data.numOfParticipants;\r\n batchInitiate.noOfRooms = data.numOfRooms;\r\n batchInitiate.cycle = data.cycles;\r\n batchInitiate.createdOn = new Date();\r\n batchInitiate.createdBy = this.userId;\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n batchInitiate.training = training;\r\n batchInitiate.calculatedBatch = data.totalBatches;\r\n batchInitiate.updatedOn = new Date();\r\n batchInitiate.updatedBy = this.userId;\r\n let trainingArea = new TrainingArea();\r\n trainingArea.trainingAreaId = this.trainingData.trainingAreaId;\r\n batchInitiate.trainingArea = trainingArea;\r\n return batchInitiate;\r\n }\r\n\r\n othersMapToModel(data: any) {\r\n let trainerMaster = new TrainerMaster();\r\n }\r\n\r\n dateFormattergrid(date: any) {\r\n // let formatedDate;\r\n // if (typeof date === 'string') {\r\n // const [day, month, year] = date.split('-');\r\n // formatedDate = new Date(+year, +month - 1, +day);\r\n // }\r\n const format = 'yyyy-MM-dd';\r\n // const locale = 'en-US';\r\n // return formatedDate\r\n // ? formatDate(formatedDate, format, locale)\r\n // : formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n checkListItemValues(e) { }\r\n\r\n saveBatchMaster() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let batchMaster = new BatchMaster();\r\n batchMaster = this.batchMasterMapToModel(this.batchMasterForm.value);\r\n this._initiateTrainingService\r\n .saveBatch(batchMaster)\r\n .subscribe((res) => {\r\n if (res.status === '200') {\r\n this.loading = false;\r\n if (this.IseditBatchInfoForm === true) {\r\n this.batchMasterSaved = false;\r\n } else {\r\n this.batchMasterSaved = true;\r\n }\r\n //changed\r\n this.readOnlyTrainerType = false;\r\n this.saveBatchMasterSuccess = true;\r\n this.batchId = res.data[0].batchId;\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n this.saveNextDisable = false;\r\n }\r\n }),\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n };\r\n }\r\n });\r\n }\r\n\r\n batchMasterMapToModel(data: any) {\r\n let batchMaster = new BatchMaster();\r\n batchMaster.batchId = data.batchId;\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n batchMaster.training = training;\r\n batchMaster.batchNumber = data.batchNumber;\r\n batchMaster.venue = data.venue;\r\n batchMaster.address = data.address;\r\n batchMaster.startDate = data.startDate;\r\n batchMaster.endDate = data.endDate;\r\n batchMaster.startTime = data.startTime;\r\n batchMaster.endTime = data.endTime;\r\n batchMaster.trainingArea = this.trainingData;\r\n let launchStatus = new Entity();\r\n launchStatus.id = 63;\r\n batchMaster.launchStatus = launchStatus;\r\n batchMaster.createdBy = this.userId;\r\n batchMaster.createdOn = new Date();\r\n batchMaster.updatedBy = this.userId;\r\n batchMaster.updatedOn = new Date();\r\n let entity = new Entity();\r\n entity.id = data.trainerType;\r\n batchMaster.trainerType = entity;\r\n if (data.itemsCheckListItems != null) {\r\n batchMaster.checkListId = this.checkListId(data.itemsCheckListItems);\r\n }\r\n return batchMaster;\r\n }\r\n\r\n checkListId(data) {\r\n let str = '';\r\n data.forEach((data) => {\r\n str = str.concat(',').concat(data.checkListItemId\r\n );\r\n });\r\n return str.substring(1);\r\n }\r\n\r\n previous() {\r\n this.connectorC--;\r\n this.step--;\r\n if (this.step == 1 && this.connectorC == 1) {\r\n //this.createBatchEditForm();\r\n this.batchForm_step = false;\r\n } else if (this.step == 1 && this.connectorC == 0) {\r\n this.batchInfoForm_step = false;\r\n this.batchMasterForm.reset();\r\n } else if (this.step == 3 && this.connectorC == 3) {\r\n this.trainingInfoForm_step = false;\r\n this.employeeList = [];\r\n } else {\r\n this.isTraineeAddDisabled = true;\r\n this.searchVisible = false;\r\n this.CoordinatorForm_step = false;\r\n this.traineeListGrid = [];\r\n this.employeeList = [];\r\n }\r\n }\r\n\r\n cancelBatchForm() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.router.navigate(['/training/initiateTraining']);\r\n }\r\n });\r\n }\r\n\r\n cancelBatchInfoForm() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.router.navigate(['/training/initiateTraining']);\r\n }\r\n });\r\n }\r\n\r\n checkListItems() {\r\n this.checkList = checklist;\r\n }\r\n\r\n onCheckListChange(e) {\r\n this.loading = true;\r\n this.batchMasterForm.controls['itemsCheckListItems'].setValue(null);\r\n let ids = [];\r\n let allCheckListMaster = [];\r\n let arr = this.batchMasterForm.controls['checkListItems'].value;\r\n arr.forEach((data) => {\r\n ids.push(data.checkListId);\r\n allCheckListMaster.push(data);\r\n });\r\n this.allCheckListMaster = allCheckListMaster;\r\n this.trainingService.GetCheckListInBatch(ids).subscribe((response) => {\r\n if (response && response != null && response.data) {\r\n this.loading = false;\r\n this.itemsCheckListItems = response.data;\r\n this.itemsCheckListItemsData = this.itemsCheckListItems;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n\r\n for (let i = 0; i < this.checkListMasterData.length; i++) {\r\n delete this.checkListMasterData[i]['checkListItems'];\r\n delete this.checkListMasterData[i]['createdBy'];\r\n delete this.checkListMasterData[i]['createdOn'];\r\n delete this.checkListMasterData[i]['updatedBy'];\r\n delete this.checkListMasterData[i]['updatedOn'];\r\n }\r\n if ((this.checkListMasterData.length === this.allCheckListMaster.length)\r\n && (this.compareTwoArrayOfObjects(this.checkListMasterData, this.allCheckListMaster))) {\r\n this.batchMasterForm.controls['checkListItems'].setErrors(null);\r\n // this.batchMasterForm.controls['checkListItems'].status = \r\n } else {\r\n this.batchMasterForm.controls['checkListItems'].setErrors({ 'incorrect': true });\r\n }\r\n\r\n }\r\n\r\n\r\n onAnItemChange(e) {\r\n let allCheckListItems = [];\r\n let arr = this.batchMasterForm.controls['itemsCheckListItems'].value;\r\n arr.forEach((data) => {\r\n allCheckListItems.push(data);\r\n });\r\n this.allCheckListItems = allCheckListItems;\r\n for (let i = 0; i < this.itemsCheckListItemsData.length; i++) {\r\n delete this.itemsCheckListItemsData[i]['checked'];\r\n delete this.itemsCheckListItemsData[i]['createdBy'];\r\n delete this.itemsCheckListItemsData[i]['createdOn'];\r\n delete this.itemsCheckListItemsData[i]['updatedBy'];\r\n delete this.itemsCheckListItemsData[i]['updatedOn'];\r\n delete this.itemsCheckListItemsData[i]['verificationId'];\r\n delete this.itemsCheckListItemsData[i]['trainingChkItemId'];\r\n delete this.itemsCheckListItemsData[i]['trainingCheckListItemId'];\r\n }\r\n\r\n if ((this.itemsCheckListItemsData.length === this.allCheckListItems.length)\r\n && (this.compareTwoArrayOfObjects(this.itemsCheckListItemsData, this.allCheckListItems))) {\r\n this.batchMasterForm.controls['itemsCheckListItems'].setErrors(null);\r\n } else {\r\n this.batchMasterForm.controls['itemsCheckListItems'].setErrors({ 'incorrect': true });\r\n }\r\n\r\n }\r\n\r\n onAllItemsSelect(e) {\r\n\r\n }\r\n\r\n onAnItemDeselect(e) {\r\n const removeIndex = this.allCheckListItems.findIndex(item => item.checkListItemId === e.checkListItemId);\r\n // remove object\r\n this.allCheckListItems.splice(removeIndex, 1);\r\n\r\n if ((this.itemsCheckListItemsData.length === this.allCheckListItems.length)\r\n && (this.compareTwoArrayOfObjects(this.itemsCheckListItemsData, this.allCheckListItems))) {\r\n this.batchMasterForm.controls['itemsCheckListItems'].setErrors(null);\r\n } else {\r\n this.batchMasterForm.controls['itemsCheckListItems'].setErrors({ 'incorrect': true });\r\n }\r\n }\r\n\r\n onAllItemsDeselect() {\r\n\r\n }\r\n\r\n\r\n compareTwoArrayOfObjects = (\r\n first_array_of_objects,\r\n second_array_of_objects\r\n ) => {\r\n return (\r\n first_array_of_objects.length === second_array_of_objects.length &&\r\n first_array_of_objects.every((element_1) =>\r\n second_array_of_objects.some(\r\n (element_2) =>\r\n element_1.checkListId === element_2.checkListId &&\r\n element_1.checkListName === element_2.checkListName\r\n )\r\n )\r\n );\r\n };\r\n\r\n onSelectAllChkList(e) {\r\n if (e && e != undefined && e != null) {\r\n let ids = [];\r\n let allCheckListMaster = []\r\n e.forEach((data) => {\r\n ids.push(data.checkListId);\r\n allCheckListMaster.push(data);\r\n });\r\n this.allCheckListMaster = allCheckListMaster;\r\n this.trainingService.GetCheckListInBatch(ids).subscribe((response) => {\r\n if (response && response != null && response.data) {\r\n this.itemsCheckListItems = response.data;\r\n this.itemsCheckListItemsData = this.itemsCheckListItems;\r\n }\r\n });\r\n }\r\n\r\n // let arr= this.batchMasterForm.controls['checkListItems'].value;\r\n // console.log(\" final checklist \"+arr)\r\n }\r\n\r\n onUnSelectAllChkList() {\r\n this.batchMasterForm.controls['itemsCheckListItems'].setValue(null);\r\n this.itemsCheckListItems = [];\r\n this.checkListItemsArr = [];\r\n this.allCheckListMaster = [];\r\n this.allCheckListItems = [];\r\n }\r\n\r\n onChecklistDeSelect(e) {\r\n this.batchMasterForm.controls['itemsCheckListItems'].setValue(null);\r\n let ids = [];\r\n let allCheckListMaster = [];\r\n let arr = this.batchMasterForm.controls['checkListItems'].value;\r\n arr.forEach((data) => {\r\n ids.push(data.checkListId);\r\n allCheckListMaster.push(data);\r\n });\r\n this.allCheckListMaster = allCheckListMaster;\r\n this.trainingService.GetCheckListInBatch(ids).subscribe((response) => {\r\n if (response && response != null && response.data) {\r\n this.itemsCheckListItems = response.data;\r\n this.itemsCheckListItemsData = this.itemsCheckListItems;\r\n }\r\n });\r\n for (let i = 0; i < this.checkListMasterData.length; i++) {\r\n delete this.checkListMasterData[i]['checkListItems'];\r\n delete this.checkListMasterData[i]['createdBy'];\r\n delete this.checkListMasterData[i]['createdOn'];\r\n delete this.checkListMasterData[i]['updatedBy'];\r\n delete this.checkListMasterData[i]['updatedOn'];\r\n }\r\n if ((this.checkListMasterData.length === this.allCheckListMaster.length)\r\n && (this.compareTwoArrayOfObjects(this.checkListMasterData, this.allCheckListMaster))) {\r\n this.batchMasterForm.controls['checkListItems'].setErrors(null);\r\n // this.batchMasterForm.controls['checkListItems'].status = \r\n } else {\r\n this.batchMasterForm.controls['checkListItems'].setErrors({ 'incorrect': true });\r\n }\r\n\r\n }\r\n\r\n getTrainerType() {\r\n this.loading = true;\r\n this.dataSharing.fetchEntityById(12).subscribe((resp) => {\r\n if (resp && resp.data !== null) {\r\n this.loading = false;\r\n this.trainerType = resp.data;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n selectTrainerType(event) {\r\n this.trainer = event.name;\r\n this.trainerTypeLabel = event.name;\r\n }\r\n\r\n addTrainer() {\r\n this.batchNumberValue = this.batchNumbere.value;\r\n this.createOthersForm();\r\n this.readOnlytrainerInfo = true;\r\n // if (this.trainer === 'Employee') {\r\n this.isEmployee = true;\r\n // this.isOthers = false;\r\n // } else if (this.trainer === 'Others') {\r\n // this.isOthers = true;\r\n // this.isEmployee = false;\r\n // } else {\r\n // this.isOthers = true;\r\n // this.isEmployee = true;\r\n // this.empList = [];\r\n // this.employeeList = [];\r\n // }\r\n }\r\n\r\n saveEmployeeInfo() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n if (this.empList.length < this.minimumTrainer) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'Kindly add minimum ' +\r\n this.minimumTrainer +\r\n ' number of trainers',\r\n duration: 10000,\r\n });\r\n } else {\r\n let trainerMaster;\r\n this.empList = this.empList.filter(\r\n (emp) => emp.trainerBatchId == null\r\n );\r\n trainerMaster = this.mapEmployeeToTrainerMasterModel(this.empList);\r\n\r\n this._initiateTrainingService\r\n .saveTrainer(trainerMaster, this.batchId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n this.saveEmpInfoBtnDisabled = true;\r\n } else {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Could not save data',\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n }\r\n });\r\n }\r\n\r\n mapEmployeeToTrainerMasterModel(data: any) {\r\n let arr = [];\r\n data.forEach((d) => {\r\n let trainerMaster = new TrainerMaster();\r\n trainerMaster.trainerId = d.trainerId;\r\n trainerMaster.trainerName = d.employeeName;\r\n trainerMaster.mobile = d.mobileNo;\r\n trainerMaster.empCode = d.employeeCode;\r\n trainerMaster.designation = d.designation;\r\n //mail to be changed later;\r\n trainerMaster.email =\r\n Math.random().toString(36).substring(2, 7) + '@gmail.com';\r\n trainerMaster.organizationName = 'qwerty';\r\n trainerMaster.aadharNo = '12345';\r\n trainerMaster.bankId = null;\r\n trainerMaster.IFSCcode = null;\r\n trainerMaster.bankAccountNo = null;\r\n trainerMaster.acountHolder = d.employeeName;\r\n let entity = new Entity();\r\n entity.id = 57;\r\n trainerMaster.trainerType = entity;\r\n if (d.trainerBatchId === null) {\r\n arr.push(trainerMaster);\r\n }\r\n });\r\n this.finalSubmitResult = arr;\r\n return this.finalSubmitResult;\r\n }\r\n\r\n // mapEmployeeToTrainerMasterModelEdit(data: any) {\r\n // let arr = [];\r\n // data.forEach((d) => {\r\n // let trainerMaster = new TrainerMaster();\r\n // trainerMaster.trainerId = d.trainer.trainerId;\r\n // trainerMaster.trainerName = d.employeeName;\r\n // trainerMaster.mobile = d.mobileNo;\r\n // trainerMaster.email = d.email;\r\n // trainerMaster.organizationName = d.trainer.organizationName;\r\n // trainerMaster.aadharNo = d.trainer.aadharNo;\r\n // trainerMaster.bankId = d.trainer.bankId;\r\n // trainerMaster.IFSCcode = d.trainer.ifsccode;\r\n // trainerMaster.bankAccountNo = d.trainer.bankAccountNo;\r\n // trainerMaster.acountHolder = d.trainer.acountHolder;\r\n // let entity = new Entity();\r\n // entity.id = this.trainerTypeId;\r\n // trainerMaster.trainerType = entity;\r\n // arr.push(trainerMaster);\r\n // });\r\n // this.finalSubmitResult = arr;\r\n // return this.finalSubmitResult;\r\n // }\r\n\r\n seletedBank($event) { }\r\n\r\n getBanks() {\r\n this.loading = true;\r\n this.registrationService.getAllBanks().subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.loading = false;\r\n this.bankList = res.data;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n onIFSCEntered(e) {\r\n this.registrationService\r\n .getBankBranchByIfsc(e.target.value)\r\n .subscribe((response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.bankBranch.setValue(response.data[0].branchName);\r\n } else {\r\n if (this.IFSC.value.length === 11) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n\r\n this.bankBranch.setValue('');\r\n }\r\n });\r\n }\r\n\r\n createColumnDefsEmployee() {\r\n this.columnDefsEmployee = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeName', 'Name');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsEmployee.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader('batch', 'Batch Number');\r\n // header.width = 150;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // this.columnDefsEmployee.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader('mobileNo', 'Mobile No.');\r\n // header.width = 150;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // this.columnDefsEmployee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeCode', 'Emp ID');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsEmployee.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader(\r\n // 'designation',\r\n // 'Designation'\r\n // );\r\n // header.width = 150;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // this.columnDefsEmployee.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader(\r\n // 'districtName',\r\n // 'District/block'\r\n // );\r\n // header.width = 180;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // this.columnDefsEmployee.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader('state', 'State');\r\n // header.width = 100;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // this.columnDefsEmployee.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader('schoolMaster.schoolName', 'School');\r\n // header.width = 100;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // this.columnDefsEmployee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Remove');\r\n header.width = 80;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.cellRendererParams = {\r\n type: 'removeTrainerEmployee',\r\n onDeleteIconClick: this.onDeleteEmpBtnClicked.bind(this),\r\n };\r\n\r\n this.columnDefsEmployee.push(header);\r\n }\r\n\r\n createColumnDefsCoordinator() {\r\n this.columnDefsCoordinators = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeMaster.employeeName', 'Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('batch.batchNumber', 'Batch Number');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeMaster.mobileNo', 'Mobile No.');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeMaster.employeeCode', 'Emp ID');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeMaster.designation',\r\n 'Designation'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeMaster.districtName',\r\n 'District/block'\r\n );\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('state', 'State');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'schoolName',\r\n 'School'\r\n );\r\n header.width = 350;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Remove');\r\n header.width = 100;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.cellRendererParams = {\r\n type: 'removeCoordinator',\r\n onDeleteIconClick: this.onDeleteCoordinatorBtnClicked.bind(this),\r\n };\r\n\r\n this.columnDefsCoordinators.push(header);\r\n }\r\n\r\n createColumnDefsTrainee() {\r\n this.columnDefsTrainee = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeMaster.employeeName', 'Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('batchId.batchNumber', 'Batch Number');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeMaster.mobileNo', 'Mobile No.');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeMaster.employeeCode', 'Emp ID');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeMaster.designation',\r\n 'Designation'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeMaster.districtName',\r\n 'District/block'\r\n );\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('state', 'State');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'schoolName',\r\n 'School'\r\n );\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Remove');\r\n header.width = 100;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.cellRendererParams = {\r\n type: 'removeTrainee',\r\n onDeleteIconClick: this.onDeleteTraineeBtnClicked.bind(this),\r\n };\r\n\r\n this.columnDefsTrainee.push(header);\r\n }\r\n\r\n onDeleteTraineeBtnClicked(params) {\r\n this.traineeListGrid.forEach((element, index) => {\r\n if (element.empCode === params.data.empCode) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.REMOVE_RECORD)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let traineeId = element?.traineeId;\r\n if (traineeId) {\r\n this._initiateTrainingService\r\n .deleteByTraineeId(traineeId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.traineeListGrid.splice(index, 1);\r\n this.gridApi3.setRowData(this.traineeListGrid);\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n } else if (response.status === '400') {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response?.message,\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n if (traineeId === undefined) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.TRAINEE_HAS_BEEN_DELETED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n );\r\n } else {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.RECORD_DELETED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n this.loading = false;\r\n this.traineeListGrid.splice(index, 1);\r\n this.gridApi3.setRowData(this.traineeListGrid);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n onDeleteCoordinatorBtnClicked(params) {\r\n this.employeeList.forEach((element, index) => {\r\n if (element?.empCode === params?.data?.empCode) {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', 'Do you want to remove this record ?')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let coordinatorId = element?.coordinatorId;\r\n if (coordinatorId) {\r\n this._initiateTrainingService\r\n .deleteByCoordinatorId(coordinatorId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.employeeList.splice(index, 1);\r\n this.gridApi2.setRowData(this.employeeList);\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n } else if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response?.message,\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n if (coordinatorId === undefined) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.RECORD_DELETED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n );\r\n } else {\r\n this.loading = false;\r\n this.employeeList.splice(index, 1);\r\n this.gridApi2.setRowData(this.employeeList);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n onDeleteEmpBtnClicked(params) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.REMOVE_RECORD)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let trainerBatchId = null;\r\n\r\n this.empListNew.forEach((element, index) => {\r\n if (element.employeeCode === params.data.employeeCode) {\r\n trainerBatchId = this.empListNew.splice(index, 1)[0]\r\n .trainerBatchId;\r\n return;\r\n }\r\n });\r\n\r\n this._initiateTrainingService.deleteByTrainerBatchId(trainerBatchId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n if (trainerBatchId === undefined || trainerBatchId == null) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.RECORD_DELETED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n );\r\n\r\n this.gridApi.setRowData(this.empListNew);\r\n }\r\n });\r\n }\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'yyyy-dd-MM';\r\n // const locale = 'en-US';\r\n // return formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n createColumnDefsOthers() {\r\n this.columnDefsOthers = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('name', 'Name');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsOthers.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('batch', 'Batch Number');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsOthers.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('mobile', 'Mobile No.');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsOthers.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('aadhar', 'Aadhar No.');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsOthers.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'organizationName',\r\n 'Organization'\r\n );\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsOthers.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('email', 'Email');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsOthers.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'bankBranch',\r\n 'Bank Branch'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsOthers.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'nameAsInBank',\r\n 'Account Holder'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsOthers.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'accountNumber',\r\n 'Account Number'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsOthers.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('IFSC', 'IFSC');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsOthers.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('city', 'City/Village');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsOthers.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('state', 'State');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsOthers.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Remove');\r\n header.width = 100;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.cellRendererParams = {\r\n type: 'removeOthers',\r\n onDeleteIconClick: this.onDeleteOthersBtnClicked.bind(this),\r\n };\r\n\r\n this.columnDefsOthers.push(header);\r\n }\r\n\r\n onDeleteOthersBtnClicked(params) {\r\n this.othersList.forEach((element, index) => {\r\n if (element.aadhar === params.data.aadhar) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.REMOVE_RECORD)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let trainerBatchId = this.othersList.splice(index, 1)[0]\r\n .trainerBatchId;\r\n this._initiateTrainingService\r\n .deleteByTrainerBatchId(trainerBatchId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.TRAINER + response.message,\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 5000,\r\n });\r\n }\r\n );\r\n this.gridApi1.setRowData(this.othersList);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n this.aggridService.autoSizeColumns(this.gridOptionsTrainee);\r\n this.aggridService.autoSizeColumns(this.gridOptionsEmployee);\r\n }\r\n\r\n onFirstDataRenderedCoordinator(params: FirstDataRenderedEvent) {\r\n this.aggridService.autoSizeColumns(this.gridOptionsCoordinators);\r\n }\r\n\r\n onGridReady(event?) {\r\n this.gridApi = event.api;\r\n }\r\n\r\n onGridReady1(event?) {\r\n this.gridApi1 = event.api;\r\n }\r\n\r\n onGridReady2(event?) {\r\n this.gridApi2 = event.api;\r\n this.aggridService.autoSizeColumns(this.gridOptionsCoordinators);\r\n }\r\n\r\n onGridReady3(event?) {\r\n this.gridApi3 = event.api;\r\n this.aggridService.autoSizeColumns(this.gridOptionsTrainee);\r\n }\r\n\r\n onDeletBtnClicked() { }\r\n\r\n downloadFormat() {\r\n this.trainingService\r\n .downloadTrainingMaterial('empListFormat.xlsx')\r\n .subscribe((blob: Blob) => {\r\n saveAs(blob, 'empListFormat.xlsx');\r\n });\r\n }\r\n\r\n createFormTrainingMaterial() {\r\n this.trainingMaterial = this.fb.group({\r\n documentName: ['', [Validators.required, Validators.maxLength(50)]],\r\n trainingMaterial: ['', [Validators.required]],\r\n link: ['', [Validators.required, Validators.maxLength(50)]],\r\n linkMaterial: ['', [Validators.required]],\r\n });\r\n }\r\n\r\n get documentName() {\r\n return this.trainingMaterial.get('documentName');\r\n }\r\n\r\n get linkName() {\r\n return this.trainingMaterial.get('link');\r\n }\r\n\r\n uploadDoc(event: any) {\r\n let files = event.target.files[0];\r\n let doctype = files.name.split('.');\r\n let doctypeName = doctype[doctype.length - 1];\r\n if (doctypeName && doctypeName === 'pdf' && files.size <= 83886080) {\r\n this.fileUploadplaceHolder = '';\r\n this.fData.append('file', files);\r\n this.fileName = files.name;\r\n } else {\r\n this.toast.info({\r\n detail: 'Invalid File',\r\n summary: 'Only pdf file formats with maximum size 2MB are allowed',\r\n duration: 10000,\r\n });\r\n event.target.value = '';\r\n }\r\n }\r\n\r\n addDocMaterial() {\r\n if (\r\n this.trainingMaterial.controls['documentName'].status === 'VALID' &&\r\n this.trainingMaterial.controls['trainingMaterial'].status === 'VALID'\r\n ) {\r\n this.document = new Document();\r\n this.document.documentName =\r\n this.trainingMaterial.controls['documentName'].value;\r\n this.document.documentPath = this.fileName;\r\n this.document.documentLevel = 'Area Level';\r\n if (\r\n this.document.documentName == null ||\r\n this.document.documentName === ''\r\n ) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Please specify Document Name',\r\n duration: 5000,\r\n });\r\n } else {\r\n const filterDoc = this.documentList.filter(\r\n (doc) => doc.documentPath === this.document.documentPath\r\n );\r\n if (filterDoc.length === 0) {\r\n this.documentList.push(this.document);\r\n this.gridApi1.setRowData(this.documentList);\r\n // this.createColumnDefsDoc();\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'This document is already added!',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n this.trainingMaterial.reset();\r\n } else if (\r\n this.trainingMaterial.controls['trainingMaterial'].status !== 'VALID'\r\n ) {\r\n this.toast.info({\r\n detail: Constantss.ERROR,\r\n summary: 'Upload Training Material',\r\n duration: 3000,\r\n });\r\n }\r\n }\r\n\r\n addLinkMaterial() {\r\n if (\r\n this.trainingMaterial.controls['link'].status === 'VALID' &&\r\n this.trainingMaterial.controls['linkMaterial'].status === 'VALID'\r\n ) {\r\n this.link = new Link();\r\n this.link.linkName = this.trainingMaterial.controls['link'].value;\r\n this.link.linkPath = this.trainingMaterial.controls['linkMaterial'].value;\r\n this.link.documentLevel = 'Area Level';\r\n if (this.link.linkName == null || this.link.linkName == '') {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Please specify name of link',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.createColumnDefsDoc();\r\n this.createColumnDefsLink();\r\n const filterLink = this.linksList.filter(\r\n (link) => link.linkPath === this.link.linkPath\r\n );\r\n if (filterLink.length === 0) {\r\n if (this.link.linkPath.startsWith('https://') != true) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Please enter valid url!',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.linksList.push(this.link);\r\n this.gridApi2.setRowData(this.linksList);\r\n }\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'This link is already added!',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n this.trainingMaterial.reset();\r\n } else if (\r\n this.trainingMaterial.controls['linkMaterial'].status !== 'VALID'\r\n ) {\r\n this.toast.info({\r\n detail: Constantss.ERROR,\r\n summary: 'Material Link is not added!!',\r\n duration: 3000,\r\n });\r\n }\r\n }\r\n\r\n createColumnDefsDoc() {\r\n this.columnDefsDoc = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('documentName', 'Name');\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsDoc.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('documentPath', 'File');\r\n header.sortable = true;\r\n header.filter = true;\r\n header.width = 300;\r\n header.suppressMovable = true;\r\n header.cellRenderer = this.createHyper.bind(this);\r\n this.columnDefsDoc.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('documentLevel', 'Level');\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsDoc.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Remove');\r\n header.width = 200;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.suppressMovable = true;\r\n header.cellRendererParams = {\r\n type: 'deleteDocInitiate',\r\n onDeleteIconClick: this.onDeletBtnDocClicked.bind(this),\r\n };\r\n this.columnDefsDoc.push(header);\r\n }\r\n\r\n createColumnDefsLink() {\r\n this.columnDefsLink = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('linkName', 'Name');\r\n header.sortable = true;\r\n header.filter = true;\r\n header.width = 300;\r\n header.suppressMovable = true;\r\n this.columnDefsLink.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('linkPath', 'File');\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n header.width = 300;\r\n header.cellRenderer = this.createHyperLink.bind(this);\r\n this.columnDefsLink.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('documentLevel', 'Level');\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsLink.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Remove');\r\n header.width = 200;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.suppressMovable = true;\r\n header.cellRendererParams = {\r\n type: 'deleteLinkInitiate',\r\n onDeleteIconClick: this.onDeletBtnLinkClicked.bind(this),\r\n };\r\n this.columnDefsLink.push(header);\r\n }\r\n\r\n createHyper(params): any {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.documentPath} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n this.downoadFile(params.data.documentName);\r\n });\r\n return spanElement;\r\n }\r\n\r\n downoadFile(fileName) {\r\n this.fileDTO.fileName = fileName;\r\n this.trainingService\r\n .downloadTrainingMaterial(fileName)\r\n .subscribe((blob: Blob) => {\r\n saveAs(blob, fileName);\r\n });\r\n }\r\n\r\n blobToFile(data: any, type: string, fileName: string) {\r\n const a = document.createElement('a');\r\n document.body.appendChild(a);\r\n a.style.display = 'none';\r\n const blob = new Blob([data], { type: type });\r\n const url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = fileName;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n\r\n createHyperLink(params): any {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.linkPath} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n window.open(params.data.linkPath);\r\n //this.router.navigate([params.data.linkPath]);\r\n });\r\n return spanElement;\r\n }\r\n\r\n onDeletBtnLinkClicked(params) {\r\n this.linksList.forEach((element, index) => {\r\n if (element.linkPath === params.data.linkPath) {\r\n this.confirmationDialogueService\r\n .confirm(\r\n Constantss.CONFIRMATION,\r\n Constantss.REMOVE_RECORD\r\n )\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n if (\r\n params.data.materialId != null &&\r\n params.data.materialId != undefined\r\n ) {\r\n this.trainingService\r\n .deleteMaterial(params.data.materialId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.RECORD_DELETED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n this.linksList.splice(index, 1);\r\n this.gridApi2.setRowData(this.linksList);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n onDeletBtnDocClicked(params) {\r\n this.documentList.forEach((element, index) => {\r\n if (element.documentPath === params.data.documentPath) {\r\n this.confirmationDialogueService\r\n .confirm(\r\n Constantss.CONFIRMATION,\r\n 'Do you want to remove this record ?'\r\n )\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.fData = new FormData();\r\n if (\r\n params.data.materialId != null &&\r\n params.data.materialId != undefined\r\n ) {\r\n this.trainingService\r\n .deleteMaterial(params.data.materialId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: 'Record deleted successfully',\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n this.documentList.splice(index, 1);\r\n this.gridApi1.setRowData(this.documentList);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n addCustomBatch() {\r\n this.toast.info({\r\n detail: 'Information',\r\n summary: 'A new Batch is added .',\r\n duration: 5000,\r\n });\r\n // this.btnAddCustomBatchDisabled = true;\r\n //this.batchForm.controls['numOfParticipants'].setValue(this.numOfParticipants.value + this.maxBatchSize.value);\r\n this.batchForm.controls['totalBatches'].setValue(this.totalBatches.value + 1);\r\n }\r\n}\r\n\r\nconst checklist = [\r\n {\r\n id: 1,\r\n name: 'Bottle',\r\n },\r\n {\r\n id: 2,\r\n name: 'Pen',\r\n },\r\n {\r\n id: 1,\r\n name: 'Book',\r\n },\r\n];\r\n","
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n

\r\n Initiate Training\r\n

\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • = 1 ? 'active ' : 'inactive'\">
  • \r\n
  • = 2 ? 'active ' : 'inactive'\">
  • \r\n
  • = 3 ? 'active' : 'inactive'\">
  • \r\n
  • = 4 ? 'active' : 'inactive'\">
  • \r\n
  • = 5 ? 'active' : 'inactive'\">
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
    \r\n
  • INITIATE BATCH
  • \r\n
  • \r\n
    \r\n TRAINING\r\n
    \r\n
    \r\n MATERIAL\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n BATCH AND\r\n
    \r\n
    \r\n ADD TRAINER\r\n
    \r\n
  • \r\n
  • COORDINATOR
  • \r\n
  • \r\n TRAINEE\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n STEP {{step}} : Initiate Batch\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Number of Rooms is a required field\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Number of Participants is a required field\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n STEP {{step}} : Training Material\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n Document name is a required field\r\n \r\n\r\n \r\n Maximum length is 50 characters\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n Link name is a required field\r\n \r\n\r\n \r\n Maximum length is 50 characters\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n STEP {{step}} : Batch & Add Trainer\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Batch Number is a required field\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Start Time is a required field\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n End Time is a required field\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n Maximum 150 characters allowed\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Maximum 250 characters allowed\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Trainer Type is a required field\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Add Coordinator
\r\n
\r\n
\r\n STEP {{step}} : Coordinator\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n STEP {{step}} : Add Trainee\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n Download Format\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport { GroupService } from '../../services/group.service';\r\nimport * as _ from 'lodash';\r\nimport { InitiateTrainingService } from '../../services/initiate-training.service';\r\n\r\n@Component({\r\n selector: 'app-generate-qrcode',\r\n templateUrl: './generate-qrcode.component.html',\r\n styleUrls: ['./generate-qrcode.component.scss']\r\n})\r\nexport class GenerateQRCodeComponent implements OnInit {\r\n detailsForm: FormGroup;\r\n groups;\r\n subGroups;\r\n trainingLists;\r\n batches;\r\n batchId;\r\n img ;\r\n imageVisible = false;\r\n navPermissions:any;\r\n currentPermission\r\n trainingId:any;\r\n userData: any;\r\n trainingAreas:any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n training: any;\r\n batch: any;\r\n constructor(private fb: FormBuilder,private groupservice:GroupService, private loginService: LoginService,\r\n private dataSharing: DataSharingService, private clientStorage: ClientSideStorageService, private initiate:InitiateTrainingService) {\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientStorage.get('userId');\r\n this.getNavigableMenu(Number(userId), this.roleList[0].roleId);\r\n this.fetchAllTrainings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n \r\n }\r\n\r\n // this.groupservice.getTrainingGroups().subscribe(res=> {\r\n // if(res && res.data) {\r\n // const allGroups = res.data;\r\n // this.groups = allGroups.filter((grp)=>grp.isActive===true);\r\n // }\r\n // });\r\n // fetchPermission(){\r\n // this.data = this.dataSharing.getNavItems();\r\n // this.navPermissions = this.data.source._value;\r\n // this.navPermissions[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Generate QR Code'){\r\n // this.currentPermission = nav.permission\r\n // return\r\n // }\r\n // }) \r\n // }\r\n \r\n getNavigableMenu(userId?, roleId?) {\r\n this.loginService.getNavigationMenu(userId, roleId).subscribe((data) => {\r\n if (data && data !== null) {\r\n let child = [];\r\n this.navItems = data.navigableMenu;\r\n this.dataSharing.setNavItems(this.navItems);\r\n this.dataSharing.setMenuList(data.employeeRoleArea);\r\n this.navItems = _.orderBy(this.navItems, 'displayOrder', 'asc');\r\n setTimeout(() => {}, 10);\r\n // this.fetchPermission();\r\n }\r\n });\r\n }\r\n\r\n createForm() {\r\n this.detailsForm = this.fb.group({\r\n // group: [null,[Validators.required]],\r\n // subGroup: [null,[Validators.required]],\r\n training: [null,[Validators.required]],\r\n trainingArea : [null,[Validators.required]],\r\n batch: [null,[Validators.required]]\r\n })\r\n }\r\n\r\n forSubMenuItems(e) {\r\n if(e && e!==null && e!==undefined) {\r\n this.subGroups = e.trainingSubGroupList.filter((subgrp)=>subgrp.isActive===true);\r\n }\r\n }\r\n\r\n forTrainingItems(e) {\r\n if(e && e!==null && e!==undefined) {\r\n this.trainingLists = e.trainingList.filter((training)=>training.isActive===true);\r\n }\r\n }\r\n\r\n onSelectTraining(e){\r\n this.trainingAreas = [];\r\n this.batches = []\r\n this.detailsForm.controls['trainingArea'].setValue(null);\r\n this.detailsForm.controls['batch'].setValue(null);\r\n if(e && e!==null && e!==undefined){\r\n this.trainingId=e.trainingId;\r\n this.groupservice.fetchTrainingArea(e.trainingId,e.trainingLevelId).subscribe(res=> {\r\n if(res && res.data) {\r\n this.trainingAreas=res.data;\r\n \r\n }\r\n });\r\n }\r\n }\r\n\r\n fetchAllTrainings(){\r\n this.groupservice.fetchAllTrainings().subscribe(res=> {\r\n if(res && res.data) {\r\n this.trainingLists=res.data\r\n }\r\n });\r\n }\r\n\r\n forBatchItems(e) { \r\n this.detailsForm.controls['batch'].setValue(null);\r\n this.batches = [];\r\n if(e && e!==null && e!==undefined) {\r\n this.groupservice.fetchBatchArea(this.trainingId,e.id).subscribe(res => {\r\n if(res && res.data!=null){\r\n this.batches= res.data;\r\n \r\n }\r\n });\r\n }\r\n }\r\n\r\n batchNumber(e) {\r\n this.batch = e;\r\n this.initiate.getBatchById(e.batchId).subscribe(res=>{\r\n if(res && res.data!=null){\r\n this.batch=res.data[0];\r\n this.training= res.data[0].training;\r\n }\r\n })\r\n \r\n this.batchId = e.batchId;\r\n } \r\n\r\n generateQRcode() {\r\n this.groupservice.generateQRcode(this.batchId).subscribe(res=> {\r\n // let file;\r\n this.imageVisible = true;\r\n var reader = new FileReader();\r\n reader.readAsDataURL(res);\r\n reader.onload = (_event) => {\r\n this.img = reader.result;\r\n } \r\n });\r\n }\r\n\r\n printQRcode() {\r\n var divContents = document.getElementById(\"print\").innerHTML;\r\n var a = window.open('', '', 'height=1000, width=1000');\r\n a.document.write('');\r\n a.document.write('

Rajya Shiksha Kendra
Bhopal

');\r\n a.document.write('

Training Name: '+this.training.trainingName+'

');\r\n if(this.batch.venue != undefined){\r\n a.document.write('

Venue: '+this.batch.venue+'

');\r\n }\r\n if(this.batch.address != undefined){\r\n a.document.write('

Address: '+this.batch.address+'

');\r\n }\r\n a.document.write('

Batch No. '+this.batch.batchNumber+'

');\r\n a.document.write('
'+divContents+'
');\r\n a.document.write('

Batch Code: '+this.batch.batchCode+'

');\r\n a.document.write('');\r\n a.document.close();\r\n a.print();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

QR Code

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { formatDate } from '@angular/common';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { event } from 'jquery';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { Entity } from 'src/app/layouts/baseline/model/entity.model';\r\nimport { PowerIconComponent } from 'src/app/layouts/core/power-icon/power-icon.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { BatchMaster } from '../../model/batch-master';\r\nimport { Training } from '../../model/training';\r\nimport { GroupService } from '../../services/group.service';\r\nimport { InitiateTrainingService } from '../../services/initiate-training.service';\r\nimport { LaunchTrainingService } from '../../services/launch-training.service';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-generate-relieving-certificate',\r\n templateUrl: './generate-relieving-certificate.component.html',\r\n styleUrls: ['./generate-relieving-certificate.component.scss']\r\n})\r\nexport class GenerateRelievingCertificateComponent implements OnInit {\r\n allGroupFromParent;\r\n groups = [];\r\n subGroups = [];\r\n trainings = [];\r\n training = new Training();\r\n loanFilter: any;\r\n recordCount: number=0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n id: any;\r\n params : any;\r\n powBtn:any;\r\n paginationPageSize = 20;\r\n generateRelievingForm: FormGroup;\r\n launchTrainingData: any = [];\r\n trainingGrid: any = []\r\n launchedOn: any;\r\n userId: any;\r\n loggedinUserArea: any\r\n data: any\r\n roleArea: any;\r\n initiateTrainingList: any = []\r\n groupName: any;\r\n subGroupName: any;\r\n disable: boolean = false;\r\n area: any = []\r\n roleAreaRes: any;\r\n roleTypeId: any;\r\n typeList;\r\n batchList;\r\n constructor(\r\n private _groupService: GroupService,\r\n private _launchTrainingService: LaunchTrainingService,\r\n private fb: FormBuilder,\r\n private _commonUtilService: CommonUtilService,\r\n public modalService: NgbModal,\r\n private dataSharing: DataSharingService,\r\n private toast: NgToastService,\r\n private groupService: GroupService,\r\n private clientStorage: ClientSideStorageService,\r\n private _initiateTraining: InitiateTrainingService,\r\n private router: Router\r\n ) {\r\n this.roleTypeId = JSON.parse(this.clientStorage.get('roleTypeId'));\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n this.roleArea[0].roleTypeId = this.roleTypeId;\r\n this.frameworkComponents = {\r\n powerIconComponent: PowerIconComponent,\r\n };\r\n this.userId = this.clientStorage.get('userId');\r\n this.roleTypeId = this.clientStorage.get('roleTypeId');\r\n this.getAllActiveGroups();\r\n this.getUserTrainings();\r\n this.createColumnDefs();\r\n this.typeList = trainee;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createFormAdd();\r\n }\r\n\r\n getArea() {\r\n\r\n }\r\n\r\n onStatusChanged(event) {\r\n this.launchedOn = new Date();\r\n const newEvent = event.split(' ');\r\n const stat = newEvent[0];\r\n const id = newEvent[1];\r\n this.launchTrainingData.forEach((launch) => {\r\n if (launch.batchId == id) {\r\n launch.launchDate = this.dateFormattergrid(this.launchedOn);\r\n launch.launchStatus.id = 64;\r\n let batchMaster = new BatchMaster();\r\n batchMaster = this.batchModel(launch);\r\n\r\n // this._initiateTraining.saveBatch(batchMaster).subscribe(\r\n // (response) => {\r\n // if (response.status === '200') {\r\n // this.launchTrainingData = [];\r\n // for (let i = 0; i < this.trainingGrid.length; i++) {\r\n // this.launchTrainingData.push(this.trainingGrid[i]);\r\n // this.gridApi.setRowData(this.launchTrainingData);\r\n // }\r\n\r\n // this.toast.success({\r\n // detail: Constantss.SUCCESS,\r\n // summary: 'Batch has been launched successfully',\r\n // duration: 10000,\r\n // });\r\n // }\r\n // },\r\n // (error) => {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: error.error,\r\n // duration: 10000,\r\n // });\r\n // }\r\n // );\r\n }\r\n });\r\n }\r\n\r\n batchModel(data: any) {\r\n let batchMaster = new BatchMaster();\r\n batchMaster.batchId = data.batchId;\r\n batchMaster.launchDate = new Date();\r\n\r\n let entity = new Entity();\r\n entity.id = 64;\r\n entity.name = 'Launched';\r\n batchMaster.launchStatus = entity;\r\n\r\n let training = new Training();\r\n training.trainingId = data.training.trainingId;\r\n batchMaster.training = training;\r\n\r\n batchMaster.trainingArea = data.trainingArea;\r\n batchMaster.batchNumber = data.batchNumber;\r\n\r\n batchMaster.venue = data.venue;\r\n batchMaster.address = data.address;\r\n batchMaster.startDate = this.dateFormatter(data.startDate);\r\n batchMaster.endDate = data.endDate;\r\n batchMaster.startTime = data.startTime;\r\n batchMaster.endTime = data.endTime;\r\n batchMaster.createdBy = Number(this.userId);\r\n batchMaster.updatedBy = Number(this.userId);\r\n batchMaster.updatedOn = new Date();\r\n batchMaster.createdOn = new Date();\r\n\r\n return batchMaster;\r\n }\r\n\r\n dateFormatter(date: any) {\r\n // let formatedDate;\r\n // if (typeof date === 'string') {\r\n // const [day, month, year] = date.split('-');\r\n // formatedDate = new Date(+year, +month - 1, +day);\r\n // }\r\n const format = 'yyyy-MM-dd';\r\n // const locale = 'en-US';\r\n // return formatedDate\r\n // ? formatDate(formatedDate, format, locale)\r\n // : formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date,format);\r\n }\r\n\r\n\r\n getAllActiveGroups() {\r\n this._groupService.getTrainingGroups().subscribe((response) => {\r\n if (response && response.data !== null) {\r\n const groups = response.data;\r\n this.groups = groups.filter((grp) => grp.isActive === true);\r\n }\r\n });\r\n }\r\n\r\n // selectedGroup(event) {\r\n // const subGroups = event.trainingSubGroupList;\r\n // this.launchTrainingForm.controls['subGroup'].reset();\r\n // this.launchTrainingData = [];\r\n // this.subGroups = null;\r\n // this.trainings = null;\r\n // this.launchTrainingForm.controls['training'].reset();\r\n // if (subGroups != null) {\r\n // this.subGroups = subGroups.filter((subGrp) => subGrp.isActive);\r\n // } else {\r\n // this.subGroups = null;\r\n // }\r\n // }\r\n\r\n // selectedSubGroup(event) {\r\n // const trainings = event.trainingList;\r\n // this.launchTrainingForm.controls['training'].reset();\r\n // this.launchTrainingData = [];\r\n // this.trainings = null;\r\n // if (trainings != null) {\r\n // this.trainings = trainings.filter((training) => training.isActive);\r\n // } else {\r\n // this.trainings = null;\r\n // }\r\n // }\r\n\r\n getBatchByselectedTraining(event) {\r\n this.generateRelievingForm.controls['batch'].setValue(null);\r\n this.generateRelievingForm.controls['type'].setValue(null);\r\n this.batchList = [];\r\n\r\n this.groupService\r\n .getBatchesByTraining(event.trainingId)\r\n .subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.batchList = response.data;\r\n }\r\n });\r\n }\r\n\r\n selectedBatch(event){\r\n\r\n }\r\n\r\n selectedType(event){\r\n\r\n }\r\n\r\n dateFormattergrid(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n // const locale = 'en-US';\r\n // return formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date,format);\r\n }\r\n\r\n createFormAdd() {\r\n this.generateRelievingForm = this.fb.group({\r\n training: [null,Validators.required],\r\n type: [null,Validators.required],\r\n batch: [null,Validators.required]\r\n });\r\n }\r\n\r\n viewBatches() {\r\n // this.disable = true;\r\n this.launchTrainingData = [];\r\n // this.launchTrainingData = data;\r\n // if (\r\n // this.launchTrainingForm.value.group == '' ||\r\n // this.launchTrainingForm.value.subGroup == '' ||\r\n // this.launchTrainingForm.value.training == null\r\n // ) {\r\n // } \r\n let trainingAreaId;\r\n let trainingId;\r\n let res =this.area.find(i=> i.areaId === this.generateRelievingForm.value.area);\r\n trainingAreaId = res.trainingAreaId;\r\n trainingId = res.trainingId;\r\n\r\n this._initiateTraining.viewBatches(trainingId,trainingAreaId).subscribe(res => {\r\n res.data.forEach((res) => {\r\n const format=\"dd-MM-yyyy\"\r\n // res.startDate = this.dateFormattergrid(res.startDate);\r\n // res.endDate = this.dateFormattergrid(res.endDate);\r\n res.startDate=this.dataSharing.datePipeFormat(res.startDate,format);\r\n res.endDate=this.dataSharing.datePipeFormat(res.endDate,format);\r\n // res.launchDate=this.dataSharing.datePipeFormat(res.launchDate,format);\r\n \r\n if (res.launchDate != null) {\r\n res.launchDate = this.dateFormattergrid(res.launchDate);\r\n }\r\n if(res.launchStatus.id===63){\r\n res.launchDate=null;\r\n }\r\n }); \r\n this.launchTrainingData = res.data;\r\n this.recordCount = this.launchTrainingData.length;\r\n \r\n this.gridApi.setRowData(this.launchTrainingData);\r\n });\r\n // const filter = this.launchTrainingData.filter(\r\n // (f) => f.trainingId === this.trainingGrid.trainingId\r\n // );\r\n // if (filter.length === 0) {\r\n // for (let i = 0; i < this.trainingGrid.length; i++) {\r\n // this.launchTrainingData.push(this.trainingGrid[i]);\r\n // this.gridApi.setRowData(this.launchTrainingData);\r\n // }\r\n // this.recordCount = this.launchTrainingData.length;\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: 'This training has been already added.',\r\n // duration: 10000,\r\n // });\r\n // }\r\n \r\n }\r\n\r\n viewDetails() {\r\n this.router.navigate([\"/training/initiateTraining\"])\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('batchNumber', 'Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('trainerCount', 'Attendance Percentage');\r\n header.width = 250;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellRenderer = this.createHyperLinkTrainer.bind(this)\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('coordinatorCount', 'Eligible for Criteria');\r\n header.width = 210;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellRenderer = this.createHyperLinkCoordinator.bind(this)\r\n this.columnDefs.push(header);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n dataLoaded(child: string) { }\r\n\r\n getUserTrainings() {\r\n this._groupService.getAllUserRespectiveTrainings(this.roleArea).subscribe((response) => {\r\n if (response && response.data != null) {\r\n response.data.forEach((training) => {\r\n training.startDate = this.dateFormatGrid(training.startDate);\r\n training.endDate = this.dateFormatGrid(training.endDate);\r\n //this.initiateTrainingList = response.data.filter((t)=>t.trainingLevelId.id == this.roleTypeId);\r\n });\r\n let removeInitiateTrainingStatus = response.data.filter((data) => (data.initiateTrainingStatus != null))\r\n let responseArray = removeInitiateTrainingStatus.filter((data) => (data.initiateTrainingStatus.id === 62 && data.isActive === true));\r\n\r\n this.initiateTrainingList = responseArray.filter((elem, index, self) => self.findIndex(\r\n (t) => { return t.trainingName === elem.trainingName }) === index) //remove duplicates from array\r\n }\r\n });\r\n }\r\n\r\n dateFormatGrid(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n const locale = 'en-US';\r\n return formatDate(date, format, locale);\r\n }\r\n\r\n Reset() {\r\n this.disable = false;\r\n this.subGroupName = \"\";\r\n this.groupName = \"\";\r\n\r\n this.generateRelievingForm.controls['training'].reset();\r\n this.generateRelievingForm.controls['type'].reset();\r\n this.generateRelievingForm.controls['batch'].reset();\r\n this.launchTrainingData = [];\r\n this.area=[];\r\n this.batchList = [];\r\n this.gridApi.setRowData(this.launchTrainingData);\r\n }\r\n\r\n createHyperLinkTrainer(params) {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.trainerCount} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n let id = 'trainer';\r\n this.onClicked(id,params);\r\n // this.onCalendarClicked(params.data);\r\n });\r\n return spanElement;\r\n }\r\n\r\n onClicked(id:any,params){\r\n this.id = id;\r\n this.params = params;\r\n // this.primaryModal.show();\r\n }\r\n\r\n\r\n createHyperLinkTrainee(params) {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.traineeCount} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n let id = 'trainee';\r\n this.onClicked(id,params);\r\n // this.onCalendarClicked(params.data);\r\n });\r\n return spanElement;\r\n }\r\n\r\n createHyperLinkCoordinator(params) {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.coordinatorCount} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n let id = 'coordinator';\r\n this.onClicked(id,params);\r\n // this.onCalendarClicked(params.data);\r\n });\r\n return spanElement;\r\n }\r\n}\r\n\r\n\r\n\r\nconst trainee = [\r\n {\r\n id: 1,\r\n name: 'Trainer',\r\n },\r\n {\r\n id: 2,\r\n name: 'Trainee',\r\n },\r\n];","
\r\n
\r\n
\r\n

Generate Relieving Certificate

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n \r\n {{'select_record_count'|translate}} \r\n \r\n \r\n \r\n \r\n

\r\n
\r\n\r\n\r\n
\r\n
","import { formatDate } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { LinkStatusComponent } from 'src/app/layouts/core/link-status/link-status.component';\r\nimport { LinkComponent } from 'src/app/layouts/core/link/link.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { GroupService } from '../../services/group.service';\r\nimport { Router } from '@angular/router';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\n\r\n@Component({\r\n selector: 'app-initiate-training',\r\n templateUrl: './initiate-training.component.html',\r\n styleUrls: ['./initiate-training.component.scss'],\r\n})\r\nexport class InitiateTrainingComponent implements OnInit {\r\n initiateTrainingFilter: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n initiateTrainingList: any = [];\r\n gridOptions = {};\r\n paginationPageSize = 20;\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n frameworkComponents;\r\n types = [20, 50, 100];\r\n recordCount: number = 0;\r\n value: any;\r\n columnDefs: any;\r\n roleTypeId: any;\r\n loggedinUserArea: any\r\n data: any\r\n roleArea: any;\r\n loading: boolean = false;\r\n constructor(\r\n private _commonUtilService: CommonUtilService,\r\n private _groupService: GroupService,\r\n private clientStorage: ClientSideStorageService,\r\n private dataSharing: DataSharingService,\r\n private aggridService: AgGridService\r\n ) {\r\n this.roleTypeId = JSON.parse(this.clientStorage.get('roleTypeId'));\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n this.roleArea[0].roleTypeId = this.roleTypeId;\r\n this.frameworkComponents = {\r\n linkComponent: LinkStatusComponent,\r\n };\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.gridOptions = {};\r\n this.createColumnDefs();\r\n this.getInitiateTrainingListing();\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.initiateTrainingFilter);\r\n }\r\n\r\n clearSearch($event) {\r\n this.initiateTrainingFilter = '';\r\n this.gridApi.setQuickFilter(this.initiateTrainingFilter);\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainingName',\r\n 'Training'\r\n );\r\n header.width = 500;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'groupName',\r\n 'Training Group'\r\n );\r\n header.width = 300;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'subGroupName',\r\n 'Sub-Group'\r\n );\r\n header.width = 300;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'area',\r\n 'Area'\r\n );\r\n header.width = 300;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('startDate', 'Start Date');\r\n header.width = 180;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('endDate', 'End Date');\r\n header.width = 180;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('initiateTrainingStatus', 'Status');\r\n header.width = 180;\r\n header.cellRenderer = 'linkComponent';\r\n header.cellRendererParams = {\r\n type: 'Training.InitiateTraining',\r\n inRouterLink: '/training/initiateTrainingForm',\r\n onLinkClick: (params: any) => {\r\n },\r\n };\r\n this.columnDefs.push(header);\r\n }\r\n\r\n getInitiateTrainingListing() {\r\n this.loading = true;\r\n this._groupService.getAllUserRespectiveTrainings(this.roleArea).subscribe((response) => {\r\n if (response && response.data != null) {\r\n this.loading = false;\r\n response.data.forEach((training) => {\r\n if (training.initiateTrainingStatus === null) {\r\n training.initiateTrainingStatus = 'Pending';\r\n }\r\n training.startDate = this.dateFormatGrid(training.startDate);\r\n training.endDate = this.dateFormatGrid(training.endDate);\r\n });\r\n\r\n this.initiateTrainingList = response.data.filter((data) => (data.isActive));\r\n this.recordCount = this.initiateTrainingList.length;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }else{\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n dateFormatGrid(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n // const locale = 'en-US';\r\n // return formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n}\r\n\r\n","
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n

Initiate Training

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n \r\n

\r\n
\r\n\r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { DeleteIconComponent } from 'src/app/layouts/core/delete-icon/delete-icon.component';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { EmpCode } from 'src/app/views/pages/model/emp-code';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { AddTrainer } from '../../../model/add-trainer';\r\nimport { BatchMaster } from '../../../model/batch-master';\r\nimport { Coordinator } from '../../../model/coordinator.model';\r\nimport { Trainee } from '../../../model/trainee';\r\nimport { InitiateTrainingService } from '../../../services/initiate-training.service';\r\nimport { LaunchTrainingService } from '../../../services/launch-training.service';\r\nimport { saveAs } from 'file-saver';\r\nimport { TrainingService } from '../../../services/training.service';\r\nimport { User } from 'src/app/views/pages/model/user';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\nimport { iif } from 'rxjs';\r\nimport { error } from 'console';\r\n@Component({\r\n selector: 'app-launch-pop-up',\r\n templateUrl: './launch-pop-up.component.html',\r\n styleUrls: ['./launch-pop-up.component.scss']\r\n})\r\nexport class LaunchPopUpComponent implements OnInit {\r\n changevar: string;\r\n statusOn = \"on\"\r\n employeeList = [];\r\n @Input() id: any;\r\n @Input() params: any;\r\n @Input() powBtn: any;\r\n @Output() changeIndicator = new EventEmitter();\r\n @Output() dataLoaded = new EventEmitter();\r\n @Output() status = new EventEmitter();\r\n @Output() getId = new EventEmitter();\r\n @Input() allGroupFromParent: [] = [];\r\n showTrainer: boolean = false;\r\n showTrainee: boolean = false;\r\n showCoordinator: boolean = false;\r\n batchNumber;\r\n title = '';\r\n res = [];\r\n gridApi2: GridApi;\r\n columnDefsCoordinators;\r\n frameworkComponents;\r\n gridOptionsCoordinators = {};\r\n gridOptionsTrainee = {};\r\n gridOptionsEmployee = {};\r\n empCode: string;\r\n fileName;\r\n traineeListGrid = [];\r\n columnDefsTrainee;\r\n gridApi3: GridApi;\r\n gridApi: GridApi;\r\n trainerTypeLabel;\r\n fData = new FormData();\r\n columnDefsEmployee;\r\n userId;\r\n fileUploadplaceHolder;\r\n empListNew = [];\r\n showLaunchPopUp = false;\r\n Filter: any;\r\n recordCount: number = 0;\r\n batchId;\r\n trainingData;\r\n loading: boolean;\r\n constructor(private _lauchTraining: LaunchTrainingService, private _commonUtilService: CommonUtilService,\r\n private confirmationDialogueService: ConfirmationDialogService, private toast: NgToastService,\r\n private clientStorage: ClientSideStorageService, private _initiateTrainingService: InitiateTrainingService, private trainingService: TrainingService,\r\n private aggridService: AgGridService) {\r\n const userId = this.clientStorage.get('userId');\r\n this.userId = userId;\r\n if (this.params &&\r\n this.params.data &&\r\n this.params.data.training != undefined && this.params.data.training != null) {\r\n this.trainingData = this.params.data.training;\r\n }\r\n this.frameworkComponents = {\r\n deleteIconComponent: DeleteIconComponent,\r\n };\r\n }\r\n\r\n\r\n ngOnChanges() {\r\n if (\r\n this.params &&\r\n this.params.data &&\r\n this.params.data.training != undefined && this.params.data.training != null) {\r\n this.trainingData = this.params.data.training;\r\n }\r\n if (this.id != undefined && this.id === \"trainer\") {\r\n this.showTrainer = true;\r\n this.showTrainee = false;\r\n this.showCoordinator = false;\r\n this.title = Constantss.ADD_TRAINER\r\n this.batchId = this.params.data.batchId;\r\n this.createColumnDefsEmployee();\r\n this.getTrainersByBatch(this.params.data);\r\n } else if (this.id != undefined && this.id === \"coordinator\") {\r\n this.showTrainer = false;\r\n this.showTrainee = false;\r\n this.title = Constantss.ADD_COORDINATOR;\r\n this.getCoordinators(this.params.data);\r\n this.batchNumber = this.params.data.batchNumber;\r\n this.batchId = this.params.data.batchId;\r\n this.showCoordinator = true;\r\n this.createColumnDefsCoordinator();\r\n } else if (this.id != undefined && this.id === \"trainee\") {\r\n this.title = Constantss.ADD_TRAINEE;\r\n this.showTrainer = false;\r\n this.showTrainee = true;\r\n this.showCoordinator = false;\r\n this.getTraineesByBatch(this.params.data);\r\n this.batchNumber = this.params.data.batchNumber;\r\n this.batchId = this.params.data.batchId;\r\n this.createColumnDefsTrainee();\r\n } else if (this.id != undefined && typeof (this.id) === 'number' && this.id != 0) {\r\n this.showLaunchPopUp = true;\r\n }\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n if (this.trainingData != undefined && this.trainingData != null) {\r\n this.trainingData = this.params.data.training;\r\n }\r\n if (this.id != undefined && this.id === \"trainer\") {\r\n this.showTrainer = true;\r\n this.showTrainee = false;\r\n this.showCoordinator = false;\r\n this.title = \"Add Trainer\"\r\n this.batchId = this.params.data.batchId;\r\n this.createColumnDefsEmployee();\r\n this.getTrainersByBatch(this.params.data);\r\n } else if (this.id != undefined && this.id === \"coordinator\") {\r\n this.showTrainer = false;\r\n this.showTrainee = false;\r\n this.title = \"Add Coordinator\";\r\n this.getCoordinators(this.params.data);\r\n this.batchNumber = this.params.data.batchNumber;\r\n this.batchId = this.params.data.batchId;\r\n this.showCoordinator = true;\r\n this.createColumnDefsCoordinator();\r\n } else if (this.id != undefined && this.id === \"trainee\") {\r\n this.title = \"Add Trainee\";\r\n this.showTrainer = false;\r\n this.showTrainee = true;\r\n this.showCoordinator = false;\r\n this.getTraineesByBatch(this.params.data);\r\n this.batchNumber = this.params.data.batchNumber;\r\n this.batchId = this.params.data.batchId;\r\n this.createColumnDefsTrainee();\r\n } else if (this.id != undefined && typeof (this.id) === 'number' && this.id != 0) {\r\n this.showLaunchPopUp = true;\r\n }\r\n\r\n }\r\n\r\n getTraineesByBatch(data) {\r\n this.loading = true;\r\n this.traineeListGrid = [];\r\n this._initiateTrainingService.getTraineesByBatch(data.batchId).subscribe((response) => {\r\n if (response != undefined\r\n && response.data != undefined\r\n && response != null\r\n && response.data != null\r\n ) {\r\n this.loading = false;\r\n response.data.forEach((data) => {\r\n data.batch = data.batchId.batchNumber;\r\n // data.empCode.traineeId = data.traineeId;\r\n data.state = Constantss.MP;\r\n data.employeeCode = data.empCode.employeeCode;\r\n data.employeeName = data.empCode.employeeName;\r\n data.designation = data.empCode.designation;\r\n data.mobileNo = data.empCode.mobileNo\r\n });\r\n this.traineeListGrid = response.data;\r\n this.aggridService.autoSizeColumns(this.gridOptionsTrainee);\r\n this.recordCount = this.traineeListGrid.length;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n })\r\n }\r\n\r\n getCoordinators(data) {\r\n this.loading = true;\r\n this.employeeList = [];\r\n this._initiateTrainingService.getCoordinator(data.batchId).subscribe((response) => {\r\n if (response != null && response != undefined && response.data != null) {\r\n this.loading = false;\r\n // response.data.forEach((data) => {\r\n // data.employeeCode = data.empCode.employeeCode;\r\n // data.employeeName = data.empCode.employeeName;\r\n // data.mobileNo = data.empCode.mobileNo;\r\n // data.designation = data.empCode.designation;\r\n // data.batch = data.batch.batchNumber;\r\n // data.state = 'M.P';\r\n // });\r\n this.employeeList = response.data;\r\n this.recordCount = this.employeeList.length;\r\n this.aggridService.autoSizeColumns(this.gridOptionsCoordinators);\r\n } else if (response?.status === '400') {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response?.message,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getTrainersByBatch(data) {\r\n this.loading = true;\r\n this.empListNew = null;\r\n this._initiateTrainingService.getTrainersByBatch(data.training.trainingId, data.batchNumber,\r\n data.trainingArea.trainingAreaId).subscribe((response) => {\r\n if (response.data != null) {\r\n this.loading = false;\r\n this.empListNew = response.data[0].trainers;\r\n this.recordCount = this.empListNew.length;\r\n this.aggridService.autoSizeColumns(this.gridOptionsEmployee);\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n onYesClick() {\r\n this._lauchTraining.launchBatch(this.id).subscribe((res: any) => {\r\n if (res != null) {\r\n if (res.status === '200') {\r\n this.status.emit(this.statusOn + \" \" + this.id);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n\r\n }\r\n this.closeModel();\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n onGridReady(event?) {\r\n this.aggridService.autoSizeColumns(this.gridOptionsEmployee);\r\n this.gridApi = event.api;\r\n }\r\n\r\n onGridReady2(event?) {\r\n this.aggridService.autoSizeColumns(this.gridOptionsCoordinators);\r\n this.gridApi2 = event.api;\r\n }\r\n\r\n\r\n onGridReady3(event?) {\r\n this.aggridService.autoSizeColumns(this.gridOptionsTrainee);\r\n this.gridApi3 = event.api;\r\n }\r\n\r\n\r\n closeModel() {\r\n this.changevar = \"cancel\";\r\n this.changeIndicator.emit(this.changevar);\r\n this.empCode = '';\r\n this.employeeList = [];\r\n this.emit();\r\n this.showLaunchPopUp = false;\r\n this.showTrainee = false;\r\n this.showTrainer = false;\r\n this.showCoordinator = false;\r\n this.id = null;\r\n this.recordCount = 0;\r\n }\r\n\r\n emit() {\r\n this.dataLoaded.emit('LaunchPopUpComponent');\r\n }\r\n\r\n createColumnDefsEmployee() {\r\n this.columnDefsEmployee = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeName', 'Name');\r\n header.width = 250;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsEmployee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeCode', 'Emp ID/EXT Code');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsEmployee.push(header);\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader('designation', 'Designation');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsEmployee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Remove');\r\n header.width = 200;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.cellRendererParams = {\r\n type: 'removeTrainerEmployee',\r\n onDeleteIconClick: this.onDeleteEmpBtnClicked.bind(this),\r\n };\r\n\r\n this.columnDefsEmployee.push(header);\r\n }\r\n\r\n\r\n\r\n onDeleteEmpBtnClicked(params) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.REMOVE_RECORD)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let trainerBatchId = null;\r\n this.empListNew.forEach((element, index) => {\r\n if (element.employeeCode === params.data.employeeCode) {\r\n trainerBatchId = this.empListNew.splice(index, 1)[0]\r\n .trainerBatchId;\r\n return;\r\n }\r\n });\r\n if (trainerBatchId && trainerBatchId != null) {\r\n this._initiateTrainingService\r\n .deleteByTrainerBatchId(trainerBatchId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n } else if (response.status === '400') {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n if (trainerBatchId === undefined) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.RECORD_DELETED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n this.gridApi.setRowData(this.empListNew);\r\n this.recordCount = this.empListNew.length;\r\n }\r\n });\r\n }\r\n\r\n\r\n createColumnDefsCoordinator() {\r\n this.columnDefsCoordinators = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeMaster.employeeName', 'Coordinator Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('batch.batchNumber', 'Batch Number');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeMaster.mobileNo', 'Mobile No.');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeMaster.employeeCode', 'Emp ID');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeMaster.designation',\r\n 'Designation'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeMaster.districtName',\r\n 'District/block'\r\n );\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('state', 'State');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'schoolName',\r\n 'School'\r\n );\r\n header.width = 350;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsCoordinators.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Remove');\r\n header.width = 100;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.cellRendererParams = {\r\n type: 'removeCoordinator',\r\n onDeleteIconClick: this.onDeleteCoordinatorBtnClicked.bind(this),\r\n };\r\n\r\n this.columnDefsCoordinators.push(header);\r\n }\r\n\r\n\r\n\r\n onDeleteCoordinatorBtnClicked(params) {\r\n this.employeeList.forEach((element, index) => {\r\n if (element?.empCode === params?.data?.empCode) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.REMOVE_RECORD)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let coordinatorId = element?.coordinatorId;\r\n if (coordinatorId) {\r\n this._initiateTrainingService\r\n .deleteByCoordinatorId(coordinatorId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.employeeList.splice(index, 1);\r\n this.gridApi2.setRowData(this.employeeList);\r\n this.recordCount = this.employeeList.length;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n if (coordinatorId === undefined) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: 'Record deleted successfully',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n );\r\n } else {\r\n this.loading = false;\r\n this.employeeList.splice(index, 1);\r\n this.gridApi2.setRowData(this.employeeList);\r\n this.recordCount = this.employeeList.length;\r\n }\r\n\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n // params.api.sizeColumnsToFit();\r\n this.aggridService.autoSizeColumns(this.gridOptionsEmployee);\r\n this.aggridService.autoSizeColumns(this.gridOptionsTrainee);\r\n this.aggridService.autoSizeColumns(this.gridOptionsCoordinators);\r\n }\r\n\r\n\r\n getEmpCode(e) {\r\n this.empCode = (e.target.value).toUpperCase();\r\n }\r\n\r\n addCoordinator() {\r\n this.loading = true;\r\n this._initiateTrainingService.getEmpByEmpCode(this.empCode).subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.loading = false;\r\n response.data.forEach((element) => {\r\n element.schoolName = element?.schoolMaster?.schoolName;\r\n element.state = Constantss.MP;\r\n element.batch = { batchNumber: this.batchNumber };\r\n element.employeeMaster = {\r\n employeeCode: element?.employeeCode || '',\r\n employeeName: element?.employeeName || '',\r\n designation: element?.designation || '',\r\n districtName: element?.districtName || '',\r\n mobileNo: element?.mobileNo || ''\r\n };\r\n });\r\n // response.data.forEach((element) => {\r\n // element.state = 'M.P';\r\n // element.batch = this.batchNumber;\r\n // if (element.mobileNo == null) {\r\n // element.mobileNo = Number(Math.floor(Math.random() * 1000000000));\r\n // }\r\n // });\r\n if (response.data.length === 0) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'No data found for employee ' +\r\n this.empCode.toUpperCase() +\r\n '!',\r\n duration: 5000,\r\n });\r\n } else {\r\n const filter = this.employeeList.filter((e) => (\r\n (e?.employeeCode === this.empCode.trim().toUpperCase() || e.empCode === this.empCode.trim().toUpperCase())\r\n && e?.batch?.batchNumber === this.batchNumber));\r\n if (filter.length === 0) {\r\n this.employeeList.push(response.data[0]);\r\n this.recordCount = this.employeeList.length;\r\n this.gridApi2.setRowData(this.employeeList);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'Employee code : ' +\r\n this.empCode.toUpperCase() +\r\n ' is already added.',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error?.message,\r\n duration: 5000,\r\n });\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n\r\n createColumnDefsTrainee() {\r\n this.columnDefsTrainee = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeMaster.employeeName', 'Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('batchId.batchNumber', 'Batch Number');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeMaster.mobileNo', 'Mobile No.');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeMaster.employeeCode', 'Emp ID');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeMaster.designation',\r\n 'Designation'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeMaster.districtName',\r\n 'District/block'\r\n );\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('state', 'State');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'schoolName',\r\n 'School'\r\n );\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Remove');\r\n header.width = 100;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.cellRendererParams = {\r\n type: 'removeTrainee',\r\n onDeleteIconClick: this.onDeleteTraineeBtnClicked.bind(this),\r\n };\r\n\r\n this.columnDefsTrainee.push(header);\r\n }\r\n\r\n\r\n onDeleteTraineeBtnClicked(params) {\r\n this.traineeListGrid.forEach((element, index) => {\r\n if (element?.empCode === params?.data?.empCode) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.REMOVE_RECORD)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let traineeId = element?.traineeId;\r\n if (traineeId) {\r\n this._initiateTrainingService\r\n .deleteByTraineeId(traineeId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.traineeListGrid.splice(index, 1);\r\n this.gridApi3.setRowData(this.traineeListGrid);\r\n this.recordCount = this.traineeListGrid.length;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n } else if (response?.status === '400') {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n if (traineeId === undefined) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.TRAINEE_HAS_BEEN_DELETED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n );\r\n } else {\r\n this.loading = false;\r\n this.traineeListGrid.splice(index, 1);\r\n this.gridApi3.setRowData(this.traineeListGrid);\r\n this.recordCount = this.traineeListGrid.length;\r\n }\r\n\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n addEmpTrainee() {\r\n let maxBatchSize;\r\n this.loading = true;\r\n this._initiateTrainingService.getEmpByEmpCode(this.empCode).subscribe(\r\n (response) => {\r\n if (response && response.data !== null) {\r\n this.loading = false;\r\n response.data.forEach((element) => {\r\n element.schoolName = element?.schoolMaster?.schoolName;\r\n element.state = Constantss.MP;\r\n element.batchId = { batchNumber: this.batchNumber };\r\n element.empCode = element?.employeeCode;\r\n element.employeeMaster = {\r\n employeeCode: element?.employeeCode || '',\r\n employeeName: element?.employeeName || '',\r\n designation: element?.designation || '',\r\n districtName: element?.districtName || '',\r\n mobileNo: element?.mobileNo || ''\r\n };\r\n });\r\n // response.data.forEach((element) => {\r\n // element.state = 'M.P';\r\n // element.batch = this.batchNumber;\r\n // element.batchId = this.batchId;\r\n // });\r\n if (response.data.length === 0) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'No data found for employee ' +\r\n this.empCode.toUpperCase() +\r\n '!',\r\n duration: 5000,\r\n });\r\n } else {\r\n const filter = this.traineeListGrid.filter((e) =>\r\n (e?.employeeCode === this.empCode.trim().toUpperCase()) ||\r\n (e?.empCode === this.empCode.trim().toUpperCase())\r\n );\r\n if (this.trainingData != undefined\r\n && this.trainingData != null\r\n && this.trainingData.maximumBatchSize != undefined\r\n && this.trainingData.maximumBatchSize != null\r\n ) {\r\n maxBatchSize = this.trainingData.maximumBatchSize;\r\n }\r\n if (filter.length === 0) {\r\n if (maxBatchSize != undefined && maxBatchSize > this.traineeListGrid.length) {\r\n this.traineeListGrid.push(response.data[0]);\r\n this.recordCount = this.traineeListGrid.length;\r\n this.gridApi3.setRowData(this.traineeListGrid);\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.RECORD_HAS_BEEN_ADDED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Maximum Batch Size Exceeded! ' + maxBatchSize,\r\n duration: 10000,\r\n });\r\n }\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'Employee code : ' +\r\n this.empCode.toUpperCase() +\r\n ' is already added.',\r\n duration: 5000,\r\n });\r\n }\r\n\r\n }\r\n } else if (response.status === \"400\") {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response?.message,\r\n duration: 5000,\r\n });\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary:\r\n 'No data found for employee ' + this.empCode.toUpperCase() + '!',\r\n duration: 5000,\r\n });\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n\r\n uploadTraineeList(event: any) {\r\n let files = event.target.files[0];\r\n let doctype = files.name.split('.');\r\n let doctypeName = doctype[doctype.length - 1];\r\n if (\r\n (doctypeName && doctypeName === 'xls' && files.size <= 11534336) ||\r\n (doctypeName && doctypeName === 'xlsx' && files.size <= 11534336)\r\n ) {\r\n this.fileUploadplaceHolder = '';\r\n this.fData = new FormData();\r\n this.fData.append('ExcelFile', files);\r\n this.fileName = files.name;\r\n this.fetchData();\r\n } else {\r\n this.toast.info({\r\n detail: 'Invalid File',\r\n summary:\r\n 'Only Excel file formats with maximum size upto 11MB are allowed',\r\n duration: 10000,\r\n });\r\n event.target.value = '';\r\n }\r\n }\r\n\r\n downloadFormat() {\r\n this.trainingService\r\n .downloadTrainingMaterial('empListFormat.xlsx')\r\n .subscribe((blob: Blob) => {\r\n saveAs(blob, 'empListFormat.xlsx');\r\n });\r\n }\r\n\r\n\r\n fetchData() {\r\n let maxBatchSize;\r\n this.onGridReady;\r\n this.loading = true;\r\n this._initiateTrainingService.fetchEmpFromExcel(this.fData, this.trainingData.trainingId).subscribe(\r\n (resp) => {\r\n if (resp != null && resp.employeeList.length !== 0) {\r\n this.loading = false;\r\n if (this.trainingData != undefined\r\n && this.trainingData != null\r\n && this.trainingData.maximumBatchSize != undefined\r\n && this.trainingData.maximumBatchSize != null\r\n ) {\r\n maxBatchSize = this.trainingData.maximumBatchSize;\r\n }\r\n resp.employeeList.forEach(element => {\r\n element.state = Constantss.MP;\r\n element.schoolName = element?.schoolMaster?.schoolName;\r\n element.batchId = { batchNumber: this.batchNumber };\r\n element.empCode = element?.employeeCode;\r\n element.employeeMaster = {\r\n employeeCode: element?.employeeCode || '',\r\n employeeName: element?.employeeName || '',\r\n designation: element?.designation || '',\r\n districtName: element?.districtName || '',\r\n mobileNo: element?.mobileNo || ''\r\n };\r\n const filter\r\n = this.traineeListGrid.filter(\r\n (e) =>\r\n e.employeeCode === element.employeeCode.toUpperCase() &&\r\n e.batch === this.batchId\r\n );\r\n if (filter.length === 0) {\r\n if (maxBatchSize != undefined && maxBatchSize > this.traineeListGrid.length) {\r\n this.traineeListGrid.push(element);\r\n } else {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Maximum Batch Size Exceeded! ' + maxBatchSize,\r\n duration: 10000,\r\n });\r\n }\r\n }\r\n })\r\n this.gridApi3.setRowData(this.traineeListGrid);\r\n if (resp && resp != undefined && resp.invalidCodes != undefined && resp.invalidCodes != null\r\n && resp.invalidCodes.length != 0\r\n ) {\r\n let json = JSON.stringify(resp.invalidCodes)\r\n let final = JSON.parse(json)\r\n this._initiateTrainingService.downlaodInvalidCodes(final).subscribe(res => {\r\n if (res != null && res != undefined) {\r\n let fileName = 'InvalidCode.xlsx';\r\n const blob = new Blob([res.body], { type: res.headers.get('content-type') });\r\n fileName = fileName || res.headers.get('content-disposition').split(';')[0];\r\n const file = new File([blob], fileName, { type: res.headers.get('content-type') });\r\n saveAs(file);\r\n }\r\n });\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n saveCoordinator() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let coordinators = this.coordinatorMapper();\r\n if (coordinators?.length != 0) {\r\n this._initiateTrainingService\r\n .saveCoordinator(coordinators)\r\n .subscribe((response) => {\r\n if (response != null && response.status==='200') {\r\n this.loading = false;\r\n this.employeeList = [];\r\n // this.trainingInfoForm_step = true;\r\n // this.connectorC++;\r\n // this.step++;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n this.closeModel();\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n });\r\n } else {\r\n this.loading = false;\r\n this.closeModel();\r\n }\r\n }\r\n });\r\n }\r\n\r\n coordinatorMapper() {\r\n let coordinators: Array = [];\r\n this.employeeList.forEach((employee) => {\r\n let coordinator = new Coordinator();\r\n if (\r\n employee.coordinatorId != undefined &&\r\n employee.coordinatorId != null\r\n ) {\r\n coordinator.coordinatorId = employee.coordinatorId;\r\n }\r\n // let empCode = new EmpCode();\r\n // empCode.employeeCode = employee.employeeCode;\r\n coordinator.empCode = employee.employeeCode;\r\n let batch = new BatchMaster();\r\n batch.batchId = this.batchId;\r\n coordinator.batch = batch;\r\n coordinator.createdBy = this.userId;\r\n coordinator.updatedBy = this.userId;\r\n if (coordinator.coordinatorId === undefined || coordinator.coordinatorId === null) {\r\n coordinators.push(coordinator);\r\n }\r\n\r\n });\r\n\r\n return coordinators;\r\n }\r\n\r\n\r\n\r\n addEmployee() {\r\n let length;\r\n if (this.empCode) {\r\n if (this.trainingData.trainingType != null && this.trainingData.trainingType != undefined\r\n && this.trainingData.trainingType.id === 93) {\r\n this._initiateTrainingService.getTrainerDetailsViaEmpCode(this.empCode,\r\n this.trainingData.subgroupId, this.batchId).subscribe((resp) => {\r\n if (resp && resp.length > 0) {\r\n\r\n let filteredEmployeeCode = this.empListNew.filter((data) => data.employeeCode === resp[0].empCode.employeeCode);\r\n if (filteredEmployeeCode.length == 0) {\r\n this.empListNew.push(resp[0].empCode);\r\n this.recordCount = this.empListNew.length;\r\n this.gridApi.setRowData(this.empListNew);\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: \"Employee Code - \" + this.empCode + \" has already been added!\",\r\n duration: 5000\r\n });\r\n }\r\n\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: \"Trainer is not part of any MT training!\",\r\n duration: 5000\r\n });\r\n }\r\n })\r\n } else {\r\n length = this.empCode.length;\r\n if (length === 6) {\r\n if (this.trainerTypeLabel === 'External Resource') {\r\n this.toast.info({\r\n detail: Constantss.INFO,\r\n summary: 'Enter correct code',\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = true;\r\n this._initiateTrainingService.getEmpDetails(\"Employee\", this.empCode).subscribe((response: any) => {\r\n if (response && response.status == '200' && response.data !== null) {\r\n this.loading = false;\r\n let filteredEmployeeCode = this.empListNew.filter((data) => data.employeeCode === response.data[0].employeeCode);\r\n if (filteredEmployeeCode.length == 0) {\r\n this.empListNew.push(response.data[0]);\r\n this.gridApi.setRowData(this.empListNew);\r\n this.recordCount = this.empListNew.length;\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: this.empCode + \" has already been added!\",\r\n duration: 5000\r\n });\r\n }\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: this.empCode + \" does not exists!\",\r\n duration: 5000\r\n });\r\n }\r\n });\r\n }\r\n } else if (length === 8) {\r\n if (this.trainerTypeLabel === 'Employee') {\r\n this.toast.info({\r\n detail: 'Info',\r\n summary: 'Enter correct code',\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = true;\r\n this._initiateTrainingService.getEmpDetails(\"ExternalResource\", this.empCode).subscribe((response: any) => {\r\n if (response && response.status == '200' && response.data !== null) {\r\n this.loading = false;\r\n let filteredEmployeeCode = this.empListNew.filter((data) => data.employeeCode === response.data[0].employeeCode);\r\n if (filteredEmployeeCode.length == 0) {\r\n this.empListNew.push(response.data[0]);\r\n this.gridApi.setRowData(this.empListNew);\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: this.empCode + \" has already been added!\",\r\n duration: 5000\r\n });\r\n }\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: this.empCode + \" does not exists!\",\r\n duration: 5000\r\n });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n }\r\n // let length;\r\n // if (this.empCode) {\r\n // length = this.empCode.length;\r\n // if (length === 6) {\r\n // if (this.trainerTypeLabel === 'External Resource') {\r\n // this.toast.info({\r\n // detail: 'Info',\r\n // summary: 'Enter correct code',\r\n // duration: 10000,\r\n // });\r\n // } else {\r\n // this._initiateTrainingService.getEmpDetails(\"Employee\", this.empCode).subscribe((response: any) => {\r\n // if (response && response.status == '200' && response.data !== null) {\r\n // let filteredEmployeeCode = this.empListNew.filter((data) => data.employeeCode === response.data[0].employeeCode);\r\n // if (filteredEmployeeCode.length == 0) {\r\n // this.empListNew.push(response.data[0]);\r\n // this.recordCount = this.empListNew.length;\r\n // this.gridApi.setRowData(this.empListNew);\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: this.empCode + \" has already been added!\",\r\n // duration: 5000\r\n // });\r\n // }\r\n\r\n\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: this.empCode + \" does not exists!\",\r\n // duration: 5000\r\n // });\r\n // }\r\n // });\r\n // }\r\n // } else if (length === 8) {\r\n // if (this.trainerTypeLabel === 'Employee') {\r\n // this.toast.info({\r\n // detail: 'Info',\r\n // summary: 'Enter correct code',\r\n // duration: 10000,\r\n // });\r\n // } else {\r\n // this._initiateTrainingService.getEmpDetails(\"ExternalResource\", this.empCode).subscribe((response: any) => {\r\n // if (response && response.status == '200' && response.data !== null) {\r\n // let filteredEmployeeCode = this.empListNew.filter((data) => data.employeeCode === response.data[0].employeeCode);\r\n // if (filteredEmployeeCode.length == 0) {\r\n // this.empListNew.push(response.data[0]);\r\n // this.gridApi.setRowData(this.empListNew);\r\n // this.recordCount = this.empListNew.length;\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: this.empCode + \" has already been added!\",\r\n // duration: 5000\r\n // });\r\n // }\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: this.empCode + \" does not exists!\",\r\n // duration: 5000\r\n // });\r\n // }\r\n\r\n\r\n // });\r\n // }\r\n // }\r\n // }\r\n }\r\n\r\n\r\n\r\n saveEmployeeInfoNew() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n let trainerMaster;\r\n // this.empListNew = this.empListNew.filter((emp) => emp.trainerBatchId == null)\r\n trainerMaster = this.mapToModelNewTrainer(this.empListNew);\r\n if (trainerMaster === null || trainerMaster.length === 0) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n this.closeModel();\r\n } else {\r\n this.loading = true;\r\n this._initiateTrainingService.saveNewTrainer(trainerMaster).subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n // this.empListNew = [];\r\n // this.othersForm.reset();\r\n this.closeModel();\r\n }else{\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response?.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n // this.readOnlytrainerInfo = false;\r\n }\r\n });\r\n }\r\n\r\n mapToModelNewTrainer(data: any) {\r\n let arr = [];\r\n // let batchID = this.batchId;\r\n let batch = new BatchMaster();\r\n batch.batchId = this.batchId;\r\n data.forEach((datas) => {\r\n let trainerMaster = new AddTrainer();\r\n trainerMaster.trainerCode = datas.employeeCode;\r\n trainerMaster.batch = batch;\r\n trainerMaster.createdBy = this.userId;\r\n let user = new User();\r\n user.userId = this.userId;\r\n trainerMaster.updatedBy = user;\r\n if (datas.trainerBatchId === undefined || datas.trainerBatchId === null) {\r\n arr.push(trainerMaster);\r\n }\r\n\r\n });\r\n this.res = arr;\r\n return this.res;\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi3.setQuickFilter(this.Filter);\r\n }\r\n\r\n clearSearch($event) {\r\n this.Filter = '';\r\n this.gridApi.setQuickFilter(this.Filter);\r\n }\r\n\r\n saveTrainee() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let trainees = this.traineeMapper();\r\n if (trainees?.length != 0) {\r\n this._initiateTrainingService.saveTraineees(trainees).subscribe((response) => {\r\n if (response != null && response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.TRAINEES_HAVE_BEEN_ADDED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n this.closeModel();\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.closeModel();\r\n }\r\n\r\n }, (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.error,\r\n duration: 10000,\r\n });\r\n });\r\n } else {\r\n this.loading = false;\r\n this.closeModel();\r\n }\r\n\r\n }\r\n })\r\n\r\n\r\n }\r\n\r\n exportTrainee() {\r\n this.gridApi3.exportDataAsCsv();\r\n }\r\n\r\n exportTrainer() {\r\n this.gridApi.exportDataAsCsv();\r\n }\r\n\r\n exportCoordinator() {\r\n this.gridApi2.exportDataAsCsv();\r\n }\r\n traineeMapper() {\r\n let trainees: Array = [];\r\n this.traineeListGrid.forEach((emp) => {\r\n let trainee = new Trainee();\r\n // let empCode = new EmpCode();\r\n let batchId = new BatchMaster();\r\n // empCode.employeeCode = emp.employeeCode;\r\n trainee.empCode = emp?.employeeCode;\r\n batchId.batchId = this.batchId;\r\n trainee.batchId = batchId;\r\n trainee.createdBy = this.userId;\r\n trainee.updatedBy = this.userId;\r\n if (emp.traineeId === undefined) {\r\n trainee.traineeId = null\r\n } else {\r\n trainee.traineeId = emp.traineeId;\r\n }\r\n if (trainee.traineeId === undefined || trainee.traineeId === null) {\r\n trainees.push(trainee);\r\n }\r\n\r\n });\r\n return trainees;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n

{{title}}

\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n {{'total_records'|translate}} {{recordCount}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{'total_records'|translate}} {{recordCount}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n Download Format\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{'total_records'|translate}} {{recordCount}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { formatDate } from '@angular/common';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { event } from 'jquery';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { Entity } from 'src/app/layouts/baseline/model/entity.model';\r\nimport { PowerIconComponent } from 'src/app/layouts/core/power-icon/power-icon.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { BatchMaster } from '../../model/batch-master';\r\nimport { Training } from '../../model/training';\r\nimport { GroupService } from '../../services/group.service';\r\nimport { InitiateTrainingService } from '../../services/initiate-training.service';\r\nimport { LaunchTrainingService } from '../../services/launch-training.service';\r\nimport { LaunchPopUpComponent } from './launch-pop-up/launch-pop-up.component';\r\nimport { Router } from '@angular/router';\r\nimport { RegularVisitService } from 'src/app/layouts/monitoring/service/regular-visit.service';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\n\r\n@Component({\r\n selector: 'app-launch-training',\r\n templateUrl: './launch-training.component.html',\r\n styleUrls: ['./launch-training.component.scss'],\r\n})\r\nexport class LaunchTrainingComponent implements OnInit {\r\n @ViewChild('primaryModal', { static: false })\r\n public primaryModal: ModalDirective;\r\n addChild: LaunchPopUpComponent;\r\n allGroupFromParent;\r\n groups = [];\r\n subGroups = [];\r\n trainings = [];\r\n training = new Training();\r\n loanFilter: any;\r\n recordCount: number = 0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n groupFilter: string;\r\n gridOptions = {};\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n id: any;\r\n params: any;\r\n powBtn: any;\r\n paginationPageSize = 100;\r\n launchTrainingForm: FormGroup;\r\n launchTrainingData: any = [];\r\n trainingGrid: any = []\r\n launchedOn: any;\r\n userId: any;\r\n loggedinUserArea: any\r\n data: any\r\n roleArea: any;\r\n initiateTrainingList: any = []\r\n groupName: any;\r\n subGroupName: any;\r\n disable: boolean = false;\r\n area: any = []\r\n roleAreaRes: any;\r\n roleTypeId: any;\r\n todayDate: any;\r\n loading: boolean;\r\n constructor(\r\n private _groupService: GroupService,\r\n private _launchTrainingService: LaunchTrainingService,\r\n private fb: FormBuilder,\r\n private _commonUtilService: CommonUtilService,\r\n public modalService: NgbModal,\r\n private dataSharing: DataSharingService,\r\n private toast: NgToastService,\r\n private groupService: GroupService,\r\n private clientStorage: ClientSideStorageService,\r\n private _initiateTraining: InitiateTrainingService,\r\n private router: Router,\r\n private _regularVisit: RegularVisitService,\r\n private aggridService: AgGridService\r\n ) {\r\n this.roleTypeId = JSON.parse(this.clientStorage.get('roleTypeId'));\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n // this.data = this.dataSharing.getMenuList();\r\n // this.loggedinUserArea = this.data.source._value;\r\n // this.roleArea = this.loggedinUserArea.roleArea;\r\n this.roleArea[0].roleTypeId = this.roleTypeId;\r\n this.frameworkComponents = {\r\n powerIconComponent: PowerIconComponent,\r\n };\r\n this.userId = this.clientStorage.get('userId');\r\n this.roleTypeId = this.clientStorage.get('roleTypeId');\r\n this.getAllActiveGroups();\r\n this.getUserTrainings();\r\n this.createColumnDefs();\r\n this.getTodayDate();\r\n }\r\n\r\n getTodayDate() {\r\n this.loading = true;\r\n this._regularVisit.GetTodayDate().subscribe((res) => {\r\n if(res && res?.data && res?.data[0].length>0){\r\n this.todayDate = res.data[0];\r\n this.loading = false;\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createFormAdd();\r\n }\r\n\r\n getArea() {\r\n\r\n }\r\n\r\n \r\n clearSearch() {\r\n this.groupFilter = '';\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n\r\n groupFilterChange() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n onStatusChanged(event) {\r\n this.launchedOn = new Date();\r\n const newEvent = event.split(' ');\r\n const stat = newEvent[0];\r\n const id = newEvent[1];\r\n this.launchTrainingData.forEach((launch) => {\r\n if (launch.batchId == id) {\r\n launch.launchDate = this.dateFormattergrid(this.launchedOn);\r\n launch.launchStatus.id = 64;\r\n let batchMaster = new BatchMaster();\r\n batchMaster = this.batchModel(launch);\r\n\r\n // this._initiateTraining.saveBatch(batchMaster).subscribe(\r\n // (response) => {\r\n // if (response.status === '200') {\r\n // this.launchTrainingData = [];\r\n // for (let i = 0; i < this.trainingGrid.length; i++) {\r\n // this.launchTrainingData.push(this.trainingGrid[i]);\r\n // this.gridApi.setRowData(this.launchTrainingData);\r\n // }\r\n\r\n // this.toast.success({\r\n // detail: Constantss.SUCCESS,\r\n // summary: 'Batch has been launched successfully',\r\n // duration: 10000,\r\n // });\r\n // }\r\n // },\r\n // (error) => {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: error.error,\r\n // duration: 10000,\r\n // });\r\n // }\r\n // );\r\n }\r\n });\r\n }\r\n\r\n batchModel(data: any) {\r\n let batchMaster = new BatchMaster();\r\n batchMaster.batchId = data.batchId;\r\n batchMaster.launchDate = new Date();\r\n\r\n let entity = new Entity();\r\n entity.id = 64;\r\n entity.name = 'Launched';\r\n batchMaster.launchStatus = entity;\r\n\r\n let training = new Training();\r\n training.trainingId = data.training.trainingId;\r\n batchMaster.training = training;\r\n\r\n batchMaster.trainingArea = data.trainingArea;\r\n batchMaster.batchNumber = data.batchNumber;\r\n\r\n batchMaster.venue = data.venue;\r\n batchMaster.address = data.address;\r\n batchMaster.startDate = this.dateFormatter(data.startDate);\r\n batchMaster.endDate = data.endDate;\r\n batchMaster.startTime = data.startTime;\r\n batchMaster.endTime = data.endTime;\r\n batchMaster.createdBy = Number(this.userId);\r\n batchMaster.updatedBy = Number(this.userId);\r\n batchMaster.updatedOn = new Date();\r\n batchMaster.createdOn = new Date();\r\n\r\n return batchMaster;\r\n }\r\n\r\n dateFormatter(date: any) {\r\n // let formatedDate;\r\n // if (typeof date === 'string') {\r\n // const [day, month, year] = date.split('-');\r\n // formatedDate = new Date(+year, +month - 1, +day);\r\n // }\r\n const format = 'yyyy-MM-dd';\r\n // const locale = 'en-US';\r\n // return formatedDate\r\n // ? formatDate(formatedDate, format, locale)\r\n // : formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n\r\n getAllActiveGroups() {\r\n this.loading = true;\r\n this._groupService.getTrainingGroups().subscribe((response) => {\r\n if (response && response.data !== null) {\r\n const groups = response.data;\r\n this.groups = groups.filter((grp) => grp.isActive === true);\r\n this.loading = false;\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n }\r\n\r\n // selectedGroup(event) {\r\n // const subGroups = event.trainingSubGroupList;\r\n // this.launchTrainingForm.controls['subGroup'].reset();\r\n // this.launchTrainingData = [];\r\n // this.subGroups = null;\r\n // this.trainings = null;\r\n // this.launchTrainingForm.controls['training'].reset();\r\n // if (subGroups != null) {\r\n // this.subGroups = subGroups.filter((subGrp) => subGrp.isActive);\r\n // } else {\r\n // this.subGroups = null;\r\n // }\r\n // }\r\n\r\n // selectedSubGroup(event) {\r\n // const trainings = event.trainingList;\r\n // this.launchTrainingForm.controls['training'].reset();\r\n // this.launchTrainingData = [];\r\n // this.trainings = null;\r\n // if (trainings != null) {\r\n // this.trainings = trainings.filter((training) => training.isActive);\r\n // } else {\r\n // this.trainings = null;\r\n // }\r\n // }\r\n\r\n selectedTraining(event) {\r\n this.launchTrainingForm.controls['area'].setValue(null);\r\n this.area = null;\r\n this.launchTrainingData = [];\r\n // this.launchTrainingData = [];\r\n this.loading = true;\r\n this._launchTrainingService.getArea(this.roleArea).subscribe(resP => {\r\n this.roleAreaRes = resP.data;\r\n this.groupName = event.groupName;\r\n this.loading = false;\r\n this.subGroupName = event.subGroupName;\r\n // this.area = event.area;\r\n let res;\r\n if (this.roleAreaRes) {\r\n res = this.roleAreaRes.find(i => i.training.trainingId === event.trainingId);\r\n this.area = []\r\n res.trainingDataDTOList.forEach(area => {\r\n if (area.initiateTrainingStatus && area.initiateTrainingStatus != null && area.initiateTrainingStatus.id == 62) {\r\n this.area.push(area)\r\n }\r\n });\r\n }\r\n // this.area = res.trainingDataDTOList;\r\n // this.loading = true;\r\n // this.groupService\r\n // .getBatchesByTraining(event.trainingId)\r\n // .subscribe((response) => {\r\n // if (response && response.data !== null) {\r\n // this.loading = false;\r\n // response.data.forEach((res) => {\r\n // res.startDate = this.dateFormattergrid(res.startDate);\r\n // if (res.launchDate != null) {\r\n // res.launchDate = this.dateFormattergrid(res.launchDate);\r\n // }\r\n // });\r\n // }\r\n // this.createColumnDefs();\r\n // this.trainingGrid = response.data;\r\n // });\r\n this.createColumnDefs();\r\n });\r\n }\r\n\r\n dateFormattergrid(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n // const locale = 'en-US';\r\n // return formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n createFormAdd() {\r\n this.launchTrainingForm = this.fb.group({\r\n // group: [null],\r\n // subGroup: [null],\r\n training: [null, Validators.required],\r\n area: [null, Validators.required]\r\n });\r\n }\r\n\r\n viewBatches() {\r\n this.launchTrainingData = [];\r\n let trainingAreaId;\r\n let trainingId;\r\n let res = this.area.find(i => i.areaId === this.launchTrainingForm.value.area);\r\n trainingAreaId = res.trainingAreaId;\r\n trainingId = res.trainingId;\r\n this.loading = true;\r\n this._initiateTraining.viewBatches(trainingId, trainingAreaId).subscribe(res => {\r\n res.data.forEach((res) => {\r\n this.loading = false;\r\n res.todayDate = this.todayDate;\r\n res.trainingStartDate = res.startDate;\r\n res.trainingEndDate = res.endDate;\r\n const format = \"dd-MM-yyyy\"\r\n // res.startDate = this.dateFormattergrid(res.startDate);\r\n // res.endDate = this.dateFormattergrid(res.endDate);\r\n res.startDate = this.dataSharing.datePipeFormat(res.startDate, format);\r\n res.endDate = this.dataSharing.datePipeFormat(res.endDate, format);\r\n // res.launchDate=this.dataSharing.datePipeFormat(res.launchDate,format);\r\n\r\n if (res.launchDate != null) {\r\n res.launchDate = this.dateFormattergrid(res.launchDate);\r\n }\r\n if (res.launchStatus.id === 63) {\r\n res.launchDate = null;\r\n }\r\n });\r\n this.launchTrainingData = res.data;\r\n this.recordCount = this.launchTrainingData.length;\r\n this.gridApi.setRowData(this.launchTrainingData);\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n });\r\n // const filter = this.launchTrainingData.filter(\r\n // (f) => f.trainingId === this.trainingGrid.trainingId\r\n // );\r\n // if (filter.length === 0) {\r\n // for (let i = 0; i < this.trainingGrid.length; i++) {\r\n // this.launchTrainingData.push(this.trainingGrid[i]);\r\n // this.gridApi.setRowData(this.launchTrainingData);\r\n // }\r\n // this.recordCount = this.launchTrainingData.length;\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: 'This training has been already added.',\r\n // duration: 10000,\r\n // });\r\n // }\r\n\r\n }\r\n\r\n viewDetails() {\r\n this.router.navigate([\"/training/initiateTraining\"])\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 100;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n // header = this._commonUtilService.getColumnHeader(\r\n // 'training.trainingName',\r\n // 'Training Initiated'\r\n // );\r\n // header.width = 200;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('batchNumber', 'Batch Number');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('batchCode', 'Batch Code');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('startDate', 'Start Date');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('endDate', 'End Date');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('trainerCount', 'Add Trainer');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellRenderer = this.createHyperLinkTrainer.bind(this)\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('coordinatorCount', 'Add Coordinator');\r\n header.width = 240;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellRenderer = this.createHyperLinkCoordinator.bind(this)\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('traineeCount', 'Add Trainee');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellRenderer = this.createHyperLinkTrainee.bind(this)\r\n this.columnDefs.push(header);\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader('launchDate', 'Launched On');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('launchStatus.id', 'Launch');\r\n header.width = 200;\r\n header.cellRenderer = 'powerIconComponent';\r\n header.cellRendererParams = {\r\n type: 'Training.LaunchTraining',\r\n onPowerIconClick: (params: any) => {\r\n this.onPowerBtnCLicked(params.rowData.batchId, 1);\r\n },\r\n };\r\n this.columnDefs.push(header);\r\n }\r\n\r\n onPowerBtnCLicked(id: number, powBtn: any) {\r\n this.id = id;\r\n this.powBtn = powBtn;\r\n this.primaryModal.show();\r\n }\r\n\r\n openModal() {\r\n const modalRef = this.modalService.open(LaunchPopUpComponent);\r\n modalRef.result.then((result) => { }).catch((error) => { });\r\n }\r\n addModel() {\r\n this.id = 0;\r\n this.primaryModal.show();\r\n this.dataSharing.setGlobalEditData(null);\r\n }\r\n\r\n changeIndicator = (callAddRole) => {\r\n this.id = 0;\r\n this.launchTrainingData = [];\r\n if (callAddRole == 'cancel') {\r\n this.primaryModal.hide();\r\n } else {\r\n this.primaryModal.hide();\r\n }\r\n this.viewBatches();\r\n };\r\n\r\n dataLoaded(child: string) { }\r\n\r\n getUserTrainings() {\r\n this.loading = true;\r\n this._groupService.getAllUserRespectiveTrainings(this.roleArea).subscribe((response) => {\r\n if (response && response.data != null) {\r\n this.loading = false;\r\n response.data.forEach((training) => {\r\n training.startDate = this.dateFormatGrid(training.startDate);\r\n training.endDate = this.dateFormatGrid(training.endDate);\r\n //this.initiateTrainingList = response.data.filter((t)=>t.trainingLevelId.id == this.roleTypeId);\r\n });\r\n let removeInitiateTrainingStatus = response.data.filter((data) => (data.initiateTrainingStatus != null))\r\n let responseArray = removeInitiateTrainingStatus.filter((data) => (data.initiateTrainingStatus.id === 62 && data.isActive === true));\r\n\r\n this.initiateTrainingList = responseArray.filter((elem, index, self) => self.findIndex(\r\n (t) => { return t.trainingName === elem.trainingName }) === index) //remove duplicates from array\r\n\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n dateFormatGrid(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n const locale = 'en-US';\r\n return formatDate(date, format, locale);\r\n }\r\n\r\n Reset() {\r\n this.disable = false;\r\n this.subGroupName = \"\";\r\n this.groupName = \"\";\r\n // this.launchTrainingForm.controls['group'].reset();\r\n // this.launchTrainingForm.controls['subGroup'].reset();\r\n this.launchTrainingForm.controls['training'].reset();\r\n this.launchTrainingForm.controls['area'].reset();\r\n this.launchTrainingData = [];\r\n this.area = [];\r\n this.recordCount = 0;\r\n this.gridApi.setRowData(this.launchTrainingData);\r\n }\r\n\r\n createHyperLinkTrainer(params) {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.trainerCount} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n let id = 'trainer';\r\n this.onClicked(id, params);\r\n // this.onCalendarClicked(params.data);\r\n });\r\n return spanElement;\r\n }\r\n\r\n onClicked(id: any, params) {\r\n this.id = id;\r\n this.params = params;\r\n this.primaryModal.show();\r\n }\r\n\r\n\r\n createHyperLinkTrainee(params) {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.traineeCount} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n let id = 'trainee';\r\n this.onClicked(id, params);\r\n // this.onCalendarClicked(params.data);\r\n });\r\n return spanElement;\r\n }\r\n\r\n createHyperLinkCoordinator(params) {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.coordinatorCount} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n let id = 'coordinator';\r\n this.onClicked(id, params);\r\n // this.onCalendarClicked(params.data);\r\n });\r\n return spanElement;\r\n }\r\n}\r\n\r\n\r\nconst data = [{\r\n batchNumber: 1,\r\n startDate: '15-01-2023',\r\n endDate: '17-01-2023',\r\n trainerCount: 0,\r\n coordinatorCount: 0,\r\n traineeCount: 0\r\n}]","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Launch Training

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n \r\n

\r\n
\r\n \r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { DeleteIconComponent } from 'src/app/layouts/core/delete-icon/delete-icon.component';\r\nimport { DetailComponent } from 'src/app/layouts/core/detail/detail.component';\r\nimport { EditIconComponent } from 'src/app/layouts/core/edit-icon/edit-icon.component';\r\nimport { SwitchComponent } from 'src/app/layouts/core/switch/switch.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { GroupService } from '../../../services/group.service';\r\nimport { MyTrainingsService } from '../../../services/my-trainings.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\n\r\n@Component({\r\n selector: 'app-active-trainings',\r\n templateUrl: './active-trainings.component.html',\r\n styleUrls: ['./active-trainings.component.scss']\r\n})\r\nexport class ActiveTrainingsComponent implements OnInit {\r\n\r\n // @ViewChild(\"primaryModal\", { static: false })\r\n // public primaryModal: ModalDirective;\r\n // addChild: AddGroupComponent;\r\n groupFilter: any;\r\n loading: boolean = false;\r\n trainingGroupList = [];\r\n allGroupFromParent;\r\n recordCount: number = 0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n id: Number;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {}\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize = 20;\r\n navPermissions: any;\r\n currentPermission\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n employeeCode: any;\r\n constructor(private _commonUtilService: CommonUtilService, private router: Router,\r\n public modalService: NgbModal, private _groupService: GroupService,\r\n private dataSharing: DataSharingService,\r\n private clientStorage: ClientSideStorageService,\r\n private aggridService : AgGridService,\r\n private loginService: LoginService, private _myTrainings: MyTrainingsService) {\r\n this.employeeCode = this.clientStorage.get('employeeCode');\r\n this.getTrainingGroups();\r\n this.frameworkComponents = {\r\n detailComp: DetailComponent\r\n }\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientStorage.get('userId');\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createColumnDefs();\r\n }\r\n\r\n\r\n\r\n\r\n clearSearch(e) {\r\n this.groupFilter = \"\";\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n //params.api.sizeColumnsToFit();\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('trainingName', 'Training Name');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('trainingRole', 'Training Role');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('batchNumber', 'Batch Number');\r\n header.width = 120;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('batchCode', 'Batch Code');\r\n header.width = 120;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('startDate', 'Start Date');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('endDate', 'End Date');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('venue', 'Venue');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('isActive', 'Details');\r\n header.width = 80;\r\n header.suppressMovable = true;\r\n header.cellRenderer = 'detailComp';\r\n header.cellRendererParams = {\r\n type: 'Training.GroupMaster',\r\n inRouterLink: 'training/myTrainingsAttendance',\r\n onDetailClick: (params: any) => {\r\n this.onSwitchBtnClicked(params.rowData);\r\n },\r\n };\r\n this.columnDefs.push(header);\r\n\r\n }\r\n\r\n onSwitchBtnClicked(params) {\r\n // this.dataSharing.setGlobalEditData(params);\r\n }\r\n\r\n\r\n getTrainingGroups() {\r\n this.loading = true;\r\n this._myTrainings.getActiveTrainings(this.employeeCode).subscribe((response) => {\r\n if (response && response.data !== null) {\r\n response.data.forEach((d) => {\r\n d.batchStartDate = d.startDate;\r\n d.batchEndDate = d.endDate;\r\n d.startDate = this.dateFormatter(d.startDate);\r\n d.endDate = this.dateFormatter(d.endDate);\r\n d.myTrainingType = Constantss.ACTIVE\r\n });\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n this.trainingGroupList = response.data;\r\n this.recordCount = this.trainingGroupList.length;\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n onDeletBtnClicked() {\r\n this.getTrainingGroups();\r\n }\r\n\r\n\r\n groupRoute() {\r\n this.router.navigate(['/training/activeTraining']);\r\n }\r\n subGroupRoute() {\r\n this.router.navigate(['/training/completedTraining']);\r\n }\r\n\r\n myProfileRoute() {\r\n this.router.navigate(['/training/myProfile']);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n

My Trainings

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n\r\n

\r\n
\r\n\r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { DetailComponent } from 'src/app/layouts/core/detail/detail.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { GroupService } from '../../../services/group.service';\r\nimport { MyTrainingsService } from '../../../services/my-trainings.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\n\r\n@Component({\r\n selector: 'app-completed-trainings',\r\n templateUrl: './completed-trainings.component.html',\r\n styleUrls: ['./completed-trainings.component.scss']\r\n})\r\nexport class CompletedTrainingsComponent implements OnInit {\r\n loading : boolean = false;\r\n groupFilter: any;\r\n trainingGroupList = [];\r\n allGroupFromParent;\r\n recordCount: number;\r\n columnDefs: any;\r\n frameworkComponents;\r\n id: Number;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {}\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize = 20;\r\n navPermissions:any;\r\n currentPermission\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n employeeCode: any;\r\n constructor(private _commonUtilService: CommonUtilService, private router: Router,\r\n public modalService: NgbModal, private _groupService: GroupService,\r\n private dataSharing: DataSharingService,\r\n private clientStorage: ClientSideStorageService,\r\n private aggridService : AgGridService,\r\n private loginService: LoginService, private _myTrainings: MyTrainingsService) {\r\n this.employeeCode = this.clientStorage.get('employeeCode');\r\n this.getTrainingGroups();\r\n this.frameworkComponents = {\r\n detailComp: DetailComponent\r\n }\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientStorage.get('userId');\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.createColumnDefs();\r\n }\r\n\r\n \r\n\r\n clearSearch(e) {\r\n this.groupFilter = \"\";\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n // params.api.sizeColumnsToFit();\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('trainingName', 'Training Name');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('trainingRole', 'Training Role');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('batchNumber', 'Batch Number');\r\n header.width = 120;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('batchCode', 'Batch Code');\r\n header.width = 120;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('startDate', 'Start Date');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('endDate', 'End Date');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('venue', 'Venue');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('isActive', 'Details');\r\n header.width = 80;\r\n header.suppressMovable = true;\r\n header.cellRenderer = 'detailComp';\r\n header.cellRendererParams = {\r\n type: 'Training.GroupMaster',\r\n inRouterLink:'training/myTrainingsAttendance',\r\n onDetailClick: (params: any) => {\r\n this.onSwitchBtnClicked(params.rowData);\r\n },\r\n };\r\n this.columnDefs.push(header);\r\n\r\n }\r\n\r\n onSwitchBtnClicked(params){\r\n this.dataSharing.setGlobalEditData(params);\r\n }\r\n\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n return this.dataSharing.datePipeFormat(date,format);\r\n }\r\n\r\n onEditBtnClicked = (id: number) => {\r\n // \r\n \r\n }\r\n getTrainingGroups() {\r\n this.loading = true;\r\n this._myTrainings.getCompletedTrainings(this.employeeCode).subscribe((response)=>{\r\n if (response && response.data !== null) {\r\n this.loading = false;\r\n response.data.forEach((d)=>{\r\n d.batchStartDate = d?.startDate;\r\n d.batchEndDate = d?.endDate;\r\n d.startDate = this.dateFormatter(d?.startDate);\r\n d.endDate = this.dateFormatter(d?.endDate);\r\n d.myTrainingType = Constantss.COMPLETED\r\n });\r\n this.trainingGroupList = response.data;\r\n this.recordCount = this.trainingGroupList.length;\r\n this.aggridService.autoSizeColumns(this.gridOptions); \r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n \r\n\r\n }\r\n\r\n onDeletBtnClicked() {\r\n this.getTrainingGroups();\r\n }\r\n\r\n addGroup() {\r\n this.dataSharing.setGlobalEditData(null);\r\n this.router.navigate(['training/trainingMaster/add_group'])\r\n }\r\n\r\n groupRoute() {\r\n this.router.navigate(['/training/activeTraining']);\r\n }\r\n subGroupRoute() {\r\n this.router.navigate(['/training/completedTraining']);\r\n }\r\n\r\n myProfileRoute(){\r\n this.router.navigate(['/training/myProfile']);\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n

My Trainings

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n\r\n

\r\n
\r\n\r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { RegistrationService } from 'src/app/layouts/baseline/service/registration.service';\r\nimport { SectionsService } from 'src/app/layouts/monitoring/service/sections.service';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { BankInfo } from '../../../model/bank-info';\r\nimport { Bank } from 'src/app/layouts/baseline/model/bank.model';\r\nimport { EmpCode } from 'src/app/views/pages/model/emp-code';\r\nimport { TraineeRegistrationService } from '../../../services/trainee-registration.service';\r\nimport { MyTrainingsService } from '../../../services/my-trainings.service';\r\n\r\n@Component({\r\n selector: 'app-my-profile',\r\n templateUrl: './my-profile.component.html',\r\n styleUrls: ['./my-profile.component.scss']\r\n})\r\nexport class MyProfileComponent implements OnInit {\r\n\r\n form!: FormGroup;\r\n employeeCode!: any;\r\n emailPattern = '^[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,4}$';\r\n bankId!: any;\r\n employeeName!: any;\r\n loggedInUserId!: any;\r\n bankIdEdit: any;\r\n loading: boolean = true;\r\n constructor(private router: Router, private fb: FormBuilder,\r\n private registrationService: RegistrationService, private toast: NgToastService,\r\n private clientStorage: ClientSideStorageService,\r\n private sectionSerivce: SectionsService,\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private traineeRegService: TraineeRegistrationService,\r\n private myTrainingService: MyTrainingsService) {\r\n this.employeeCode = this.clientStorage.get('employeeCode');\r\n this.loggedInUserId = Number(this.clientStorage.get('userId'));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.openForm();\r\n this.getEmpBankDetails();\r\n }\r\n\r\n\r\n\r\n\r\n getEmpBankDetails() {\r\n this.loading = true;\r\n this.myTrainingService.getEmpBankDetails(this.employeeCode).subscribe((res) => {\r\n if (res && res?.data && res.status === '200') {\r\n this.openFormWithValues(res.data);\r\n //this.onIFSCEntered('', res?.data[0]?.ifscCode);\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n openForm() {\r\n this.form = this.fb.group({\r\n userId: [this.employeeCode, [Validators.required]],\r\n name: [null, [Validators.required]],\r\n ifscCode: ['', [Validators.required, Validators.maxLength(11)]],\r\n //bankName: ['', [Validators.required]],\r\n bankAccount: ['', [Validators.required]],\r\n // branchName: ['', [Validators.required]]\r\n });\r\n }\r\n\r\n\r\n\r\n openFormWithValues(emp: any) {\r\n //this.bankIdEdit = emp[0].bankMaster.bankId;\r\n this.form = this.fb.group({\r\n userId: [emp[0]?.employeeCode, [Validators.required]],\r\n ifscCode: [emp[0]?.ifscCode, [Validators.required, Validators.maxLength(11)]],\r\n // bankName: [],\r\n bankAccount: [emp[0]?.bankAccountNo, [Validators.required]],\r\n name: [emp[0]?.accountHolderName, [Validators.required]],\r\n // branchName: [emp[0]?.bankBranchMaster?.branchName, [Validators.required]],\r\n });\r\n }\r\n\r\n save() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let bankDetails = this.mapToModelBankDetails(this.form.value);\r\n this.traineeRegService.addEmpBankDetails(bankDetails).subscribe((res) => {\r\n if (res && res != null && res != undefined) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n });\r\n }\r\n })\r\n }\r\n\r\n groupRoute() {\r\n this.router.navigate(['/training/activeTraining']);\r\n }\r\n subGroupRoute() {\r\n this.router.navigate(['/training/completedTraining']);\r\n }\r\n\r\n myProfileRoute() {\r\n this.router.navigate(['/training/myProfile']);\r\n }\r\n\r\n\r\n get userId() {\r\n return this.form.get('userId');\r\n }\r\n\r\n get name() {\r\n return this.form.get('name');\r\n }\r\n\r\n get email() {\r\n return this.form.get('email');\r\n }\r\n\r\n get ifscCode() {\r\n return this.form.get('ifscCode');\r\n }\r\n\r\n get bankName() {\r\n return this.form.get('bankName');\r\n }\r\n\r\n get bankAccount() {\r\n return this.form.get('bankAccount');\r\n }\r\n\r\n onIFSCEntered(e, ifsc?) {\r\n if (e?.target?.value?.length === 11 || ifsc) {\r\n this.loading = true;\r\n this.registrationService\r\n .getBankBranchByIfsc(e?.target?.value || ifsc)\r\n .subscribe((response) => {\r\n if (response && response.data && response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.form.controls['ifscCode'].setValue(response?.data[0]?.ifsccode);\r\n // this.form.controls['branchName'].setValue(response?.data[0]?.branchName);\r\n // this.form.controls['bankName'].setValue(response?.data[0]?.bankMaster?.bankName);\r\n // this.bankDetailForm(response.data[0]);\r\n //this.bankId = response.data[0].bankId;\r\n } else {\r\n this.loading = false;\r\n this.toast.info({\r\n detail: Constantss.INFO,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n });\r\n })\r\n } else {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n\r\n mapToModelBankDetails(data) {\r\n let bankInfo = new BankInfo();\r\n bankInfo.bankAccountNo = data.bankAccount;\r\n bankInfo.createdBy = this.loggedInUserId;\r\n bankInfo.createdOn = new Date();\r\n bankInfo.employeeCode = this.employeeCode;\r\n bankInfo.ifscCode = data.ifscCode;\r\n bankInfo.accountHolderName = this.form.controls['name'].value;\r\n return bankInfo;\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n

My Trainings

\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n This is a required field\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n This is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
","import { Component, OnInit, HostListener, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { GroupService } from 'src/app/layouts/training/services/group.service';\r\nimport { MyTrainingsService } from 'src/app/layouts/training/services/my-trainings.service';\r\nimport { TrainingService } from 'src/app/layouts/training/services/training.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { saveAs } from 'file-saver';\r\nimport { Subscription } from 'rxjs';\r\nimport html2canvas from 'html2canvas';\r\nimport jsPDF from 'jspdf';\r\nimport { RegularVisitService } from 'src/app/layouts/monitoring/service/regular-visit.service';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { ManageUserService } from 'src/app/layouts/configurations/service/manage user service/manage-user.service';\r\nimport { SectionsService } from 'src/app/layouts/monitoring/service/sections.service';\r\n\r\n@Component({\r\n selector: 'app-certificates',\r\n templateUrl: './certificates.component.html',\r\n styleUrls: ['./certificates.component.scss']\r\n})\r\nexport class CertificatesComponent implements OnInit {\r\n // @ViewChild('RelivingContent') relivingContent: ElementRef;\r\n @ViewChild('relievingCertificate') relievingCertificate!: ElementRef;\r\n @ViewChild('participationCertificate') participationCertificate!: ElementRef;\r\n groupFilter: any;\r\n trainingGroupList = [];\r\n allGroupFromParent;\r\n recordCount: number=0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n id: Number;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {}\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n imageSrc;\r\n paginationPageSize = 20;\r\n navPermissions: any;\r\n currentPermission\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n fromGrid: any;\r\n isDocument: boolean = false;\r\n showAssmtTab: boolean = false;\r\n subscription: Subscription;\r\n browserRefresh: boolean = false;\r\n employeeCode;\r\n presentDays: number;\r\n todayDate: any;\r\n employeeName: any;\r\n schoolName: any;\r\n trainingName: any;\r\n districtName: any;\r\n showCertificate = false;\r\n ddmmyy: string;\r\n\r\n constructor(private _commonUtilService: CommonUtilService, private router: Router,\r\n private dataSharing: DataSharingService, private clientStorage: ClientSideStorageService,\r\n private _groupService: GroupService, private _myTrainings: MyTrainingsService, private trainingService: TrainingService,\r\n private _regularVisit: RegularVisitService, private toast: NgToastService,\r\n private sectionSerivce: SectionsService) {\r\n this.reloadFunctionality();\r\n this.createColumnDefs();\r\n this.fromGrid = this.dataSharing.getGlobalEditData().source;\r\n this.fromGrid = this.fromGrid._value;\r\n this.trainingName = this.fromGrid.trainingName;\r\n if (this.fromGrid.trainingRole === \"Trainee\") {\r\n this.showAssmtTab = true;\r\n } else {\r\n this.showAssmtTab = false;\r\n }\r\n this.frameworkComponents = {\r\n\r\n }\r\n this.employeeCode = this.clientStorage.get('employeeCode');\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientStorage.get('userId');\r\n\r\n this.getAttendance();\r\n this.usersAllData();\r\n }\r\n\r\n usersAllData() {\r\n this.sectionSerivce.getEmpByEmpCode(this.employeeCode).subscribe((res) => {\r\n if (res && res.data && res.data != null && res.data != undefined) {\r\n this.employeeName = res?.data[0].employeeName;\r\n this.schoolName = res?.data[0]?.schoolMaster?.schoolName;\r\n this.districtName = res?.data[0]?.schoolMaster?.blockMaster?.districtMaster?.districtNameH;\r\n }\r\n })\r\n }\r\n\r\n getTodayDate() {\r\n this._regularVisit.GetTodayDate().subscribe((res) => {\r\n this.todayDate = res.data[0];\r\n this.ddmmyy = this.dataSharing.datePipeFormat(this.todayDate,'dd/MM/yyyy')\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n if (this.browserRefresh) {\r\n this.router.navigate(['/training/myTrainings']);\r\n }\r\n this.createColumnDefs();\r\n document.getElementById('participationCertificate').style.display = 'none';\r\n }\r\n\r\n getAttendance() {\r\n\r\n this._myTrainings.getAttendanceDaysForDonut(this.fromGrid.batchId, this.employeeCode).subscribe((response) => {\r\n if (response && response != null) {\r\n this.presentDays = response.presentDays;\r\n this.getTrainingGroups(this.fromGrid);\r\n }\r\n });\r\n this.getTrainingGroups(this.fromGrid);\r\n }\r\n\r\n\r\n reloadFunctionality() {\r\n this.subscription = this.router.events.subscribe((evt) => {\r\n if (!this.router.navigated) {\r\n this.browserRefresh = true;\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n clearSearch(e) {\r\n this.groupFilter = \"\";\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('certificateName', 'Certificate Name');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('status', 'Status');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader('documentPath', 'View');\r\n // header.width = 100;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // header.cellRenderer = this.createViewHyperLink.bind(this)\r\n // this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('documentPath', 'Download');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellRenderer = this.createHyperLink.bind(this)\r\n this.columnDefs.push(header);\r\n }\r\n\r\n // createViewHyperLink(params: any) {\r\n // const spanElement = document.createElement('span');\r\n // if (params.data.documentPath != null) {\r\n // spanElement.innerHTML = `

\r\n //

`;\r\n // spanElement.addEventListener('click', ($event) => {\r\n // console.log('fa fa-ye');\r\n // })\r\n // } else {\r\n // spanElement.innerHTML = `

\r\n //

`;\r\n // spanElement.addEventListener('click', ($event) => {\r\n // console.log('fa fa-ye-slash');\r\n // })\r\n // }\r\n // return spanElement\r\n // }\r\n\r\n createHyperLink(params): any {\r\n const spanElement = document.createElement('span');\r\n if (params.data.documentPath != null) {\r\n spanElement.innerHTML = `

\r\n

`;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n this.onDownload(params.data);\r\n });\r\n } else {\r\n spanElement.innerHTML = `

\r\n

`;\r\n \r\n }\r\n return spanElement;\r\n }\r\n\r\n\r\n\r\n onDownload(event) {\r\n \r\n \r\n // if (event.status === 'Unavailable') {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: `${event.certificateName} is currently unavailable`,\r\n // duration: 10000,\r\n // })\r\n // } else {\r\n \r\n // this.toast.info({\r\n // detail: 'Info',\r\n // summary: `Preparing to download the certificate.\r\n // Please wait a moment...`,\r\n // duration: 5000,\r\n // });\r\n // document.getElementById('participationCertificate').style.display = 'block';\r\n // this.convertParticipationCertificateToPDF();\r\n // }\r\n\r\n }\r\n\r\n\r\n getTrainingGroups(data: any) {\r\n if(data.trainingRole===\"Trainee\"){\r\n this.getTodayDate();\r\n let todaySDate;\r\n let status;\r\n let isDownloadDisabled;\r\n let endDate = (new Date(data.batchStartDate.split('T')[0])).getTime();\r\n if (this.todayDate != undefined) {\r\n todaySDate = (new Date(this.todayDate.split('T')[0])).getTime();\r\n }\r\n\r\n\r\n\r\n if (this.presentDays > 0) {\r\n status = \"Available\"\r\n } else {\r\n status = \"Unavailable\"\r\n }\r\n\r\n if (endDate <= todaySDate) {\r\n isDownloadDisabled = false;\r\n } else {\r\n isDownloadDisabled = true;\r\n }\r\n\r\n this.trainingGroupList = [{\r\n certificateName: 'Participation Certificate',\r\n status: status,\r\n documentPath: isDownloadDisabled,\r\n\r\n },\r\n // {\r\n // certificateName : 'Relieving Certificate',\r\n // status : 'Unavailable' ,\r\n // documentPath : null\r\n // }\r\n ]\r\n this.recordCount = this.trainingGroupList.length;\r\n }else{\r\n this.trainingGroupList = [];\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n attRoute() {\r\n this.router.navigate(['/training/myTrainingsAttendance']);\r\n }\r\n matRoute() {\r\n this.router.navigate(['/training/myTrainingsMaterial']);\r\n }\r\n assmtRoute() {\r\n this.router.navigate(['/training/myTrainingsAssessment']);\r\n }\r\n raiseRoute() {\r\n this.router.navigate(['/training/myTrainingsRaiseTicket']);\r\n }\r\n certificateRoute() {\r\n this.router.navigate(['/training/certificates']);\r\n }\r\n\r\n\r\n back() {\r\n if (this.fromGrid.myTrainingType === 'Active') {\r\n this.router.navigate(['/training/activeTraining']);\r\n } else {\r\n this.router.navigate(['/training/completedTraining']);\r\n }\r\n }\r\n\r\n\r\n\r\n // convertToPdf() {\r\n // //relievingCertificate\r\n // const content = this.relievingCertificate.nativeElement;\r\n // html2canvas(content).then((canvas) => {\r\n // const imgData = canvas.toDataURL('image/png');\r\n // const pdf = new jsPDF();\r\n // pdf.addImage(imgData, 'PNG', 10, 13, canvas.width * 0.1, canvas.height * 0.1);\r\n // pdf.save('relievingCertificate.pdf');\r\n // });\r\n // }\r\n\r\n convertParticipationCertificateToPDF() {\r\n document.getElementById('participationCertificate').style.display = 'block';\r\n //participationCertificate\r\n const content = this.participationCertificate.nativeElement;\r\n html2canvas(content).then((canvas) => {\r\n const imgData: any = canvas.toDataURL('image/png');\r\n const pdf = new jsPDF();\r\n pdf.addImage(imgData, 'PNG', 10, 13, canvas.width * 0.1, canvas.height * 0.1);\r\n pdf.save('participationCertificate.pdf');\r\n document.getElementById('participationCertificate').style.display = 'none';\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","\r\n
\r\n\r\n
\r\n
\r\n

Training Details

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n\r\n

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

\r\n   राज्य   शिक्षा   केंद्र  \r\n

\r\n

\r\n पुस्तक   भवन,   बी   विंग   अरेरा   हिल्स   भोपाल \r\n

\r\n

\r\n उपस्थिति   प्रमाण   पत्र \r\n

\r\n
\r\n प्रमाणित   किया   जाता   है   कि   श्री   /   श्रीमती   /\r\n   सुश्री   pppppppppppp  \r\n पदस्थ   शाला   /   स्थान   pppppppppppp   पद\r\n   pppppppppppp  \r\n जिला   pppppppppppp   ने   दिनांक   pppppppppppp  \r\n को   राज्य   स्तर   पर   \"बुनियादी   साक्षरता   एवं\r\n संख्या   ज्ञान   (एफ.एल.एन)\"  \r\n रिफ्रेशर   अंतर्गत   उपस्थिति\r\n   रहकर   डीआरजी  /   एमटी   को\r\n   प्रशिक्षण   प्रदान   किया |   संबंधित   को  आज   दिनांक\r\n pppppppppppp\r\n\r\n को   सायंकाल   अपने   कर्तव्य   स्थल   हेतु\r\n   मुक्त   किया   जाता   है |   संबंधित   के\r\n   टी.ए / डी.ए  ,   मानदेय   का   भुगतान   राज्य\r\n   स्तर   से   दे  \r\n होगा |\r\n
\r\n
\r\n
\r\n
दिनांक :-
\r\n
(साधना यादव )
\r\n नियंत्रक
शिक्षक प्रशिक्षण\r\n
राज्य शिक्षा केंद्र\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n   राज्य   शिक्षा   केंद्र,   भोपाल   (म.प्र)  \r\n

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

\r\n प्रमाण पत्र\r\n

\r\n
\r\n\r\n
\r\n\r\n प्रतिभागी  \r\n {{employeeName}}   \r\n विद्यालय / संस्था   {{schoolName}}   जिला  \r\n {{districtName}}  \r\n \r\n\r\n \r\n द्वारा   मिशन   अंकुर   के   अंतर्गत   बुनियादी   साक्षरता\r\n   एवं   संख्या   ज्ञान   (एफ.एल.एन)   पर   तीन\r\n   दिवसीय   राज्य   स्तरीय  \r\n स्पेशल   ट्रेनिंग   विषय  \r\n {{trainingName}} में\r\n   विकासखंड   स्तरीय   मास्टर   ट्रेनर   के  \r\n रूप   में   सहभागिता   की   गई |\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n स्थान: भोपाल
\r\n दिनांक: {{ddmmyy}}\r\n\r\n
\r\n
\r\n
\r\n प्रशिक्षण समन्वयक
\r\n राज्य शिक्षा केंद्र, भोपाल\r\n
\r\n
\r\n
\r\n अपर मिशन संचालक
\r\n राज्य शिक्षा केंद्र, भोपाल\r\n
\r\n
\r\n
\r\n संचालक
\r\n राज्य शिक्षा केंद्र, भोपाल\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { Chart } from 'chart.js';\r\nimport { Subscription } from 'rxjs';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { GroupService } from 'src/app/layouts/training/services/group.service';\r\nimport { MyTrainingsService } from 'src/app/layouts/training/services/my-trainings.service';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\ndeclare var google: any;\r\n@Component({\r\n selector: 'app-my-training-assessment',\r\n templateUrl: './my-training-assessment.component.html',\r\n styleUrls: ['./my-training-assessment.component.scss']\r\n})\r\nexport class MyTrainingAssessmentComponent implements OnInit {\r\n loading : boolean = false;\r\n groupFilter: any;\r\n trainingGroupList = [];\r\n allGroupFromParent;\r\n recordCount: number;\r\n columnDefs: any;\r\n frameworkComponents;\r\n id: Number;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {}\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize = 20;\r\n navPermissions: any;\r\n currentPermission\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n fromGrid: any;\r\n chartBarData: any;\r\n options: any;\r\n width = document.documentElement.clientWidth;\r\n height = document.documentElement.clientHeight;\r\n employeeCode: any;\r\n maxScorePre: any;\r\n maxScorePost: any;\r\n datePre: any;\r\n datePost: any;\r\n scorePre: any;\r\n scorePost: any;\r\n isPrePost: boolean = false;\r\n daysAssmtData: any;\r\n showAssmtTab : boolean = false;\r\n browserRefresh:boolean=false;\r\n subscription: Subscription;\r\n constructor(private _commonUtilService: CommonUtilService, private router: Router,\r\n private dataSharing: DataSharingService, private clientStorage: ClientSideStorageService,\r\n private _groupService: GroupService, private _myTrainings: MyTrainingsService) {\r\n this.reloadFunctionality();\r\n this.createColumnDefs();\r\n this.fromGrid = this.dataSharing.getGlobalEditData().source;\r\n this.fromGrid = this.fromGrid._value;\r\n if(this.fromGrid.trainingRole===\"Trainee\"){\r\n this.showAssmtTab = true;\r\n }else{\r\n this.showAssmtTab = false;\r\n }\r\n this.employeeCode = this.clientStorage.get('employeeCode');\r\n this.getTrainingGroups();\r\n this.frameworkComponents = {\r\n\r\n }\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientStorage.get('userId');\r\n this.createBarChart();\r\n }\r\n\r\n ngOnInit(): void {\r\n if(this.browserRefresh){\r\n this.router.navigate(['/training/myTrainings']);\r\n }\r\n google.charts.load('current', { packages: ['corechart'] });\r\n google.charts.setOnLoadCallback(this.drawBarChart);\r\n }\r\n\r\n reloadFunctionality(){\r\n this.subscription= this.router.events.subscribe((evt) => {\r\n if(!this.router.navigated){\r\n this.browserRefresh = true;\r\n }\r\n });\r\n \r\n}\r\n\r\n drawBarChart() { }\r\n\r\n getTrainingGroups() {\r\n this.loading = true;\r\n this._myTrainings.GetPrePostMyTraining(this.employeeCode, this.fromGrid.batchId).subscribe((response) => {\r\n if (response && response != null && response.data) {\r\n response.data.forEach((d) => {\r\n d.date = this.dateFormatter(d.date);\r\n if (d.test === \"Pre Test\" || d.test === \"Post Test\" || d.test != null) {\r\n if (d.test === \"Pre Test\") {\r\n this.maxScorePre = d.maximumMarks;\r\n this.datePre = d.date;\r\n this.scorePre = d.score;\r\n this.drawChart();\r\n this.isPrePost = true;\r\n } else if (d.test === \"Post Test\") {\r\n this.maxScorePost = d.maximumMarks;\r\n this.datePost = d.date;\r\n this.scorePost = d.score;\r\n this.isPrePost = true;\r\n this.drawChart();\r\n } else {\r\n this.drawChart();\r\n }\r\n\r\n\r\n }\r\n else if (d.test != \"Post Test\" && d.test != \"Pre Test\" && d.test != null) {\r\n d.test = 'Day ' + d.test;\r\n this.isPrePost = false;\r\n this.daysAssmtData = response.data;\r\n this.maxScorePost = d.maximumMarks;\r\n this.drawChartDailyz();\r\n }\r\n });\r\n this.trainingGroupList = response.data;\r\n this.recordCount = this.trainingGroupList.length;\r\n this.loading = false;\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n })\r\n\r\n\r\n }\r\n\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n drawChartDailyz(w = 800, h = 500) {\r\n\r\n function getRandomColor() {\r\n var letters = '0123456789ABCDEF';\r\n var color = '#';\r\n for (var i = 0; i < 6; i++) {\r\n color += letters[Math.floor(Math.random() * 16)];\r\n }\r\n return color;\r\n }\r\n\r\n let days = this.daysAssmtData;\r\n //let days = [{ day: 'Day 1', score: 22 }, { day: 'Day 2', score: 42 }, { day: 'Day 3', score: 32 }];\r\n let d = [];\r\n for (let i = 0; i <= 1; i++) {\r\n if (i === 0) {\r\n d.push(['Test Date', 'Test', { role: 'style' }, { role: 'annotation' }])\r\n } else {\r\n days.forEach((i) => {\r\n d.push([`${i.date} \\n ${i.test}`, i.score, getRandomColor(), i.test]);\r\n })\r\n\r\n }\r\n\r\n }\r\n\r\n var arr = d\r\n var data = google.visualization.arrayToDataTable(arr);\r\n var view = new google.visualization.DataView(data);\r\n view.setColumns([0, 1, { calc: \"stringify\", sourceColumn: 1, type: \"string\", role: \"annotation\" }, 2]);\r\n var options = {\r\n title: \"Daywise Assessment\",\r\n fontSize: 17,\r\n width: w,\r\n height: h,\r\n hAxis: { title: 'Test Date', titleTextStyle: { color: '#333' } },\r\n vAxis: {\r\n title: 'Total Marks', titleTextStyle: { color: '#333' }, minValue: 0,\r\n maxValue: this.maxScorePost\r\n },\r\n //colors: ['#DC3912', '#3366CC'],\r\n bar: { groupWidth: \"40%\" },\r\n legend: { position: \"none\" },\r\n };\r\n var chart = new google.visualization.ColumnChart(document.getElementById('divColumnChart'));\r\n chart.draw(view, options);\r\n }\r\n\r\n drawChart(w = 800, h = 500) {\r\n let maxScore;\r\n if (this.maxScorePost != null && this.maxScorePost != undefined) {\r\n maxScore = this.maxScorePost;\r\n } else if (this.maxScorePre != null && this.maxScorePre != undefined) {\r\n maxScore = this.maxScorePre;\r\n }\r\n var data = google.visualization.arrayToDataTable([\r\n ['Test Date', 'Test', { role: 'style' }, { role: 'annotation' }],\r\n [`${this.datePre} \\n Pre Test`, this.scorePre, '#1A73E8', 'Pre Test '],\r\n [`${this.datePost} \\n Post Test`, this.scorePost, '#FFD700', 'Post Test'],\r\n ]);\r\n var view = new google.visualization.DataView(data);\r\n view.setColumns([0, 1, { calc: \"stringify\", sourceColumn: 1, type: \"string\", role: \"annotation\" }, 2]);\r\n var options = {\r\n title: \"Pre/Post Assessment\",\r\n fontSize: 17,\r\n width: w,\r\n height: h,\r\n hAxis: { title: 'Test Date', titleTextStyle: { color: '#333' } },\r\n vAxis: {\r\n title: 'Total Marks',\r\n titleTextStyle: { color: '#333' },\r\n minValue: 0,\r\n maxValue: maxScore\r\n },\r\n //colors: ['#DC3912', '#3366CC'],\r\n bar: { groupWidth: \"40%\" },\r\n legend: { position: \"none\" },\r\n };\r\n var chart = new google.visualization.ColumnChart(document.getElementById('divColumnChart'));\r\n chart.draw(view, options);\r\n\r\n }\r\n\r\n resetWindowSize(event) {\r\n this.width = event.target.innerWidth;\r\n this.height = event.target.innerHeight;\r\n if (this.width === 860 || this.width <= 860) {\r\n if (this.isPrePost === true) {\r\n this.drawChart(this.width, this.height);\r\n } else {\r\n this.drawChartDailyz(this.width, this.height);\r\n }\r\n\r\n } else {\r\n if (this.isPrePost === true) {\r\n this.drawChart(this.width, this.height);\r\n } else {\r\n this.drawChartDailyz(this.width, this.height);\r\n }\r\n }\r\n\r\n }\r\n\r\n createBarChart() {\r\n\r\n }\r\n\r\n\r\n // createChart() {\r\n // Chart.defaults.font.family = 'sans-serif';\r\n // Chart.defaults.font.size = 18;\r\n // this.chartBarData = {\r\n // labels: ['Pre Test', 'Post Test'],\r\n // datasets: [\r\n // {\r\n // label: ['#Test'],\r\n // backgroundColor: ['orange', '#0068B8'],\r\n // data: [25, 85],\r\n // borderWidth: '1',\r\n // borderColor: '#777',\r\n // hoverBorderWidth: '2',\r\n // hoverBorderColor: 'black',\r\n // },\r\n\r\n // ],\r\n\r\n // }\r\n // this.options = {\r\n // title: {\r\n // display: true,\r\n // text: 'Hello MAn'\r\n // },\r\n // }\r\n\r\n // }\r\n\r\n\r\n\r\n clearSearch(e) {\r\n this.groupFilter = \"\";\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('test', 'Test');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('date', 'Date');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('status', 'Status');\r\n header.width = 120;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('score', 'Score');\r\n header.width = 120;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('maximumMarks', 'Maximum Marks');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n }\r\n\r\n onEditBtnClicked = (id: number) => {\r\n // \r\n\r\n }\r\n\r\n\r\n onDeletBtnClicked() {\r\n this.getTrainingGroups();\r\n }\r\n\r\n addGroup() {\r\n this.dataSharing.setGlobalEditData(null);\r\n this.router.navigate(['training/trainingMaster/add_group'])\r\n }\r\n\r\n attRoute() {\r\n this.router.navigate(['/training/myTrainingsAttendance']);\r\n }\r\n matRoute() {\r\n this.router.navigate(['/training/myTrainingsMaterial']);\r\n }\r\n assmtRoute() {\r\n this.router.navigate(['/training/myTrainingsAssessment']);\r\n }\r\n raiseRoute() {\r\n this.router.navigate(['/training/myTrainingsRaiseTicket']);\r\n }\r\n certificateRoute(){\r\n this.router.navigate(['/training/certificates']);\r\n }\r\n\r\n back() {\r\n if (this.fromGrid.myTrainingType === 'Active') {\r\n this.router.navigate(['/training/activeTraining']);\r\n } else {\r\n this.router.navigate(['/training/completedTraining']);\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n

Training Details

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

Training Details

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n\r\n

\r\n \r\n
\r\n\r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { Chart } from 'chart.js';\r\nimport { Subscription } from 'rxjs';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { GroupService } from 'src/app/layouts/training/services/group.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { MyTrainingsService } from '../../../../services/my-trainings.service';\r\ndeclare var google: any;\r\ndeclare var pd: any;\r\ndeclare var ad: any;\r\n@Component({\r\n selector: 'app-my-trainings-attendance',\r\n templateUrl: './my-trainings-attendance.component.html',\r\n styleUrls: ['./my-trainings-attendance.component.scss']\r\n})\r\nexport class MyTrainingsAttendanceComponent implements OnInit {\r\n groupFilter: any;\r\n trainingGroupList = [];\r\n allGroupFromParent;\r\n recordCount: number=0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n id: Number;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {}\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize = 20;\r\n navPermissions: any;\r\n currentPermission\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n employeeCode: any;\r\n fromGrid: any;\r\n chartDoughnutData: any;\r\n options: any;\r\n formatf = \"hh:mm:ss\";\r\n presentDays: number = 50;\r\n absentDays: number = 50;\r\n morningAttendance: string = 'Missing';\r\n eveningAtt: string = 'Missing';\r\n showCardForTodayAtt: boolean = false;\r\n data: any;\r\n width = document.documentElement.clientWidth-50;\r\n height = document.documentElement.clientHeight-50;\r\n morningTime: string = 'Missing';\r\n eveningTime: string = 'Missing';\r\n showAssmtTab : boolean = false;\r\n browserRefresh:boolean=false;\r\n subscription: Subscription;\r\n loading: boolean = false;\r\n constructor(private _commonUtilService: CommonUtilService, private router: Router,\r\n private dataSharing: DataSharingService, private clientStorage: ClientSideStorageService,\r\n private _groupService: GroupService, private _myTrainings: MyTrainingsService) {\r\n this.reloadFunctionality();\r\n this.fromGrid = this.dataSharing.getGlobalEditData().source;\r\n this.fromGrid = this.fromGrid._value;\r\n if(this.fromGrid.trainingRole===\"Trainee\"){\r\n this.showAssmtTab = true;\r\n }else{\r\n this.showAssmtTab = false;\r\n }\r\n this.employeeCode = this.clientStorage.get('employeeCode');\r\n\r\n\r\n this.frameworkComponents = {\r\n\r\n }\r\n\r\n\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientStorage.get('userId');\r\n // this.createDoughNutChart();\r\n this.createColumnDefs();\r\n this.getTodayAttendance();\r\n this.getTrainingGroups();\r\n this.createDoughNutChart();\r\n }\r\n\r\n ngOnInit(): void {\r\n if(this.browserRefresh){\r\n this.router.navigate(['/training/myTrainings']);\r\n }\r\n google.charts.load(\"current\", { packages: [\"corechart\"] });\r\n google.charts.setOnLoadCallback(this.drawChart);\r\n\r\n }\r\n\r\n\r\n reloadFunctionality(){\r\n this.subscription= this.router.events.subscribe((evt) => {\r\n if(!this.router.navigated){\r\n this.browserRefresh = true;\r\n }\r\n });\r\n \r\n}\r\n\r\n drawChart() {\r\n }\r\n\r\n createDoughNutChart() {\r\n this._myTrainings.getAttendanceDaysForDonut(this.fromGrid.batchId, this.employeeCode).subscribe((response) => {\r\n if (response && response != null) {\r\n this.presentDays = response.presentDays;\r\n this.absentDays = response.totalDays - this.presentDays;\r\n this.makePieChart();\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n makePieChart(w = this.width, h = this.height) {\r\n\r\n var legendPosition = '';\r\n // if (w < 900) {\r\n // legendPosition = 'relative'\r\n // } else {\r\n // legendPosition = 'labeled'\r\n // }\r\n if (w > 840) {\r\n legendPosition = 'labeled';\r\n var data = google.visualization.arrayToDataTable([\r\n ['Overall Attendance', 'Days (in days)'],\r\n [`Number of Days Present`, this.presentDays],\r\n [`Number of Days Absent`, this.absentDays]\r\n ]);\r\n } else {\r\n legendPosition = 'top';\r\n var data = google.visualization.arrayToDataTable([\r\n ['Overall Attendance', 'Days (in days)'],\r\n [`Present`, this.presentDays],\r\n [`Absent`, this.absentDays]\r\n ]);\r\n }\r\n\r\n var options = {\r\n width: w,\r\n height: h,\r\n title: `Overall Attendance - (Out of ${this.presentDays + this.absentDays} days) \\n`,\r\n //pieHole: 0.5,\r\n is3D: true,\r\n // colors: ['#008000', '#ffbf00', '#FF0000','#4E6282'],\r\n pieSliceText: 'value',\r\n //sliceVisibilityThreshold :0,\r\n fontSize: 17,\r\n\r\n legend: {\r\n position: legendPosition\r\n },\r\n };\r\n\r\n var chart = new google.visualization.PieChart(document.getElementById('piechart_3d'));\r\n chart.draw(data, options);\r\n }\r\n\r\n resetWindowSize(event) {\r\n this.width = event.target.innerWidth;\r\n this.height = event.target.innerHeight;\r\n this.makePieChart(this.width, this.height);\r\n }\r\n\r\n getTodayAttendance() {\r\n this.loading = true;\r\n this._myTrainings.GetTodayAttendance(this.fromGrid.batchId, this.employeeCode).subscribe((response) => {\r\n if (response && response != null && response.data) {\r\n this.loading = false;\r\n this.showCardForTodayAtt = true;\r\n response.data.forEach((d) => {\r\n if (d.session === 'Morning') {\r\n this.morningTime = this.dataSharing.datePipeFormat(d.createdOn, this.formatf);\r\n if (this.morningTime === undefined || this.morningTime === null) {\r\n this.morningTime === 'Missing'\r\n } else {\r\n this.morningTime === this.morningTime;\r\n }\r\n if (d.attendance === true) {\r\n this.morningAttendance = 'Present'\r\n } else if (d.attendance === false) {\r\n this.morningAttendance = 'Absent'\r\n } else {\r\n this.morningAttendance = 'Missing'\r\n }\r\n }\r\n\r\n else if (d.session === 'Evening') {\r\n this.eveningTime = this.dataSharing.datePipeFormat(d.createdOn, this.formatf);\r\n if (this.eveningTime === undefined || this.eveningTime === null) {\r\n this.eveningTime === 'Missing'\r\n } else {\r\n this.eveningTime = this.eveningTime;\r\n }\r\n if (d.attendance === true) {\r\n this.eveningAtt = 'Present';\r\n } else if (d.attendance === false) {\r\n this.eveningAtt = 'Absent';\r\n } else {\r\n this.eveningAtt = 'Missing';\r\n }\r\n }\r\n else if (d.session != 'Evening' || d.session != 'Morning') {\r\n if (d.session != 'Evening') {\r\n this.eveningAtt = 'Missing';\r\n if (this.eveningTime === undefined || this.eveningTime === null) {\r\n this.eveningTime === 'Missing'\r\n }\r\n } else if (d.session != 'Morning') {\r\n this.morningAttendance = 'Missing'\r\n if (this.morningTime === undefined || this.morningTime === null) {\r\n this.morningTime === 'Missing'\r\n }\r\n }\r\n }\r\n })\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n })\r\n }\r\n\r\n\r\n\r\n clearSearch(e) {\r\n this.groupFilter = \"\";\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader('date', 'Date');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('session', 'Session');\r\n header.width = 120;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader('attendance', 'Attendance');\r\n header.width = 120;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('time', 'Time');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader('verified', 'Verified');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n\r\n }\r\n\r\n onEditBtnClicked = (id: number) => {\r\n // \r\n\r\n }\r\n getTrainingGroups() {\r\n this.loading = true;\r\n this._myTrainings.getMyTrainingAttendance(this.employeeCode, this.fromGrid.batchId).subscribe((response) => {\r\n if (response && response.data !== null) {\r\n response.data.forEach((d) => {\r\n d.date = this.dateFormatter(d.date);\r\n });\r\n this.trainingGroupList = response.data;\r\n this.allGroupFromParent = response.data;\r\n this.recordCount = this.trainingGroupList.length;\r\n this.loading = false;\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n back() {\r\n if (this.fromGrid.myTrainingType === 'Active') {\r\n this.router.navigate(['/training/activeTraining']);\r\n } else {\r\n this.router.navigate(['/training/completedTraining']);\r\n }\r\n }\r\n\r\n onDeletBtnClicked() {\r\n this.getTrainingGroups();\r\n }\r\n\r\n addGroup() {\r\n this.dataSharing.setGlobalEditData(null);\r\n this.router.navigate(['training/trainingMaster/add_group'])\r\n }\r\n\r\n attRoute() {\r\n this.router.navigate(['/training/myTrainingsAttendance']);\r\n }\r\n matRoute() {\r\n this.router.navigate(['/training/myTrainingsMaterial']);\r\n }\r\n assmtRoute() {\r\n this.router.navigate(['/training/myTrainingsAssessment']);\r\n }\r\n raiseRoute() {\r\n this.router.navigate(['/training/myTrainingsRaiseTicket']);\r\n }\r\n\r\n certificateRoute(){\r\n this.router.navigate(['/training/certificates']);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n

Training Details

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
Today's Attendance
\r\n

\r\n \r\n Time : {{morningTime}}\r\n Morning\r\n Attendance\r\n :

\r\n

\r\n Time : {{eveningTime}}\r\n Evening\r\n Attendance :\r\n \r\n

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

Training Details

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n\r\n

\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
","import { Component, OnInit,HostListener } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { GroupService } from 'src/app/layouts/training/services/group.service';\r\nimport { MyTrainingsService } from 'src/app/layouts/training/services/my-trainings.service';\r\nimport { TrainingService } from 'src/app/layouts/training/services/training.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { saveAs } from 'file-saver';\r\nimport { Subscription } from 'rxjs';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\n@Component({\r\n selector: 'app-my-trainings-material',\r\n templateUrl: './my-trainings-material.component.html',\r\n styleUrls: ['./my-trainings-material.component.scss']\r\n})\r\nexport class MyTrainingsMaterialComponent implements OnInit {\r\n // @HostListener(\"window:beforeunload\", [\"$event\"]) unloadHandler(event: Event) {\r\n // window.opener.location.reload();\r\n // }\r\n groupFilter: any;\r\n trainingGroupList = [];\r\n allGroupFromParent;\r\n recordCount: number=0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n id: Number;\r\n loading : boolean = false;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {}\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize = 20;\r\n navPermissions: any;\r\n currentPermission\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n fromGrid: any;\r\n isDocument: boolean = false;\r\n showAssmtTab : boolean = false;\r\n subscription: Subscription;\r\n browserRefresh:boolean=false;\r\n constructor(private _commonUtilService: CommonUtilService, private router: Router,\r\n private dataSharing: DataSharingService, private clientStorage: ClientSideStorageService,\r\n private aggridService: AgGridService,\r\n private _groupService: GroupService, private _myTrainings: MyTrainingsService, private trainingService: TrainingService) {\r\n this.reloadFunctionality();\r\n this.createColumnDefs();\r\n this.fromGrid = this.dataSharing.getGlobalEditData().source;\r\n this.fromGrid = this.fromGrid._value;\r\n if(this.fromGrid.trainingRole===\"Trainee\"){\r\n this.showAssmtTab = true;\r\n }else{\r\n this.showAssmtTab = false;\r\n }\r\n this.frameworkComponents = {\r\n\r\n }\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientStorage.get('userId');\r\n this.getTrainingGroups();\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n if(this.browserRefresh){\r\n this.router.navigate(['/training/myTrainings']);\r\n }\r\n this.createColumnDefs();\r\n\r\n }\r\n\r\n\r\n reloadFunctionality(){\r\n this.subscription= this.router.events.subscribe((evt) => {\r\n if(!this.router.navigated){\r\n this.browserRefresh = true;\r\n }\r\n });\r\n \r\n}\r\n\r\n\r\n clearSearch(e) {\r\n this.groupFilter = \"\";\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('materialType', 'Material Type');\r\n header.width = 80;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('materialName', 'Material Name');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('documentLevel', 'Material Level');\r\n header.width = 80;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('linkPath', 'View');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.cellRenderer = this.cellStyling.bind(this)\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('documentPath', 'Download');\r\n header.width = 50;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellRenderer = this.createHyperLink.bind(this)\r\n this.columnDefs.push(header);\r\n\r\n\r\n\r\n\r\n }\r\n\r\n createHyperLink(params): any {\r\n const spanElement = document.createElement('span');\r\n if (params.data.documentPath != null) {\r\n spanElement.innerHTML = `

\r\n

`;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n this.onDownload(params.data);\r\n });\r\n }\r\n return spanElement;\r\n }\r\n\r\n\r\n cellStyling(params: any) {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.linkPath} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n window.open(params.data.linkPath);\r\n });\r\n return spanElement;\r\n }\r\n\r\n onDownload(event) {\r\n const fileName = event.documentName;\r\n this.trainingService\r\n .downloadTrainingMaterial(fileName)\r\n .subscribe((blob: Blob) => {\r\n saveAs(blob, fileName);\r\n });\r\n }\r\n\r\n\r\n getTrainingGroups() {\r\n this.loading = true;\r\n this._myTrainings.GetTrainingMaterial(this.fromGrid.batchId).subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.loading = false;\r\n response.data.forEach((d) => {\r\n if (d.documentName != null) {\r\n \r\n d.materialName = d.documentName;\r\n d.materialType = 'Document';\r\n d.linkPath = '';\r\n }\r\n if (d.linkName != null) {\r\n \r\n d.materialName = d.linkName;\r\n d.materialType = 'Link';\r\n }\r\n\r\n })\r\n this.trainingGroupList = response.data;\r\n this.recordCount = this.trainingGroupList.length;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n onDeletBtnClicked() {\r\n this.getTrainingGroups();\r\n }\r\n\r\n attRoute() {\r\n this.router.navigate(['/training/myTrainingsAttendance']);\r\n }\r\n matRoute() {\r\n this.router.navigate(['/training/myTrainingsMaterial']);\r\n }\r\n assmtRoute() {\r\n this.router.navigate(['/training/myTrainingsAssessment']);\r\n }\r\n raiseRoute() {\r\n this.router.navigate(['/training/myTrainingsRaiseTicket']);\r\n }\r\n certificateRoute(){\r\n this.router.navigate(['/training/certificates']);\r\n }\r\n\r\n\r\n back() {\r\n if (this.fromGrid.myTrainingType === 'Active') {\r\n this.router.navigate(['/training/activeTraining']);\r\n } else {\r\n this.router.navigate(['/training/completedTraining']);\r\n }\r\n }\r\n\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n

Training Details

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n\r\n

\r\n \r\n
\r\n\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { GroupService } from 'src/app/layouts/training/services/group.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\n\r\n@Component({\r\n selector: 'app-my-trainings-raise-ticket',\r\n templateUrl: './my-trainings-raise-ticket.component.html',\r\n styleUrls: ['./my-trainings-raise-ticket.component.scss']\r\n})\r\nexport class MyTrainingsRaiseTicketComponent implements OnInit {\r\n\r\n groupFilter: any;\r\n trainingGroupList = [];\r\n allGroupFromParent;\r\n recordCount: number=0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n id: Number;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {}\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize = 20;\r\n navPermissions:any;\r\n currentPermission\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n fromGrid: any;\r\n showAssmtTab = false\r\n constructor(private _commonUtilService : CommonUtilService, private router : Router,\r\n private dataSharing : DataSharingService, private clientStorage : ClientSideStorageService,\r\n private _groupService: GroupService ) {\r\n this.createColumnDefs();\r\n this.fromGrid = this.dataSharing.getGlobalEditData().source;\r\n this.fromGrid = this.fromGrid._value;\r\n if(this.fromGrid.trainingRole===\"Trainee\"){\r\n this.showAssmtTab = true;\r\n }else{\r\n this.showAssmtTab = false;\r\n }\r\n this.getTrainingGroups();\r\n this.frameworkComponents = {\r\n // editIconComponent: EditIconComponent,\r\n // deleteIconComponent: DeleteIconComponent,\r\n //detailComp: DetailComponent\r\n }\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientStorage.get('userId');\r\n // this.getNavigableMenu(Number(userId), this.roleList[0].roleId);\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n\r\n\r\n clearSearch(e) {\r\n this.groupFilter = \"\";\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('groupName', 'Training Name');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('description', 'Training Role');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('description', 'Batch Number');\r\n header.width = 120;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('description', 'Batch Code');\r\n header.width = 120;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('description', 'Start Date');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('description', 'End Date');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('description', 'Venue');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('isActive', 'Details');\r\n header.width = 80;\r\n header.suppressMovable = true;\r\n header.cellRenderer = 'detailComp';\r\n header.cellRendererParams = {\r\n type: 'Training.GroupMaster',\r\n onSwitchClicked: ()=>{\r\n this.getTrainingGroups()\r\n }\r\n };\r\n this.columnDefs.push(header);\r\n\r\n }\r\n\r\n onEditBtnClicked = (id: number) => {\r\n // \r\n \r\n }\r\n getTrainingGroups() {\r\n this._groupService.getTrainingGroups().subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.trainingGroupList = response.data;\r\n this.allGroupFromParent = response.data;\r\n this.recordCount = this.trainingGroupList.length;\r\n }\r\n });\r\n\r\n }\r\n\r\n onDeletBtnClicked() {\r\n this.getTrainingGroups();\r\n }\r\n\r\n addGroup() {\r\n this.dataSharing.setGlobalEditData(null);\r\n this.router.navigate(['training/trainingMaster/add_group'])\r\n }\r\n\r\n attRoute() {\r\n this.router.navigate(['/training/myTrainingsAttendance']);\r\n }\r\n matRoute() {\r\n this.router.navigate(['/training/myTrainingsMaterial']);\r\n }\r\n assmtRoute() {\r\n this.router.navigate(['/training/myTrainingsAssessment']);\r\n }\r\n raiseRoute() {\r\n this.router.navigate(['/training/myTrainingsRaiseTicket']);\r\n }\r\n\r\n\r\n back() {\r\n if (this.fromGrid.myTrainingType === 'Active') {\r\n this.router.navigate(['/training/activeTraining']);\r\n } else {\r\n this.router.navigate(['/training/completedTraining']);\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n\r\n
\r\n
\r\n

My Trainings

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n \r\n

\r\n
\r\n\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { StartTestIconComponent } from 'src/app/layouts/core/start-test-icon/start-test-icon.component';\r\nimport { TrainingTestStatusComponent } from 'src/app/layouts/core/training-test-status/training-test-status.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { TrainingAssessmentService } from '../../services/training-assessment.service';\r\nimport { RegularVisitService } from 'src/app/layouts/monitoring/service/regular-visit.service';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { InitiateTrainingService } from '../../services/initiate-training.service';\r\nimport { Router } from '@angular/router';\r\nimport { Constantss } from 'src/utils/constantss';\r\n\r\n@Component({\r\n selector: 'app-new-training-assessment',\r\n templateUrl: './new-training-assessment.component.html',\r\n styleUrls: ['./new-training-assessment.component.scss']\r\n})\r\nexport class NewTrainingAssessmentComponent implements OnInit {\r\n loanFilter: any;\r\n recordCount: number = 0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [100, 200, 300];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n loading : boolean = false;\r\n empCode: any;\r\n userData: any;\r\n paginationPageSize = 100;\r\n rowDataAssessment: any;\r\n todayDate: any;\r\n constructor(\r\n private clientStorage: ClientSideStorageService,\r\n private _commonUtilService: CommonUtilService,\r\n private router: Router,\r\n private dataSharing: DataSharingService,\r\n private _trainingAssmtService: TrainingAssessmentService,\r\n private toast: NgToastService,\r\n private _regularVisit: RegularVisitService,\r\n private confirmationDialogue: ConfirmationDialogService,\r\n private _initiateTrainingService: InitiateTrainingService\r\n ) {\r\n this.frameworkComponents = {\r\n startTestIcon: StartTestIconComponent,\r\n trainingTestStatus: TrainingTestStatusComponent,\r\n };\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.empCode = this.userData.user.userName;\r\n this.getData();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n getData() {\r\n this.createColumnDefs();\r\n this.getAllTrainingAssessment();\r\n }\r\n\r\n getAllTrainingAssessment() {\r\n this.loading = true;\r\n this._trainingAssmtService.getAssmtStatus(this.empCode).subscribe((res) => {\r\n if (res && res.data && res != null && res != undefined) {\r\n res.data.forEach((data: any) =>\r\n data.scheduledDate = this.dateFormattergrid(data.scheduledDate));\r\n this.rowDataAssessment = res.data;\r\n this.recordCount = this.rowDataAssessment.length;\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n });\r\n }\r\n\r\n dateFormattergrid(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainingAssociated',\r\n 'Training Associated'\r\n );\r\n header.width = 280;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'testType',\r\n 'Test Type'\r\n );\r\n header.width = 280;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'scheduledDate',\r\n 'Scheduled Date'\r\n );\r\n header.width = 280;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('status', 'Status');\r\n header.width = 280;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'Start Test',\r\n 'Start Test'\r\n );\r\n header.width = 280;\r\n header.cellRenderer = 'startTestIcon';\r\n header.suppressMovable = true;\r\n header.cellRendererParams = {\r\n type: 'Training.TrainingAssessment',\r\n inRouterLink: '/training/TestAssessment/edit_assessment',\r\n onClick: (params: any) => {\r\n this.dataSharing.setGlobalEditData(params.rowData);\r\n },\r\n };\r\n\r\n this.columnDefs.push(header);\r\n }\r\n\r\n\r\n\r\n\r\n clearSearch(e) {\r\n this.loanFilter = '';\r\n this.gridApi.setQuickFilter(this.loanFilter);\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 100;\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Training Test

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n \r\n

\r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { TraineeAnswerSheet } from '../../../model/trainee-answer-sheet';\r\nimport { Trainee } from '../../../model/trainee';\r\nimport { Training } from '../../../model/training';\r\nimport { Question } from '../../../model/question';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { Entity } from 'src/app/layouts/baseline/model/entity.model';\r\nimport { TrainingAssessmentService } from '../../../services/training-assessment.service';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\n\r\n@Component({\r\n selector: 'app-new-training-test',\r\n templateUrl: './new-training-test.component.html',\r\n styleUrls: ['./new-training-test.component.scss']\r\n})\r\nexport class NewTrainingTestComponent implements OnInit {\r\n name: string;\r\n userId: any;\r\n testForm: FormGroup;\r\n fields: any;\r\n edit: any;\r\n options;\r\n traineeAnsSheet: any[];\r\n trainingId: any;\r\n testType: any;\r\n isLoading = false;\r\n showForm = false;\r\n loading: boolean;\r\n constructor(\r\n private dataSharing: DataSharingService,\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private _trainingAssmtService: TrainingAssessmentService,\r\n private clientSideStorage: ClientSideStorageService,\r\n private toast: NgToastService,\r\n private confirm: ConfirmationDialogService,\r\n ) {\r\n this.createTestForm();\r\n this.edit = this.dataSharing.getGlobalEditData().source;\r\n this.edit = this.edit._value;\r\n this.trainingId = this.edit.trainingId;\r\n this.testType = this.edit.testType;\r\n this.userId = this.clientSideStorage.get('userId');\r\n this.getQuestions();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createTestForm();\r\n }\r\n\r\n createTestForm() {\r\n this.testForm = this.fb.group({\r\n questions: new FormArray([])\r\n });\r\n }\r\n\r\n getQuestions() {\r\n this.isLoading = true;\r\n this.showForm = false;\r\n this._trainingAssmtService.getAssessmentQuestions(this.trainingId, this.testType).subscribe((response) => {\r\n if (response && response != null && response != undefined && response.data) {\r\n this.isLoading = false;\r\n this.showForm = true;\r\n this.options = response.data;\r\n this.initData();\r\n } else {\r\n this.isLoading = false;\r\n }\r\n }, (error) => {\r\n this.isLoading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error?.message,\r\n duration: 100000\r\n });\r\n })\r\n }\r\n\r\n initData() {\r\n this.options.forEach(s => {\r\n this.questions.push(\r\n new FormGroup({\r\n questionId: new FormControl(s.questionId),\r\n question: new FormControl(s.question),\r\n option1: new FormControl(s.option1),\r\n option2: new FormControl(s.option2),\r\n option3: new FormControl(s.option3),\r\n option4: new FormControl(s.option4),\r\n testType: new FormControl(s.quizTypeId),\r\n answer: new FormControl(null, Validators.required)\r\n })\r\n );\r\n });\r\n }\r\n\r\n get questions(): FormArray {\r\n return this.testForm.get('questions') as FormArray;\r\n }\r\n\r\n submit(value) {\r\n this.confirm.confirm(\r\n Constantss.CONFIRMATION,\r\n 'Are you sure you want to save the response ?'\r\n )\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let traineeAnswerSheet;\r\n traineeAnswerSheet = this.mapToModelTraineeAnsSheet(value);\r\n console.log(JSON.stringify(traineeAnswerSheet));\r\n this._trainingAssmtService.saveTrainingAssessment(traineeAnswerSheet).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n this.router.navigate(['/training/trainingAssmt']);\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.error,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n mapToModelTraineeAnsSheet(data: any) {\r\n let arr = [];\r\n data.questions.forEach((d) => {\r\n let traineeAnswerSheet = new TraineeAnswerSheet();\r\n let trainee = new Trainee();\r\n trainee.traineeId = this.edit.traineeId;\r\n traineeAnswerSheet.trainee = trainee;\r\n let training = new Training();\r\n training.trainingId = this.edit.trainingId;\r\n traineeAnswerSheet.training = training;\r\n let question = new Question();\r\n question.questionId = d.questionId;\r\n traineeAnswerSheet.question = question;\r\n traineeAnswerSheet.answer = d.answer;\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n traineeAnswerSheet.createdBy = createdBy;\r\n let updatedBy = new User();\r\n updatedBy.userId = this.userId;\r\n traineeAnswerSheet.updatedBy = updatedBy;\r\n traineeAnswerSheet.updatedOn = new Date();\r\n traineeAnswerSheet.createdOn = new Date();\r\n let entity = new Entity();\r\n entity.id = 68;\r\n traineeAnswerSheet.status = entity;\r\n let testType = new Entity();\r\n if (this.testType === 'Pre') {\r\n testType.id = 54;\r\n }\r\n else if (this.testType == 'Post') {\r\n testType.id = 55;\r\n } else {\r\n testType.id = 56;\r\n }\r\n\r\n traineeAnswerSheet.testType = testType;\r\n arr.push(traineeAnswerSheet);\r\n });\r\n this.traineeAnsSheet = arr;\r\n return this.traineeAnsSheet;\r\n }\r\n\r\n cancel() {\r\n\r\n this.confirm.confirm(\r\n Constantss.CONFIRMATION,\r\n Constantss.SURE_CANCEL\r\n )\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.router.navigate(['/training/trainingAssmt']);\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n

Training Test

\r\n
\r\n
\r\n\r\n\r\n
\r\n    \r\n Loading ...\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {{control.value.option1}}\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {{control.value.option2}}\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {{control.value.option3}}\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {{control.value.option4}}\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { DeleteIconComponent } from 'src/app/layouts/core/delete-icon/delete-icon.component';\r\nimport { EditIconComponent } from 'src/app/layouts/core/edit-icon/edit-icon.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { PaymentService } from '../../services/payment.service';\r\nimport { TrainingService } from '../../services/training.service';\r\nimport { InitiateTrainingService } from '../../services/initiate-training.service';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\n\r\n@Component({\r\n selector: 'app-payment-configuration',\r\n templateUrl: './payment-configuration.component.html',\r\n styleUrls: ['./payment-configuration.component.scss']\r\n})\r\nexport class PaymentConfigurationComponent implements OnInit {\r\n loading: boolean = false;\r\n paymentConfig: FormGroup;\r\n dataForm: FormGroup;\r\n recordCount: number;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n roleArea;\r\n loggedInRole;\r\n roleTypeId;\r\n paginationPageSize = 20;\r\n userId;\r\n batchVisible = false;\r\n paymentForData = [{ id: 1, name: \"Trainer\" }, { id: 2, name: \"Trainee\" }]\r\n level = [];\r\n areaData = [];\r\n area = [];\r\n trainingList = [];\r\n areaWiseBatch: any = [];\r\n batchId: any;\r\n showTable = false\r\n paymentRes: any = [];\r\n empType: string;\r\n trainingId: any;\r\n trainingAreaId: any;\r\n constructor(private fb: FormBuilder,\r\n private paymentService: PaymentService,\r\n private _commonUtilService: CommonUtilService,\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private toast: NgToastService,\r\n private trainingService: TrainingService,\r\n private clientStorage: ClientSideStorageService,\r\n private initiateService: InitiateTrainingService,\r\n private _paymentService: PaymentService) {\r\n this.createFormAdd();\r\n this.createTableForm();\r\n const userId = this.clientStorage.get('userId');\r\n this.userId = Number(userId);\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n this.roleTypeId = this.clientStorage.get('roleTypeId');\r\n this.loggedInRole = JSON.parse(this.clientStorage.get('loggedInRole'));\r\n if (this.loggedInRole != undefined && this.loggedInRole != null) {\r\n this.level = [{ roleTypeId: this.loggedInRole.roleTypeId, roleTypeName: this.loggedInRole.roleTypeName }]\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n createFormAdd() {\r\n this.paymentConfig = this.fb.group({\r\n level: [null, [Validators.required]],\r\n area: [null, [Validators.required]],\r\n training: [null, [Validators.required]],\r\n paymentFor: [null, [Validators.required]],\r\n batch: [null],\r\n });\r\n }\r\n\r\n getPaymentFor(event) {\r\n if (event.name === \"Trainee\") {\r\n this.batchVisible = true;\r\n } else {\r\n this.batchVisible = false;\r\n }\r\n }\r\n\r\n createTableForm() {\r\n let arr = [];\r\n\r\n if (this.paymentRes.length !== 0) {\r\n this.paymentRes.forEach(item => {\r\n arr.push(this.tableDataSet(item));\r\n });\r\n }\r\n this.dataForm = this.fb.group({\r\n paymentData: this.fb.array(arr),\r\n presentDaysHeading: [null],\r\n presentDaysCheckboxHeading: [false],\r\n paidHeading: [false],\r\n amountPaidHeading: [null],\r\n amountPaidCheckboxHeading: [false]\r\n\r\n })\r\n }\r\n\r\n tableDataSet(data) {\r\n return this.fb.group({\r\n employeeCode: data.employeeCode,\r\n name: data.name,\r\n employeeType: data.employeeType,\r\n trainerBatchId: data.trainerBatchId,\r\n traineeId: data.traineeId,\r\n batchId: data.batchId,\r\n daysPresent: data.daysPresent,\r\n paymentStatus: data.paymentStatus,\r\n amountPaid: data.amountPaid,\r\n createdBy: data.amountPaid,\r\n createdOn: data.createdOn,\r\n updatedBy: data.updatedBy,\r\n updatedOn: data.updatedOn\r\n });\r\n }\r\n\r\n get paymentData(): FormArray {\r\n return this.dataForm.get('paymentData') as FormArray;\r\n }\r\n\r\n presentDays(e) {\r\n if (e.target.checked === true) {\r\n if (this.dataForm.value.presentDaysHeading !== null && this.dataForm.value.presentDaysHeading !== undefined) {\r\n if (this.dataForm.value.paymentData.length !== 0) {\r\n for (let i = 0; i < this.dataForm.value.paymentData.length; i++) {\r\n (this.dataForm.controls['paymentData']).at(i).get('daysPresent').patchValue(this.dataForm.value.presentDaysHeading);\r\n }\r\n }\r\n }\r\n } else {\r\n if (this.dataForm.value.paymentData.length !== 0) {\r\n for (let i = 0; i < this.dataForm.value.paymentData.length; i++) {\r\n (this.dataForm.controls['paymentData']).at(i).get('daysPresent').patchValue(null);\r\n }\r\n }\r\n }\r\n }\r\n\r\n paidAll(e) {\r\n if (this.dataForm.value.paymentData.length !== 0) {\r\n for (let i = 0; i < this.dataForm.value.paymentData.length; i++) {\r\n (this.dataForm.controls['paymentData']).at(i).get('paymentStatus').patchValue(e.target.checked);\r\n }\r\n }\r\n }\r\n\r\n amountPaid(e) {\r\n if (e.target.checked === true) {\r\n if (this.dataForm.value.amountPaidHeading !== null && this.dataForm.value.amountPaidHeading !== undefined) {\r\n if (this.dataForm.value.paymentData.length !== 0) {\r\n for (let i = 0; i < this.dataForm.value.paymentData.length; i++) {\r\n (this.dataForm.controls['paymentData']).at(i).get('amountPaid').patchValue(this.dataForm.value.amountPaidHeading);\r\n }\r\n }\r\n }\r\n } else {\r\n if (this.dataForm.value.paymentData.length !== 0) {\r\n for (let i = 0; i < this.dataForm.value.paymentData.length; i++) {\r\n (this.dataForm.controls['paymentData']).at(i).get('amountPaid').patchValue(null);\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n setData(columnName, value) {\r\n if (this.dataForm.value.paymentData.length !== 0) {\r\n\r\n this.dataForm.value.paymentData.forEach(data => {\r\n data[columnName] = value;\r\n });\r\n }\r\n }\r\n\r\n getRoleArea(data) {\r\n if (data && data != undefined && data != null && data.roleTypeId != undefined) {\r\n if (data.roleTypeId === 40) {\r\n this.areaData = [{ areaId: 1, areaName: 'Madhya Pradesh' }]\r\n } else if (data.roleTypeId === 41) {\r\n this.roleArea.forEach(a => {\r\n if (a.divisionId != undefined && a.divisionId != null) {\r\n this.areaData.push({ areaId: a.divisionId, areaName: a.divisionName })\r\n }\r\n })\r\n } else if (data.roleTypeId === 42) {\r\n this.roleArea.forEach(a => {\r\n if (a.districtId != undefined && a.districtId != null) {\r\n this.areaData.push({ areaId: a.districtId, areaName: a.districtName })\r\n }\r\n })\r\n } else if (data.roleTypeId === 43) {\r\n this.roleArea.forEach(a => {\r\n if (a.blockId != undefined && a.blockId != null) {\r\n this.areaData.push({ areaId: a.blockId, areaName: a.blockName })\r\n }\r\n\r\n });\r\n //this.area = this.areaData;\r\n } else {\r\n this.roleArea.forEach(a => {\r\n if (a.clusterId != undefined && a.clusterId != null) {\r\n this.areaData.push({ areaId: a.clusterId, areaName: a.clusterName })\r\n }\r\n })\r\n }\r\n this.area = this.areaData;\r\n }\r\n }\r\n\r\n getTraining(area) {\r\n this.trainingList = [];\r\n if (area && area != undefined) {\r\n // console.log(area);\r\n this.trainingService.getTrainingList(area.areaId).subscribe(resp => {\r\n if (resp && resp != undefined && resp != null && resp.data) {\r\n this.trainingList = resp.data;\r\n }\r\n })\r\n }\r\n }\r\n\r\n getBatchId(e) {\r\n this.batchId = e.batchId;\r\n }\r\n\r\n view() {\r\n this.showTable = true;\r\n if (this.batchVisible === true) {\r\n this.loading = true;\r\n this._paymentService.getPaymentConfigurationDataTrainee('Trainee', this.batchId).subscribe((res) => {\r\n if (res && res != null && res != undefined) {\r\n this.loading = false;\r\n this.paymentRes = res.data;\r\n this.empType = 'Trainees';\r\n this.createTableForm();\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n })\r\n } else {\r\n this.loading = true;\r\n this._paymentService.getPaymentConfigurationDataTrainer('Trainer', this.trainingId, this.trainingAreaId).subscribe((res) => {\r\n if (res && res != null && res != undefined) {\r\n this.loading = false;\r\n this.paymentRes = res.data;\r\n this.empType = 'Trainer';\r\n this.createTableForm();\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n })\r\n }\r\n\r\n }\r\n\r\n clear() {\r\n this.paymentConfig.reset();\r\n this.showTable = false;\r\n this.paymentRes = [];\r\n }\r\n\r\n save() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n this.dataForm.value.paymentData.forEach((data) => {\r\n if (data && data != null && data != undefined) {\r\n if (this.batchVisible === false) {\r\n data.employeeType = 'Trainer';\r\n } else {\r\n data.employeeType = 'Trainee';\r\n }\r\n data.createdBy = this.userId;\r\n data.createdOn = new Date();\r\n data.updatedBy = this.userId;\r\n data.updatedOn = new Date();\r\n }\r\n })\r\n\r\n this._paymentService.savePaymentConfg(this.dataForm.value.paymentData).subscribe((res) => {\r\n if (res && res != null && res != undefined) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n }else{\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n }\r\n )\r\n }\r\n })\r\n\r\n }\r\n\r\n mapToModelPaymentConfg(data) {\r\n\r\n }\r\n\r\n getBatchedAreaWise(e) {\r\n this.areaWiseBatch = [];\r\n this.trainingId = e.trainingId;\r\n this.trainingAreaId = e.trainingAreaId;\r\n this.initiateService.viewBatches(e.trainingId, e.trainingAreaId).subscribe((res) => {\r\n if (res && res != null && res != undefined) {\r\n this.areaWiseBatch = res.data;\r\n }\r\n\r\n })\r\n }\r\n\r\n}\r\n\r\nconst paymentRes =\r\n [\r\n {\r\n \"paymentConfigurationId\": null,\r\n \"employeeCode\": \"AA1025\",\r\n \"name\": \"Kamla Bai Thakur\",\r\n \"employeeType\": null,\r\n \"trainerBatchId\": null,\r\n \"traineeId\": 1,\r\n \"batchId\": 1,\r\n \"daysPresent\": null,\r\n \"paymentStatus\": null,\r\n \"amountPaid\": null,\r\n \"createdBy\": null,\r\n \"createdOn\": null,\r\n \"updatedBy\": null,\r\n \"updatedOn\": null\r\n }\r\n ]\r\n\r\n","
\r\n
\r\n
\r\n

\r\n Payment Configuration\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Training Details\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{empType}}\r\n
\r\n \r\n
No. of Days Present \r\n
\r\n \r\n \r\n
\r\n
Paid \r\n
\r\n
Amount Paid\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n
\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { DeleteIconComponent } from 'src/app/layouts/core/delete-icon/delete-icon.component';\r\nimport { EditIconComponent } from 'src/app/layouts/core/edit-icon/edit-icon.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { PaymentService } from '../../services/payment.service';\r\nimport { TrainingService } from '../../services/training.service';\r\nimport { InitiateTrainingService } from '../../services/initiate-training.service';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { ManageUserService } from 'src/app/layouts/configurations/service/manage user service/manage-user.service';\r\n\r\n@Component({\r\n selector: 'app-payment-status',\r\n templateUrl: './payment-status.component.html',\r\n styleUrls: ['./payment-status.component.scss']\r\n})\r\nexport class PaymentStatusComponent implements OnInit {\r\n\r\n paymentStatus: FormGroup;\r\n dataForm: FormGroup;\r\n recordCount: number = 0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n roleArea;\r\n loggedInRole;\r\n roleTypeId;\r\n paginationPageSize = 100;\r\n userId;\r\n batchVisible = false;\r\n paymentForData = [{ id: 1, name: \"Trainer\" }, { id: 2, name: \"Trainee\" }]\r\n level = [];\r\n areaData = [];\r\n area = [];\r\n rowData = [];\r\n trainingList = [];\r\n areaWiseBatch: any = [];\r\n batchId: any;\r\n showTable = false\r\n paymentRes: any = [];\r\n empType: string;\r\n trainingId: any;\r\n trainingAreaId: any;\r\n districtData = [];\r\n blockData = [];\r\n clusterData = [];\r\n showDistrict: boolean = false;\r\n showBlock: boolean = false;\r\n showCluster: boolean = false;\r\n levelId: any = 40;\r\n areaId: any;\r\n showDivision: boolean = false;\r\n divisionData: any[];\r\n roleLevel: any = 40;\r\n constructor(private fb: FormBuilder,\r\n private paymentService: PaymentService,\r\n private _commonUtilService: CommonUtilService,\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private toast: NgToastService,\r\n private trainingService: TrainingService,\r\n private clientStorage: ClientSideStorageService,\r\n private initiateService: InitiateTrainingService,\r\n private _paymentService: PaymentService,\r\n private dataSharing: DataSharingService,\r\n private manageUserService: ManageUserService) {\r\n this.createFormAdd();\r\n this.createColumnDefs();\r\n this.getDivisionData();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getLevel();\r\n\r\n const userId = this.clientStorage.get('userId');\r\n this.userId = Number(userId);\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n this.roleTypeId = this.clientStorage.get('roleTypeId');\r\n this.loggedInRole = JSON.parse(this.clientStorage.get('loggedInRole'));\r\n\r\n }\r\n\r\n getDivisionData() {\r\n this.manageUserService.getDivisionData().subscribe((res) => {\r\n if (res && res != null && res != undefined && res.data) {\r\n this.divisionData = res.data\r\n }\r\n })\r\n }\r\n\r\n divisionChange(e) {\r\n this.paymentStatus.controls['block'].setValue(null);\r\n this.paymentStatus.controls['cluster'].setValue(null);\r\n this.paymentStatus.controls['district'].setValue(null);\r\n this.areaId = e.id;\r\n this.manageUserService.getDistrictData(e.id).subscribe((res) => {\r\n if (res && res != null && res != undefined && res.data) {\r\n this.districtData = res.data\r\n }\r\n });\r\n this.createColumnDefs()\r\n //this.paymentStatus.controls['division'].setValue(null);\r\n }\r\n\r\n getLevel() {\r\n this.dataSharing.fetchEntityById(8).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n const levels = res.data;\r\n // this.level = levels.filter((lvl) => lvl.id <= 44);\r\n this.level = levels.filter((lvl) => lvl.id === 43);\r\n }\r\n });\r\n }\r\n\r\n districtChange(e) {\r\n this.paymentStatus.controls['block'].setValue(null);\r\n this.paymentStatus.controls['cluster'].setValue(null);\r\n this.areaId = e.id;\r\n this.manageUserService.getBlockData(e.id).subscribe((res) => {\r\n if (res && res != null && res != undefined && res.data) {\r\n this.blockData = res.data;\r\n }\r\n });\r\n this.createColumnDefs()\r\n }\r\n\r\n\r\n\r\n blockChange(e) {\r\n //this.paymentStatus.controls['block'].setValue(null);\r\n this.paymentStatus.controls['cluster'].setValue(null);\r\n this.areaId = e.id;\r\n this.manageUserService.getClusterData(e.id).subscribe((res) => {\r\n if (res && res != null && res != undefined && res.data) {\r\n this.clusterData = res.data;\r\n }\r\n });\r\n this.createColumnDefs()\r\n }\r\n\r\n\r\n clusterChange(e) {\r\n this.areaId = e.id;\r\n this.createColumnDefs()\r\n //this.paymentStatus.controls['block'].setValue(null);\r\n //this.paymentStatus.controls['cluster'].setValue(null);\r\n //this.paymentStatus.controls['district'].setValue(null);\r\n }\r\n\r\n\r\n createFormAdd() {\r\n this.paymentStatus = this.fb.group({\r\n level: [null, [Validators.required]],\r\n training: [null, [Validators.required]],\r\n district: [null],\r\n block: [null],\r\n cluster: [null],\r\n division: [null]\r\n });\r\n }\r\n\r\n clear() {\r\n this.paymentStatus.reset();\r\n this.showTable = false;\r\n this.paymentRes = [];\r\n this.showDistrict = false;\r\n this.showBlock = false;\r\n this.showCluster = false;\r\n this.showDivision = false;\r\n this.recordCount = 0;\r\n this.roleLevel = 40;\r\n this.rowData = []\r\n }\r\n\r\n view() {\r\n this._paymentService.getPaymentReport(this.levelId, this.trainingId, this.areaId).subscribe((res) => {\r\n if (res && res.data && res != undefined && res != null) {\r\n res.data.forEach((d:any)=>{\r\n if(d.paymentStatus===undefined || d.paymentStatus===null){\r\n d.paymentStatus = 'No';\r\n }else{\r\n d.paymentStatus = d.paymentStatus;\r\n\r\n }\r\n })\r\n this.rowData = res.data;\r\n this.recordCount = res.data.length;\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res.message,\r\n duration: 8000,\r\n });\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.error,\r\n duration: 8000,\r\n });\r\n })\r\n\r\n }\r\n\r\n changeTraining(e) {\r\n //this.paymentStatus.controls['training'].setValue(null);\r\n this.paymentStatus.controls['block'].setValue(null);\r\n this.paymentStatus.controls['cluster'].setValue(null);\r\n this.paymentStatus.controls['district'].setValue(null);\r\n this.paymentStatus.controls['division'].setValue(null);\r\n this.trainingId = e.trainingId;\r\n }\r\n\r\n getTrainingsByLevel(e) {\r\n this.roleLevel = e.id;\r\n this.paymentStatus.controls['training'].setValue(null);\r\n this.paymentStatus.controls['block'].setValue(null);\r\n this.paymentStatus.controls['cluster'].setValue(null);\r\n this.paymentStatus.controls['district'].setValue(null);\r\n this.paymentStatus.controls['division'].setValue(null);\r\n // this.rowData = [];\r\n // this.trainingList = [];\r\n // this.districtData = [];\r\n // this.divisionData = [];\r\n // this.blockData = [];\r\n // this.clusterData = [];\r\n this.levelId = e.id;\r\n if (e.id === 41) {\r\n this.showDivision = true;\r\n this.paymentStatus.controls['division'].setValidators([Validators.required]);\r\n } else if (e.id === 42) {\r\n this.showDivision = true;\r\n this.showDistrict = true;\r\n this.paymentStatus.controls['district'].setValidators([Validators.required]);\r\n } else if (e.id === 43) {\r\n this.showDivision = true;\r\n this.showDistrict = true;\r\n this.showBlock = true;\r\n this.paymentStatus.controls['block'].setValidators([Validators.required]);\r\n } else if (e.id === 44) {\r\n this.showDivision = true;\r\n this.showDistrict = true;\r\n this.showBlock = true;\r\n this.showCluster = true;\r\n this.paymentStatus.controls['cluster'].setValidators([Validators.required]);\r\n } else {\r\n this.showDivision = false;\r\n this.showDistrict = false;\r\n this.showBlock = false;\r\n this.showCluster = false;\r\n this.paymentStatus.controls['division'].setValidators([]);\r\n this.paymentStatus.controls['cluster'].setValidators([]);\r\n this.paymentStatus.controls['block'].setValidators([]);\r\n this.paymentStatus.controls['district'].setValidators([]);\r\n }\r\n this.trainingService.getTrainingsByLevel(e.id).subscribe((res) => {\r\n if (res && res.data !== null && res != undefined && res != null) {\r\n this.trainingList = res.data;\r\n this.createColumnDefs();\r\n }\r\n });\r\n this.createColumnDefs();\r\n }\r\n\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 100;\r\n }\r\n this.gridApi.refreshCells()\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n if (this.roleLevel === 40) {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeCode',\r\n 'State'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n } else if (this.roleLevel === 41) {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeCode',\r\n 'Division'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n } else if (this.roleLevel === 42) {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeCode',\r\n 'Division'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'districtName',\r\n 'District'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n } else if (this.roleLevel === 43) {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'districtName',\r\n 'District'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'blockName',\r\n 'Block'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n } else {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'blockName',\r\n 'Block'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeCode',\r\n 'Cluster'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n }\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeCode',\r\n 'Employee Code'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeName',\r\n 'Employee Name'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'preTestStatus',\r\n 'Pre-Test Status'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'postTestStatus',\r\n 'Post-Test Status'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'totalPresent',\r\n 'Total Days'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'totalPresent',\r\n 'Total Attendance'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'paymentAmount',\r\n 'Payment Amount'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'paymentStatus',\r\n 'Payment Status'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

\r\n Payment Status\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Training Details\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

\r\n {{ \"total_records\" | translate }} {{ recordCount }}\r\n

\r\n
\r\n
\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { GroupService } from '../../services/group.service';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { Router } from '@angular/router';\r\nimport { TrainingService } from '../../services/training.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { Constantss } from 'src/utils/constantss';\r\n@Component({\r\n selector: 'app-report-training-summary',\r\n templateUrl: './report-training-summary.component.html',\r\n styleUrls: ['./report-training-summary.component.scss']\r\n})\r\nexport class ReportTrainingSummaryComponent implements OnInit {\r\n\r\n form: FormGroup;\r\n initiateTrainingList = [];\r\n batchList = [];\r\n level = [];\r\n rowData = [];\r\n loanFilter: any;\r\n recordCount: number=0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [50, 100, 150 , 200];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n isLoading: boolean = false;\r\n id: any;\r\n params: any;\r\n powBtn: any;\r\n paginationPageSize = 50;\r\n roleArea;\r\n roleTypeId;\r\n showGrid: boolean = false;\r\n startDate: any;\r\n endDate: any;\r\n batchId: any;\r\n readonlyDate = true;\r\n\r\n constructor(private fb: FormBuilder, private _commonUtilService: CommonUtilService,\r\n private _groupService: GroupService, private clientStorage: ClientSideStorageService,\r\n private dataSharing: DataSharingService, private router: Router,\r\n private _trainingService: TrainingService,\r\n private groupService: GroupService,private toast : NgToastService) {\r\n this.createForm();\r\n\r\n this.roleTypeId = JSON.parse(this.clientStorage.get('roleTypeId'));\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n this.roleArea[0].roleTypeId = this.roleTypeId;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createColumnDefs();\r\n this.getLevel();\r\n }\r\n\r\n att() {\r\n this.router.navigate(['/training/Reports/F2FAttendanceReport'])\r\n }\r\n\r\n prePost() {\r\n this.router.navigate(['/training/Reports/F2FPrePostReport'])\r\n }\r\n\r\n prePostScore() {\r\n this.router.navigate(['/training/Reports/F2FPrePostScoreReport'])\r\n }\r\n\r\n createForm() {\r\n this.form = this.fb.group({\r\n training: [null,[Validators.required]],\r\n level: [null,[Validators.required]],\r\n \r\n })\r\n }\r\n\r\n\r\n\r\n\r\n view() {\r\n this.showGrid = false;\r\n this.rowData = [];\r\n this.recordCount = 0;\r\n this.isLoading = true;\r\n this.createColumnDefs();\r\n \r\n this._trainingService.getTrainingReport(\r\n this.form.controls['level'].value,\r\n this.form.controls['training'].value,\r\n ).subscribe((response) => {\r\n if (response && response.data && response.data !== null && response!=undefined) {\r\n \r\n response.data.forEach((data)=>{\r\n if(data.startDate!=null && data.startDate!=undefined && data.endDate!=null && data.endDate!=undefined){\r\n data.startDate = this.dateFormatter(data.startDate);\r\n data.endDate = this.dateFormatter(data.endDate);\r\n }\r\n })\r\n this.rowData = response.data;\r\n this.recordCount = this.rowData.length;\r\n this.showGrid = true;\r\n this.isLoading = false;\r\n }else{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.isLoading = false;\r\n }\r\n },(error)=>{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n });\r\n this.isLoading = false;\r\n })\r\n\r\n }\r\n\r\n selectedBatch(e) {\r\n this.startDate = this.dateFormatter(e.startDate);\r\n this.endDate = this.dateFormatter(e.endDate);\r\n this.readonlyDate = false;\r\n }\r\n\r\n\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n\r\n refresh(){\r\n this.form.reset();\r\n this.initiateTrainingList = [];\r\n this.showGrid = false;\r\n }\r\n\r\n\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n this.gridApi.sizeColumnsToFit();\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 50;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n export() {\r\n\r\n this.gridApi.exportDataAsCsv();\r\n }\r\n\r\n getTrainingByLevel(e) {\r\n this.form.controls['training'].setValue(null);\r\n\r\n this.initiateTrainingList = [];\r\n this.batchList = [];\r\n\r\n this.readonlyDate = true;\r\n this._trainingService.getTrainingsByLevel(e.id).subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.initiateTrainingList = response.data;\r\n }\r\n })\r\n }\r\n\r\n showLoader(status:boolean){\r\n var element = document.getElementById('loader');\r\n if (status == true) {\r\n element.style.display = 'block'\r\n } else {\r\n element.style.display = 'none'\r\n }\r\n }\r\n \r\n\r\n\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n if(this.form.controls['level'].value === 40){\r\n header = this._commonUtilService.getColumnHeader('stateName', 'State');\r\n // header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n }else if(this.form.controls['level'].value === 41){\r\n header = this._commonUtilService.getColumnHeader('stateName', 'State');\r\n // header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('divisionName', 'Division');\r\n // header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n }else if(this.form.controls['level'].value === 42){\r\n header = this._commonUtilService.getColumnHeader('divisionName', 'Division');\r\n // header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('districtName', 'District');\r\n // header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n }else if(this.form.controls['level'].value === 43){\r\n header = this._commonUtilService.getColumnHeader('districtName', 'District');\r\n // header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('blockName', 'Block');\r\n // header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n }else{\r\n header = this._commonUtilService.getColumnHeader('blockName', 'Block');\r\n // header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('clusterName', 'Cluster');\r\n // header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n }\r\n\r\n \r\n\r\n header = this._commonUtilService.getColumnHeader('startDate', 'Start Date');\r\n // header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('endDate', 'End Date');\r\n //header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('batchCount', 'Batch Count');\r\n // header.width = 250;\r\n header.sortable = true;\r\n header.filter = true;\r\n\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('traineeCount', 'Total Trainees');\r\n // header.width = 210;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n getLevel() {\r\n this.dataSharing.fetchEntityById(8).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.level = res.data.slice(0, 5);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Training Summary Report

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n    \r\n Loading ...\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n {{'total_records'|translate}} {{recordCount}}\r\n

\r\n\r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
","import { formatDate } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport {\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n RowNode,\r\n} from 'ag-grid-community';\r\nimport * as moment from 'moment';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { forkJoin } from 'rxjs';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { GroupService } from '../../../../baseline/service/assessment service/group service/group.service';\r\nimport { RegistrationService } from '../../../../baseline/service/registration.service';\r\nimport { ManageUserService } from '../../../../configurations/service/manage user service/manage-user.service';\r\n\r\nimport { LaunchTrainingService } from '../../../../training/services/launch-training.service';\r\nimport { ReportService } from '../../../services/report.service';\r\nimport { RoleAreaDto } from '../model/role-area-dto'\r\n\r\n@Component({\r\n selector: 'app-attendance-report',\r\n templateUrl: './attendance-report.component.html',\r\n styleUrls: ['./attendance-report.component.scss']\r\n})\r\nexport class AttendanceReportComponent implements OnInit {\r\n\r\n loanFilter;\r\n reportGeneration = false;\r\n groups = [];\r\n reportList = [];\r\n reportType = [];\r\n reportTypeName: string;\r\n paginationPageSize = 20;\r\n gridApi: GridApi;\r\n assessments = [];\r\n columnDefs: any;\r\n frameworkComponents;\r\n gridOptions = {};\r\n reportsForm: FormGroup;\r\n trainingData = []\r\n subGroupData: any;\r\n trainings: any;\r\n districtList: any;\r\n blockData: any;\r\n blockDataList: any;\r\n areaWiseTraining: any;\r\n district: any = {}\r\n block: any = {}\r\n buttonDisable = true;\r\n isDistrictReport: any;\r\n stateList = []\r\n divisionList = []\r\n fetchType: string;\r\n division: any= {}\r\n state: any;\r\n divisionDisabled = true;\r\n districtDisabled = true;\r\n blockDisabled = true;\r\n batches = []\r\n public overlayLoadingTemplate =\r\n 'Generating report please wait...';\r\n training: any;\r\n batch: any;\r\n trainingDates = []\r\n trainingDate: any;\r\n batchReportData=[]\r\n columnApi: any;\r\n initiateTrainingFilter: string;\r\n constructor(\r\n private fb: FormBuilder,\r\n private _commonUtilService: CommonUtilService,\r\n private _reportService: ReportService,\r\n private groupService: GroupService,\r\n private _groupService: GroupService,\r\n private launchTrainingService: LaunchTrainingService,\r\n private registrationService: RegistrationService,\r\n private toast: NgToastService,\r\n private userService: ManageUserService\r\n ) {\r\n this.frameworkComponents = {};\r\n this.createForm();\r\n // this.onBtShowLoading()\r\n // this.getDistrict();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.fetchAllState();\r\n this.getAllActiveGroups();\r\n // this.getReportType();\r\n this.createColumnDefsNew();\r\n this.getDistrict()\r\n this.getAllBlock()\r\n }\r\n\r\n showLoader(status:boolean){\r\n var element = document.getElementById('loader');\r\n if (status == true) {\r\n element.style.display = 'block'\r\n } else {\r\n element.style.display = 'none'\r\n }\r\n }\r\n\r\n getAllBlock(){\r\n this.registrationService.getAllBlocks().subscribe((resp) => {\r\n if (resp && resp.data !== null) {\r\n this.blockDataList = []\r\n this.blockDataList.push({id:0,name:'All'});\r\n resp.data.forEach(block =>{\r\n this.blockDataList.push({id:block.blockId, name:block.blockName})\r\n })\r\n }\r\n });\r\n }\r\n\r\n createForm() {\r\n this.reportsForm = this.fb.group({\r\n id: [null],\r\n state: [null],\r\n division: [null],\r\n district:[0, Validators.required],\r\n block:[0, Validators.required],\r\n group: [null, [Validators.required]],\r\n subGroup: [null, Validators.required],\r\n training: [null, Validators.required],\r\n date:[null, Validators.required]\r\n });\r\n }\r\n\r\n getAllActiveGroups() {\r\n this.groupService.getTrainingGroups().subscribe((res) => {\r\n if (res && res.data !== null) {\r\n const groupList = res.data;\r\n this.groups = groupList.filter((g) => g.isActive === true);\r\n }\r\n });\r\n }\r\n\r\n selectedGroup(event) {\r\n this._groupService\r\n .getSubGroupByGroupId(event.groupId)\r\n .subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.subGroupData = response.data;\r\n }\r\n });\r\n }\r\n\r\n fetchAllState(){ \r\n this.groupService.fetchAllState().subscribe((response) => {\r\n if(response.data != null){\r\n this.stateList = [];\r\n this.stateList.push({id:0,name:'All'})\r\n this.stateList.push(response.data[0])\r\n }\r\n })\r\n }\r\n\r\n stateOnchange(event){\r\n this.state = event;\r\n this.getAllDivision()\r\n }\r\n\r\n getAllDivision() {\r\n this.userService.getDivisionData().subscribe((response) => {\r\n if (response && response.data != null) {\r\n this.divisionList = [{id: 0, name: 'All'}]\r\n const arr = response.data;\r\n this.divisionList = this.divisionList.concat(arr)\r\n } \r\n });\r\n }\r\n\r\n divisionOnChange(event){\r\n this.division = event\r\n if(event.id == 0){\r\n this.getDistrict()\r\n }else{\r\n this.groupService\r\n .fetchDistrictByDivisionId(event.id)\r\n .subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.districtList = [{districtId:0,districtName:'All'}]\r\n \r\n const arr = response.data;\r\n this.districtList = this.districtList.concat(arr);\r\n } \r\n });\r\n } \r\n }\r\n\r\n batchCodeChange(event){\r\n this.batch = event;\r\n }\r\n\r\n selectedSubGroup(event){\r\n this.trainings = []\r\n // this.trainings.push({trainingId:6, trainingName:\"FLN Block level training\"})\r\n let subGroupData = []\r\n this.launchTrainingService.getTrainingBySubGroupId(event.subGroupId)\r\n .subscribe(response=>{\r\n subGroupData = response.data;\r\n this.trainings = []\r\n this.trainings.push(subGroupData[2])\r\n // this.trainings = {trainingId:6, trainingName:\"FLN Block level training\"}\r\n });\r\n }\r\n\r\n generateReport() {\r\n if(!this.reportsForm.valid){\r\n this.toast.warning({\r\n detail: 'Warning',\r\n summary: 'Please select Training, Level and Date',\r\n duration: 5000,\r\n });\r\n }\r\n else{\r\n this.trainingData = [];\r\n this.createColumnDefsNew()\r\n if(this.reportsForm.controls['training'].value != null){\r\n this.gridApi.showLoadingOverlay()\r\n this._reportService.getAttendanceStatus( \r\n this.reportsForm.controls['training'].value,43, 0,0,\r\n this.reportsForm.controls['district'].value,\r\n this.reportsForm.controls['block'].value? this.reportsForm.controls['block'].value: 0,\r\n this.reportsForm.controls['date'].value).subscribe(response=>{\r\n this.showLoader(false)\r\n if(response.status == '200'){\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Report fetched successfully',\r\n duration: 10000,\r\n });\r\n this.trainingData = response.data;\r\n setTimeout(()=>{\r\n this.gridApi.setPinnedBottomRowData([]);\r\n let pinnedBottomData = this.generatePinnedBottomData();\r\n this.gridApi.setPinnedBottomRowData([pinnedBottomData]);\r\n }, 500)\r\n this.fetchType = null\r\n }else{\r\n this.toast.warning({\r\n detail: 'Error',\r\n summary: 'No Data found',\r\n duration: 10000,\r\n });\r\n this.showLoader(false)\r\n }\r\n \r\n },error => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n this.showLoader(false)\r\n },)\r\n\r\n this.block = {};\r\n this.district = {};\r\n \r\n }\r\n \r\n // this.buttonDisable= true;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n \r\n\r\n onGridReady(event?) {\r\n this.gridApi = event.api;\r\n this.columnApi = event.columnApi\r\n }\r\n\r\n export() {\r\n // alert(\"Called\");\r\n this.gridApi.exportDataAsCsv();\r\n }\r\n\r\n generatePinnedBottomData(){\r\n let result = {};\r\n this.columnApi.getAllGridColumns().forEach(item => {\r\n result[item.colId] = null;\r\n });\r\n return this.calculatePinnedBottomData(result);\r\n }\r\n\r\n calculatePinnedBottomData(target: any){\r\n //**list of columns fo aggregation**\r\n let columnsWithAggregation = []\r\n if(this.reportsForm.controls['block'].value != 0){\r\n columnsWithAggregation = ['5','6','8']\r\n }else{\r\n columnsWithAggregation = ['3','4','6','8','9']\r\n }\r\n columnsWithAggregation.forEach(element => {\r\n this.gridApi.forEachNodeAfterFilter((rowNode: RowNode) => {\r\n //if(rowNode.index < 10){\r\n //}\r\n if (rowNode.data[element])\r\n target[element] += Number(rowNode.data[element]);\r\n });\r\n if (target[element])\r\n target[element] = `${target[element]}`;\r\n })\r\n return target;\r\n}\r\n\r\nquickSearch() {\r\n this.gridApi.setQuickFilter(this.initiateTrainingFilter);\r\n}\r\n\r\nclearSearch($event) {\r\n this.initiateTrainingFilter = '';\r\n this.gridApi.setQuickFilter(this.initiateTrainingFilter);\r\n}\r\n\r\ngetRowStyle(params: any): any {\r\n if (params > 89) {\r\n return {'background-color': 'Green' };\r\n } else if (params < 89) {\r\n return {'background-color': 'Red'}\r\n }\r\n}\r\n\r\n createColumnDefsNew(){\r\n this.columnDefs = [];\r\n let header: any;\r\n if(this.reportsForm.controls['district'].value == 0 && this.reportsForm.controls['block'].value == 0){\r\n header = this._commonUtilService.getColumnHeader(\r\n '0',\r\n 'District'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '1',\r\n 'Block count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '2',\r\n 'Batch count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '3',\r\n 'Total Trainee'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '4',\r\n 'Morning Present Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '5',\r\n 'Morning Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 180\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '6',\r\n 'Evening Present Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '7',\r\n 'Evening Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 180\r\n this.columnDefs.push(header);\r\n }\r\n else if(this.reportsForm.controls['district'].value == 0 && this.reportsForm.controls['block'].value != 0){\r\n header = this._commonUtilService.getColumnHeader(\r\n '0',\r\n 'District'\r\n );\r\n header.sortable=true;\r\n header.width = 150\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n // header = this._commonUtilService.getColumnHeader(\r\n // '1',\r\n // 'Block Id'\r\n // );\r\n // header.sortable=true;\r\n // header.filter=true;\r\n // this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '1',\r\n 'Block'\r\n );\r\n header.sortable=true;\r\n header.width = 150\r\n header.filter=true;\r\n // this.columnDefs.push(header);\r\n // header = this._commonUtilService.getColumnHeader(\r\n // '3',\r\n // 'Batch Id'\r\n // );\r\n // header.sortable=true;\r\n // header.filter=true;\r\n // this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '3',\r\n 'Batch Number'\r\n );\r\n header.sortable=true;\r\n header.width = 120\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '4',\r\n 'Total Trainee'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '5',\r\n 'Morning Present Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '6',\r\n 'Morning Percentage'\r\n );\r\n header.sortable=true;\r\n header.width = 180\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '7',\r\n 'Evening Present Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '8',\r\n 'Evening Percentage'\r\n );\r\n header.sortable=true;\r\n header.width = 180\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n }\r\n else if(this.reportsForm.controls['district'].value != 0 && this.reportsForm.controls['block'].value == 0){\r\n header = this._commonUtilService.getColumnHeader(\r\n '0',\r\n 'District'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 120\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '1',\r\n 'Block Name'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '2',\r\n 'Batch count'\r\n );\r\n header.sortable=true;\r\n header.width = 120\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '3',\r\n 'Total Trainee'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '4',\r\n 'Morning Present Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '5',\r\n 'Morning Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 180\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '6',\r\n 'Evening Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '7',\r\n 'Evening Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 180\r\n this.columnDefs.push(header);\r\n }else{\r\n header = this._commonUtilService.getColumnHeader(\r\n '0',\r\n 'District'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 120\r\n // this.columnDefs.push(header);\r\n // header = this._commonUtilService.getColumnHeader(\r\n // '1',\r\n // 'Block Id'\r\n // );\r\n // header.sortable=true;\r\n // header.filter=true;\r\n // this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '1',\r\n 'Block'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 120\r\n this.columnDefs.push(header);\r\n // header = this._commonUtilService.getColumnHeader(\r\n // '3',\r\n // 'Batch Id'\r\n // );\r\n // header.sortable=true;\r\n // header.filter=true;\r\n // this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '3',\r\n 'Batch Number'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 120\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '4',\r\n 'Total Trainee'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '5',\r\n 'Morning Present Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '6',\r\n 'Morning Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 180\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '7',\r\n 'Evening Present Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '8',\r\n 'Evening Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 180\r\n this.columnDefs.push(header);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n getDistrict() {\r\n this.registrationService.fetchDistrictByJava().subscribe((res) => {\r\n this.districtList = [{districtId:0,districtName:'All'}]\r\n if (res && res.data !== null) {\r\n const arr = res.data;\r\n this.districtList = this.districtList.concat(arr);\r\n }\r\n });\r\n }\r\n\r\n onTrainingChange(event){\r\n this.training = event;\r\n this.groupService.getBatchesByTraining(this.training.trainingId).subscribe((res:any)=> {\r\n if(res && (res.data !==null || res.data !==undefined)) {\r\n this.batches = res.data;\r\n this.batches = this.batches.filter((resp) => resp.launchStatus.id == 64);\r\n }\r\n });\r\n this.trainingToDates(this.training); \r\n }\r\n\r\n trainingToDates(training:any){\r\n var start = training.startDate.substring(0,10).concat(\"T00:00:00.000Z\");\r\n var end = training.endDate.substring(0,10).concat(\"T00:00:00.000Z\");;\r\n for(var arr=[],dt=new Date(start); dt<=new Date(end); dt.setDate(dt.getDate()+1)){\r\n arr.push({name:this.dateFormatterNew(new Date(dt)), value:this.dateFormatterNew(new Date(dt))});\r\n }\r\n this.trainingDates = arr;\r\n }\r\n\r\n onDateChange(event){\r\n this.trainingDate = event.value;\r\n }\r\n\r\n\r\n districtOnChange(event) {\r\n this.district = event\r\n this.reportsForm.controls['block'].reset()\r\n if(event.districtId == 0){\r\n this.registrationService.getAllBlocks().subscribe((resp) => {\r\n if (resp && resp.data !== null) {\r\n // this.blockDataList = resp.data;\r\n this.blockDataList = []\r\n this.blockDataList.push({id:0,name:'All'});\r\n resp.data.forEach(block =>{\r\n this.blockDataList.push({id:block.blockId, name:block.blockName})\r\n })\r\n }\r\n });\r\n } else{\r\n\r\n this.groupService.fetchBlockByDistrictId(event.districtId)\r\n .subscribe((response) => {\r\n this.blockDataList = [{id:0,name:'All'}]\r\n if (response && response.data !== null) {\r\n this.blockDataList = this.blockDataList.concat(response.data);\r\n\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n onBlockChange(event){\r\n this.block = event\r\n let roleAreaList = []; \r\n this.reportsForm.controls['state'].removeValidators(Validators.required);\r\n if(event.id == 0){\r\n this.blockDataList.forEach(block =>{\r\n let roleArea = new RoleAreaDto();\r\n roleArea.blockId = block.id;\r\n roleArea.blockName = block.name;\r\n roleAreaList.push(roleArea);\r\n })\r\n } else{\r\n let roleArea = new RoleAreaDto();\r\n roleArea.blockId = event.id;\r\n roleAreaList.push(roleArea);\r\n }\r\n let trainingExists = []\r\n this.areaWiseTraining = []\r\n this.groupService.getTrainingByArea(roleAreaList).subscribe((response:any) => {\r\n response.data.forEach(area =>{\r\n if(!trainingExists.includes(area.trainingId)){\r\n trainingExists.push(area.trainingId);\r\n this.areaWiseTraining.push(area)\r\n }\r\n })\r\n })\r\n }\r\n\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'dd/mm/yyyy';\r\n const locale = 'en-US';\r\n return formatDate(date, format, locale);\r\n }\r\n\r\n dateFormatterNew(date:any){ \r\n let formatedDate;\r\n if (typeof(date)=== \"string\") {\r\n const [day, month, year] = date.split('-');\r\n formatedDate = new Date(+year, +month - 1, +day);\r\n } \r\n const format = 'yyyy-MM-dd';\r\n const locale = 'en-US';\r\n return formatedDate ? formatDate(formatedDate, format, locale) : formatDate(date, format, locale);\r\n }\r\n\r\n refresh(){\r\n this.reportsForm.reset();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n

Attendance Report

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
{{reportTypeName}}
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { GroupService } from '../../../services/group.service';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { Router } from '@angular/router';\r\nimport { TrainingService } from '../../../services/training.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { Constantss } from 'src/utils/constantss';\r\n\r\n@Component({\r\n selector: 'app-f2f-attendance-report',\r\n templateUrl: './f2f-attendance-report.component.html',\r\n styleUrls: ['./f2f-attendance-report.component.scss']\r\n})\r\nexport class F2fAttendanceReportComponent implements OnInit {\r\n\r\n form: FormGroup;\r\n initiateTrainingList = [];\r\n batchList = [];\r\n level = [];\r\n rowData = [];\r\n loanFilter: any;\r\n recordCount: number=0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n id: any;\r\n params: any;\r\n powBtn: any;\r\n paginationPageSize = 50;\r\n roleArea;\r\n roleTypeId;\r\n showGrid: boolean = false;\r\n startDate: any;\r\n endDate: any;\r\n batchId: any;\r\n readonlyDate = true;\r\n\r\n sessions=[\r\n {\"sessionId\":\"1\",\"sessionName\":\"Morning\"},\r\n {\"sessionId\":\"2\",\"sessionName\":\"Evening\"}\r\n ]\r\n constructor(private fb: FormBuilder, private _commonUtilService: CommonUtilService,\r\n private _groupService: GroupService, private clientStorage: ClientSideStorageService,\r\n private dataSharing: DataSharingService, private router: Router,\r\n private _trainingService: TrainingService,\r\n private groupService: GroupService,private toast : NgToastService) {\r\n this.createForm();\r\n\r\n this.roleTypeId = JSON.parse(this.clientStorage.get('roleTypeId'));\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n \r\n this.roleArea[0].roleTypeId = this.roleTypeId;\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.createColumnDefs();\r\n this.getLevel();\r\n }\r\n\r\n att() {\r\n this.router.navigate(['/training/Reports/F2FAttendanceReport'])\r\n }\r\n\r\n prePost() {\r\n this.router.navigate(['/training/Reports/F2FPrePostReport'])\r\n }\r\n\r\n prePostScore() {\r\n this.router.navigate(['/training/Reports/F2FPrePostScoreReport'])\r\n }\r\n\r\n createForm() {\r\n this.form = this.fb.group({\r\n training: [null,[Validators.required]],\r\n batch: [null,[Validators.required]],\r\n level: [null,[Validators.required]],\r\n date: [null,[Validators.required]],\r\n session:[null,[Validators.required]]\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n view() {\r\n this._trainingService.getTraineeAttendanceForF2F(\r\n this.form.controls['batch'].value,\r\n this.form.controls['date'].value,\r\n this.form.controls['session'].value).subscribe((response) => {\r\n if (response && response.data && response.data !== null) {\r\n this.showGrid = true;\r\n this.rowData = response.data;\r\n }else{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },(error)=>{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n });\r\n })\r\n\r\n }\r\n\r\n selectedBatch(e) {\r\n this.startDate = this.dateFormatter(e.startDate);\r\n this.endDate = this.dateFormatter(e.endDate);\r\n this.readonlyDate = false;\r\n }\r\n\r\n\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'yyyy-MM-dd';\r\n const locale = 'en-US';\r\n return formatDate(date, format, locale);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 50;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n export() {\r\n // alert(\"Called\");\r\n this.gridApi.exportDataAsCsv();\r\n }\r\n\r\n getTrainingByLevel(e) {\r\n this.form.controls['batch'].setValue(null);\r\n this.form.controls['date'].setValue(null);\r\n this.form.controls['training'].setValue(null);\r\n this.form.controls['session'].setValue(null);\r\n this.initiateTrainingList = [];\r\n this.batchList = [];\r\n\r\n this.readonlyDate = true;\r\n this._trainingService.getTrainingsByLevel(e.id).subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.initiateTrainingList = response.data;\r\n }\r\n })\r\n }\r\n\r\n\r\n \r\n getBatchByTraining(e) {\r\n this.form.controls['batch'].setValue(null);\r\n this.form.controls['date'].setValue(null);\r\n this.form.controls['session'].setValue(null);\r\n \r\n\r\n this.readonlyDate = true;\r\n\r\n this._trainingService.getBatchFromLoggedInRoleArea(e.trainingId,this.roleArea)\r\n .subscribe((response)=>{\r\n if(response && response.data !== null && response.data){\r\n this.batchList = response.data\r\n }else{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n })\r\n }\r\n },(error)=>{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n })\r\n });\r\n // this.groupService\r\n // .getBatchesByTraining(e.trainingId)\r\n // .subscribe((response) => {\r\n // if (response && response.data !== null && response.data) {\r\n\r\n // this.batchList = response.data;\r\n // }\r\n // });\r\n }\r\n\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('districtName', 'District Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('blockName', 'Block Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeCode', 'User ID');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeName', 'Name');\r\n header.width = 250;\r\n header.sortable = true;\r\n header.filter = true;\r\n\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('attendance', 'Attendance');\r\n header.width = 210;\r\n header.sortable = true;\r\n header.filter = true;\r\n // header.cellRenderer = this.createHyperLinkCoordinator.bind(this)\r\n this.columnDefs.push(header);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n getLevel() {\r\n this.dataSharing.fetchEntityById(8).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.level = res.data.slice(0, 5);\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Attendance Report

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { GroupService } from '../../../services/group.service';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { Router } from '@angular/router';\r\nimport { formatDate } from '@angular/common';\r\nimport { TrainingService } from '../../../services/training.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { NgToastService } from 'ng-angular-popup';\r\n\r\n@Component({\r\n selector: 'app-f2f-pre-post-report',\r\n templateUrl: './f2f-pre-post-report.component.html',\r\n styleUrls: ['./f2f-pre-post-report.component.scss']\r\n})\r\nexport class F2fPrePostReportComponent implements OnInit {\r\n\r\n form: FormGroup;\r\n initiateTrainingList = [];\r\n batchList = [];\r\n level = [];\r\n rowData = [];\r\n loanFilter: any;\r\n recordCount: number=0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n id: any;\r\n params : any;\r\n powBtn:any;\r\n paginationPageSize = 20;\r\n roleArea;\r\n roleTypeId;\r\n showGrid: boolean=false;\r\n startDate: string;\r\n endDate: string;\r\n readonlyDate: boolean=true;;\r\n constructor(private fb : FormBuilder, private _commonUtilService : CommonUtilService,\r\n private _groupService : GroupService, private clientStorage:ClientSideStorageService,\r\n private dataSharing : DataSharingService, private router : Router,\r\n private groupService: GroupService, private _trainingService: TrainingService,\r\n private toast: NgToastService) {\r\n this.createForm();\r\n\r\n this.roleTypeId = JSON.parse(this.clientStorage.get('roleTypeId'));\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n this.roleArea[0].roleTypeId = this.roleTypeId;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createColumnDefs();\r\n\r\n this.getLevel();\r\n }\r\n\r\n createForm(){\r\n this.form = this.fb.group({\r\n training : [null,[Validators.required]],\r\n batch : [null,[Validators.required]],\r\n level : [null,[Validators.required]],\r\n date : [null,[Validators.required]]\r\n })\r\n }\r\n\r\n att(){\r\n this.router.navigate(['/training/Reports/F2FAttendanceReport'])\r\n }\r\n\r\n prePost(){\r\n this.router.navigate(['/training/Reports/F2FPrePostReport'])\r\n }\r\n\r\n prePostScore(){\r\n this.router.navigate(['/training/Reports/F2FPrePostScoreReport'])\r\n }\r\n\r\n\r\n\r\n selectedTraining(e){\r\n\r\n }\r\n\r\n view(){\r\n this._trainingService.getTraineeTestStatus(\r\n this.form.controls['batch'].value).subscribe((response) => {\r\n if (response && response.data && response.data !== null) {\r\n this.showGrid = true;\r\n this.rowData = response.data;\r\n }else{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },(error)=>{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n });\r\n })\r\n \r\n }\r\n\r\n selectedBatch(e) {\r\n this.readonlyDate = false;\r\n this.startDate = this.dateFormatter(e.startDate);\r\n this.endDate = this.dateFormatter(e.endDate);\r\n }\r\n\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'yyyy-MM-dd';\r\n const locale = 'en-US';\r\n return formatDate(date, format, locale);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n export() {\r\n // alert(\"Called\");\r\n this.gridApi.exportDataAsCsv();\r\n }\r\n \r\n createColumnDefs() {\r\n // \"employeeName\": \"Sushil Kumar Patel\",\r\n // \"empCode\": \"AW8964\",\r\n // \"traineeId\": 178597,\r\n // \"preTest\": \"Unattempted\",\r\n // \"postTest\": \"Attempted\"\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('districtName', 'District Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('blockName', 'Block Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader('empCode', 'User ID');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeName', 'Name');\r\n header.width = 250;\r\n header.sortable = true;\r\n header.filter = true;\r\n \r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('preTest', 'Pre Test');\r\n header.width = 210;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('postTest', 'Post Test');\r\n header.width = 210;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n }\r\n\r\n getTrainingByLevel(e) {\r\n this.readonlyDate = true;\r\n this.form.controls['batch'].setValue(null);\r\n this.form.controls['date'].setValue(null);\r\n this.form.controls['training'].setValue(null);\r\n this.initiateTrainingList = [];\r\n this.batchList = [];\r\n\r\n this._trainingService.getTrainingsByLevel(e.id).subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n // console.log(response)\r\n this.initiateTrainingList = response.data;\r\n }\r\n })\r\n }\r\n\r\n getBatchByTraining(e) {\r\n this.readonlyDate = true;\r\n this.form.controls['batch'].setValue(null);\r\n this.form.controls['date'].setValue(null);\r\n // this.groupService\r\n // .getBatchesByTraining(e.trainingId)\r\n // .subscribe((response) => {\r\n // if (response && response.data !== null && response.data) {\r\n\r\n // this.batchList = response.data;\r\n // }\r\n // });\r\n this._trainingService.getBatchFromLoggedInRoleArea(e.trainingId,this.roleArea)\r\n .subscribe((response)=>{\r\n if(response && response.data !== null && response.data){\r\n this.batchList = response.data\r\n }else{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n })\r\n }\r\n },(error)=>{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n })\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n getLevel(){\r\n this.dataSharing.fetchEntityById(8).subscribe((res)=>{\r\n if (res && res.data !== null) {\r\n this.level= res.data.slice(0,5);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Pre Post Report

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { GroupService } from '../../../services/group.service';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { Router } from '@angular/router';\r\nimport { formatDate } from '@angular/common';\r\nimport { TrainingService } from '../../../services/training.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { NgToastService } from 'ng-angular-popup';\r\n\r\n@Component({\r\n selector: 'app-f2f-score-pre-post',\r\n templateUrl: './f2f-score-pre-post.component.html',\r\n styleUrls: ['./f2f-score-pre-post.component.scss']\r\n})\r\nexport class F2fScorePrePostComponent implements OnInit {\r\n\r\n form: FormGroup;\r\n initiateTrainingList = [];\r\n batchList = [];\r\n level = [];\r\n rowData = [];\r\n loanFilter: any;\r\n recordCount: number=0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n id: any;\r\n params : any;\r\n powBtn:any;\r\n paginationPageSize = 20;\r\n roleArea;\r\n roleTypeId;\r\n showGrid: boolean= false;\r\n startDate: string;\r\n endDate: string;\r\n readonlyDate: boolean = true;\r\n constructor(private fb : FormBuilder, private _commonUtilService : CommonUtilService,\r\n private _groupService : GroupService, private clientStorage:ClientSideStorageService,\r\n private dataSharing : DataSharingService, private router : Router,\r\n private groupService: GroupService,private _trainingService: TrainingService,\r\n private toast : NgToastService) {\r\n this.createForm();\r\n\r\n this.roleTypeId = JSON.parse(this.clientStorage.get('roleTypeId'));\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n \r\n this.roleArea[0].roleTypeId = this.roleTypeId;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createColumnDefs();\r\n\r\n this.getLevel();\r\n }\r\n\r\n\r\n getTrainingByLevel(e) {\r\n this.readonlyDate = true;\r\n this.form.controls['batch'].setValue(null);\r\n this.form.controls['date'].setValue(null);\r\n this.form.controls['training'].setValue(null);\r\n this.initiateTrainingList = [];\r\n this.batchList = [];\r\n\r\n \r\n this._trainingService.getTrainingsByLevel(e.id).subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.initiateTrainingList = response.data;\r\n }\r\n })\r\n }\r\n\r\n createForm(){\r\n this.form = this.fb.group({\r\n training : [null,[Validators.required]],\r\n batch : [null,[Validators.required]],\r\n level : [null,[Validators.required]],\r\n date : [null,[Validators.required]]\r\n })\r\n }\r\n\r\n\r\n att(){\r\n this.router.navigate(['/training/Reports/F2FAttendanceReport'])\r\n }\r\n\r\n prePost(){\r\n this.router.navigate(['/training/Reports/F2FPrePostReport'])\r\n }\r\n\r\n prePostScore(){\r\n this.router.navigate(['/training/Reports/F2FPrePostScoreReport'])\r\n }\r\n\r\n\r\n selectedTraining(e){\r\n\r\n }\r\n\r\n view(){\r\n this._trainingService.getTraineeTestScore(\r\n this.form.controls['batch'].value).subscribe((response) => {\r\n if (response && response.data && response.data !== null) {\r\n this.showGrid = true;\r\n this.rowData = response.data;\r\n }else{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },(error)=>{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n });\r\n })\r\n }\r\n\r\n selectedBatch(e) {\r\n this.readonlyDate = false;\r\n this.startDate = this.dateFormatter(e.startDate);\r\n this.endDate = this.dateFormatter(e.endDate);\r\n }\r\n\r\n\r\n \r\n dateFormatter(date: Date) {\r\n const format = 'yyyy-MM-dd';\r\n const locale = 'en-US';\r\n return formatDate(date, format, locale);\r\n }\r\n\r\n getBatchByTraining(e) {\r\n this.readonlyDate = true;\r\n this.form.controls['batch'].setValue(null);\r\n this.form.controls['date'].setValue(null);\r\n // this.groupService\r\n // .getBatchesByTraining(e.trainingId)\r\n // .subscribe((response) => {\r\n // if (response && response.data !== null && response.data) {\r\n\r\n // this.batchList = response.data;\r\n // }\r\n // });\r\n this._trainingService.getBatchFromLoggedInRoleArea(e.trainingId,this.roleArea)\r\n .subscribe((response)=>{\r\n if(response && response.data !== null && response.data){\r\n this.batchList = response.data\r\n }else{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n })\r\n }\r\n },(error)=>{\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n })\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n export() {\r\n // alert(\"Called\");\r\n this.gridApi.exportDataAsCsv();\r\n }\r\n\r\n createColumnDefs() {\r\n // \"employeeCode\": \"BX5699\",\r\n // \"employeeName\": \"Ajay Kumar Mishra\",\r\n // \"preNoOfQuestions\": 15,\r\n // \"preTestScore\": 13,\r\n // \"postNoOfQuestions\": 15,\r\n // \"postTestScore\": 0\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader('districtName', 'District Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('blockName', 'Block Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeCode', 'User ID');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeName', 'Name');\r\n header.width = 250;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('preNoOfQuestions', 'Total Questions (Pre)');\r\n header.width = 250;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('preTestScore', 'Pre Test Score');\r\n header.width = 210;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('postNoOfQuestions', 'Total Questions (Post)');\r\n header.width = 250;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('postTestScore', 'Post Test Score');\r\n header.width = 210;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n getLevel(){\r\n this.dataSharing.fetchEntityById(8).subscribe((res)=>{\r\n if (res && res.data !== null) {\r\n this.level= res.data.slice(0,5);\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Pre Post Score Report

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
","export class RoleAreaDto {\r\n stateId: number;\r\n stateName: string;\r\n blockId: number;\r\n blockName: string;\r\n clusterId: number;\r\n clusterName: string;\r\n districtId:string;\r\n districtName: string;\r\n divisionId: number;\r\n divisionName: string;\r\n schoolId: number;\r\n schoolName: string;\r\n roleId: number;\r\n}\r\n","import { DatePipe, formatDate } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { GridOptions } from 'ag-grid-community';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { AttendanceService } from '../../../../training/services/attendance.service';\r\nimport { InitiateTrainingService } from '../../../../training/services/initiate-training.service';\r\n\r\n@Component({\r\n selector: 'app-pop-up-grid',\r\n templateUrl: './pop-up-grid.component.html',\r\n styleUrls: ['./pop-up-grid.component.scss']\r\n})\r\nexport class PopUpGridComponent implements OnInit {\r\n @Input() id: any;\r\n @Input() params: any;\r\n @Output() changeIndicator = new EventEmitter();\r\n @Output() dataLoaded = new EventEmitter();\r\n individulaColumnDefs: any[];\r\n gridApi: any;\r\n columnApi: any;\r\n modalGridData = []\r\n paginationPageSize = 20;\r\n frameworkComponents ={}\r\n gridOptions = {};\r\n columnDefsEmployee: any[];\r\n columnDefsTrainee: any[];\r\n showTrainer = false;\r\n traineeListGrid: any;\r\n recordCount: number=0;\r\n empListNew: any;\r\n changevar: string;\r\n title = \"Trainers\";\r\n trainerDetails:any;\r\n traineeDetails:any;\r\n traineeStartDate; \r\n traineeEndDate;\r\n trainerStartDate; \r\n trainerEndDate;\r\n constructor(\r\n private _commonUtilService: CommonUtilService,\r\n private _initiateTrainingService: InitiateTrainingService,\r\n private attendanceService: AttendanceService,\r\n private dataSharing: DataSharingService,\r\n private datePipe:DatePipe\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(){\r\n if(this.id == 'trainer'){\r\n this.showTrainer = true;\r\n this.createColumnDefsEmployee()\r\n this.getTrainersByBatch(this.params)\r\n }else if(this.id == 'assessmentStatusTrainee'){\r\n this.showTrainer = false;\r\n this.title = \"Trainee Details\"\r\n this.createColumnDefsTraineeStatus();\r\n this.getTraineeAssessmentStatus(this.params)\r\n }else{\r\n this.showTrainer = false;\r\n this.title = \"Trainer Details\"\r\n this.createColumnDefsTrainee();\r\n this.getTraineesByBatch(this.params);\r\n } \r\n }\r\n\r\n\r\n onGridReady(event?) {\r\n this.gridApi = event.api;\r\n this.columnApi = event.columnApi\r\n }\r\n\r\n createColumnDefsEmployee(){\r\n this.columnDefsEmployee = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('sno', 'S.no.');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsEmployee.push(header);\r\n \r\n header = this._commonUtilService.getColumnHeader('employeeCode', 'Emp ID/EXT Code');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsEmployee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeName', 'Name');\r\n header.width = 250;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsEmployee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'designation',\r\n 'Designation'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsEmployee.push(header);\r\n }\r\n\r\n createColumnDefsTrainee() {\r\n this.columnDefsTrainee = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('sno', 'S.no.');\r\n header.width = 100;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeCode', 'Emp ID');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeName', 'Trainee Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'designation',\r\n 'Designation'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader(\r\n // 'districtName',\r\n // 'District/block'\r\n // );\r\n // header.width = 120;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // this.columnDefsTrainee.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader('state', 'State');\r\n // header.width = 150;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // this.columnDefsTrainee.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader(\r\n // 'schoolMaster.schoolName',\r\n // 'School'\r\n // );\r\n // header.width = 180;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // this.columnDefsTrainee.push(header);\r\n\r\n }\r\n\r\n createColumnDefsTraineeStatus() {\r\n this.columnDefsTrainee = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('sno', 'S.no.');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('5', 'Emp ID');\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('6', 'Trainee Name');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n '7',\r\n 'Designation'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n '8',\r\n 'Pre Test'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellRenderer = (params) => {\r\n var link = document.createElement(\"a\");\r\n link.innerText = params.value;\r\n if (params.data['8'] === \"Not Submitted\") {\r\n link.style.color = \"Red\";\r\n }\r\n return link;\r\n };\r\n this.columnDefsTrainee.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n '9',\r\n 'Post Test'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellRenderer = (params) => {\r\n var link = document.createElement(\"a\");\r\n link.innerText = params.value;\r\n link.target = \"_blank\";\r\n if (params.data['9'] === \"Not Submitted\") {\r\n link.style.color = \"Red\";\r\n }\r\n return link;\r\n };\r\n this.columnDefsTrainee.push(header);\r\n\r\n }\r\n\r\n dateFormatterNew(date:any){ \r\n return this.datePipe.transform(date, \"dd-MM-yyyy\",'UTC+5:30');\r\n }\r\n\r\n // getRowStyle(params: any): any {\r\n // if (params.data['8'] === \"Not Submitted\") {\r\n // return {'background-color': 'Red', 'color':'white' };\r\n // } \r\n // if (params.data['9'] === \"Not Submitted\") {\r\n // return {'background-color': 'Red', 'color':'white'}\r\n // }\r\n // }\r\n \r\n \r\n getTraineesByBatch(data) {\r\n this.traineeListGrid= null;\r\n this._initiateTrainingService.getTraineesByBatch(data).subscribe((response) => {\r\n response.data.forEach((data) => {\r\n data.batch = data.batchId.batchNumber;\r\n data.empCode.traineeId = data.traineeId;\r\n data.state = 'M.P';\r\n data.employeeCode = data.empCode.employeeCode;\r\n data.employeeName = data.empCode.employeeName;\r\n data.designation = data.empCode.designation;\r\n data.mobileNo = data.empCode.mobileNo\r\n });\r\n this.traineeDetails= response.data[0].batchId; \r\n this.traineeStartDate = this.dateFormatterNew(this.trainerDetails.startDate); \r\n this.traineeEndDate = this.dateFormatterNew(this.trainerDetails.endDate);\r\n this.traineeListGrid = response.data;\r\n let sno = 1;\r\n this.traineeListGrid.forEach( trainee =>{\r\n trainee.sno = sno\r\n sno++;\r\n })\r\n this.recordCount = this.traineeListGrid.length;\r\n })\r\n }\r\n \r\n\r\n getTrainersByBatch(data) {\r\n this.empListNew=null;\r\n this._initiateTrainingService.getAllTrainersByBatchId(data).subscribe((response) => {\r\n if (response.data != null) {\r\n this.empListNew = response.data[0].trainers;\r\n this.trainerDetails = response.data[0].batch;\r\n this.trainerStartDate = this.dateFormatterNew(this.trainerDetails.startDate); \r\n this.trainerEndDate = this.dateFormatterNew(this.trainerDetails.endDate);\r\n let sno = 1;\r\n this.empListNew.forEach( trainer =>{\r\n trainer.sno = sno\r\n sno++;\r\n })\r\n this.recordCount = this.empListNew.length;\r\n }\r\n });\r\n }\r\n\r\n getTraineeAssessmentStatus(data){\r\n this.traineeListGrid = null;\r\n this._initiateTrainingService.getAssessmentStatusByBatch(data).subscribe((response) =>{\r\n if(response!=null){\r\n this.traineeListGrid = response;\r\n let sno = 1;\r\n this.traineeListGrid.forEach( trainee =>{\r\n trainee.sno = sno\r\n sno++;\r\n })\r\n }\r\n })\r\n }\r\n\r\n closeModel() {\r\n this.changevar = \"cancel\";\r\n this.changeIndicator.emit(this.changevar);\r\n this.emit();\r\n this.showTrainer = false;\r\n this.id = null;\r\n this.recordCount = 0;\r\n }\r\n\r\n \r\n\r\n emit() {\r\n this.dataLoaded.emit('PopUpGridComponent');\r\n }\r\n\r\n \r\n\r\n export() {\r\n // alert(\"Called\");\r\n this.gridApi.exportAsExcelFile();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n

{{title}}

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

Trainee Details

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { GroupService } from '../../../services/group.service';\r\nimport { LaunchTrainingService } from '../../../services/launch-training.service';\r\nimport { ReportService } from '../../../services/report.service';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { Constantss } from 'src/utils/constantss';\r\n// import { DataSharingService } from '../../shared/services/data-sharing.service';\r\n// import { GroupService } from '../../training/services/group.service';\r\n// import { LaunchTrainingService } from '../../training/services/launch-training.service';\r\n// import { ReportService } from '../service/report.service';\r\n\r\n@Component({\r\n selector: 'app-pre-post-report',\r\n templateUrl: './pre-post-report.component.html',\r\n styleUrls: ['./pre-post-report.component.scss']\r\n})\r\nexport class PrePostReportComponent implements OnInit {\r\n\r\n groups = [];\r\n prePostReportData = [];\r\n gridOptions = {};\r\n prePost: any;\r\n trainings: any;\r\n subGroupData: any;\r\n form: FormGroup;\r\n gridApi: GridApi;\r\n paginationPageSize = 20;\r\n frameworkComponents;\r\n columnDefs: any;\r\n isHiddenGrid = true;\r\n isLoading = false;\r\n constructor(\r\n private _groupService: GroupService,\r\n private launchTrainingService: LaunchTrainingService,\r\n private dataSharing: DataSharingService,\r\n private fb: FormBuilder,\r\n private _commonUtilService: CommonUtilService,\r\n private reportService: ReportService,\r\n private toast : NgToastService) {\r\n this.createForm();\r\n \r\n this.frameworkComponents = {};\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getAllActiveGroups();\r\n this.createColumnDefs();\r\n this.dataSharing.fetchEntityById(11).subscribe((Response) => {\r\n this.prePost = Response.data.filter((d) => (d.id == 54 || d.id == 55));\r\n });\r\n // this.prePostReportData = data;\r\n }\r\n\r\n createForm() {\r\n this.form = this.fb.group({\r\n id: [],\r\n group: [null, [Validators.required]],\r\n subGroup: [null, [Validators.required]],\r\n training: [null, [Validators.required]],\r\n prePost: [null, [Validators.required]]\r\n });\r\n\r\n }\r\n\r\n generateReport() {\r\n this.isLoading = true;\r\n let trainingId = this.form.controls['training'].value;\r\n let quizTypeId = this.form.controls['prePost'].value;\r\n \r\n this.reportService.getPrePostAssessmentReport(trainingId,quizTypeId).subscribe((resp)=>{\r\n if(resp.data!=null){\r\n this.isLoading = false;\r\n this.isHiddenGrid = false;\r\n this.prePostReportData = resp.data;\r\n \r\n }else{\r\n this.isLoading = false;\r\n this.isHiddenGrid = true;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: resp.message,\r\n duration: 10000,\r\n });\r\n }\r\n },(error)=>{\r\n this.isHiddenGrid = true;\r\n this.isLoading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something Went Wrong!',\r\n duration: 10000,\r\n });\r\n })\r\n }\r\n\r\n\r\n onGridReady(event?) {\r\n this.gridApi = event.api;\r\n \r\n }\r\n\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n\r\n getAllActiveGroups() {\r\n this._groupService.getTrainingGroups().subscribe((res) => {\r\n if (res && res.data !== null) {\r\n const groupList = res.data;\r\n this.groups = groupList.filter((g) => g.isActive === true);\r\n }\r\n });\r\n }\r\n\r\n onTrainingChange(event) {\r\n this.form.controls['prePost'].setValue(null);\r\n // this.buttonDisable = false;\r\n }\r\n\r\n\r\n selectedSubGroup(event) {\r\n this.form.controls['training'].setValue(null);\r\n this.form.controls['prePost'].setValue(null);\r\n let subGroupData = []\r\n this.launchTrainingService.getTrainingBySubGroupId(event.subGroupId)\r\n .subscribe(response => {\r\n subGroupData = response.data;\r\n this.trainings = subGroupData;\r\n\r\n });\r\n }\r\n\r\n\r\n selectedGroup(event) {\r\n this.form.controls['subGroup'].setValue(null);\r\n this.form.controls['training'].setValue(null);\r\n this.form.controls['prePost'].setValue(null);\r\n this._groupService\r\n .getSubGroupByGroupId(event.groupId)\r\n .subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.subGroupData = response.data;\r\n }\r\n });\r\n }\r\n\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('trainingName', 'Training Name');\r\n header.width = 500;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'questionNumber',\r\n 'Question No.'\r\n );\r\n //header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'question',\r\n 'Question'\r\n );\r\n header.width = 1500;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.autoHeight = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'totalTrainee',\r\n 'Total Trainees'\r\n );\r\n //header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'score',\r\n 'Score'\r\n );\r\n //header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'scorePercentage',\r\n 'Score %'\r\n );\r\n // header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\nconst data = [{\r\n name: 'eh3uhed',\r\n group: 'rheeufhe'\r\n}]","
\r\n
\r\n

Pre/Post Report

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n    \r\n Loading ...\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { formatDate } from '@angular/common';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport {\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n RowNode,\r\n} from 'ag-grid-community';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { RegistrationService } from 'src/app/layouts/baseline/service/registration.service';\r\nimport { ManageUserService } from 'src/app/layouts/configurations/service/manage user service/manage-user.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { GroupService } from '../../../services/group.service';\r\nimport { LaunchTrainingService } from '../../../services/launch-training.service';\r\nimport { PopUpGridComponent } from '../pop-up-grid/pop-up-grid.component';\r\n// import { GroupService } from '../../../baseline/service/assessment service/group service/group.service';\r\n// import { RegistrationService } from '../../../baseline/service/registration.service';\r\n// import { ManageUserService } from '../../../configurations/service/manage user service/manage-user.service';\r\nimport { ReportService } from '../../../services/report.service';\r\nimport { RoleAreaDto } from '../model/role-area-dto';\r\n// import { LaunchTrainingService } from '../../../training/services/launch-training.service';\r\n// import { RoleAreaDto } from '../../model/role-area-dto';\r\n// import { PopUpGridComponent } from '../../pop-up-grid/pop-up-grid.component';\r\n// import { RoleAreaDto } from '../../role-area-dto.spec'\r\n\r\n@Component({\r\n selector: 'app-pre-post-status-report',\r\n templateUrl: './pre-post-status-report.component.html',\r\n styleUrls: ['./pre-post-status-report.component.scss']\r\n})\r\nexport class PrePostStatusReportComponent implements OnInit {\r\n @ViewChild('primaryModal', { static: false })\r\n public primaryModal: ModalDirective;\r\n addChild: PopUpGridComponent;\r\n allGroupFromParent;\r\n powBtn:any;\r\n\r\n loanFilter;\r\n reportGeneration = false;\r\n groups = [];\r\n reportList = [];\r\n reportType = [];\r\n reportTypeName: string;\r\n paginationPageSize = 20;\r\n gridApi: GridApi;\r\n assessments = [];\r\n columnDefs: any;\r\n frameworkComponents;\r\n gridOptions = {};\r\n reportsForm: FormGroup;\r\n trainingData = []\r\n subGroupData: any;\r\n trainings: any;\r\n districtList: any;\r\n blockData: any;\r\n blockDataList: any;\r\n areaWiseTraining: any;\r\n district: any = {}\r\n block: any = {}\r\n buttonDisable = true;\r\n isDistrictReport: any;\r\n stateList = []\r\n divisionList = []\r\n fetchType: string;\r\n division: any= {}\r\n state: any;\r\n divisionDisabled = true;\r\n districtDisabled = true;\r\n blockDisabled = true;\r\n batches = []\r\n public overlayLoadingTemplate =\r\n 'Generating report please wait...';\r\n training: any;\r\n batch: any;\r\n trainingDates = []\r\n trainingDate: any;\r\n batchReportData=[]\r\n columnApi: any;\r\n initiateTrainingFilter: string;\r\n id: any;\r\n params: any;\r\n constructor(\r\n private fb: FormBuilder,\r\n private _commonUtilService: CommonUtilService,\r\n private _reportService: ReportService,\r\n private groupService: GroupService,\r\n private _groupService: GroupService,\r\n private launchTrainingService: LaunchTrainingService,\r\n private registrationService: RegistrationService,\r\n private toast: NgToastService,\r\n private userService: ManageUserService\r\n ) {\r\n this.frameworkComponents = {};\r\n this.createForm();\r\n // this.onBtShowLoading()\r\n // this.getDistrict();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.fetchAllState();\r\n this.getAllActiveGroups();\r\n // this.getReportType();\r\n this.createColumnDefsNew();\r\n this.getDistrict()\r\n this.getAllBlock()\r\n }\r\n\r\n showLoader(status:boolean){\r\n var element = document.getElementById('loader');\r\n if (status == true) {\r\n element.style.display = 'block'\r\n } else {\r\n element.style.display = 'none'\r\n }\r\n }\r\n\r\n getAllBlock(){\r\n this.registrationService.getAllBlocks().subscribe((resp) => {\r\n if (resp && resp.data !== null) {\r\n this.blockDataList = []\r\n this.blockDataList.push({id:0,name:'All'});\r\n resp.data.forEach(block =>{\r\n this.blockDataList.push({id:block.blockId, name:block.blockName})\r\n })\r\n }\r\n });\r\n }\r\n\r\n createForm() {\r\n this.reportsForm = this.fb.group({\r\n id: [null],\r\n state: [null],\r\n division: [null],\r\n district:[0, Validators.required],\r\n block:[0, Validators.required],\r\n group: [null, [Validators.required]],\r\n subGroup: [null, Validators.required],\r\n training: [null, Validators.required],\r\n });\r\n }\r\n\r\n getAllActiveGroups() {\r\n this.groupService.getTrainingGroups().subscribe((res) => {\r\n if (res && res.data !== null) {\r\n const groupList = res.data;\r\n this.groups = groupList.filter((g) => g.isActive === true);\r\n }\r\n });\r\n }\r\n\r\n selectedGroup(event) {\r\n this._groupService\r\n .getSubGroupByGroupId(event.groupId)\r\n .subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.subGroupData = response.data;\r\n }\r\n });\r\n }\r\n\r\n fetchAllState(){ \r\n this.groupService.fetchAllState().subscribe((response) => {\r\n if(response.data != null){\r\n this.stateList = [];\r\n this.stateList.push({id:0,name:'All'})\r\n this.stateList.push(response.data[0])\r\n }\r\n })\r\n }\r\n\r\n stateOnchange(event){\r\n this.state = event;\r\n this.getAllDivision()\r\n }\r\n\r\n getAllDivision() {\r\n this.userService.getDivisionData().subscribe((response) => {\r\n if (response && response.data != null) {\r\n this.divisionList = [{id: 0, name: 'All'}]\r\n const arr = response.data;\r\n this.divisionList = this.divisionList.concat(arr)\r\n } \r\n });\r\n }\r\n\r\n divisionOnChange(event){\r\n this.division = event\r\n if(event.id == 0){\r\n this.getDistrict()\r\n }else{\r\n this.groupService\r\n .fetchDistrictByDivisionId(event.id)\r\n .subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.districtList = [{districtId:0,districtName:'All'}]\r\n \r\n const arr = response.data;\r\n this.districtList = this.districtList.concat(arr);\r\n } \r\n });\r\n } \r\n }\r\n\r\n batchCodeChange(event){\r\n this.batch = event;\r\n }\r\n\r\n selectedSubGroup(event){\r\n this.trainings = []\r\n this.trainings.push({trainingId:6, trainingName:\"FLN Block level training\"})\r\n let subGroupData = []\r\n this.launchTrainingService.getTrainingBySubGroupId(event.subGroupId)\r\n .subscribe(response=>{\r\n subGroupData = response.data;\r\n // this.trainings = subGroupData\r\n this.trainings = {trainingId:6, trainingName:\"FLN Block level training\"}\r\n });\r\n }\r\n\r\n generateReport() {\r\n if(!this.reportsForm.valid){\r\n this.toast.warning({\r\n detail: 'Warning',\r\n summary: 'Please select Level and Training',\r\n duration: 5000,\r\n });\r\n }\r\n else{\r\n this.trainingData = [];\r\n this.createColumnDefsNew()\r\n if(this.reportsForm.controls['training'].value != null){\r\n this.gridApi.showLoadingOverlay()\r\n this._reportService.getPrePostStatus( \r\n this.reportsForm.controls['training'].value,43, 0,0,\r\n this.reportsForm.controls['district'].value,\r\n this.reportsForm.controls['block'].value? this.reportsForm.controls['block'].value: 0).subscribe(response=>{\r\n this.showLoader(false)\r\n if(response.status == '200'){\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Report fetched successfully',\r\n duration: 10000,\r\n });\r\n this.trainingData = response.data;\r\n setTimeout(()=>{\r\n this.gridApi.setPinnedBottomRowData([]);\r\n let pinnedBottomData = this.generatePinnedBottomData();\r\n pinnedBottomData[5] = ((pinnedBottomData[4]/pinnedBottomData[3]) *100).toFixed(2)\r\n pinnedBottomData[7] = ((pinnedBottomData[6]/pinnedBottomData[3]) *100).toFixed(2)\r\n this.gridApi.setPinnedBottomRowData([pinnedBottomData]);\r\n }, 500)\r\n this.fetchType = null\r\n }else{\r\n this.toast.warning({\r\n detail: 'Error',\r\n summary: 'No Data found',\r\n duration: 10000,\r\n });\r\n this.showLoader(false)\r\n }\r\n \r\n },error => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n this.showLoader(false)\r\n },)\r\n\r\n this.block = {};\r\n this.district = {};\r\n \r\n }\r\n \r\n // this.buttonDisable= true;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n onGridReady(event?) {\r\n this.gridApi = event.api;\r\n this.columnApi = event.columnApi\r\n }\r\n\r\n export() {\r\n // alert(\"Called\");\r\n this.gridApi.exportDataAsCsv();\r\n }\r\n\r\n generatePinnedBottomData(){\r\n let result = {};\r\n this.columnApi.getAllGridColumns().forEach(item => {\r\n result[item.colId] = null;\r\n });\r\n return this.calculatePinnedBottomData(result);\r\n }\r\n\r\n calculatePinnedBottomData(target: any){\r\n //**list of columns fo aggregation**\r\n let columnsWithAggregation = []\r\n if(this.reportsForm.controls['block'].value != 0){\r\n columnsWithAggregation = ['5','6','8']\r\n }else{\r\n columnsWithAggregation = ['3','4','6','8','9']\r\n }\r\n columnsWithAggregation.forEach(element => {\r\n this.gridApi.forEachNodeAfterFilter((rowNode: RowNode) => {\r\n //if(rowNode.index < 10){\r\n //}\r\n if (rowNode.data[element])\r\n target[element] += Number(rowNode.data[element]);\r\n });\r\n if (target[element])\r\n target[element] = `${target[element]}`;\r\n })\r\n return target;\r\n}\r\n\r\nquickSearch() {\r\n this.gridApi.setQuickFilter(this.initiateTrainingFilter);\r\n}\r\n\r\nclearSearch($event) {\r\n this.initiateTrainingFilter = '';\r\n this.gridApi.setQuickFilter(this.initiateTrainingFilter);\r\n}\r\n\r\ngetRowStyle(params: any): any {\r\n if (params > 89) {\r\n return {'background-color': 'Green' };\r\n } else if (params < 89) {\r\n return {'background-color': 'Red'}\r\n }\r\n}\r\n\r\n createColumnDefsNew(){\r\n this.columnDefs = [];\r\n let header: any;\r\n if(this.reportsForm.controls['district'].value == 0 && this.reportsForm.controls['block'].value == 0){\r\n header = this._commonUtilService.getColumnHeader(\r\n '0',\r\n 'District'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '1',\r\n 'Block count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '2',\r\n 'Batch count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '3',\r\n 'Total Trainee'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '4',\r\n 'Pre Test Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '5',\r\n 'Pre Test Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '6',\r\n 'Post Test Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '7',\r\n 'Post Test Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200\r\n this.columnDefs.push(header);\r\n }\r\n else if(this.reportsForm.controls['district'].value == 0 && this.reportsForm.controls['block'].value != 0){\r\n header = this._commonUtilService.getColumnHeader(\r\n '0',\r\n 'District'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n // header = this._commonUtilService.getColumnHeader(\r\n // '1',\r\n // 'Block Id'\r\n // );\r\n // header.sortable=true;\r\n // header.filter=true;\r\n // this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '2',\r\n 'Block'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n // header = this._commonUtilService.getColumnHeader(\r\n // '3',\r\n // 'Batch Id'\r\n // );\r\n // header.sortable=true;\r\n // header.filter=true;\r\n // this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '4',\r\n 'Batch Number'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '5',\r\n 'Total Trainee'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 120\r\n header.cellRenderer = this.createHyperLinkTrainee.bind(this)\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '6',\r\n 'Pre Test Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '7',\r\n 'Pre Test Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '8',\r\n 'Post Test Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '9',\r\n 'Post Test Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n }\r\n else if(this.reportsForm.controls['district'].value != 0 && this.reportsForm.controls['block'].value == 0){\r\n header = this._commonUtilService.getColumnHeader(\r\n '0',\r\n 'District'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '1',\r\n 'Block Name'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '2',\r\n 'Batch count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '3',\r\n 'Total Trainee'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '4',\r\n 'Pre Test Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '5',\r\n 'Pre Test Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '6',\r\n 'Post Test Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '7',\r\n 'Post Test Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n this.columnDefs.push(header);\r\n }else{\r\n header = this._commonUtilService.getColumnHeader(\r\n '0',\r\n 'District'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n // this.columnDefs.push(header);\r\n // header = this._commonUtilService.getColumnHeader(\r\n // '1',\r\n // 'Block Id'\r\n // );\r\n // header.sortable=true;\r\n // header.filter=true;\r\n // this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '2',\r\n 'Block'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 120\r\n this.columnDefs.push(header);\r\n // header = this._commonUtilService.getColumnHeader(\r\n // '3',\r\n // 'Batch Id'\r\n // );\r\n // header.sortable=true;\r\n // header.filter=true;\r\n // this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '4',\r\n 'Batch Number'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 120\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '5',\r\n 'Total Trainee'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150\r\n header.cellRenderer = this.createHyperLinkTrainee.bind(this)\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '6',\r\n 'Pre Test Count'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '7',\r\n 'Pre Test Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '8',\r\n 'Post Test Count'\r\n );\r\n header.sortable=true;\r\n header.width = 150\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n '9',\r\n 'Post Test Percentage'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n getDistrict() {\r\n this.registrationService.fetchDistrictByJava().subscribe((res) => {\r\n this.districtList = [{districtId:0,districtName:'All'}]\r\n if (res && res.data !== null) {\r\n const arr = res.data;\r\n this.districtList = this.districtList.concat(arr);\r\n }\r\n });\r\n }\r\n\r\n onTrainingChange(event){\r\n this.fetchType = null\r\n this.block = {}\r\n this.division = {}\r\n this.district = {}\r\n this.divisionDisabled = true;\r\n this.districtDisabled = true;\r\n this.blockDisabled = true;\r\n this.buttonDisable = false;\r\n this.training = event;\r\n if(this.training.trainingLevelId.id == 41){\r\n this.divisionDisabled = false;\r\n }\r\n else if(this.training.trainingLevelId.id == 42){\r\n this.divisionDisabled = false;\r\n this.districtDisabled = false;\r\n }\r\n else if(this.training.trainingLevelId.id == 43){\r\n this.divisionDisabled = false;\r\n this.districtDisabled = false;\r\n this.blockDisabled = false;\r\n }\r\n this.groupService.getBatchesByTraining(this.training.trainingId).subscribe((res:any)=> {\r\n if(res && (res.data !==null || res.data !==undefined)) {\r\n this.batches = res.data;\r\n this.batches = this.batches.filter((resp) => resp.launchStatus.id == 64);\r\n }\r\n });\r\n this.trainingToDates(this.training); \r\n }\r\n\r\n trainingToDates(training:any){\r\n var start = training.startDate.substring(0,10).concat(\"T00:00:00.000Z\");\r\n var end = training.endDate.substring(0,10).concat(\"T00:00:00.000Z\");;\r\n for(var arr=[],dt=new Date(start); dt<=new Date(end); dt.setDate(dt.getDate()+1)){\r\n arr.push({name:this.dateFormatterNew(new Date(dt)), value:this.dateFormatterNew(new Date(dt))});\r\n }\r\n this.trainingDates = arr;\r\n }\r\n\r\n onDateChange(event){\r\n this.trainingDate = event.value;\r\n }\r\n\r\n\r\n districtOnChange(event) {\r\n this.district = event\r\n this.reportsForm.controls['block'].reset()\r\n if(event.districtId == 0){\r\n this.registrationService.getAllBlocks().subscribe((resp) => {\r\n if (resp && resp.data !== null) {\r\n // this.blockDataList = resp.data;\r\n this.blockDataList = []\r\n this.blockDataList.push({id:0,name:'All'});\r\n resp.data.forEach(block =>{\r\n this.blockDataList.push({id:block.blockId, name:block.blockName})\r\n })\r\n }\r\n });\r\n } else{\r\n\r\n this.groupService.fetchBlockByDistrictId(event.districtId)\r\n .subscribe((response) => {\r\n this.blockDataList = [{id:0,name:'All'}]\r\n if (response && response.data !== null) {\r\n this.blockDataList = this.blockDataList.concat(response.data);\r\n\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n onBlockChange(event){\r\n this.block = event\r\n let roleAreaList = []; \r\n this.reportsForm.controls['state'].removeValidators(Validators.required);\r\n if(event.id == 0){\r\n this.blockDataList.forEach(block =>{\r\n let roleArea = new RoleAreaDto();\r\n roleArea.blockId = block.id;\r\n roleArea.blockName = block.name;\r\n roleAreaList.push(roleArea);\r\n })\r\n } else{\r\n let roleArea = new RoleAreaDto();\r\n roleArea.blockId = event.id;\r\n roleAreaList.push(roleArea);\r\n }\r\n let trainingExists = []\r\n this.areaWiseTraining = []\r\n this.groupService.getTrainingByArea(roleAreaList).subscribe((response:any) => {\r\n response.data.forEach(area =>{\r\n if(!trainingExists.includes(area.trainingId)){\r\n trainingExists.push(area.trainingId);\r\n this.areaWiseTraining.push(area)\r\n }\r\n })\r\n })\r\n }\r\n\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'dd/mm/yyyy';\r\n const locale = 'en-US';\r\n return formatDate(date, format, locale);\r\n }\r\n\r\n dateFormatterNew(date:any){ \r\n let formatedDate;\r\n if (typeof(date)=== \"string\") {\r\n const [day, month, year] = date.split('-');\r\n formatedDate = new Date(+year, +month - 1, +day);\r\n } \r\n const format = 'yyyy-MM-dd';\r\n const locale = 'en-US';\r\n return formatedDate ? formatDate(formatedDate, format, locale) : formatDate(date, format, locale);\r\n }\r\n\r\n refresh(){\r\n this.reportsForm.reset();\r\n }\r\n\r\n createHyperLinkTrainee(params) {\r\n \r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data[5]} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n let id = 'assessmentStatusTrainee';\r\n this.onClicked(id,params);\r\n // this.onCalendarClicked(params.data);\r\n });\r\n return spanElement;\r\n }\r\n\r\n onClicked(id:any,params){\r\n this.id = id;\r\n this.params = params.data[3];\r\n this.primaryModal.show();\r\n }\r\n\r\n onStatusChanged(event){\r\n\r\n }\r\n\r\n dataLoaded(child: string) { }\r\n\r\n changeIndicator = (callAddRole) => {\r\n this.id = 0;\r\n if (callAddRole == 'cancel') {\r\n this.primaryModal.hide();\r\n } else {\r\n this.primaryModal.hide();\r\n }\r\n };\r\n\r\n}\r\n","
\r\n
\r\n

Assessment Status Report

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
{{reportTypeName}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n\r\n
","import { formatDate } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport {\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport * as moment from 'moment';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { GroupService } from '../../../../baseline/service/assessment service/group service/group.service';\r\nimport { ReportService } from '../../../services/report.service';\r\n\r\n@Component({\r\n selector: 'app-report',\r\n templateUrl: './report.component.html',\r\n styleUrls: ['./report.component.scss'],\r\n})\r\nexport class ReportComponent implements OnInit {\r\n loanFilter;\r\n reportGeneration = false;\r\n groups = [];\r\n reportList = [];\r\n reportType = [];\r\n reportTypeName: string;\r\n paginationPageSize = 20;\r\n gridApi: GridApi;\r\n assessments = [];\r\n columnDefs: any;\r\n frameworkComponents;\r\n gridOptions = {};\r\n reportsForm: FormGroup;\r\n constructor(\r\n private fb: FormBuilder,\r\n private _commonUtilService: CommonUtilService,\r\n private _reportService: ReportService,\r\n private groupService: GroupService\r\n ) {\r\n this.frameworkComponents = {};\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getAllActiveGroups();\r\n this.getReportType();\r\n }\r\n\r\n createForm() {\r\n this.reportsForm = this.fb.group({\r\n id: [null],\r\n group: [null],\r\n assessment: [null],\r\n reportType: [null],\r\n });\r\n }\r\n\r\n getAllActiveGroups() {\r\n this.groupService.getGroupList().subscribe((res) => {\r\n if (res && res.data !== null) {\r\n const groupList = res.data;\r\n this.groups = groupList.filter((g) => g.isActive === true);\r\n }\r\n });\r\n }\r\n\r\n selectedGroup(event) {\r\n this._reportService\r\n .fetchAssessmentByGroupId(event.groupId)\r\n .subscribe((resp) => {\r\n if (resp && resp.data !== null) {\r\n this.assessments = resp.data;\r\n }\r\n });\r\n this.reportsForm.controls['assessment'].reset();\r\n this.reportsForm.controls['reportType'].reset();\r\n this.reportGeneration = false;\r\n }\r\n\r\n getReportType() {\r\n this.reportType = reportType;\r\n }\r\n\r\n generateReport() {\r\n if (this.reportsForm.value.reportType === null || this.reportsForm.value.reportType === null || this.reportsForm.value.assessment === null) {\r\n this.reportGeneration = false;\r\n }\r\n else {\r\n this.reportGeneration = true;\r\n this._reportService\r\n .fetchReport(\r\n this.reportsForm.value.reportType,\r\n this.reportsForm.value.assessment\r\n )\r\n .subscribe((res) => {\r\n if (res && res != null) {\r\n res.data.forEach((report) => {\r\n if(report.registrationDate!=undefined){\r\n report.registrationDate = this.dateFormatter(report.registrationDate);\r\n }\r\n this.reportList = res.data;\r\n })\r\n\r\n if (this.reportsForm.value.reportType === 1) {\r\n this.createColumnDefs();\r\n this.reportTypeName = \"District-wise Enumerator Report\"\r\n } else if (this.reportsForm.value.reportType === 2) {\r\n this.createColumnDefsForRegisteredEnumerator();\r\n this.reportTypeName = \"Enumerator Registration Report\"\r\n } else {\r\n this.reportTypeName = \"Enumerator Allocation Report\"\r\n this.createColumnDefsForEnumeratorAllocation();\r\n }\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n onGridReady(event?) {\r\n this.gridApi = event.api;\r\n }\r\n\r\n export() {\r\n // alert(\"Called\");\r\n this.gridApi.exportDataAsCsv();\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n header = this._commonUtilService.getColumnHeader(\r\n 'districtName',\r\n 'District'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n 'totalRegistered',\r\n 'Total Registered'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('verified', 'Verified');\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'unVerified',\r\n 'Unverified'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'verificationPer',\r\n 'Verification %'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'enumeratorPer',\r\n 'Enumerator %'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n }\r\n\r\n createColumnDefsForRegisteredEnumerator() {\r\n this.columnDefs = [];\r\n let header: any;\r\n header = this._commonUtilService.getColumnHeader(\r\n 'enumeratorId',\r\n 'Registration ID'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 150;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n 'enumeratorName',\r\n 'Enumerator'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 180;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'fatherName',\r\n \"Father's Name\"\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 180;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'institutionName',\r\n 'Institute'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 200;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'districtName',\r\n 'District'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 180;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'registrationDate',\r\n 'Registartion Date'\r\n );\r\n header.sortable=true;\r\n header.filter=true;\r\n header.width = 180;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('verificationStatus', 'Status');\r\n header.width = 180;\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'verifiedBy',\r\n 'Verified By'\r\n );\r\n header.width = 200;\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n }\r\n\r\n createColumnDefsForEnumeratorAllocation() {\r\n this.columnDefs = [];\r\n let header: any;\r\n header = this._commonUtilService.getColumnHeader(\r\n 'enumeratorId',\r\n 'Registration ID'\r\n );\r\n header.width = 150;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n 'enumeratorName',\r\n 'Enumerator'\r\n );\r\n header.width = 180;\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'fatherName',\r\n \"Father's Name\"\r\n );\r\n header.width = 180;\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'institutionName',\r\n 'Institute'\r\n );\r\n header.width = 180;\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'districtName',\r\n 'District'\r\n );\r\n header.width = 180;\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'numberOfSchool',\r\n 'Number of School'\r\n );\r\n header.width = 180;\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Status');\r\n header.width = 180;\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'allocatedBy',\r\n 'Allocated By'\r\n );\r\n header.width = 180;\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'allocatedOn',\r\n 'Allocated On'\r\n );\r\n header.width = 180;\r\n header.sortable=true;\r\n header.filter=true;\r\n this.columnDefs.push(header);\r\n }\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'dd/mm/yyyy';\r\n const locale = 'en-US';\r\n return formatDate(date, format, locale);\r\n }\r\n}\r\n\r\nconst reportType = [\r\n {\r\n id: 1,\r\n name: 'District-wise Enumerator Report',\r\n },\r\n {\r\n id: 2,\r\n name: 'Enumerator Registration Report',\r\n },\r\n {\r\n id: 3,\r\n name: 'Enumerator Allocation Report',\r\n },\r\n];\r\n","
\r\n
\r\n

Reports

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
{{reportTypeName}}
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
","import { formatDate } from '@angular/common';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n RowNode,\r\n} from 'ag-grid-community';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { GroupService } from '../../../../baseline/service/assessment service/group service/group.service';\r\nimport { RegistrationService } from '../../../../baseline/service/registration.service';\r\nimport { ManageUserService } from '../../../../configurations/service/manage user service/manage-user.service';\r\nimport { ReportService } from '../../../services/report.service';\r\nimport { LaunchPopUpComponent } from '../../../../training/component/launch-training/launch-pop-up/launch-pop-up.component';\r\nimport { LaunchTrainingService } from '../../../../training/services/launch-training.service';\r\nimport { RoleAreaDto } from '../model/role-area-dto'\r\nimport { PopUpGridComponent } from '../pop-up-grid/pop-up-grid.component';\r\n\r\n@Component({\r\n selector: 'app-training-readiness',\r\n templateUrl: './training-readiness.component.html',\r\n styleUrls: ['./training-readiness.component.scss']\r\n})\r\nexport class TrainingReadinessComponent implements OnInit {\r\n @ViewChild('primaryModal', { static: false })\r\n public primaryModal: ModalDirective;\r\n addChild: PopUpGridComponent;\r\n allGroupFromParent;\r\n powBtn: any;\r\n loanFilter;\r\n reportGeneration = false;\r\n groups = [];\r\n reportList = [];\r\n reportType = [];\r\n reportTypeName: string;\r\n gridApi: GridApi;\r\n assessments = [];\r\n columnDefs: any;\r\n individulaColumnDefs: any;\r\n frameworkComponents;\r\n gridOptions = {};\r\n reportsForm: FormGroup;\r\n trainingData = []\r\n subGroupData: any;\r\n trainings: any;\r\n districtList: any;\r\n blockData: any;\r\n blockDataList: any;\r\n areaWiseTraining: any;\r\n district: any = {}\r\n block: any = {}\r\n buttonDisable = true;\r\n isDistrictReport: any;\r\n stateList = []\r\n divisionList = []\r\n fetchType: string;\r\n division: any = {};\r\n state: any;\r\n divisionDisabled = true;\r\n districtDisabled = true;\r\n blockDisabled = true;\r\n batches = []\r\n public overlayLoadingTemplate =\r\n 'Generating report please wait...';\r\n training: any;\r\n batch: any;\r\n trainingDates = []\r\n trainingDate: any;\r\n batchReportData = []\r\n initiateTrainingFilter: string;\r\n columnApi: any;\r\n traineeCount: any = 0;\r\n approxTrainee: any = 0;\r\n id: any;\r\n params: any;\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n modalGridData = []\r\n constructor(\r\n private fb: FormBuilder,\r\n private _commonUtilService: CommonUtilService,\r\n private _reportService: ReportService,\r\n private groupService: GroupService,\r\n private _groupService: GroupService,\r\n private launchTrainingService: LaunchTrainingService,\r\n private registrationService: RegistrationService,\r\n private toast: NgToastService,\r\n private userService: ManageUserService,\r\n public modalService: NgbModal,\r\n ) {\r\n this.frameworkComponents = {};\r\n this.createForm();\r\n // this.onBtShowLoading()\r\n // this.getDistrict();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.fetchAllState();\r\n this.getAllActiveGroups();\r\n // this.getReportType();\r\n this.createColumnDefsNew();\r\n this.getDistrict()\r\n this.getAllBlock()\r\n }\r\n\r\n getAllBlock() {\r\n this.registrationService.getAllBlocks().subscribe((resp) => {\r\n if (resp && resp.data !== null) {\r\n this.blockDataList = []\r\n this.blockDataList.push({ id: 0, name: 'All' });\r\n resp.data.forEach(block => {\r\n this.blockDataList.push({ id: block.blockId, name: block.blockName })\r\n })\r\n }\r\n });\r\n }\r\n\r\n showLoader(status: boolean) {\r\n var element = document.getElementById('loader');\r\n if (status == true) {\r\n element.style.display = 'block'\r\n } else {\r\n element.style.display = 'none'\r\n }\r\n }\r\n\r\n createForm() {\r\n this.reportsForm = this.fb.group({\r\n id: [null],\r\n state: [null],\r\n division: [null],\r\n district: [0, Validators.required],\r\n block: [0, Validators.required],\r\n group: [null, [Validators.required]],\r\n subGroup: [null, Validators.required],\r\n training: [null, Validators.required],\r\n });\r\n }\r\n\r\n getAllActiveGroups() {\r\n this.groupService.getTrainingGroups().subscribe((res) => {\r\n if (res && res.data !== null) {\r\n const groupList = res.data;\r\n this.groups = groupList.filter((g) => g.isActive === true);\r\n }\r\n });\r\n }\r\n\r\n selectedGroup(event) {\r\n this._groupService\r\n .getSubGroupByGroupId(event.groupId)\r\n .subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.subGroupData = response.data;\r\n }\r\n });\r\n }\r\n\r\n fetchAllState() {\r\n this.groupService.fetchAllState().subscribe((response) => {\r\n if (response.data != null) {\r\n this.stateList = [];\r\n this.stateList.push({ id: 0, name: 'All' })\r\n this.stateList.push(response.data[0])\r\n }\r\n })\r\n }\r\n\r\n\r\n stateOnchange(event) {\r\n this.state = event;\r\n this.getAllDivision()\r\n }\r\n\r\n dateFormaterGrid(date) {\r\n var dateAsString = date.toString();\r\n var dateSplit = dateAsString.split('T')[0];\r\n var dateParts = dateSplit.split('-');\r\n return `${dateParts[2]}-${dateParts[1]}-${dateParts[0]}`;\r\n }\r\n\r\n\r\n getAllDivision() {\r\n this.userService.getDivisionData().subscribe((response) => {\r\n if (response && response.data != null) {\r\n this.divisionList = [{ id: 0, name: 'All' }]\r\n const arr = response.data;\r\n this.divisionList = this.divisionList.concat(arr)\r\n }\r\n });\r\n }\r\n\r\n divisionOnChange(event) {\r\n this.division = event\r\n if (event.id == 0) {\r\n this.getDistrict()\r\n } else {\r\n this.groupService\r\n .fetchDistrictByDivisionId(event.id)\r\n .subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.districtList = [{ districtId: 0, districtName: 'All' }]\r\n\r\n const arr = response.data;\r\n this.districtList = this.districtList.concat(arr);\r\n }\r\n });\r\n }\r\n }\r\n\r\n batchCodeChange(event) {\r\n this.batch = event;\r\n }\r\n\r\n selectedSubGroup(event) {\r\n this.trainings = []\r\n //this.trainings.push({trainingId:6, trainingName:\"FLN Block level training\"})\r\n let subGroupData = []\r\n this.launchTrainingService.getTrainingBySubGroupId(event.subGroupId)\r\n .subscribe(response => {\r\n subGroupData = response.data;\r\n this.trainings = []\r\n if (response.data != undefined && response.data != null) {\r\n response.data.forEach(d => {\r\n this.trainings.push(d);\r\n\r\n\r\n })\r\n }\r\n //this.trainings.push(subGroupData)\r\n // this.trainings = {trainingId:6, trainingName:\"FLN Block level training\"}\r\n });\r\n }\r\n\r\n generateReport() {\r\n if (!this.reportsForm.valid) {\r\n this.toast.warning({\r\n detail: 'Warning',\r\n summary: 'Please select Level and Training',\r\n duration: 5000,\r\n });\r\n }\r\n else {\r\n this.trainingData = [];\r\n this.createColumnDefsNew()\r\n if (this.reportsForm.controls['training'].value != null) {\r\n this.gridApi.showLoadingOverlay()\r\n this._reportService.getReadinessReport(\r\n this.reportsForm.controls['training'].value, 43, 0, 0,\r\n this.reportsForm.controls['district'].value,\r\n this.reportsForm.controls['block'].value ? this.reportsForm.controls['block'].value : 0).subscribe(response => {\r\n this.showLoader(false)\r\n if (response.status == '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Report fetched successfully',\r\n duration: 10000,\r\n });\r\n this.trainingData = response.data;\r\n setTimeout(() => {\r\n this.gridApi.setPinnedBottomRowData([]);\r\n let pinnedBottomData = this.generatePinnedBottomData();\r\n let approxTrainee = pinnedBottomData.approxTrainee\r\n let traineeCount = pinnedBottomData.traineeCount\r\n pinnedBottomData.traineePer = ((traineeCount / approxTrainee) * 100).toFixed(2)\r\n this.gridApi.setPinnedBottomRowData([pinnedBottomData]);\r\n }, 500)\r\n\r\n this.trainingData.forEach((data: any) => {\r\n if (data.startDate != null) {\r\n data.startDate = this.dateFormaterGrid(data.startDate)\r\n }\r\n if (data.endDate != null) {\r\n data.endDate = this.dateFormaterGrid(data.endDate)\r\n }\r\n })\r\n this.fetchType = null\r\n } else {\r\n this.toast.warning({\r\n detail: 'Error',\r\n summary: 'No Data found',\r\n duration: 10000,\r\n });\r\n this.showLoader(false)\r\n }\r\n\r\n }, error => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n this.showLoader(false)\r\n },)\r\n\r\n this.block = {};\r\n this.district = {};\r\n\r\n }\r\n\r\n // this.buttonDisable= true;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n onGridReady(event?) {\r\n this.gridApi = event.api;\r\n this.columnApi = event.columnApi\r\n }\r\n onGridReady2(event?) {\r\n this.gridApi = event.api;\r\n this.columnApi = event.columnApi\r\n }\r\n\r\n\r\n export() {\r\n // alert(\"Called\");\r\n this.gridApi.exportDataAsCsv();\r\n }\r\n\r\n createColumnDefsNew() {\r\n this.columnDefs = [];\r\n let header: any;\r\n if (this.reportsForm.controls['district'].value == 0 && this.reportsForm.controls['block'].value == 0) {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'prevName',\r\n 'Division'\r\n );\r\n header.sortable = true;\r\n //header.width =80\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n 'areaName',\r\n 'District'\r\n );\r\n header.sortable = true;\r\n //header.width = 80\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'blockCount',\r\n 'Total Block'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 120\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n 'batchCount',\r\n 'Total Batch Created'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 130\r\n this.columnDefs.push(header);\r\n }\r\n else if (this.reportsForm.controls['district'].value == 0 && this.reportsForm.controls['block'].value != 0) {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'blockName',\r\n 'Block'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 100\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n 'batchNumber',\r\n 'Batch Number'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 100\r\n this.columnDefs.push(header);\r\n }\r\n else if (this.reportsForm.controls['district'].value != 0 && this.reportsForm.controls['block'].value == 0) {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'prevName',\r\n 'District'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 80\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n 'areaName',\r\n 'Block'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 100\r\n this.columnDefs.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader(\r\n // 'blockCount',\r\n // 'Total Block'\r\n // );\r\n // header.sortable=true;\r\n // header.filter=true;\r\n // this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n 'batchCount',\r\n 'Total Batch Created'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 130\r\n this.columnDefs.push(header);\r\n } else {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'blockName',\r\n 'Block'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 100\r\n this.columnDefs.push(header);\r\n header = this._commonUtilService.getColumnHeader(\r\n 'batchNumber',\r\n 'Batch Number'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 120\r\n this.columnDefs.push(header);\r\n }\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'startDate',\r\n 'Start Date'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 100\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'endDate',\r\n 'End Date'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 100\r\n this.columnDefs.push(header);\r\n\r\n if (this.reportsForm.controls['block'].value == 0) {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'approxTrainee',\r\n 'Approx Trainee'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 130\r\n this.columnDefs.push(header);\r\n }\r\n\r\n if (this.reportsForm.controls['block'].value != 0) {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainerCount',\r\n 'No. of Trainer'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 130\r\n header.cellRenderer = this.createHyperLinkTrainer.bind(this)\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'traineeCount',\r\n 'No. of Trainee'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 130\r\n header.cellRenderer = this.createHyperLinkTrainee.bind(this)\r\n this.columnDefs.push(header);\r\n } else {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainerCount',\r\n 'No. of Trainer'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 130\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'traineeCount',\r\n 'No. of Trainee'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 130\r\n this.columnDefs.push(header);\r\n }\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'launchCount',\r\n 'Launch Status'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n // header.width = 120\r\n this.columnDefs.push(header);\r\n\r\n if (this.reportsForm.controls['block'].value == 0) {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'traineePer',\r\n 'Trainee Percentage'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n //header.width = 150\r\n this.columnDefs.push(header);\r\n }\r\n\r\n }\r\n\r\n creatIndividual() {\r\n this.individulaColumnDefs = [];\r\n let header: any;\r\n if (this.reportsForm.controls['district'].value == 0 && this.reportsForm.controls['block'].value == 0) {\r\n header = this._commonUtilService.getColumnHeader(\r\n 'prevName',\r\n 'Division'\r\n );\r\n header.sortable = true;\r\n header.filter = true;\r\n this.individulaColumnDefs.push(header);\r\n }\r\n }\r\n\r\n createHyperLinkTrainee(params) {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.traineeCount} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n let id = 'trainee';\r\n this.onClicked(id, params);\r\n // this.onCalendarClicked(params.data);\r\n });\r\n return spanElement;\r\n }\r\n\r\n createHyperLinkTrainer(params) {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.trainerCount} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n let id = 'trainer';\r\n this.onClicked(id, params);\r\n // this.onCalendarClicked(params.data);\r\n });\r\n return spanElement;\r\n }\r\n\r\n onClicked(id: any, params) {\r\n this.id = id;\r\n this.params = params.data.batchId;\r\n this.primaryModal.show();\r\n }\r\n\r\n onStatusChanged(event) {\r\n\r\n }\r\n\r\n changeIndicator = (callAddRole) => {\r\n this.id = 0;\r\n if (callAddRole == 'cancel') {\r\n this.primaryModal.hide();\r\n } else {\r\n this.primaryModal.hide();\r\n }\r\n };\r\n\r\n dataLoaded(child: string) { }\r\n\r\n\r\n getDistrict() {\r\n this.registrationService.fetchDistrictByJava().subscribe((res) => {\r\n this.districtList = [{ districtId: 0, districtName: 'All' }]\r\n if (res && res.data !== null) {\r\n const arr = res.data;\r\n this.districtList = this.districtList.concat(arr);\r\n }\r\n });\r\n }\r\n\r\n onTrainingChange(event) {\r\n this.fetchType = null\r\n this.block = {}\r\n this.division = {}\r\n this.district = {}\r\n this.divisionDisabled = true;\r\n this.districtDisabled = true;\r\n this.blockDisabled = true;\r\n this.buttonDisable = false;\r\n this.training = event;\r\n if (this.training.trainingLevelId.id == 41) {\r\n this.divisionDisabled = false;\r\n }\r\n else if (this.training.trainingLevelId.id == 42) {\r\n this.divisionDisabled = false;\r\n this.districtDisabled = false;\r\n }\r\n else if (this.training.trainingLevelId.id == 43) {\r\n this.divisionDisabled = false;\r\n this.districtDisabled = false;\r\n this.blockDisabled = false;\r\n }\r\n this.groupService.getBatchesByTraining(this.training.trainingId).subscribe((res: any) => {\r\n if (res && (res.data !== null || res.data !== undefined)) {\r\n this.batches = res.data;\r\n this.batches = this.batches.filter((resp) => resp.launchStatus.id == 64);\r\n }\r\n });\r\n this.trainingToDates(this.training);\r\n }\r\n\r\n trainingToDates(training: any) {\r\n var start = training.startDate.substring(0, 10).concat(\"T00:00:00.000Z\");\r\n var end = training.endDate.substring(0, 10).concat(\"T00:00:00.000Z\");;\r\n for (var arr = [], dt = new Date(start); dt <= new Date(end); dt.setDate(dt.getDate() + 1)) {\r\n arr.push({ name: this.dateFormatterNew(new Date(dt)), value: this.dateFormatterNew(new Date(dt)) });\r\n }\r\n this.trainingDates = arr;\r\n }\r\n\r\n onDateChange(event) {\r\n this.trainingDate = event.value;\r\n }\r\n\r\n\r\n districtOnChange(event) {\r\n this.district = event\r\n this.reportsForm.controls['block'].reset();\r\n if (event.districtId == 0) {\r\n this.registrationService.getAllBlocks().subscribe((resp) => {\r\n if (resp && resp.data !== null) {\r\n // this.blockDataList = resp.data;\r\n this.blockDataList = []\r\n this.blockDataList.push({ id: 0, name: 'All' });\r\n resp.data.forEach(block => {\r\n this.blockDataList.push({ id: block.blockId, name: block.blockName })\r\n })\r\n }\r\n });\r\n } else {\r\n\r\n this.groupService.fetchBlockByDistrictId(event.districtId)\r\n .subscribe((response) => {\r\n this.blockDataList = [{ id: 0, name: 'All' }]\r\n if (response && response.data !== null) {\r\n this.blockDataList = this.blockDataList.concat(response.data);\r\n\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n onBlockChange(event) {\r\n this.block = event\r\n let roleAreaList = [];\r\n this.reportsForm.controls['state'].removeValidators(Validators.required);\r\n if (event.id == 0) {\r\n this.blockDataList.forEach(block => {\r\n let roleArea = new RoleAreaDto();\r\n roleArea.blockId = block.id;\r\n roleArea.blockName = block.name;\r\n roleAreaList.push(roleArea);\r\n })\r\n } else {\r\n let roleArea = new RoleAreaDto();\r\n roleArea.blockId = event.id;\r\n roleAreaList.push(roleArea);\r\n }\r\n let trainingExists = []\r\n this.areaWiseTraining = []\r\n this.groupService.getTrainingByArea(roleAreaList).subscribe((response: any) => {\r\n response.data.forEach(area => {\r\n if (!trainingExists.includes(area.trainingId)) {\r\n trainingExists.push(area.trainingId);\r\n this.areaWiseTraining.push(area)\r\n }\r\n })\r\n })\r\n }\r\n\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'dd/mm/yyyy';\r\n const locale = 'en-US';\r\n return formatDate(date, format, locale);\r\n }\r\n\r\n dateFormatterNew(date: any) {\r\n let formatedDate;\r\n if (typeof (date) === \"string\") {\r\n const [day, month, year] = date.split('-');\r\n formatedDate = new Date(+year, +month - 1, +day);\r\n }\r\n const format = 'yyyy-MM-dd';\r\n const locale = 'en-US';\r\n return formatedDate ? formatDate(formatedDate, format, locale) : formatDate(date, format, locale);\r\n }\r\n\r\n refresh() {\r\n this.reportsForm.reset();\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.initiateTrainingFilter);\r\n }\r\n\r\n clearSearch($event) {\r\n this.initiateTrainingFilter = '';\r\n this.gridApi.setQuickFilter(this.initiateTrainingFilter);\r\n }\r\n\r\n generatePinnedBottomData() {\r\n let result = {};\r\n this.columnApi.getAllGridColumns().forEach(item => {\r\n result[item.colId] = null;\r\n });\r\n return this.calculatePinnedBottomData(result);\r\n }\r\n\r\n calculatePinnedBottomData(target: any) {\r\n //**list of columns fo aggregation**\r\n this.traineeCount = 0;\r\n this.approxTrainee = 0;\r\n let columnsWithAggregation = []\r\n columnsWithAggregation = ['trainerCount', 'traineeCount', 'approxTrainee']\r\n columnsWithAggregation.forEach(element => {\r\n this.gridApi.forEachNodeAfterFilter((rowNode: RowNode) => {\r\n if (rowNode.data[element]) {\r\n target[element] += Number(rowNode.data[element]);\r\n if (element == 'traineeCount') {\r\n this.traineeCount += Number(rowNode.data[element])\r\n } else if (element == 'approxTrainee') {\r\n this.approxTrainee += Number(rowNode.data[element])\r\n }\r\n }\r\n });\r\n if (target[element])\r\n target[element] = `${target[element]}`;\r\n });\r\n // let traineeDataCount:any = this.traineeCount.split('.');\r\n // this.traineeCount = traineeDataCount[0];\r\n return target;\r\n }\r\n}\r\n","
\r\n
\r\n

Training Readiness

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
{{reportTypeName}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-test',\r\n templateUrl: './test.component.html',\r\n styleUrls: ['./test.component.scss']\r\n})\r\nexport class TestComponent implements OnInit {\r\n empForm: FormGroup;\r\n\r\n constructor(private fb: FormBuilder) {}\r\n\r\n ngOnInit() {\r\n this.empForm = this.fb.group({\r\n employees: this.fb.array([])\r\n });\r\n }\r\n\r\n employees(): FormArray {\r\n return this.empForm.get('employees') as FormArray;\r\n }\r\n\r\n newEmployee(): FormGroup {\r\n return this.fb.group({\r\n firstName: '',\r\n lastName: '',\r\n skills: this.fb.array([]),\r\n selectedSkill: -1 // Initialize with -1 for no selection\r\n });\r\n }\r\n\r\n addEmployee() {\r\n this.employees().push(this.newEmployee());\r\n }\r\n\r\n removeEmployee(empIndex: number) {\r\n this.employees().removeAt(empIndex);\r\n }\r\n\r\n employeeSkills(empIndex: number): FormArray {\r\n return this.employees()\r\n .at(empIndex)\r\n .get('skills') as FormArray;\r\n }\r\n\r\n newSkill(): FormGroup {\r\n return this.fb.group({\r\n skill: '',\r\n exp: ''\r\n });\r\n }\r\n\r\n addEmployeeSkill(empIndex: number) {\r\n this.employeeSkills(empIndex).push(this.newSkill());\r\n }\r\n\r\n removeEmployeeSkill(empIndex: number, skillIndex: number) {\r\n this.employeeSkills(empIndex).removeAt(skillIndex);\r\n }\r\n\r\n selectSkill(empIndex: number, skillIndex: number) {\r\n this.employees()\r\n .at(empIndex)\r\n .patchValue({ selectedSkill: skillIndex });\r\n }\r\n\r\n onSubmit() {\r\n console.log(this.empForm.value);\r\n }\r\n}\r\n","

Angular Nested FormArray / Dynamic FormArray

\r\n\r\n
\r\n
\r\n
\r\n \r\n {{empIndex}} First Name :\r\n \r\n Last Name:\r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n {{skillIndex}} Skill :\r\n \r\n Exp:\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n\r\n{{this.empForm.value | json}}\r\n","import { Component, HostListener, OnChanges, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { PopUpTraineeRegistrationComponent } from './pop-up-trainee-registration/pop-up-trainee-registration.component';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { InitiateTrainingService } from '../../../services/initiate-training.service';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { TraineeRegistrationService } from '../../../services/trainee-registration.service';\r\n\r\n@Component({\r\n selector: 'app-batches',\r\n templateUrl: './batches.component.html',\r\n styleUrls: ['./batches.component.scss']\r\n})\r\nexport class BatchesComponent implements OnInit, OnDestroy {\r\n isLoading: boolean = true;\r\n traineeId: any;\r\n isRegistered: boolean = false;\r\n // @HostListener(\"window:beforeunload\", [\"$event\"]) unloadHandler(event: Event) {\r\n // window.opener.location.reload();\r\n // }\r\n @ViewChild(\"primaryModal\", { static: false })\r\n\r\n public primaryModal: ModalDirective;\r\n batchData: any = [];\r\n loading : boolean = false;\r\n id: number;\r\n allGroupFromParent;\r\n subscription: Subscription;\r\n browserRefresh: boolean = false;\r\n currentDate: any;\r\n disableGetRegistered = true;\r\n\r\n constructor(private dataSharing: DataSharingService, private router: Router,\r\n private confirmationDialogueService: ConfirmationDialogService, private toast: NgToastService,\r\n private _initTrainingService: InitiateTrainingService,\r\n private clientSideStorage: ClientSideStorageService,\r\n private _trainingRegService: TraineeRegistrationService) {\r\n\r\n let enroll = JSON.parse(this.clientSideStorage.get('enroll'));\r\n\r\n\r\n this._trainingRegService.getBatchesForTraineeReg(enroll?.trainingId, enroll?.trainingAreaId, enroll?.employeeCode).subscribe((res) => {\r\n if (res && res != null && res != undefined && res.data) {\r\n this.clientSideStorage.set('traineeBatchRegistrationData', JSON.stringify(res?.data));\r\n this.getBatches();\r\n } else {\r\n this.batchData = null;\r\n this.clientSideStorage.set('traineeBatchRegistrationData', null);\r\n }\r\n });\r\n\r\n }\r\n\r\n getBatches() {\r\n let batchData = JSON.parse(this.clientSideStorage.get('traineeBatchRegistrationData'));\r\n if (batchData) {\r\n batchData.forEach((data) => {\r\n if (this.checkDateFormat(data.startDate) === false) {\r\n data.startDate = this.dateFormatterGrid(data.startDate);\r\n } else {\r\n data.startDate = data.startDate;\r\n }\r\n if (this.checkDateFormat(data.endDate) === false) {\r\n data.endDate = this.dateFormatterGrid(data.endDate)\r\n } else {\r\n data.endDate = data.endDate;\r\n }\r\n });\r\n this.isLoading = true;\r\n this.batchData = batchData;\r\n this.isLoading = false;\r\n this.currentDate = this.dateFormatterGrid(new Date());\r\n batchData.forEach((data) => {\r\n if (data?.registrationStatus === true) {\r\n this.isRegistered = true;\r\n return;\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clientSideStorage.delete('traineeBatchRegistrationData');\r\n this.clientSideStorage.delete('enroll');\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n //console.log(this.batchData)\r\n }\r\n\r\n getRegisteredClicked(batch) {\r\n // this.toast.error({\r\n // detail: 'Info',\r\n // summary: 'ये विकल्प कुछ समय के लिए रोक दिया गया है। कृपा BRC के माध्यम से पंजीकरण कराएं। ',\r\n // // summary: 'Trainee Limit Exceeded',\r\n // duration: 80000,\r\n // })\r\n\r\n if (batch.traineeExceedLimit === true) {\r\n this.toast.info({\r\n detail: Constantss.INFO,\r\n summary: Constantss.TRAINEE_LIMIT_EXCEEDED,\r\n duration: 10000,\r\n })\r\n } else {\r\n this.addModel(batch);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n // reloadFunctionality() {\r\n // this.subscription = this.router.events.subscribe((evt) => {\r\n // if (!this.router.navigated) {\r\n // this.browserRefresh = true;\r\n\r\n // }\r\n // });\r\n\r\n // }\r\n\r\n\r\n unregisterYourselfClick(batch: any) {\r\n\r\n // this.toast.error({\r\n // detail: 'Info',\r\n // summary: \"ये विकल्प कुछ समय के लिए रोक दिया गया है । कृपा BRC के माध्यम से रजिस्ट्रेशन रद्द करें\",\r\n // // summary: 'Trainee Limit Exceeded',\r\n // duration: 8000,\r\n // })\r\n\r\n\r\n this.confirmationDialogueService.confirm('Confirmation', Constantss.SURE_UNREGISTER_FROM_BATCH).\r\n then((confirmed) => {\r\n if (confirmed) {\r\n let traineeId = batch.traineeId;\r\n if (traineeId === null) {\r\n traineeId = this.traineeId;\r\n } else {\r\n traineeId = batch.traineeId;\r\n }\r\n this._initTrainingService.deleteByTraineeId(traineeId).subscribe((res) => {\r\n if (res && res != null && res != undefined) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: 'Trainee unregistered from the batch successfully!',\r\n duration: 10000,\r\n });\r\n batch.registrationStatus = false;\r\n // console.log(batch);\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n })\r\n });\r\n\r\n\r\n }\r\n })\r\n }\r\n\r\n\r\n addModel(batch) {\r\n this.dataSharing.setBatchData(batch);\r\n this.id = 0;\r\n this.primaryModal.show();\r\n\r\n }\r\n\r\n getTraineeId(e) {\r\n this.traineeId = e;\r\n }\r\n\r\n changeIndicator = (callAddRole) => {\r\n this.id = 0;\r\n if (callAddRole == \"cancel\") {\r\n this.primaryModal.hide();\r\n } else {\r\n this.primaryModal.hide();\r\n }\r\n };\r\n\r\n routerToAssmet = (e) => {\r\n if (e === true) {\r\n this.router.navigate(['/training/trainingAssmt']);\r\n }\r\n }\r\n\r\n dataLoaded(child: string) {\r\n\r\n }\r\n\r\n back() {\r\n this.isRegistered = false;\r\n this.batchData = [];\r\n this.clientSideStorage.delete('traineeBatchRegistrationData');\r\n this.clientSideStorage.delete('enroll');\r\n this.router.navigateByUrl('/training/TraineeRegistration');\r\n }\r\n\r\n editDetail(batch: any) {\r\n this.addModel(batch);\r\n }\r\n\r\n dateFormatterGrid(date: any) {\r\n const format = 'dd-MM-yyyy';\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n\r\n checkDateFormat(date) {\r\n let date_format = /^\\d{2}-\\d{2}-\\d{4}$/;\r\n return date_format.test(date);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n

\r\n Batches\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n    \r\n Loading ...\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Batch {{ batch?.batchNumber }}\r\n
\r\n \r\n
\r\n
\r\n

Start Date : {{ batch?.startDate }}

\r\n

End Date : {{ batch?.endDate }}

\r\n
\r\n

\r\n Address : {{batch?.venue}}\r\n

\r\n \r\n
\r\n\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
No batches have been created in this training
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { Component, DoCheck, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { Bank } from 'src/app/layouts/baseline/model/bank.model';\r\nimport { RegistrationService } from 'src/app/layouts/baseline/service/registration.service';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { BatchMaster } from 'src/app/layouts/training/model/batch-master';\r\nimport { Trainee } from 'src/app/layouts/training/model/trainee';\r\nimport { InitiateTrainingService } from 'src/app/layouts/training/services/initiate-training.service';\r\nimport { TraineeRegistrationService } from 'src/app/layouts/training/services/trainee-registration.service';\r\nimport { EmpCode } from 'src/app/views/pages/model/emp-code';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { BankInfo } from '../../../../model/bank-info';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\n\r\n@Component({\r\n selector: 'app-pop-up-trainee-registration',\r\n templateUrl: './pop-up-trainee-registration.component.html',\r\n styleUrls: ['./pop-up-trainee-registration.component.scss']\r\n})\r\nexport class PopUpTraineeRegistrationComponent implements OnInit {\r\n @Input() id: any;\r\n @Output() changeIndicator = new EventEmitter();\r\n @Output() dataLoaded = new EventEmitter();\r\n @Output() getTraineeId = new EventEmitter();\r\n @Output() routerToAssmet = new EventEmitter();\r\n changevar: string;\r\n @Input() allGroupFromParent: any;\r\n form: FormGroup;\r\n emailPattern = '^[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,4}$';\r\n batchData;\r\n employeeCode;\r\n trainees: any;\r\n loading: boolean = false;\r\n loggedInUserId;\r\n bankId: any;\r\n browserRefresh = false;\r\n traineeID: void;\r\n routeToAssmt: boolean;\r\n registrationStatus: any;\r\n constructor(private fb: FormBuilder, private registrationService: RegistrationService,\r\n private toast: NgToastService, private dataSharing: DataSharingService,\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private clientStorage: ClientSideStorageService, private _initiateTrainingService: InitiateTrainingService,\r\n private traineeRegService: TraineeRegistrationService) {\r\n this.employeeCode = this.clientStorage.get('employeeCode');\r\n this.loggedInUserId = Number(this.clientStorage.get('userId'));\r\n this.openForm();\r\n this.getRoute();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSharing.getBatchData().subscribe((res) => {\r\n if (res) {\r\n this.batchData = res;\r\n this.allGroupFromParent = this.batchData;\r\n this.registrationStatus = this.allGroupFromParent.registrationStatus;\r\n if (this.allGroupFromParent && this.allGroupFromParent.length != 0 && this.allGroupFromParent != null && this.allGroupFromParent != undefined) {\r\n // this.getEmpByEmpCode();\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n getRoute() {\r\n let getRouteToTraineeAsessmentPage, val;\r\n val = this.dataSharing.getRouteToTraineeAsessmentPage().source;\r\n getRouteToTraineeAsessmentPage = val._value;\r\n if (getRouteToTraineeAsessmentPage === false && typeof (getRouteToTraineeAsessmentPage) === 'boolean') {\r\n this.routeToAssmt = getRouteToTraineeAsessmentPage;\r\n }\r\n }\r\n\r\n // ngDoCheck(): void {\r\n // this.batchData = this.dataSharing.getBatchData().source;\r\n // this.batchData = this.batchData._value;\r\n // console.log(this.batchData);\r\n // // this.allGroupFromParent = this.batchData;\r\n // // console.log(this.allGroupFromParent);\r\n // // if(this.allGroupFromParent.length!=0 && this.allGroupFromParent!=null && this.allGroupFromParent!=undefined){\r\n // // this.getEmpByEmpCode();\r\n // // }\r\n // }\r\n\r\n // openForm() {\r\n // this.form = this.fb.group({\r\n // userId: [this.employeeCode, [Validators.required]],\r\n // ifscCode: ['', [Validators.required, Validators.maxLength(11)]],\r\n // bankName: ['', [Validators.required]],\r\n // bankAccount: ['', [Validators.required]],\r\n // email: ['', [Validators.required, Validators.pattern(this.emailPattern)]],\r\n // });\r\n\r\n // }\r\n\r\n\r\n openForm() {\r\n this.form = this.fb.group({\r\n userId: [this.employeeCode, [Validators.required]],\r\n ifscCode: ['', [Validators.maxLength(11)]],\r\n bankName: ['',],\r\n bankAccount: ['',],\r\n email: ['', [Validators.pattern(this.emailPattern)]],\r\n });\r\n\r\n }\r\n\r\n\r\n // getEmpByEmpCode() {\r\n // this._initiateTrainingService.getEmpByEmpCode(this.employeeCode).subscribe((res) => {\r\n // if (res && res.data && res.data != null && res.data.length != 0 && res.data != undefined)\r\n // this.openFormWithValues(res.data);\r\n // })\r\n // }\r\n\r\n\r\n // openFormWithValues(emp) {\r\n // this.form = this.fb.group({\r\n // userId: [emp[0].employeeCode, [Validators.required]],\r\n // ifscCode: [emp[0].ifscCode, [Validators.required, Validators.maxLength(11)]],\r\n // bankName: [emp[0].bankMaster.bankName, [Validators.required]],\r\n // bankAccount: [emp[0].bankAccountNumber, [Validators.required]],\r\n // email: [emp[0].email, [Validators.required, Validators.pattern(this.emailPattern)]],\r\n // });\r\n // }\r\n\r\n\r\n\r\n\r\n // bankDetailForm(data) {\r\n // this._initiateTrainingService.getEmpByEmpCode(this.employeeCode).subscribe((res) => {\r\n // if (res && res.data && res.data != null && res.data.length != 0 && res.data != undefined)\r\n // this.form = this.fb.group({\r\n // userId: [this.employeeCode, [Validators.required]],\r\n // ifscCode: [data.ifsccode, [Validators.required, Validators.maxLength(11)]],\r\n // bankName: [data.branchName, [Validators.required]],\r\n // bankAccount: [res.data[0].bankAccountNumber ? res.data[0].bankAccountNumber : null, [Validators.required]],\r\n // email: [res.data[0].email ? res.data[0].email : null, [Validators.required, Validators.pattern(this.emailPattern)]],\r\n // });\r\n // })\r\n\r\n\r\n // }\r\n\r\n get userId() {\r\n return this.form.get('userId');\r\n }\r\n\r\n get email() {\r\n return this.form.get('email');\r\n }\r\n\r\n get ifscCode() {\r\n return this.form.get('ifscCode');\r\n }\r\n\r\n get bankName() {\r\n return this.form.get('bankName');\r\n }\r\n\r\n get bankAccount() {\r\n return this.form.get('bankAccount');\r\n }\r\n\r\n onIFSCEntered(e) {\r\n\r\n if (e.target.value.length === 11) {\r\n this.registrationService\r\n .getBankBranchByIfsc(e.target.value)\r\n .subscribe((response) => {\r\n if (response && response.data && response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.form.controls['ifscCode'].setValue(response.data[0].ifsccode);\r\n this.form.controls['bankName'].setValue(response.data[0].branchName);\r\n // this.bankDetailForm(response.data[0]);\r\n this.bankId = response.data[0].bankId;\r\n } else {\r\n this.toast.info({\r\n detail: 'Info',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: error.message,\r\n duration: 10000,\r\n });\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n closeModal() {\r\n // this.confirmationDialogueService\r\n // .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n // .then((confirmed) => {\r\n // if(confirmed){\r\n this.form.reset();\r\n this.changevar = 'cancel';\r\n this.changeIndicator.emit(this.changevar);\r\n this.emit();\r\n // }\r\n\r\n // })\r\n\r\n }\r\n\r\n\r\n emit() {\r\n this.dataLoaded.emit('PopUpTraineeRegistrationComponent');\r\n }\r\n\r\n\r\n save() {\r\n this.loading = true;\r\n // this.confirmationDialogueService\r\n // .confirm('Confirmation', Constantss.SURE_SAVE)\r\n // .then((confirmed) => {\r\n // if (confirmed) {\r\n let api1, api2;\r\n // Saving Trainee Details\r\n if (this.registrationStatus === false) {\r\n this.trainees = this.mapToModelTrainee(this.form.value);\r\n // console.log(JSON.stringify(this.trainees));\r\n this.traineeRegService.registerTrainee(this.trainees).subscribe((res) => {\r\n if (res && res != null && res != undefined) {\r\n api1 = true;\r\n let traineeID = res.data[0].traineeId;\r\n this.getTraineeId.emit(traineeID);\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n this.allGroupFromParent.registrationStatus = true;\r\n this.form.reset();\r\n this.changevar = 'cancel';\r\n this.changeIndicator.emit(this.changevar);\r\n this.emit();\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res?.message,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n // console.log(error)\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n // Saving Bank Details\r\n\r\n // let bankDetails = this.mapToModelBankDetails(this.form.value);\r\n // console.log(JSON.stringify(bankDetails));\r\n\r\n //commented saving bank details as told\r\n // this.traineeRegService.addEmpBankDetails(bankDetails).subscribe((res) => {\r\n // if (res && res != null && res != undefined) {\r\n // api2 = true;\r\n\r\n // this.toast.success({\r\n // detail: 'Success',\r\n // summary: Constantss.SAVED_SUCCESSFULLY,\r\n // duration: 10000,\r\n // });\r\n // if(this.routeToAssmt===false){\r\n // this.routeToAssmt = true;\r\n // this.routerToAssmet.emit(this.routeToAssmt);\r\n // }\r\n // }\r\n // }, (error) => {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: error.message,\r\n // duration: 10000,\r\n // });\r\n // // console.log(error)\r\n\r\n // });\r\n\r\n\r\n\r\n // }\r\n // })\r\n\r\n\r\n\r\n }\r\n\r\n\r\n mapToModelTrainee(data) {\r\n let trainee = new Trainee();\r\n\r\n let batchId = new BatchMaster();\r\n batchId.batchId = this.batchData.batchId;\r\n trainee.batchId = batchId;\r\n\r\n trainee.createdBy = this.loggedInUserId;\r\n trainee.createdOn = new Date();\r\n\r\n //let empCode = new EmpCode();\r\n //empCode.employeeCode = this.employeeCode;\r\n trainee.empCode = this.employeeCode;\r\n\r\n trainee.traineeId = null;\r\n\r\n trainee.updatedBy = this.loggedInUserId;\r\n trainee.updatedOn = new Date();\r\n\r\n\r\n return trainee;\r\n }\r\n\r\n mapToModelBankDetails(data) {\r\n let bankInfo = new BankInfo();\r\n let bank = new Bank();\r\n bank.bankId = this.bankId;\r\n // bankInfo.bank = bank;\r\n // bankInfo.bankAccountNumber = Number(data.bankAccount);\r\n //bankInfo.bankName = data.bankName;\r\n bankInfo.createdBy = this.loggedInUserId;\r\n bankInfo.createdOn = new Date();\r\n //bankInfo.email = data.email;\r\n let employee = new EmpCode();\r\n employee.employeeCode = this.employeeCode;\r\n //bankInfo.employee = employee;\r\n // bankInfo.id = null;\r\n bankInfo.ifscCode = data.ifscCode;\r\n // bankInfo.updatedBy = this.loggedInUserId;\r\n // bankInfo.updatedOn = new Date();\r\n return bankInfo;\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

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

Do you want to register yourself in this batch?

\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { EnrollIconComponent } from 'src/app/layouts/core/enroll-icon/enroll-icon.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { TraineeRegistrationService } from '../../services/trainee-registration.service';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\n\r\n@Component({\r\n selector: 'app-trainee-registration',\r\n templateUrl: './trainee-registration.component.html',\r\n styleUrls: ['./trainee-registration.component.scss']\r\n})\r\n\r\nexport class TraineeRegistrationComponent implements OnInit {\r\n groupFilter: any;\r\n traineeRegistrationList = [];\r\n allGroupFromParent;\r\n recordCount: number = 0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n id: Number;\r\n types = [50, 100, 150, 200];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {}\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize = 50;\r\n navPermissions: any;\r\n currentPermission\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n employeeCode: any;\r\n loading: boolean = false;\r\n constructor(private _commonUtilService: CommonUtilService, private router: Router,\r\n private dataSharing: DataSharingService,\r\n private clientStorage: ClientSideStorageService,\r\n private loginService: LoginService,\r\n private _trainingRegService: TraineeRegistrationService,\r\n private dataSharingService: DataSharingService,\r\n private aggridService: AgGridService) {\r\n this.employeeCode = this.clientStorage.get('employeeCode');\r\n this.createColumnDefs();\r\n this.getTraineeRegistration();\r\n this.frameworkComponents = {\r\n enrollIconComp: EnrollIconComponent\r\n }\r\n // this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n // this.roleList = this.userData.user.roles;\r\n this.getRoute();\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createColumnDefs();\r\n }\r\n\r\n getRoute() {\r\n let getRouteToTraineeAsessmentPage, val;\r\n val = this.dataSharing.getRouteToTraineeAsessmentPage().source;\r\n getRouteToTraineeAsessmentPage = val._value;\r\n }\r\n\r\n // fetchPermission(){\r\n // this.data = this.dataSharing.getNavItems();\r\n // this.navPermissions = this.data.source._value;\r\n // this.navPermissions[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Training Master'){\r\n // this.currentPermission = nav.permission\r\n // return\r\n // }\r\n // }) \r\n // }\r\n\r\n\r\n\r\n\r\n clearSearch(e) {\r\n this.groupFilter = \"\";\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n // params.api.sizeColumnsToFit();\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('trainingName', 'Training Name');\r\n header.width = 450;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('startDate', 'Start Date');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader('endDate', 'End Date');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('level', 'Level');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('area', 'Area');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader('enroll', 'Enroll');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n header.cellRenderer = 'enrollIconComp';\r\n header.cellRendererParams = {\r\n inRouterLink: '/training/batches',\r\n onEnrollIconClick: (params: any) => {\r\n this.onEnrollIconClick(params.rowData);\r\n }\r\n };\r\n\r\n this.columnDefs.push(header);\r\n\r\n }\r\n\r\n\r\n onEnrollIconClick(e) {\r\n this.clientStorage.delete('enroll');\r\n this.clientStorage.delete('traineeBatchRegistrationData');\r\n this.clientStorage.set('enroll', JSON.stringify({\r\n trainingId: e.trainingId,\r\n trainingAreaId: e.trainingAreaId, employeeCode: this.employeeCode\r\n }));\r\n }\r\n\r\n getTraineeRegistration() {\r\n this.loading = true;\r\n this._trainingRegService.getEnrolledTrainings(this.employeeCode).subscribe((res) => {\r\n if (res && res != null && res != undefined && res.data) {\r\n res.data.forEach((data) => {\r\n data.startDate = this.dateFormatterGrid(data.startDate);\r\n data.endDate = this.dateFormatterGrid(data.endDate)\r\n });\r\n this.traineeRegistrationList = res.data;\r\n this.recordCount = this.traineeRegistrationList.length;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n\r\n dateFormatterGrid(date: any) {\r\n const format = 'dd-MM-yyyy';\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n\r\n onDeletBtnClicked() {\r\n this.getTraineeRegistration();\r\n }\r\n\r\n addGroup() {\r\n this.dataSharing.setGlobalEditData(null);\r\n this.router.navigate(['training/trainingMaster/add_group'])\r\n }\r\n\r\n groupRoute() {\r\n this.router.navigate(['/training/group']);\r\n }\r\n subGroupRoute() {\r\n this.router.navigate(['/training/subGroup']);\r\n }\r\n\r\n trainingRoute() {\r\n this.router.navigate(['/training/trainingMaster']);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n dataLoaded(child: string) {\r\n\r\n }\r\n\r\n}\r\n\r\n\r\nconst traineeRegistrationList = [\r\n {\r\n id: 1,\r\n training: 1,\r\n startDate: '5/15/23',\r\n endDate: '5/25/23',\r\n level: \"block\",\r\n area: \"Berasia\",\r\n batches: [\r\n { id: 1, title: 'Batch 1', startDate: '5/15/23', endDate: '5/25/23', status: false },\r\n { id: 2, title: 'Batch 2', startDate: '5/15/23', endDate: '5/25/23', status: true },\r\n ]\r\n\r\n },\r\n {\r\n id: 2,\r\n training: 2,\r\n startDate: '5/15/23',\r\n endDate: '5/25/23',\r\n level: \"block\",\r\n area: \"sddsdsd\",\r\n batches: [\r\n { id: 1, title: 'Batch 1', startDate: '5/15/23', endDate: '5/25/23', status: false },\r\n { id: 2, title: 'Batch 2', startDate: '5/15/23', endDate: '5/25/23', status: false },\r\n { id: 3, title: 'Batch 3', startDate: '5/15/23', endDate: '5/25/23', status: false },\r\n { id: 4, title: 'Batch 4', startDate: '5/15/23', endDate: '5/25/23', status: false },\r\n ]\r\n\r\n }, {\r\n id: 3,\r\n training: 3,\r\n startDate: '5/15/23',\r\n endDate: '5/25/23',\r\n level: \"block\",\r\n area: \"sddsdsd\",\r\n batches: [\r\n ]\r\n }\r\n]","
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

Trainee Registration

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n \r\n

\r\n
\r\n\r\n\r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { GroupService } from '../../services/group.service';\r\nimport { TrainerPaymentApprovalService } from '../../services/trainer-payment-approval.service'\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { ApprovedTrainerPaymemts } from '../../model/approved-trainer-paymemts';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { Constantss } from 'src/utils/constantss';\r\n\r\n@Component({\r\n selector: 'app-trainer-payment-approval',\r\n templateUrl: './trainer-payment-approval.component.html',\r\n styleUrls: ['./trainer-payment-approval.component.scss']\r\n})\r\nexport class TrainerPaymentApprovalComponent implements OnInit {\r\n @ViewChild('primaryModal', { static: false })\r\n public primaryModal: ModalDirective;\r\n parentData = [];\r\n\r\n isApprovedDisabled = true;\r\n value: any;\r\n columnDefs: any;\r\n trainingList = [];\r\n rowData = [];\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n roleTypeId: number;\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n frameworkComponents;\r\n paginationPageSize = 20;\r\n recordCount: number = 0;\r\n groupFilter: string;\r\n roleArea: any;\r\n trainerPaymentForm: FormGroup;\r\n blocks: any = [];\r\n userId: any;\r\n employeeId: any;\r\n loading: boolean = false;\r\n constructor(private agGridService: AgGridService,\r\n private clientStorage: ClientSideStorageService,\r\n private fb: FormBuilder,\r\n private groupService: GroupService,\r\n private trainerPaymentApprovalService: TrainerPaymentApprovalService,\r\n private dataSharing: DataSharingService,\r\n private toast: NgToastService\r\n ) {\r\n this.createColumnDefs();\r\n this.roleTypeId = JSON.parse(this.clientStorage.get('roleTypeId'));\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n this.userId = this.clientStorage.get('userId');\r\n this.employeeId = this.clientStorage.get('employeeId');\r\n this.getBlocksByDistrictId(this.roleArea[0]?.districtId);\r\n this.frameworkComponents = {\r\n\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n this.createColumnDefs();\r\n this.getTraining();\r\n }\r\n\r\n\r\n createForm() {\r\n this.trainerPaymentForm = this.fb.group({\r\n district: [this.roleArea[0]?.districtName],\r\n block: [this.roleTypeId === 43 ? this.roleArea[0]?.blockName : null, [Validators.required]],\r\n training: [null, [Validators.required]]\r\n });\r\n }\r\n\r\n // getBlocksByDistrictId(id) {\r\n // this.loading = true;\r\n // this.groupService.fetchBlockByDistrictId(id).subscribe({\r\n // next : (res)=> if (res && res?.data && res?.data?.length > 0) {\r\n // this.loading = false;\r\n // this.blocks = res?.data;\r\n // } else {\r\n // this.loading = false;\r\n // }\r\n // }, (error) => {\r\n // this.loading = false;\r\n // });\r\n // }\r\n\r\n getBlocksByDistrictId(id) {\r\n this.loading = true;\r\n this.groupService.fetchBlockByDistrictId(id).subscribe({\r\n next: (res) => {\r\n if (res && res?.data && res?.data?.length > 0) {\r\n this.loading = false;\r\n this.blocks = res?.data;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, error: (error) => {\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n approve() {\r\n this.loading = true;\r\n let data = this.mapToModel(this.trainerPaymentForm.value);\r\n this.trainerPaymentApprovalService.approveTrainerPayment(data).subscribe({\r\n next: (res) => {\r\n if (res && res.data && res.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n } else if (res?.status === '400') {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res?.message,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = false;\r\n }\r\n\r\n },\r\n error: (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n mapToModel(data) {\r\n let approvedTrainerPayments = new ApprovedTrainerPaymemts();\r\n approvedTrainerPayments.approvedBy = this.employeeId;\r\n approvedTrainerPayments.blockId = this.roleTypeId === 43 ? this.roleArea[0]?.blockId : data?.block;\r\n approvedTrainerPayments.createdBy = this.userId;\r\n approvedTrainerPayments.createdOn = new Date();\r\n approvedTrainerPayments.trainingId = data?.training;\r\n return approvedTrainerPayments\r\n }\r\n\r\n\r\n\r\n\r\n getTraining() {\r\n this.loading = true;\r\n this.trainerPaymentApprovalService.getBlockLevelTrainings().subscribe({\r\n next: (res) => {\r\n if (res && res?.data && res?.status === '200') {\r\n this.trainingList = res?.data;\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, error: (error) => {\r\n this.loading = false;\r\n }\r\n })\r\n }\r\n\r\n changeBlock(e) {\r\n\r\n }\r\n\r\n\r\n changeTraining(e) {\r\n\r\n }\r\n\r\n view() {\r\n this.loading = true;\r\n this.rowData = [];\r\n let block = this.roleTypeId === 43 ? this.roleArea[0].blockId : this.trainerPaymentForm.controls['block'].value;\r\n this.trainerPaymentApprovalService.getBatchDetails(this.trainerPaymentForm.controls['training'].value,\r\n block).subscribe((res) => {\r\n if (res && res?.data && res?.data.length > 0) {\r\n res?.data.forEach((data) => {\r\n if (data?.actualTrainer == null) {\r\n data.actualTrainer = 0;\r\n } else {\r\n data.actualTrainer = data?.actualTrainer\r\n }\r\n data.date = this.dataSharing.datePipeFormat(data?.date, 'dd-MM-yyyy');\r\n });\r\n this.rowData = res?.data;\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error?.message,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n refresh() {\r\n this.rowData = [];\r\n this.trainerPaymentForm.controls['training'].reset();\r\n if (this.roleTypeId === 42) {\r\n this.trainerPaymentForm.controls['block'].reset();\r\n }\r\n }\r\n\r\n createColumnDefs() {\r\n const columnConfigs = [\r\n { key: 'batchNumber', label: 'Batch Number', width: 350, sortable: true, filter: true },\r\n { key: 'date', label: 'Date', width: 350, sortable: true, filter: true },\r\n { key: 'totalTrainer', label: 'Total Trainer', width: 350, sortable: true, filter: true },\r\n { key: 'actualTrainer', label: 'Actual Trainer', width: 350, sortable: true, filter: true, cellRenderer: this.createHyperLink.bind(this) },\r\n { key: 'status', label: 'Status', width: 350, sortable: true, filter: true, cellRenderer: this.createIcon.bind(this) },\r\n ];\r\n this.columnDefs = this.agGridService.createColumnDefss(columnConfigs);\r\n }\r\n\r\n createIcon(e) {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = (e?.data?.actualTrainer === e?.data?.totalTrainer) ?\r\n ` ` :\r\n ``;\r\n return spanElement;\r\n }\r\n\r\n createHyperLink(e) {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${e.data.actualTrainer} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n e?.data?.trainerDetails.forEach((data) => {\r\n data.date = this.dataSharing.datePipeFormat(data?.date, 'dd-MM-yyyy')\r\n })\r\n this.parentData = e?.data?.trainerDetails;\r\n if (this.parentData) {\r\n this.primaryModal.show();\r\n }\r\n // console.log(this.parentData)\r\n\r\n })\r\n return spanElement;\r\n }\r\n\r\n\r\n changeIndicator = (callAddRole) => {\r\n if (callAddRole == 'cancel') {\r\n this.primaryModal.hide();\r\n } else {\r\n this.primaryModal.hide();\r\n //this.getTraining();\r\n }\r\n };\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n this.agGridService.autoSizeColumns(this.gridOptions);\r\n }\r\n\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n this.agGridService.autoSizeColumns(this.gridOptions);\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n this.gridApi.refreshCells()\r\n }\r\n\r\n clearSearch(e) {\r\n this.groupFilter = '';\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n

Trainer Approval Payment

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n सभी प्रशिक्षकों की कुल संख्या वास्तविक प्रशिक्षकों के बराबर होनी चाहिए, फिर ही आप\r\n अनुमोदन के लिए आगे\r\n बढ़ सकते हैं।\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n

\r\n {{ \"total_records\" | translate }} {{ recordCount }}\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\n\r\n@Component({\r\n selector: 'app-view-trainers',\r\n templateUrl: './view-trainers.component.html',\r\n styleUrls: ['./view-trainers.component.scss']\r\n})\r\nexport class ViewTrainersComponent implements OnInit {\r\n\r\n @Input() parentData: any = [];\r\n @Output() changeIndicator = new EventEmitter();\r\n gridOptions = {};\r\n rowData = [];\r\n gridApi: GridApi;\r\n columnApi: any;\r\n value: any;\r\n columnDefs: any;\r\n paginationPageSize = 20; r\r\n recordCount = 0;\r\n groupFilter: string;\r\n\r\n constructor(private agGridService: AgGridService,\r\n private _commonUtilService: CommonUtilService\r\n ) {\r\n this.createColumnDefs();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges() {\r\n this.agGridService.autoSizeColumns(this.gridOptions);\r\n this.gridOptions = {};\r\n this.createColumnDefs();\r\n this.rowData = this.parentData;\r\n this.recordCount = this.rowData.length; \r\n }\r\n\r\n createColumnDefs() {\r\n const columnConfigs = [\r\n { key: 'batchNumber', label: 'Batch Number', sortable: true, filter: true, width: 300 },\r\n { key: 'date', label: 'Date', sortable: true, filter: true, width: 300 },\r\n { key: 'employeeCode', label: 'Employee Code', sortable: true, filter: true, width: 300 },\r\n { key: 'employeeName', label: 'Trainer Name', sortable: true, filter: true, width: 300 }\r\n ];\r\n this.columnDefs = this.agGridService.createColumnDefss(columnConfigs);\r\n }\r\n\r\n // createColumnDefs() {\r\n // this.columnDefs = [];\r\n // let header: any;\r\n\r\n // header = this._commonUtilService.getColumnHeader(\r\n // 'batchNumber',\r\n // 'Batch Number'\r\n // );\r\n // header.width = 400;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // header.suppressMovable = true;\r\n // this.columnDefs.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader(\r\n // 'date',\r\n // 'Date'\r\n // );\r\n // header.width = 500;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // header.suppressMovable = true;\r\n // this.columnDefs.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader(\r\n // 'employeeCode',\r\n // 'Employee Code'\r\n // );\r\n // header.width = 350;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // header.suppressMovable = true;\r\n // this.columnDefs.push(header);\r\n\r\n // header = this._commonUtilService.getColumnHeader(\r\n // 'employeeName',\r\n // 'Employee Name'\r\n // );\r\n // header.width = 250;\r\n // header.sortable = true;\r\n // header.filter = true;\r\n // header.suppressMovable = true;\r\n // this.columnDefs.push(header);\r\n\r\n\r\n // this.columnDefs.push(header);\r\n // }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n this.agGridService.autoSizeColumns(this.gridOptions);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n close(e) {\r\n this.changeIndicator.emit(e);\r\n }\r\n\r\n clearSearch(e) {\r\n this.groupFilter = '';\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n this.agGridService.autoSizeColumns(this.gridOptions);\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n this.gridApi.refreshCells()\r\n }\r\n\r\n}","
\r\n
\r\n
\r\n

Trainers

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{'total_records'|translate}} {{recordCount}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { Group } from '../../../../model/group';\r\nimport { GroupService } from '../../../../services/group.service';\r\nimport { ValidateSpaces } from '../../../../../shared/validator/space-validator.validator';\r\n\r\n@Component({\r\n selector: 'app-add-group',\r\n templateUrl: './add-group.component.html',\r\n styleUrls: ['./add-group.component.scss'],\r\n})\r\nexport class AddGroupComponent implements OnInit {\r\n addGroupForm: FormGroup;\r\n loading : boolean = false;\r\n group: Group[] = [];\r\n groupObj = new Group();\r\n editData: any;\r\n userId: number;\r\n ediDataResponse: any;\r\n @Input() allGroupFromParent: Group[] = [];\r\n constructor(\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private toast: NgToastService,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private dataSharing: DataSharingService,\r\n private clientStorage: ClientSideStorageService,\r\n private _groupService: GroupService,\r\n private confirmationDialogue: ConfirmationDialogService\r\n ) {\r\n const userId = this.clientStorage.get('userId');\r\n this.userId = userId;\r\n this.ediDataResponse = this.dataSharing.getGlobalEditData();\r\n this.editData = this.ediDataResponse.source._value;\r\n this.createFormAdd();\r\n }\r\n valueFlag;\r\n changevar: string;\r\n @Input() id: any;\r\n @Output() changeIndicator = new EventEmitter();\r\n @Output() dataLoaded = new EventEmitter();\r\n groupTitle: string;\r\n ngOnInit(): void {\r\n // this.allGroupFromParent.forEach((v1) => (this.id = v1.groupId));\r\n this.createFormAdd();\r\n }\r\n ngOnChanges() {\r\n if (this.id) {\r\n this.groupTitle = 'Edit Group';\r\n this.group = this.allGroupFromParent.filter(\r\n (v1) => this.id == v1.groupId\r\n );\r\n this.group.forEach((obj) => {\r\n this.groupObj.description = obj.description;\r\n this.groupObj.isActive = obj.isActive;\r\n this.groupObj.groupName = obj.groupName;\r\n this.groupObj.groupId = obj.groupId;\r\n });\r\n this.createFormEdit();\r\n } else {\r\n this.groupTitle = 'Add Group';\r\n this.groupObj = new Group();\r\n this.createFormAdd();\r\n }\r\n }\r\n createFormAdd() {\r\n this.addGroupForm = this.fb.group({\r\n groupId: [],\r\n groupName: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.minLength(2),\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z0-9- ]+$'),\r\n ],\r\n ],\r\n description: [\r\n '',\r\n [\r\n Validators.maxLength(250),\r\n ValidateSpaces,\r\n Validators.pattern('^([a-zA-Z0-9 -]+)$'),\r\n ],\r\n ],\r\n isActive: [true],\r\n });\r\n }\r\n\r\n createFormEdit() {\r\n this.addGroupForm = this.fb.group({\r\n groupId: [this.groupObj.groupId],\r\n groupName: [\r\n this.groupObj.groupName,\r\n [\r\n Validators.required,\r\n Validators.minLength(2),\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z0-9- ]+$'),\r\n ],\r\n ],\r\n description: [this.groupObj.description, [Validators.maxLength(250)]],\r\n isActive: [this.groupObj.isActive],\r\n });\r\n }\r\n\r\n get groupName() {\r\n return this.addGroupForm.get('groupName');\r\n }\r\n\r\n get description() {\r\n return this.addGroupForm.get('description');\r\n }\r\n get isActive() {\r\n return this.addGroupForm.get('isActive');\r\n }\r\n\r\n closeModal() {\r\n this.onReset();\r\n this.changevar = 'cancel';\r\n this.changeIndicator.emit(this.changevar);\r\n this.emit();\r\n }\r\n onReset = () => {};\r\n\r\n openForm() {\r\n this.createFormAdd();\r\n }\r\n closeModel() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.addGroupForm.reset();\r\n this.addGroupForm.controls['isActive'].setValue(true);\r\n this.changevar = 'cancel';\r\n this.changeIndicator.emit(this.changevar);\r\n this.emit();\r\n }\r\n });\r\n }\r\n\r\n emit() {\r\n this.dataLoaded.emit('AddGroupComponent');\r\n }\r\n setFlag(value) {\r\n if (value) {\r\n this.valueFlag = value;\r\n } else {\r\n this.valueFlag = value;\r\n }\r\n }\r\n\r\n save() {\r\n this.confirmationDialogue\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n this.groupObj = this.addGroupForm.value;\r\n //let user = new User();\r\n //user.userId = String(this.userId);\r\n this.groupObj.userId = this.userId;\r\n this.groupObj.updatedBy = this.userId;\r\n this.groupObj.updatedOn = new Date();\r\n this._groupService.saveTrainingGroups(this.groupObj).subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.INFORMATION_SAVED,\r\n duration: 10000,\r\n });\r\n this.changevar = 'ok';\r\n this.changeIndicator.emit(this.changevar);\r\n this.emit();\r\n this.router.navigate(['/training/group']);\r\n } else{\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{groupTitle}}

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {{'addGroup.required'|translate}}\r\n {{'addGroup.alpha'|translate}}\r\n {{'addGroup.min'|translate}}\r\n {{'addGroup.max'|translate}}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Maximum 250 characters allowed\r\n \r\n \r\n Enter valid spaces\r\n \r\n \r\n Only alphanumeric characters allowed\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { EditIconComponent } from '../../../../core/edit-icon/edit-icon.component';\r\nimport { DeleteIconComponent } from 'src/app/layouts/core/delete-icon/delete-icon.component';\r\nimport { SwitchComponent } from '../../../../core/switch/switch.component';\r\nimport { Router } from '@angular/router';\r\nimport { DataSharingService } from '../../../../shared/services/data-sharing.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AddGroupComponent } from './add-group/add-group.component';\r\nimport { GroupService } from '../../../services/group.service';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport * as _ from 'lodash';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\nimport { Observable } from 'rxjs';\r\nimport { TestLogin } from 'src/app/views/pages/login/model/test-login.model';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'app-group',\r\n templateUrl: './group.component.html',\r\n styleUrls: ['./group.component.scss']\r\n})\r\nexport class GroupComponent implements OnInit {\r\n\r\n\r\n @ViewChild(\"primaryModal\", { static: false })\r\n public primaryModal: ModalDirective;\r\n loading : boolean = false;\r\n addChild: AddGroupComponent;\r\n groupFilter: any;\r\n trainingGroupList = [];\r\n allGroupFromParent;\r\n recordCount: number;\r\n columnDefs: any;\r\n frameworkComponents;\r\n id: Number;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {}\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize = 20;\r\n navPermissions: any;\r\n currentPermission\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n constructor(private _commonUtilService: CommonUtilService, private router: Router,\r\n public modalService: NgbModal, private _groupService: GroupService,\r\n private dataSharing: DataSharingService,\r\n private clientStorage: ClientSideStorageService,\r\n private loginService: LoginService,\r\n private aggridService: AgGridService,\r\n private _loginService: LoginService,\r\n private http:HttpClient) {\r\n\r\n this.frameworkComponents = {\r\n editIconComponent: EditIconComponent,\r\n deleteIconComponent: DeleteIconComponent,\r\n switchComponent: SwitchComponent\r\n }\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientStorage.get('userId');\r\n this.getNavigableMenu(Number(userId), this.roleList[0].roleId);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.gridOptions = {};\r\n this.createColumnDefs();\r\n this.getTrainingGroups();\r\n this.testLogin();\r\n }\r\n\r\n // fetchPermission(){\r\n // this.data = this.dataSharing.getNavItems();\r\n // this.navPermissions = this.data.source._value;\r\n // this.navPermissions[3].children[0].children.forEach(nav =>{\r\n // if(nav.name == 'Training Master'){\r\n // this.currentPermission = nav.permission\r\n // return\r\n // }\r\n // }) \r\n // }\r\n\r\n getNavigableMenu(userId?, roleId?) {\r\n this.loading = true;\r\n this.loginService.getNavigationMenu(userId, roleId).subscribe((data) => {\r\n if (data && data !== null) {\r\n this.loading = false;\r\n let child = [];\r\n this.navItems = data.navigableMenu;\r\n this.dataSharing.setNavItems(this.navItems);\r\n this.dataSharing.setMenuList(data.employeeRoleArea);\r\n this.navItems = _.orderBy(this.navItems, 'displayOrder', 'asc');\r\n setTimeout(() => { }, 10);\r\n // this.fetchPermission();\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n }\r\n\r\n\r\n clearSearch(e) {\r\n this.groupFilter = \"\";\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('groupName', 'Training Group');\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('description', 'Description');\r\n header.width = 500;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('isActive', 'Status');\r\n header.width = 180;\r\n header.suppressMovable = true;\r\n header.cellRenderer = 'switchComponent';\r\n header.cellRendererParams = {\r\n type: 'Training.GroupMaster',\r\n onSwitchClicked: () => {\r\n this.getTrainingGroups()\r\n }\r\n };\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Edit');\r\n header.width = 180;\r\n header.suppressMovable = true;\r\n header.cellRenderer = 'editIconComponent';\r\n header.cellRendererParams = {\r\n inRouterLink: '/training/group',\r\n onEditIconClick: (params: any) => {\r\n this.onEditBtnClicked(params.rowData.groupId);\r\n }\r\n };\r\n\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Delete');\r\n header.width = 180;\r\n header.suppressMovable = true;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.cellRendererParams = {\r\n type: 'Training.GroupMaster',\r\n onDeleteIconClick: this.onDeletBtnClicked.bind(this),\r\n };\r\n\r\n this.columnDefs.push(header);\r\n }\r\n\r\n onEditBtnClicked = (id: number) => {\r\n this.id = id;\r\n this.primaryModal.show();\r\n }\r\n\r\n getTrainingGroups() {\r\n this.loading = true;\r\n this._groupService.getTrainingGroups().subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.loading = false;\r\n this.trainingGroupList = response?.data;\r\n this.allGroupFromParent = response?.data;\r\n this.recordCount = this.trainingGroupList?.length;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n onDeletBtnClicked() {\r\n this.getTrainingGroups();\r\n }\r\n\r\n addGroup() {\r\n this.dataSharing.setGlobalEditData(null);\r\n this.router.navigate(['training/trainingMaster/add_group'])\r\n }\r\n\r\n groupRoute() {\r\n this.router.navigate(['/training/group']);\r\n }\r\n subGroupRoute() {\r\n this.router.navigate(['/training/subGroup']);\r\n }\r\n\r\n trainingRoute() {\r\n this.router.navigate(['/training/trainingMaster']);\r\n }\r\n\r\n\r\n openModal() {\r\n const modalRef = this.modalService.open(AddGroupComponent);\r\n modalRef.result.then((result) => {\r\n }).catch((error) => {\r\n\r\n });\r\n }\r\n addModel() {\r\n this.id = 0;\r\n this.primaryModal.show();\r\n this.dataSharing.setGlobalEditData(null);\r\n }\r\n\r\n changeIndicator = (callAddRole) => {\r\n this.id = 0;\r\n if (callAddRole == \"cancel\") {\r\n this.primaryModal.hide();\r\n } else {\r\n this.primaryModal.hide();\r\n this.getTrainingGroups();\r\n }\r\n };\r\n\r\n dataLoaded(child: string) {\r\n\r\n }\r\n\r\n\r\n\r\n testLogin(){\r\n this._loginService.testLogin().subscribe((data)=>{\r\n console.log(data);\r\n if(data){\r\n this._loginService.testTokenApi(data.data[0]).subscribe((res)=>{\r\n console.log(\"Api called: \"+res);\r\n })\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\nconst trainingGrp = [{\r\n 'groupId': 1,\r\n 'groupName': 'Training Group',\r\n 'description': 'Description',\r\n 'isActive': true\r\n}]","
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n

Training Group

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n \r\n

\r\n
\r\n\r\n \r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { ValidateSpaces } from 'src/app/layouts/shared/validator/space-validator.validator';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { Group } from '../../../../model/group';\r\nimport { SubGroup } from '../../../../model/sub-group';\r\nimport { GroupService } from '../../../../services/group.service';\r\n\r\n@Component({\r\n selector: 'app-add-sub-group',\r\n templateUrl: './add-sub-group.component.html',\r\n styleUrls: ['./add-sub-group.component.scss'],\r\n})\r\nexport class AddSubGroupComponent implements OnInit {\r\n groups = [];\r\n addGroupForm: FormGroup;\r\n subGroup: SubGroup[] = [];\r\n groupObj = new SubGroup();\r\n editData: any;\r\n ediDataResponse: any;\r\n @Input() allSubGroupFromParent: SubGroup[] = [];\r\n userId;\r\n loading: boolean = false;\r\n constructor(\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private router: Router,\r\n private _groupService: GroupService,\r\n private toast: NgToastService,\r\n private clientSideStorage: ClientSideStorageService,\r\n private fb: FormBuilder,\r\n private dataSharing: DataSharingService\r\n ) {\r\n const userId = this.clientSideStorage.get('userId');\r\n this.userId = userId;\r\n this.getGroups();\r\n this.ediDataResponse = this.dataSharing.getGlobalEditData();\r\n this.editData = this.ediDataResponse.source._value;\r\n this.createFormAdd();\r\n }\r\n valueFlag;\r\n changevar: string;\r\n @Input() id: any;\r\n @Output() changeIndicator = new EventEmitter();\r\n @Output() dataLoaded = new EventEmitter();\r\n groupTitle: string;\r\n ngOnInit(): void {\r\n // this.allSubGroupFromParent.forEach((v1) => (this.id = v1.subGroupId));\r\n this.createFormAdd();\r\n }\r\n ngOnChanges() {\r\n if (this.id) {\r\n this.groupTitle = 'Edit Sub-Group';\r\n this.subGroup = this.allSubGroupFromParent.filter(\r\n (v1) => this.id == v1.subGroupId\r\n );\r\n this.subGroup.forEach((obj) => {\r\n this.groupObj.group = obj.group;\r\n this.groupObj.description = obj.description;\r\n this.groupObj.isActive = obj.isActive;\r\n this.groupObj.subGroupName = obj.subGroupName;\r\n this.groupObj.subGroupId = obj.subGroupId;\r\n this.groupObj.groupMaster = obj?.groupMaster;\r\n });\r\n this.createFormEdit();\r\n } else {\r\n this.groupTitle = 'Add Sub-Group';\r\n this.groupObj = new SubGroup();\r\n this.createFormAdd();\r\n }\r\n }\r\n createFormAdd() {\r\n this.addGroupForm = this.fb.group({\r\n group: [null, [Validators.required]],\r\n subGroupId: [],\r\n subGroupName: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.minLength(2),\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z0-9- ]+$'),\r\n ],\r\n ],\r\n description: ['', [Validators.maxLength(250), ValidateSpaces, Validators.pattern('^[A-Za-z0-9- ]+$'),]],\r\n isActive: [true],\r\n });\r\n }\r\n\r\n createFormEdit() {\r\n this.addGroupForm = this.fb.group({\r\n group: [this.groupObj?.groupMaster?.groupId, [Validators.required]],\r\n subGroupId: [this.groupObj?.subGroupId],\r\n subGroupName: [\r\n this.groupObj?.subGroupName,\r\n [\r\n Validators.required,\r\n Validators.minLength(2),\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z0-9- ]+$'),\r\n ],\r\n ],\r\n description: [this.groupObj?.description, [Validators.maxLength(250), ValidateSpaces, Validators.pattern('^[A-Za-z0-9- ]+$'),]],\r\n isActive: [this.groupObj?.isActive],\r\n });\r\n }\r\n\r\n get groupName() {\r\n return this.addGroupForm.get('subGroupName');\r\n }\r\n\r\n get group() {\r\n return this.addGroupForm.get('group');\r\n }\r\n\r\n get description() {\r\n return this.addGroupForm.get('description');\r\n }\r\n get isActive() {\r\n return this.addGroupForm.get('isActive');\r\n }\r\n\r\n getGroups() {\r\n this.loading = true;\r\n this._groupService.getTrainingGroups().subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.loading = false;\r\n const allGroups = response.data;\r\n this.groups = allGroups.filter((grp) => grp.isActive === true);\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n closeModal() {\r\n this.onReset();\r\n this.changevar = 'cancel';\r\n this.changeIndicator.emit(this.changevar);\r\n this.emit();\r\n }\r\n onReset = () => { };\r\n\r\n openForm() {\r\n this.createFormAdd();\r\n }\r\n closeModel() {\r\n this.confirmationDialogueService\r\n .confirm(\r\n Constantss.CONFIRMATION,\r\n Constantss.SURE_CANCEL\r\n )\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.addGroupForm.reset();\r\n this.addGroupForm.controls['isActive'].setValue(true);\r\n this.changevar = 'cancel';\r\n this.changeIndicator.emit(this.changevar);\r\n this.emit();\r\n }\r\n });\r\n }\r\n\r\n emit() {\r\n this.dataLoaded.emit('AddGroupComponent');\r\n }\r\n setFlag(value) {\r\n if (value) {\r\n this.valueFlag = value;\r\n } else {\r\n this.valueFlag = value;\r\n }\r\n }\r\n\r\n save() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let subGroup = new SubGroup();\r\n subGroup = this.mapModel(this.addGroupForm.value);\r\n this._groupService.saveTrainingSubGroup(subGroup).subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n this.changevar = \"ok\";\r\n this.changeIndicator.emit(this.changevar);\r\n this.emit();\r\n this.router.navigate(['/training/subGroup']);\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n mapModel(data: any): SubGroup {\r\n let subGroup = new SubGroup();\r\n subGroup.subGroupId = data.subGroupId;\r\n //let group = new Group();\r\n //group.groupId = data.group;\r\n subGroup.group = data?.group;\r\n subGroup.subGroupName = data.subGroupName;\r\n subGroup.description = data.description;\r\n subGroup.isActive = data.isActive;\r\n subGroup.updatedOn = new Date();\r\n subGroup.createdOn = new Date();\r\n subGroup.createdBy = this.userId;\r\n let user = new User();\r\n user.userId = this.userId;\r\n subGroup.updatedBy = user;\r\n return subGroup;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{groupTitle}}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{'addGroup.required'|translate}}\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Sub-Group name is required\r\n {{'addGroup.alpha'|translate}}\r\n {{'addGroup.min'|translate}}\r\n {{'addGroup.max'|translate}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Maximum 250 characters allowed\r\n \r\n \r\n Enter valid spaces\r\n \r\n \r\n Only alphanumeric characters allowed\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { GroupService } from '../../../services/group.service';\r\nimport { DeleteIconComponent } from 'src/app/layouts/core/delete-icon/delete-icon.component';\r\nimport { EditIconComponent } from 'src/app/layouts/core/edit-icon/edit-icon.component';\r\nimport { SwitchComponent } from 'src/app/layouts/core/switch/switch.component';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport * as _ from 'lodash';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport { SubGroup } from '../../../model/sub-group';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { Group } from '../../../model/group';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\n\r\n@Component({\r\n selector: 'app-sub-group',\r\n templateUrl: './sub-group.component.html',\r\n styleUrls: ['./sub-group.component.scss']\r\n})\r\nexport class SubGroupComponent implements OnInit {\r\n loading: boolean;\r\n @ViewChild(\"primaryModal\", { static: false })\r\n public primaryModal: ModalDirective;\r\n allSubGroupFromParent;\r\n groupFilter: any;\r\n trainingSubGroupList = [];\r\n recordCount: number = 0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n id: Number;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {}\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize = 20;\r\n navPermissions: any;\r\n currentPermission\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n userId: any;\r\n constructor(private _commonUtilService: CommonUtilService,\r\n private _groupService: GroupService,\r\n private dataSharing: DataSharingService,\r\n private clientStorage: ClientSideStorageService,\r\n private loginService: LoginService,\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private toast: NgToastService,\r\n private aggridService: AgGridService,\r\n private router: Router) {\r\n this.frameworkComponents = {\r\n editIconComponent: EditIconComponent,\r\n deleteIconComponent: DeleteIconComponent,\r\n switchComponent: SwitchComponent\r\n }\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientStorage.get('userId');\r\n this.userId = userId;\r\n this.getNavigableMenu(Number(userId), this.roleList[0].roleId);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.gridOptions = {};\r\n this.createColumnDefs();\r\n this.getTrainingSubGroups();\r\n }\r\n\r\n // fetchPermission() {\r\n // this.data = this.dataSharing.getNavItems();\r\n // this.navPermissions = this.data.source._value;\r\n // this.navPermissions[3].children[0].children.forEach(nav => {\r\n // if (nav.name == 'Training Master') {\r\n // this.currentPermission = nav.permission\r\n // return\r\n // }\r\n // })\r\n // }\r\n\r\n getNavigableMenu(userId?, roleId?) {\r\n this.loading = true;\r\n this.loginService.getNavigationMenu(userId, roleId).subscribe((data) => {\r\n if (data && data !== null) {\r\n this.loading = false;\r\n let child = [];\r\n this.navItems = data.navigableMenu;\r\n this.dataSharing.setNavItems(this.navItems);\r\n this.dataSharing.setMenuList(data.employeeRoleArea);\r\n this.navItems = _.orderBy(this.navItems, 'displayOrder', 'asc');\r\n setTimeout(() => { }, 10);\r\n // this.fetchPermission();\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n }\r\n\r\n clearSearch(e) {\r\n this.groupFilter = \"\";\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('groupMaster.groupName', 'Training Group');\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('subGroupName', 'Sub-Group');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('isActive', 'Status');\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.cellRenderer = 'switchComponent';\r\n header.suppressMovable = true;\r\n header.cellRendererParams = {\r\n type: 'Training.SubGroupMaster',\r\n onSwitchClick: (params: any) => {\r\n this.save(params.rowData)\r\n }\r\n };\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Edit');\r\n header.width = 180;\r\n header.cellRenderer = 'editIconComponent';\r\n header.suppressMovable = true;\r\n header.cellRendererParams = {\r\n inRouterLink: '/training/subGroup',\r\n onEditIconClick: (params: any) => {\r\n this.onEditBtnClicked(params.rowData.subGroupId);\r\n }\r\n\r\n };\r\n\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Delete');\r\n header.width = 180;\r\n\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.suppressMovable = true;\r\n header.cellRendererParams = {\r\n type: 'Training.SubGroupMaster',\r\n onDeleteIconClick: this.onDeletBtnClicked.bind(this),\r\n };\r\n\r\n this.columnDefs.push(header);\r\n }\r\n\r\n\r\n onDeletBtnClicked() {\r\n this.getTrainingSubGroups();\r\n }\r\n\r\n groupRoute() {\r\n this.router.navigate(['/training/group'])\r\n }\r\n\r\n subGroupRoute() {\r\n this.router.navigate(['/training/subGroup']);\r\n }\r\n\r\n trainingRoute() {\r\n this.router.navigate(['/training/trainingMaster']);\r\n }\r\n\r\n getTrainingSubGroups() {\r\n this.loading = true;\r\n this._groupService.getTrainingSubGroups().subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.loading = false;\r\n this.trainingSubGroupList = response.data;\r\n this.allSubGroupFromParent = this.trainingSubGroupList;\r\n this.recordCount = this.trainingSubGroupList.length;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }else{\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n save(param: any) {\r\n this.loading = true;\r\n param.isActive = !param.isActive\r\n let group = new Group();\r\n group.groupId = param.group.groupId;\r\n param.group = group\r\n param.trainingList = null;\r\n\r\n this._groupService.saveTrainingSubGroup(param).subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n }else{\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n\r\n onEditBtnClicked = (id: number) => {\r\n this.id = id;\r\n this.primaryModal.show();\r\n }\r\n\r\n addModel() {\r\n this.id = 0;\r\n this.primaryModal.show();\r\n this.dataSharing.setGlobalEditData(null);\r\n }\r\n\r\n dataLoaded(child: string) {\r\n\r\n }\r\n\r\n changeIndicator = (callAddRole) => {\r\n this.id = 0;\r\n if (callAddRole == \"cancel\") {\r\n this.primaryModal.hide();\r\n } else {\r\n this.primaryModal.hide();\r\n this.getTrainingSubGroups();\r\n }\r\n };\r\n\r\n}\r\n\r\n\r\nconst trainingSubGrp = [{\r\n 'subGroupId': 1,\r\n 'trainingGrp': {\r\n 'groupId': 1,\r\n 'groupName': 'Training Group'\r\n },\r\n 'description': 'Sub Group Description',\r\n 'subGroup': 'Training Sub Group',\r\n 'isActive': true\r\n}]","
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n

Training Sub-Group

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n \r\n

\r\n
\r\n\r\n \r\n
\r\n
\r\n ","import { DatePipe, formatDate } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { Entity } from 'src/app/layouts/baseline/model/entity.model';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { ValidateSpaces } from 'src/app/layouts/shared/validator/space-validator.validator';\r\nimport { SubGroup } from 'src/app/layouts/training/model/sub-group';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { Training } from '../../../../model/training';\r\nimport { GroupService } from '../../../../services/group.service';\r\n\r\n@Component({\r\n selector: 'app-add-training',\r\n templateUrl: './add-training.component.html',\r\n styleUrls: ['./add-training.component.scss'],\r\n})\r\nexport class AddTrainingComponent implements OnInit {\r\n groups = [];\r\n subGroups = [];\r\n level = [];\r\n @Input() allGroupFromParent: Training[] = [];\r\n trainingTitle: string;\r\n training: Training[] = [];\r\n trainingData = new Training();\r\n trainingObj = new Training();\r\n @Output() changeIndicator = new EventEmitter();\r\n @Output() dataLoaded = new EventEmitter();\r\n @Input() id: any;\r\n userId: any;\r\n editData: any;\r\n ediDataResponse: any;\r\n addTrainingForm: FormGroup;\r\n changevar: string;\r\n startDate: any;\r\n endDate: any;\r\n approxTrainee: any;\r\n todayDate;\r\n levelDisable = false;\r\n trainingTypeList: any;\r\n isStartDateDisabled: boolean = false;\r\n isTraingLevelDisabled: boolean = true;\r\n dropdownSettings: IDropdownSettings = {};\r\n roleTypeId: any;\r\n roleArea = [];\r\n loading: boolean = false;\r\n constructor(\r\n private clientStorage: ClientSideStorageService,\r\n private toast: NgToastService,\r\n private dataSharing: DataSharingService,\r\n private fb: FormBuilder,\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private router: Router,\r\n private _groupService: GroupService,\r\n private datePipe: DatePipe,\r\n ) {\r\n const userId = this.clientStorage.get('userId');\r\n this.userId = userId;\r\n this.roleTypeId = this.clientStorage.get('roleTypeId');\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n if (this.roleTypeId === 40) {\r\n this.roleArea.forEach((data) => {\r\n data.id = data.stateId;\r\n data.name = data.stateName;\r\n });\r\n } else if (this.roleTypeId === '41') {\r\n this.roleArea.forEach((data) => {\r\n data.id = data.divisionId;\r\n data.name = data.divisionName;\r\n });\r\n } else if (this.roleTypeId === '42') {\r\n this.roleArea.forEach((data) => {\r\n data.id = data.districtId;\r\n data.name = data.districtName;\r\n });\r\n } else if (this.roleTypeId === '43') {\r\n this.roleArea.forEach((data) => {\r\n data.id = data.blockId;\r\n data.name = data.blockName;\r\n });\r\n } else if (this.roleTypeId === '44') {\r\n this.roleArea.forEach((data) => {\r\n data.id = data.clusterId;\r\n data.name = data.clusterName;\r\n });\r\n } else {\r\n this.roleArea = [];\r\n }\r\n this.todayDate = this.dateFormatter(new Date());\r\n this.getTrainingType();\r\n this.getAllRoleTypes();\r\n this.getAllActiveGroups();\r\n this.createFormAdd();\r\n\r\n }\r\n\r\n\r\n\r\n dateFormatter(date: Date) {\r\n const format = \"yyyy-MM-dd\"\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n\r\n getTrainingType() {\r\n this.loading = true;\r\n this.dataSharing.fetchEntityById(29).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.trainingTypeList = res.data;\r\n this.loading = false;\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n }\r\n ngOnInit(): void {\r\n this.createFormAdd();\r\n this.dropdownSettings = {\r\n idField: 'id',\r\n textField: 'name',\r\n itemsShowLimit: 3\r\n };\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.id) {\r\n this.trainingTitle = 'Edit Training';\r\n this.training = this.allGroupFromParent.filter(\r\n (v1) => this.id === v1.trainingId\r\n );\r\n this.training.forEach((obj:any) => {\r\n this.trainingObj.status = obj.status;\r\n this.trainingObj.isActive = obj.isActive;\r\n this.trainingObj.subGroupId = obj.subGroupId.subGroupId;\r\n this.trainingObj.subGroupMaster=obj.subGroupId\r\n this.trainingObj.trainingName = obj.trainingName;\r\n this.trainingObj.trainingId = obj.trainingId;\r\n this.trainingObj.trainingLevelId = obj.trainingLevelId;\r\n this.trainingObj.approxTrainees = obj.approxTrainees;\r\n if (obj.trainingType != null) {\r\n this.trainingObj.trainingType = obj.trainingType;\r\n }\r\n this.trainingObj.startDate = this.celendarDateFormat(obj.startDate);\r\n this.trainingObj.endDate = this.celendarDateFormat(obj.endDate);\r\n // this.trainingObj.startDate = obj.startDate;\r\n // this.trainingObj.endDate = obj.endDate;\r\n this.trainingObj.description = obj.description;\r\n this.trainingObj.maximumBatchSize = obj.maximumBatchSize;\r\n this.trainingObj.minimumTrainer = obj.minimumTrainer;\r\n this.trainingObj.noOfDays = obj.noOfDays;\r\n });\r\n this.ediDataResponse = this.dataSharing.getGlobalEditData();\r\n this.editData = this.ediDataResponse.source._value;\r\n if (this.editData.configured.id == 52) {\r\n this.levelDisable = true;\r\n }\r\n this.createFormEdit();\r\n } else {\r\n this.trainingObj = new Training();\r\n this.trainingTitle = 'Add Training';\r\n this.editData = null;\r\n this.isTraingLevelDisabled = false;\r\n this.createFormAdd();\r\n }\r\n }\r\n\r\n celendarDateFormat(date) {\r\n const format = 'yyyy-MM-dd';\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n dateFormattergrid(date: any) {\r\n // let formatedDate;\r\n // if (typeof date === 'string') {\r\n // const [day, month, year] = date.split('-');\r\n // formatedDate = new Date(+year, +month - 1, +day);\r\n // }\r\n const format = 'yyyy-MM-dd';\r\n // const locale = 'en-US';\r\n // return formatedDate\r\n // ? formatDate(formatedDate, format, locale)\r\n // : formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n createFormAdd() {\r\n this.isStartDateDisabled = false;\r\n this.addTrainingForm = this.fb.group({\r\n trainingId: [],\r\n group: [null, [Validators.required]],\r\n subGroup: [null, [Validators.required]],\r\n training: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.minLength(2),\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z0-9 ]+$'),\r\n ValidateSpaces\r\n ],\r\n ],\r\n trainingType: [null, [Validators.required]],\r\n trainingLevel: [null, [Validators.required]],\r\n // trainingArea: [null, [Validators.required]],\r\n approxTrainee: [null, [Validators.required]],\r\n startDate: [null, [Validators.required]],\r\n endDate: [null, [Validators.required]],\r\n description: ['', [Validators.maxLength(250), Validators.pattern('^[A-Za-z0-9- ]+$'), ValidateSpaces, Validators.required]],\r\n isActive: [true],\r\n status: [],\r\n });\r\n }\r\n\r\n createFormEdit() {\r\n if (this.trainingObj.status.id === 52) {\r\n this.isTraingLevelDisabled = true;\r\n } else {\r\n this.isTraingLevelDisabled = false;\r\n }\r\n this.isStartDateDisabled = true;\r\n this.getTrainingSubGroupsByGroupId(this.trainingObj?.subGroupMaster?.group);\r\n this.addTrainingForm = this.fb.group({\r\n trainingId: [this.trainingObj?.trainingId],\r\n group: [this.trainingObj?.subGroupMaster.group, [Validators.required]],\r\n subGroup: [this.trainingObj?.subGroupId, [Validators.required]],\r\n trainingType: [this.trainingObj?.trainingType?.id],\r\n training: [\r\n this.trainingObj.trainingName,\r\n [\r\n Validators.required,\r\n Validators.minLength(2),\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z0-9 ]+$'),\r\n ValidateSpaces\r\n ],\r\n ],\r\n trainingLevel: [this.trainingObj.trainingLevelId.id, [Validators.required]],\r\n // trainingArea: [null, [Validators.required]],\r\n approxTrainee: [this.trainingObj.approxTrainees, [Validators.required]],\r\n startDate: [this.trainingObj.startDate, [Validators.required]],\r\n endDate: [this.trainingObj.endDate, [Validators.required]],\r\n description: [this.trainingObj.description, [Validators.maxLength(250), Validators.pattern('^[A-Za-z0-9- ]+$'), ValidateSpaces, Validators.required]],\r\n isActive: [this.trainingObj.isActive],\r\n status: [this.trainingObj.status.id],\r\n });\r\n }\r\n\r\n approxTraineeChange(event) {\r\n if (event == '-') {\r\n this.addTrainingForm.controls['approxTrainee'].setValue(null);\r\n }\r\n }\r\n\r\n get group() {\r\n return this.addTrainingForm.get('group');\r\n }\r\n\r\n get subGroup() {\r\n return this.addTrainingForm.get('subGroup');\r\n }\r\n\r\n get trainingType() {\r\n return this.addTrainingForm.get('trainingType');\r\n }\r\n\r\n get description() {\r\n return this.addTrainingForm.get('description');\r\n }\r\n get isActive() {\r\n return this.addTrainingForm.get('isActive');\r\n }\r\n get trainings() {\r\n return this.addTrainingForm.get('training');\r\n }\r\n\r\n\r\n get startDates() {\r\n return this.addTrainingForm.get('startDate').value;\r\n }\r\n\r\n getAllRoleTypes() {\r\n this.loading = true;\r\n this.dataSharing.fetchEntityById(8).subscribe((resp) => {\r\n if (resp && resp.data !== null) {\r\n this.loading = false;\r\n const levels = resp.data;\r\n this.level = levels.filter((lvl) => (lvl.id >= this.roleTypeId && lvl.id != 45));\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getAllActiveGroups() {\r\n this.loading = true;\r\n this._groupService.getTrainingGroups().subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.loading = false;\r\n const groups = response.data;\r\n this.groups = groups.filter((grp) => grp.isActive === true);\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getTrainingSubGroupsByGroupId(id) {\r\n this.loading = true;\r\n this._groupService.getSubGroupByGroupId(id).subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.loading = false;\r\n this.subGroups = response.data;\r\n this.subGroups = this.subGroups.filter((grp) => grp.isActive === true);\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n }\r\n\r\n selectedGroup(event) {\r\n this.loading = true;\r\n this._groupService\r\n .getSubGroupByGroupId(event.groupId)\r\n .subscribe((response) => {\r\n if (response && response.data !== null) {\r\n this.loading = false;\r\n const subGroups = response.data;\r\n if (subGroups != null) {\r\n this.addTrainingForm.controls['subGroup'].reset();\r\n this.subGroups = subGroups.filter(\r\n (subGroup) => subGroup.isActive === true\r\n );\r\n } else if (subGroups == null) {\r\n this.subGroups = null;\r\n this.addTrainingForm.controls['subGroup'].reset();\r\n } else {\r\n this.addTrainingForm.controls['subGroup'].reset();\r\n }\r\n }else{\r\n this.loading = false;\r\n }\r\n },(error)=>{\r\n this.loading = false;\r\n });\r\n }\r\n\r\n save() {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n let training = new Training();\r\n training = this.mapToModel(this.addTrainingForm.value);\r\n this._groupService.saveTraining(training).subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n this.changevar = 'ok';\r\n this.changeIndicator.emit(this.changevar);\r\n this.subGroups = [];\r\n this.emit();\r\n this.router.navigate(['/training/trainingMaster']);\r\n } else {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n mapToModel(data: any): Training {\r\n let training = new Training();\r\n training.trainingId = data.trainingId;\r\n training.trainingName = data.training;\r\n training.approxTrainees = data.approxTrainee;\r\n training.noOfDays = this.trainingObj.noOfDays;\r\n training.maximumBatchSize = this.trainingObj.maximumBatchSize;\r\n training.minimumTrainer = this.trainingObj.minimumTrainer;\r\n training.startDate = data.startDate;\r\n training.endDate = data.endDate;\r\n training.description = data.description;\r\n training.isActive = data.isActive;\r\n training.updatedOn = new Date();\r\n training.subGroupId = data.subGroup;\r\n\r\n let entity = new Entity();\r\n entity.id = data.trainingLevel;\r\n training.trainingLevelId = entity;\r\n\r\n let trainingType = new Entity();\r\n trainingType.id = data.trainingType;\r\n training.trainingType = trainingType;\r\n\r\n let status = new Entity();\r\n if (this.editData != undefined && this.editData!=null && this.editData?.status?.id != null) {\r\n status.id = this.editData.status.id;\r\n training.status = status;\r\n } else {\r\n status.id = 49;\r\n training.status = status;\r\n }\r\n\r\n let initiateTrainingStatus = new Entity();\r\n initiateTrainingStatus.id = 60;\r\n training.initiateTrainingStatus = initiateTrainingStatus;\r\n\r\n training.updatedOn = new Date();\r\n training.createdOn = new Date();\r\n\r\n let createdByUser = new User();\r\n createdByUser.userId = this.userId;\r\n training.createdBy = createdByUser;\r\n\r\n let updatedByUser = new User();\r\n updatedByUser.userId = this.userId;\r\n training.updatedBy = updatedByUser;\r\n\r\n return training;\r\n }\r\n\r\n closeModel() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.subGroups = [];\r\n this.addTrainingForm.reset();\r\n this.addTrainingForm.controls['isActive'].setValue(true);\r\n document.getElementById('error').innerHTML =\r\n '';\r\n this.changevar = 'cancel';\r\n this.changeIndicator.emit(this.changevar);\r\n this.emit();\r\n this.levelDisable = false;\r\n }\r\n });\r\n }\r\n\r\n emit() {\r\n this.dataLoaded.emit('AddTrainingComponent');\r\n }\r\n\r\n getStartDate(event) {\r\n this.startDate = this.dataSharing.datePipeFormat(event.target.value, \"yyyy-MM-dd\");\r\n // let startTime=\r\n // this.startDate = new Date(this.startDate).getTime();\r\n if (this.endDate < this.startDate) {\r\n this.addTrainingForm.controls['endDate'].setValue(null);\r\n document.getElementById('error').innerHTML =\r\n 'End Date must be greater than or equal to Start Date';\r\n document.getElementById('error').style.color = 'red';\r\n } else {\r\n document.getElementById('error').innerHTML = '';\r\n }\r\n }\r\n\r\n getEndDate(event) {\r\n this.endDate = this.dataSharing.datePipeFormat(event.target.value, \"yyyy-MM-dd\");\r\n // this.endDate = new Date(event.target.value).getTime();\r\n if (this.endDate < this.startDate) {\r\n this.addTrainingForm.controls['endDate'].setValue(null);\r\n document.getElementById('error').innerHTML =\r\n 'End Date must be greater than or equal to Start Date';\r\n document.getElementById('error').style.color = 'red';\r\n } else {\r\n document.getElementById('error').innerHTML = '';\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{trainingTitle}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n Group Name is required\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n Sub-Group Name is required\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n Training Type is required\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Training name is required\r\n \r\n \r\n Maximum 50 characters allowed\r\n \r\n \r\n Enter valid spaces\r\n \r\n \r\n Only alphanumeric characters allowed\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Maximum 250 characters allowed\r\n \r\n \r\n Enter valid spaces\r\n \r\n \r\n Only alphanumeric characters allowed\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { EditIconComponent } from '../../../../core/edit-icon/edit-icon.component';\r\nimport { DeleteIconComponent } from 'src/app/layouts/core/delete-icon/delete-icon.component';\r\nimport { SwitchComponent } from '../../../../core/switch/switch.component';\r\nimport { Router } from '@angular/router';\r\nimport { DataSharingService } from '../../../../shared/services/data-sharing.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { GroupService } from '../../../services/group.service';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { formatDate } from '@angular/common';\r\nimport { LinkComponent } from 'src/app/layouts/core/link/link.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport * as _ from 'lodash';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { AgGridService } from 'src/app/layouts/shared/services/ag-grid.service';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-training',\r\n templateUrl: './training.component.html',\r\n styleUrls: ['./training.component.scss'],\r\n})\r\nexport class TrainingComponent implements OnInit {\r\n loading: boolean;\r\n tooltipText = 'Vivamus sagittis lacus vel augue laoreet rutrum faucibus.';\r\n @ViewChild('primaryModal', { static: false })\r\n public primaryModal: ModalDirective;\r\n groupFilter: any;\r\n trainingList = [];\r\n allGroupFromParent;\r\n recordCount: number;\r\n columnDefs: any;\r\n data: any;\r\n loggedinUserArea: any;\r\n frameworkComponents;\r\n id: Number;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize = 20;\r\n navPermissions: any;\r\n currentPermission\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n roleTypeId;\r\n roleArea = [];\r\n\r\n constructor(\r\n private _commonUtilService: CommonUtilService,\r\n private router: Router,\r\n public modalService: NgbModal,\r\n private _groupService: GroupService,\r\n private dataSharing: DataSharingService,\r\n private clientStorage: ClientSideStorageService,\r\n private loginService: LoginService,\r\n private toast: NgToastService,\r\n private aggridService: AgGridService,\r\n ) {\r\n this.roleTypeId = JSON.parse(this.clientStorage.get('roleTypeId'));\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n this.roleArea[0].roleTypeId = this.roleTypeId;\r\n this.frameworkComponents = {\r\n editIconComponent: EditIconComponent,\r\n deleteIconComponent: DeleteIconComponent,\r\n switchComponent: SwitchComponent,\r\n linkComponent: LinkComponent,\r\n };\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientStorage.get('userId');\r\n this.getNavigableMenu(Number(userId), this.roleList[0].roleId);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.gridOptions = {};\r\n this.createColumnDefs();\r\n this.getTraining();\r\n }\r\n\r\n\r\n\r\n // fetchPermission() {\r\n // this.data = this.dataSharing.getNavItems();\r\n // this.navPermissions = this.data.source._value;\r\n // this.navPermissions[3].children[0].children.forEach(nav => {\r\n // if (nav.name == 'Training Master') {\r\n // this.currentPermission = nav.permission;\r\n // }\r\n // })\r\n // }\r\n\r\n getNavigableMenu(userId?, roleId?) {\r\n this.loginService.getNavigationMenu(userId, roleId).subscribe((data) => {\r\n if (data && data !== null) {\r\n let child = [];\r\n this.navItems = data.navigableMenu;\r\n this.dataSharing.setNavItems(this.navItems);\r\n this.dataSharing.setMenuList(data.employeeRoleArea);\r\n this.navItems = _.orderBy(this.navItems, 'displayOrder', 'asc');\r\n setTimeout(() => { }, 10);\r\n // this.fetchPermission();\r\n }\r\n });\r\n }\r\n\r\n clearSearch(e) {\r\n this.groupFilter = '';\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n this.gridApi.refreshCells()\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainingCode',\r\n 'Training Code'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainingName',\r\n 'Training'\r\n );\r\n header.width = 500;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'groupName',\r\n 'Training Group'\r\n );\r\n header.width = 350;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'subGroupName',\r\n 'Sub-Group'\r\n );\r\n header.width = 250;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'configured.entityName',\r\n 'Configured'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n (header.cellRenderer = 'linkComponent'),\r\n (header.cellRendererParams = {\r\n type: 'Training.TrainingMaster',\r\n inRouterLink: '/training/trainingConfiguration',\r\n onLinkClick: (params: any) => {\r\n this.dataSharing.setGlobalEditData(params.rowData);\r\n },\r\n });\r\n\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('status', 'Status');\r\n header.width = 180;\r\n header.suppressMovable = true;\r\n header.cellRenderer = 'switchComponent';\r\n header.cellRendererParams = {\r\n type: 'Training.TrainingMaster',\r\n onTrainingSwitch: (params: any) => {\r\n this.onSwitchIconClick(params.rowData)\r\n }\r\n };\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Edit');\r\n header.width = 180;\r\n header.suppressMovable = true;\r\n header.cellRenderer = 'editIconComponent';\r\n header.cellRendererParams = {\r\n type: 'Training.TrainingMaster',\r\n inRouterLink: '/training/trainingMaster',\r\n onEditIconClick: (params: any) => {\r\n this.onEditBtnClicked(params.rowData.trainingId);\r\n },\r\n };\r\n\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Delete');\r\n header.width = 180;\r\n header.suppressMovable = true;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.cellRendererParams = {\r\n type: 'Training.TrainingMaster',\r\n onDeleteIconClick: this.onDeletBtnClicked.bind(this),\r\n };\r\n\r\n this.columnDefs.push(header);\r\n }\r\n\r\n onEditBtnClicked(id: number) {\r\n this.id = id;\r\n this.primaryModal.show();\r\n }\r\n\r\n onSwitchIconClick(data) {\r\n this.loading = true;\r\n data.subGroupId = data?.subGroupId?.subGroupId;\r\n data.isActive = !data.isActive\r\n data.startDate = this.dateFormatterGrid(data.startDate);\r\n data.endDate = this.dateFormatterGrid(data.endDate);\r\n this._groupService.saveTraining(data).subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.STATUS_CHANGED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n })\r\n }\r\n\r\n\r\n onDeletBtnClicked() {\r\n this.getTraining();\r\n }\r\n\r\n groupRoute() {\r\n this.router.navigate(['/training/group']);\r\n }\r\n subGroupRoute() {\r\n this.router.navigate(['/training/subGroup']);\r\n }\r\n\r\n trainingRoute() {\r\n this.router.navigate(['/training/trainingMaster']);\r\n }\r\n\r\n getTraining() {\r\n this.loading = true;\r\n this._groupService.getAreaLevelTraining(this.roleArea).subscribe((response: any) => {\r\n if (response && response.data != null) {\r\n this.trainingList = response.data;\r\n this.loading = false;\r\n this.allGroupFromParent = this.trainingList;\r\n this.recordCount = this.trainingList.length;\r\n this.aggridService.autoSizeColumns(this.gridOptions);\r\n }else{\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n })\r\n }\r\n\r\n\r\n openModal() { }\r\n addModel() {\r\n this.id = 0;\r\n this.primaryModal.show();\r\n this.dataSharing.setGlobalEditData(null);\r\n }\r\n\r\n changeIndicator = (callAddRole) => {\r\n this.id = 0;\r\n if (callAddRole == 'cancel') {\r\n this.primaryModal.hide();\r\n } else {\r\n this.primaryModal.hide();\r\n this.getTraining();\r\n }\r\n };\r\n\r\n dataLoaded(child: string) { }\r\n\r\n dateFormattergrid(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n // const locale = 'en-US';\r\n // return formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n dateFormatterGrid(date: any) {\r\n // let formatedDate;\r\n // if (typeof date === 'string') {\r\n // const [day, month, year] = date.split('-');\r\n // formatedDate = new Date(+year, +month - 1, +day);\r\n // }\r\n const format = 'yyyy-MM-dd';\r\n // const locale = 'en-US';\r\n // return formatedDate\r\n // ? formatDate(formatedDate, format, locale)\r\n // : formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n}\r\n\r\n// const training = [{\r\n// 'trainingId': 1,\r\n// 'trainingName': 'Diam',\r\n// 'subGroup': {\r\n// 'subGroupId': 2,\r\n// 'subGroupName': 'Sub Group Test'\r\n// },\r\n// 'group': {\r\n// 'groupId': 1,\r\n// 'groupName': 'Aces'\r\n// },\r\n// 'configured': 'Pending',\r\n// 'isActive': true,\r\n// 'trainingLevel' : {\r\n// id:40,\r\n// 'name':'State'\r\n// },\r\n// 'approxTrainee':30,\r\n// 'startDate':'2022-08-02',\r\n// 'endDate':'2022-08-09',\r\n// 'description':\"Training Description\"\r\n\r\n// }]\r\n","
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n

Training

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

\r\n {{ \"total_records\" | translate }} {{ recordCount }}\r\n

\r\n
\r\n ","import { formatDate } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { StartTestIconComponent } from 'src/app/layouts/core/start-test-icon/start-test-icon.component';\r\nimport { TrainingTestStatusComponent } from 'src/app/layouts/core/training-test-status/training-test-status.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { TrainingAssessmentService } from '../../services/training-assessment.service';\r\nimport { RegularVisitService } from 'src/app/layouts/monitoring/service/regular-visit.service';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { InitiateTrainingService } from '../../services/initiate-training.service';\r\n\r\n@Component({\r\n selector: 'app-training-assessment',\r\n templateUrl: './training-assessment.component.html',\r\n styleUrls: ['./training-assessment.component.scss'],\r\n})\r\nexport class TrainingAssessmentComponent implements OnInit {\r\n loanFilter: any;\r\n recordCount: number=0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [100, 200, 300];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n empCode: any;\r\n userData: any;\r\n paginationPageSize = 100;\r\n rowDataAssessment: any;\r\n todayDate : any;\r\n constructor(\r\n private clientStorage: ClientSideStorageService,\r\n private _commonUtilService: CommonUtilService,\r\n private router: Router,\r\n private dataSharing: DataSharingService,\r\n private _trainingAssmtService: TrainingAssessmentService,\r\n private toast : NgToastService,\r\n private _regularVisit: RegularVisitService,\r\n private confirmationDialogue : ConfirmationDialogService,\r\n private _initiateTrainingService : InitiateTrainingService\r\n ) {\r\n this.frameworkComponents = {\r\n startTestIcon: StartTestIconComponent,\r\n trainingTestStatus: TrainingTestStatusComponent,\r\n };\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.empCode = this.userData.user.userName;\r\n this.getEmpByEmpCode();\r\n this._regularVisit.GetTodayDate().subscribe((res)=>{\r\n this.todayDate = res.data[0];\r\n });\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\ngetEmpByEmpCode() {\r\n // this._initiateTrainingService.getEmpByEmpCode(this.empCode).subscribe((res) => {\r\n // if (res && res.data && res.data != null && res.data.length != 0 && res.data != undefined)\r\n // if(res.data[0].bankAccountNumber===null || res.data[0].ifscCode === null ){\r\n // this.confirmationDialogue.dialogueForIFSCAccNotRegistered\r\n // ('',`Your IFSC Code and Bank Account No. is not registered with the system. Please click on\r\n // the 'Proceed' button to fill in all the details.`).then((confirmed)=>{\r\n // if(confirmed){\r\n // this.dataSharing.setRouteToTraineeAsessmentPage(false);\r\n // this.router.navigate(['/training/TraineeRegistration']);\r\n // }\r\n // })\r\n // }else{\r\n this.createColumnDefs();\r\n this.getAllTrainingAssessment();\r\n // }\r\n // })\r\n }\r\n\r\n clearSearch(e) {\r\n this.loanFilter = '';\r\n this.gridApi.setQuickFilter(this.loanFilter);\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 100;\r\n }\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'training.trainingName',\r\n 'Training Associated'\r\n );\r\n header.width = 280;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'testType.name',\r\n 'Test Type'\r\n );\r\n header.width = 280;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'scheduledDate',\r\n 'Scheduled Date'\r\n );\r\n header.width = 280;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('status', 'Status');\r\n header.width = 280;\r\n header.cellRenderer = 'trainingTestStatus';\r\n header.suppressMovable = true;\r\n header.cellRendererParams = {};\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'Start Test',\r\n 'Start Test'\r\n );\r\n header.width = 280;\r\n header.cellRenderer = 'startTestIcon';\r\n header.suppressMovable = true;\r\n header.cellRendererParams = {\r\n type:'Training.TrainingAssessment',\r\n inRouterLink: '/training/TestAssessment/edit_assessment',\r\n onClick: (params: any) => {\r\n this.dataSharing.setGlobalEditData(params.rowData);\r\n },\r\n };\r\n\r\n this.columnDefs.push(header);\r\n }\r\n\r\n getAllTrainingAssessment() {\r\n this._trainingAssmtService\r\n .getTraineeByEmpCode(this.empCode)\r\n .subscribe((response) => {\r\n if (response && response.data) {\r\n let data;\r\n data = response.data;\r\n let assessmentRes = [];\r\n data.forEach((res) => {\r\n if (res && res.assessmentQuestions) {\r\n if( res.assessmentQuestions.preQuestionList!=null ||\r\n res.assessmentQuestions.postQuestionList!=null){\r\n if (\r\n res.assessmentQuestions.preQuestionList.length > 0 ||\r\n res.assessmentQuestions.postQuestionList.length > 0\r\n ) {\r\n if (res.assessmentQuestions.preQuestionList!=null && res.assessmentQuestions.preQuestionList.length > 0) {\r\n let item = JSON.parse(JSON.stringify(res));\r\n item.assessmentQuestions =\r\n res.assessmentQuestions.preQuestionList;\r\n item.testType.name = 'Pre';\r\n item.assessmentDate = res.preDate;\r\n item.todaysDate = this.todayDate;\r\n item.scheduledDate = this.dateFormattergrid(res.preDate);\r\n assessmentRes.push(item);\r\n }\r\n\r\n if (res.assessmentQuestions.postQuestionList!=null && res.assessmentQuestions.postQuestionList.length > 0) {\r\n let item = JSON.parse(JSON.stringify(res));\r\n item.assessmentQuestions =\r\n res.assessmentQuestions.postQuestionList;\r\n item.testType.id=55; \r\n item.testType.name = 'Post';\r\n item.assessmentDate = res.postDate;\r\n item.todaysDate = this.todayDate;\r\n item.scheduledDate = this.dateFormattergrid(res.postDate);\r\n assessmentRes.push(item);\r\n }\r\n }}\r\n else if (\r\n res.assessmentQuestions.dailyQuestionDTO.dailyQuestion\r\n ) {\r\n let data =\r\n res.assessmentQuestions.dailyQuestionDTO.dailyQuestion;\r\n for (let key in data) {\r\n let name = key;\r\n let item = JSON.parse(JSON.stringify(res));\r\n item.testType.name = key;\r\n item.assessmentQuestions = data[name];\r\n item.assessmentDate = (res.scheduledDates[key]);\r\n item.todaysDate = this.todayDate;\r\n item.scheduledDate = this.dateFormattergrid(res.scheduledDates[key]);\r\n assessmentRes.push(item);\r\n }\r\n }\r\n }\r\n }); \r\n // assessmentRes.forEach((assessment) => {\r\n // assessment.scheduledDate = this.dateFormattergrid(\r\n // assessment.scheduledDate\r\n // );\r\n // });\r\n this.rowDataAssessment = assessmentRes;\r\n this.recordCount = this.rowDataAssessment.length;\r\n }else{\r\n this.rowDataAssessment = [];\r\n this.recordCount = 0;\r\n }\r\n });\r\n }\r\n\r\n dateFormattergrid(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n // const locale = 'en-US';\r\n // return formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date,format);\r\n }\r\n\r\n onBtnClicked() {}\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.loanFilter);\r\n }\r\n}\r\n","
\r\n\r\n\r\n
\r\n
\r\n

Training Test

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

\r\n {{'total_records'|translate}} {{recordCount}}\r\n \r\n

\r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { TraineeAnswerSheet } from '../../../model/trainee-answer-sheet';\r\nimport { Trainee } from '../../../model/trainee';\r\nimport { Training } from '../../../model/training';\r\nimport { Question } from '../../../model/question';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { Entity } from 'src/app/layouts/baseline/model/entity.model';\r\nimport { TrainingAssessmentService } from '../../../services/training-assessment.service';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\n@Component({\r\n selector: 'app-training-test',\r\n templateUrl: './training-test.component.html',\r\n styleUrls: ['./training-test.component.scss'],\r\n})\r\nexport class TrainingTestComponent implements OnInit {\r\n name: string;\r\n userId: any;\r\n testForm: FormGroup;\r\n fields: any;\r\n edit: any;\r\n options;\r\n traineeAnsSheet: any[];\r\n constructor(\r\n private dataSharing: DataSharingService,\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private _trainingAssmtService: TrainingAssessmentService,\r\n private clientSideStorage: ClientSideStorageService,\r\n private toast: NgToastService,\r\n private confirm: ConfirmationDialogService,\r\n ) {\r\n this.edit = this.dataSharing.getGlobalEditData().source;\r\n if (this.edit._value.assessmentQuestions.length != 0) {\r\n this.options = this.edit._value.assessmentQuestions;\r\n this.testForm = this.fb.group({\r\n questions: new FormArray([])\r\n });\r\n if (this.options.length === this.edit._value.assessmentQuestions.length) {\r\n this.initData();\r\n } else {\r\n this.router.navigate(['/training/trainingAssmt']);\r\n this.toast.info({\r\n detail: 'INFORMAION',\r\n summary: 'An error occurred while processing data. Kindly Refresh this page.',\r\n duration: 10000\r\n });\r\n }\r\n\r\n }\r\n\r\n this.userId = this.clientSideStorage.get('userId');\r\n\r\n }\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n\r\n get questions(): FormArray {\r\n return this.testForm.get('questions') as FormArray;\r\n }\r\n\r\n submit(value) {\r\n this.confirm.confirm(\r\n Constantss.CONFIRMATION,\r\n 'Are you sure you want to save the response ?'\r\n )\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n // this.router.navigate(['/training/trainingAssmt']);\r\n\r\n let traineeAnswerSheet;\r\n traineeAnswerSheet = this.mapToModelTraineeAnsSheet(value);\r\n this._trainingAssmtService.saveTrainingAssessment(traineeAnswerSheet).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.router.navigate(['/training/trainingAssmt']);\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: error.error,\r\n duration: 10000,\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n mapToModelTraineeAnsSheet(data: any) {\r\n let arr = [];\r\n data.questions.forEach((d) => {\r\n let traineeAnswerSheet = new TraineeAnswerSheet();\r\n let trainee = new Trainee();\r\n trainee.traineeId = this.edit._value.traineeId;\r\n traineeAnswerSheet.trainee = trainee;\r\n let training = new Training();\r\n training.trainingId = this.edit._value.training.trainingId;\r\n traineeAnswerSheet.training = training;\r\n let question = new Question();\r\n question.questionId = d.questionId;\r\n traineeAnswerSheet.question = question;\r\n traineeAnswerSheet.answer = d.answer;\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n traineeAnswerSheet.createdBy = createdBy;\r\n let updatedBy = new User();\r\n updatedBy.userId = this.userId;\r\n traineeAnswerSheet.updatedBy = updatedBy;\r\n traineeAnswerSheet.updatedOn = new Date();\r\n traineeAnswerSheet.createdOn = new Date();\r\n let entity = new Entity();\r\n entity.id = 68;\r\n traineeAnswerSheet.status = entity;\r\n let testType= new Entity();\r\n testType.id=d.testType;\r\n traineeAnswerSheet.testType=testType;\r\n arr.push(traineeAnswerSheet);\r\n });\r\n this.traineeAnsSheet = arr;\r\n return this.traineeAnsSheet;\r\n }\r\n\r\n // patchValues(question, option1, option2, option3, option4, questionId) {\r\n // return this.fb.group({\r\n // questionId: [questionId],\r\n // question: [question],\r\n // option1: [option1],\r\n // option2: [option2],\r\n // option3: [option3],\r\n // option4: [option4],\r\n // answer: ['',Validators.required],\r\n // });\r\n // }\r\n\r\n cancel() {\r\n\r\n this.confirm.confirm(\r\n Constantss.CONFIRMATION,\r\n 'Are you sure you want to cancel this operation ?'\r\n )\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.router.navigate(['/training/trainingAssmt']);\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n\r\n initData() {\r\n this.options.forEach(s => {\r\n this.questions.push(\r\n new FormGroup({\r\n questionId: new FormControl(s.questionId),\r\n question: new FormControl(s.question),\r\n option1: new FormControl(s.option1),\r\n option2: new FormControl(s.option2),\r\n option3: new FormControl(s.option3),\r\n option4: new FormControl(s.option4),\r\n testType: new FormControl(s.quizTypeId),\r\n answer: new FormControl(null, Validators.required)\r\n })\r\n );\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n

Training Test

\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {{control.value.option1}}\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {{control.value.option2}}\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {{control.value.option3}}\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {{control.value.option4}}\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { TrainingArea } from '../../model/training-area';\r\nimport { ChecklistMaster } from '../../model/checklist-master';\r\nimport { TrainingLetter } from '../../model/training-letter';\r\nimport {\r\n Form,\r\n FormArray,\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport {\r\n ColumnApi,\r\n Constants,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\n\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { Router, RouterModule } from '@angular/router';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { ManageUserService } from 'src/app/layouts/configurations/service/manage user service/manage-user.service';\r\nimport { GroupService } from '../../services/group.service';\r\nimport { DeleteIconComponent } from 'src/app/layouts/core/delete-icon/delete-icon.component';\r\nimport { Training } from '../../model/training';\r\nimport { saveAs } from \"file-saver\";\r\nimport { Quiz } from '../../model/quiz';\r\nimport { TrainingService } from '../../services/training.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { Entity } from 'src/app/layouts/baseline/model/entity.model';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { Question } from '../../model/question';\r\nimport { TrainingMaterial } from '../../model/training-material';\r\nimport { Document } from '../../model/document';\r\nimport { Link } from '../../model/link';\r\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\r\nimport { moveItemInFormArray } from '../../model/move-item-in-form-array';\r\nimport { FileDTO } from '../../model/file-dto.model'\r\nimport { MonitorQuestions } from '../../model/monitor-questions';\r\nimport { MonitorQuestionMaster } from '../../model/monitor-question-master';\r\nimport { TrainingMonitorQuestions } from '../../model/training-monitor-questions';\r\nimport { TrainingCheckListItems } from '../../model/training-check-list-items';\r\nimport { CheckListItems } from '../../model/check-list-items';\r\nimport { browserRefresh } from 'src/app/app.component';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-training-configuration',\r\n templateUrl: './training-configuration.component.html',\r\n styleUrls: ['./training-configuration.component.scss'],\r\n})\r\n\r\nexport class TrainingConfigurationComponent implements OnInit {\r\n loading: boolean = false;\r\n\r\n\r\n @HostListener(\"window:beforeunload\", [\"$event\"]) unloadHandler(event: Event) {\r\n window.opener.location.reload();\r\n }\r\n disableCopyBtn = true;\r\n connector = 'HIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHII';\r\n connectorC = 1;\r\n divisionData = [];\r\n districtData = [];\r\n hiddenEdit = true;\r\n blockData = [];\r\n clusterData = [];\r\n totalQuestDisabled = false;\r\n posttotalQuestDisabled = false;\r\n batchInfo!: FormGroup;\r\n range!: FormGroup;\r\n assessment!: FormGroup;\r\n checkListForm: FormGroup;\r\n trainingMaterial!: FormGroup;\r\n checkListFormNew: FormGroup;\r\n fileDTO: FileDTO = new FileDTO();\r\n batchInfo_step = false;\r\n range_step = false;\r\n assessment_step = false;\r\n trainingMaterial_step = false;\r\n checkList_step = false;\r\n empForm: FormGroup;\r\n step = 0;\r\n dltBtnHidden = false;\r\n gridOptions = {};\r\n gridOptions1 = {};\r\n gridOptions2 = {};\r\n columnDefs;\r\n columnDefsDoc;\r\n columnDefsLink;\r\n frameworkComponents;\r\n areaList: Array = [];\r\n gridApi: GridApi;\r\n gridApi1: GridApi;\r\n districtReadOnly = false;\r\n divisionReadOnly = false;\r\n clusterReadOnly = false;\r\n blockReadOnly = false;\r\n gridApi2: GridApi;\r\n dropdownSettings: IDropdownSettings = {};\r\n dropdownList = [];\r\n formData = new FormData();\r\n monitoringQuestionsForm: FormGroup;\r\n quizList = [\r\n { id: 1, name: 'Pre-Post Test' },\r\n { id: 2, name: 'Daywise' },\r\n ];\r\n dayList = [];\r\n val = 0;\r\n dailySelected: boolean = null;\r\n prePostForm = false;\r\n dailyTestForm = false;\r\n PreTestPanel = true;\r\n PostTestPanel = false;\r\n dataLevel1;\r\n dataLevel2;\r\n optionSelected: any;\r\n preTestBtnColor: boolean = true;\r\n postTestBtnColor: boolean = false;\r\n trainingAreaList: Array = [];\r\n trainingArea = new TrainingArea();\r\n trainingMaterialList: Array = [];\r\n trainingMaterials = new TrainingMaterial();\r\n documentsList: Array = [];\r\n document = new Document();\r\n linksList: Array = [];\r\n link = new Link();\r\n documentList = [];\r\n linkList: Link[] = [];\r\n btnDisabled = true;\r\n stateList = [];\r\n userId: any;\r\n trainingId = null;\r\n quizId = null;\r\n quizIdFromRes = null;\r\n noOfDays;\r\n monitoring_Questions_step;\r\n day = [];\r\n prePostIndex = 0;\r\n prePost = [\r\n { id: 0, name: 'Pre Test', quizTypeId: 54 },\r\n { id: 1, name: 'Post Test', quizTypeId: 55 },\r\n ];\r\n fields: any;\r\n selectedDayIndex = 0;\r\n selectedtestIndex = 0;\r\n fileUploadplaceHolder;\r\n fileName;\r\n fData = new FormData();\r\n formDataLetter = new FormData();\r\n arrayFordragDropDaily = [];\r\n arrayFordragDropPrePost = [];\r\n selectQuizDisable = false;\r\n disabledBtn: boolean = true;\r\n trainingLevelId;\r\n divisionId: any;\r\n districtId: any;\r\n blockId: any;\r\n rangeValid: boolean = true;\r\n training = new Training();\r\n prePostCount = null;\r\n dailyCount = null;\r\n activeButton = 0;\r\n assessmentData;\r\n preQuestionList = [];\r\n postQuestionList = [];\r\n dailyQuestionList;\r\n editResponse = null;\r\n responseFinal;\r\n totalNoOfDays;\r\n check = 0;\r\n finalSubmitResult: ChecklistMaster[] = [];\r\n saveNextDisableForTest = true;\r\n new: any;\r\n newStep: any;\r\n materialRes;\r\n checkListData = null;\r\n startDate: number;\r\n endDate: number;\r\n noOfDay: any;\r\n addAssessmentDisable = false;\r\n dropdownSettingsDivision: IDropdownSettings = {};\r\n dropdownSettingsDistrict: IDropdownSettings = {};\r\n dropdownSettingsBlockAre: IDropdownSettings = {};\r\n dropdownSettingsClusterAre: IDropdownSettings = {};\r\n districtDataList = [];\r\n blockDataList = [];\r\n clusterDataList = [];\r\n dataForGrid: any[] = []; columnApi: any;\r\n DATA = [];\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize: any;\r\n checkListItem = [];\r\n checkListNameForDisplay = \"\";\r\n monitoringQuestionsFormNew: FormGroup;\r\n monitoringQuestionsNew: any;\r\n addMonitoringQuestionDisabled = null;\r\n checkListMasterNew: any;\r\n displayChecklist = false;\r\n checkListId: any;\r\n editChecklistNew: boolean;\r\n addChecklistNew: boolean;\r\n checkListIdNew: any;\r\n btnColor;\r\n areaForGrid: any[] = [];\r\n checkListSaved = false;\r\n uploadOrderLeterForm: FormGroup;\r\n trainingCode;\r\n ppm: any;\r\n letterName: any;\r\n letterPath: any;\r\n showLetterDownload = false;\r\n disabledLetter = null;\r\n trainingLetterId: any;\r\n disabledState = true;\r\n selectedState;\r\n editState = false;\r\n subscription: Subscription;\r\n previousGetLetter = false;\r\n monitoringQuestionsFormNewInvalid = true;\r\n browserRefresh: boolean = false;\r\n dataLev: any;\r\n stepName: any;\r\n roleArea = [];\r\n roleTypeId;\r\n quizTypeId = 54;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private _commonUtilService: CommonUtilService,\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private router: Router,\r\n private dataSharingService: DataSharingService,\r\n private toast: NgToastService,\r\n private userService: ManageUserService,\r\n private groupService: GroupService,\r\n private clientStorage: ClientSideStorageService,\r\n private trainingService: TrainingService,\r\n private _dataSharing: DataSharingService,\r\n ) {\r\n this.roleTypeId = this.clientStorage.get('roleTypeId');\r\n const userId = this.clientStorage.get('userId');\r\n this.userId = userId;\r\n this.roleArea = JSON.parse(this.clientStorage.get('roleArea'));\r\n this.reloadFunctionality();\r\n this.new = this._dataSharing.getStep();\r\n this.newStep = this.new.source._value;\r\n this.dataLevel1 = this.dataSharingService.getGlobalEditData();\r\n let dataLevel = this.dataLevel1.source._value;\r\n this.dataLev = this.dataLevel1.source._value;\r\n let startDate = this.dateFormattergrid(this.dataLevel1.source._value.startDate);\r\n let endDate = this.dateFormattergrid(this.dataLevel1.source._value.endDate);\r\n this.startDate = new Date(startDate).getTime();\r\n this.endDate = new Date(endDate).getTime();\r\n const oneDay = 1000 * 60 * 60 * 24;\r\n this.noOfDay = ((this.endDate - this.startDate) / oneDay) + 1;\r\n this.training = this.dataLevel1.source._value;\r\n this.getTrainingAreas(this.training.trainingId);\r\n\r\n this.dataLevel2 = dataLevel;\r\n this.getEditTrainingMaterial(this.training.trainingId);\r\n if (this.dataLevel2.length != 0 && this.dataLevel2 != null) {\r\n this.trainingLevelId = this.dataLevel2.trainingLevelId.id;\r\n }\r\n\r\n if (this.trainingLevelId === 41) {\r\n this.disabledBtn = true;\r\n }\r\n this.trainingId = this.dataLevel2.trainingId;\r\n this.trainingCode = this.dataLevel2.trainingCode;\r\n this.getAllDivision();\r\n this.frameworkComponents = {\r\n deleteIconComponent: DeleteIconComponent,\r\n };\r\n this.createFormCheckListFormNew();\r\n this.trainingService.getTrainingCheckListByTrainingId(this.trainingId).subscribe((response) => {\r\n this.checkListMasterNew = response.data;\r\n this.createFormCheckListFormNew();\r\n this.getCheckListItemsByCheckListName(0, this.checkListMasterNew[0]);\r\n });\r\n\r\n\r\n this.createColumnDefsDoc();\r\n this.createColumnDefsLink();\r\n this.createUploadOrderLeterForm();\r\n\r\n this.getLetter();\r\n\r\n\r\n\r\n\r\n // this.trainingService.getAllCheckListMaster().subscribe((response) => {\r\n // this.checkListMasterNew = response.data;\r\n // this.createFormCheckListFormNew();\r\n // });\r\n\r\n // this.trainingService.getMonitorQuestionsMasterByTrainingId(this.trainingId).subscribe((response) => {\r\n // if (response.data.length != 0) {\r\n // this.monitoringQuestionsNew = response.data;\r\n // this.addMonitoringQuestionDisabled = true;\r\n // this.createFormMonitoringQuestionsNewEdit();\r\n // this.addChecklistNew = false;\r\n // } else {\r\n this.trainingService.getMonitoringQuestionByTrainingId(this.trainingId).\r\n subscribe((response) => {\r\n this.monitoringQuestionsNew = response?.data;\r\n // this.addMonitoringQuestionDisabled = null;\r\n this.createFormMonitoringQuestionsNew();\r\n // this.addChecklistNew = true;\r\n });\r\n // }\r\n // });\r\n\r\n // this.trainingService.getTrainingCheckList(this.trainingId).subscribe(res => {\r\n // if (res && res.data !== null) {\r\n // this.empForm = this.formBuilder.group({\r\n // checkList: this.formBuilder.array([]),\r\n // });\r\n // this.checkListData = res.data;\r\n // // this.allForms();\r\n // let index = 0;\r\n // this.checkListData.forEach(item => {\r\n // this.employees.push(this.newMainItem(item));\r\n // if (item.checkListItems && item.checkListItems.length > 0) {\r\n // item.checkListItems.forEach(i => {\r\n // this.employeeSkills(index).push(this.newChecklistItem(i));\r\n // });\r\n // } else {\r\n // this.employeeSkills(index).push(this.newItem());\r\n // }\r\n // index++;\r\n // })\r\n // }\r\n // });\r\n\r\n\r\n this.assessmentData = null;\r\n this.trainingService\r\n .getQuizData(dataLevel.trainingId)\r\n .subscribe((res: any) => {\r\n this.responseFinal = res;\r\n if (res.data && res.data !== null && res.data[0]) {\r\n this.editResponse = res.data[0];\r\n if (res && res.data && res.data.length > 0) {\r\n this.totalNoOfDays = res.data.length;\r\n }\r\n this.trainingService\r\n .getQuestionList(0, dataLevel.trainingId, 0)\r\n .subscribe((response) => {\r\n if (response !== null) {\r\n this.assessmentData = response;\r\n this.allForms();\r\n if (\r\n this.assessmentData &&\r\n this.assessmentData.data &&\r\n this.assessmentData.data.length > 0\r\n ) {\r\n this.preQuestionList = this.assessmentData.data.filter(\r\n (i) => i.quizTypeId === 54\r\n );\r\n this.postQuestionList = this.assessmentData.data.filter(\r\n (i) => i.quizTypeId === 55\r\n );\r\n this.dailyQuestionList = this.assessmentData.data.filter(\r\n (i) => i.quizTypeId === 56\r\n );\r\n if (this.dailyQuestionList.length > 0) {\r\n this.dailyTestForm = true;\r\n this.prePostForm = false;\r\n this.dailySelected = true;\r\n } else if (\r\n this.preQuestionList.length > 0 ||\r\n this.postQuestionList.length > 0\r\n ) {\r\n this.dailyTestForm = false;\r\n this.prePostForm = true;\r\n this.dailySelected = false;\r\n }\r\n this.editAssessmentForm();\r\n this.editAssessment();\r\n this.selectQuizDisable = true;\r\n this.addAssessmentDisable = true\r\n this.saveNextDisableForTest = false;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n // this.fields = {\r\n // type: {\r\n // options: this.options\r\n // }\r\n // }\r\n\r\n this.trainingService.getMonitorQuestionsByTraining(this.trainingId).subscribe((response) => {\r\n if (response.data != null) {\r\n this.fields = response.data;\r\n this.createMonitoringQuestionEdit();\r\n } else {\r\n this.createFormMonitoringQuestions();\r\n }\r\n })\r\n }\r\n\r\n\r\n reloadFunctionality() {\r\n this.subscription = this.router.events.subscribe((evt) => {\r\n if (!this.router.navigated) {\r\n this.browserRefresh = true;\r\n }\r\n });\r\n\r\n }\r\n\r\n downLoadLetter() {\r\n this.trainingService.downloadLetter(this.letterName).subscribe((blob: Blob) => {\r\n saveAs(blob, this.letterName);\r\n });\r\n }\r\n\r\n\r\n getEditTrainingQues(dataLevel) {\r\n this.assessmentData = null;\r\n this.loading = true;\r\n this.trainingService\r\n .getQuizData(dataLevel.trainingId)\r\n .subscribe((res: any) => {\r\n this.responseFinal = res;\r\n if (res.data && res.data !== null && res.data[0]) {\r\n this.loading = false;\r\n this.editResponse = res.data[0];\r\n if (res && res.data && res.data.length > 0) {\r\n this.totalNoOfDays = res.data.length;\r\n }\r\n this.loading = true;\r\n this.trainingService\r\n .getQuestionList(0, dataLevel.trainingId, 0)\r\n .subscribe((response) => {\r\n if (response !== null) {\r\n this.assessmentData = response;\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n deleteLetter() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.DELETE_FILE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n this.trainingService.deleteLetter(this.trainingLetterId).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 1000\r\n });\r\n this.loading = false;\r\n this.letterName = '';\r\n this.disabledLetter = null;\r\n this.showLetterDownload = false;\r\n this.uploadOrderLeterForm.controls['letter'].setValue(null);\r\n this.uploadOrderLeterForm.controls['trainingLetterId'].setValue(null);\r\n } else if (response.status === '400') {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.error,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.error,\r\n duration: 10000,\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n getLetter() {\r\n this.loading = true;\r\n this.trainingService.getLetter(this.trainingCode).subscribe((response) => {\r\n if (response.data.length != 0) {\r\n this.letterName = response.data[0].letterName;\r\n this.letterPath = response.data[0].path;\r\n this.trainingLetterId = response.data[0].trainingLetterId;\r\n this.editUploadLetterForm(response.data[0]);\r\n this.loading = false;\r\n if (this.previousGetLetter === false) {\r\n this.loading = false;\r\n this.allForms();\r\n }\r\n this.showLetterDownload = true;\r\n this.disabledLetter = true;\r\n } else {\r\n this.loading = false;\r\n this.showLetterDownload = false;\r\n this.disabledLetter = null;\r\n this.createUploadOrderLeterForm();\r\n }\r\n });\r\n }\r\n\r\n\r\n routeToHome() {\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.router.onSameUrlNavigation = 'reload';\r\n this.router.navigate(['/training/trainingMaster']);\r\n\r\n }\r\n\r\n onClickDivision() {\r\n\r\n }\r\n\r\n fetchAllState() {\r\n if (this.editState === false) {\r\n this.groupService.fetchAllState().subscribe((response) => {\r\n if (response.data != null) {\r\n this.stateList = response.data;\r\n this.range.controls['state'].setValue(this.stateList[0].id);\r\n this.range.controls['state'].disable();\r\n response.data.forEach((data: any) => {\r\n data.areaId = data?.id;\r\n });\r\n this.dataForGrid = this.mapToModelState(response.data);\r\n this.allForms();\r\n }\r\n });\r\n }\r\n }\r\n\r\n mapToModelState(dataList) {\r\n let trainingAreaea: Array = [];\r\n dataList.forEach((data) => {\r\n if (data.areaId != null) {\r\n this.trainingArea = new TrainingArea();\r\n this.trainingArea.trainingAreaId = data?.trainingAreaId ? data?.trainingAreaId : null;\r\n this.trainingArea.areaId = data?.areaId;\r\n\r\n let areaName = new Entity();\r\n areaName.name = data.name ? data?.name : data?.trainingArea?.name;\r\n this.trainingArea.trainingArea = areaName;\r\n\r\n // let training = new Training();\r\n // training.trainingId = this.trainingId;\r\n // this.trainingArea.training = training;\r\n\r\n this.trainingArea.trainingId = this.trainingId;\r\n\r\n this.trainingArea.trainingTypeId = this.dataLevel2.trainingLevelId;\r\n\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n this.trainingArea.createdBy = createdBy;\r\n\r\n trainingAreaea.push(this.trainingArea);\r\n }\r\n });\r\n return trainingAreaea;\r\n\r\n }\r\n\r\n createUploadOrderLeterForm() {\r\n this.uploadOrderLeterForm = this.formBuilder.group({\r\n trainingLetterId: [],\r\n letter: ['', [Validators.required]],\r\n description: ['', [Validators.required, Validators.maxLength(250),\r\n Validators.pattern('^[A-Za-z0-9 ]+$')]]\r\n });\r\n }\r\n\r\n editUploadLetterForm(data) {\r\n this.uploadOrderLeterForm = this.formBuilder.group({\r\n trainingLetterId: [data.trainingLetterId],\r\n letter: [data.letterName, [Validators.required]],\r\n description: [data.description, [Validators.required, Validators.maxLength(250), Validators.pattern('^[A-Za-z0-9 ]+$')]]\r\n });\r\n this.loading = false;\r\n }\r\n\r\n get description() {\r\n return this.uploadOrderLeterForm.get('description');\r\n }\r\n\r\n getTrainingCheckListByTrainingId() {\r\n this.loading = true;\r\n this.trainingService.getTrainingCheckListByTrainingId(this.trainingId).subscribe((response) => {\r\n if (response && response?.data) {\r\n this.loading = false;\r\n this.checkListMasterNew = response.data;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n onClickDistrict() {\r\n this.divisionReadOnly = true;\r\n }\r\n\r\n onClickBlock() {\r\n this.divisionReadOnly = true;\r\n this.districtReadOnly = true;\r\n }\r\n\r\n onClickCluster() {\r\n this.divisionReadOnly = true;\r\n this.districtReadOnly = true;\r\n this.blockReadOnly = true;\r\n }\r\n\r\n\r\n getNumberOfDays(event) {\r\n let numberOfDays = event.target.value;\r\n if (numberOfDays > this.noOfDay) {\r\n this.toast.info({\r\n detail: 'Info',\r\n summary: 'Number of Days should be less than ' + parseInt(this.noOfDay + 1) + ' for this training.',\r\n duration: 10000\r\n });\r\n this.batchInfo.get('numberOfDays').setValue('');\r\n } else {\r\n document.getElementById('error').innerHTML = \"\";\r\n }\r\n\r\n }\r\n\r\n createMonitoringQuestionEdit() {\r\n this.monitoringQuestionsForm = this.formBuilder.group({\r\n monitorQuestionFormArray: this.formBuilder.array([]),\r\n });\r\n this.patch();\r\n }\r\n\r\n\r\n patch() {\r\n const control = this.monitoringQuestionsForm.get('monitorQuestionFormArray');\r\n this.fields.forEach(x => {\r\n control.push(this.patchValues(x.question, x.monitorQuestionId))\r\n })\r\n }\r\n\r\n patchValues(question, monitorQuestionId) {\r\n return this.formBuilder.group({\r\n monitorQuestionId: [monitorQuestionId],\r\n question: [question]\r\n });\r\n }\r\n\r\n newMainItem(item): FormGroup {\r\n return this.formBuilder.group({\r\n checkListName: [\r\n item.checkListName,\r\n [\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z0-9- ]+$'),\r\n Validators.required,\r\n ],\r\n ],\r\n checkListId: [item.checkListId],\r\n checkListItems: this.formBuilder.array([], Validators.required),\r\n });\r\n }\r\n\r\n newChecklistItem(item): FormGroup {\r\n return this.formBuilder.group({\r\n checkListItemName: [\r\n item.checkListItemName,\r\n [\r\n Validators.required,\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z0-9- ]+$'),\r\n ],\r\n ],\r\n checkListItemId: [item.checkListItemId]\r\n });\r\n }\r\n\r\n editAssessment() {\r\n if (this.dailySelected === true) {\r\n if (this.batchInfo.value && this.batchInfo.value.numberOfDays) {\r\n this.noOfDays = this.batchInfo.value.numberOfDays;\r\n } else if (this.training && this.training.noOfDays) {\r\n this.noOfDays = this.training.noOfDays;\r\n }\r\n\r\n for (let i = 0; i < this.noOfDays; i++) {\r\n this.assessment[i] = this.formBuilder.group({\r\n totalQuestions: [null, [Validators.required]],\r\n questionnaire: this.formBuilder.array([]),\r\n });\r\n this.day.push({ id: [i], name: 'Day' + ' ' + [i + 1] });\r\n }\r\n if (this.dailyQuestionList.length > 0) {\r\n this.dailyCount = true;\r\n let list = this.dailyQuestionList.filter((i) => i.day === 1);\r\n if (list && list.length > 0) {\r\n this.assessment[0] = this.formBuilder.group({\r\n totalQuestions: [list.length, [Validators.required]],\r\n questionnaire: this.formBuilder.array([]),\r\n });\r\n this.questionsOnEditAssess(list, 0);\r\n }\r\n }\r\n this.quizId = 56;\r\n this.prePostForm = false;\r\n this.dailyTestForm = true;\r\n } else if (this.dailySelected === false) {\r\n this.quizId = 54;\r\n this.prePostForm = true;\r\n this.dailyTestForm = false;\r\n for (let i = 0; i < 2; i++) {\r\n this.assessment[i] = this.formBuilder.group({\r\n totalQuestions: [null, [Validators.required]],\r\n isActive: [this.editResponse.toBePerformed],\r\n questionnaire: this.formBuilder.array([]),\r\n });\r\n }\r\n if (this.preQuestionList.length > 0) {\r\n this.prePostCount = true;\r\n this.saveNextDisableForTest = false;\r\n this.assessment[0] = this.formBuilder.group({\r\n totalQuestions: [this.preQuestionList.length, [Validators.required]],\r\n isActive: [this.editResponse.toBePerformed],\r\n questionnaire: this.formBuilder.array([]),\r\n });\r\n this.questionsOnEditAssess(this.preQuestionList, 0);\r\n }\r\n }\r\n this.activeButton = 0;\r\n }\r\n\r\n questionsOnEditAssess(list, indexValue) {\r\n if (list.length > 0) {\r\n list.forEach((item) => {\r\n this.questions(indexValue).push(\r\n this.formBuilder.group({\r\n question: [item?.question, [Validators.required]],\r\n answer: [item?.answer, [Validators.required]],\r\n option1: [item?.option1, [Validators.required]],\r\n option2: [item?.option2, [Validators.required]],\r\n option3: [item?.option3, [Validators.required]],\r\n option4: [item?.option4, [Validators.required]],\r\n questionId: [item?.questionId],\r\n displayOrder: [item?.displayOrder],\r\n quizId: [item?.quizId?.quizId],\r\n })\r\n );\r\n });\r\n }\r\n }\r\n\r\n getEditTrainingMaterial(trainingId: any) {\r\n let materials = [];\r\n this.trainingService.getTrainingMaterial(trainingId).subscribe((res) => {\r\n if (res && res.data != null) {\r\n materials = res.data;\r\n this.materialRes = materials;\r\n this.allForms();\r\n materials.forEach((linkData) => {\r\n if (linkData.linkPath != null && linkData.linkName != null) {\r\n let link = new Link();\r\n link.materialId = linkData.materialId;\r\n link.linkName = linkData.linkName;\r\n link.linkPath = linkData.linkPath;\r\n this.linksList.push(link);\r\n }\r\n if (linkData.documentName != null && linkData.documentPath != null) {\r\n let doucmentD = new Document();\r\n doucmentD.materialId = linkData.materialId;\r\n let docName = linkData.documentName.replace('Training_ID_4_', '');\r\n let doc = linkData.documentPath.replace(\r\n 'C:apache-tomcat-9.0.64webappsDocumentsTrainingDocs',\r\n ''\r\n );\r\n doucmentD.documentName = docName;\r\n doucmentD.documentPath = doc;\r\n this.documentsList.push(doucmentD);\r\n }\r\n });\r\n // this.gridApi1.setRowData(this.documentsList);\r\n //this.gridApi2.setRowData(this.linksList);\r\n }\r\n });\r\n }\r\n getAllDivision() {\r\n this.userService.getDivisionData().subscribe((response) => {\r\n if (response && response.data && response.data !== null && response.data != undefined && this.roleTypeId != 40) {\r\n this.divisionData = response.data;\r\n let a = [];\r\n for (let i = 0; i < this.roleArea.length; i++) {\r\n a.push(this.divisionData.filter((data) => data.id === Number(this.roleArea[i].divisionId)));\r\n }\r\n this.divisionData = a.flat();\r\n let b = new Set(this.divisionData);\r\n this.divisionData = [...b];\r\n } else {\r\n this.divisionData = response.data;\r\n }\r\n });\r\n\r\n }\r\n getTrainingAreas(id: any) {\r\n this.groupService.fetchTrainingAreas(id).subscribe((res) => {\r\n if (res.data != null) {\r\n res.data.forEach((element) => {\r\n\r\n if (element.trainingArea.divisionName) {\r\n element.trainingArea.name = element.trainingArea.divisionName;\r\n } else if (element.trainingArea.districtName) {\r\n element.trainingArea.name = element.trainingArea.districtName;\r\n } else if (element.trainingArea.blockName) {\r\n element.trainingArea.name = element.trainingArea.blockName;\r\n } else if (element.trainingArea.stateName) {\r\n element.trainingArea.name = element.trainingArea.stateName;\r\n this.editState = true;\r\n }\r\n });\r\n this.stateList = [{\r\n id: 1,\r\n name: 'Madhya Pradesh'\r\n }]\r\n this.range.controls['state'].setValue(this.stateList[0].id);\r\n this.range.controls['state'].disable();\r\n this.dataForGrid = res.data;\r\n this.createColumnDefs();\r\n this.allForms();\r\n if (\r\n this.dataForGrid != null &&\r\n this.dataForGrid.length != 0\r\n ) {\r\n this.disabledBtn = false;\r\n this.rangeValid = false;\r\n } else {\r\n this.disabledBtn = true;\r\n this.rangeValid = true;\r\n }\r\n } else {\r\n if (this.dataLevel2.trainingLevelId.id === 40) {\r\n this.fetchAllState();\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this.browserRefresh) {\r\n this.router.navigate(['/training/trainingMaster']);\r\n }\r\n this.dropdownSettings = {\r\n idField: 'id',\r\n textField: 'name',\r\n itemsShowLimit: 3\r\n };\r\n this.dropdownSettingsDivision = {\r\n idField: 'id',\r\n textField: 'name',\r\n itemsShowLimit: 3\r\n };\r\n this.dropdownSettingsDistrict = {\r\n idField: 'id',\r\n textField: 'name',\r\n itemsShowLimit: 3\r\n };\r\n this.dropdownSettingsBlockAre = {\r\n idField: \"id\",\r\n textField: \"name\",\r\n itemsShowLimit: 3\r\n };\r\n this.dropdownSettingsClusterAre = {\r\n idField: 'id',\r\n textField: 'name',\r\n itemsShowLimit: 3\r\n };\r\n this.createFormMonitoringQuestions();\r\n this.createCheckListForm();\r\n this.getDayList();\r\n // this.getState();\r\n this.craeteFormBatchInfo();\r\n this.createFormRange();\r\n this.createFormAssessment();\r\n this.createFormTrainingMaterial();\r\n this.saveTraining();\r\n this.allForms();\r\n\r\n }\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n\r\n /*DIVISION CHANGE */\r\n\r\n onItemSelectDivision(event: any) {\r\n if (this.trainingLevelId === 41 && event.id != null) {\r\n this.disabledBtn = false;\r\n }\r\n this.divisionId = event.id;\r\n this.trainingArea = new TrainingArea();\r\n this.trainingArea.areaId = event.id;\r\n let areaName = new Entity();\r\n areaName.name = event.name;\r\n this.trainingArea.trainingArea = areaName;\r\n\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n this.trainingArea.training = training;\r\n\r\n this.trainingArea.trainingTypeId = this.dataLevel2.trainingLevelId;\r\n\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n this.trainingArea.createdBy = createdBy;\r\n\r\n if (this.trainingLevelId == 41) {\r\n const filterArea = this.dataForGrid.filter(\r\n (area) => area.areaId === this.trainingArea.areaId\r\n );\r\n if (filterArea.length === 0) {\r\n this.dataForGrid.push(this.trainingArea);\r\n }\r\n // else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: 'This selected area is already added!',\r\n // duration: 5000,\r\n // });\r\n // this.disabledBtn = true;\r\n // }\r\n\r\n\r\n\r\n }\r\n\r\n this.groupService\r\n .fetchDistrictByDivisionId(event.id)\r\n .subscribe((response) => {\r\n if (response && response.data &&\r\n response.data != null && response.data != undefined && this.roleTypeId != 40) {\r\n this.districtData = response.data;\r\n this.districtDataList.push(this.districtData);\r\n this.districtData = this.districtDataList.flat();\r\n let a = [];\r\n for (let i = 0; i < this.roleArea.length; i++) {\r\n a.push(this.districtData.filter((data) => data.id === Number(this.roleArea[i].districtId)));\r\n }\r\n this.districtData = a.flat();\r\n let b = new Set(this.districtData);\r\n this.districtData = [...b];\r\n // this.dataForGrid = this.districtData;\r\n this.range.controls['district'].reset();\r\n this.range.controls['block'].reset();\r\n } else {\r\n this.districtData.push(response.data);\r\n this.districtData = this.districtData.flat();\r\n }\r\n });\r\n }\r\n\r\n onSelectAllDivision(items: any) {\r\n items.forEach((event) => {\r\n if (this.trainingLevelId === 41 && event.id != null) {\r\n this.disabledBtn = false;\r\n }\r\n this.divisionId = event.id;\r\n this.trainingArea = new TrainingArea();\r\n this.trainingArea.areaId = event.id;\r\n let areaName = new Entity();\r\n areaName.name = event.name;\r\n this.trainingArea.trainingArea = areaName;\r\n\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n this.trainingArea.training = training;\r\n\r\n this.trainingArea.trainingTypeId = this.dataLevel2.trainingLevelId;\r\n\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n this.trainingArea.createdBy = createdBy;\r\n\r\n if (this.trainingLevelId == 41) {\r\n const filterArea = this.dataForGrid.filter(\r\n (area) => area.areaId === this.trainingArea.areaId\r\n );\r\n if (filterArea.length === 0) {\r\n this.dataForGrid.push(this.trainingArea);\r\n }\r\n // else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: 'This selected area is already added!',\r\n // duration: 5000,\r\n // });\r\n // }\r\n }\r\n\r\n this.groupService\r\n .fetchDistrictByDivisionId(event.id)\r\n .subscribe((response) => {\r\n if (response && response.data &&\r\n response.data != null && response.data != undefined && this.roleTypeId != 40) {\r\n this.districtData = response.data;\r\n this.districtDataList.push(response.data);\r\n this.districtData = this.districtDataList.flat();\r\n let a = [];\r\n for (let i = 0; i < this.roleArea.length; i++) {\r\n a.push(this.districtData.filter((data) => data.id === Number(this.roleArea[i].districtId)));\r\n }\r\n this.districtData = a.flat();\r\n let b = new Set(this.districtData);\r\n this.districtData = [...b];\r\n // this.dataForGrid = this.districtData;\r\n this.range.controls['district'].reset();\r\n this.range.controls['block'].reset();\r\n } else {\r\n this.districtData.push(response.data);\r\n this.districtData = this.districtData.flat();\r\n }\r\n });\r\n });\r\n }\r\n\r\n deselectItems(item) {\r\n let filtered = this.DATA.filter((data) => (data.areaId !== item.id));\r\n this.DATA = filtered;\r\n if (this.DATA.length === 0) {\r\n this.disabledBtn = true;\r\n }\r\n }\r\n\r\n\r\n onItemDeSelectDivision(item: any) {\r\n this.groupService.fetchDistrictByDivisionId(item.id).subscribe((response) => {\r\n if (response && response.data &&\r\n response.data != null && response.data != undefined) {\r\n this.districtData = this.districtData.filter(item => {\r\n return !response.data.some(removeItem => item.id === removeItem.id);\r\n });\r\n }\r\n });\r\n this.deselectItems(item);\r\n }\r\n\r\n onUnSelectAllDivision() {\r\n this.dataForGrid = [];\r\n this.districtData = [];\r\n this.blockData = [];\r\n this.clusterData = [];\r\n this.disabledBtn = true;\r\n }\r\n\r\n /*DISTRICT CHANGE */\r\n\r\n onItemSelectDistrict(event: any) {\r\n this.districtOnChange(event);\r\n }\r\n\r\n onItemDeSelectDistrict(item: any) {\r\n this.groupService.fetchBlockByDistrictId(item.id).subscribe((response) => {\r\n if (response && response.data &&\r\n response.data != null && response.data != undefined) {\r\n this.blockData = this.blockData.filter(item => {\r\n return !response.data.some(removeItem => item.id === removeItem.id);\r\n });\r\n }\r\n });\r\n this.deselectItems(item);\r\n }\r\n onSelectAllDistrict(items: any) {\r\n items.forEach((event) => {\r\n if (this.trainingLevelId === 42 && this.divisionId != null) {\r\n this.disabledBtn = false;\r\n }\r\n this.districtId = event.id;\r\n this.trainingArea = new TrainingArea();\r\n this.trainingArea.areaId = event.id;\r\n\r\n let areaName = new Entity();\r\n areaName.name = event.name;\r\n this.trainingArea.trainingArea = areaName;\r\n\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n this.trainingArea.training = training;\r\n\r\n this.trainingArea.trainingTypeId = this.dataLevel2.trainingLevelId;\r\n\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n this.trainingArea.createdBy = createdBy;\r\n\r\n if (this.trainingLevelId == 42) {\r\n const filterArea = this.dataForGrid.filter(\r\n (area) => area.areaId === this.trainingArea.areaId\r\n );\r\n if (filterArea.length === 0) {\r\n this.dataForGrid.push(this.trainingArea);\r\n }\r\n // else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: 'This selected area is already added!',\r\n // duration: 5000,\r\n // });\r\n // }\r\n }\r\n\r\n\r\n this.groupService.fetchBlockByDistrictId(event.id).subscribe((response) => {\r\n if (response && response.data &&\r\n response.data != null && response.data != undefined && this.roleTypeId != 40) {\r\n this.blockData = response.data;\r\n this.blockDataList.push(response.data);\r\n this.blockData = this.blockDataList.flat();\r\n let a = [];\r\n for (let i = 0; i < this.roleArea.length; i++) {\r\n a.push(this.blockData.filter((data) => data.id === Number(this.roleArea[i].blockId)));\r\n }\r\n this.blockData = a.flat();\r\n let b = new Set(this.blockData);\r\n this.blockData = [...b];\r\n this.range.controls['block'].reset();\r\n\r\n } else {\r\n this.blockData.push(response.data);\r\n this.blockData = this.blockData.flat();\r\n }\r\n });\r\n });\r\n }\r\n onUnSelectAllDistrict() {\r\n this.dataForGrid = [];\r\n this.blockData = [];\r\n this.clusterData = [];\r\n this.disabledBtn = true;\r\n }\r\n\r\n\r\n\r\n districtOnChange(event) {\r\n if (this.trainingLevelId === 42 && this.divisionId != null) {\r\n this.disabledBtn = false;\r\n }\r\n this.districtId = event.id;\r\n this.trainingArea = new TrainingArea();\r\n this.trainingArea.areaId = event.id;\r\n\r\n let areaName = new Entity();\r\n areaName.name = event.name;\r\n this.trainingArea.trainingArea = areaName;\r\n\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n this.trainingArea.training = training;\r\n\r\n this.trainingArea.trainingTypeId = this.dataLevel2.trainingLevelId;\r\n\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n this.trainingArea.createdBy = createdBy;\r\n\r\n if (this.trainingLevelId == 42) {\r\n const filterArea = this.dataForGrid.filter(\r\n (area) => area.areaId === this.trainingArea.areaId\r\n );\r\n if (filterArea.length === 0) {\r\n this.dataForGrid.push(this.trainingArea);\r\n // this.DATA.push(this.trainingArea);\r\n }\r\n // else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: 'This selected area is already added!',\r\n // duration: 5000,\r\n // });\r\n // this.disabledBtn = true;\r\n // }\r\n }\r\n\r\n\r\n this.groupService.fetchBlockByDistrictId(event.id).subscribe((response) => {\r\n if (response && response.data &&\r\n response.data != null && response.data != undefined && this.roleTypeId != 40) {\r\n this.blockData = response.data;\r\n this.blockDataList.push(this.blockData);\r\n this.blockData = this.blockDataList.flat();\r\n let a = [];\r\n for (let i = 0; i < this.roleArea.length; i++) {\r\n a.push(this.blockData.filter((data) => data.id === Number(this.roleArea[i].blockId)));\r\n }\r\n this.blockData = a.flat();\r\n let b = new Set(this.blockData);\r\n this.blockData = [...b];\r\n this.range.controls['block'].reset();\r\n } else {\r\n this.blockData.push(response.data);\r\n this.blockData = this.blockData.flat();\r\n }\r\n });\r\n }\r\n\r\n divisionOnChange(event) {\r\n if (this.trainingLevelId === 41 && event.id != null) {\r\n this.disabledBtn = false;\r\n }\r\n this.divisionId = event.id;\r\n this.trainingArea = new TrainingArea();\r\n this.trainingArea.areaId = event.id;\r\n let areaName = new Entity();\r\n areaName.name = event.name;\r\n this.trainingArea.trainingArea = areaName;\r\n\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n this.trainingArea.training = training;\r\n\r\n this.trainingArea.trainingTypeId = this.dataLevel2.trainingLevelId;\r\n\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n this.trainingArea.createdBy = createdBy;\r\n\r\n if (this.trainingLevelId == 41) {\r\n const filterArea = this.dataForGrid.filter(\r\n (area) => area.areaId === this.trainingArea.areaId\r\n );\r\n if (filterArea.length === 0) {\r\n this.dataForGrid.push(this.trainingArea);\r\n }\r\n // else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: 'This selected area is already added!',\r\n // duration: 5000,\r\n // });\r\n // this.disabledBtn = true;\r\n // }\r\n }\r\n\r\n this.groupService\r\n .fetchDistrictByDivisionId(event.id)\r\n .subscribe((response) => {\r\n if (response && response.data &&\r\n response.data != null && response.data != undefined && this.roleTypeId != 40) {\r\n this.districtData = response.data;\r\n this.districtDataList.push(this.districtData);\r\n this.districtData = this.districtDataList.flat();\r\n let a = [];\r\n for (let i = 0; i < this.roleArea.length; i++) {\r\n a.push(this.districtData.filter((data) => data.id === Number(this.roleArea[i].districtId)));\r\n }\r\n this.districtData = a.flat();\r\n let b = new Set(this.districtData);\r\n this.districtData = [...b];\r\n this.dataForGrid = this.districtData;\r\n this.range.controls['district'].reset();\r\n this.range.controls['block'].reset();\r\n } else {\r\n this.districtData = response.data;\r\n }\r\n });\r\n }\r\n\r\n\r\n /*BLOCK CHANGE*/\r\n onItemSelectBlock(event: any) {\r\n this.blockOnChange(event);\r\n }\r\n\r\n onItemDeSelectBlock(item: any) {\r\n this.groupService.fetchClusterByBlockId(item.id).subscribe((response) => {\r\n if (response && response.data &&\r\n response.data != null && response.data != undefined) {\r\n this.clusterData = this.clusterData.filter(item => {\r\n return !response.data.some(removeItem => item.id === removeItem.id);\r\n });\r\n }\r\n });\r\n this.deselectItems(item);\r\n }\r\n onSelectAllBlock(items: any) {\r\n items.forEach((event) => {\r\n if (this.trainingLevelId === 43 && this.districtId != null) {\r\n this.disabledBtn = false;\r\n }\r\n\r\n this.trainingArea = new TrainingArea();\r\n this.trainingArea.areaId = event.id;\r\n\r\n let areaName = new Entity();\r\n areaName.name = event.name;\r\n this.trainingArea.trainingArea = areaName;\r\n\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n this.trainingArea.training = training;\r\n\r\n this.trainingArea.trainingTypeId = this.dataLevel2.trainingLevelId;\r\n\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n this.trainingArea.createdBy = createdBy;\r\n\r\n if (this.trainingLevelId == 43) {\r\n const filterArea = this.dataForGrid.filter(\r\n (area) => area.areaId === this.trainingArea.areaId\r\n );\r\n if (filterArea.length === 0) {\r\n this.dataForGrid.push(this.trainingArea);\r\n }\r\n // else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: 'This selected area is already added!',\r\n // duration: 5000,\r\n // });\r\n // }\r\n }\r\n\r\n this.groupService.fetchClusterByBlockId(event.id)\r\n .subscribe((response) => {\r\n if (response && response.data &&\r\n response.data != null && response.data != undefined && this.roleTypeId != 40) {\r\n this.clusterData = response.data;\r\n this.clusterDataList.push(response.data);\r\n this.clusterData = this.clusterDataList.flat();\r\n let a = [];\r\n for (let i = 0; i < this.roleArea.length; i++) {\r\n a.push(this.clusterData.filter((data) => data.id === Number(this.roleArea[i].clusterId)));\r\n }\r\n this.clusterData = a.flat();\r\n let b = new Set(this.clusterData);\r\n this.clusterData = [...b];\r\n } else {\r\n this.clusterData.push(response.data);\r\n this.clusterData = this.clusterData.flat();\r\n }\r\n });\r\n });\r\n }\r\n onUnSelectAllBlock() {\r\n this.dataForGrid = [];\r\n this.clusterData = [];\r\n this.disabledBtn = true;\r\n }\r\n\r\n /*CLUSTER CHANGE*/\r\n onItemSelectCluster(event: any) {\r\n this.clusterOnChange(event);\r\n }\r\n\r\n onItemDeSelectCluster(item: any) {\r\n this.deselectItems(item);\r\n }\r\n onSelectAllCluster(items: any) {\r\n items.forEach((event) => {\r\n this.clusterOnChange(event);\r\n })\r\n }\r\n onUnSelectAllCluster() {\r\n this.dataForGrid = [];\r\n this.clusterData = [];\r\n this.disabledBtn = true;\r\n }\r\n\r\n\r\n saveTraining() {\r\n var training = new Training();\r\n training.trainingId = this.training.trainingId;\r\n training.approxTrainees = this.training.approxTrainees;\r\n training.createdBy = this.training.createdBy;\r\n training.updatedBy = this.training.updatedBy;\r\n training.createdOn = this.training.createdOn;\r\n training.updatedOn = new Date();\r\n training.description = this.training.description;\r\n training.endDate = new Date(this.training?.endDate?.split(\"-\")?.reverse()?.join(\"-\"));\r\n training.group = this.training.group;\r\n training.initiateTrainingStatus = this.training.initiateTrainingStatus;\r\n training.isActive = this.training.isActive;\r\n training.maximumBatchSize = this.training.maximumBatchSize;\r\n training.minimumTrainer = this.training.minimumTrainer;\r\n training.noOfDays = this.training.noOfDays;\r\n training.startDate = new Date(this.training?.startDate?.split(\"-\")?.reverse()?.join(\"-\"));\r\n training.status = this.training.status;\r\n training.subGroupId = this.training?.subGroupMaster?.subGroupId;\r\n training.trainingLevelId = this.training.trainingLevelId;\r\n training.trainingName = this.training.trainingName;\r\n this.groupService.saveTraining(training).subscribe(resp => {\r\n })\r\n }\r\n\r\n allForms() {\r\n if (this.uploadOrderLeterForm.status === \"INVALID\") {\r\n this.step = 0;\r\n this.connectorC = 0;\r\n\r\n }\r\n else if (this.batchInfo.status === \"INVALID\") {\r\n this.step = 1;\r\n this.connectorC = 1;\r\n\r\n } else if (this.dataForGrid === null || this.dataForGrid.length === 0) {\r\n this.createColumnDefs();\r\n this.step = 2;\r\n this.connectorC = 2;\r\n\r\n } else if (this.assessmentData === undefined || this.assessmentData === null || (this.assessmentData && this.assessmentData.data && this.assessmentData.data.length > 0 && this.assessmentData.data[0].formValid !== true)) {\r\n this.step = 3;\r\n this.connectorC = 3;\r\n\r\n } else if (this.materialRes === undefined || this.materialRes === null || this.materialRes.length === 0) {\r\n this.step = 4;\r\n this.connectorC = 4;\r\n\r\n } else if (this.checkListFormNew.status === \"INVALID\") {\r\n this.step = 5;\r\n this.connectorC = 5;\r\n }\r\n else {\r\n this.step = 6;\r\n this.connectorC = 6;\r\n }\r\n \r\n }\r\n\r\n uploadLetter(event) {\r\n let files = event.target.files[0];\r\n let doctype = files?.name?.split('.');\r\n let doctypeName = doctype[doctype.length - 1];\r\n if (doctypeName && (doctypeName === \"pdf\" || doctypeName === \"PDF\") && files?.size <= 94371840) {\r\n this.fileUploadplaceHolder = \"\";\r\n this.formDataLetter.append(\"Letter\", files);\r\n this.fileName = files.name;\r\n this.uploadOrderLeterForm.controls['letter'].setValue(this.fileName);\r\n } else {\r\n this.toast.info({\r\n detail: 'Invalid File',\r\n summary: 'Only pdf file formats with maximum size 2MB are allowed',\r\n duration: 10000,\r\n })\r\n event.target.value = '';\r\n }\r\n }\r\n\r\n craeteFormBatchInfo() {\r\n this.batchInfo = this.formBuilder.group({\r\n numberOfDays: [\r\n this.training.noOfDays,\r\n [Validators.required, Validators.max(this.noOfDay), Validators.min(1)],\r\n ],\r\n minTrainer: [this.training.minimumTrainer, [Validators.required]],\r\n maxBatchSize: [this.training.maximumBatchSize, [Validators.required]],\r\n });\r\n }\r\n\r\n // createFormCheckList() {\r\n // this.checkListForm = this.formBuilder.group({\r\n // checkList: this.formBuilder.array([this.createCheckList()], Validators.required),\r\n // });\r\n // }\r\n\r\n // createCheckList(): FormGroup {\r\n // return this.formBuilder.group({\r\n // checkListName: ['', [Validators.required]],\r\n // items: this.formBuilder.array([this.newItem()]),\r\n // });\r\n // }\r\n\r\n checkList(): FormArray {\r\n return this.checkListForm.get('checkList') as FormArray;\r\n }\r\n\r\n checkListItems(itemIndex: number): FormArray {\r\n return this.checkList().at(itemIndex).get('checkListItems') as FormArray;\r\n }\r\n\r\n monitoringQuest(): FormGroup {\r\n return this.formBuilder.group({\r\n question: ['', Validators.required],\r\n training: []\r\n });\r\n }\r\n\r\n newItem(): FormGroup {\r\n return this.formBuilder.group({\r\n checkListItemName: [''],\r\n });\r\n }\r\n\r\n addNewItem(itemIndex: number) {\r\n this.checkListItems(itemIndex).push(this.newItem());\r\n }\r\n\r\n // addanotherCheckList() {\r\n // let c = this.checkListForm.controls['checkList'].value;\r\n // for (let i = this.check; i < c.length; i++) {\r\n // if (c[i].checkListItemName === '') {\r\n // } else {\r\n // this.check++;\r\n // return this.checkList().push(this.createCheckList());\r\n // }\r\n // }\r\n // }\r\n\r\n addMoreItems() { }\r\n\r\n saveItems() { }\r\n\r\n get numberOfDays() {\r\n return this.batchInfo.get('numberOfDays');\r\n }\r\n\r\n get minTrainer() {\r\n return this.batchInfo.get('minTrainer');\r\n }\r\n\r\n get maxBatchSize() {\r\n return this.batchInfo.get('maxBatchSize');\r\n }\r\n\r\n get division() {\r\n return this.range.get('division');\r\n }\r\n\r\n get district() {\r\n return this.range.get('district');\r\n }\r\n\r\n get block() {\r\n return this.range.get('block');\r\n }\r\n\r\n\r\n\r\n\r\n blockOnChange(event) {\r\n if (this.trainingLevelId === 43 && this.districtId != null) {\r\n this.disabledBtn = false;\r\n }\r\n this.trainingArea = new TrainingArea();\r\n this.trainingArea.areaId = event.id;\r\n\r\n let areaName = new Entity();\r\n areaName.name = event.name;\r\n this.trainingArea.trainingArea = areaName;\r\n\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n this.trainingArea.training = training;\r\n\r\n this.trainingArea.trainingTypeId = this.dataLevel2.trainingLevelId;\r\n\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n this.trainingArea.createdBy = createdBy;\r\n\r\n if (this.trainingLevelId == 43) {\r\n const filterArea = this.dataForGrid.filter(\r\n (area) => area.areaId === this.trainingArea.areaId\r\n );\r\n if (filterArea.length === 0) {\r\n this.dataForGrid.push(this.trainingArea);\r\n //this.DATA.push(this.trainingArea);\r\n }\r\n // else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: 'This selected area is already added!',\r\n // duration: 5000,\r\n // });\r\n // this.disabledBtn = true;\r\n // }\r\n }\r\n\r\n this.groupService.fetchClusterByBlockId(event.id)\r\n .subscribe((response) => {\r\n if (response && response.data &&\r\n response.data != null && response.data != undefined && this.roleTypeId != 40) {\r\n this.clusterData = response.data;\r\n this.clusterDataList.push(this.clusterData);\r\n this.clusterData = this.clusterDataList.flat();\r\n let a = [];\r\n for (let i = 0; i < this.roleArea.length; i++) {\r\n a.push(this.clusterData.filter((data) => data.id === Number(this.roleArea[i].clusterId)));\r\n }\r\n this.clusterData = a.flat();\r\n let b = new Set(this.clusterData);\r\n this.clusterData = [...b];\r\n // this.range.controls['district'].reset();\r\n // this.range.controls['block'].reset();\r\n // this.range.controls['cluster'].reset();\r\n } else {\r\n this.clusterData.push(response.data);\r\n this.clusterData = this.clusterData.flat();\r\n }\r\n });\r\n }\r\n\r\n clusterOnChange(event) {\r\n if (this.trainingLevelId === 44 && this.districtId != null) {\r\n this.disabledBtn = false;\r\n }\r\n this.trainingArea = new TrainingArea();\r\n this.trainingArea.areaId = event.id;\r\n\r\n let areaName = new Entity();\r\n areaName.name = event.name;\r\n this.trainingArea.trainingArea = areaName;\r\n\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n this.trainingArea.training = training;\r\n\r\n this.trainingArea.trainingTypeId = this.dataLevel2.trainingLevelId;\r\n\r\n let createdBy = new User();\r\n createdBy.userId = this.userId;\r\n this.trainingArea.createdBy = createdBy;\r\n\r\n if (this.trainingLevelId == 44) {\r\n const filterArea = this.dataForGrid.filter(\r\n (area) => area.areaId === this.trainingArea.areaId\r\n );\r\n if (filterArea.length === 0) {\r\n this.dataForGrid.push(this.trainingArea);\r\n // this.DATA.push(this.trainingArea);\r\n }\r\n // else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: 'This selected area is already added!',\r\n // duration: 5000,\r\n // });\r\n // this.disabledBtn = true;\r\n // }\r\n\r\n }\r\n }\r\n\r\n resetArea() {\r\n this.range.controls['division'].reset();\r\n this.range.controls['district'].reset();\r\n this.range.controls['block'].reset();\r\n this.range.controls['cluster'].reset();\r\n }\r\n\r\n refresh() {\r\n this.range.controls['division'].reset();\r\n this.range.controls['district'].reset();\r\n this.range.controls['block'].reset();\r\n this.range.controls['cluster'].reset();\r\n this.districtReadOnly = false;\r\n this.divisionReadOnly = false;\r\n this.blockReadOnly = false;\r\n this.clusterReadOnly = false;\r\n this.districtDataList = [];\r\n this.clusterDataList = [];\r\n this.blockDataList = [];\r\n this.clusterData = [];\r\n this.districtData = [];\r\n this.blockData = [];\r\n }\r\n\r\n add() {\r\n this.DATA.push(this.dataForGrid);\r\n this.gridApi.setRowData(this.dataForGrid);\r\n // const filterArea = this.trainingAreaList.filter(\r\n // (area) => area.areaId === this.trainingArea.areaId\r\n // );\r\n // if (filterArea.length === 0) {\r\n // this.trainingAreaList.push(this.trainingArea);\r\n // if (this.DATA.length != 0) {\r\n // this.dataForGrid.filter(\r\n // (area) => area.areaId === this.trainingArea.areaId\r\n // );\r\n // this.dataForGrid = this.DATA;\r\n // this.gridApi.setRowData(this.dataForGrid);\r\n // } \r\n // else {\r\n // this.gridApi.setRowData(this.dataForGrid);\r\n // }\r\n\r\n // console.log(JSON.stringify(this.dataForGrid));\r\n // console.log(JSON.stringify(this.DATA));\r\n\r\n // const filteredData = this.dataForGrid.filter(dataFor => {\r\n // return this.DATA.some(data => {\r\n // return data.areaId === dataFor.areaId;\r\n // });\r\n // });\r\n\r\n // if (filteredData.length === 0) {\r\n // this.dataForGrid.push(this.dataForGrid);\r\n // //this.DATA.push(this.dataForGrid);\r\n // this.gridApi.setRowData(this.dataForGrid);\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: 'Some areas already added!',\r\n // duration: 5000,\r\n // });\r\n // }\r\n\r\n\r\n if (this.trainingLevelId === 41) {\r\n this.rangeValid = false;\r\n } else if (this.trainingLevelId === 42 && this.divisionId != null) {\r\n this.rangeValid = false;\r\n this.districtData = [];\r\n this.districtDataList = [];\r\n this.blockData = [];\r\n this.blockDataList = [];\r\n this.clusterData = [];\r\n this.clusterDataList = [];\r\n } else if (this.trainingLevelId === 43 && this.districtId != null) {\r\n this.rangeValid = false;\r\n this.districtData = [];\r\n this.districtDataList = [];\r\n this.blockData = [];\r\n this.blockDataList = [];\r\n this.clusterData = [];\r\n this.clusterDataList = [];\r\n } else if (this.trainingLevelId === 44 && this.districtId != null) {\r\n this.rangeValid = false;\r\n this.districtData = [];\r\n this.districtDataList = [];\r\n this.blockData = [];\r\n this.blockDataList = [];\r\n this.clusterData = [];\r\n this.clusterDataList = [];\r\n } else {\r\n this.rangeValid = true;\r\n }\r\n this.disabledBtn = true;\r\n // } else {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: 'This area is already added!',\r\n // duration: 5000,\r\n // });\r\n // }\r\n this.blockReadOnly = false;\r\n this.districtReadOnly = false;\r\n this.divisionReadOnly = false;\r\n this.clusterReadOnly = false;\r\n this.resetArea();\r\n }\r\n\r\n addDocMaterial() {\r\n if (this.trainingMaterial.controls['documentName'].status === 'VALID'\r\n && this.trainingMaterial.controls['trainingMaterial'].status === 'VALID') {\r\n this.document = new Document();\r\n this.document.documentName =\r\n this.trainingMaterial.controls['documentName'].value;\r\n this.document.documentPath = this.fileName;\r\n if (\r\n this.document.documentName == null ||\r\n this.document.documentName === ''\r\n ) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Please specify Document Name',\r\n duration: 5000,\r\n });\r\n } else {\r\n const filterDoc = this.documentsList.filter(\r\n (doc) => doc.documentPath === this.document.documentPath\r\n );\r\n if (filterDoc.length === 0) {\r\n this.documentsList.push(this.document);\r\n this.gridApi1.setRowData(this.documentsList);\r\n this.createColumnDefsDoc();\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'This document is already added!',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n this.trainingMaterial.reset();\r\n } else if (this.trainingMaterial.controls['trainingMaterial'].status !== 'VALID') {\r\n this.toast.info({\r\n detail: Constantss.ERROR,\r\n summary: 'Upload Training Material',\r\n duration: 3000,\r\n })\r\n }\r\n }\r\n\r\n addLinkMaterial() {\r\n if (this.trainingMaterial.controls['link'].status === 'VALID'\r\n && this.trainingMaterial.controls['linkMaterial'].status === 'VALID') {\r\n this.link = new Link();\r\n this.link.linkName = this.trainingMaterial.controls['link'].value;\r\n this.link.linkPath = this.trainingMaterial.controls['linkMaterial'].value;\r\n if (this.link.linkName == null || this.link.linkName == '') {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Please specify name of link',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.createColumnDefsDoc();\r\n this.createColumnDefsLink();\r\n const filterLink = this.linksList.filter(\r\n (link) => link.linkPath === this.link.linkPath\r\n );\r\n if (filterLink.length === 0) {\r\n if (this.link.linkPath.startsWith(\"https://\") != true) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Please enter valid url!',\r\n duration: 5000,\r\n });\r\n } else {\r\n this.linksList.push(this.link);\r\n this.gridApi2.setRowData(this.linksList);\r\n }\r\n\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'This link is already added!',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n this.trainingMaterial.reset();\r\n } else if (this.trainingMaterial.controls['linkMaterial'].status !== 'VALID') {\r\n this.toast.info({\r\n detail: Constantss.ERROR,\r\n summary: 'Material Link is not added!!',\r\n duration: 3000,\r\n })\r\n }\r\n }\r\n\r\n createFormRange() {\r\n this.range = this.formBuilder.group({\r\n division: [null, [Validators.required]],\r\n district: [null],\r\n block: [null],\r\n cluster: [null],\r\n state: [null]\r\n });\r\n }\r\n\r\n createFormAssessment() {\r\n this.assessment = this.formBuilder.group({\r\n selectedQuiz: [null, [Validators.required]],\r\n selectedDay: [],\r\n totalQuestions: [0, [Validators.required]],\r\n questionnaire: this.formBuilder.array([]),\r\n });\r\n }\r\n\r\n get selectedQuize() {\r\n return this.assessment.get('selectedQuiz');\r\n }\r\n\r\n editAssessmentForm() {\r\n this.assessment = this.formBuilder.group({\r\n selectedQuiz: [this.editResponse.selectedQuiz.id],\r\n selectedDay: [],\r\n totalQuestions: ['', [Validators.required]],\r\n questionnaire: this.formBuilder.array([]),\r\n });\r\n }\r\n\r\n createFormTrainingMaterial() {\r\n this.trainingMaterial = this.formBuilder.group({\r\n documentName: ['', [Validators.required, Validators.maxLength(50)]],\r\n trainingMaterial: ['', [Validators.required]],\r\n link: ['', [Validators.required, Validators.maxLength(50)]],\r\n linkMaterial: ['', [Validators.required]],\r\n });\r\n }\r\n\r\n get documentName() {\r\n return this.trainingMaterial.get('documentName');\r\n }\r\n\r\n get linkName() {\r\n return this.trainingMaterial.get('link');\r\n }\r\n\r\n uploadDoc(event: any) {\r\n let files = event.target.files[0];\r\n let doctype = files?.name?.split('.');\r\n let doctypeName = doctype[doctype.length - 1];\r\n if (doctypeName && doctypeName === 'pdf' && files.size <= 94371840) {\r\n this.fileUploadplaceHolder = '';\r\n this.fData.append('file', files);\r\n this.fileName = files.name;\r\n } else {\r\n this.toast.info({\r\n detail: 'Invalid File',\r\n summary: 'Only pdf file formats with maximum size 2MB are allowed',\r\n duration: 10000,\r\n });\r\n event.target.value = '';\r\n }\r\n }\r\n\r\n // addPreTestPanel() {\r\n // this.quizId = 54;\r\n // this.arrayFordragDropPrePost = [];\r\n // this.assessment.controls['totalQuestions'].reset();\r\n // this.assessment.controls['questionnaire'].reset();\r\n // this.totalQuestDisabled = false;\r\n // this.assessment.value.questionnaire = [];\r\n // this.PreTestPanel = true;\r\n // this.PostTestPanel = false;\r\n // this.preTestBtnColor = true;\r\n // this.postTestBtnColor = false;\r\n // }\r\n\r\n // addPostTestPanel() {\r\n // this.quizId = 55;\r\n // this.arrayFordragDropPrePost = [];\r\n // this.assessment.controls['totalQuestions'].reset();\r\n // this.assessment.controls['questionnaire'].reset();\r\n // this.assessment.value.questionnaire = [];\r\n // this.PreTestPanel = false;\r\n // this.PostTestPanel = true;\r\n // this.preTestBtnColor = false;\r\n // this.postTestBtnColor = true;\r\n // }\r\n\r\n getDayList() {\r\n this.dropdownList = [\r\n { id: 1, name: 'Day 1' },\r\n { id: 2, name: 'Day 2' },\r\n { id: 3, name: 'Day 3' },\r\n { id: 4, name: 'Day 4' },\r\n { id: 5, name: 'Day 5' },\r\n ];\r\n }\r\n\r\n // getState() {\r\n // this.stateList = stateList;\r\n // }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n\r\n onGridReady1(event?) {\r\n this.gridApi1 = event.api;\r\n }\r\n\r\n onGridReady2(event?) {\r\n this.gridApi2 = event.api;\r\n }\r\n\r\n addAssessment() {\r\n if (this.assessment.controls['selectedQuiz'].valid) {\r\n this.addAssessmentDisable = true;\r\n this.selectQuizDisable = true;\r\n if (this.dailySelected === true) {\r\n this.day = [];\r\n this.noOfDays = this.batchInfo.value.numberOfDays;\r\n for (let i = 0; i < this.noOfDays; i++) {\r\n this.assessment[i] = this.formBuilder.group({\r\n totalQuestions: ['', [Validators.required]],\r\n questionnaire: this.formBuilder.array([]),\r\n });\r\n this.day.push({ id: [i], name: 'Day' + ' ' + [i + 1] });\r\n }\r\n this.quizId = 56;\r\n this.prePostForm = false;\r\n this.dailyTestForm = true;\r\n\r\n for (let i = 0; i < this.day?.length; i++) {\r\n this.addADailyQuestion(i);\r\n }\r\n\r\n } else if (this.dailySelected === false) {\r\n for (let i = 0; i < 2; i++) {\r\n this.assessment[i] = this.formBuilder.group({\r\n totalQuestions: ['', [Validators.required]],\r\n isActive: [true],\r\n questionnaire: this.formBuilder.array([]),\r\n });\r\n }\r\n this.quizId = 54;\r\n this.prePostForm = true;\r\n this.dailyTestForm = false;\r\n\r\n //first time add Assessment pr click krne pe, a empty form gets added\r\n this.addaNewQuestion(0);\r\n this.addaNewQuestion(1);\r\n }\r\n this.activeButton = 0;\r\n }\r\n }\r\n\r\n totalQuestions() {\r\n return this.assessment.get('totalQuestions');\r\n }\r\n\r\n selectedQuiz(e) {\r\n if (e && e.name === 'Daywise') {\r\n this.dailySelected = true;\r\n // this.dailyTestForm = true;\r\n } else {\r\n this.dailySelected = false;\r\n }\r\n this.prePostForm = false;\r\n // this.dailyTestForm = false;\r\n this.arrayFordragDropPrePost = [];\r\n this.arrayFordragDropDaily = [];\r\n }\r\n\r\n mapToModelTrainingLetter(data) {\r\n let trainingLetter = new TrainingLetter();\r\n trainingLetter.createdBy = this.userId;\r\n trainingLetter.createdOn = new Date();\r\n trainingLetter.description = data.description;\r\n trainingLetter.updatedBy = this.userId;\r\n trainingLetter.updatedOn = new Date();\r\n trainingLetter.trainingCode = this.trainingCode;\r\n trainingLetter.trainingLetterId = data.trainingLetterId;\r\n return trainingLetter;\r\n }\r\n\r\n next() {\r\n //console.log(this.step);\r\n if (this.step === 0) {\r\n this.confirmationDialogueService\r\n .confirm('Confirmation', Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let trainingLetter = new TrainingLetter();\r\n trainingLetter = this.mapToModelTrainingLetter(this.uploadOrderLeterForm.value);\r\n this.ppm = new Blob([JSON.stringify(trainingLetter)], { type: 'application/json' });\r\n this.formDataLetter.append('LetterDetails', this.ppm);\r\n let training = this.mapToModelLetterInfo();\r\n this.trainingService.uploadLetter(this.formDataLetter).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.formDataLetter = new FormData();\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 1000\r\n });\r\n this.loading = false;\r\n this.groupService.saveTraining(training).subscribe({})\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.error,\r\n duration: 10000,\r\n });\r\n })\r\n this.connectorC++;\r\n this.step++;\r\n // this.allForms();\r\n }\r\n });\r\n\r\n }\r\n else if (this.step == 1 && this.connectorC == 1) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let training = new Training();\r\n training = this.mapToModelBatchInfo(this.batchInfo.value);\r\n this.groupService.saveTraining(training).subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n this.batchInfo_step = true;\r\n this.connectorC++;\r\n this.step++;\r\n this.createColumnDefs();\r\n }\r\n });\r\n } else if (this.step == 2 && this.connectorC == 2) {\r\n // if (this.trainingLevelId === 40) {\r\n\r\n // // this.trainingArea = new TrainingArea();\r\n // // this.trainingArea.areaId = 1;\r\n // // let areaName = new Entity();\r\n // // areaName.name = 'Madhya Pradesh';\r\n // // this.trainingArea.trainingArea = areaName;\r\n // // let training = new Training();\r\n // // training.trainingId = this.trainingId;\r\n // // this.trainingArea.training = training;\r\n // // this.trainingArea.trainingTypeId = this.dataLevel2.trainingLevelId;\r\n // // let createdBy = new User();\r\n // // createdBy.userId = this.userId;\r\n // // this.trainingArea.createdBy = createdBy;\r\n // // this.trainingAreaList.push(this.trainingArea);\r\n // }\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n this.dataForGrid = this.mapToModelState(this.dataForGrid);\r\n //console.log(this.dataForGrid);\r\n this.groupService.saveTrainingArea(this.dataForGrid).subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.dataForGrid = this.mapToModelState(response?.data);\r\n //console.log(this.dataForGrid);\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n\r\n this.range_step = true;\r\n this.connectorC++;\r\n this.step++;\r\n // if(this.dataLevel2 === 40){\r\n // this.dataForGrid.push(stateList)\r\n // }\r\n }\r\n });\r\n } else if (this.step == 3 && this.connectorC == 3) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n // let result1;\r\n // let e = 0;\r\n // for (let e = 0; e < 15; e++) {\r\n // if (\r\n // this.assessment[e] &&\r\n // this.assessment[e].value &&\r\n // this.assessment[e].value.questionnaire &&\r\n // this.assessment[e].value.questionnaire.length > 0\r\n // ) {\r\n // result1 = this.assessment[e].value.questionnaire;\r\n // let count = 1;\r\n // result1.forEach((i) => {\r\n // i.displayOrder = count;\r\n // count++;\r\n // });\r\n // this.trainingService.saveQuestions(result1).subscribe();\r\n // }\r\n // }\r\n // this.toast.success({\r\n // detail: Constantss.SUCCESS,\r\n // summary: 'Data saved successfully',\r\n // duration: 5000,\r\n // });\r\n this.assessment_step = true;\r\n this.connectorC++;\r\n this.step++;\r\n this.createColumnDefsDoc();\r\n this.createColumnDefsLink();\r\n }\r\n });\r\n } else if (this.step == 4 && this.connectorC == 4) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let trainingMaterial: TrainingMaterial[];\r\n trainingMaterial = this.mapperLinkList();\r\n let trainingMaterialJSON = new Blob(\r\n [JSON.stringify(trainingMaterial)],\r\n {\r\n type: 'application/json',\r\n }\r\n );\r\n this.fData.append('training', trainingMaterialJSON);\r\n this.trainingService.saveTrainingMaterial(this.fData, \"State\", null).subscribe(\r\n (res) => {\r\n if (res.status == '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: res.message,\r\n duration: 5000,\r\n });\r\n // this.router.navigate(['/training/trainingMaster']);\r\n } else if (res.status == '400') {\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: res?.message,\r\n // duration: 10000,\r\n // });\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n }\r\n );\r\n this.trainingMaterial_step = true;\r\n this.connectorC++;\r\n this.step++;\r\n this.getEditTrainingQues(this.dataLev);\r\n }\r\n });\r\n } else if (this.step == 5 && this.connectorC == 5) {\r\n const isAnyAddTrue = this.checkListFormNew.value.checkListItemForm.some(item => item.add === true);\r\n if (isAnyAddTrue===false) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.PLS_SELECT_CHECKLIST_ITEMS,\r\n duration: 5000\r\n });\r\n } else {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n\r\n\r\n //the commented code below was for add checklist (acc to F2f branch)\r\n\r\n\r\n // let checkListMaster;\r\n // if (this.checkListData && this.checkListData.length > 0) {\r\n // checkListMaster = this.mapToModelCheckList(this.empForm.value);\r\n // } else {\r\n // checkListMaster = this.mapToModelCheckList(this.empForm.value);\r\n // }\r\n // this.trainingService\r\n // .saveCheckList(checkListMaster)\r\n // .subscribe((response) => {\r\n // if (response.status === '200') {\r\n // this.toast.success({\r\n // detail: 'Success',\r\n // summary: Constantss.SAVED_SUCCESSFULLY,\r\n // duration: 10000,\r\n // });\r\n // } else {\r\n // this.toast.error({\r\n // detail: 'Error',\r\n // summary: Constantss.ERROR,\r\n // duration: 10000,\r\n // });\r\n // }\r\n // });\r\n this.connectorC++;\r\n this.step++;\r\n this.checkList_step = true;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n saveChecklist() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n let checkListNew = this.mapToModelCheckListNew(this.checkListFormNew.value.checkListItemForm)\r\n this.trainingService.saveTrainingCheckList(checkListNew).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.checkListSaved = true;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n // this.connectorC++;\r\n // this.step++;\r\n } else if (response.status === '400') {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response?.message,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n }\r\n }, (err) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: err.err,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n mapToModelCheckListNew(data) {\r\n let checkListNew: Array = [];\r\n data.forEach((data) => {\r\n // if (data.add === true) {\r\n let trainingCheckListItems = new TrainingCheckListItems();\r\n\r\n let checkListItems = new CheckListItems();\r\n\r\n // let checkList = new ChecklistMaster();\r\n // checkList.checkListId = this.checkListIdNew;\r\n // checkListItems.checkList = checkList;\r\n\r\n checkListItems.checkListItemId = data.checkListItemId;\r\n checkListItems.trainingChkItemId = data.trainingChkItemId;\r\n\r\n checkListItems.checked = data.add;\r\n trainingCheckListItems.checkListItems = checkListItems;\r\n\r\n trainingCheckListItems.createdBy = this.userId;\r\n trainingCheckListItems.createdOn = new Date();\r\n trainingCheckListItems.updatedBy = this.userId;\r\n trainingCheckListItems.updatedOn = new Date();\r\n trainingCheckListItems.trainingId = this.trainingId;\r\n\r\n checkListNew.push(trainingCheckListItems);\r\n // }\r\n })\r\n return checkListNew;\r\n }\r\n\r\n resetFormData() {\r\n this.fData.delete('training');\r\n this.fData.delete('file');\r\n }\r\n mapperLinkList(): Array {\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n this.linksList.forEach((element) => {\r\n let trainingMaterial = new TrainingMaterial();\r\n trainingMaterial.materialId = element.materialId;\r\n trainingMaterial.linkName = element.linkName;\r\n trainingMaterial.linkPath = element.linkPath;\r\n trainingMaterial.documentLevel = \"State Level\";\r\n trainingMaterial.trainingId = training.trainingId;\r\n this.trainingMaterialList.push(trainingMaterial);\r\n });\r\n\r\n this.documentsList.forEach(element => {\r\n let trainingMaterial = new TrainingMaterial();\r\n trainingMaterial.materialId = element.materialId;\r\n trainingMaterial.trainingId = training.trainingId;\r\n trainingMaterial.documentName = element.documentName;\r\n trainingMaterial.documentPath = element.documentPath;\r\n this.trainingMaterialList.push(trainingMaterial);\r\n })\r\n return this.trainingMaterialList;\r\n }\r\n\r\n mapToModelBatchInfo(data: any): Training {\r\n let training = new Training();\r\n training.trainingId = this.dataLevel2.trainingId;\r\n training.noOfDays = data.numberOfDays;\r\n training.minimumTrainer = data.minTrainer;\r\n training.maximumBatchSize = data.maxBatchSize;\r\n training.description = this.dataLevel2.description;\r\n training.endDate = this.dateFormattergrid(this.dataLevel2.endDate);\r\n training.startDate = this.dateFormattergrid(this.dataLevel2.startDate);\r\n training.trainingName = this.dataLevel2.trainingName;\r\n training.approxTrainees = this.dataLevel2.approxTrainees;\r\n training.isActive = this.dataLevel2.isActive;\r\n training.subGroupId = this.dataLevel2.subGroupId.subGroupId;\r\n training.trainingLevelId = this.dataLevel2.trainingLevelId;\r\n if (this.dataLevel2.status.id === 52) {\r\n let status = new Entity();\r\n status.id = 52;\r\n training.status = status;\r\n } else {\r\n let status = new Entity();\r\n status.id = 51;\r\n training.status = status;\r\n }\r\n if (this.dataLevel2.trainingType != undefined && this.dataLevel2.trainingType != null) {\r\n let trainingType = new Entity();\r\n trainingType.id = this.dataLevel2.trainingType.id;\r\n training.trainingType = trainingType;\r\n }\r\n\r\n let initiateTrainingStatus = new Entity();\r\n initiateTrainingStatus.id = 60;\r\n training.initiateTrainingStatus = initiateTrainingStatus;\r\n training.updatedOn = new Date();\r\n return training;\r\n }\r\n\r\n mapToModelLetterInfo(): Training {\r\n\r\n let training = new Training();\r\n training.trainingId = this.dataLevel2.trainingId;\r\n training.noOfDays = this.numberOfDays.value;\r\n training.minimumTrainer = this.minTrainer.value;\r\n training.maximumBatchSize = this.maxBatchSize.value;\r\n training.description = this.dataLevel2.description;\r\n training.endDate = this.dateFormattergrid(this.dataLevel2.endDate);\r\n training.startDate = this.dateFormattergrid(this.dataLevel2.startDate);\r\n training.trainingName = this.dataLevel2.trainingName;\r\n training.approxTrainees = this.dataLevel2.approxTrainees;\r\n training.isActive = this.dataLevel2.isActive;\r\n training.subGroupId = this.dataLevel2.subGroupId?.subGroupId;\r\n training.trainingLevelId = this.dataLevel2.trainingLevelId;\r\n if (this.dataLevel2.status.id === 52) {\r\n let status = new Entity();\r\n status.id = 52;\r\n training.status = status;\r\n } else {\r\n let status = new Entity();\r\n status.id = 51;\r\n training.status = status;\r\n }\r\n if (this.dataLevel2.trainingType != undefined && this.dataLevel2.trainingType != null) {\r\n let trainingType = new Entity();\r\n trainingType.id = this.dataLevel2.trainingType.id;\r\n training.trainingType = trainingType;\r\n }\r\n\r\n let initiateTrainingStatus = new Entity();\r\n initiateTrainingStatus.id = 60;\r\n training.initiateTrainingStatus = initiateTrainingStatus;\r\n training.updatedOn = new Date();\r\n return training;\r\n }\r\n\r\n\r\n mapToModelBatchInfoFinalSubmit(data: any): Training {\r\n let training = new Training();\r\n training.trainingId = this.dataLevel2.trainingId;\r\n training.noOfDays = data.numberOfDays;\r\n training.minimumTrainer = data.minTrainer;\r\n training.maximumBatchSize = data.maxBatchSize;\r\n training.description = this.dataLevel2.description;\r\n training.endDate = this.dateFormattergrid(this.dataLevel2.endDate);\r\n training.startDate = this.dateFormattergrid(this.dataLevel2.startDate);\r\n training.trainingName = this.dataLevel2.trainingName;\r\n training.approxTrainees = this.dataLevel2.approxTrainees;\r\n training.isActive = this.dataLevel2.isActive;\r\n training.subGroupId = this.dataLevel2.subGroupId?.subGroupId;\r\n if (this.dataLevel2.trainingType != undefined && this.dataLevel2.trainingType != null) {\r\n let trainingType = new Entity();\r\n trainingType.id = this.dataLevel2.trainingType.id;\r\n training.trainingType = trainingType;\r\n }\r\n training.trainingLevelId = this.dataLevel2.trainingLevelId;\r\n let status = new Entity();\r\n\r\n if (this.assessmentData === undefined || this.assessmentData === null) {\r\n this.getEditTrainingQues(this.dataLev);\r\n }\r\n if (this.batchInfo.status === \"INVALID\" || (this.dataForGrid === null || this.dataForGrid.length === 0) ||\r\n this.assessmentData === undefined || (this.assessmentData && this.assessmentData.data && this.assessmentData.data.length > 0 && this.assessmentData.data[0].formValid === false)\r\n || this.checkListMasterNew == null || this.checkListMasterNew == undefined) {\r\n status.id = 51;\r\n } else {\r\n status.id = 52;\r\n }\r\n training.status = status;\r\n let initiateTrainingStatus = new Entity();\r\n initiateTrainingStatus.id = 60;\r\n training.updatedOn = new Date();\r\n training.initiateTrainingStatus = initiateTrainingStatus;\r\n return training;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n dateFormattergrid(date: any) {\r\n // let formatedDate;\r\n // if (typeof date === 'string') {\r\n // const [day, month, year] = date.split('-');\r\n // formatedDate = new Date(+year, +month - 1, +day);\r\n // }\r\n const format = 'yyyy-MM-dd';\r\n // const locale = 'en-US';\r\n // return formatedDate\r\n // ? formatDate(formatedDate, format, locale)\r\n // : formatDate(date, format, locale);\r\n return this.dataSharingService.datePipeFormat(date, format);\r\n\r\n }\r\n\r\n previous() {\r\n this.step--;\r\n this.connectorC--;\r\n if (this.step == 0 && this.connectorC == 0) {\r\n this.getLetter();\r\n this.previousGetLetter = true;\r\n }\r\n else if (this.step == 1 && this.connectorC == 1) {\r\n this.batchInfo_step = false;\r\n } else if (this.step == 2 && this.connectorC == 2) {\r\n console.log(this.dataForGrid);\r\n this.createColumnDefs();\r\n this.range_step = false;\r\n } else if (this.step == 3 && this.connectorC == 3) {\r\n this.assessment_step = false;\r\n } else if (this.step == 4 && this.connectorC == 4) {\r\n this.createColumnDefsLink();\r\n this.createColumnDefsDoc();\r\n this.trainingMaterial_step = false;\r\n } else if (this.step == 5 && this.connectorC == 5) {\r\n this.checkList_step = false;\r\n } else if (this.step == 6 && this.connectorC == 6) {\r\n this.monitoring_Questions_step = false;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n //this submit method was for earlier Final Submit(as in F2F_Training Branch)\r\n submit() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.showLoading();\r\n let training = new Training();\r\n training.trainingId = this.trainingId;\r\n this.monitoringQuestionsForm.value.monitorQuestionFormArray.forEach(item => {\r\n item.training = training;\r\n });\r\n let monitorQuestions = this.monitoringQuestionsForm.value.monitorQuestionFormArray;\r\n this.resetFormData();\r\n this.trainingService.saveMonitoringQuestions(monitorQuestions).subscribe((response) => {\r\n if (response.status === '200') {\r\n let training = new Training();\r\n training = this.mapToModelBatchInfoFinalSubmit(this.batchInfo.value);\r\n this.groupService.saveTraining(training).subscribe(response => {\r\n if (response.status = 200) {\r\n this.showLoading();\r\n this.router.navigate(['/training/trainingMaster']);\r\n }\r\n });\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.SAVED_SUCCESSFULLY,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.ERROR,\r\n duration: 10000,\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n showLoading() {\r\n let element = document.getElementById('cover-spin')\r\n if (element.style.display = 'none') {\r\n element.style.display = 'block'\r\n } else {\r\n element.style.display = 'none'\r\n }\r\n }\r\n\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainingTypeId.entityName',\r\n 'Type'\r\n );\r\n header.width = 300;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainingArea.name',\r\n 'Area'\r\n );\r\n header.width = 400;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Delete');\r\n header.width = 300;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.suppressMovable = true;\r\n header.cellRendererParams = {\r\n type: 'deleteArea',\r\n onDeleteIconClick: this.onDeletBtnClicked.bind(this),\r\n };\r\n this.columnDefs.push(header);\r\n }\r\n\r\n createColumnDefsDoc() {\r\n this.columnDefsDoc = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('documentName', 'Name');\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefsDoc.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('documentPath', 'File');\r\n header.sortable = true;\r\n header.filter = true;\r\n header.width = 300;\r\n header.suppressMovable = true;\r\n header.cellRenderer = this.createHyper.bind(this)\r\n this.columnDefsDoc.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Remove');\r\n header.width = 200;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.suppressMovable = true;\r\n header.cellRendererParams = {\r\n type: 'deleteDoc',\r\n onDeleteIconClick: this.onDeletBtnDocClicked.bind(this),\r\n };\r\n this.columnDefsDoc.push(header);\r\n }\r\n\r\n createColumnDefsLink() {\r\n this.columnDefsLink = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('linkName', 'Name');\r\n header.sortable = true;\r\n header.filter = true;\r\n header.width = 300;\r\n header.suppressMovable = true;\r\n this.columnDefsLink.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('linkPath', 'File');\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n header.width = 300;\r\n header.cellRenderer = this.createHyperLink.bind(this)\r\n this.columnDefsLink.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Remove');\r\n header.width = 200;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.suppressMovable = true;\r\n header.cellRendererParams = {\r\n type: 'deleteLink',\r\n onDeleteIconClick: this.onDeletBtnLinkClicked.bind(this),\r\n };\r\n this.columnDefsLink.push(header);\r\n }\r\n\r\n createHyper(params): any {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.documentPath} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n this.downoadFile(params.data.documentName);\r\n });\r\n return spanElement;\r\n }\r\n\r\n downoadFile(fileName) {\r\n this.fileDTO.fileName = fileName;\r\n this.trainingService.downloadTrainingMaterial(fileName).subscribe((blob: Blob) => {\r\n saveAs(blob, fileName);\r\n });\r\n }\r\n\r\n blobToFile(data: any, type: string, fileName: string) {\r\n const a = document.createElement('a');\r\n document.body.appendChild(a);\r\n a.style.display = 'none';\r\n const blob = new Blob([data], { type: type });\r\n const url = window.URL.createObjectURL(blob);\r\n a.href = url; a.download = fileName; a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n createHyperLink(params): any {\r\n const spanElement = document.createElement('span');\r\n spanElement.innerHTML = ` ${params.data.linkPath} `;\r\n spanElement.addEventListener('click', ($event) => {\r\n $event.preventDefault();\r\n window.open(params.data.linkPath)\r\n //this.router.navigate([params.data.linkPath]);\r\n });\r\n return spanElement;\r\n }\r\n\r\n onDeletBtnClicked(params) {\r\n if (params.data.trainingTypeId.id.entityName !== 'State') {\r\n this.dataForGrid.forEach((element, index) => {\r\n if (element.areaId === params.data.areaId) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.REMOVE_RECORD)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n this.trainingService\r\n .deleteTrainingArea(element.trainingAreaId)\r\n .subscribe((res) => {\r\n if (res.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: res?.message,\r\n duration: 5000,\r\n });\r\n this.loading = false;\r\n } else if (res.status === '400') {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: res?.message,\r\n duration: 5000,\r\n });\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error?.message,\r\n duration: 5000,\r\n });\r\n this.loading = false;\r\n });\r\n this.dataForGrid.splice(index, 1);\r\n this.gridApi.setRowData(this.dataForGrid);\r\n if (this.dataForGrid.length == 0) {\r\n this.rangeValid = true;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n // onDeletBtnLinkClicked(params) {\r\n // this.linksList.forEach((element, index) => {\r\n // if (element.linkPath === params.data.linkPath) {\r\n // this.confirmationDialogueService\r\n // .confirm('Confirmation', 'Do you want to remove this record ?')\r\n // .then((confirmed) => {\r\n // if (confirmed) {\r\n // this.linksList.splice(index, 1);\r\n // this.gridApi2.setRowData(this.linksList);\r\n // }\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n onDeletBtnLinkClicked(params) {\r\n this.linksList.forEach((element, index) => {\r\n if (element.linkPath === params.data.linkPath) {\r\n this.confirmationDialogueService\r\n .confirm(\r\n Constantss.CONFIRMATION,\r\n 'Do you want to remove this record ?'\r\n )\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n if (params.data.materialId != null && params.data.materialId != undefined) {\r\n this.trainingService\r\n .deleteMaterial(params.data.materialId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: 'Record deleted successfully',\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n } else {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: 'Record deleted successfully',\r\n duration: 5000,\r\n });\r\n }\r\n this.linksList.splice(index, 1);\r\n this.gridApi2.setRowData(this.linksList);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n onDeletBtnDocClicked(params) {\r\n this.documentsList.forEach((element, index) => {\r\n if (element.documentPath === params.data.documentPath) {\r\n this.confirmationDialogueService\r\n .confirm(\r\n Constantss.CONFIRMATION,\r\n 'Do you want to remove this record ?'\r\n )\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.fData = new FormData();\r\n if (params.data.materialId != null && params.data.materialId != undefined) {\r\n this.trainingService\r\n .deleteMaterial(params.data.materialId)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: 'Record deleted successfully',\r\n duration: 5000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n } else {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Record deleted successfully',\r\n duration: 10000,\r\n });\r\n }\r\n this.documentsList.splice(index, 1);\r\n this.gridApi1.setRowData(this.documentsList);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n // onDeletBtnDocClicked(params) {\r\n // this.documentsList.forEach((element, index) => {\r\n // if (element.documentPath === params.data.documentPath) {\r\n // this.confirmationDialogueService\r\n // .confirm('Confirmation', 'Do you want to remove this record ?')\r\n // .then((confirmed) => {\r\n // if (confirmed) {\r\n // if(params.data.materialId!=undefined && params.data.materialId!=null){\r\n // this.trainingService.deleteMaterial(params.data.materialId).subscribe(res=>{\r\n // if(res){\r\n // this.toast.success({\r\n // detail: Constantss.SUCCESS,\r\n // summary: 'Record deleted successfully',\r\n // duration: 5000,\r\n // });\r\n // }\r\n // },(error)=>{\r\n // this.toast.error({\r\n // detail: Constantss.ERROR,\r\n // summary: error,\r\n // duration: 5000,\r\n // });\r\n // }\r\n // )\r\n // }\r\n // this.documentsList.splice(index, 1);\r\n // this.gridApi1.setRowData(this.documentsList);\r\n // }\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n cancelTrainingMaterial() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.router.navigate(['/training/trainingMaster']);\r\n }\r\n });\r\n }\r\n\r\n cancelBatchInfo() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.router.navigate(['/training/trainingMaster']);\r\n }\r\n });\r\n }\r\n\r\n cancelUploadOrderLetter() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.router.navigate(['/training/trainingMaster']);\r\n }\r\n });\r\n }\r\n\r\n cancelRange() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.router.navigate(['/training/trainingMaster']);\r\n }\r\n });\r\n }\r\n\r\n cancelAssessment() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.router.navigate(['/training/trainingMaster']);\r\n }\r\n });\r\n }\r\n\r\n questions(index): FormArray {\r\n this.arrayFordragDropPrePost = this.assessment[this.selectedtestIndex].value.questionnaire;\r\n return this.assessment[index].get('questionnaire') as FormArray;\r\n }\r\n\r\n dailyQuestions(index): FormArray {\r\n this.arrayFordragDropDaily =\r\n this.assessment[this.selectedDayIndex].value.questionnaire;\r\n return this.assessment[index].get('questionnaire') as FormArray;\r\n }\r\n\r\n addaNewQuestion(indexValue) {\r\n if (indexValue == null) { // covers both null and undefined\r\n indexValue = (this.quizTypeId === 54) ? 0 : 1;\r\n }\r\n this.questions(indexValue).push(this.newQuestion());\r\n this.changeTotalQuestionCount(indexValue);\r\n }\r\n\r\n addADailyQuestion(indexValue) {\r\n this.dailyQuestions(indexValue).push(this.newQuestion());\r\n this.changeTotalQuestionCount(indexValue);\r\n }\r\n\r\n changeTotalQuestionCount(indexValue) {\r\n this.assessment[indexValue].controls['totalQuestions'].setValue(this.assessment[indexValue].controls['questionnaire'].length);\r\n }\r\n\r\n saveAllQuestions() {\r\n\r\n }\r\n\r\n addQuestionDuplicate(quizId, indexValue) {\r\n let questionList = [];\r\n if (this.assessment[indexValue].controls['questionnaire'].status === 'VALID') {\r\n this.assessment[indexValue].controls['questionnaire'].value.forEach((question) => {\r\n question.quizId = { quizId: quizId };\r\n questionList.push(question);\r\n });\r\n }\r\n this.saveQuestionList(questionList, indexValue);\r\n console.log(JSON.stringify(questionList));\r\n }\r\n\r\n\r\n\r\n saveQuestionList(questionList, indexValue) {\r\n let indexValue_ = indexValue;\r\n let testTitle;\r\n if (this.prePostForm) {\r\n testTitle = indexValue_ == 0 ? \"pre test questions?\" : \"post test questions?\";\r\n } else {\r\n testTitle = `Day ${indexValue + 1} Questions?`\r\n }\r\n this.confirmationDialogueService.confirm(Constantss.CONFIRMATION, `${Constantss.SURE_SAVE_TEST} ${testTitle}`).then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n this.trainingService.saveQuestions(questionList).subscribe((response) => {\r\n if (response !== null && response.status === '200') {\r\n this.assessment[indexValue_].controls.questionnaire.value.forEach((item, index) => {\r\n const correspondingItem = response.data[index];\r\n if (correspondingItem) {\r\n this.assessment[indexValue_].controls.questionnaire.controls[index].controls.questionId.setValue(correspondingItem.questionId);\r\n }\r\n if (this.prePostForm) {\r\n const questionList = this.assessment[indexValue_]?.controls?.questionnaire?.controls?.value;\r\n if (indexValue_ === 1) {\r\n this.postQuestionList = questionList;\r\n } else {\r\n this.disableCopyBtn = false;\r\n this.preQuestionList = questionList;\r\n }\r\n }\r\n });\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: Constantss.QUESTIONS_SAVED_SUCCESSFULLY,\r\n duration: 5000,\r\n });\r\n this.loading = false;\r\n } else if (response.status === '400') {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response?.message,\r\n duration: 10000\r\n });\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.message,\r\n duration: 10000\r\n });\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n addQuestion(questionIndex?: number, indexValue?: number) {\r\n // indexValue 0 for pre test, 1 for post test \r\n //questionIndex is index of question\r\n if (this.assessment[indexValue].value.questionnaire.length <= this.assessment[indexValue].value.totalQuestions) {\r\n\r\n //save the question\r\n let questionList = [];\r\n if (questionIndex !== null && this.assessment[indexValue].controls['questionnaire'].controls[questionIndex].status == 'VALID') {\r\n let question = new Question();\r\n question = this.assessment[indexValue].value.questionnaire[questionIndex];\r\n\r\n // Checking for duplicate questions\r\n let qArr = [\r\n question.option1,\r\n question.option2,\r\n question.option3,\r\n question.option4\r\n ];\r\n\r\n let optionsValid = true;\r\n for (let i = 0; i < 3; i++) {\r\n for (let j = i + 1; j < 4; j++) {\r\n if (qArr[i] === qArr[j]) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'MCQ options should not be the same',\r\n duration: 5000,\r\n });\r\n optionsValid = false;\r\n break;\r\n }\r\n }\r\n if (!optionsValid) break;\r\n }\r\n\r\n if (!optionsValid) return;\r\n\r\n let quiz = new Quiz();\r\n let quizId = this.assessment[indexValue].controls.questionnaire.controls[questionIndex].controls['quizId'].value;\r\n if (!quizId) {\r\n this.assessment[indexValue].controls.questionnaire.controls[questionIndex].controls['quizId'].setValue(this.quizIdFromRes);\r\n }\r\n quiz.quizId = quizId ? quizId : this.quizIdFromRes;\r\n //quiz.quizId = this.assessment[indexValue].value.questionnaire[questionIndex].quizId.quizId;\r\n question.quizId = quiz;\r\n questionList.push(question);\r\n console.log(JSON.stringify(questionList));\r\n\r\n // if (this.quizTypeId == 54) {\r\n // this.preQuestionList.push(question);\r\n // }\r\n\r\n\r\n //commented for now\r\n // this.trainingService.saveQuestions(questionList).subscribe((response) => {\r\n // if (response !== null) {\r\n // if (this.assessment[indexValue].value.questionnaire.length === this.assessment[indexValue].value.totalQuestions &&\r\n // this.assessment[indexValue].status !== 'INVALID') {\r\n // this.saveNextDisableForTest = false;\r\n // }\r\n // this.assessment[indexValue].controls.questionnaire.controls[questionIndex].controls.questionId.setValue(response?.data[0]?.questionId);\r\n // console.log(this.assessment[indexValue].controls.questionnaire.controls[questionIndex].controls.value);\r\n // if (this.quizTypeId === 54) {\r\n // question.questionId = response?.data[0]?.questionId;\r\n // this.preQuestionList[questionIndex] = question;\r\n // console.log(JSON.stringify(this.preQuestionList));\r\n // }\r\n // else if (this.quizTypeId === 55) {\r\n // question.questionId = response?.data[0]?.questionId;\r\n // this.postQuestionList[questionIndex] = question;\r\n // //this.postQuestionList.push(question);\r\n // console.log(JSON.stringify(this.postQuestionList));\r\n // }\r\n // this.toast.success({\r\n // detail: Constantss.SUCCESS,\r\n // summary: 'Questions saved successfully!',\r\n // duration: 5000,\r\n // });\r\n // }\r\n // });\r\n }\r\n\r\n //if below questionarre form length is less than total question length, then add a new Questionnaire form :)\r\n if (this.assessment[indexValue].value.questionnaire.length < this.assessment[indexValue].value.totalQuestions &&\r\n this.assessment[indexValue].status == 'VALID') {\r\n this.questions(indexValue).push(this.newQuestion());\r\n }\r\n\r\n\r\n // else if (this.assessment[indexValue].value.questionnaire.length < this.assessment[indexValue].value.totalQuestions &&\r\n // this.prePostCount === null) {\r\n // this.prePostCount = true;\r\n // this.questions(indexValue).push(this.newQuestion());\r\n // }\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Kindly change the total number of questions to add a question',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n\r\n\r\n newQuestion(): FormGroup {\r\n return this.formBuilder.group({\r\n question: ['', [Validators.required]],\r\n answer: ['', [Validators.required]],\r\n option1: ['', [Validators.required]],\r\n option2: ['', [Validators.required]],\r\n option3: ['', [Validators.required]],\r\n option4: ['', [Validators.required]],\r\n questionId: [null],\r\n displayOrder: [''],\r\n quizId: [null],\r\n });\r\n }\r\n\r\n\r\n async removeQuestion(questionIndex: number, testIndex) {\r\n let id = this.assessment[testIndex].value.questionnaire[questionIndex].questionId;\r\n if (id) {\r\n try {\r\n const confirmed = await this.confirmationDialogueService.confirm(Constantss.CONFIRMATION, Constantss.SURE_DELETE_QUESION);\r\n if (confirmed) {\r\n this.loading = true;\r\n const res: any = await this.trainingService.deleteQuestion(id).toPromise();\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: res?.message,\r\n duration: 1000,\r\n });\r\n this.loading = false;\r\n }\r\n } catch (error) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'An error occurred while deleting question.',\r\n duration: 1000,\r\n });\r\n this.loading = false;\r\n }\r\n }\r\n this.questions(testIndex).removeAt(questionIndex);\r\n this.dailyQuestions(testIndex).removeAt(questionIndex);\r\n this.changeTotalQuestionCount(testIndex);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n onDailyTotalQuesSave(e) {\r\n let value = this.questions(this.selectedDayIndex).value.length;\r\n let totalQues = this.assessment[this.selectedDayIndex].value.totalQuestions;\r\n if (value <= totalQues) {\r\n let quiz = new Quiz();\r\n quiz.day = this.selectedDayIndex + 1;\r\n let training = new Training();\r\n let entity = new Entity();\r\n quiz.noOfQuestions = this.assessment[e].value.totalQuestions;\r\n training.trainingId = this.trainingId;\r\n entity.id = this.quizId;\r\n quiz.trainingId = training;\r\n quiz.quizTypeId = entity;\r\n this.saveNextDisableForTest = true;\r\n this.trainingService.saveTraining(quiz).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.quizIdFromRes = res.data[0].quizId;\r\n this.totalQuestDisabled = true;\r\n this.hiddenEdit = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: 'Total number of questions has been saved successfully',\r\n duration: 5000,\r\n });\r\n if (this.dailyQuestions(e).length === 0) {\r\n this.addDailyQuestion(null, e);\r\n this.selectQuizDisable = true;\r\n this.addAssessmentDisable = true;\r\n this.saveNextDisableForTest = false;\r\n }\r\n }\r\n });\r\n } else {\r\n this.saveNextDisableForTest = true;\r\n this.toast.warning({\r\n summary:\r\n 'Total number of questions should be greater then questions entered',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n copyFromPreTest() {\r\n this.assessment[0].controls.questionnaire.value.forEach((question) => {\r\n question.questionId = null;\r\n question.quizId = null\r\n this.postQuestionList.push(question);\r\n });\r\n // this.preQuestionList.forEach(question => {\r\n // if (!this.postQuestionList.some(q => q.questionId === question.questionId)) {\r\n // question.questionId = null;\r\n // question.quizId = null;\r\n // this.postQuestionList.push(question);\r\n // }\r\n // });\r\n this.toast.info({\r\n detail: \"Info\",\r\n summary: \"All Pre-test questions are copied to post-test. Click 'Save Post Test' on Post Test tab to save questions.\",\r\n duration: 5000\r\n });\r\n console.log(JSON.stringify(this.postQuestionList));\r\n }\r\n\r\n daySelection(indexValue) {\r\n let check = null;\r\n let noOfDays;\r\n if (this.batchInfo.value && this.batchInfo.value.numberOfDays) {\r\n noOfDays = this.batchInfo.value.numberOfDays;\r\n } else if (this.training && this.training.noOfDays) {\r\n noOfDays = this.training.noOfDays;\r\n }\r\n // for (let i = 0; i < noOfDays; i++) {\r\n // if (\r\n // this.assessment[i].value.totalQuestions &&\r\n // this.assessment[i].status === 'INVALID'\r\n // ) {\r\n // this.toast.warning({\r\n // summary: 'Kindly fill all the required fields!',\r\n // duration: 3000,\r\n // });\r\n // check = true;\r\n // }\r\n // }\r\n if (check !== true) {\r\n this.selectedDayIndex = indexValue;\r\n this.activeButton = indexValue;\r\n if (this.dailyQuestionList.length > 0) {\r\n this.dailyCount = true;\r\n let value = indexValue + 1;\r\n let list = this.dailyQuestionList.filter((i) => i.day === value);\r\n if (list && list.length > 0) {\r\n this.assessment[indexValue] = this.formBuilder.group({\r\n totalQuestions: [list.length, [Validators.required]],\r\n questionnaire: this.formBuilder.array([]),\r\n });\r\n this.questionsOnEditAssess(list, indexValue);\r\n }\r\n }\r\n }\r\n }\r\n\r\n testSelectionPrePost(indexValue, quizTypeId) {\r\n this.quizTypeId = quizTypeId;\r\n // if ((this.assessment[this.prePostIndex].value.totalQuestions && this.assessment[this.prePostIndex].status === 'INVALID')) {\r\n // this.toast.info({\r\n // detail: 'Info',\r\n // summary: 'Kindly fill all the required fields!',\r\n // duration: 3000,\r\n // });\r\n // } else \r\n // {\r\n this.prePostIndex = 1;\r\n this.selectedtestIndex = indexValue;\r\n this.activeButton = indexValue;\r\n if (indexValue === 0) {\r\n this.quizId = 54;\r\n if (this.responseFinal.data) {\r\n this.editResponse = this.responseFinal?.data[0];\r\n }\r\n this.prePostCount = null;\r\n } else if (indexValue === 1) {\r\n this.quizId = 55;\r\n if (this.responseFinal.data) {\r\n this.editResponse = this.responseFinal?.data[1];\r\n }\r\n if (this.postQuestionList.length > 0) {\r\n this.prePostCount = true;\r\n this.assessment[1] = this.formBuilder.group({\r\n totalQuestions: [\r\n this.postQuestionList.length,\r\n [Validators.required],\r\n ],\r\n questionnaire: this.formBuilder.array([]),\r\n });\r\n this.questionsOnEditAssess(this.postQuestionList, 1);\r\n this.prePostCount = null;\r\n }\r\n }\r\n this.quizIdFromRes = null;\r\n // }\r\n }\r\n\r\n toBePerformed(e, selectedtestIndex) {\r\n let value = this.questions(this.selectedtestIndex).value.length;\r\n let totalQues = this.assessment[this.selectedtestIndex].value.totalQuestions;\r\n let quiz = new Quiz();\r\n let training = new Training();\r\n let entity = new Entity();\r\n quiz.quizId = this.editResponse && this.editResponse.quizId ? this.editResponse.quizId : null;\r\n training.trainingId = this.trainingId;\r\n entity.id = this.quizId;\r\n quiz.trainingId = training;\r\n quiz.quizTypeId = entity;\r\n quiz.toBePerformed = this.assessment[selectedtestIndex].value.isActive;\r\n this.saveNextDisableForTest = false;\r\n this.trainingService.saveTraining(quiz).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: res?.message,\r\n duration: 5000,\r\n });\r\n }\r\n });\r\n }\r\n\r\n addDailyQuestion(questionIndex?, indexValue?) {\r\n if (\r\n this.assessment[indexValue].value.questionnaire.length <=\r\n this.assessment[indexValue].value.totalQuestions\r\n ) {\r\n let questionList = [];\r\n if (\r\n questionIndex !== null &&\r\n this.assessment[indexValue].status !== 'INVALID' &&\r\n this.dailyCount === true\r\n ) {\r\n let question = new Question();\r\n question =\r\n this.assessment[indexValue].value.questionnaire[questionIndex];\r\n let quiz = new Quiz();\r\n quiz.quizId =\r\n this.quizIdFromRes !== null\r\n ? this.quizIdFromRes\r\n : this.assessment[indexValue].value.questionnaire[questionIndex]\r\n .quizId.quizId;\r\n question.quizId = quiz;\r\n questionList.push(question);\r\n this.trainingService\r\n .saveQuestions(questionList)\r\n .subscribe((response) => {\r\n if (\r\n this.assessment[indexValue].value.questionnaire.length ===\r\n this.assessment[indexValue].value.totalQuestions &&\r\n this.assessment[indexValue].status !== 'INVALID'\r\n ) {\r\n this.saveNextDisableForTest = false;\r\n }\r\n this.assessment[indexValue].controls.questionnaire.controls[questionIndex].controls.questionId.setValue(response?.data[0]?.questionId);\r\n //this.assessment[indexValue].value.questionnaire[questionIndex].questionId = response.data[0].questionId;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: 'Questions added successfully',\r\n duration: 5000,\r\n });\r\n });\r\n }\r\n if (\r\n this.assessment[indexValue].value.questionnaire.length <\r\n this.assessment[indexValue].value.totalQuestions &&\r\n this.dailyCount === true &&\r\n this.assessment[indexValue].status !== 'INVALID'\r\n ) {\r\n this.dailyQuestions(indexValue).push(this.newQuestion());\r\n } else if (\r\n this.assessment[indexValue].value.questionnaire.length <\r\n this.assessment[indexValue].value.totalQuestions &&\r\n this.dailyCount === null\r\n ) {\r\n this.dailyCount = true;\r\n this.dailyQuestions(indexValue).push(this.newQuestion());\r\n }\r\n // this.dailyQuestions(indexValue).push(this.newQuestion());\r\n } else {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Kindly change total number of questions to add question',\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n\r\n saveAllTest(indexValue) {\r\n this.saveAQuizData(indexValue);\r\n }\r\n\r\n\r\n saveAQuizData(indexValue) {\r\n //quiz Model\r\n let quiz = new Quiz();\r\n let training = new Training();\r\n let entity = new Entity();\r\n quiz.quizId = this.editResponse && this.editResponse?.quizId ? this.editResponse?.quizId : null;\r\n training.trainingId = this.trainingId;\r\n entity.id = this.quizId;\r\n quiz.trainingId = training;\r\n quiz.quizTypeId = entity;\r\n quiz.noOfQuestions = this.assessment[indexValue]?.value?.totalQuestions;\r\n quiz.toBePerformed = this.assessment[indexValue]?.value?.isActive;\r\n if (this.dailyTestForm) {\r\n quiz.day = indexValue + 1;\r\n }\r\n this.loading = true;\r\n this.trainingService.saveTraining(quiz).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.loading = false;\r\n this.assessment[indexValue].controls['questionnaire'].controls.forEach((control) => {\r\n control.controls.quizId.setValue(res?.data[0].quizId);\r\n });\r\n //this.assessment[indexValue]?.controls?.quizId.setValue(res?.data[0].quizId);\r\n this.addQuestionDuplicate(res?.data[0].quizId, indexValue);\r\n }\r\n });\r\n\r\n }\r\n\r\n onTotalQuestionSaveClick(e) {\r\n let value = this.questions(this.selectedtestIndex).value.length;\r\n let totalQues = this.assessment[this.selectedtestIndex].value.totalQuestions;\r\n if (value !== 0) {\r\n this.prePostCount = true;\r\n }\r\n if (value <= totalQues) {\r\n let quiz = new Quiz();\r\n let training = new Training();\r\n let entity = new Entity();\r\n if (value === 0) {\r\n quiz.quizId = null;\r\n } else {\r\n quiz.quizId = this.editResponse ? this.editResponse.quizId : null;\r\n }\r\n quiz.noOfQuestions = this.assessment[e].value.totalQuestions;\r\n training.trainingId = this.trainingId;\r\n entity.id = this.quizId;\r\n quiz.trainingId = training;\r\n quiz.quizTypeId = entity;\r\n // quiz.toBePerformed = this.assessment[e].value.isActive;\r\n this.saveNextDisableForTest = true;\r\n this.trainingService.saveTraining(quiz).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.quizIdFromRes = res.data[0].quizId;\r\n this.totalQuestDisabled = true;\r\n // this.saveNextDisableForTest=false\r\n // if (this.quizId === 54) {\r\n // this.totalQuestDisabled = true;\r\n // } else if (this.quizId === 54) {\r\n // this.posttotalQuestDisabled = true;\r\n // }\r\n this.hiddenEdit = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: 'Total number of questions has been saved successfully',\r\n duration: 5000,\r\n });\r\n //if (this.questions(e).length === 0) {\r\n this.addQuestion(null, e);\r\n this.selectQuizDisable = true;\r\n this.addAssessmentDisable = true;\r\n this.saveNextDisableForTest = true;\r\n // }\r\n }\r\n });\r\n } else {\r\n this.toast.warning({\r\n summary:\r\n 'Total number of questions should be greater then questions entered',\r\n duration: 3000,\r\n });\r\n }\r\n }\r\n\r\n onTotalQuestionEditClick() {\r\n this.totalQuestDisabled = false;\r\n this.posttotalQuestDisabled = false;\r\n }\r\n\r\n dailyDrop(event: CdkDragDrop) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInFormArray(\r\n this.dailyQuestions(this.selectedDayIndex),\r\n event.previousIndex,\r\n event.currentIndex\r\n );\r\n } else {\r\n moveItemInFormArray(\r\n this.dailyQuestions(this.selectedDayIndex),\r\n event.previousIndex,\r\n event.currentIndex\r\n );\r\n }\r\n }\r\n\r\n preDrop(event: CdkDragDrop) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInFormArray(\r\n this.questions(this.selectedtestIndex),\r\n event.previousIndex,\r\n event.currentIndex\r\n );\r\n } else {\r\n moveItemInFormArray(\r\n this.questions(this.selectedtestIndex),\r\n event.previousIndex,\r\n event.currentIndex\r\n );\r\n }\r\n }\r\n\r\n //CHECKLIST\r\n\r\n createCheckListForm() {\r\n this.empForm = this.formBuilder.group({\r\n checkList: this.formBuilder.array([this.newEmployee()]),\r\n });\r\n }\r\n\r\n createFormMonitoringQuestions() {\r\n this.monitoringQuestionsForm = this.formBuilder.group({\r\n monitorQuestionFormArray: this.formBuilder.array([\r\n this.newMonitoringQuestions(),\r\n ]),\r\n });\r\n }\r\n\r\n // addMonitoringQuestions(){\r\n // this.monitorQuestionArr.push(this.createQuestionText());\r\n // }\r\n\r\n // removeMonitoringQuestionAtIndex(i){\r\n // this.monitorQuestionArr.removeAt(i);\r\n // }\r\n\r\n // saveMonitoringQuestionData(){\r\n // this.savedData = this.monitoringQuestionsForm.value;\r\n // }\r\n\r\n // createQuestionText(){\r\n // return this.formBuilder.group({\r\n // questionText : []\r\n // })\r\n // }\r\n\r\n get employees(): FormArray {\r\n return this.empForm.get('checkList') as FormArray;\r\n }\r\n\r\n get monitorQuestionArr() {\r\n return this.monitoringQuestionsForm.get(\r\n 'monitorQuestionFormArray'\r\n ) as FormArray;\r\n }\r\n\r\n newEmployee(): FormGroup {\r\n return this.formBuilder.group({\r\n checkListName: [\r\n '',\r\n [\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z0-9- ]+$'),\r\n Validators.required,\r\n ],\r\n ],\r\n checkListItems: this.formBuilder.array([this.newSkill()], Validators.required),\r\n });\r\n }\r\n\r\n newMonitoringQuestions(): FormGroup {\r\n return this.formBuilder.group({\r\n question: ['', [Validators.required]],\r\n training: []\r\n });\r\n }\r\n\r\n get checkListName() {\r\n return this.employees.get('checkListName');\r\n }\r\n\r\n addEmployee() {\r\n this.employees.push(this.newEmployee());\r\n }\r\n\r\n addMoreMonitoringQuest() {\r\n this.monitorQuestionArr.push(this.newMonitoringQuestions());\r\n }\r\n\r\n removeEmployee(id, empIndex: number) {\r\n this.confirmationDialogueService\r\n .confirm(\r\n Constantss.CONFIRMATION,\r\n 'Are you sure you want to remove this record?'\r\n )\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.trainingService.deleteCheckListMaster(id.value.checkListId).subscribe(res => {\r\n if (res != null) {\r\n this.employees.removeAt(empIndex);\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n })\r\n }\r\n });\r\n }\r\n\r\n removeMonitoringQuestionAtIndex(i, questionId) {\r\n this.confirmationDialogueService\r\n .confirm(\r\n Constantss.CONFIRMATION,\r\n 'Are you sure you want to remove this record?'\r\n )\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.monitorQuestionArr.removeAt(i);\r\n this.trainingService.deleteMonitorQuestion(questionId.value.monitorQuestionId).subscribe(res => {\r\n if (res != null) {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n employeeSkills(empIndex?: number): FormArray {\r\n return this.employees.at(empIndex).get('checkListItems') as FormArray;\r\n }\r\n\r\n newSkill(): FormGroup {\r\n return this.formBuilder.group({\r\n checkListItemName: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z0-9- ]+$'),\r\n ],\r\n ],\r\n });\r\n }\r\n\r\n addEmployeeSkill(empIndex: number) {\r\n this.employeeSkills(empIndex).push(this.newSkill());\r\n }\r\n\r\n removeEmployeeSkill(id, empIndex: number, skillIndex: number) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, 'Are your sure you want to remove this item from checklist')\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.trainingService.deleteCheckListItem(id.value).subscribe(res => {\r\n if (res != null) {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: res.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n });\r\n }\r\n });\r\n if (skillIndex != 0) {\r\n this.employeeSkills(empIndex).removeAt(skillIndex);\r\n }\r\n }\r\n\r\n\r\n // removeEmployee(empIndex: number) {\r\n // this.confirmationDialogueService\r\n // .confirm(\r\n // Constantss.CONFIRMATION,\r\n // 'Are you sure you want to remove this record?'\r\n // )\r\n // .then((confirmed) => {\r\n // if (confirmed) {\r\n // if (empIndex != 0) {\r\n // this.employees.removeAt(empIndex);\r\n // }\r\n // }\r\n // });\r\n // }\r\n\r\n onSubmit() { }\r\n\r\n mapToModelCheckList(data: any) {\r\n let arr = [];\r\n data.checkList.forEach((i) => {\r\n let checkListMaster = new ChecklistMaster();\r\n let training = new Training();\r\n let itemArray = [];\r\n training.trainingId = this.trainingId;\r\n checkListMaster.training = training;\r\n checkListMaster.checkListId = i.checkListId\r\n checkListMaster.checkListName = i.checkListName;\r\n i.checkListItems.forEach((checkListItemName) => {\r\n itemArray.push(checkListItemName);\r\n });\r\n checkListMaster.checkListItems = itemArray;\r\n arr.push(checkListMaster);\r\n });\r\n this.finalSubmitResult = arr;\r\n return this.finalSubmitResult;\r\n }\r\n\r\n createFormCheckListFormNew() {\r\n let arr = [];\r\n this.checkListFormNew = this.formBuilder.group({\r\n checkListItemForm: this.formBuilder.array(arr),\r\n });\r\n }\r\n\r\n getCheckListItemsByCheckListName(i, checkListNameForDisplay) {\r\n this.getTrainingCheckListByTrainingId();\r\n const a = this.checkListMasterNew[i].checkListItems;\r\n this.createFormForCheckListItemsNew(a);\r\n this.checkListNameForDisplay = checkListNameForDisplay.checkListName;\r\n this.displayChecklist = true;\r\n this.checkListIdNew = checkListNameForDisplay.checkListId;\r\n\r\n }\r\n\r\n createFormForCheckListItemsNew(checkListItemsNew) {\r\n let arr = [];\r\n for (let i = 0; i < checkListItemsNew.length; i++) {\r\n arr.push(this.BuildDyanamicFormNew(checkListItemsNew[i]));\r\n }\r\n this.checkListFormNew = this.formBuilder.group({\r\n checkListItemForm: this.formBuilder.array(arr),\r\n });\r\n }\r\n\r\n\r\n BuildDyanamicFormNew(check) {\r\n const r = check;\r\n return this.formBuilder.group({\r\n checkListItemId: [r.checkListItemId],\r\n checkListItemName: [r.checkListItemName],\r\n add: [r.checked === true ? true : false],\r\n trainingChkItemId: [r.trainingChkItemId]\r\n });\r\n }\r\n\r\n get checkListItemForm(): FormArray {\r\n return this.checkListFormNew.get('checkListItemForm') as FormArray;\r\n }\r\n\r\n\r\n createFormMonitoringQuestionsNew() {\r\n let arr = [];\r\n for (let i = 0; i < this.monitoringQuestionsNew.length; i++) {\r\n arr.push(this.BuildDyanamicFormForMonitoringQuestions(this.monitoringQuestionsNew[i]));\r\n }\r\n this.monitoringQuestionsFormNew = this.formBuilder.group({\r\n monitoringQuestionFormArray: this.formBuilder.array(arr)\r\n });\r\n this.monitoringQuestionsFormNewInvalid = true;\r\n this.checkBoxCheckFinalSubmit();\r\n }\r\n\r\n createFormMonitoringQuestionsNewEdit() {\r\n let arr = [];\r\n for (let i = 0; i < this.monitoringQuestionsNew.length; i++) {\r\n arr.push(this.BuildDyanamicFormForMonitoringQuestionsEdit(this.monitoringQuestionsNew[i]));\r\n }\r\n this.monitoringQuestionsFormNew = this.formBuilder.group({\r\n monitoringQuestionFormArray: this.formBuilder.array(arr)\r\n });\r\n this.monitoringQuestionsFormNewInvalid = false;\r\n }\r\n\r\n getEvent(e) {\r\n this.checkBoxCheckFinalSubmit();\r\n }\r\n\r\n\r\n checkBoxCheckFinalSubmit() {\r\n this.monitoringQuestionsFormNewInvalid = true;\r\n this.monitoringQuestionsFormNew.value.monitoringQuestionFormArray.forEach((data) => {\r\n if (data.addMonitoringQuestion === true) {\r\n this.monitoringQuestionsFormNewInvalid = false;\r\n }\r\n });\r\n }\r\n\r\n get monitoringQuestionFormArray(): FormArray {\r\n return this.monitoringQuestionsFormNew.get('monitoringQuestionFormArray') as FormArray;\r\n }\r\n\r\n BuildDyanamicFormForMonitoringQuestions(quest) {\r\n return this.formBuilder.group({\r\n monitoringQuestionId: [quest.monitorQuestionId],\r\n monitoringQuestion: [quest.question],\r\n addMonitoringQuestion: [(quest.checked === true) ? true : false],\r\n tmqId: [quest.tmqId]\r\n });\r\n }\r\n\r\n BuildDyanamicFormForMonitoringQuestionsEdit(quest) {\r\n return this.formBuilder.group({\r\n monitoringQuestionId: [quest.monitorQuestionMaster.questionId],\r\n monitoringQuestion: [quest.monitorQuestionMaster.question],\r\n addMonitoringQuestion: [quest.monitorQuestionMaster.questionId ? true : false]\r\n });\r\n }\r\n\r\n\r\n finalSubmit() {\r\n this.confirmationDialogueService.confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE).then((confirmed) => {\r\n if (confirmed) {\r\n this.loading = true;\r\n // if (this.addChecklistNew === true) {\r\n let monitoringQuestionNewResp = this.mapToModelMonitoringQuestionNew(this.monitoringQuestionsFormNew.value.monitoringQuestionFormArray);\r\n this.trainingService.saveTrainingMonitorQuestions(monitoringQuestionNewResp).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n // this.router.navigate(['/training/trainingMaster']);\r\n } else if (response?.status === '400') {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.error,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n });\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n // } else {\r\n // this.toast.success({\r\n // detail: Constantss.SUCCESS,\r\n // summary: 'Data has been saved successfully.',\r\n // duration: 10000,\r\n // });\r\n // // this.router.navigate(['/training/trainingMaster']);\r\n // }\r\n }\r\n let training = new Training();\r\n this.loading = true;\r\n training = this.mapToModelBatchInfoFinalSubmit(this.batchInfo.value);\r\n this.groupService.saveTraining(training).subscribe(response => {\r\n if (response.status = 200) {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n },);\r\n this.loading = false;\r\n // this.showLoading();\r\n this.router.navigate(['/training/trainingMaster']);\r\n } else {\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.error,\r\n duration: 10000,\r\n });\r\n this.loading = false;\r\n });\r\n\r\n });\r\n }\r\n\r\n mapToModelMonitoringQuestionNew(data: any) {\r\n let trainingMonitorQuestionsList: Array = [];\r\n data.forEach((data) => {\r\n // if (data.addMonitoringQuestion === true) {\r\n let trainingMonitorQuestions = new TrainingMonitorQuestions();\r\n trainingMonitorQuestions.createdBy = this.userId;\r\n trainingMonitorQuestions.createdOn = new Date();\r\n let monitorQuestionMaster = new MonitorQuestionMaster();\r\n monitorQuestionMaster.monitorQuestionId = data.monitoringQuestionId;\r\n monitorQuestionMaster.checked = data.addMonitoringQuestion;\r\n monitorQuestionMaster.tmqId = data.tmqId;\r\n trainingMonitorQuestions.monitorQuestionMaster = monitorQuestionMaster;\r\n trainingMonitorQuestions.trainingId = this.trainingId;\r\n trainingMonitorQuestions.trainingMonitorQuestionId = data.trainingMonitorQuestionId;\r\n trainingMonitorQuestions.updatedBy = this.userId;\r\n trainingMonitorQuestions.updatedOn = new Date();\r\n trainingMonitorQuestionsList.push(trainingMonitorQuestions);\r\n // }\r\n });\r\n return trainingMonitorQuestionsList;\r\n\r\n }\r\n}\r\n\r\n\r\n","
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n

\r\n Training Configuration\r\n

\r\n\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • = 0 ? 'active ' : 'inactive'\">
  • \r\n
  • = 1 ? 'active ' : 'inactive'\">
  • \r\n
  • = 2 ? 'active' : 'inactive'\">
  • \r\n
  • = 3 ? 'active' : 'inactive'\">
  • \r\n
  • = 4 ? 'active' : 'inactive'\">
  • \r\n
  • = 5 ? 'active' : 'inactive'\">
  • \r\n
  • = 6 ? 'active' : 'inactive'\">
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n UPLOAD ORDER\r\n
    \r\n
    \r\n LETTER\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n BATCH\r\n
    \r\n
    \r\n INFORMATION\r\n
    \r\n
  • \r\n
  • \r\n asse\r\n RANGE\r\n
  • \r\n
  • \r\n asse\r\n ASSESSMENT\r\n
  • \r\n
  • \r\n TRAINING MATERIAL\r\n
  • \r\n
  • CHECKLIST
  • \r\n
  • \r\n
    \r\n MONITORING\r\n
    \r\n
    \r\n QUESTIONS\r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Step {{step+1}} : Upload Order Letter\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n This is a required field\r\n \r\n \r\n Maximum 250 characters allowed\r\n \r\n \r\n Only alphanumeric characters allowed\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Step {{step+1}} : Batch Information\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Number of days is a required field.\r\n \r\n \r\n Number of Days should not be greater than {{noOfDay+1}}\r\n \r\n \r\n \r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Minimum Trainer is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Maximum Batch Size is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Step {{step+1}} : Range\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n Step {{step+1}} : Training Level\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Step {{step+1}} : Assessment\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Select Quiz is a required field\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ assessment[selectedtestIndex].controls.totalQuestions.value}}\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n Total number of question is a required field\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Q.{{questionIndex + 1}}\r\n \r\n
\r\n
\r\n \r\n \r\n Question is a required field\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n a.\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n Option 1 is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n b.\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n Option 2 is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n c.\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n Option 3 is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n d.\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n Option 4 is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ assessment[selectedDayIndex].controls.totalQuestions.value}}\r\n
\r\n
\r\n
\r\n \r\n \r\n Total number of question is a required field\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Q.{{questionIndex + 1}}\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n Question is a required field\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n a.\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n Option 1 is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n b.\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n Option 2 is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n c.\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n Option 3 is a required field\r\n \r\n \r\n
\r\n
\r\n \r\n d.\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n Option 4 is a required field\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Step {{step+1}} : Training Material\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n Document name is a required field\r\n \r\n\r\n \r\n Maximum length is 50 characters\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n Link name is a required field\r\n \r\n\r\n \r\n Maximum length is 50 characters\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Step {{step+1}} : Checklist\r\n
\r\n
\r\n
\r\n
\r\n Checklist\r\n Name\r\n
\r\n
\r\n
\r\n
\r\n Checklist Name -\r\n {{checkListNameForDisplay}} \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
    \r\n
  • \r\n {{item.checkListName}}\r\n
  • \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Checklist Item Add
\r\n {{list.checkListItemName}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Step {{step+1}} : Monitoring Questions\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Monitoring Questions Add
\r\n {{question.monitoringQuestion}}\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-training-dashboard',\r\n templateUrl: './training-dashboard.component.html',\r\n styleUrls: ['./training-dashboard.component.scss']\r\n})\r\nexport class TrainingDashboardComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport {\r\n ColumnApi,\r\n FirstDataRenderedEvent,\r\n GridApi,\r\n GridOptions,\r\n} from 'ag-grid-community';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { RatingIconComponent } from 'src/app/layouts/core/rating-icon/rating-icon.component';\r\nimport { RemarkTextBoxComponent } from 'src/app/layouts/core/remark-text-box/remark-text-box.component';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { AttendanceService } from '../../services/attendance.service';\r\nimport { RemarkPopUpComponent } from '../attendance/remark-pop-up/remark-pop-up.component';\r\nimport { TrainerAttendanceVerification } from '../../model/trainer-attendance-verification';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { TrainerAttendance } from '../../model/trainer-attendance';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { AttendanceVerificationService } from '../../services/attendance-verification.service';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { formatDate } from '@angular/common';\r\nimport { TrainingService } from '../../services/training.service';\r\nimport { CheckboxDisabledComponent } from 'src/app/layouts/core/checkbox-disabled/checkbox-disabled.component';\r\nimport { VerifyStatusComponent } from 'src/app/layouts/core/verify-status/verify-status.component';\r\nimport { TrainerMaster } from '../../model/trainer-master';\r\nimport { TraineeAttendanceVerification } from '../../model/trainee-attendance-verification';\r\nimport { TraineeAttendance } from '../../model/trainee-attendance';\r\nimport { RedFlag } from '../../model/red-flag';\r\nimport { BatchMaster } from '../../model/batch-master';\r\nimport { InitiateTrainingService } from '../../services/initiate-training.service';\r\nimport { MonitorQuestionsVerification } from '../../model/monitor-questions-verification';\r\nimport { MonitorQuestions } from '../../model/monitor-questions';\r\nimport { Training } from '../../model/training';\r\nimport { MonitorComments } from '../../model/monitor-comments';\r\nimport { DeleteIconComponent } from 'src/app/layouts/core/delete-icon/delete-icon.component';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport * as _ from 'lodash';\r\nimport { Router } from '@angular/router';\r\nimport { EmpCode } from 'src/app/views/pages/model/emp-code';\r\nimport { VerifyCheckList } from '../../model/verify-check-list';\r\nimport { CheckListItems } from '../../model/check-list-items';\r\nimport { ChecklistMaster } from '../../model/checklist-master';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { TrainingCheckListItems } from '../../model/training-check-list-items';\r\nimport { TrainingMonitorQuestions } from '../../model/training-monitor-questions';\r\nimport { TrainingMonitoringStatusHistoryService } from '../../services/training-monitoring-status-history.service';\r\n@Component({\r\n selector: 'app-training-monitor',\r\n templateUrl: './training-monitor.component.html',\r\n styleUrls: ['./training-monitor.component.scss'],\r\n})\r\nexport class TrainingMonitorComponent implements OnInit {\r\n ratingForm: FormGroup;\r\n verifyCheckListForm: FormGroup;\r\n step = 1;\r\n stepTitle = \"Rating\";\r\n connector =\r\n 'HIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIII HIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIII';\r\n connectorC = 1;\r\n userId: any;\r\n trainerAttendanceVerificationPopulate: any;\r\n trainerMasters = [];\r\n trainerData = [];\r\n participantData = [];\r\n trainingId: number;\r\n displayParticipantGrid = true;\r\n todaysDate: any;\r\n addChild: RemarkPopUpComponent;\r\n verifyAttendanceForm: FormGroup;\r\n ratingQuestionnaireForm: FormGroup;\r\n loanFilter: any;\r\n readOnly: boolean = false;\r\n recordCount: number = 0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n gridApi1: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n trainersList: Array[] = [];\r\n gridOptionsTrainerOrTrainee = {};\r\n enableRatingApi: boolean;\r\n enableVerifyAttendanceApi: boolean;\r\n enableVerifyAttendanceApiTrainer: boolean;\r\n enableMonitoringQuestionsApi: boolean;\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n loading: boolean = false;\r\n batchCode: any = '';\r\n id: Number;\r\n trainingIdForMonitoringQuestion: any;\r\n isViewDisabled: boolean = true;\r\n session = [];\r\n checkFor = [];\r\n readOnlyBatchCode = false;\r\n searchBtnBatchCode = false;\r\n paginationPageSize = 20;\r\n @ViewChild('primaryModal', { static: false })\r\n public primaryModal: ModalDirective;\r\n allGroupFromParent;\r\n remark: any;\r\n idRmrk: any;\r\n trainerRating: TrainerAttendanceVerification[] = [];\r\n traineeAttendanceVerification: TraineeAttendanceVerification[] = [];\r\n trainerAttendanceVerification: TrainerAttendanceVerification[] = [];\r\n monitorQuestionVerifcation: MonitorQuestionsVerification[] = [];\r\n frameworkComponentsTrainerTrainee: any;\r\n batchCodeDS;\r\n ratingQuestionnaire;\r\n photosData = [];\r\n filterBySession = 0;\r\n formData = new FormData();\r\n ppm: any;\r\n frameworkComponentsRemovePhoto: any;\r\n navPermissions: any;\r\n currentPermission;\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n raiseRedFlagBtnDisabled: boolean = false;\r\n rowRenderArray: any;\r\n saveNextDisable = true;\r\n checkListItemCheck: any[];\r\n verifyChekist;\r\n myForm: FormGroup;\r\n remarkArray = [];\r\n isTrue = true;\r\n disabledMonitoringQuestions = null;\r\n disableMQ = false;\r\n comments: null;\r\n empCode;\r\n trainingData: any = [];\r\n trainingAreaData: any = [];\r\n batchData = [];\r\n isDisabledTextFields: boolean = false;\r\n isDisabledDropDown: boolean = false;\r\n isDisabledSearchField: boolean = false;\r\n batchNumber: any;\r\n batchCodeErr: any\r\n batchId: number;\r\n batchIdFromDD: any;\r\n batchCodeFromDD: any;\r\n checkListDisabled: boolean = null;\r\n currentDateResponse: any;\r\n isRedFlagAlreadyRaised: boolean = false;\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private _commonUtilService: CommonUtilService,\r\n private _attendance: AttendanceService,\r\n private _attendanceVerification: AttendanceVerificationService,\r\n private toast: NgToastService,\r\n private trainingService: TrainingService,\r\n private attendanceService: AttendanceService,\r\n private clientSideStorage: ClientSideStorageService,\r\n private _initiateTrainingService: InitiateTrainingService,\r\n private loginService: LoginService,\r\n private dataSharing: DataSharingService,\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private _trainingMonitoringStatusHistory: TrainingMonitoringStatusHistoryService\r\n ) {\r\n\r\n // this.verifyChekist = verifyChekist;\r\n this.frameworkComponentsRemovePhoto = {\r\n deleteIconComponent: DeleteIconComponent,\r\n };\r\n this.frameworkComponents = {\r\n ratingIcon: RatingIconComponent,\r\n remarkTextBox: RemarkTextBoxComponent,\r\n };\r\n this.frameworkComponentsTrainerTrainee = {\r\n checkBoxIcon: CheckboxDisabledComponent,\r\n switchIcon: VerifyStatusComponent,\r\n };\r\n this.userId = this.clientSideStorage.get('userId');\r\n this.userId = this.clientSideStorage.get('userId');\r\n\r\n this.userData = JSON.parse(this.clientSideStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientSideStorage.get('userId');\r\n if (this.userId && this.userData.user != undefined && this.userData.user.userName != undefined) {\r\n this.empCode = this.userData.user.userName;\r\n }\r\n this.getNavigableMenu(Number(userId), this.roleList[0].roleId);\r\n\r\n if (this.step == 1) {\r\n\r\n this.createColumnDefs();\r\n } else if (this.step == 2) {\r\n this.connectorC = 2;\r\n this.createColumnDefsTrainee();\r\n } else {\r\n this.createColumnDefsUploadPhotos();\r\n this.connectorC = 3;\r\n this.getMonitoringQuestions(this.batchCode);\r\n this.createColumnDefsUploadPhotos();\r\n }\r\n\r\n this.getAssignedTrainingForAttendance();\r\n this.getTraineeOrTrainer();\r\n this.getCurrentDate();\r\n this.getSession();\r\n // this.batchCodeDS = this.dataSharing.getBatchCode().source;\r\n this.batchCodeDS = this.clientSideStorage.get('batchCode');\r\n if (this.batchCodeDS != null && this.batchCodeDS !== '') {\r\n this.createRatingFormE();\r\n } else {\r\n this.createRatingFormA();\r\n }\r\n\r\n\r\n }\r\n\r\n getTrainingMappedCheckList(batchCode) {\r\n let batch;\r\n if (batchCode.length === 6) {\r\n let batchId = (batchCode.toUpperCase()).split('B');\r\n batch = batchId[1];\r\n } else {\r\n batch = this.batchIdFromDD;\r\n }\r\n this.loading = true;\r\n this._trainingMonitoringStatusHistory.getBatchCheckListItemsVerification(batch, this.empCode).subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.loading = false;\r\n if (response.status === \"400\") {\r\n this.checkListDisabled = true;\r\n } else {\r\n this.checkListDisabled = null;\r\n }\r\n this.verifyChekist = response.data;\r\n this.myForm = this.formBuilder.group({\r\n checkList: this.formBuilder.array([]),\r\n });\r\n this.setCheckList();\r\n } else {\r\n this.loading = false;\r\n this.verifyChekist = [];\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n // this.trainingService\r\n // .getTrainingMappedCheckList(batchCode)\r\n // .subscribe((response) => {\r\n // if (response && response.data && response.data != null) {\r\n // this.verifyChekist = response.data;\r\n // this.myForm = this.formBuilder.group({\r\n // checkList: this.formBuilder.array([]),\r\n // });\r\n // this.setCheckList();\r\n // } else {\r\n // this.verifyChekist = [];\r\n // }\r\n // });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createVerifyAttendanceForm();\r\n this.createRatingQuestionnaireForm();\r\n }\r\n\r\n get checkListFormArr(): FormArray {\r\n return this.myForm.get('checkList') as FormArray;\r\n }\r\n\r\n setCheckList() {\r\n this.verifyChekist.forEach((x) => {\r\n this.checkListFormArr.push(\r\n this.formBuilder.group({\r\n checkListName: [x.checkListName],\r\n checkListId: [x.checkListId],\r\n checkListItems: this.setCheckListItems(x),\r\n })\r\n );\r\n });\r\n }\r\n\r\n setCheckListItems(x) {\r\n let arr = new FormArray([]);\r\n x.checkListItems.forEach((y) => {\r\n arr.push(\r\n this.formBuilder.group({\r\n checkListItemName: [y.checkListItemName],\r\n checkListItemId: [y.checkListItemId],\r\n checked: [y.checked ? true : false],\r\n verificationId: [y.verificationId ? y.verificationId : null],\r\n checkListItem: [y.trainingChkItemId],\r\n })\r\n );\r\n });\r\n return arr;\r\n }\r\n\r\n getMonitoringQuestions(batchId) {\r\n this.loading = true;\r\n let batchCode;\r\n if (batchId === null || batchId === undefined) {\r\n if (this.batchCodeDS != null && this.batchCodeDS != undefined) {\r\n batchId = this.batchCodeDS;\r\n } else if (this.batchIdFromDD != null && this.batchIdFromDD != undefined) {\r\n batchId = this.batchIdFromDD;\r\n }\r\n }\r\n if (this.ratingForm.controls['batchCode'].value == null || this.ratingForm.controls['batchCode'].value === undefined) {\r\n batchCode = this.batchCodeFromDD;\r\n } else {\r\n batchCode = this.ratingForm.controls['batchCode'].value;\r\n }\r\n this.trainingService.getMonitorQuestions(batchId, this.empCode).subscribe((res) => {\r\n if (res && res.data !== null && (res.status === '200' || res.status === '400')) {\r\n this.loading = false;\r\n if (res.message === \"Questions Already verified\") {\r\n this.loading = false;\r\n this.disabledMonitoringQuestions = true;\r\n this.enableMonitoringQuestionsApi = false;\r\n // (document.getElementById(\"myFile\") as HTMLButtonElement).disabled = true;\r\n this.trainingService.GetMonitoringCommentP(batchCode, this.empCode).subscribe((response) => {\r\n if (response && response.data && response != null) {\r\n this.comments = response.data[0].comment;\r\n this.disableMQ = true;\r\n }\r\n });\r\n this.trainingService.GetMonitoringPhotosP(batchCode, this.empCode).subscribe((response) => {\r\n if (response && response.data && response != null) {\r\n response.data.forEach((d) => {\r\n d.name = d.photoName;\r\n d.size = '2 KB',\r\n d.type = 'PNG'\r\n })\r\n this.photosData = response.data;\r\n }\r\n });\r\n } else {\r\n this.loading = false;\r\n this.disabledMonitoringQuestions = null;\r\n this.enableMonitoringQuestionsApi = true;\r\n this.disableMQ = false;\r\n }\r\n let arr = [];\r\n for (let i = 0; i < res.data.length; i++) {\r\n arr.push(this.BuildDyanamicForm(res.data[i]));\r\n }\r\n this.ratingQuestionnaireForm = this.formBuilder.group({\r\n ratingQuestions: this.formBuilder.array(arr),\r\n comments: [],\r\n uploadPhotos: [],\r\n });\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n // fetchPermission() {\r\n // this.data = this.dataSharing.getNavItems();\r\n // this.navPermissions = this.data.source._value;\r\n // this.navPermissions[3].children[0].children.forEach(nav => {\r\n // if (nav.name == 'Training Monitor') {\r\n // this.currentPermission = nav.permission\r\n // return\r\n // }\r\n // })\r\n // }\r\n\r\n getNavigableMenu(userId?, roleId?) {\r\n this.loginService.getNavigationMenu(userId, roleId).subscribe((data) => {\r\n if (data && data !== null) {\r\n let child = [];\r\n this.navItems = data.navigableMenu;\r\n this.dataSharing.setNavItems(this.navItems);\r\n this.dataSharing.setMenuList(data.employeeRoleArea);\r\n this.navItems = _.orderBy(this.navItems, 'displayOrder', 'asc');\r\n setTimeout(() => { }, 10);\r\n //this.fetchPermission();\r\n }\r\n });\r\n }\r\n\r\n BuildDyanamicForm(item) {\r\n return this.formBuilder.group({\r\n question: [item.monitorQuestionMaster.question],\r\n questionId: [item.trainingMonitorQuestionId],\r\n answer: [item.verify === true ? true : (item.verify === false ? false : null), [Validators.required]],\r\n trainingId: [item.trainingId],\r\n trainingMonitorQuestionId: [item.trainingMonitorQuestionId]\r\n });\r\n }\r\n\r\n createRatingQuestionnaireForm() {\r\n this.ratingQuestionnaireForm = this.formBuilder.group({\r\n ratingQuestions: this.formBuilder.array([]),\r\n comments: [],\r\n uploadPhotos: this.formBuilder.array([]),\r\n });\r\n }\r\n\r\n get ratingQuestion(): FormArray {\r\n return this.ratingQuestionnaireForm.get('ratingQuestions') as FormArray;\r\n }\r\n\r\n createRatingFormA() {\r\n this.ratingForm = this.formBuilder.group({\r\n // training: [null],\r\n // trainingArea: [null],\r\n // batchNumber: [null],\r\n batchCode: [null],\r\n });\r\n }\r\n\r\n createRatingFormE() {\r\n this.ratingForm = this.formBuilder.group({\r\n // training: [null],\r\n // trainingArea: [null],\r\n // batchNumber: [null],\r\n batchCode: [null],\r\n });\r\n }\r\n\r\n cancelOperation() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.ratingFormReset();\r\n }\r\n });\r\n }\r\n\r\n\r\n ratingFormReset() {\r\n // this.ratingForm.controls['training'].reset();\r\n // this.ratingForm.controls['trainingArea'].reset();\r\n // this.ratingForm.controls['batchNumber'].reset();\r\n this.ratingForm.controls['batchCode'].reset();\r\n this.readOnlyBatchCode = false;\r\n this.trainersList = [];\r\n this.isDisabledSearchField = false;\r\n this.isDisabledTextFields = false;\r\n this.isDisabledDropDown = false;\r\n this.createRatingQuestionnaireForm();\r\n this.verifyChekist = [];\r\n (document.getElementById(\"chkkkk\") as HTMLButtonElement).disabled = false;\r\n\r\n }\r\n\r\n\r\n createVerifyAttendanceForm() {\r\n this.verifyAttendanceForm = this.formBuilder.group({\r\n checkFor: [],\r\n session: [],\r\n date: [this.todaysDate],\r\n });\r\n }\r\n\r\n getCurrentDate() {\r\n this._attendance.GetTodayDate().subscribe((res) => {\r\n if (res && res.data != null) {\r\n this.currentDateResponse = res.data[0];\r\n const format = \"dd-MM-yyyy\"\r\n this.todaysDate = this.dataSharing.datePipeFormat(res.data[0], format);\r\n this.verifyAttendanceForm.controls['date'].setValue(this.todaysDate);\r\n }\r\n })\r\n }\r\n dateFormatters(date: any) {\r\n const format = 'yyyy-MM-dd';\r\n // const locale = 'en-US';\r\n // return formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n previous() {\r\n this.connectorC--;\r\n this.step--;\r\n if (this.step === 1 && this.connectorC === 1) {\r\n this.clientSideStorage.set('batchCode', this.batchCode);\r\n // this.trainerData = [];\r\n // this.trainersList = [];\r\n this.createRatingFormA();\r\n this.createColumnDefs();\r\n this.readOnlyBatchCode = false;\r\n this.stepTitle = \"RATING\"\r\n this.createColumnDefsTrainee();\r\n this.participantData = [];\r\n this.verifyAttendanceForm.controls['checkFor'].reset();\r\n this.verifyAttendanceForm.controls['session'].reset();\r\n this.isRedFlagAlreadyRaised = false;\r\n this.displayParticipantGrid = true;\r\n } else if (this.step == 2 && this.connectorC == 2) {\r\n this.createColumnDefsTrainee();\r\n this.participantData = [];\r\n this.verifyAttendanceForm.controls['checkFor'].reset();\r\n this.verifyAttendanceForm.controls['session'].reset();\r\n this.stepTitle = \"VERIFY ATTENDANCE\"\r\n } else if (this.step == 3 && this.connectorC == 3) {\r\n // this.getTrainingMappedCheckList('B' + this.batchCode);\r\n if (this.verifyChekist.length == 0) {\r\n this.step = 2;\r\n this.connectorC = 2;\r\n this.stepTitle = \"VERIFY ATTENDANCE\"\r\n }\r\n this.stepTitle = \"VERIFY CHECKLIST\";\r\n }\r\n }\r\n\r\n getTraineeOrTrainer() {\r\n this.checkFor = traineeOrTrainer;\r\n }\r\n\r\n getSession() {\r\n this.session = session;\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridReady(params, value);\r\n }\r\n\r\n onGridReadyTraineeTrainer(params: any, value: any) {\r\n this.gridReady(params, value);\r\n }\r\n\r\n onGridReadyPhotos(params: any, value: any) {\r\n this.gridReadyPhoto(params, value);\r\n }\r\n\r\n gridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n gridReadyPhoto(params: any, value: any) {\r\n this.gridApi1 = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n selectedCheckFor(event) {\r\n if (\r\n this.verifyAttendanceForm.value.session != null &&\r\n this.verifyAttendanceForm.value.checkFor != null\r\n ) {\r\n this.isViewDisabled = false;\r\n } else {\r\n this.isViewDisabled = true;\r\n }\r\n }\r\n selectedSession(event) {\r\n if (\r\n this.verifyAttendanceForm.value.session != null &&\r\n this.verifyAttendanceForm.value.checkFor != null\r\n ) {\r\n this.isViewDisabled = false;\r\n } else {\r\n this.isViewDisabled = true;\r\n }\r\n }\r\n\r\n viewDetail() {\r\n if (this.batchCode != undefined || this.batchCode != null) {\r\n this.batchCode = this.batchIdFromDD;\r\n }\r\n if (this.verifyAttendanceForm.value.checkFor === 2) {\r\n //trainee\r\n\r\n this.loading = true;\r\n this._attendanceVerification\r\n .checkTraineeAttendanceListByBatchId(\r\n this.batchCode,\r\n this.verifyAttendanceForm.value.session,\r\n this.empCode\r\n )\r\n .subscribe((response) => {\r\n if (response && response.data != null && (response.status === '200' || response.status === '400')) {\r\n this.loading = false;\r\n if (response.status === '400') {\r\n this.enableVerifyAttendanceApi = false;\r\n } else {\r\n this.enableVerifyAttendanceApi = true;\r\n }\r\n this.displayParticipantGrid = true;\r\n // this._attendanceVerification\r\n // .getTraineeAttendanceListByBatchId(this.batchCode, this.verifyAttendanceForm.value.session)\r\n // .subscribe((response) => {\r\n this.createColumnDefsTrainee();\r\n if (response.data.length != 0) {\r\n // const filterBySession = response.data.filter(\r\n // (data) => data.session === this.verifyAttendanceForm.value.session\r\n // );\r\n if (response.data.length === 0) {\r\n this.displayParticipantGrid = true;\r\n this.filterBySession = 1;\r\n } else {\r\n this.participantData = [];\r\n for (let i = 0; i < response.data.length; i++) {\r\n this.participantData.push(response.data[i]);\r\n this.gridApi.setRowData(this.participantData);\r\n this.recordCount = this.participantData.length;\r\n }\r\n }\r\n }\r\n // });\r\n } else if (response.status === '400' && response.data != null) {\r\n this.loading = false;\r\n if (response.data.length === 0) {\r\n this.displayParticipantGrid = true;\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n } else if (response.status === '300') {\r\n this.loading = false;\r\n this.displayParticipantGrid = false;\r\n this.getRedFlagAlreadyMarked();\r\n this.toast.info({\r\n detail: Constantss.INFO,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n }\r\n else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.displayParticipantGrid = true;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n } else {\r\n this.loading = true;\r\n this._attendanceVerification\r\n .checkTrainerAttendanceListByBatchId(\r\n this.batchCode,\r\n this.verifyAttendanceForm.value.session,\r\n this.empCode\r\n )\r\n .subscribe((response) => {\r\n if (\r\n response && response.data != null &&\r\n response != undefined &&\r\n response != null && (\r\n response.status === '200' || response.status === '400')\r\n ) {\r\n this.loading = false;\r\n if (response.status === '400') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response?.message,\r\n duration: 10000\r\n })\r\n this.enableVerifyAttendanceApiTrainer = false;\r\n } else {\r\n this.enableVerifyAttendanceApiTrainer = true;\r\n }\r\n // this._attendanceVerification\r\n // .getTrainerAttendanceByBatchId(this.batchCode, this.verifyAttendanceForm.value.session)\r\n // .subscribe((response) => {\r\n this.displayParticipantGrid = true;\r\n this.createColumnDefsTrainer();\r\n if (response.data.length != 0) {\r\n // const filterBySession = response.data.filter(\r\n // (data) => data.session === this.verifyAttendanceForm.value.session\r\n // );\r\n // if (filterBySession.length === 0) {\r\n // this.displayParticipantGrid = false;\r\n // this.filterBySession = 1;\r\n // } else {\r\n this.participantData = [];\r\n for (let i = 0; i < response.data.length; i++) {\r\n this.participantData.push(response.data[i]);\r\n this.gridApi.setRowData(this.participantData);\r\n this.recordCount = this.participantData.length;\r\n }\r\n // }\r\n } else {\r\n this.displayParticipantGrid = false;\r\n this.getRedFlagAlreadyMarked();\r\n this.filterBySession = 1;\r\n }\r\n // });\r\n } else if (response.status === '400') {\r\n this.loading = false;\r\n this.displayParticipantGrid = true;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = false;\r\n this.displayParticipantGrid = false;\r\n this.getRedFlagAlreadyMarked();\r\n if (response.status === '300') {\r\n this.toast.info({\r\n detail: Constantss.INFO,\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n\r\n\r\n getRedFlagAlreadyMarked() {\r\n let session = this.verifyAttendanceForm.controls['session'].value;\r\n let attendanceFor = this.verifyAttendanceForm.controls['checkFor'].value === 1 ? Constantss.TRAINER : Constantss.TRAINEE;\r\n this._attendanceVerification.getRedFlag(this.batchCode, session, attendanceFor).subscribe((res) => {\r\n if (res && res.data && res.data != null && res.data?.length > 0) {\r\n this.isRedFlagAlreadyRaised = true;\r\n this.raiseRedFlagBtnDisabled = true;\r\n } else {\r\n this.isRedFlagAlreadyRaised = false;\r\n }\r\n }, (error) => {\r\n this.isRedFlagAlreadyRaised = true;\r\n this.raiseRedFlagBtnDisabled = true;\r\n });\r\n }\r\n\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('trainerId', 'Trainer ID');\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainerName',\r\n 'Trainer Name'\r\n );\r\n header.width = 280;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('isPresent', 'Rating');\r\n header.width = 300;\r\n header.cellRenderer = 'ratingIcon';\r\n header.cellRendererParams = {\r\n onRatingClick: (params: any) => {\r\n this.onRatingIconClicked(params.rowData.trainerId);\r\n },\r\n };\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'hasRemarkDisabled',\r\n 'Remark'\r\n );\r\n header.width = 300;\r\n header.headerComponentParams = {\r\n template: '*Remark',\r\n };\r\n header.cellRenderer = 'remarkTextBox';\r\n header.cellStyle = this.cellStyling.bind(this)\r\n header.cellRendererParams = {\r\n type: 'Training.Monitor',\r\n remarkData: this.remark,\r\n onRemarkTextBox: (params: any) => {\r\n this.onRemarkIconClicked(params.rowData.trainerId);\r\n },\r\n onInputText: (params: any) => {\r\n let trainerBatchId = params.rowData.trainerBatchId;\r\n this.remarkArray[trainerBatchId] = {\r\n trainerBatchId: trainerBatchId,\r\n remark: params.remark,\r\n };\r\n },\r\n };\r\n\r\n this.columnDefs.push(header);\r\n }\r\n\r\n createColumnDefsTrainee() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainee.employeeMaster.employeeCode',\r\n 'Participant ID'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainee.employeeMaster.employeeName',\r\n 'Participant Name'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('attendance', 'Attendance');\r\n header.width = 300;\r\n header.cellRenderer = 'checkBoxIcon';\r\n header.cellRendererParams = {\r\n onCheckBoxClick: (params) => { },\r\n };\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('verify', 'Verify');\r\n header.width = 300;\r\n header.cellRenderer = 'switchIcon';\r\n header.cellStyle = this.cellStylingVerifyAttendance.bind(this)\r\n header.cellRendererParams = {\r\n onSwitchClick: (params: any) => {\r\n this.onSwitchIconClicked();\r\n },\r\n };\r\n\r\n this.columnDefs.push(header);\r\n }\r\n\r\n createColumnDefsUploadPhotos() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('name', 'Photo Name');\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('size', 'Size');\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('type', 'Type');\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Delete');\r\n header.width = 180;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.cellStyle = this.cellStylingForDelete.bind(this)\r\n header.cellRendererParams = {\r\n type: 'removeMonitorPhoto',\r\n onDeleteIconClick: this.onDeletBtnClicked.bind(this),\r\n };\r\n this.columnDefs.push(header);\r\n }\r\n\r\n\r\n cellStylingForDelete() {\r\n if (this.disableMQ === true) {\r\n return { 'pointer-events': 'none' }\r\n } else {\r\n return { 'pointer-events': 'all' }\r\n }\r\n }\r\n\r\n onDeletBtnClicked(params) {\r\n let image = this.photosData.find((item) => item.name === params.data.name);\r\n this.photosData.splice(image, 1);\r\n this.gridApi1.setRowData(this.photosData);\r\n }\r\n\r\n createColumnDefsTrainer() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainer.employeeCode',\r\n 'Participant ID'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainer.employeeName',\r\n 'Participant Name'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'attendance',\r\n 'Attendance'\r\n );\r\n header.width = 300;\r\n header.cellRenderer = 'checkBoxIcon';\r\n header.cellRendererParams = {\r\n onCheckBoxClick: (params) => { },\r\n };\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('verify', 'Verify');\r\n header.width = 300;\r\n header.cellRenderer = 'switchIcon';\r\n header.cellStyle = this.cellStylingVerifyAttendance.bind(this)\r\n header.cellRendererParams = {\r\n onSwitchClick: (params: any) => {\r\n this.onSwitchIconClicked();\r\n },\r\n };\r\n\r\n this.columnDefs.push(header);\r\n }\r\n\r\n onRaiseRedFlagClicked() {\r\n this.id = this.batchCode;\r\n this.primaryModal.show();\r\n }\r\n\r\n onRemarkIconClicked(id: number) {\r\n // this.id = id;\r\n // this.primaryModal.show();\r\n }\r\n\r\n onSwitchIconClicked() { }\r\n\r\n batchCodeChange() {\r\n\r\n this.searchBtnBatchCode = false;\r\n this.isDisabledDropDown = true;\r\n\r\n }\r\n\r\n searchByBatchCode() {\r\n this.trainerMasters = [];\r\n this.trainersList = [];\r\n if (this.isDisabledTextFields === false && this.isDisabledDropDown === true) {\r\n let a = this.ratingForm.controls['batchCode'].value;\r\n if (a.length > 6) {\r\n document.getElementById(\"error\").innerText = \"Batch Code should be of 5/6 characters\"\r\n } else {\r\n document.getElementById(\"error\").innerText = \"\";\r\n let b = (a.toUpperCase()).split('B');\r\n this.batchIdFromDD = b[1];\r\n this.ApiCall();\r\n }\r\n }\r\n if (this.isDisabledTextFields === true && this.isDisabledDropDown === false) {\r\n this.ApiCallForDDD();\r\n }\r\n }\r\n\r\n\r\n ApiCallForDDD() {\r\n this.trainerMasters = [];\r\n this.trainersList = [];\r\n this.searchBtnBatchCode = true;\r\n this.saveNextDisable = true;\r\n this.batchNumber = this.ratingForm.value.batchNumber;\r\n let bactchId = this.ratingForm.value.batchId;\r\n this.getTrainingMappedCheckList(this.batchIdFromDD);\r\n\r\n // if (this.batchNumber.length > 4) {\r\n // this.batchCode = this.batchNumber.substring(1);\r\n // }\r\n this.getMonitoringQuestions(this.batchIdFromDD);\r\n let batchNumber = this.ratingForm.value.batchNumber;\r\n // if (batchNumber.length > 4) {\r\n // batchNumber = batchNumber.substring(1);\r\n // }\r\n\r\n\r\n this.loading = true;\r\n this._attendance.getTrainerRatingByBatch(this.batchIdFromDD, this.empCode).subscribe(\r\n (response) => {\r\n if (response && response.data != null && (response.status == '200' || response.status === \"400\")) {\r\n this.loading = false;\r\n if (response.status === \"400\") {\r\n this.enableRatingApi = false;\r\n this.loading = false;\r\n } else {\r\n this.enableRatingApi = true;\r\n this.loading = false;\r\n }\r\n if (response.data.length != 0) {\r\n this.loading = false;\r\n (document.getElementById(\"chkkkk\") as HTMLButtonElement).disabled = true;\r\n this.readOnlyBatchCode = true;\r\n this.searchBtnBatchCode = true;\r\n this.saveNextDisable = false;\r\n\r\n this.createColumnDefs();\r\n for (let i = 0; i < response.data.length; i++) {\r\n\r\n let trainerMaster = new TrainerMaster();\r\n trainerMaster.trainerId = response.data[i].trainerDTO.employeeCode;\r\n trainerMaster.trainerName = response.data[i].trainerDTO.employeeName;\r\n trainerMaster.rating = response.data[i].trainerDTO.rating;\r\n trainerMaster.remark = response.data[i].trainerDTO.remark;\r\n\r\n // trainerMaster.trainerAttendanceId = response.data[i].trainerAttendanceId;\r\n this.trainerMasters.push(trainerMaster);\r\n\r\n this.gridApi.setRowData(this.trainerMasters);\r\n this.recordCount = this.trainerData.length;\r\n this.recordCount = this.trainerMasters.length;\r\n }\r\n } else {\r\n this.loading = false;\r\n }\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n this.searchBtnBatchCode = false;\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n ApiCall() {\r\n this.trainerMasters = [];\r\n this.trainersList = [];\r\n this.searchBtnBatchCode = false;\r\n this.saveNextDisable = true;\r\n this.batchCode = this.ratingForm.value.batchCode;\r\n this.getTrainingMappedCheckList(this.batchCode);\r\n if (this.batchCode.length > 4) {\r\n this.batchCode = this.batchCode.substring(1);\r\n }\r\n this.getMonitoringQuestions(this.batchCode);\r\n let batchCode = this.ratingForm.value.batchCode;\r\n if (batchCode.length > 4) {\r\n batchCode = batchCode.substring(1);\r\n }\r\n this.loading = true;\r\n this._attendance.getTrainerRatingByBatch(batchCode, this.empCode).subscribe(\r\n (response) => {\r\n if (response && response.data != null && (response.status == '200' || response.status === \"400\")) {\r\n this.loading = false;\r\n if (response.status === \"400\") {\r\n this.enableRatingApi = false;\r\n } else {\r\n this.enableRatingApi = true;\r\n }\r\n if (response.data.length != 0) {\r\n this.readOnlyBatchCode = true;\r\n this.searchBtnBatchCode = true;\r\n (document.getElementById(\"chkkkk\") as HTMLButtonElement).disabled = true;\r\n this.saveNextDisable = false;\r\n this.createColumnDefs();\r\n for (let i = 0; i < response.data.length; i++) {\r\n\r\n let trainerMaster = new TrainerMaster();\r\n trainerMaster.trainerId = response.data[i].trainerDTO.employeeCode;\r\n trainerMaster.trainerName = response.data[i].trainerDTO.employeeName;\r\n trainerMaster.rating = response.data[i].trainerDTO.rating;\r\n trainerMaster.remark = response.data[i].trainerDTO.remark;\r\n\r\n // trainerMaster.trainerAttendanceId = response.data[i].trainerAttendanceId;\r\n this.trainerMasters.push(trainerMaster);\r\n\r\n this.gridApi.setRowData(this.trainerMasters);\r\n this.recordCount = this.trainerData.length;\r\n this.recordCount = this.trainerMasters.length;\r\n }\r\n }\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n this.searchBtnBatchCode = false;\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n cellStyling(params: any) {\r\n if (params.data.remark != null) {\r\n return { 'pointer-events': 'none' }\r\n } else {\r\n return {}\r\n }\r\n\r\n }\r\n\r\n\r\n cellStylingVerifyAttendance(params: any) {\r\n if (params.data.verify != null) {\r\n return { 'pointer-events': 'none' }\r\n } else {\r\n return {}\r\n }\r\n\r\n }\r\n\r\n\r\n \r\n\r\n\r\n next() {\r\n if (this.step === 1) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n\r\n var formValid = true;\r\n this.searchBtnBatchCode = false;\r\n this.trainerMasters.forEach((trainer) => {\r\n if (trainer?.rating === null) {\r\n trainer.rating = 0;\r\n } else {\r\n trainer.rating = trainer?.rating;\r\n }\r\n });\r\n this.trainerMasters.forEach((trainer) => {\r\n if (trainer?.rating != 0 && trainer.remark == null) {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.REMARK_MANDATORY_IF_RATING_FILLED,\r\n duration: 10000,\r\n });\r\n formValid = false;\r\n }\r\n });\r\n if (!formValid) return;\r\n this.createColumnDefsTrainee();\r\n if (this.trainerMasters.length != 0) {\r\n this.batchCode = this.ratingForm.value.batchCode;\r\n this.clientSideStorage.set('batchCode', this.batchCode);\r\n // this.dataSharing.setBatchCode(this.batchCode);\r\n let trainerRating;\r\n\r\n trainerRating = this.mapToRating(this.trainerMasters);\r\n\r\n if (this.enableRatingApi === true) {\r\n this.loading = true;\r\n this._attendanceVerification.saveTrainerRating(trainerRating).subscribe((response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.trainerAttendanceVerificationPopulate = response.data;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n\r\n if (this.batchCode === null || this.batchCode === undefined) {\r\n this.batchCode = this.batchCodeErr;\r\n }\r\n this.loading = true;\r\n this.trainingService.getTrainingMonitorQuestions(this.batchCode).subscribe((res) => {\r\n if (res && res.data !== null) {\r\n this.loading = false;\r\n let arr = [];\r\n for (let i = 0; i < res.data.length; i++) {\r\n arr.push(this.BuildDyanamicForm(res.data[i]));\r\n }\r\n this.ratingQuestionnaireForm =\r\n this.formBuilder.group({\r\n ratingQuestions: this.formBuilder.array(arr),\r\n comments: [],\r\n uploadPhotos: this.formBuilder.array([]),\r\n });\r\n this.createColumnDefsUploadPhotos();\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n } else {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n }\r\n if (this.trainersList.length != 0) {\r\n this.trainersList.forEach((data: any) => {\r\n if (data.remark === undefined) {\r\n data.remark = null;\r\n }\r\n if (data.rating === undefined) {\r\n data.rating = null;\r\n }\r\n });\r\n this.batchCode = this.ratingForm.value.batchCode;\r\n this.clientSideStorage.set('batchCode', this.batchCode);\r\n let trainerRating;\r\n trainerRating = this.mapToModelTrainerRating(this.trainersList);\r\n\r\n this.loading = true;\r\n this._attendanceVerification.saveTrainerAttendanceVerification(trainerRating).subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.trainerAttendanceVerificationPopulate = response?.data;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n this.ratingForm.controls['batchCode'].reset();\r\n this.connectorC++;\r\n this.step++;\r\n this.stepTitle = \"VERIFY ATTENDANCE\";\r\n this.recordCount = 0;\r\n this.createColumnDefsTrainee();\r\n }\r\n });\r\n } else if (this.step == 2 && this.connectorC == 2) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n\r\n if (this.verifyAttendanceForm.controls['checkFor'].value === 2) {\r\n this.participantData.forEach((pData) => {\r\n if (pData.verify === undefined) {\r\n pData.verify = true;\r\n }\r\n });\r\n let traineeAttendanceVerification;\r\n traineeAttendanceVerification = this.mapToModelTraineeAttendanceVerification(this.participantData);\r\n if (this.enableVerifyAttendanceApi === true) {\r\n this.loading = true;\r\n this._attendanceVerification.saveTraineeAttendanceVerification(traineeAttendanceVerification)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.createColumnDefsUploadPhotos();\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n } else {\r\n this.loading = false;\r\n }\r\n\r\n } else {\r\n //trainer\r\n this.participantData.forEach((pData) => {\r\n if (pData.verify === undefined) {\r\n pData.verify = true;\r\n }\r\n });\r\n let trainerAttendanceVerification;\r\n trainerAttendanceVerification =\r\n this.mapToModelTrainerAttendaceVerificationStep2(\r\n this.participantData\r\n );\r\n\r\n if (this.enableVerifyAttendanceApiTrainer === true) {\r\n this.loading = true;\r\n this._attendanceVerification\r\n .saveTrainerAttendanceVerification(\r\n trainerAttendanceVerification\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: Constantss.SOMETHING_WENT_WRONG,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n } else {\r\n this.loading = false;\r\n }\r\n\r\n\r\n\r\n }\r\n this.connectorC++;\r\n this.step++;\r\n this.stepTitle = \"VERIFY CHECKLIST\";\r\n this.participantData = [];\r\n this.createColumnDefsUploadPhotos();\r\n if (this.verifyChekist.length == 0) {\r\n this.connectorC = 4;\r\n this.step = 4;\r\n this.stepTitle = \"VERIFY CHECKLIST\";\r\n }\r\n }\r\n });\r\n } else if (this.step == 3 && this.connectorC == 3) {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n\r\n if (this.checkListDisabled === null || this.checkListDisabled === false) {\r\n let verifyChekist = this.mapToModelVerifyCheckList(this.myForm.value);\r\n this.loading = true;\r\n this._trainingMonitoringStatusHistory\r\n .saveBatchCheckListItemsVerification(this.batchIdFromDD, verifyChekist)\r\n .subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.loading = false;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error.error,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n } else {\r\n this.loading = false;\r\n }\r\n\r\n this.connectorC++;\r\n this.step++;\r\n this.stepTitle = \"MONITORING QUESTIONS\";\r\n if (this.disableMQ === true) {\r\n this.ratingQuestionnaireForm.controls['comments'].setValue(this.comments);\r\n this.createColumnDefsUploadPhotos();\r\n }\r\n\r\n }\r\n });\r\n } else {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n\r\n if (this.enableMonitoringQuestionsApi === true) {\r\n this.loading = true;\r\n this.ppm = new Blob([JSON.stringify(this.photosData)], { type: 'application/json', });\r\n this.formData.append('image', this.ppm);\r\n // this.ratingQuestionnaireForm.value.uploadPhotos = this.photosData;\r\n this.ratingQuestionnaireForm.value.comments;\r\n let monitorQuestionVerifcation;\r\n monitorQuestionVerifcation = this.mapToModelMonitorQuestionVerification(this.ratingQuestionnaireForm.value.ratingQuestions);\r\n\r\n\r\n this.trainingService\r\n .saveMonitorQuesVerification(monitorQuestionVerifcation)\r\n .subscribe((response) => {\r\n if (response.status === '200') {\r\n this.loading = false;\r\n let updateMonitorComments = new MonitorComments();\r\n updateMonitorComments = this.mapToModelMonitorComment(\r\n this.ratingQuestionnaireForm.value\r\n );\r\n this.trainingService\r\n .saveMonitorPhotos(this.formData, this.batchCode)\r\n .subscribe();\r\n this.trainingService\r\n .saveMonitorComments(updateMonitorComments)\r\n .subscribe();\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.formData = new FormData();\r\n } else {\r\n this.loading = false;\r\n }\r\n }, (error) => {\r\n this.loading = false;\r\n });\r\n } else {\r\n this.loading = false;\r\n }\r\n\r\n // this.router.navigate(['/training/attendance']);\r\n this.step = 1;\r\n this.connectorC = 1;\r\n this.searchBtnBatchCode = false;\r\n this.readOnlyBatchCode = false;\r\n\r\n\r\n\r\n this.photosData = [];\r\n this.trainersList = [];\r\n this.participantData = [];\r\n this.verifyAttendanceForm.controls['checkFor'].reset();\r\n this.verifyAttendanceForm.controls['session'].reset();\r\n this.ratingForm.controls['training'].reset();\r\n this.ratingForm.controls['trainingArea'].reset();\r\n this.ratingForm.controls['batchNumber'].reset();\r\n this.ratingForm.controls['batchCode'].reset();\r\n }\r\n });\r\n }\r\n }\r\n\r\n mapToModelVerifyCheckList(data) {\r\n let checkListNew: Array = [];\r\n for (let i = 0; i < data.checkList.length; i++) {\r\n data.checkList[i].checkListItems.forEach((data) => {\r\n\r\n let verifyCheckList = new VerifyCheckList();\r\n verifyCheckList.verificationId = data.verificationId;\r\n let checkListItems = new CheckListItems();\r\n checkListItems.checkListItemId = data.checkListItemId;\r\n verifyCheckList.checkListItems = checkListItems;\r\n let batchMaster = new BatchMaster();\r\n batchMaster.batchId = this.batchIdFromDD;\r\n verifyCheckList.batchMaster = batchMaster;\r\n verifyCheckList.verify = data.checked;\r\n verifyCheckList.updatedBy = this.userId;\r\n verifyCheckList.updatedOn = new Date()\r\n verifyCheckList.createdBy = this.userId\r\n verifyCheckList.createdOn = new Date();\r\n checkListNew.push(verifyCheckList);\r\n });\r\n }\r\n return checkListNew;\r\n }\r\n\r\n mapToModelMonitorComment(data: any) {\r\n let updateMonitorComments = new MonitorComments();\r\n updateMonitorComments.comment = data.comments;\r\n let batchMaster = new BatchMaster();\r\n batchMaster.batchId = this.batchCode;\r\n updateMonitorComments.batchMaster = batchMaster;\r\n updateMonitorComments.createdBy = Number(this.userId);\r\n updateMonitorComments.createdOn = new Date();\r\n let updatedBy = new User();\r\n updatedBy.userId = this.userId;\r\n updateMonitorComments.updatedBy = updatedBy;\r\n updateMonitorComments.updatedOn = new Date();\r\n return updateMonitorComments;\r\n }\r\n\r\n mapToModelTrainerAttendaceVerificationStep2(data: any) {\r\n let arr = [];\r\n data.forEach((data) => {\r\n let trainerAttendanceVerification = new TrainerAttendanceVerification();\r\n trainerAttendanceVerification.createdBy = Number(this.userId);\r\n trainerAttendanceVerification.trainerVerificationId =\r\n data.trainerAttendanceVerificationId;\r\n trainerAttendanceVerification.createdOn = new Date();\r\n trainerAttendanceVerification.updatedOn = new Date();\r\n let updatedBy = new User();\r\n updatedBy.userId = this.userId;\r\n trainerAttendanceVerification.updatedBy = updatedBy;\r\n let trainerAttendance = new TrainerAttendance();\r\n trainerAttendance.trainerAttendanceId = data.trainerAttendanceId;\r\n trainerAttendanceVerification.trainerAttendance = trainerAttendance;\r\n trainerAttendanceVerification.verify = data.verify;\r\n // let trainer = new TrainerMaster();\r\n // trainer.trainerId = data.trainerMaster.trainerId;\r\n trainerAttendanceVerification.trainer = null;\r\n trainerAttendanceVerification.trainerEmpCode = data.trainer.employeeCode;\r\n let batch = new BatchMaster();\r\n batch.batchId = data.batch.batchId;\r\n trainerAttendanceVerification.batch = batch;\r\n arr.push(trainerAttendanceVerification);\r\n });\r\n this.trainerAttendanceVerification = arr;\r\n return this.trainerAttendanceVerification;\r\n }\r\n\r\n mapToModelMonitorQuestionVerification(data: any) {\r\n let arr = [];\r\n data.forEach((d) => {\r\n let monitorQuestionVerifcation = new MonitorQuestionsVerification();\r\n let monitorQuestions = new MonitorQuestions();\r\n monitorQuestions.monitorQuestionId = d.questionId;\r\n monitorQuestionVerifcation.monitorQuestions = monitorQuestions;\r\n let training = new Training();\r\n training.trainingId = d.trainingId;\r\n monitorQuestionVerifcation.training = training;\r\n monitorQuestionVerifcation.answer = d.answer;\r\n let batchMaster = new BatchMaster();\r\n // batchMaster.batchId = 1; //this.batchCode;\r\n batchMaster.batchId = this.batchCode;\r\n monitorQuestionVerifcation.batchMaster = batchMaster;\r\n monitorQuestionVerifcation.updatedOn = new Date();\r\n monitorQuestionVerifcation.createdOn = new Date();\r\n monitorQuestionVerifcation.createdBy = Number(this.userId);\r\n let updatedBy = new User();\r\n updatedBy.userId = this.userId;\r\n monitorQuestionVerifcation.updatedBy = updatedBy;\r\n let trainingMonitorQuestions = new TrainingMonitorQuestions();\r\n trainingMonitorQuestions.trainingMonitorQuestionId = d.trainingMonitorQuestionId;\r\n monitorQuestionVerifcation.trainingMonitorQuestions = trainingMonitorQuestions;\r\n arr.push(monitorQuestionVerifcation);\r\n });\r\n this.monitorQuestionVerifcation = arr;\r\n return this.monitorQuestionVerifcation;\r\n }\r\n\r\n mapToModelTraineeAttendanceVerification(data: any) {\r\n let arr = [];\r\n data.forEach((data) => {\r\n let traineeAttendanceVerification = new TraineeAttendanceVerification();\r\n traineeAttendanceVerification.createdBy = Number(this.userId);\r\n // traineeAttendanceVerification.traineeAttendanceId=data.traineeAttendanceVerificationId;\r\n traineeAttendanceVerification.createdOn = new Date();\r\n let traineeAttendance = new TraineeAttendance();\r\n traineeAttendance.trainingAttendanceId = data.trainingAttendanceId;\r\n traineeAttendanceVerification.traineeAttendance = traineeAttendance;\r\n traineeAttendanceVerification.verify = data.verify;\r\n let user = new User();\r\n user.userId = this.userId;\r\n traineeAttendanceVerification.updatedBy = this.userId\r\n traineeAttendanceVerification.updatedOn = new Date();\r\n arr.push(traineeAttendanceVerification);\r\n });\r\n this.traineeAttendanceVerification = arr;\r\n return this.traineeAttendanceVerification;\r\n }\r\n\r\n mapToRating(data: any) {\r\n let list = [];\r\n data.forEach((trainer) => {\r\n // let trainerId = new TrainerMaster();\r\n // trainerId.trainerId = trainer.trainerId\r\n // trainer.trainerId = trainerId;\r\n trainer.trainerEmpCode = trainer.trainerId;\r\n trainer.trainerId = null;\r\n trainer.employee = this.userId;\r\n let batch = new BatchMaster();\r\n if (this.batchIdFromDD != undefined && this.batchIdFromDD != null) {\r\n this.batchCode = this.batchIdFromDD;\r\n }\r\n else if (this.batchCode != null && this.batchCode != undefined && this.batchCode.length > 4) {\r\n this.batchCode = this.batchCode.substring(1);\r\n } else {\r\n this.batchCode = this.batchCodeDS;\r\n }\r\n\r\n batch.batchId = this.batchCode;\r\n trainer.batchId = batch;\r\n // let createdBy = new User();\r\n // createdBy.userId = this.userId;\r\n trainer.createdBy = this.userId;\r\n let updatedBy = new User();\r\n updatedBy.userId = this.userId;\r\n trainer.updatedBy = updatedBy;\r\n list.push(trainer);\r\n });\r\n return list;\r\n }\r\n\r\n\r\n\r\n mapToModelTrainerRating(data: any) {\r\n let arr = [];\r\n data.forEach((d) => {\r\n let trainerAttendanceVerification = new TrainerAttendanceVerification();\r\n trainerAttendanceVerification.createdBy = Number(this.userId);\r\n trainerAttendanceVerification.createdOn = new Date();\r\n trainerAttendanceVerification.rating = d.rating;\r\n trainerAttendanceVerification.ratingRemark = d.remark;\r\n\r\n let batch = new BatchMaster();\r\n batch.batchId = this.batchCode;\r\n trainerAttendanceVerification.batch = batch;\r\n\r\n let trainerAttendance = new TrainerAttendance();\r\n trainerAttendance.trainerAttendanceId = d.trainerAttendanceId;\r\n trainerAttendanceVerification.trainerAttendance = trainerAttendance;\r\n\r\n let trainer = new TrainerMaster();\r\n trainer.trainerId = d.trainerId;\r\n trainerAttendanceVerification.trainer = trainer;\r\n\r\n let user = new User();\r\n user.userId = this.userId;\r\n trainerAttendanceVerification.updatedBy = user;\r\n trainerAttendanceVerification.updatedOn = new Date();\r\n arr.push(trainerAttendanceVerification);\r\n });\r\n\r\n this.trainerRating = arr;\r\n return this.trainerRating;\r\n }\r\n\r\n onRatingIconClicked(id: number) { }\r\n\r\n mapToModelRedFlag(remark: any, idRemark: any) {\r\n const todaysDate = this.currentDateResponse;\r\n const format = \"yyyy-MM-dd\";\r\n let redFlag = new RedFlag();\r\n let batchId = new BatchMaster();\r\n batchId.batchId = idRemark;\r\n redFlag.batchId = batchId;\r\n let user1 = new User();\r\n user1.userId = this.userId;\r\n redFlag.createdBy = user1;\r\n redFlag.createdOn = new Date();\r\n let user = new User();\r\n user.userId = this.userId;\r\n redFlag.updatedBy = user;\r\n redFlag.updatedOn = new Date();\r\n redFlag.remark = remark;\r\n redFlag.date = this.dataSharing.datePipeFormat(todaysDate, format);\r\n redFlag.session = this.verifyAttendanceForm.controls['session'].value;\r\n redFlag.attendanceFor = this.verifyAttendanceForm.controls['checkFor'].value === 1 ? Constantss.TRAINER : Constantss.TRAINEE;\r\n return redFlag;\r\n }\r\n\r\n getCellRenderersArray() {\r\n var allRenderes = this.gridApi.getCellRendererInstances();\r\n var rowRenderArray = [];\r\n while (allRenderes.length != 0) {\r\n var element1 = allRenderes.pop();\r\n var element2 = allRenderes.pop();\r\n rowRenderArray.push({ element1, element2 });\r\n }\r\n this.rowRenderArray = rowRenderArray;\r\n }\r\n\r\n\r\n formInputText(event) {\r\n this.remark = event;\r\n let redFlag = new RedFlag();\r\n redFlag = this.mapToModelRedFlag(this.remark, this.idRmrk);\r\n this._attendanceVerification.saveRedFlag(redFlag).subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: Constantss.SUCCESS,\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: error?.message,\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n onAddBtnClicked(event) {\r\n this.remark = event;\r\n // this.getCellRenderersArray();\r\n // var focusedCell = this.gridApi.getFocusedCell();\r\n // var index = this.rowRenderArray.length - focusedCell.rowIndex - 1;\r\n // this.rowRenderArray[index].element1.refresh(this.remark);\r\n if (this.filterBySession === 1) {\r\n let redFlag = new RedFlag();\r\n redFlag = this.mapToModelRedFlag(this.remark, this.idRmrk);\r\n this._attendanceVerification.saveRedFlag(redFlag).subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n if (this.trainerData.length != 0) {\r\n this.trainerData.forEach((data) => {\r\n if (data.trainer.trainerId === this.id) {\r\n data.remark = this.remark;\r\n }\r\n });\r\n }\r\n if (this.trainersList.length != 0) {\r\n this.trainersList.forEach((data: any) => {\r\n if (data.trainer.trainerId === this.id) {\r\n data.remark = this.remark;\r\n }\r\n });\r\n }\r\n if (this.trainerMasters.length != 0) {\r\n this.trainerMasters.forEach((data: any) => {\r\n if (data.trainerId === this.id) {\r\n data.remark = this.remark;\r\n }\r\n });\r\n }\r\n }\r\n\r\n getId(event) {\r\n this.idRmrk = event;\r\n }\r\n\r\n disableRedFlagBtn(event) {\r\n this.raiseRedFlagBtnDisabled = event;\r\n }\r\n\r\n changeIndicator = (callAddRole) => {\r\n this.id = 0;\r\n if (callAddRole == 'cancel') {\r\n this.primaryModal.hide();\r\n } else {\r\n this.primaryModal.hide();\r\n }\r\n };\r\n\r\n dataLoaded(child: string) { }\r\n\r\n uploadDoc(event: any) {\r\n let files = event.target.files[0];\r\n let typeImage = files.type.split('/');\r\n let imagetypeAsString = typeImage[0];\r\n let doctype = files.name.split('.');\r\n let doctypeName = doctype[doctype.length - 1];\r\n doctypeName = doctypeName.toLowerCase();\r\n if (\r\n doctypeName &&\r\n (doctypeName === 'jpg' || doctypeName === 'jpeg' || doctypeName === 'png')\r\n ) {\r\n let formData = new FormData();\r\n formData.append('file', files);\r\n this.trainingService.readQrCode(formData).subscribe((res) => {\r\n this.isDisabledDropDown = true;\r\n this.isDisabledTextFields = true;\r\n if (res != undefined && res != null) {\r\n this.batchCodeDS = res.data[0];\r\n this.createRatingFormE();\r\n this._initiateTrainingService.getBatchById(this.batchCodeDS).subscribe(res => {\r\n if (res && res != null && res.data != null) {\r\n this.batchCodeFromDD = res.data[0].batchCode;\r\n this.batchIdFromDD = res.data[0].batchId;\r\n }\r\n this.getTrainingMappedCheckList(this.batchIdFromDD);\r\n this.getMonitoringQuestions(this.batchIdFromDD);\r\n })\r\n this._attendance.getTrainerRatingByBatch(this.batchCodeDS, this.empCode).subscribe(\r\n (response) => {\r\n if (response && response.data != null && (response.status == '200' || response.status === \"400\")) {\r\n if (response.status === \"400\") {\r\n this.enableRatingApi = false;\r\n } else {\r\n this.enableRatingApi = true;\r\n }\r\n if (response.data.length != 0) {\r\n this.readOnlyBatchCode = true;\r\n this.searchBtnBatchCode = true;\r\n (document.getElementById(\"chkkkk\") as HTMLButtonElement).disabled = true;\r\n this.saveNextDisable = false;\r\n this.createColumnDefs();\r\n for (let i = 0; i < response.data.length; i++) {\r\n\r\n let trainerMaster = new TrainerMaster();\r\n trainerMaster.trainerId = response.data[i].trainerDTO.employeeCode;\r\n trainerMaster.trainerName = response.data[i].trainerDTO.employeeName;\r\n trainerMaster.rating = response.data[i].trainerDTO.rating;\r\n trainerMaster.remark = response.data[i].trainerDTO.remark;\r\n\r\n // trainerMaster.trainerAttendanceId = response.data[i].trainerAttendanceId;\r\n this.trainerMasters.push(trainerMaster);\r\n\r\n this.gridApi.setRowData(this.trainerMasters);\r\n this.recordCount = this.trainerData.length;\r\n this.recordCount = this.trainerMasters.length;\r\n }\r\n }\r\n } else {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n this.searchBtnBatchCode = false;\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n // this.attendanceService\r\n // .getTrainersByBatchId(res.data[0])\r\n // .subscribe((response) => {\r\n // if (response != null) {\r\n // this.trainingId = response.data[0].batch.training.trainingId;\r\n // this.trainersList = response.data;\r\n // }\r\n // });\r\n }\r\n });\r\n } else if (imagetypeAsString && imagetypeAsString === 'image') {\r\n }\r\n event.target.value = '';\r\n }\r\n\r\n uploadPhotos(e) {\r\n // (document.getElementById(\"myFile\") as HTMLButtonElement).disabled = true;\r\n if (\r\n e.target.files[0].type.split('/')[1].toLowerCase() === 'jpeg' ||\r\n e.target.files[0].type.split('/')[1].toLowerCase() === 'jpg' ||\r\n e.target.files[0].type.split('/')[1].toLowerCase() === 'png'\r\n ) {\r\n this.photosData.push(e.target.files[0]);\r\n this.gridApi1.setRowData(this.photosData);\r\n } else {\r\n this.toast.info({\r\n detail: 'Invalid',\r\n summary: 'Only Photos can be uploaded',\r\n duration: 5000,\r\n });\r\n e.target.value = '';\r\n }\r\n\r\n // this.createColumnDefsUploadPhotos();\r\n }\r\n\r\n submit() {\r\n let submitData = this.ratingQuestionnaireForm.value;\r\n this.ratingForm.value.batchCode;\r\n this._initiateTrainingService\r\n .saveMonitorQuestionsVerification(submitData)\r\n .subscribe();\r\n }\r\n\r\n submmit() {\r\n }\r\n\r\n getAssignedTrainingForAttendance() {\r\n this._attendance.GetAssignedTrainings(this.empCode).subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.trainingData = response.data;\r\n }\r\n });\r\n }\r\n\r\n\r\n getAssignedTraining(e) {\r\n this._attendance.GetTrainingAreaForAttendance(this.empCode, e.trainingId, e.trainingLevelId).subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.isDisabledTextFields = true;\r\n this.isDisabledSearchField = true;\r\n this.trainingAreaData = response.data;\r\n this.ratingForm.controls['trainingArea'].setValue(null);\r\n this.ratingForm.controls['batchNumber'].setValue(null);\r\n // this.ratingForm.get('batchCode').disable();\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n gettrainingArea(e) {\r\n this._attendance.GetBatchDataForAttendance(this.ratingForm.value.training, e.id, this.empCode).subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.isDisabledTextFields = true;\r\n this.isDisabledSearchField = true;\r\n this.batchCode = response.data;\r\n this.ratingForm.controls['batchNumber'].setValue(null);\r\n // this.ratingForm.controls['batchcode'].disable();\r\n }\r\n });\r\n }\r\n\r\n\r\n changeBatchNumber(e) {\r\n this.isDisabledTextFields = true;\r\n this.isDisabledSearchField = true;\r\n this.batchCodeErr = e.batchCode;\r\n this.batchIdFromDD = e.batchId;\r\n this.batchCodeFromDD = e.batchCode;\r\n // this.ratingForm.controls['batchcode'].disable();\r\n }\r\n\r\n}\r\n\r\nconst session = [\r\n {\r\n id: 1,\r\n name: 'Morning',\r\n },\r\n {\r\n id: 2,\r\n name: 'Evening',\r\n },\r\n];\r\n\r\nconst traineeOrTrainer = [\r\n {\r\n id: 1,\r\n name: 'Trainer',\r\n },\r\n {\r\n id: 2,\r\n name: 'Trainee',\r\n },\r\n];\r\n\r\nconst resp = {\r\n status: '200',\r\n message: ' Data Fetched Successfully',\r\n data: [\r\n {\r\n trainerId: 9,\r\n trainerName: 'yus',\r\n },\r\n {\r\n trainerId: 11,\r\n trainerName: 'oim',\r\n },\r\n {\r\n trainerId: 12,\r\n trainerName: 'sree',\r\n },\r\n ],\r\n};\r\n","
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n Training Monitor\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • = 1 ? 'active ' : 'inactive'\">
  • \r\n
  • = 2 ? 'active' : 'inactive'\">
  • \r\n
  • = 3 ? 'active' : 'inactive'\">
  • \r\n
  • = 4 ? 'active' : 'inactive'\">
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • ratingRATING
  • \r\n
  • \r\n rating VERIFY ATTENDANCE\r\n
  • \r\n
  • ratingVERIFY CHECKLIST\r\n
  • \r\n
  • MONITORING QUESTIONS
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n STEP {{step}} : {{stepTitle}}\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n {{'total_records'|translate}} {{recordCount}}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n STEP {{step}} : {{stepTitle}}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

\r\n {{'total_records'|translate}} {{recordCount}}\r\n

\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
No Record Found!
\r\n
\r\n
\r\n Red Flag Is Already Raised.\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n STEP {{step}} : {{stepTitle}}\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ question.value.question }}

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n STEP {{step}} : {{stepTitle}}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Checklist Name -\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Checklist Item Add
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { CheckboxDisabledComponent } from 'src/app/layouts/core/checkbox-disabled/checkbox-disabled.component';\r\nimport { DeleteIconComponent } from 'src/app/layouts/core/delete-icon/delete-icon.component';\r\nimport { RatingIconComponent } from 'src/app/layouts/core/rating-icon/rating-icon.component';\r\nimport { RemarkTextBoxComponent } from 'src/app/layouts/core/remark-text-box/remark-text-box.component';\r\nimport { VerifyStatusComponent } from 'src/app/layouts/core/verify-status/verify-status.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { ConfirmationDialogService } from 'src/app/layouts/shared/services/confirmation-dialog.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { BatchMaster } from '../../../model/batch-master';\r\nimport { MonitorComments } from '../../../model/monitor-comments';\r\nimport { MonitorQuestions } from '../../../model/monitor-questions';\r\nimport { MonitorQuestionsVerification } from '../../../model/monitor-questions-verification';\r\nimport { RedFlag } from '../../../model/red-flag';\r\nimport { TraineeAttendance } from '../../../model/trainee-attendance';\r\nimport { TraineeAttendanceVerification } from '../../../model/trainee-attendance-verification';\r\nimport { TrainerAttendance } from '../../../model/trainer-attendance';\r\nimport { TrainerAttendanceVerification } from '../../../model/trainer-attendance-verification';\r\nimport { TrainerMaster } from '../../../model/trainer-master';\r\nimport { Training } from '../../../model/training';\r\nimport { TrainingCheckListItems } from '../../../model/training-check-list-items';\r\nimport { TrainingMonitorQuestions } from '../../../model/training-monitor-questions';\r\nimport { VerifyCheckList } from '../../../model/verify-check-list';\r\nimport { AttendanceVerificationService } from '../../../services/attendance-verification.service';\r\nimport { AttendanceService } from '../../../services/attendance.service';\r\nimport { InitiateTrainingService } from '../../../services/initiate-training.service';\r\nimport { TrainingService } from '../../../services/training.service';\r\nimport { RemarkPopUpComponent } from '../../attendance/remark-pop-up/remark-pop-up.component';\r\nimport * as _ from 'lodash';\r\nimport { TrainingMonitoringStatusHistoryService } from '../../../services/training-monitoring-status-history.service';\r\n@Component({\r\n selector: 'app-monitoring-status-form',\r\n templateUrl: './monitoring-status-form.component.html',\r\n styleUrls: ['./monitoring-status-form.component.scss']\r\n})\r\nexport class MonitoringStatusFormComponent implements OnInit {\r\n\r\n ratingForm: FormGroup;\r\n verifyCheckListForm: FormGroup;\r\n step = 1;\r\n stepTitle = \"Rating\";\r\n connector =\r\n 'HIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIII HIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIII';\r\n connectorC = 1;\r\n userId: any;\r\n trainerAttendanceVerificationPopulate: any;\r\n trainerMasters = [];\r\n trainerData = [];\r\n participantData = [];\r\n trainingId: number;\r\n displayParticipantGrid = true;\r\n todaysDate: any;\r\n addChild: RemarkPopUpComponent;\r\n verifyAttendanceForm: FormGroup;\r\n ratingQuestionnaireForm: FormGroup;\r\n loanFilter: any;\r\n readOnly: boolean = false;\r\n recordCount: number=0;\r\n columnDefs: any;\r\n frameworkComponents;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n gridApi1: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n trainersList: Array[] = [];\r\n gridOptionsTrainerOrTrainee = {};\r\n enableRatingApi: boolean;\r\n enableVerifyAttendanceApi: boolean;\r\n enableVerifyAttendanceApiTrainer: boolean;\r\n enableMonitoringQuestionsApi: boolean;\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n batchCode: any = '';\r\n id: Number;\r\n trainingIdForMonitoringQuestion: any;\r\n isViewDisabled: boolean = true;\r\n session = [];\r\n checkFor = [];\r\n readOnlyBatchCode = false;\r\n searchBtnBatchCode = false;\r\n batchCodeFromDD:any;\r\n paginationPageSize = 20;\r\n @ViewChild('primaryModal', { static: false })\r\n public primaryModal: ModalDirective;\r\n allGroupFromParent;\r\n remark: any;\r\n idRmrk: any;\r\n trainerRating: TrainerAttendanceVerification[] = [];\r\n traineeAttendanceVerification: TraineeAttendanceVerification[] = [];\r\n trainerAttendanceVerification: TrainerAttendanceVerification[] = [];\r\n monitorQuestionVerifcation: MonitorQuestionsVerification[] = [];\r\n frameworkComponentsTrainerTrainee: any;\r\n batchCodeDS;\r\n ratingQuestionnaire;\r\n photosData = [];\r\n filterBySession = 0;\r\n formData = new FormData();\r\n ppm: any;\r\n frameworkComponentsRemovePhoto: any;\r\n navPermissions: any;\r\n currentPermission;\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n data: any;\r\n raiseRedFlagBtnDisabled: boolean = false;\r\n rowRenderArray: any;\r\n saveNextDisable = false;\r\n checkListItemCheck: any[];\r\n verifyChekist;\r\n myForm: FormGroup;\r\n remarkArray = [];\r\n isTrue = true;\r\n disabledMonitoringQuestions = null;\r\n disableMQ = false;\r\n comments: null;\r\n empCode;\r\n trainingData: any = [];\r\n trainingAreaData: any = [];\r\n batchData = [];\r\n isDisabledTextFields: boolean = false;\r\n isDisabledDropDown: boolean = false;\r\n isDisabledSearchField: boolean = false;\r\n batchNumber: any;\r\n batchCodeErr: any\r\n batchId: number;\r\n batchIdFromDD: any;\r\n dataFromGrid: any;\r\n groupFilter;\r\n checkListDisabled: boolean = true;\r\n DATEFromGrid;\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private _commonUtilService: CommonUtilService,\r\n private _attendance: AttendanceService,\r\n private _attendanceVerification: AttendanceVerificationService,\r\n private toast: NgToastService,\r\n private trainingService: TrainingService,\r\n private attendanceService: AttendanceService,\r\n private clientSideStorage: ClientSideStorageService,\r\n private _initiateTrainingService: InitiateTrainingService,\r\n private loginService: LoginService,\r\n private dataSharing: DataSharingService,\r\n private confirmationDialogueService: ConfirmationDialogService,\r\n private _trainingMonitoringStatusHistory: TrainingMonitoringStatusHistoryService\r\n ) {\r\n\r\n // this.verifyChekist = verifyChekist;\r\n this.frameworkComponentsRemovePhoto = {\r\n deleteIconComponent: DeleteIconComponent,\r\n };\r\n this.frameworkComponents = {\r\n ratingIcon: RatingIconComponent,\r\n remarkTextBox: RemarkTextBoxComponent,\r\n };\r\n this.frameworkComponentsTrainerTrainee = {\r\n checkBoxIcon: CheckboxDisabledComponent,\r\n switchIcon: VerifyStatusComponent,\r\n };\r\n this.userId = this.clientSideStorage.get('userId');\r\n this.userId = this.clientSideStorage.get('userId');\r\n\r\n this.userData = JSON.parse(this.clientSideStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n const userId = this.clientSideStorage.get('userId');\r\n if (this.userId && this.userData.user != undefined && this.userData.user.userName != undefined) {\r\n this.empCode = this.userData.user.userName;\r\n }\r\n this.createRatingQuestionnaireForm();\r\n this.getNavigableMenu(Number(userId), this.roleList[0].roleId);\r\n this.dataFromGrid = this.dataSharing.getGlobalEditData();\r\n this.dataFromGrid = this.dataFromGrid.source._value;\r\n this.createVerifyAttendanceForm();\r\n this.getTrainingMappedCheckList(this.dataFromGrid.batchId);\r\n this.getMonitoringQuestions(this.dataFromGrid.batchId);\r\n this.createColumnDefs();\r\n if (this.step == 1) {\r\n this.createColumnDefs();\r\n this.getTrainerRating();\r\n } else if (this.step == 2) {\r\n this.createVerifyAttendanceForm();\r\n this.connectorC = 2;\r\n this.createVerifyAttendanceForm();\r\n this.createColumnDefsTrainee();\r\n } else {\r\n this.createColumnDefsUploadPhotos();\r\n this.connectorC = 3;\r\n this.createColumnDefsUploadPhotos();\r\n }\r\n\r\n this.getAssignedTrainingForAttendance();\r\n this.getTraineeOrTrainer();\r\n // this.getCurrentDate();\r\n this.getSession();\r\n // this.batchCodeDS = this.dataSharing.getBatchCode().source;\r\n // this.batchCodeDS = this.clientSideStorage.get('batchCode');\r\n // if (this.batchCodeDS != null && this.batchCodeDS !== '') {\r\n // this.createRatingFormE();\r\n // } else {\r\n // this.createRatingFormA();\r\n // }\r\n\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.createVerifyAttendanceForm();\r\n this.createRatingQuestionnaireForm();\r\n }\r\n\r\n getMonitoringCommentForHistory(){\r\n this._trainingMonitoringStatusHistory.getMonitoringCommentForHistory(this.dataFromGrid.batchCode,this.dataFromGrid.visitDate)\r\n .subscribe((response)=>{\r\n if(response && response.status && response.data){\r\n this.comments = response.data[0].comment;\r\n this.ratingQuestionnaireForm.controls['comments'].setValue(this.comments);\r\n }\r\n });\r\n }\r\n\r\n getMonitoringPhotosForHistory(){\r\n this._trainingMonitoringStatusHistory.getMonitoringPhotosForHistory(this.dataFromGrid.batchCode,\r\n this.dataFromGrid.visitDate).subscribe((response)=>{\r\n if(response && response!=null && response.data){\r\n response.data.forEach((da)=>{\r\n da.size = '2KB',\r\n da.type='JPG'\r\n });\r\n this.photosData = response.data;\r\n }\r\n })\r\n }\r\n\r\n getTrainerRating() {\r\n this._trainingMonitoringStatusHistory.getMonitoringTrainerRating(this.dataFromGrid.batchId,\r\n this.dataFromGrid.visitDate).subscribe((response) => {\r\n if (response && response != null && response.data) {\r\n this.trainersList = response.data;\r\n this.recordCount = this.trainersList.length;\r\n }\r\n });\r\n }\r\n\r\n viewAttendance() {\r\n this.participantData = [];\r\n if (this.verifyAttendanceForm.value.checkFor === 1) {\r\n this.createColumnDefsTrainer();\r\n this.getAttendance();\r\n } else if (this.verifyAttendanceForm.value.checkFor === 2) {\r\n this.createColumnDefsTrainee();\r\n this.getAttendance();\r\n }\r\n\r\n }\r\n\r\n getAttendance() {\r\n let checkFor = this.verifyAttendanceForm.controls['checkFor'].value;\r\n let session = this.verifyAttendanceForm.controls['session'].value;\r\n this._trainingMonitoringStatusHistory.\r\n getTrainerAttendance(checkFor,\r\n this.dataFromGrid.batchId, this.dataFromGrid.visitDate, session).subscribe((res) => {\r\n if (res && res != null && res.data) {\r\n this.participantData = res.data;\r\n this.recordCount = this.participantData.length;\r\n } else if(res.status===\"400\") {\r\n this.recordCount = 0;\r\n this.toast.info({\r\n detail: 'INFORMATION',\r\n summary: res.message,\r\n duration: 5000\r\n });\r\n }else{\r\n this.recordCount = 0;\r\n }\r\n }, (error) => {\r\n this.toast.info({\r\n detail: 'INFORMATION',\r\n summary: error.message,\r\n duration: 5000\r\n });\r\n })\r\n }\r\n\r\n dateFormatter(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n dateFormatterYYYY(date: any) {\r\n const format = 'yyyy-MM-dd';\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n\r\n\r\n\r\n getTrainingMappedCheckList(batchId) {\r\n \r\n this._trainingMonitoringStatusHistory.getMonitoringStatusHistoryForCheckList(batchId, this.dataFromGrid.visitDate).subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n if (response.status === \"400\") {\r\n this.checkListDisabled = true;\r\n } else {\r\n this.checkListDisabled = true;\r\n }\r\n this.verifyChekist = response.data;\r\n this.myForm = this.formBuilder.group({\r\n checkList: this.formBuilder.array([]),\r\n });\r\n this.setCheckList();\r\n } else {\r\n this.verifyChekist = [];\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n get checkListFormArr(): FormArray {\r\n return this.myForm.get('checkList') as FormArray;\r\n }\r\n\r\n setCheckList() {\r\n this.verifyChekist.forEach((x) => {\r\n this.checkListFormArr.push(\r\n this.formBuilder.group({\r\n checkListName: [x.checkListName],\r\n checkListId: [x.checkListId],\r\n checkListItems: this.setCheckListItems(x),\r\n })\r\n );\r\n });\r\n }\r\n\r\n setCheckListItems(x) {\r\n let arr = new FormArray([]);\r\n x.checkListItems.forEach((y) => {\r\n arr.push(\r\n this.formBuilder.group({\r\n checkListItemName: [y.checkListItemName],\r\n checkListItemId: [y.checkListItemId],\r\n checked: [y.checked ? true : false],\r\n verificationId: [y.verificationId ? y.verificationId : null],\r\n checkListItem: [y.trainingChkItemId],\r\n })\r\n );\r\n });\r\n return arr;\r\n }\r\n\r\n getMonitoringQuestions(batchId) {\r\n this._trainingMonitoringStatusHistory.getMonitoringStatusHistoryForMonitoringQuestions\r\n (batchId,this.dataFromGrid.visitDate).\r\n subscribe((res) => {\r\n if (res && res.data !== null) {\r\n let arr = [];\r\n for (let i = 0; i < res.data.length; i++) {\r\n arr.push(this.BuildDyanamicForm(res.data[i]));\r\n }\r\n this.ratingQuestionnaireForm = this.formBuilder.group({\r\n ratingQuestions: this.formBuilder.array(arr),\r\n comments: [],\r\n uploadPhotos: [],\r\n });\r\n }\r\n });\r\n }\r\n\r\n \r\n\r\n getNavigableMenu(userId?, roleId?) {\r\n this.loginService.getNavigationMenu(userId, roleId).subscribe((data) => {\r\n if (data && data !== null) {\r\n let child = [];\r\n this.navItems = data.navigableMenu;\r\n this.dataSharing.setNavItems(this.navItems);\r\n this.dataSharing.setMenuList(data.employeeRoleArea);\r\n this.navItems = _.orderBy(this.navItems, 'displayOrder', 'asc');\r\n setTimeout(() => { }, 10);\r\n //this.fetchPermission();\r\n }\r\n });\r\n }\r\n\r\n BuildDyanamicForm(item) {\r\n return this.formBuilder.group({\r\n question: [item.monitorQuestionMaster.question],\r\n questionId: [item.trainingMonitorQuestionId],\r\n answer: [item.verify === true ? true : false, [Validators.required]],\r\n trainingId: [item.trainingId],\r\n trainingMonitorQuestionId: [item.trainingMonitorQuestionId]\r\n });\r\n }\r\n\r\n createRatingQuestionnaireForm() {\r\n this.ratingQuestionnaireForm = this.formBuilder.group({\r\n ratingQuestions: this.formBuilder.array([]),\r\n comments: [],\r\n uploadPhotos: this.formBuilder.array([]),\r\n });\r\n }\r\n\r\n get ratingQuestion(): FormArray {\r\n return this.ratingQuestionnaireForm.get('ratingQuestions') as FormArray;\r\n }\r\n\r\n createRatingFormA() {\r\n this.ratingForm = this.formBuilder.group({\r\n training: [null],\r\n trainingArea: [null],\r\n batchNumber: [null],\r\n batchCode: [null],\r\n });\r\n }\r\n\r\n createRatingFormE() {\r\n this.ratingForm = this.formBuilder.group({\r\n training: [null],\r\n trainingArea: [null],\r\n batchNumber: [null],\r\n batchCode: [null],\r\n });\r\n }\r\n\r\n cancelOperation() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.ratingFormReset();\r\n }\r\n });\r\n }\r\n\r\n cancel() {\r\n this.confirmationDialogueService\r\n .confirm(Constantss.CONFIRMATION, Constantss.SURE_CANCEL)\r\n .then((confirmed) => {\r\n if (confirmed) {\r\n this.router.navigate(['/training/trainingMonitorStatus']);\r\n }\r\n });\r\n }\r\n\r\n\r\n ratingFormReset() {\r\n this.ratingForm.controls['training'].reset();\r\n this.ratingForm.controls['trainingArea'].reset();\r\n this.ratingForm.controls['batchNumber'].reset();\r\n this.ratingForm.controls['batchCode'].reset();\r\n this.readOnlyBatchCode = false;\r\n this.trainersList = [];\r\n this.isDisabledSearchField = false;\r\n this.isDisabledTextFields = false;\r\n this.isDisabledDropDown = false;\r\n this.createRatingQuestionnaireForm();\r\n this.verifyChekist = [];\r\n (document.getElementById(\"chkkkk\") as HTMLButtonElement).disabled = false;\r\n\r\n }\r\n\r\n\r\n createVerifyAttendanceForm() {\r\n this.verifyAttendanceForm = this.formBuilder.group({\r\n checkFor: [null, [Validators.required]],\r\n session: [null, [Validators.required]]\r\n });\r\n }\r\n\r\n // getCurrentDate() {\r\n // this._attendance.GetTodayDate().subscribe((res) => {\r\n // if (res && res.data != null) {\r\n // const format = \"dd-MM-yyyy\"\r\n // this.todaysDate = this.dataSharing.datePipeFormat(res.data[0], format);\r\n // this.verifyAttendanceForm.controls['date'].setValue(this.todaysDate);\r\n // }\r\n // })\r\n // }\r\n dateFormatters(date: any) {\r\n const format = 'yyyy-MM-dd';\r\n // const locale = 'en-US';\r\n // return formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date, format);\r\n }\r\n previous() {\r\n this.connectorC--;\r\n this.step--;\r\n if (this.step === 1 && this.connectorC === 1) {\r\n this.getTrainerRating();\r\n this.stepTitle = \"RATING\"\r\n this.createColumnDefs();\r\n this.participantData = [];\r\n this.verifyAttendanceForm.controls['checkFor'].reset();\r\n this.verifyAttendanceForm.controls['session'].reset();\r\n } else if (this.step == 2 && this.connectorC == 2) {\r\n // this.getTrainerRating();\r\n this.createVerifyAttendanceForm();\r\n this.getTraineeOrTrainer();\r\n this.createColumnDefsTrainee();\r\n this.getSession();\r\n this.createVerifyAttendanceForm();\r\n this.participantData = [];\r\n // this.verifyAttendanceForm.controls['checkFor'].reset();\r\n // this.verifyAttendanceForm.controls['session'].reset();\r\n this.stepTitle = \"VERIFY ATTENDANCE\"\r\n } else if (this.step == 3 && this.connectorC == 3) {\r\n this.getTrainingMappedCheckList(this.dataFromGrid.batchId);\r\n if (this.verifyChekist.length == 0) {\r\n this.step = 2;\r\n this.connectorC = 2;\r\n this.stepTitle = \"VERIFY ATTENDANCE\"\r\n }\r\n this.stepTitle = \"VERIFY CHECKLIST\";\r\n }\r\n }\r\n\r\n\r\n\r\n getSession() {\r\n this.session = session;\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n\r\n onGridReady(params: any, value: any) {\r\n this.gridReady(params, value);\r\n\r\n }\r\n\r\n onGridReadyTraineeTrainer(params: any, value: any) {\r\n this.gridReady(params, value);\r\n\r\n }\r\n\r\n onGridReadyPhotos(params: any, value: any) {\r\n this.gridReadyPhoto(params, value);\r\n }\r\n\r\n gridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n this.gridApi.refreshCells()\r\n }\r\n\r\n gridReadyPhoto(params: any, value: any) {\r\n this.gridApi1 = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n }\r\n\r\n selectedCheckFor(event) {\r\n if (\r\n this.verifyAttendanceForm.value.session != null &&\r\n this.verifyAttendanceForm.value.checkFor != null\r\n ) {\r\n this.isViewDisabled = false;\r\n } else {\r\n this.isViewDisabled = true;\r\n }\r\n }\r\n selectedSession(event) {\r\n if (\r\n this.verifyAttendanceForm.value.session != null &&\r\n this.verifyAttendanceForm.value.checkFor != null\r\n ) {\r\n this.isViewDisabled = false;\r\n } else {\r\n this.isViewDisabled = true;\r\n }\r\n }\r\n\r\n viewDetail() {\r\n if (this.verifyAttendanceForm.value.checkFor === 2) {\r\n //trainee\r\n this._attendanceVerification\r\n .checkTraineeAttendanceListByBatchId(\r\n this.batchCode,\r\n this.verifyAttendanceForm.value.session,\r\n this.empCode\r\n )\r\n .subscribe((response) => {\r\n if (response && response.data != null && (response.status === '200' || response.status === '400')) {\r\n if (response.status === '400') {\r\n this.enableVerifyAttendanceApi = false;\r\n } else {\r\n this.enableVerifyAttendanceApi = true;\r\n }\r\n this.displayParticipantGrid = true;\r\n // this._attendanceVerification\r\n // .getTraineeAttendanceListByBatchId(this.batchCode, this.verifyAttendanceForm.value.session)\r\n // .subscribe((response) => {\r\n this.createColumnDefsTrainee();\r\n if (response.data.length != 0) {\r\n // const filterBySession = response.data.filter(\r\n // (data) => data.session === this.verifyAttendanceForm.value.session\r\n // );\r\n if (response.data.length === 0) {\r\n this.displayParticipantGrid = true;\r\n this.filterBySession = 1;\r\n } else {\r\n this.participantData = [];\r\n for (let i = 0; i < response.data.length; i++) {\r\n this.participantData.push(response.data[i]);\r\n this.gridApi.setRowData(this.participantData);\r\n this.recordCount = this.participantData.length;\r\n }\r\n }\r\n }\r\n // });\r\n } else if (response.status === '400' && response.data != null) {\r\n if (response.data.length === 0) {\r\n this.displayParticipantGrid = true;\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n } else if (response.status === '300') {\r\n this.displayParticipantGrid = false;\r\n this.toast.info({\r\n detail: 'Info',\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n }\r\n else {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n this.displayParticipantGrid = true;\r\n }\r\n });\r\n } else {\r\n this._attendanceVerification\r\n .checkTrainerAttendanceListByBatchId(\r\n this.batchCode,\r\n this.verifyAttendanceForm.value.session,\r\n this.empCode\r\n )\r\n .subscribe((response) => {\r\n if (\r\n response && response.data != null &&\r\n response != undefined &&\r\n response != null && (\r\n response.status === '200' || response.status === '400')\r\n ) {\r\n if (response.status === '400') {\r\n this.enableVerifyAttendanceApiTrainer = false;\r\n } else {\r\n this.enableVerifyAttendanceApiTrainer = true;\r\n }\r\n // this._attendanceVerification\r\n // .getTrainerAttendanceByBatchId(this.batchCode, this.verifyAttendanceForm.value.session)\r\n // .subscribe((response) => {\r\n this.displayParticipantGrid = true;\r\n this.createColumnDefsTrainer();\r\n if (response.data.length != 0) {\r\n // const filterBySession = response.data.filter(\r\n // (data) => data.session === this.verifyAttendanceForm.value.session\r\n // );\r\n // if (filterBySession.length === 0) {\r\n // this.displayParticipantGrid = false;\r\n // this.filterBySession = 1;\r\n // } else {\r\n this.participantData = [];\r\n for (let i = 0; i < response.data.length; i++) {\r\n this.participantData.push(response.data[i]);\r\n this.gridApi.setRowData(this.participantData);\r\n this.recordCount = this.participantData.length;\r\n }\r\n // }\r\n } else {\r\n this.displayParticipantGrid = false;\r\n this.filterBySession = 1;\r\n }\r\n // });\r\n } else if (response.status === '400') {\r\n this.displayParticipantGrid = true;\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n } else {\r\n this.displayParticipantGrid = false;\r\n if (response.status === '300') {\r\n this.toast.info({\r\n detail: 'Info',\r\n summary: response.message,\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('employeeCode', 'Trainer ID');\r\n header.width = 50;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeName',\r\n 'Trainer Name'\r\n );\r\n header.width = 80;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('isPresent', 'Rating');\r\n header.width = 80;\r\n header.cellRenderer = 'ratingIcon';\r\n header.cellRendererParams = {\r\n onRatingClick: (params: any) => {\r\n this.onRatingIconClicked(params.rowData.trainerId);\r\n },\r\n };\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'hasRemarkDisabled',\r\n 'Remark'\r\n );\r\n header.width = 80;\r\n header.headerComponentParams = {\r\n template: '*Remark',\r\n };\r\n header.cellRenderer = 'remarkTextBox';\r\n header.cellStyle = this.cellStyling.bind(this)\r\n header.cellRendererParams = {\r\n type: 'Training.Monitor',\r\n remarkData: this.remark,\r\n onRemarkTextBox: (params: any) => {\r\n this.onRemarkIconClicked(params.rowData.trainerId);\r\n },\r\n onInputText: (params: any) => {\r\n let trainerBatchId = params.rowData.trainerBatchId;\r\n this.remarkArray[trainerBatchId] = {\r\n trainerBatchId: trainerBatchId,\r\n remark: params.remark,\r\n };\r\n },\r\n };\r\n\r\n this.columnDefs.push(header);\r\n }\r\n\r\n createColumnDefsTrainee() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'traineeId',\r\n 'Participant ID'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'traineeName',\r\n 'Participant Name'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('attendance', 'Attendance');\r\n header.width = 300;\r\n header.cellRenderer = 'checkBoxIcon';\r\n header.cellRendererParams = {\r\n onCheckBoxClick: (params) => { },\r\n };\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('verify', 'Verify');\r\n header.width = 300;\r\n header.cellRenderer = 'switchIcon';\r\n header.cellStyle = this.cellStylingVerifyAttendance.bind(this)\r\n header.cellRendererParams = {\r\n onSwitchClick: (params: any) => {\r\n this.onSwitchIconClicked();\r\n },\r\n };\r\n\r\n this.columnDefs.push(header);\r\n }\r\n\r\n createColumnDefsUploadPhotos() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader('photoName', 'Photo Name');\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('size', 'Size');\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('type', 'Type');\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('', 'Delete');\r\n header.width = 180;\r\n header.cellRenderer = 'deleteIconComponent';\r\n header.cellStyle = this.cellStylingForDelete.bind(this)\r\n header.cellRendererParams = {\r\n type: 'removeMonitorPhoto',\r\n onDeleteIconClick: this.onDeletBtnClicked.bind(this),\r\n };\r\n this.columnDefs.push(header);\r\n }\r\n\r\n\r\n cellStylingForDelete() {\r\n return { 'pointer-events': 'none' }\r\n \r\n }\r\n\r\n onDeletBtnClicked(params) {\r\n let image = this.photosData.find((item) => item.name === params.data.name);\r\n this.photosData.splice(image, 1);\r\n this.gridApi1.setRowData(this.photosData);\r\n }\r\n\r\n createColumnDefsTrainer() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeCode',\r\n 'Participant ID'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'employeeName',\r\n 'Participant Name'\r\n );\r\n header.width = 300;\r\n header.sortable = true;\r\n header.filter = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'attendance',\r\n 'Attendance'\r\n );\r\n header.width = 300;\r\n header.cellRenderer = 'checkBoxIcon';\r\n header.cellRendererParams = {\r\n onCheckBoxClick: (params) => { },\r\n };\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader('verify', 'Verify');\r\n header.width = 300;\r\n header.cellRenderer = 'switchIcon';\r\n header.cellStyle = this.cellStylingVerifyAttendance.bind(this)\r\n header.cellRendererParams = {\r\n onSwitchClick: (params: any) => {\r\n this.onSwitchIconClicked();\r\n },\r\n };\r\n\r\n this.columnDefs.push(header);\r\n }\r\n\r\n onRaiseRedFlagClicked() {\r\n this.id = this.batchCode;\r\n this.primaryModal.show();\r\n }\r\n\r\n onRemarkIconClicked(id: number) {\r\n // this.id = id;\r\n // this.primaryModal.show();\r\n }\r\n\r\n onSwitchIconClicked() { }\r\n\r\n batchCodeChange() {\r\n\r\n this.searchBtnBatchCode = false;\r\n this.isDisabledDropDown = true;\r\n\r\n }\r\n\r\n searchByBatchCode() {\r\n if (this.isDisabledTextFields === false && this.isDisabledDropDown === true) {\r\n let a = this.ratingForm.controls['batchCode'].value;\r\n if (a.length != 5) {\r\n document.getElementById(\"error\").innerText = \"Batch Code should be of 5 characters\"\r\n } else {\r\n document.getElementById(\"error\").innerText = \"\";\r\n\r\n this.ApiCall();\r\n }\r\n }\r\n if (this.isDisabledTextFields === true && this.isDisabledDropDown === false) {\r\n this.ApiCallForDDD();\r\n }\r\n }\r\n\r\n\r\n ApiCallForDDD() {\r\n this.trainerMasters = [];\r\n this.searchBtnBatchCode = true;\r\n this.saveNextDisable = true;\r\n this.batchNumber = this.ratingForm.value.batchNumber;\r\n this.getTrainingMappedCheckList(this.batchCodeErr);\r\n\r\n // if (this.batchNumber.length > 4) {\r\n // this.batchCode = this.batchNumber.substring(1);\r\n // }\r\n this.getMonitoringQuestions(this.batchNumber);\r\n let batchNumber = this.ratingForm.value.batchNumber;\r\n // if (batchNumber.length > 4) {\r\n // batchNumber = batchNumber.substring(1);\r\n // }\r\n this._attendance.getTrainerRatingByBatch(batchNumber, this.empCode).subscribe(\r\n (response) => {\r\n if (response && response.data != null && (response.status == '200' || response.status === \"400\")) {\r\n if (response.status === \"400\") {\r\n this.enableRatingApi = false;\r\n } else {\r\n this.enableRatingApi = true;\r\n }\r\n if (response.data.length != 0) {\r\n (document.getElementById(\"chkkkk\") as HTMLButtonElement).disabled = true;\r\n this.readOnlyBatchCode = true;\r\n this.searchBtnBatchCode = true;\r\n this.saveNextDisable = false;\r\n\r\n this.createColumnDefs();\r\n for (let i = 0; i < response.data.length; i++) {\r\n\r\n let trainerMaster = new TrainerMaster();\r\n trainerMaster.trainerId = response.data[i].trainerDTO.employeeCode;\r\n trainerMaster.trainerName = response.data[i].trainerDTO.employeeName;\r\n trainerMaster.rating = response.data[i].trainerDTO.rating;\r\n trainerMaster.remark = response.data[i].trainerDTO.remark;\r\n\r\n // trainerMaster.trainerAttendanceId = response.data[i].trainerAttendanceId;\r\n this.trainerMasters.push(trainerMaster);\r\n\r\n this.gridApi.setRowData(this.trainerMasters);\r\n this.recordCount = this.trainerData.length;\r\n this.recordCount = this.trainerMasters.length;\r\n }\r\n }\r\n } else {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n this.searchBtnBatchCode = false;\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n ApiCall() {\r\n this.trainerMasters = [];\r\n this.searchBtnBatchCode = false;\r\n this.saveNextDisable = true;\r\n this.batchCode = this.ratingForm.value.batchCode;\r\n this.getTrainingMappedCheckList(this.dataFromGrid.batchId);\r\n if (this.batchCode.length > 4) {\r\n this.batchCode = this.batchCode.substring(1);\r\n }\r\n this.getMonitoringQuestions(this.batchCode);\r\n let batchCode = this.ratingForm.value.batchCode;\r\n if (batchCode.length > 4) {\r\n batchCode = batchCode.substring(1);\r\n }\r\n this._attendance.getTrainerRatingByBatch(batchCode, this.empCode).subscribe(\r\n (response) => {\r\n if (response && response.data != null && (response.status == '200' || response.status === \"400\")) {\r\n if (response.status === \"400\") {\r\n this.enableRatingApi = false;\r\n } else {\r\n this.enableRatingApi = true;\r\n }\r\n if (response.data.length != 0) {\r\n this.readOnlyBatchCode = true;\r\n this.searchBtnBatchCode = true;\r\n (document.getElementById(\"chkkkk\") as HTMLButtonElement).disabled = true;\r\n this.saveNextDisable = false;\r\n this.createColumnDefs();\r\n for (let i = 0; i < response.data.length; i++) {\r\n\r\n let trainerMaster = new TrainerMaster();\r\n trainerMaster.trainerId = response.data[i].trainerDTO.employeeCode;\r\n trainerMaster.trainerName = response.data[i].trainerDTO.employeeName;\r\n trainerMaster.rating = response.data[i].trainerDTO.rating;\r\n trainerMaster.remark = response.data[i].trainerDTO.remark;\r\n\r\n // trainerMaster.trainerAttendanceId = response.data[i].trainerAttendanceId;\r\n this.trainerMasters.push(trainerMaster);\r\n\r\n this.gridApi.setRowData(this.trainerMasters);\r\n this.recordCount = this.trainerData.length;\r\n this.recordCount = this.trainerMasters.length;\r\n }\r\n }\r\n } else {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n this.searchBtnBatchCode = false;\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n cellStyling(params: any) {\r\n if (params.data.remark != null) {\r\n return { 'pointer-events': 'none' }\r\n } else {\r\n return {}\r\n }\r\n\r\n }\r\n\r\n\r\n cellStylingVerifyAttendance(params: any) {\r\n if (params.data.verify != null) {\r\n return { 'pointer-events': 'none' }\r\n } else {\r\n return {}\r\n }\r\n\r\n }\r\n\r\n\r\n next() {\r\n if (this.step === 1) {\r\n // this.confirmationDialogueService\r\n // .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n // .then((confirmed) => {\r\n // if (confirmed) {\r\n this.getTraineeOrTrainer();\r\n this.getSession();\r\n this.createColumnDefsTrainee();\r\n this.connectorC++;\r\n this.step++;\r\n this.stepTitle = \"VERIFY ATTENDANCE\";\r\n this.recordCount = 0;\r\n this.createColumnDefsTrainee();\r\n this.createVerifyAttendanceForm();\r\n\r\n //});\r\n } else if (this.step == 2 && this.connectorC == 2) {\r\n // this.confirmationDialogueService\r\n // .confirm(Constantss.CONFIRMATION, Constantss.SURE_SAVE)\r\n // .then((confirmed) => {\r\n // if (confirmed) {\r\n \r\n this.connectorC++;\r\n this.step++;\r\n this.stepTitle = \"VERIFY CHECKLIST\";\r\n this.participantData = [];\r\n this.createColumnDefsUploadPhotos();\r\n if (this.verifyChekist.length == 0) {\r\n this.connectorC = 4;\r\n this.step = 4;\r\n this.stepTitle = \"VERIFY CHECKLIST\";\r\n }\r\n this.getMonitoringCommentForHistory();\r\n this.getMonitoringPhotosForHistory();\r\n // });\r\n } else if (this.step == 3 && this.connectorC == 3) {\r\n // this.createColumnDefsUploadPhotos();\r\n \r\n\r\n this.connectorC++;\r\n this.step++;\r\n this.stepTitle = \"MONITORING QUESTIONS\";\r\n if (this.disableMQ === true) {\r\n this.ratingQuestionnaireForm.controls['comments'].setValue(this.comments);\r\n this.createColumnDefsUploadPhotos();\r\n }\r\n } else {\r\n this.router.navigate(['/training/trainingMonitorStatus']);\r\n this.step = 1;\r\n this.connectorC = 1;\r\n this.searchBtnBatchCode = false;\r\n this.readOnlyBatchCode = false;\r\n this.photosData = [];\r\n this.trainersList = [];\r\n this.participantData = [];\r\n this.verifyAttendanceForm.controls['checkFor'].reset();\r\n this.verifyAttendanceForm.controls['session'].reset();\r\n this.ratingForm.controls['training'].reset();\r\n this.ratingForm.controls['trainingArea'].reset();\r\n this.ratingForm.controls['batchNumber'].reset();\r\n this.ratingForm.controls['batchCode'].reset();\r\n\r\n }\r\n }\r\n\r\n mapToModelVerifyCheckList(data) {\r\n let checkListNew: Array = [];\r\n for (let i = 0; i < data.checkList.length; i++) {\r\n data.checkList[i].checkListItems.forEach((data) => {\r\n // if(data.isChecked===true){\r\n let verifyCheckList = new VerifyCheckList();\r\n let trainingCheckListItems = new TrainingCheckListItems();\r\n trainingCheckListItems.trainingCheckListItemId = data.checkListItem;\r\n // checkListItem.checkListItemId = data.checkListItemId;\r\n // checkListItem.checked = data.checked;\r\n verifyCheckList.checkListItem = trainingCheckListItems;\r\n verifyCheckList.verify = data.checked;\r\n verifyCheckList.createdBy = this.userId;\r\n verifyCheckList.createdOn = new Date();\r\n verifyCheckList.updatedBy = this.userId;\r\n verifyCheckList.updatedOn = new Date();\r\n verifyCheckList.verificationId = data.verificationId;\r\n checkListNew.push(verifyCheckList);\r\n // }\r\n });\r\n }\r\n return checkListNew;\r\n }\r\n\r\n mapToModelMonitorComment(data: any) {\r\n let updateMonitorComments = new MonitorComments();\r\n updateMonitorComments.comment = data.comments;\r\n let batchMaster = new BatchMaster();\r\n batchMaster.batchId = this.batchCode;\r\n updateMonitorComments.batchMaster = batchMaster;\r\n updateMonitorComments.createdBy = Number(this.userId);\r\n updateMonitorComments.createdOn = new Date();\r\n let updatedBy = new User();\r\n updatedBy.userId = this.userId;\r\n updateMonitorComments.updatedBy = updatedBy;\r\n updateMonitorComments.updatedOn = new Date();\r\n return updateMonitorComments;\r\n }\r\n\r\n mapToModelTrainerAttendaceVerificationStep2(data: any) {\r\n let arr = [];\r\n data.forEach((data) => {\r\n let trainerAttendanceVerification = new TrainerAttendanceVerification();\r\n trainerAttendanceVerification.createdBy = Number(this.userId);\r\n trainerAttendanceVerification.trainerVerificationId =\r\n data.trainerAttendanceVerificationId;\r\n trainerAttendanceVerification.createdOn = new Date();\r\n trainerAttendanceVerification.updatedOn = new Date();\r\n let updatedBy = new User();\r\n updatedBy.userId = this.userId;\r\n trainerAttendanceVerification.updatedBy = updatedBy;\r\n let trainerAttendance = new TrainerAttendance();\r\n trainerAttendance.trainerAttendanceId = data.trainerAttendanceId;\r\n trainerAttendanceVerification.trainerAttendance = trainerAttendance;\r\n trainerAttendanceVerification.verify = data.verify;\r\n // let trainer = new TrainerMaster();\r\n // trainer.trainerId = data.trainerMaster.trainerId;\r\n trainerAttendanceVerification.trainer = null;\r\n trainerAttendanceVerification.trainerEmpCode = data.trainer.employeeCode;\r\n let batch = new BatchMaster();\r\n batch.batchId = data.batch.batchId;\r\n trainerAttendanceVerification.batch = batch;\r\n arr.push(trainerAttendanceVerification);\r\n });\r\n this.trainerAttendanceVerification = arr;\r\n return this.trainerAttendanceVerification;\r\n }\r\n\r\n mapToModelMonitorQuestionVerification(data: any) {\r\n let arr = [];\r\n data.forEach((d) => {\r\n let monitorQuestionVerifcation = new MonitorQuestionsVerification();\r\n let monitorQuestions = new MonitorQuestions();\r\n monitorQuestions.monitorQuestionId = d.questionId;\r\n monitorQuestionVerifcation.monitorQuestions = monitorQuestions;\r\n let training = new Training();\r\n training.trainingId = d.trainingId;\r\n monitorQuestionVerifcation.training = training;\r\n monitorQuestionVerifcation.answer = d.answer;\r\n let batchMaster = new BatchMaster();\r\n // batchMaster.batchId = 1; //this.batchCode;\r\n batchMaster.batchId = this.batchCode;\r\n monitorQuestionVerifcation.batchMaster = batchMaster;\r\n monitorQuestionVerifcation.updatedOn = new Date();\r\n monitorQuestionVerifcation.createdOn = new Date();\r\n monitorQuestionVerifcation.createdBy = Number(this.userId);\r\n let updatedBy = new User();\r\n updatedBy.userId = this.userId;\r\n monitorQuestionVerifcation.updatedBy = updatedBy;\r\n let trainingMonitorQuestions = new TrainingMonitorQuestions();\r\n trainingMonitorQuestions.trainingMonitorQuestionId = d.trainingMonitorQuestionId;\r\n monitorQuestionVerifcation.trainingMonitorQuestions = trainingMonitorQuestions;\r\n arr.push(monitorQuestionVerifcation);\r\n });\r\n this.monitorQuestionVerifcation = arr;\r\n return this.monitorQuestionVerifcation;\r\n }\r\n\r\n mapToModelTraineeAttendanceVerification(data: any) {\r\n let arr = [];\r\n data.forEach((data) => {\r\n let traineeAttendanceVerification = new TraineeAttendanceVerification();\r\n traineeAttendanceVerification.createdBy = Number(this.userId);\r\n // traineeAttendanceVerification.traineeAttendanceId=data.traineeAttendanceVerificationId;\r\n traineeAttendanceVerification.createdOn = new Date();\r\n let traineeAttendance = new TraineeAttendance();\r\n traineeAttendance.trainingAttendanceId = data.trainingAttendanceId;\r\n traineeAttendanceVerification.traineeAttendance = traineeAttendance;\r\n traineeAttendanceVerification.verify = data.verify;\r\n let user = new User();\r\n user.userId = this.userId;\r\n traineeAttendanceVerification.updatedBy = this.userId\r\n traineeAttendanceVerification.updatedOn = new Date();\r\n arr.push(traineeAttendanceVerification);\r\n });\r\n this.traineeAttendanceVerification = arr;\r\n return this.traineeAttendanceVerification;\r\n }\r\n\r\n mapToRating(data: any) {\r\n let list = [];\r\n data.forEach((trainer) => {\r\n // let trainerId = new TrainerMaster();\r\n // trainerId.trainerId = trainer.trainerId\r\n // trainer.trainerId = trainerId;\r\n trainer.trainerEmpCode = trainer.trainerId;\r\n trainer.trainerId = null;\r\n trainer.employee = this.userId;\r\n let batch = new BatchMaster();\r\n if (this.batchCode === null) {\r\n this.batchCode = this.batchIdFromDD;\r\n }\r\n else if (this.batchCode.length > 4) {\r\n this.batchCode = this.batchCode.substring(1);\r\n }\r\n\r\n batch.batchId = this.batchCode;\r\n trainer.batchId = batch;\r\n // let createdBy = new User();\r\n // createdBy.userId = this.userId;\r\n trainer.createdBy = this.userId;\r\n let updatedBy = new User();\r\n updatedBy.userId = this.userId;\r\n trainer.updatedBy = updatedBy;\r\n list.push(trainer);\r\n });\r\n return list;\r\n }\r\n\r\n\r\n\r\n mapToModelTrainerRating(data: any) {\r\n let arr = [];\r\n data.forEach((d) => {\r\n let trainerAttendanceVerification = new TrainerAttendanceVerification();\r\n trainerAttendanceVerification.createdBy = Number(this.userId);\r\n trainerAttendanceVerification.createdOn = new Date();\r\n trainerAttendanceVerification.rating = d.rating;\r\n trainerAttendanceVerification.ratingRemark = d.remark;\r\n\r\n let batch = new BatchMaster();\r\n batch.batchId = this.batchCode;\r\n trainerAttendanceVerification.batch = batch;\r\n\r\n let trainerAttendance = new TrainerAttendance();\r\n trainerAttendance.trainerAttendanceId = d.trainerAttendanceId;\r\n trainerAttendanceVerification.trainerAttendance = trainerAttendance;\r\n\r\n let trainer = new TrainerMaster();\r\n trainer.trainerId = d.trainerId;\r\n trainerAttendanceVerification.trainer = trainer;\r\n\r\n let user = new User();\r\n user.userId = this.userId;\r\n trainerAttendanceVerification.updatedBy = user;\r\n trainerAttendanceVerification.updatedOn = new Date();\r\n arr.push(trainerAttendanceVerification);\r\n });\r\n\r\n this.trainerRating = arr;\r\n return this.trainerRating;\r\n }\r\n\r\n onRatingIconClicked(id: number) { }\r\n\r\n mapToModelRedFlag(remark: any, idRemark: any) {\r\n let redFlag = new RedFlag();\r\n let batchId = new BatchMaster();\r\n batchId.batchId = idRemark;\r\n redFlag.batchId = batchId;\r\n let user1 = new User();\r\n user1.userId = this.userId;\r\n redFlag.createdBy = user1;\r\n redFlag.createdOn = new Date();\r\n let user = new User();\r\n user.userId = this.userId;\r\n redFlag.updatedBy = user;\r\n redFlag.updatedOn = new Date();\r\n redFlag.remark = remark;\r\n return redFlag;\r\n }\r\n\r\n getCellRenderersArray() {\r\n var allRenderes = this.gridApi.getCellRendererInstances();\r\n var rowRenderArray = [];\r\n while (allRenderes.length != 0) {\r\n var element1 = allRenderes.pop();\r\n var element2 = allRenderes.pop();\r\n rowRenderArray.push({ element1, element2 });\r\n }\r\n this.rowRenderArray = rowRenderArray;\r\n }\r\n\r\n onAddBtnClicked(event) {\r\n this.remark = event;\r\n this.getCellRenderersArray();\r\n var focusedCell = this.gridApi.getFocusedCell();\r\n var index = this.rowRenderArray.length - focusedCell.rowIndex - 1;\r\n this.rowRenderArray[index].element1.refresh(this.remark);\r\n if (this.filterBySession === 1) {\r\n let redFlag = new RedFlag();\r\n redFlag = this.mapToModelRedFlag(this.remark, this.idRmrk);\r\n this._attendanceVerification.saveRedFlag(redFlag).subscribe(\r\n (response) => {\r\n if (response.status === '200') {\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n if (this.trainerData.length != 0) {\r\n this.trainerData.forEach((data) => {\r\n if (data.trainer.trainerId === this.id) {\r\n data.remark = this.remark;\r\n }\r\n });\r\n }\r\n if (this.trainersList.length != 0) {\r\n this.trainersList.forEach((data: any) => {\r\n if (data.trainer.trainerId === this.id) {\r\n data.remark = this.remark;\r\n }\r\n });\r\n }\r\n if (this.trainerMasters.length != 0) {\r\n this.trainerMasters.forEach((data: any) => {\r\n if (data.trainerId === this.id) {\r\n data.remark = this.remark;\r\n }\r\n });\r\n }\r\n }\r\n\r\n getId(event) {\r\n this.idRmrk = event;\r\n }\r\n\r\n disableRedFlagBtn(event) {\r\n this.raiseRedFlagBtnDisabled = event;\r\n }\r\n\r\n changeIndicator = (callAddRole) => {\r\n this.id = 0;\r\n if (callAddRole == 'cancel') {\r\n this.primaryModal.hide();\r\n } else {\r\n this.primaryModal.hide();\r\n }\r\n };\r\n\r\n dataLoaded(child: string) { }\r\n\r\n uploadDoc(event: any) {\r\n let files = event.target.files[0];\r\n let typeImage = files.type.split('/');\r\n let imagetypeAsString = typeImage[0];\r\n let doctype = files.name.split('.');\r\n let doctypeName = doctype[doctype.length - 1];\r\n doctypeName = doctypeName.toLowerCase();\r\n if (\r\n doctypeName &&\r\n (doctypeName === 'jpg' || doctypeName === 'jpeg' || doctypeName === 'png')\r\n ) {\r\n let formData = new FormData();\r\n formData.append('file', files);\r\n this.trainingService.readQrCode(formData).subscribe((res) => {\r\n this.isDisabledDropDown = true;\r\n this.isDisabledTextFields = true;\r\n if (res != undefined && res != null) {\r\n this.batchCodeDS = res.data[0];\r\n this.createRatingFormE();\r\n this._attendance.getTrainerRatingByBatch(this.batchCodeDS, this.empCode).subscribe(\r\n (response) => {\r\n if (response && response.data != null && (response.status == '200' || response.status === \"400\")) {\r\n if (response.status === \"400\") {\r\n this.enableRatingApi = false;\r\n } else {\r\n this.enableRatingApi = true;\r\n }\r\n if (response.data.length != 0) {\r\n this.readOnlyBatchCode = true;\r\n this.searchBtnBatchCode = true;\r\n (document.getElementById(\"chkkkk\") as HTMLButtonElement).disabled = true;\r\n this.saveNextDisable = false;\r\n this.createColumnDefs();\r\n for (let i = 0; i < response.data.length; i++) {\r\n \r\n let trainerMaster = new TrainerMaster();\r\n trainerMaster.trainerId = response.data[i].trainerDTO.employeeCode;\r\n trainerMaster.trainerName = response.data[i].trainerDTO.employeeName;\r\n trainerMaster.rating = response.data[i].trainerDTO.rating;\r\n trainerMaster.remark = response.data[i].trainerDTO.remark;\r\n \r\n // trainerMaster.trainerAttendanceId = response.data[i].trainerAttendanceId;\r\n this.trainerMasters.push(trainerMaster);\r\n \r\n this.gridApi.setRowData(this.trainerMasters);\r\n this.recordCount = this.trainerData.length;\r\n this.recordCount = this.trainerMasters.length;\r\n }\r\n }\r\n } else {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: response.message,\r\n duration: 10000,\r\n });\r\n }\r\n this.searchBtnBatchCode = false;\r\n },\r\n (error) => {\r\n this.toast.error({\r\n detail: 'Error',\r\n summary: 'Something went wrong!',\r\n duration: 10000,\r\n });\r\n }\r\n );\r\n // this.attendanceService\r\n // .getTrainersByBatchId(res.data[0])\r\n // .subscribe((response) => {\r\n // if (response != null) {\r\n // this.trainingId = response.data[0].batch.training.trainingId;\r\n // this.trainersList = response.data;\r\n // }\r\n // });\r\n }\r\n });\r\n } else if (imagetypeAsString && imagetypeAsString === 'image') {\r\n }\r\n event.target.value = '';\r\n }\r\n\r\n\r\n\r\n getAssignedTrainingForAttendance() {\r\n this._attendance.GetAssignedTrainings(this.empCode).subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.trainingData = response.data;\r\n }\r\n });\r\n }\r\n\r\n\r\n getAssignedTraining(e) {\r\n this._attendance.GetTrainingAreaForAttendance(this.empCode, e.trainingId, e.trainingLevelId).subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.isDisabledTextFields = true;\r\n this.isDisabledSearchField = true;\r\n this.trainingAreaData = response.data;\r\n this.ratingForm.controls['trainingArea'].setValue(null);\r\n this.ratingForm.controls['batchNumber'].setValue(null);\r\n // this.ratingForm.get('batchCode').disable();\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n gettrainingArea(e) {\r\n this._attendance.GetBatchDataForAttendance(this.ratingForm.value.training, e.id,this.empCode).subscribe((response) => {\r\n if (response && response.data && response.data != null) {\r\n this.isDisabledTextFields = true;\r\n this.isDisabledSearchField = true;\r\n this.batchCode = response.data;\r\n this.ratingForm.controls['batchNumber'].setValue(null);\r\n // this.ratingForm.controls['batchcode'].disable();\r\n }\r\n });\r\n }\r\n\r\n\r\n changeBatchNumber(e) {\r\n this.isDisabledTextFields = true;\r\n this.isDisabledSearchField = true;\r\n this.batchCodeErr = e.batchCode;\r\n this.batchIdFromDD = e.batchId;\r\n // this.ratingForm.controls['batchcode'].disable();\r\n }\r\n\r\n getTraineeOrTrainer() {\r\n this.checkFor = traineeOrTrainer;\r\n }\r\n\r\n clearSearch(e) {\r\n this.groupFilter = '';\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n\r\n}\r\n\r\n\r\nconst session = [\r\n {\r\n id: 1,\r\n name: 'Morning',\r\n },\r\n {\r\n id: 2,\r\n name: 'Evening',\r\n },\r\n];\r\n\r\n\r\nconst traineeOrTrainer = [\r\n {\r\n id: 1,\r\n name: 'Trainer',\r\n },\r\n {\r\n id: 2,\r\n name: 'Trainee',\r\n },\r\n];","
\r\n
\r\n

\r\n View Monitoring Status\r\n

\r\n
\r\n
\r\n \r\n
    \r\n
  • RATING
  • \r\n
  • \r\n VERIFY ATTENDANCE
  • \r\n
  • VERIFY CHECKLIST
  • \r\n
  • MONITORING QUESTIONS
  • \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n Step {{step}} : {{stepTitle}}\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n {{'total_records'|translate}} {{recordCount}}\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Step {{step}} : {{stepTitle}}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

\r\n {{'total_records'|translate}} {{recordCount}}\r\n

\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Step {{step}} : {{stepTitle}}\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n \r\n\r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Step {{step}} : {{stepTitle}}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Checklist Name -\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Checklist Item Add
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ColumnApi, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { DeleteIconComponent } from 'src/app/layouts/core/delete-icon/delete-icon.component';\r\nimport { EditIconComponent } from 'src/app/layouts/core/edit-icon/edit-icon.component';\r\nimport { EyeIconComponent } from 'src/app/layouts/core/eye-icon/eye-icon.component';\r\nimport { LinkComponent } from 'src/app/layouts/core/link/link.component';\r\nimport { SwitchComponent } from 'src/app/layouts/core/switch/switch.component';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { LoginService } from 'src/app/views/pages/login/services/login.service';\r\nimport { CommonUtilService } from 'src/utils/common-util.service';\r\nimport { Constantss } from 'src/utils/constantss';\r\nimport { TrainingMonitoringStatusHistoryService } from '../../services/training-monitoring-status-history.service';\r\n\r\n@Component({\r\n selector: 'app-training-monitoring-status',\r\n templateUrl: './training-monitoring-status.component.html',\r\n styleUrls: ['./training-monitoring-status.component.scss']\r\n})\r\nexport class TrainingMonitoringStatusComponent implements OnInit {\r\n\r\n groupFilter: any;\r\n monitoringStatusList = [];\r\n allGroupFromParent;\r\n recordCount: number=0;\r\n columnDefs: any;\r\n data: any;\r\n loggedinUserArea: any;\r\n frameworkComponents;\r\n id: Number;\r\n types = [20, 50, 100];\r\n value: any;\r\n gridApi: GridApi;\r\n columnApi: any;\r\n gridOptions = {};\r\n paramsSelectRecord = {\r\n type: 'gridReady',\r\n api: GridApi,\r\n columnApi: ColumnApi,\r\n };\r\n paginationPageSize = 20;\r\n navPermissions: any;\r\n currentPermission\r\n userData: any;\r\n roleList: any;\r\n navItems: any;\r\n checkFor: any = [];\r\n userId: any;\r\n constructor(\r\n private _commonUtilService: CommonUtilService,\r\n private router: Router,\r\n public modalService: NgbModal,\r\n private dataSharing: DataSharingService,\r\n private clientStorage: ClientSideStorageService,\r\n private loginService: LoginService,\r\n private toast: NgToastService,\r\n private _trainingMonitoringStatusHistory : TrainingMonitoringStatusHistoryService\r\n ) {\r\n\r\n \r\n this.frameworkComponents = {\r\n editIconComponent: EditIconComponent,\r\n deleteIconComponent: DeleteIconComponent,\r\n switchComponent: SwitchComponent,\r\n linkComponent: LinkComponent,\r\n eyeIconComponent: EyeIconComponent\r\n };\r\n this.userData = JSON.parse(this.clientStorage.get('loggedInUser'));\r\n this.roleList = this.userData.user.roles;\r\n this.userId = this.clientStorage.get('userId');\r\n // this.getNavigableMenu(Number(userId), this.roleList[0].roleId);\r\n // this.getTraineeOrTrainer();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getMonitoringStatusList();\r\n this.createColumnDefs();\r\n }\r\n\r\n\r\n getMonitoringStatusList(){\r\n this._trainingMonitoringStatusHistory.getMonitoringStatusList(this.userId).subscribe((response)=>{\r\n if(response && response.status!=null && response.data){\r\n response.data.forEach((d)=>{\r\n d.visitDateGrid = this.dateFormatter(d.visitDate);\r\n });\r\n this.monitoringStatusList = response.data;\r\n this.recordCount = this.monitoringStatusList.length;\r\n }\r\n })\r\n }\r\n\r\n // fetchPermission() {\r\n // this.data = this.dataSharing.getNavItems();\r\n // this.navPermissions = this.data.source._value;\r\n // this.navPermissions[3].children[0].children.forEach(nav => {\r\n // if (nav.name == 'Training Master') {\r\n // this.currentPermission = nav.permission;\r\n // }\r\n // })\r\n // }\r\n\r\n // getNavigableMenu(userId?, roleId?) {\r\n // this.loginService.getNavigationMenu(userId, roleId).subscribe((data) => {\r\n // if (data && data !== null) {\r\n // let child = [];\r\n // this.navItems = data.navigableMenu;\r\n // this.dataSharing.setNavItems(this.navItems);\r\n // this.dataSharing.setMenuList(data.employeeRoleArea);\r\n // this.navItems = _.orderBy(this.navItems, 'displayOrder', 'asc');\r\n // setTimeout(() => { }, 10);\r\n // // this.fetchPermission();\r\n // }\r\n // });\r\n // }\r\n\r\n clearSearch(e) {\r\n this.groupFilter = '';\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n quickSearch() {\r\n this.gridApi.setQuickFilter(this.groupFilter);\r\n }\r\n\r\n callType(value) {\r\n this.onGridReady(this.paramsSelectRecord, value);\r\n }\r\n onGridReady(params: any, value: any) {\r\n this.gridApi = params.api;\r\n this.columnApi = params.columnApi;\r\n if (value != null && value != undefined) {\r\n this.paginationPageSize = value;\r\n this.ngOnInit();\r\n } else {\r\n this.paginationPageSize = 20;\r\n }\r\n this.gridApi.refreshCells()\r\n }\r\n\r\n onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n // getTraineeOrTrainer() {\r\n // this.checkFor = traineeOrTrainer;\r\n // }\r\n\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [];\r\n let header: any;\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainingName',\r\n 'Training'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'trainingLevel',\r\n 'Level'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'areaName',\r\n 'Area'\r\n );\r\n header.width = 180;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'batchNumber',\r\n 'Batch Number'\r\n );\r\n header.width = 200;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'batchCode',\r\n 'Batch Code'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n header = this._commonUtilService.getColumnHeader(\r\n 'visitDateGrid',\r\n 'Visit Date'\r\n );\r\n header.width = 150;\r\n header.sortable = true;\r\n header.filter = true;\r\n header.suppressMovable = true;\r\n this.columnDefs.push(header);\r\n\r\n\r\n header = this._commonUtilService.getColumnHeader('subGroupName', 'Details');\r\n header.width = 150;\r\n header.cellRenderer = 'eyeIconComponent';\r\n header.cellRendererParams = {\r\n inRouterLink: 'training/MonitoringStatus',\r\n onIconClick: this.onEyeIconClicked.bind(this),\r\n };\r\n this.columnDefs.push(header);\r\n\r\n \r\n }\r\n\r\n onEyeIconClicked(data: any) {\r\n this.dataSharing.setGlobalEditData(data.rowData);\r\n }\r\n\r\n\r\n \r\n dateFormatter(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n return this.dataSharing.datePipeFormat(date,format);\r\n }\r\n\r\n dateFormatterYYYY(date: any) {\r\n const format = 'yyyy-MM-dd';\r\n return this.dataSharing.datePipeFormat(date,format);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n onDeletBtnClicked() {\r\n this.getMonitoringStatusList();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n dateFormattergrid(date: Date) {\r\n const format = 'dd-MM-yyyy';\r\n // const locale = 'en-US';\r\n // return formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date,format);\r\n }\r\n\r\n dateFormatterGrid(date: any) {\r\n // let formatedDate;\r\n // if (typeof date === 'string') {\r\n // const [day, month, year] = date.split('-');\r\n // formatedDate = new Date(+year, +month - 1, +day);\r\n // }\r\n const format = 'yyyy-MM-dd';\r\n // const locale = 'en-US';\r\n // return formatedDate\r\n // ? formatDate(formatedDate, format, locale)\r\n // : formatDate(date, format, locale);\r\n return this.dataSharing.datePipeFormat(date,format);\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Monitoring Status

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

\r\n {{ \"total_records\" | translate }} {{ recordCount }}\r\n \r\n

\r\n
\r\n \r\n\r\n
\r\n
","import { User } from \"src/app/views/pages/model/user\";\r\nimport { BatchMaster } from \"./batch-master\";\r\n\r\nexport class AddTrainer {\r\n trainerCode:any;\r\n batch:BatchMaster;\r\n createdBy:number;\r\n updatedBy:User;\r\n}\r\n\r\n","export class ApprovedTrainerPaymemts {\r\n approvalId: number;\r\n trainingId: number;\r\n blockId: string;\r\n approvedBy: string;\r\n createdBy: number;\r\n createdOn: Date;\r\n}\r\n","import { EmpCode } from \"src/app/views/pages/model/emp-code\";\r\nimport { Bank } from \"../../baseline/model/bank.model\"\r\n\r\nexport class BankInfo {\r\n // id: number;\r\n // bank: Bank;\r\n bankAccountNo: string;\r\n //bankName: string;\r\n createdBy: number;\r\n createdOn: Date;\r\n //email: string;\r\n employeeCode: string;\r\n // employee: EmpCode;\r\n ifscCode: string;\r\n // updatedBy: number;\r\n // updatedOn: any;\r\n accountHolderName : string;\r\n}\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { Entity } from \"../../baseline/model/entity.model\";\r\nimport { EntityMaster } from \"./entity-master\";\r\nimport { Training } from \"./training\";\r\nimport { TrainingArea } from \"./training-area\";\r\n\r\nexport class BatchInitiate {\r\n \r\n batchinitiateId : number;\r\n training : Training;\r\n maxBatchSize : number;\r\n trainerType:Entity;\r\n tentitiveParticipants:number;\r\n noOfRooms:number;\r\n calculatedBatch:number;\r\n cycle:number;\r\n createdBy:User;\r\n createdOn:Date;\r\n updatedBy:number;\r\n updatedOn:Date;\r\n initiateTrainingStatus : Entity;\r\n trainingArea:TrainingArea;\r\n}\r\n","import { Time } from \"@angular/common\";\r\nimport { Entity } from \"../../baseline/model/entity.model\";\r\nimport { Training } from \"./training\";\r\nimport { TrainingArea } from \"./training-area\";\r\n\r\nexport class BatchMaster {\r\n batchId : number;\r\n training : Training;\r\n trainingArea : TrainingArea;\r\n batchNumber : number;\r\n venue : string;\r\n address : string;\r\n startDate : any;\r\n endDate : Date;\r\n startTime : Time;\r\n endTime : Time;\r\n createdBy : number;\r\n createdOn : Date;\r\n updatedBy : number;\r\n updatedOn : Date;\r\n launchDate : Date;\r\n launchStatus : Entity;\r\n trainerType : Entity;\r\n checkListId : string;\r\n}\r\n","import { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { ChecklistMaster } from './checklist-master';\r\n\r\nexport class CheckListItems {\r\n checkListItemId: number;\r\n checkList: ChecklistMaster;\r\n checkListItemName: string;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: User;\r\n updatedOn: Date;\r\n checked : boolean;\r\n trainingChkItemId:number;\r\n}\r\n","import { CheckListItems } from './check-list-items';\r\nimport { Training } from './training';\r\n\r\nexport class ChecklistMaster {\r\n checkListId: number;\r\n training: Training;\r\n checkListName: string;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: number;\r\n updatedOn: Date;\r\n checkListItems: CheckListItems[];\r\n}\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { EmpCode } from \"src/app/views/pages/model/emp-code\";\r\nimport { BatchMaster } from \"./batch-master\";\r\n\r\nexport class Coordinator {\r\n\r\n coordinatorId:number;\r\n batch:BatchMaster;\r\n empCode:any;\r\n createdBy:number;\r\n updatedBy:number;\r\n}\r\n","export class Document {\r\n materialId:number;\r\n documentName : any;\r\n documentPath : any;\r\n documentLevel : any;\r\n}\r\n","export class FileDTO {\r\n\r\n fileName:string;\r\n filePath:string;\r\n}\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\n\r\nexport class Group {\r\n groupId:number;\r\n groupName:string;\r\n description : string;\r\n isActive: boolean;\r\n userId: number;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: number;\r\n updatedOn: Date;\r\n}\r\n","export class Link {\r\n materialId:number;\r\n linkName : any;\r\n linkPath : any; \r\n documentLevel : any;\r\n}\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { BatchMaster } from \"./batch-master\";\r\nimport { TrainerMaster } from \"./trainer-master\";\r\n\r\nexport class MonitorComments {\r\n monitorCommentId : number;\r\n batchMaster : BatchMaster;\r\n comment : string;\r\n createdBy : number;\r\n createdOn : Date;\r\n trainerMaster : TrainerMaster;\r\n updatedBy : User;\r\n updatedOn : Date; \r\n}\r\n","export class MonitorQuestionMaster {\r\n\r\n monitorQuestionId: number;\r\n question: string;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: number;\r\n updatedOn: Date;\r\n checked: boolean;\r\n tmqId : number;\r\n}\r\n\r\n\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { BatchMaster } from \"./batch-master\";\r\nimport { MonitorQuestions } from \"./monitor-questions\";\r\nimport { TrainerMaster } from \"./trainer-master\";\r\nimport { Training } from \"./training\";\r\nimport { TrainingMonitorQuestions } from \"./training-monitor-questions\";\r\n\r\nexport class MonitorQuestionsVerification {\r\n questionVerificationId: number;\r\n trainingMonitorQuestions : TrainingMonitorQuestions;\r\n monitorQuestions: MonitorQuestions;\r\n training: Training;\r\n trainerMaster: TrainerMaster;\r\n batchMaster: BatchMaster;\r\n answer: boolean;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: User;\r\n updatedOn: Date;\r\n}\r\n","import { Training } from \"./training\";\r\n\r\nexport class MonitorQuestions {\r\n\r\n monitorQuestionId: number;\r\n training: Training;\r\n question: string;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: number;\r\n updatedOn: Date;\r\n}\r\n","import { FormArray } from '@angular/forms';\r\n\r\n/**\r\n * Moves an item in a FormArray to another position.\r\n * @param formArray FormArray instance in which to move the item.\r\n * @param fromIndex Starting index of the item.\r\n * @param toIndex Index to which he item should be moved.\r\n */\r\n\r\nexport function moveItemInFormArray(\r\n formArray: FormArray,\r\n fromIndex: number,\r\n toIndex: number\r\n): void {\r\n const dir = toIndex > fromIndex ? 1 : -1;\r\n\r\n const item = formArray.at(fromIndex);\r\n for (let i = fromIndex; i * dir < toIndex * dir; i = i + dir) {\r\n const current = formArray.at(i + dir);\r\n formArray.setControl(i, current);\r\n }\r\n formArray.setControl(toIndex, item);\r\n}\r\n","import { User } from \"src/app/views/pages/model/user\";\r\nimport { Quiz } from \"./quiz\";\r\n\r\nexport class Question {\r\n questionId:number;\r\n quizId:Quiz;\r\n displayOrder:number;\r\n question:string;\r\n option1:string;\r\n option2:string;\r\n option3:string;\r\n option4:string;\r\n answer:string;\r\n createdBy:User\r\n}\r\n","import { User } from \"src/app/views/pages/model/user\";\r\nimport { Entity } from \"../../baseline/model/entity.model\";\r\nimport { Training } from \"./training\";\r\n\r\nexport class Quiz {\r\n quizId:number;\r\n day:number;\r\n noOfQuestions: number;\r\n trainingId: Training;\r\n quizTypeId: Entity;\r\n createdBy: User;\r\n toBePerformed: boolean;\r\n}\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { BatchMaster } from \"./batch-master\";\r\n\r\nexport class RedFlag {\r\n redFlagId: number;\r\n batchId: BatchMaster;\r\n session: String;\r\n attendanceFor: String;\r\n remark: string;\r\n createdBy: User;\r\n createdOn: Date;\r\n updatedBy: User;\r\n updatedOn: Date;\r\n date: any;\r\n}\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { Group } from \"./group\"\r\n\r\nexport class SubGroup {\r\n subGroupId: number;\r\n group: any;\r\n description: string;\r\n subGroupName: string;\r\n isActive: boolean;\r\n userId: number;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: User;\r\n updatedOn: Date;\r\n groupMaster:Group;\r\n}\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { Entity } from \"../../baseline/model/entity.model\";\r\nimport { Question } from \"./question\";\r\nimport { Trainee } from \"./trainee\";\r\nimport { Training } from \"./training\";\r\n\r\nexport class TraineeAnswerSheet {\r\n traineeAnswerSheetId: number;\r\n trainee: Trainee;\r\n training: Training;\r\n question: Question;\r\n answer: String;\r\n createdBy: User;\r\n createdOn: Date;\r\n updatedBy: User;\r\n updatedOn: Date;\r\n status:Entity;\r\n testType:Entity;\r\n}\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { TraineeAttendance } from \"./trainee-attendance\";\r\n\r\nexport class TraineeAttendanceVerification {\r\ntraineeAttendanceId:number;\r\ntraineeAttendance:TraineeAttendance;\r\nverify:boolean;\r\nverificationRemark:string;\r\ncreatedBy:number;\r\ncreatedOn:Date;\r\n updatedBy:number;\r\nupdatedOn:Date;\r\n}\r\n","import { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { BatchMaster } from './batch-master';\r\nimport { Trainee } from './trainee';\r\n\r\nexport class TraineeAttendance {\r\n trainingAttendanceId: number;\r\n batch: BatchMaster;\r\n session: String;\r\n trainee: Trainee;\r\n attendance: boolean;\r\n remark: string;\r\n date:string;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: User;\r\n updatedOn: Date;\r\n}\r\n","import { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { EmpCode } from 'src/app/views/pages/model/emp-code';\r\nimport { BatchMaster } from './batch-master';\r\n\r\nexport class Trainee {\r\n traineeId: number;\r\n empCode: any;\r\n batchId: BatchMaster;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: number;\r\n updatedOn: Date;\r\n}\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { BatchMaster } from \"./batch-master\";\r\nimport { TrainerAttendance } from \"./trainer-attendance\";\r\nimport { TrainerMaster } from \"./trainer-master\";\r\n\r\nexport class TrainerAttendanceVerification {\r\n trainerVerificationId: number;\r\n trainerAttendance: TrainerAttendance;\r\n verify: boolean;\r\n verificationRemark: string;\r\n rating: number;\r\n ratingRemark: string;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: User;\r\n updatedOn: Date;\r\n trainer:TrainerMaster;\r\n batch:BatchMaster;\r\n trainerEmpCode: string\r\n}\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { BatchMaster } from \"./batch-master\";\r\nimport { TrainerMaster } from \"./trainer-master\";\r\n\r\nexport class TrainerAttendance {\r\n trainerAttendanceId: number;\r\n batch: BatchMaster;\r\n session: string;\r\n trainerMaster: TrainerMaster;\r\n attendance: boolean;\r\n remark: string;\r\n date:string;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy:User;\r\n updatedOn:Date;\r\n employeeCode: string;\r\n}\r\n","import { User } from 'src/app/views/pages/login/model/user.model';\r\nimport { Bank } from '../../baseline/model/bank.model';\r\nimport { Entity } from '../../baseline/model/entity.model';\r\nimport { TrainerBatch } from './trainer-batch';\r\n\r\nexport class TrainerMaster {\r\n trainerId: any;\r\n trainerName: string;\r\n mobile: string;\r\n email: string;\r\n organizationName: string;\r\n aadharNo: string;\r\n bankId: Bank;\r\n IFSCcode: string;\r\n bankAccountNo: string;\r\n acountHolder: string;\r\n trainerBatches: TrainerBatch[];\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: User;\r\n updatedOn: Date;\r\n empCode:String;\r\n designation:String;\r\n trainerType:Entity;\r\n trainerAttendanceId:number;\r\n remark:string;\r\n rating:string;\r\n}\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { Entity } from \"../../baseline/model/entity.model\";\r\nimport { Training } from \"./training\";\r\n\r\nexport class TrainingArea {\r\n trainingId : number;\r\n trainingAreaId : number;\r\n areaId: number;\r\n training : Training;\r\n trainingTypeId: Entity;\r\n createdBy: User;\r\n trainingArea : Entity;\r\n status:Entity;\r\n}\r\n\r\n","import { CheckListItems } from \"./check-list-items\";\r\n\r\nexport class TrainingCheckListItems {\r\n\r\n trainingCheckListItemId: number;\r\n trainingId: number;\r\n checkListItems: CheckListItems;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: number;\r\n updatedOn: Date;\r\n\r\n}\r\n","export class TrainingLetter {\r\n trainingLetterId: number;\r\n trainingCode: string;\r\n description: string;\r\n letterName: string;\r\n path: string;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: number;\r\n updatedOn: Date;\r\n}\r\n","\r\nimport { User } from \"src/app/views/pages/model/user\";\r\nimport { Training } from \"./training\";\r\n\r\nexport class TrainingMaterial {\r\n materialId:number;\r\n trainingId : number;\r\n trainingMaster:Training;\r\n documentName : any;\r\n documentPath : any;\r\n linkName : any;\r\n linkPath : any;\r\n trainingAreaId:any;\r\n createdBy : User;\r\n createdOn : Date;\r\n updatedBy : User;\r\n updatedOn : Date;\r\n documentLevel:string;\r\n}\r\n","import { MonitorQuestionMaster } from \"./monitor-question-master\";\r\n\r\nexport class TrainingMonitorQuestions {\r\n trainingMonitorQuestionId: number;\r\n trainingId: number;\r\n checked : boolean;\r\n monitorQuestionMaster: MonitorQuestionMaster;\r\n question: string;\r\n createdBy: number;\r\n createdOn: Date;\r\n updatedBy: number;\r\n updatedOn: Date;\r\n}\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { Entity } from \"../../baseline/model/entity.model\";\r\nimport { UserRole } from \"../../configurations/model/manage role model/user-role\";\r\nimport { BatchMaster } from \"./batch-master\";\r\nimport { Group } from \"./group\";\r\nimport { SubGroup } from \"./sub-group\";\r\n\r\nexport class Training {\r\n groupId : number;\r\n trainingId: number;\r\n trainingName : string;\r\n subGroupId : any;\r\n subGroupMaster:SubGroup;\r\n groupMaster:Group;\r\n group: number;\r\n trainingType:Entity\r\n isActive: true;\r\n trainingLevelId : Entity;\r\n approxTrainees: number;\r\n startDate: any;\r\n sDate:string;\r\n endDate : any;\r\n description: string;\r\n status : Entity;\r\n maximumBatchSize : any;\r\n updatedOn : Date;\r\n createdOn : Date;\r\n createdBy : User;\r\n updatedBy : User;\r\n noOfDays : any;\r\n minimumTrainer : any;\r\n initiateTrainingStatus : Entity;\r\n}\r\n\r\n","import { User } from \"src/app/views/pages/login/model/user.model\";\r\nimport { BatchMaster } from \"./batch-master\";\r\nimport { CheckListItems } from \"./check-list-items\";\r\nimport { ChecklistMaster } from \"./checklist-master\";\r\nimport { TrainingCheckListItems } from \"./training-check-list-items\";\r\n\r\nexport class VerifyCheckList {\r\n \r\n checkList:ChecklistMaster;\r\n // checkListItem:CheckListItems;\r\n createdBy:User;\r\n createdOn:Date;\r\n updatedBy:User;\r\n updatedOn:Date;\r\n checkListItem:TrainingCheckListItems;\r\n checkListItems : any;\r\n verify:boolean;\r\n verificationId:any;\r\n batchMaster : BatchMaster\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AttendanceVerificationService {\r\n\r\n constructor(private http: HttpClient, private url: UrlFormationService) { }\r\n\r\n saveTrainerAttendanceVerification(trainerAttendance: any): Observable {\r\n return this.http.post(this.url.saveTrainerAttendanceVerification(), trainerAttendance);\r\n }\r\n saveRating(trainerAttendance: any): Observable {\r\n return this.http.post(this.url.saveRating(), trainerAttendance);\r\n }\r\n\r\n getTraineeAttendanceListByBatchId(id: any, session: any): Observable {\r\n return this.http.get(this.url.getTraineeAttendaceListByBatchId() + \"/\" + id + \"/\" + session);\r\n }\r\n\r\n checkTraineeAttendanceListByBatchId(id: any, session: any, employeeCode: any): Observable {\r\n return this.http.get(this.url.checkTraineeAttendaceListByBatchId().concat(session).concat('/').concat(id).concat('/').concat(employeeCode));\r\n }\r\n\r\n checkTrainerAttendanceListByBatchId(id: any, session: any, employeecode): Observable {\r\n return this.http.get(this.url.checkTrainerAttendaceListByBatchId().concat(session).concat('/').concat(id).concat(\"/\").concat(employeecode));\r\n }\r\n\r\n saveTraineeAttendanceVerification(traineeAttendance: any): Observable {\r\n return this.http.post(this.url.saveTraineeAttendanceVerification(), traineeAttendance);\r\n }\r\n\r\n getTrainerAttendanceByBatchId(id: any, session: any): Observable {\r\n return this.http.get(this.url.getTrainerAttendanceByBatchId() + \"/\" + id + \"/\" + session);\r\n }\r\n\r\n saveRedFlag(redFlag: any): Observable {\r\n return this.http.post(this.url.saveRedFlag(), redFlag);\r\n }\r\n\r\n getRedFlag(batchId: number, session: string, attendanceFor: string): Observable {\r\n return this.http.get(`${this.url.getRedFlag()}/${batchId}/${session}/${attendanceFor}`);\r\n }\r\n\r\n saveTrainerRating(trainerRating: any): Observable {\r\n return this.http.post(this.url.saveTrainerRating(), trainerRating);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\nimport { DateEditor } from 'angular-slickgrid';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AttendanceService {\r\n\r\n constructor(private http: HttpClient, private url: UrlFormationService) { }\r\n\r\n getTrainersByBatchId(Id: any): Observable {\r\n return this.http.get(this.url.getTrainersByBatchId() + \"/\" + Id);\r\n }\r\n\r\n getTrainerRatingByBatch(id: any, empCode: any): Observable {\r\n return this.http.get(this.url.getTrainerRatingByBatchId() + \"/\" + id + \"/\" + empCode)\r\n }\r\n\r\n\r\n getTraineesByBatchId(id: any): Observable {\r\n return this.http.get(this.url.getTraineesByBatchId() + \"/\" + id);\r\n }\r\n\r\n getTraineeAttendanceByBatchAndSession(batchId: any, session: any, date: any): Observable {\r\n return this.http.get(this.url.getTraineeAttendanceByBatchAndSession() + \"/\" + batchId + \"/\" + session + \"/\" + date);\r\n }\r\n\r\n getTrainersByBatchForAttendance(batchId: any): Observable {\r\n return this.http.get(this.url.getTrainersByBatchForAttendance() + \"/\" + batchId);\r\n }\r\n\r\n getTrainersByBatchForRating(batchId: any): Observable {\r\n return this.http.get(this.url.getTrainersByBatchForRating() + \"/\" + batchId);\r\n }\r\n\r\n getTrainerAttendanceByBatchAndSession(batchId: any, session: any, date: any): Observable {\r\n return this.http.get(this.url.getTrainerAttendanceByBatchAndSession() + \"/\" + batchId + \"/\" + session + \"/\" + date);\r\n }\r\n saveTraineeAttendance(traineeAttendance: any): Observable {\r\n return this.http.post(this.url.saveTraineeAttendance(), traineeAttendance);\r\n }\r\n\r\n saveTrainerAttendance(trainerAttendance: any): Observable {\r\n return this.http.post(this.url.saveTrainerAttendance(), trainerAttendance);\r\n }\r\n\r\n saveTrainerRating(trainerRating: any): Observable {\r\n return this.http.post(this.url.saveTrainerRating(), trainerRating);\r\n }\r\n\r\n GetAssignedTrainings(empCode: any): Observable {\r\n return this.http.get(this.url.GetAssignedTrainings() + empCode);\r\n }\r\n\r\n GetTrainingAreaForAttendance(EmpCode, TrainingId, TrainingTypeId): Observable {\r\n return this.http.get(this.url.GetTrainingAreaForAttendance() + EmpCode + \"/\" + TrainingId + \"/\" + TrainingTypeId);\r\n }\r\n\r\n GetBatchDataForAttendance(TrainingId, AreaId, empCode): Observable {\r\n return this.http.get(this.url.GetBatchesForAttendance() + TrainingId + \"/\" + AreaId + \"/\" + empCode);\r\n }\r\n\r\n GetTodayDate(): Observable {\r\n return this.http.get(this.url.getTodayDate());\r\n }\r\n}\r\n\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n\r\nexport class GroupService {\r\n\r\n constructor(private url: UrlFormationService, private http: HttpClient) { }\r\n\r\n getTrainingGroups(): Observable {\r\n return this.http.get(this.url.getTrainingGroup());\r\n }\r\n\r\n getTrainingSubGroups(): Observable {\r\n return this.http.get(this.url.getTrainingSubGroup());\r\n }\r\n\r\n saveTrainingGroups(trainingGroup: any): Observable {\r\n return this.http.post(this.url.saveTrainingGroup(), trainingGroup);\r\n }\r\n\r\n saveTrainingSubGroup(trainingSubGroup: any): Observable {\r\n return this.http.post(this.url.saveTrainingSubGroup(), trainingSubGroup);\r\n }\r\n\r\n generateQRcode(batchCode:any):Observable{\r\n return this.http.get(this.url.generateQRcode().concat(batchCode),{ responseType: 'blob' });\r\n }\r\n\r\n getSubGroupByGroupId(id:any):Observable{\r\n return this.http.get(this.url.fetchSubGroupByGroupId()+id);\r\n }\r\n\r\n getAllTrainingList():Observable{\r\n return this.http.get(this.url.fetchAllTrainingList());\r\n }\r\n getAllUserRespectiveTrainings(data: any):Observable{\r\n return this.http.post(this.url.fetchAllUserRespectiveTraining(),data);\r\n }\r\n getTrainingIdDetails(id:any):Observable{\r\n return this.http.get(this.url.fetchAllTrainingList().concat('/'+id));\r\n }\r\n \r\n saveTraining(training:any):Observable{\r\n return this.http.post(this.url.saveTraining(),training);\r\n }\r\n\r\n fetchDistrictByDivisionId(id:any):Observable{\r\n return this.http.get(this.url.fetchDistrictByDivId()+id);\r\n }\r\n\r\n fetchBlockByDistrictId(id:any):Observable{\r\n return this.http.get(this.url.fetchBlockById()+id);\r\n }\r\n\r\n fetchClusterByBlockId(id:any):Observable{\r\n return this.http.get(this.url.fetchClusterById()+id);\r\n }\r\n\r\n fetchAllState():Observable{\r\n return this.http.get(this.url.fetchAllState());\r\n }\r\n\r\n saveTrainingArea(trainingArea:any):Observable{\r\n return this.http.post(this.url.saveTrainingArea(),trainingArea);\r\n }\r\n\r\n updateTrainingStatus(trainingId:any):Observable{\r\n return this.http.get(this.url.updateTrainingStatus().concat(trainingId));\r\n }\r\n\r\n fetchStateList(id:any):Observable{\r\n return this.http.get(this.url.fetchStateList()+id);\r\n }\r\n\r\n fetchTrainingAreas(id:any):Observable{\r\n return this.http.get(this.url.fetchTrainingAreas().concat(id));\r\n }\r\n\r\n getTrainingByArea(area:any){\r\n return this.http.post(this.url.getTrainingByArea(),area);\r\n }\r\n\r\n getBatchesByTraining(trainingId:any):Observable{\r\n return this.http.get(this.url.getBatchesByTraining().concat(trainingId));\r\n }\r\n\r\n fetchSchoolById(id):Observable{\r\n return this.http.get(this.url.fetchSchoolById() + id);\r\n }\r\n\r\n deleteSubGroup(id):Observable{\r\n return this.http.delete(this.url.deleteSubGroup() + id);\r\n }\r\n\r\n fetchAllTrainings():Observable{\r\n return this.http.get(this.url.GetAllTrainings());\r\n }\r\n\r\n fetchTrainingArea(trainingId,trainingLevel):Observable{\r\n return this.http.get(this.url.getTrainingAreaByTraining().concat(trainingId+\"/\"+trainingLevel));\r\n }\r\n\r\n fetchBatchArea(trainingId,areaId):Observable{\r\n return this.http.get(this.url.getBatchAreaWise().concat(trainingId+\"/\"+areaId));\r\n }\r\n\r\n getAreaLevelTraining(roleArea:any):Observable{\r\n return this.http.post(this.url.getAreaWiseTraining(),roleArea);\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\nimport * as fileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InitiateTrainingService {\r\n constructor(private http: HttpClient, private url: UrlFormationService) {}\r\n\r\n saveBatchInitiate(batch: any): Observable {\r\n return this.http.post(this.url.saveBatchInitiate(), batch);\r\n }\r\n\r\n getTrainingCheckLis(id: any): Observable {\r\n return this.http.get(this.url.fetchTrainingCheckList() + id);\r\n }\r\n\r\n getTrainingCheckListDropdown(id: any): Observable {\r\n return this.http.get(this.url.fetchTrainingCheckListDropdown() + id);\r\n }\r\n\r\n getAllBatchInitiate(): Observable {\r\n return this.http.get(this.url.fetchAllBatchInitiate());\r\n }\r\n\r\n getBatchInitiateById(id: any, trainingAreaId: any): Observable {\r\n return this.http.get(\r\n this.url.fetchAllBatchInitiateById() + '/' + id + '/' + trainingAreaId\r\n );\r\n }\r\n\r\n getAllBatch(): Observable {\r\n return this.http.get(this.url.fetchAllBatch());\r\n }\r\n\r\n getBatchById(id: any): Observable {\r\n return this.http.get(this.url.fetchBatchById() + '/' + id);\r\n }\r\n\r\n saveBatch(batch: any): Observable {\r\n return this.http.post(this.url.saveBatch(), batch);\r\n }\r\n\r\n saveCoordinator(coordinators: any): Observable {\r\n return this.http.post(this.url.saveCoordinator(), coordinators);\r\n }\r\n\r\n saveTrainer(trainer: any, id: any): Observable {\r\n return this.http.post(this.url.saveTrainer() + '/' + id, trainer);\r\n }\r\n\r\n saveNewTrainer(trainer: any): Observable {\r\n return this.http.post(this.url.saveTrainer(), trainer);\r\n }\r\n\r\n getCoordinator(id: any): Observable {\r\n return this.http.get(this.url.getCoordinator().concat(id));\r\n }\r\n\r\n getBatches(trainingId: any): Observable {\r\n return this.http.get(this.url.getBatches() + '/' + trainingId);\r\n }\r\n\r\n saveTraineees(traineees: any): Observable {\r\n return this.http.post(this.url.saveTraineees(), traineees);\r\n }\r\n\r\n getBatchInititate(trainingId: any, trainingAreaId): Observable {\r\n return this.http.get(\r\n this.url.getBatchInitiate().concat(trainingId + '/' + trainingAreaId)\r\n );\r\n }\r\n\r\n getTrainersByBatchId(Id: any): Observable {\r\n return this.http.get(this.url.getTrainersByBatchId() + '/' + Id);\r\n }\r\n\r\n getAllTrainersByBatchId(id:any): Observable {\r\n return this.http.get(this.url.getAllTrainersByBatchId() + '/' + id);\r\n }\r\n\r\n getAssessmentStatusByBatch(id: any): Observable {\r\n return this.http.get(this.url.getTraineeAssessmentStatus() + '/' + id);\r\n }\r\n\r\n getTrainersByBatch(\r\n trainingId: any,\r\n batchNumber: any,\r\n trainingAreaId: any\r\n ): Observable {\r\n return this.http.get(\r\n this.url.getTrainersByBatch() +\r\n '/' +\r\n trainingId +\r\n '/' +\r\n batchNumber +\r\n '/' +\r\n trainingAreaId\r\n );\r\n }\r\n\r\n getTraineesByBatch(batchId: any): Observable {\r\n return this.http.get(this.url.getTraineesByBatchId() + '/' + batchId);\r\n }\r\n\r\n saveMonitorQuestionsVerification(\r\n monitorQuestionVerification: any\r\n ): Observable {\r\n return this.http.post(\r\n this.url.saveMonitorQuesVerification(),\r\n monitorQuestionVerification\r\n );\r\n }\r\n\r\n saveTrainingArea(trainingArea: any): Observable {\r\n return this.http.post(this.url.saveTrainingArea(), trainingArea);\r\n }\r\n\r\n getEmpByEmpCode(empCode): Observable {\r\n return this.http.get(this.url.getEmpByEmpCode() + '/' + empCode);\r\n }\r\n\r\n searchTrainer(batchId, empCode): Observable {\r\n return this.http.get(\r\n this.url.searchTrainer() + '/' + batchId + '/' + empCode\r\n );\r\n }\r\n\r\n getEmpDetails(Key, empCode,batchId?) {\r\n if(batchId!=undefined && batchId!=null){\r\n return this.http.get(this.url.getEmpDetails() + '/' + Key + '/' + empCode +'/' +batchId);\r\n }else{\r\n return this.http.get(this.url.getEmpDetails() + '/' + Key + '/' + empCode);\r\n }\r\n \r\n }\r\n\r\n deleteByTrainerBatchId(trainerBatchId): Observable {\r\n return this.http.delete(\r\n this.url.deleteByTrainerBatchId() + '/' + trainerBatchId\r\n );\r\n }\r\n\r\n deleteByCoordinatorId(coordinatorId): Observable {\r\n return this.http.delete(\r\n this.url.deleteByCoordinatorId() + '/' + coordinatorId\r\n );\r\n }\r\n\r\n deleteByTraineeId(traineeId): Observable {\r\n return this.http.delete(this.url.deleteByTraineeId() + '/' + traineeId);\r\n }\r\n\r\n updateBatchStatus(batchId): Observable {\r\n return this.http.get(this.url.saveBatchStatus() + batchId);\r\n }\r\n\r\n getBatchByCoordinator(empCode) {\r\n return this.http.get(this.url.getBatchByCoordinator() + empCode);\r\n }\r\n viewBatches(trainingID: any, trainingAreaId: any): Observable {\r\n return this.http.get(\r\n this.url.getBatch() + '/' + trainingID + '/' + trainingAreaId\r\n );\r\n }\r\n\r\n getExternalResourcebyEmpCode(empCode) {\r\n return this.http.get(this.url.getExternalResourcebyCode() + '/' + empCode);\r\n }\r\n\r\n getTrainingMaterials(id,trainingAreaId) {\r\n if(trainingAreaId && trainingAreaId!=undefined && trainingAreaId!=null){\r\n return this.http.get(this.url.getTrainingMaterials() + '/' + id+'/'+trainingAreaId);\r\n }else{\r\n return this.http.get(this.url.getTrainingMaterials() + '/' + id);\r\n }\r\n }\r\n\r\n saveTrainingMaterialDoc(material): Observable {\r\n return this.http.post(this.url.saveTrainingMaterialDoc(), material);\r\n }\r\n\r\n fetchEmpFromExcel(fdata: FormData,trainingId): Observable {\r\n return this.http.post(this.url.readEmpFromExcel().concat(\"/\"+trainingId), fdata);\r\n }\r\n\r\n downlaodInvalidCodes(codes: any): Observable {\r\n return this.http.put(this.url.dowloadInvalidCodes(), codes,\r\n {\r\n headers: {\r\n Accept:\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n },\r\n responseType: 'blob',\r\n observe: 'response',\r\n });\r\n }\r\n\r\n public exportAsExcelFile(json:any[], excelFileName: string): void {\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {type: EXCEL_TYPE});\r\n fileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);\r\n }\r\n\r\n getTrainerDetailsViaEmpCode(empCode,subGroupId?,batchId?): Observable {\r\n return this.http.get(this.url.getEmpViaTrainer()+ empCode +'/'+subGroupId+'/'+batchId);\r\n }\r\n\r\n searchCoordinator(empCode,batchId){\r\n return this.http.get(this.url.searchCoordinator().concat(empCode+'/'+batchId));\r\n }\r\n\r\n searchTrainee(empCode,batchId){\r\n return this.http.get(this.url.searchTrainee().concat(empCode+'/'+batchId));\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LaunchTrainingService {\r\n\r\n constructor(private url: UrlFormationService,private http:HttpClient) { }\r\n\r\n getTrainingBySubGroupId(subGrpId:any):Observable{\r\n return this.http.get(this.url.getTrainingBySubGroupId()+\"/\"+subGrpId);\r\n }\r\n\r\n getArea(data):Observable{\r\n return this.http.post(this.url.fetchArea(),data);\r\n }\r\n\r\n launchBatch(batchId){\r\n return this.http.get(this.url.launchBatch() + batchId);\r\n }\r\n\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MyTrainingsService {\r\n\r\n constructor(private url: UrlFormationService, private http: HttpClient) { }\r\n\r\n getActiveTrainings(empCode): Observable {\r\n return this.http.get(this.url.GetActiveTrainings() + \"/\" + empCode);\r\n }\r\n\r\n getCompletedTrainings(empCode): Observable {\r\n return this.http.get(this.url.GetCompletedTrainings() + \"/\" + empCode);\r\n }\r\n\r\n getMyTrainingAttendance(empCode, batchId): Observable {\r\n return this.http.get(this.url.getMyTrainingAttendance() + \"/\" + batchId + \"/\" + empCode);\r\n }\r\n\r\n getAttendanceDaysForDonut(batchId, empCode): Observable {\r\n return this.http.get(this.url.getAttendanceDaysForDonut() + \"/\" + batchId + \"/\" + empCode);\r\n }\r\n\r\n GetTodayAttendance(batchId, empCode): Observable {\r\n return this.http.get(this.url.GetTodayAttendance() + \"/\" + batchId + \"/\" + empCode);\r\n }\r\n\r\n GetTrainingMaterial(batchId): Observable {\r\n return this.http.get(this.url.GetTrainingMaterial() + \"/\" + batchId);\r\n }\r\n\r\n GetPrePostMyTraining(empCode, batchId): Observable {\r\n return this.http.get(this.url.GetPrePostMyTraining() + \"/\" + empCode + \"/\" + batchId);\r\n }\r\n\r\n getEmpBankDetails(employeeCode): Observable {\r\n return this.http.get(this.url.getEmpBankDetails() + employeeCode);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaymentService {\r\n\r\n \r\n\r\n constructor(private http: HttpClient, private url: UrlFormationService) { }\r\n\r\n getPaymentConfigurationDataTrainee(employeeType,batchId): Observable {\r\n return this.http.get(this.url.getTrainingConfiguration().concat(employeeType+\"/\"+batchId));\r\n }\r\n\r\n\r\n getPaymentConfigurationDataTrainer(employeeType,trainingId,trainingAreaId): Observable {\r\n return this.http.get(this.url.getTrainingConfiguration().concat(employeeType+\"/\"+trainingId+\"/\"+trainingAreaId));\r\n }\r\n\r\n savePaymentConfg(data): Observable{\r\n return this.http.post(this.url.postPaymentConfiguration(),data);\r\n }\r\n\r\n getPaymentReport(levelId:any, trainingId:any, areaId?:any): Observable{\r\n if(areaId===undefined || areaId===null){\r\n return this.http.get(this.url.getPaymentReport().concat(levelId+\"/\"+trainingId)); \r\n }else{\r\n return this.http.get(this.url.getPaymentReport().concat(levelId+\"/\"+trainingId+\"/\"+areaId)); \r\n }\r\n \r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportService {\r\n\r\n constructor(private http:HttpClient, private url:UrlFormationService) { }\r\n\r\nfetchReport(reportId,assmtId):Observable{\r\n return this.http.get(this.url.getReport().concat(reportId+'/'+assmtId));\r\n}\r\n \r\n fetchAssessmentByGroupId(id:any):Observable{\r\n return this.http.get(this.url.getAssessmentsByGroupId().concat(id));\r\n }\r\n\r\n fetchAttendanceReport(area:any,id:any,fetchType:any,date:any):Observable{\r\n // return this.http.get(this.url.getAttendanceReport().concat(area+\"/\").concat(id+\"/\").concat(fetchType+\"/\").concat(date));\r\n return this.http.post(this.url.getAttendanceReport(),{areaId:area,trainingDate:date,fetchType:fetchType,trainingId:id});\r\n }\r\n\r\n getPrePostAssessmentReport(trainingId:any,quizTypeId:any):Observable{\r\n return this.http.get(this.url.getPrePostAssessment()+\"/\"+trainingId+\"/\"+quizTypeId);\r\n }\r\n\r\n getAttendanceReportBatch(data):Observable{\r\n return this.http.post(this.url.getAttendanceReportBatch(), data);\r\n }\r\n getReadinessReport(trainingId:any, trainingLevel:any, stateId:any, divisionId:any, districtId: any, blockId:any):Observable{\r\n return this.http.get(this.url.getAttendanceReportBatch()+trainingId+\"/\"+trainingLevel+\"/\"+stateId+\"/\"+divisionId+\"/\"+districtId+\"/\"+blockId);\r\n }\r\n\r\n getPrePostStatus(trainingId:any, trainingLevel:any, stateId:any, divisionId:any, districtId: any, blockId:any):Observable{\r\n return this.http.get(this.url.getPrePostStatusReport()+trainingId+\"/\"+trainingLevel+\"/\"+stateId+\"/\"+divisionId+\"/\"+districtId+\"/\"+blockId);\r\n }\r\n\r\n getAttendanceStatus(trainingId:any, trainingLevel:any, stateId:any, divisionId:any, districtId: any, blockId:any, date:any):Observable{\r\n return this.http.get(this.url.getAttendanceStatus()+trainingId+\"/\"+trainingLevel+\"/\"+stateId+\"/\"+divisionId+\"/\"+districtId+\"/\"+blockId+\"/\"+date);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TraineeRegistrationService {\r\n\r\n constructor(private http: HttpClient, private url: UrlFormationService) { }\r\n\r\n getEnrolledTrainings(empCode: any): Observable {\r\n return this.http.get(this.url.getEnrolledTrainings() + \"/\" + empCode);\r\n }\r\n\r\n getBatchesForTraineeReg(trainingId: any, trainingAreaId: any, empCode: any): Observable {\r\n return this.http.get(this.url.getBatchesTraineeReg() + \"/\" + trainingId + \"/\" + trainingAreaId + \"/\" + empCode);\r\n }\r\n\r\n addEmpBankDetails(data): Observable {\r\n return this.http.post(this.url.addEmpBankDetails(), data);\r\n }\r\n\r\n registerTrainee(traineees):Observable{\r\n return this.http.post(this.url.registerTrainee(), traineees);\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TrainerPaymentApprovalService {\r\n\r\n constructor(private http: HttpClient, private url: UrlFormationService) { }\r\n\r\n getBlockLevelTrainings(): Observable {\r\n return (this.http.get(this.url.getBlockLevelTrainings()));\r\n }\r\n\r\n approveTrainerPayment(data): Observable {\r\n return (this.http.post(this.url.approveTrainerPayment(), data));\r\n }\r\n\r\n getBatchDetails(trainingId, areaId): Observable {\r\n return (this.http.get(this.url.getBatchDetails() + \"/\" + trainingId + \"/\" + areaId));\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TrainingAssessmentService {\r\n\r\n constructor(private url: UrlFormationService, private http: HttpClient) { }\r\n\r\n getAllTrainingAssessment(): Observable {\r\n return this.http.get(this.url.getAllTrainingAssessment());\r\n }\r\n\r\n getDateStatusForAssmt(date:any):Observable {\r\n\r\n return this.http.get(this.url.getDateStatusForAssmt()+date);\r\n\r\n }\r\n\r\n\r\n saveTrainingAssessment(trainingAssmt:any):Observable{\r\n return this.http.post(this.url.saveTrainingAssessment(),trainingAssmt);\r\n }\r\n\r\n getTraineeByEmpCode(empId:any):Observable{\r\n return this.http.get(this.url.getTraineeByEmpCode()+\"/\"+empId);\r\n }\r\n\r\n\r\n getAssmtStatus(empCode : any):Observable{\r\n return this.http.get(this.url.getAssmtStatus()+\"/\"+empCode);\r\n }\r\n\r\n getAssessmentQuestions(trainingID : any, testType : any):Observable{\r\n return this.http.get(this.url.getAssessmentQuestions()+\"/\"+trainingID+\"/\"+testType);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TrainingMonitoringStatusHistoryService {\r\n\r\n constructor(private url: UrlFormationService, private http: HttpClient) { }\r\n\r\n getMonitoringStatusList(userId): Observable {\r\n return this.http.get(this.url.getMonitoringStatusList() + \"/\" + userId);\r\n }\r\n\r\n getMonitoringTrainerRating(batchId: any, date: any): Observable {\r\n return this.http.get(this.url.getMonitoringTrainerRating() + batchId + \"/\" + date);\r\n }\r\n\r\n getTrainerAttendance(trainerId: any, batchId: any, date: any, timeOFDay: any): Observable {\r\n return this.http.get(this.url.getTrainerAttendance() + trainerId + \"/\" + batchId + \"/\" + date + \"/\" + timeOFDay);\r\n }\r\n\r\n getBatchCheckListItemsVerification(batchId: any, employeeCode): Observable {\r\n return this.http.get(this.url.getBatchCheckListItemsVerification() + \"/\" + batchId + \"/\" + employeeCode);\r\n }\r\n\r\n saveBatchCheckListItemsVerification(batchId, checkList): Observable {\r\n return this.http.post(this.url.saveBatchCheckListItemsVerification(), checkList);\r\n }\r\n\r\n getMonitoringStatusHistoryForCheckList(batchId, date): Observable {\r\n return this.http.get(this.url.getMonitoringStatusHistoryForCheckList() + \"/\" + batchId + \"/\" + date);\r\n }\r\n\r\n getMonitoringStatusHistoryForMonitoringQuestions(batchId, date): Observable {\r\n return this.http.get(this.url.getMonitoringStatusHistoryForMonitoringQuestions() + \"/\" + batchId + \"/\" + date);\r\n }\r\n\r\n getMonitoringCommentForHistory(batchCode, date): Observable {\r\n return this.http.get(this.url.getMonitoringCommentForHistory() + \"/\" + batchCode + \"/\" + date);\r\n }\r\n\r\n getMonitoringPhotosForHistory(batchCode, date): Observable {\r\n return this.http.get(this.url.getMonitoringPhotosForHistory() + \"/\" + batchCode + \"/\" + date);\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../shared/services/url-formation.service';\r\nimport { FileDTO } from '../model/file-dto.model';\r\nimport { Quiz } from '../model/quiz';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TrainingService {\r\n\r\n constructor(private http: HttpClient, private url: UrlFormationService) { }\r\n\r\n getTrainingsByLevel(id): Observable {\r\n return this.http.get(this.url.getTrainingsByLevel() + id);\r\n }\r\n\r\n getTraineeAttendanceForF2F(batchId, date, session): Observable {\r\n return this.http.get(this.url.getTraineeAttendanceForF2F() + batchId + \"/\" + date + \"/\" + session);\r\n }\r\n\r\n getTraineeTestStatus(batchId): Observable {\r\n return this.http.get(this.url.getTraineeTestStatus() + batchId);\r\n }\r\n\r\n getTraineeTestScore(batchId): Observable {\r\n return this.http.get(this.url.getTraineeTestScore() + batchId);\r\n }\r\n\r\n saveTraining(quiz: Quiz): Observable {\r\n return this.http.post(this.url.saveUpdateQuiz(), quiz);\r\n }\r\n\r\n saveQuestions(questions: any): Observable {\r\n return this.http.post(this.url.saveUpdateQuestion(), questions);\r\n }\r\n\r\n saveTrainingMaterial(fData: FormData, level: string, trainingAreaId): Observable {\r\n if (trainingAreaId && trainingAreaId != undefined && trainingAreaId != null) {\r\n return this.http.post(this.url.saveTrainingMaterial() + '/' + level + '/' + trainingAreaId, fData);\r\n } else {\r\n return this.http.post(this.url.saveTrainingMaterial() + '/' + level, fData);\r\n }\r\n }\r\n\r\n deleteQuestion(id: any) {\r\n return this.http.delete(this.url.deleteQuestion().concat(id));\r\n }\r\n\r\n getQuestionList(quizId, trainingId, day) {\r\n return this.http.get(this.url.getQuestions().concat(quizId + '/' + trainingId + '/' + day));\r\n }\r\n\r\n getQuizData(trainingId: any): Observable {\r\n return this.http.get(this.url.getQuizData().concat(trainingId));\r\n }\r\n deleteTrainingArea(id: any): Observable {\r\n return this.http.delete(this.url.deleteArea().concat(id));\r\n }\r\n\r\n saveCheckList(checkList: any): Observable {\r\n return this.http.post(this.url.saveCheckList(), checkList);\r\n }\r\n\r\n getTrainingMaterial(id: any): Observable {\r\n return this.http.get(this.url.getTrainingMaterial().concat(id));\r\n }\r\n\r\n deleteMaterial(id: any): Observable {\r\n return this.http.delete(this.url.deleteTrainingMaterial().concat(id));\r\n }\r\n\r\n getTrainingCheckList(id: any): Observable {\r\n return this.http.get(this.url.fetchTrainingCheckList() + id);\r\n }\r\n\r\n saveMonitoringQuestions(questions: any): Observable {\r\n return this.http.post(this.url.saveMonitoringQuestions(), questions);\r\n }\r\n\r\n readQrCode(fdata: FormData): Observable {\r\n return this.http.post(this.url.QRcodeReader(), fdata);\r\n }\r\n\r\n getMonitorQuestions(batchId: any, empCode: any): Observable {\r\n return this.http.get(this.url.getMonitorQuestions().concat(batchId).concat(\"/\").concat(empCode));\r\n }\r\n\r\n getTrainingMonitorQuestions(batchId: any): Observable {\r\n return this.http.get(this.url.getTrainingMonitorQuestions().concat(batchId));\r\n }\r\n\r\n\r\n getMonitorQuestionsByTraining(trainingId: any): Observable {\r\n return this.http.get(this.url.getMonitorQuestionsByTraining().concat(trainingId));\r\n }\r\n\r\n saveMonitorQuesVerification(monitorQuestion: any): Observable {\r\n return this.http.post(this.url.saveMonitorQuesVerification(), monitorQuestion);\r\n }\r\n\r\n\r\n\r\n saveMonitorPhotos(monitorPhotos: any, id: any): Observable {\r\n return this.http.post(this.url.saveMonitorPhotos().concat(id), monitorPhotos);\r\n }\r\n\r\n saveMonitorComments(monitorComments: any): Observable {\r\n return this.http.post(this.url.saveMonitorComments(), monitorComments);\r\n }\r\n\r\n deleteCheckListItem(id: any): Observable {\r\n return this.http.delete(this.url.deleteCheckListItem().concat(id));\r\n }\r\n\r\n deleteCheckListMaster(id: any): Observable {\r\n return this.http.delete(this.url.deleteCheckListMaster().concat(id));\r\n }\r\n\r\n deleteMonitorQuestion(id: any): Observable {\r\n return this.http.delete(this.url.deleteMonitorQuestion().concat(id));\r\n }\r\n\r\n downloadTrainingMaterial(fileName): Observable {\r\n return this.http.get(this.url.downloadMaterialDoc().concat(\"/\" + fileName), { responseType: 'blob' });\r\n }\r\n\r\n\r\n getMonitorQuestionsMaster(): Observable {\r\n return this.http.get(this.url.getMonitorQuestionsMaster());\r\n }\r\n\r\n getMonitorQuestionsMasterByTrainingId(trainingId: any): Observable {\r\n return this.http.get(this.url.getMonitorQuestionsMasterByTrainingId() + trainingId);\r\n }\r\n\r\n saveTrainingMonitorQuestions(saveTrainingMonitorQuestions): Observable {\r\n return this.http.post(this.url.saveTrainingMonitorQuestions(), saveTrainingMonitorQuestions);\r\n }\r\n\r\n getAllCheckListMaster(): Observable {\r\n return this.http.get(this.url.getAllCheckListMaster());\r\n }\r\n\r\n getAllCheckListItemsByCheckListMasterId(id): Observable {\r\n return this.http.get(this.url.getAllCheckListMaster() + \"/\" + id);\r\n }\r\n\r\n saveTrainingCheckList(saveTrainingCheckList): Observable {\r\n return this.http.post(this.url.saveTrainingCheckList(), saveTrainingCheckList);\r\n }\r\n\r\n getTrainingCheckListByTrainingId(id): Observable {\r\n return this.http.get(this.url.getTrainingCheckListByTrainingId() + id);\r\n }\r\n\r\n getMonitoringQuestionByTrainingId(trainingId): Observable {\r\n return this.http.get(this.url.getMonitoringQuestionByTrainingId() + trainingId);\r\n }\r\n\r\n uploadLetter(uploadLetter): Observable {\r\n return this.http.post(this.url.uploadLetter(), uploadLetter);\r\n }\r\n\r\n getLetter(trainingCode): Observable {\r\n return this.http.get(this.url.getLetter() + trainingCode);\r\n }\r\n\r\n downloadLetter(fileName): Observable {\r\n return this.http.get(this.url.downloadLetter() + fileName, { responseType: 'blob' });\r\n }\r\n\r\n deleteLetter(letterId): Observable {\r\n return this.http.delete(this.url.deleteLetter() + letterId);\r\n }\r\n\r\n getTrainingMappedCheckList(batchCode): Observable {\r\n return this.http.get(this.url.getTrainingMappedCheckList() + batchCode);\r\n }\r\n\r\n saveVerifyCheckList(verifyChekist): Observable {\r\n return this.http.post(this.url.saveVerifyCheckList(), verifyChekist);\r\n }\r\n\r\n deleteTraining(trainingId: any): Observable {\r\n return this.http.delete(this.url.deleteTraining().concat(trainingId));\r\n }\r\n\r\n GetMonitoringCommentP(batchID, empCode): Observable {\r\n return this.http.get(this.url.GetMonitoringCommentP() + batchID + \"/filter/\" + empCode);\r\n }\r\n\r\n\r\n GetMonitoringPhotosP(batchID, empCode): Observable {\r\n return this.http.get(this.url.GetMonitoringPhotosP() + batchID + \"/filter/\" + empCode);\r\n }\r\n\r\n GetCheckListInBatch(ids): Observable {\r\n return this.http.post(this.url.GetCheckListInBatch(), ids);\r\n }\r\n\r\n getTrainingList(areaId): Observable {\r\n return this.http.get(this.url.getTrainingAreaWise() + areaId);\r\n }\r\n\r\n getTrainingReport(levelId: any, trainingId: any): Observable {\r\n return this.http.get(this.url.getTrainingReport() + levelId + \"/\" + trainingId);\r\n }\r\n\r\n getBatchFromLoggedInRoleArea(trainingId: any,\r\n roleArea: any): Observable {\r\n return this.http.post(this.url.getBatchFromLoggedInRoleArea() + \"/\" + trainingId, roleArea)\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthService } from '../shared/services/auth.service';\r\nimport { GroupComponent } from '../training/component/training master/group/group.component';\r\nimport { SubGroupComponent } from '../training/component/training master/sub-group/sub-group.component';\r\nimport { AttendanceComponent } from './component/attendance/attendance.component';\r\nimport { FormInitiateTrainingComponent } from './component/form-initiate-training/form-initiate-training.component';\r\nimport { GenerateQRCodeComponent } from './component/generate-qrcode/generate-qrcode.component';\r\nimport { InitiateTrainingComponent } from './component/initiate-training/initiate-training.component';\r\nimport { LaunchTrainingComponent } from './component/launch-training/launch-training.component';\r\nimport { TrainingComponent } from './component/training master/training/training.component';\r\nimport { TrainingAssessmentComponent } from './component/training-assessment/training-assessment.component';\r\nimport { TrainingTestComponent } from './component/training-assessment/training-test/training-test.component';\r\nimport { TrainingConfigurationComponent } from './component/training-configuration/training-configuration.component';\r\nimport { TrainingMonitorComponent } from './component/training-monitor/training-monitor.component';\r\nimport { TrainingDashboardComponent } from './component/training-dashboard/training-dashboard.component';\r\nimport { ReportComponent } from './component/report/report/report.component';\r\nimport { AttendanceReportComponent } from './component/report/attendance-report/attendance-report.component';\r\nimport { PrePostReportComponent } from './component/report/pre-post-report/pre-post-report.component';\r\nimport { TrainingReadinessComponent } from './component/report/training-readiness/training-readiness.component';\r\nimport { PrePostStatusReportComponent } from './component/report/pre-post-status-report/pre-post-status-report.component';\r\nimport { TrainingMonitoringStatusComponent } from './component/training-monitoring-status/training-monitoring-status.component';\r\nimport { MonitoringStatusFormComponent } from './component/training-monitoring-status/monitoring-status-form/monitoring-status-form.component';\r\nimport { SessionExpiredComponent } from 'src/app/views/pages/session-expired/session-expired.component';\r\nimport { ActiveTrainingsComponent } from './component/my-trainings/active-trainings/active-trainings.component';\r\nimport { CompletedTrainingsComponent } from './component/my-trainings/completed-trainings/completed-trainings.component';\r\nimport { MyTrainingsAttendanceComponent } from './component/my-trainings/training-details/my-trainings-attendance/my-trainings-attendance.component';\r\nimport { MyTrainingAssessmentComponent } from './component/my-trainings/training-details/my-training-assessment/my-training-assessment.component';\r\nimport { MyTrainingsMaterialComponent } from './component/my-trainings/training-details/my-trainings-material/my-trainings-material.component';\r\nimport { MyTrainingsRaiseTicketComponent } from './component/my-trainings/training-details/my-trainings-raise-ticket/my-trainings-raise-ticket.component';\r\nimport { PaymentConfigurationComponent } from './component/payment-configuration/payment-configuration.component';\r\nimport { TraineeRegistrationComponent } from './component/trainee-registration/trainee-registration.component';\r\nimport { BatchesComponent } from './component/trainee-registration/batches/batches.component';\r\nimport { CertificatesComponent } from './component/my-trainings/training-details/certificates/certificates.component';\r\nimport { GenerateRelievingCertificateComponent } from './component/generate-relieving-certificate/generate-relieving-certificate.component';\r\nimport { F2fAttendanceReportComponent } from './component/report/f2f-attendance-report/f2f-attendance-report.component';\r\nimport { F2fPrePostReportComponent } from './component/report/f2f-pre-post-report/f2f-pre-post-report.component';\r\nimport { F2fScorePrePostComponent } from './component/report/f2f-score-pre-post/f2f-score-pre-post.component';\r\nimport { ReportTrainingSummaryComponent } from './component/report-training-summary/report-training-summary.component';\r\nimport { MyProfileComponent } from './component/my-trainings/my-profile/my-profile.component';\r\nimport { NewTrainingAssessmentComponent } from './component/new-training-assessment/new-training-assessment.component';\r\nimport { NewTrainingTestComponent } from './component/new-training-assessment/new-training-test/new-training-test.component';\r\nimport { PaymentStatusComponent } from './component/payment-status/payment-status.component';\r\nimport { TestComponent } from './component/test/test.component';\r\nimport { TrainerPaymentApprovalComponent } from './component/trainer-payment-approval/trainer-payment-approval.component';\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'group',\r\n component: GroupComponent,\r\n data: { title: 'Training > F2F Training > Training Master > Training Group' },\r\n },\r\n {\r\n path: 'subGroup',\r\n component: SubGroupComponent,\r\n data: { title: 'Training > F2F Training > Training Master > Training Sub-Group' },\r\n },\r\n\r\n {\r\n path: 'trainingMaster',\r\n component: TrainingComponent,\r\n data: { title: 'Training > F2F Training > Training Master > Training' },\r\n // canActivate: [AuthService]\r\n },\r\n {\r\n path: 'trainingConfiguration',\r\n component: TrainingConfigurationComponent,\r\n data: { title: 'Training > F2F Training > Training Configuration' }\r\n },\r\n\r\n {\r\n path: 'initiateTraining',\r\n component: InitiateTrainingComponent,\r\n data: { title: 'Training > F2F Training > Initiate Training' },\r\n // canActivate: [AuthService]\r\n }\r\n\r\n ,\r\n {\r\n path: 'initiateTrainingForm',\r\n component: FormInitiateTrainingComponent,\r\n data: { title: 'Training > F2F Training > Initiate Training' }\r\n },\r\n\r\n {\r\n\r\n path: 'launchTraining',\r\n component: LaunchTrainingComponent,\r\n data: { title: 'Training > F2F Training > Launch Training' },\r\n // canActivate: [AuthService]\r\n },\r\n {\r\n path: 'trainingDashboard',\r\n component: TrainingDashboardComponent,\r\n data: { title: 'Training > F2F Training > Training Dashboard' },\r\n // canActivate: [AuthService]\r\n },\r\n\r\n {\r\n path: 'attendance',\r\n component: AttendanceComponent,\r\n data: { title: 'Training > F2F Training > Attendance' },\r\n // canActivate: [AuthService]\r\n },\r\n {\r\n path: 'code',\r\n component: GenerateQRCodeComponent,\r\n data: { title: 'Training > F2F Training > Generate QR Code' },\r\n // canActivate: [AuthService]\r\n },\r\n {\r\n path: 'trainingMonitor',\r\n component: TrainingMonitorComponent,\r\n data: { title: 'Training > F2F Training > Monitor' },\r\n // canActivate: [AuthService]\r\n },\r\n\r\n {\r\n path: 'trainingMonitorStatus',\r\n component: TrainingMonitoringStatusComponent,\r\n data: { title: 'Training > F2F Training > Monitoring Status' },\r\n },\r\n\r\n {\r\n path: 'MonitoringStatus',\r\n component: MonitoringStatusFormComponent,\r\n data: { title: 'Training > F2F Training > Monitoring Status' },\r\n },\r\n {\r\n path: 'trainingAssmt',\r\n component: NewTrainingAssessmentComponent,\r\n //component: TrainingAssessmentComponent,\r\n data: { title: 'Training > F2F Training > Training Test' },\r\n // canActivate: [AuthService]\r\n },\r\n {\r\n path: 'TestAssessment/edit_assessment',\r\n component: NewTrainingTestComponent,\r\n data: { title: 'Training > F2F Training > Training Test' }\r\n },\r\n\r\n {\r\n path: 'Reports/Assessment',\r\n component: ReportComponent,\r\n data: { title: 'Reports > Assessment Report' },\r\n },\r\n {\r\n path: 'Reports/AttendanceReport',\r\n component: AttendanceReportComponent,\r\n data: { title: 'Reports > Attendance Report' },\r\n },\r\n {\r\n path: 'Reports/PrePostAssessmentReport',\r\n component: PrePostReportComponent,\r\n data: { title: 'Reports > Pre-Post Report' },\r\n },\r\n\r\n\r\n {\r\n path: 'Reports/TrainingAssessmentReport',\r\n component: TrainingReadinessComponent,\r\n data: { title: 'Reports > Training Rediness' },\r\n },\r\n {\r\n path: 'Reports/PrePostStatusReport',\r\n component: PrePostStatusReportComponent,\r\n data: { title: 'Reports > PrePost Status Report' },\r\n },\r\n {\r\n\r\n path: 'F2FReport',\r\n component: F2fAttendanceReportComponent,\r\n data: { title: 'Reports > F2F Attendance Report' },\r\n\r\n },\r\n {\r\n path: 'Reports/F2FAttendanceReport',\r\n component: F2fAttendanceReportComponent,\r\n data: { title: 'Reports > F2F Attendance Report' },\r\n },\r\n {\r\n path: 'Reports/F2FPrePostReport',\r\n component: F2fPrePostReportComponent,\r\n data: { title: 'Reports > F2F Pre Post Report' },\r\n },\r\n {\r\n path: 'Reports/F2FPrePostScoreReport',\r\n component: F2fScorePrePostComponent,\r\n data: { title: 'Reports > F2F Pre Post Score Report' },\r\n },\r\n {\r\n path: 'TrainingSummaryReport',\r\n component: ReportTrainingSummaryComponent,\r\n data: { title: 'Reports > Training Summary Report' },\r\n },\r\n {\r\n path: 'session',\r\n component: SessionExpiredComponent\r\n },\r\n\r\n {\r\n path: 'myTrainings',\r\n component: ActiveTrainingsComponent,\r\n data: { title: 'Training > F2F Training > Active Trainings' }\r\n },\r\n\r\n {\r\n path: 'activeTraining',\r\n component: ActiveTrainingsComponent,\r\n data: { title: 'Training > F2F Training > Active Trainings' }\r\n },\r\n\r\n {\r\n path: 'completedTraining',\r\n component: CompletedTrainingsComponent,\r\n data: { title: 'Training > F2F Training > Completed Trainings' }\r\n },\r\n {\r\n path: 'myProfile',\r\n component: MyProfileComponent,\r\n data: { title: 'Training > F2F Training > My Profile' }\r\n },\r\n {\r\n path: 'myTrainingsAttendance',\r\n component: MyTrainingsAttendanceComponent,\r\n data: { title: 'Training > F2F Training > Active/Completed Trainings > Attendance' }\r\n },\r\n\r\n {\r\n path: 'myTrainingsAssessment',\r\n component: MyTrainingAssessmentComponent,\r\n data: { title: 'Training > F2F Training > Active/Completed Trainings > Assessment' }\r\n },\r\n {\r\n path: 'myTrainingsMaterial',\r\n component: MyTrainingsMaterialComponent,\r\n data: { title: 'Training > F2F Training > Active/Completed Trainings > Training Material' }\r\n },\r\n {\r\n path: 'myTrainingsRaiseTicket',\r\n component: MyTrainingsRaiseTicketComponent,\r\n data: { title: 'Training > F2F Training > Active/Completed Trainings > Raise Ticket' }\r\n },\r\n {\r\n path: 'PaymentConfiguration',\r\n component: PaymentConfigurationComponent,\r\n data: { title: 'Training > F2F Training > Payment Configuration' }\r\n },\r\n {\r\n path: 'PaymentStatus',\r\n component: PaymentStatusComponent,\r\n data: { title: 'Training > F2F Training > Payment Status' }\r\n },\r\n {\r\n path: 'TraineeRegistration',\r\n component: TraineeRegistrationComponent,\r\n data: { title: 'Training > F2F Training >Trainee Registration' }\r\n },\r\n {\r\n path: 'batches',\r\n component: BatchesComponent,\r\n data: { title: 'Training > F2F Training >Trainee Registration' }\r\n },\r\n {\r\n path: 'certificates',\r\n component: CertificatesComponent,\r\n data: { title: 'Training > F2F Training > Active/Completed Trainings > Certificates' }\r\n\r\n },\r\n {\r\n path: 'generateRelievingCertificates',\r\n component: GenerateRelievingCertificateComponent,\r\n data: { title: 'Training > F2F Training > Generate Relieving Certificate' }\r\n },\r\n {\r\n path: 'trainerPaymentApproval',\r\n component: TrainerPaymentApprovalComponent,\r\n data: { title: 'Training > F2F Training > Trainer Payment Approval' }\r\n },\r\n\r\n {\r\n path: 'test',\r\n component: TestComponent\r\n }\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n\r\n exports: [RouterModule]\r\n})\r\nexport class TrainingRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport {NgMultiSelectDropDownModule} from 'ng-multiselect-dropdown';\r\nimport { TrainingRoutingModule } from './training-routing.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { GroupComponent } from '../training/component/training master/group/group.component';\r\nimport { SubGroupComponent } from '../training/component/training master/sub-group/sub-group.component';\r\nimport { TrainingComponent } from '../training/component/training master/training/training.component';\r\nimport { AddGroupComponent } from '../training/component/training master/group/add-group/add-group.component';\r\n\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\n\r\nimport { AddSubGroupComponent } from '../training/component/training master/sub-group/add-sub-group/add-sub-group.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { TrainingConfigurationComponent } from './component/training-configuration/training-configuration.component';\r\nimport {AddTrainingComponent} from './component/training master/training/add-training/add-training.component'\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { InitiateTrainingComponent } from './component/initiate-training/initiate-training.component';\r\nimport { FormInitiateTrainingComponent } from './component/form-initiate-training/form-initiate-training.component';\r\nimport { LaunchTrainingComponent } from './component/launch-training/launch-training.component';\r\nimport { AttendanceComponent } from './component/attendance/attendance.component';\r\nimport { GenerateQRCodeComponent } from './component/generate-qrcode/generate-qrcode.component';\r\nimport { LaunchPopUpComponent } from './component/launch-training/launch-pop-up/launch-pop-up.component';\r\nimport { RemarkPopUpComponent } from './component/attendance/remark-pop-up/remark-pop-up.component';\r\nimport { TrainingMonitorComponent } from './component/training-monitor/training-monitor.component';\r\nimport { TrainingAssessmentComponent } from './component/training-assessment/training-assessment.component';\r\nimport { TrainingTestComponent } from './component/training-assessment/training-test/training-test.component';\r\nimport { TrainingDashboardComponent } from './component/training-dashboard/training-dashboard.component';\r\n//import { AddCoordinatorComponent } from './component/launch-training/add-coordinator/add-coordinator.component';\r\n\r\n\r\nimport { AttendanceReportComponent } from './component/report/attendance-report/attendance-report.component';\r\nimport { PrePostReportComponent } from './component/report/pre-post-report/pre-post-report.component';\r\nimport { TrainingReadinessComponent } from './component/report/training-readiness/training-readiness.component';\r\nimport { PrePostStatusReportComponent } from './component/report/pre-post-status-report/pre-post-status-report.component';\r\nimport { ReportComponent } from './component/report/report/report.component';\r\nimport { PopUpGridComponent } from './component/report/pop-up-grid/pop-up-grid.component';\r\nimport { TrainingMonitoringStatusComponent } from './component/training-monitoring-status/training-monitoring-status.component';\r\nimport { MonitoringStatusFormComponent } from './component/training-monitoring-status/monitoring-status-form/monitoring-status-form.component';\r\nimport { ActiveTrainingsComponent } from './component/my-trainings/active-trainings/active-trainings.component';\r\nimport { CompletedTrainingsComponent } from './component/my-trainings/completed-trainings/completed-trainings.component';\r\nimport { MyTrainingAssessmentComponent } from './component/my-trainings/training-details/my-training-assessment/my-training-assessment.component';\r\nimport { MyTrainingsAttendanceComponent } from './component/my-trainings/training-details/my-trainings-attendance/my-trainings-attendance.component';\r\nimport { MyTrainingsRaiseTicketComponent } from './component/my-trainings/training-details/my-trainings-raise-ticket/my-trainings-raise-ticket.component';\r\nimport { MyTrainingsMaterialComponent } from './component/my-trainings/training-details/my-trainings-material/my-trainings-material.component';\r\nimport { BadgeModule, CardModule, GridModule, TooltipModule } from '@coreui/angular';\r\nimport { DocsComponentsModule } from '@docs-components/docs-components.module';\r\nimport { PaymentConfigurationComponent } from './component/payment-configuration/payment-configuration.component';\r\nimport { TraineeRegistrationComponent } from './component/trainee-registration/trainee-registration.component';\r\nimport { BatchesComponent } from './component/trainee-registration/batches/batches.component';\r\nimport { PopUpTraineeRegistrationComponent } from './component/trainee-registration/batches/pop-up-trainee-registration/pop-up-trainee-registration.component';\r\nimport { CertificatesComponent } from './component/my-trainings/training-details/certificates/certificates.component';\r\nimport { GenerateRelievingCertificateComponent } from './component/generate-relieving-certificate/generate-relieving-certificate.component';\r\nimport { F2fAttendanceReportComponent } from './component/report/f2f-attendance-report/f2f-attendance-report.component';\r\nimport { F2fPrePostReportComponent } from './component/report/f2f-pre-post-report/f2f-pre-post-report.component';\r\nimport { F2fScorePrePostComponent } from './component/report/f2f-score-pre-post/f2f-score-pre-post.component';\r\nimport { ReportTrainingSummaryComponent } from './component/report-training-summary/report-training-summary.component';\r\nimport { MyProfileComponent } from './component/my-trainings/my-profile/my-profile.component';\r\nimport { NewTrainingAssessmentComponent } from './component/new-training-assessment/new-training-assessment.component';\r\nimport { NewTrainingTestComponent } from './component/new-training-assessment/new-training-test/new-training-test.component';\r\nimport { PaymentStatusComponent } from './component/payment-status/payment-status.component';\r\nimport { TestComponent } from './component/test/test.component';\r\nimport { TrainerPaymentApprovalComponent } from './component/trainer-payment-approval/trainer-payment-approval.component';\r\nimport { ViewTrainersComponent } from './component/trainer-payment-approval/view-trainers/view-trainers.component';\r\nimport {CommonLoaderModule} from '../common-loader/common-loader.module';\r\nimport { BaseModule } from 'src/app/views/base/base.module';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n \r\n GroupComponent,\r\n SubGroupComponent,\r\n TrainingComponent,\r\n AddGroupComponent,\r\n AddSubGroupComponent,\r\n AddTrainingComponent,\r\n TrainingConfigurationComponent,\r\n InitiateTrainingComponent,\r\n FormInitiateTrainingComponent,\r\n LaunchTrainingComponent,\r\n AttendanceComponent,\r\n GenerateQRCodeComponent,\r\n LaunchPopUpComponent,\r\n RemarkPopUpComponent,\r\n TrainingMonitorComponent,\r\n TrainingAssessmentComponent,\r\n TrainingTestComponent,\r\n TrainingDashboardComponent,\r\n\r\n\r\n ReportComponent,\r\n AttendanceReportComponent,\r\n PrePostReportComponent,\r\n TrainingReadinessComponent,\r\n PrePostStatusReportComponent,\r\n PopUpGridComponent,\r\n TrainingMonitoringStatusComponent,\r\n MonitoringStatusFormComponent,\r\n ActiveTrainingsComponent,\r\n CompletedTrainingsComponent,\r\n MyTrainingAssessmentComponent,\r\n MyTrainingsAttendanceComponent,\r\n MyTrainingsRaiseTicketComponent,\r\n MyTrainingsMaterialComponent,\r\n PaymentConfigurationComponent,\r\n TraineeRegistrationComponent,\r\n BatchesComponent,\r\n PopUpTraineeRegistrationComponent,\r\n CertificatesComponent,\r\n GenerateRelievingCertificateComponent,\r\n F2fAttendanceReportComponent,\r\n F2fPrePostReportComponent,\r\n F2fScorePrePostComponent,\r\n ReportTrainingSummaryComponent,\r\n MyProfileComponent,\r\n NewTrainingAssessmentComponent,\r\n NewTrainingTestComponent,\r\n PaymentStatusComponent,\r\n TestComponent,\r\n TrainerPaymentApprovalComponent,\r\n ViewTrainersComponent,\r\n\r\n \r\n \r\n ],\r\n imports: [\r\n CommonModule,DragDropModule,\r\n TrainingRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AgGridModule.withComponents([]),\r\n TranslateModule,\r\n ModalModule,\r\n NgSelectModule,\r\n NgMultiSelectDropDownModule.forRoot(),\r\n CommonModule,\r\n CardModule,\r\n GridModule,\r\n BadgeModule,\r\n DocsComponentsModule,\r\n CommonLoaderModule,\r\n TooltipModule\r\n ],\r\n exports : [\r\n AddGroupComponent,\r\n LaunchPopUpComponent\r\n ],\r\n providers:[\r\n DatePipe\r\n ]\r\n})\r\nexport class TrainingModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Html5Qrcode, Html5QrcodeScanner, Html5QrcodeSupportedFormats } from \"html5-qrcode\";\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { trigger, transition, style, animate } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-test',\r\n templateUrl: './test.component.html',\r\n styleUrls: ['./test.component.scss'],\r\n animations: [\r\n trigger('fadeIn', [\r\n transition(':enter', [\r\n style({ opacity: 0 }),\r\n animate('500ms', style({ opacity: 1 }))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class TestComponent implements OnInit {\r\n\r\n private html5QrCodeScanner: Html5QrcodeScanner;\r\n public qrResult: string = '';\r\n accordionItems = [];\r\n developers = [\r\n {\r\n name: 'Saurav Gawli',\r\n linkedin: 'https://www.linkedin.com/in/saurav-gawli-a8983a111/',\r\n icon: 'fa fa-code-fork',\r\n about: 'A tech wizard with 5+ years of experience, Saurav thrives on building robust full-stack solutions using Angular, Spring Boot, and AWS. A DevOps enthusiast, he’s got the magic touch when it comes to cloud and CI/CD pipelines. Always looking for the next challenge!',\r\n },\r\n {\r\n name: 'Ayushi Gajpal',\r\n icon: 'fa fa-free-code-camp',\r\n linkedin: 'https://www.linkedin.com/in/ayushigajpal/',\r\n about: 'Creative and driven, Ayushi is a full-stack developer and a frontend fanatic with a passion for JavaScript and Angular. She’s always experimenting with the latest trends in UI to build sleek, user-friendly interfaces. Her motto? Code, create, and make the web a prettier place!',\r\n },\r\n {\r\n name: 'Samarth Trivedi',\r\n icon: 'fa fa-codiepie',\r\n linkedin: 'https://www.linkedin.com/in/samarth-trivedi-35909915a/',\r\n about: 'The strategist of the group, Samarth excels at blending business insights with tech-savvy solutions. From streamlining client operations to redefining project goals, he’s always in sync with the bigger picture. Oh, and did we mention his SQL superpowers?',\r\n }\r\n ];\r\n isVisible: any;\r\n \r\n \r\n \r\n \r\n constructor() {\r\n this.accordionItems = [\r\n { header: 'Accordion Item #1', content: 'This is the first item\\'s content.', isExpanded: false },\r\n { header: 'Accordion Item #2', content: 'This is the second item\\'s content.', isExpanded: false },\r\n { header: 'Accordion Item #3', content: 'This is the third item\\'s content.', isExpanded: false }\r\n ];\r\n\r\n \r\n }\r\n toggleVisibility() {\r\n this.isVisible = !this.isVisible; // toggle visibility\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.initializeScanner();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.html5QrCodeScanner) {\r\n this.html5QrCodeScanner.clear();\r\n }\r\n }\r\n\r\n toggleAccordion(index: number) {\r\n this.accordionItems[index].isExpanded = !this.accordionItems[index].isExpanded;\r\n }\r\n\r\n initializeScanner(): void {\r\n const config = { fps: 10, qrbox: { width: 250, height: 250 } };\r\n const verbose = false;\r\n this.html5QrCodeScanner = new Html5QrcodeScanner(\r\n \"reader\", config, verbose\r\n );\r\n\r\n this.html5QrCodeScanner.render(\r\n this.onScanSuccess.bind(this),\r\n this.onScanFailure.bind(this)\r\n );\r\n }\r\n\r\n onScanSuccess(decodedText: string, decodedResult: any) {\r\n console.log(`Scan result: ${decodedText}`, decodedResult);\r\n this.qrResult = decodedText;\r\n this.html5QrCodeScanner.clear();\r\n }\r\n\r\n onScanFailure(error: any) {\r\n console.warn(`Scan failed: ${error}`);\r\n }\r\n\r\n}\r\n\r\n\r\n","// three-d-scene.component.ts\nimport { Component, OnInit, ElementRef } from '@angular/core';\nimport * as THREE from 'three';\n\n@Component({\n selector: 'app-three-d-scene',\n template: `
`,\n styles: ['.scene-container { width: 100%; height: 400px; position: relative; overflow: hidden; }']\n})\nexport class ThreeDSceneComponent implements OnInit {\n private scene!: THREE.Scene;\n private camera!: THREE.PerspectiveCamera;\n private renderer!: THREE.WebGLRenderer;\n\n constructor(private el: ElementRef) {}\n\n ngOnInit() {\n this.init3DScene();\n this.createBackground();\n this.addFloatingShapes();\n this.animate();\n }\n\n init3DScene() {\n this.scene = new THREE.Scene();\n this.camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);\n this.renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true });\n this.renderer.setSize(window.innerWidth, window.innerHeight);\n this.el.nativeElement.querySelector('.scene-container').appendChild(this.renderer.domElement);\n \n this.camera.position.z = 5;\n this.scene.background = new THREE.Color(0x2c3e50); // Dark background\n }\n\n createBackground() {\n const planeGeometry = new THREE.PlaneGeometry(100, 100);\n const planeMaterial = new THREE.MeshBasicMaterial({ color: 0x34495e, side: THREE.DoubleSide });\n const plane = new THREE.Mesh(planeGeometry, planeMaterial);\n plane.rotation.x = Math.PI / 2; // Rotate to make it horizontal\n this.scene.add(plane);\n }\n\n addFloatingShapes() {\n const geometry = new THREE.TorusGeometry(0.4, 0.1, 16, 100);\n const material = new THREE.MeshBasicMaterial({ color: 0xe67e22 });\n\n for (let i = 0; i < 10; i++) {\n const torus = new THREE.Mesh(geometry, material);\n torus.position.x = Math.random() * 10 - 5; // Random x position\n torus.position.y = Math.random() * 10 - 5; // Random y position\n torus.position.z = Math.random() * -10; // Random z position\n torus.rotation.x = Math.random() * Math.PI; // Random rotation\n torus.rotation.y = Math.random() * Math.PI; // Random rotation\n this.scene.add(torus);\n }\n }\n\n animate() {\n requestAnimationFrame(() => this.animate());\n this.scene.children.forEach((child) => {\n if (child instanceof THREE.Mesh) {\n child.rotation.x += 0.01;\n child.rotation.y += 0.01;\n }\n });\n\n this.renderer.render(this.scene, this.camera);\n }\n}\n","import {\r\n HttpErrorResponse,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { catchError, map, mergeMap, Observable, of, retryWhen, tap } from 'rxjs';\r\n\r\nimport { ClientSideStorageService } from '../app/layouts/shared/services/client-side-storage.service';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n localRegistrationPath=\"http://localhost:4200/#/registration\";\r\n path = window.location.href;\r\n javaToken:any\r\n constructor(\r\n private cStorage: ClientSideStorageService,\r\n private route: Router,\r\n ) {\r\n \r\n }\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n const loginStatus = JSON.parse(this.cStorage.get('user'));\r\n let Token = JSON.parse(this.cStorage.get('JavaToken'));\r\n if(Token!=null || Token!=undefined){\r\n this.javaToken= Token.data[0];\r\n }\r\n if (loginStatus != undefined) {\r\n const _token = loginStatus.token;\r\n if(req.url.substring(19,25) == \"155:81\"){\r\n const privateReq = req.clone({\r\n headers: req.headers.set(\"Authorization\", \"Bearer \".concat(_token)),\r\n });\r\n return next.handle(privateReq).pipe(\r\n tap(res=> {\r\n if (res instanceof HttpResponse) { \r\n }\r\n }, error => {\r\n // http response status code\r\n if(error.status ===401){\r\n this.logout();\r\n this.route.navigate(['./401']);\r\n }\r\n }));\r\n }\r\n else if(req.url.substring(19,25) == \"145:81\"){\r\n const privateReq = req.clone({\r\n headers: req.headers.set(\"Authorization\", \"Bearer \".concat(_token)),\r\n });\r\n return next.handle(privateReq).pipe(\r\n tap(res=> {\r\n if (res instanceof HttpResponse) { \r\n }\r\n }, error => {\r\n // http response status code\r\n if(error.status ===401){\r\n this.logout();\r\n this.route.navigate(['./401']);\r\n }\r\n }));;\r\n }\r\n // Development backend server api....\r\n else if(req.url.substring(16,24) == \"154:8080\"){\r\n const privateReq = req.clone({\r\n headers: req.headers.set(\"Authorization\", \"Bearer \".concat(this.javaToken)),\r\n });\r\n return next.handle(privateReq).pipe(\r\n tap(res=> {\r\n if (res instanceof HttpResponse) { \r\n }\r\n }, error => {\r\n // http response status code\r\n if(error.status ===401){\r\n this.logout();\r\n this.route.navigate(['./401']);\r\n }\r\n }));;\r\n }\r\n else if(req.url==='http://localhost:8091/limnApi/users/login'){\r\n return next.handle(req).pipe(\r\n tap(res=> {\r\n if (res instanceof HttpResponse) { \r\n }\r\n }, error => {\r\n // http response status code\r\n if(error.status ===401){\r\n this.logout();\r\n this.route.navigate(['./401']);\r\n }\r\n }));\r\n }\r\n else if(req.url==='http://localhost:8091/limnApi/healthcheck'){\r\n const privateReq = req.clone({\r\n headers: req.headers.set(\"Authorization\", \"Bearer \".concat('eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkBuZXRsaW5rLmNvbSIsImlhdCI6MTcyOTA1Nzc5NSwiZXhwIjoxNzI5MDcyMTk1fQ.4WQlz3WiB6HIey0FovAUq8TDkt3Twx7Ya1bo4r95DXaRRpsakLdzhgp4Rm5OP-3m5fn07gOoXkE7JuyTM-pxWg')),\r\n });\r\n return next.handle(privateReq).pipe(\r\n tap(res=> {\r\n if (res instanceof HttpResponse) { \r\n }\r\n }, error => {\r\n // http response status code\r\n if(error.status ===401){\r\n this.logout();\r\n this.route.navigate(['./401']);\r\n }\r\n }));\r\n }\r\n else\r\n {\r\n const javaReq=req.clone({\r\n headers: req.headers.set(\"Authorization\", \"Bearer \".concat(this.javaToken)),\r\n });\r\n return next.handle(javaReq).pipe(\r\n tap(res=> {\r\n if (res instanceof HttpResponse) { \r\n }\r\n }, error => {\r\n // http response status code\r\n if(error.status ===401){\r\n this.logout();\r\n this.route.navigate(['./401']);\r\n }\r\n }));\r\n }\r\n }\r\n else if(this.path=== this.localRegistrationPath || this.path=== this.localRegistrationPath)\r\n {\r\n const _token = loginStatus.token;\r\n if(req.url.substring(7,8) == \"1\"){\r\n const privateReq = req.clone({\r\n headers: req.headers.set(\"Authorization\", \"Bearer \".concat(_token)),\r\n });\r\n return next.handle(privateReq).pipe(\r\n tap(res=> {\r\n if (res instanceof HttpResponse) { \r\n }\r\n }, error => {\r\n // http response status code\r\n if(error.status ===401){\r\n this.logout();\r\n this.route.navigate(['./401']);\r\n }\r\n }));;\r\n }else\r\n {\r\n const javaReq=req.clone({\r\n headers: req.headers.set(\"Authorization\", \"Bearer \".concat(this.javaToken)),\r\n });\r\n return next.handle(javaReq).pipe(\r\n tap(res=> {\r\n if (res instanceof HttpResponse) { \r\n }\r\n }, error => {\r\n // http response status code\r\n if(error.status ===401){\r\n this.logout();\r\n this.route.navigate(['./401']);\r\n }\r\n }));\r\n }\r\n \r\n } else {\r\n // this.route.navigate(['./401']);\r\n return next.handle(req).pipe(\r\n tap(res=> {\r\n if (res instanceof HttpResponse) { \r\n }\r\n }, error => {\r\n // http response status code\r\n if(error.status ===401){\r\n this.logout();\r\n this.route.navigate(['./401']);\r\n }\r\n }));\r\n }\r\n \r\n }\r\n logout() {\r\n this.cStorage.clear();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-ag-grid',\r\n templateUrl: './ag-grid.component.html',\r\n styleUrls: ['./ag-grid.component.scss'],\r\n})\r\nexport class AgGridComponent implements OnInit {\r\n \r\n columnDefs = [\r\n {\r\n headerName:\"Date\",\r\n field: 'date',\r\n sortable:true,\r\n filter:true,\r\n },\r\n { \r\n headerName:\"Country\",\r\n field: 'country',\r\n sortable:true,\r\n filter:true\r\n },\r\n { \r\n headerName:\"Price\",\r\n field: 'price',\r\n sortable:true,\r\n },\r\n { \r\n headerName:\"Change\",\r\n field: 'change',\r\n sortable:true,\r\n },\r\n { \r\n headerName:\"Product\",\r\n field: 'product',\r\n sortable:true,\r\n \r\n }\r\n];\r\n\r\nrowData = [\r\n { \r\n date: 'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Saepe animi beatae molestias temporibus veritatis ipsum quo at incidunt illo maxime sit harum, ut doloribus voluptatibus quae explicabo accusantium voluptate quibusdam!', \r\n country: 'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Saepe animi beatae molestias temporibus veritatis ipsum quo at incidunt illo maxime sit harum, ut doloribus voluptatibus quae explicabo accusantium voluptate quibusdam!', \r\n price: 5276.35,\r\n change : 'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Saepe animi beatae molestias temporibus veritatis ipsum quo at incidunt illo maxime sit harum, ut doloribus voluptatibus quae explicabo accusantium voluptate quibusdam!',\r\n product : 'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Saepe animi beatae molestias temporibus veritatis ipsum quo at incidunt illo maxime sit harum, ut doloribus voluptatibus quae explicabo accusantium voluptate quibusdam!'\r\n },\r\n { \r\n date: '01/25/2022',\r\n country: 'France',\r\n price: 5276.35 ,\r\n change : '$11.64',\r\n product : 'Gadget'},\r\n { \r\n date: '01/25/2022',\r\n country: 'India',\r\n price: 5276.35,\r\n change : '$11.64',\r\n product : 'Gadget'\r\n },\r\n { \r\n date: '01/25/2022', \r\n country: 'Japan', \r\n price: 5276.35,\r\n change : '$11.64',\r\n product : 'Gadget'\r\n },\r\n { \r\n date: '01/25/2022',\r\n country: 'Greece',\r\n price: 5276.35,\r\n change : '$11.64',\r\n product : 'Gadget'},\r\n { \r\n date: '01/25/2022',\r\n country: 'France',\r\n price: 5276.35,\r\n change : '$11.64',\r\n product : 'Gadget'\r\n }\r\n];\r\n\r\n\r\n constructor(private translate: TranslateService) {\r\n \r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","\r\n
\r\n \r\n \r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Training } from 'src/app/layouts/training/model/training';\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styleUrls: ['./forgot-password.component.scss']\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n\r\n @Input() id: any;\r\n changevar: string;\r\n @Output() changeIndicator = new EventEmitter();\r\n @Output() dataLoaded = new EventEmitter();\r\n @Input() allGroupFromParent: [] = [];\r\n form: FormGroup;\r\n constructor(private fb: FormBuilder) { }\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n }\r\n\r\n\r\n createForm() {\r\n this.form = this.fb.group({\r\n mobileNumber: [null, [Validators.required, Validators.maxLength(10)]]\r\n })\r\n }\r\n\r\n sendSMS() {\r\n\r\n }\r\n\r\n close() {\r\n this.changevar = \"cancel\";\r\n this.changeIndicator.emit(this.changevar);\r\n }\r\n\r\n}\r\n","
\r\n\r\n
\r\n
\r\n
Send SMS
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57)\"\r\n maxlength=\"10\">\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
","import { Component, HostListener, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgToastService } from 'ng-angular-popup';\r\nimport { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Constantss } from 'src/utils/constantss';\r\n// import { ClientSideStorageService } from 'src/app/layouts/shared/services/client-side-storage.service';\r\nimport { LoginService } from '../login/services/login.service';\r\nimport { LoggedinUserData } from './model/loggedin-user-data.model';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\n// import { SessionStorageService } from 'ngx-webstorage';\r\n// import { CookieService } from 'ngx-cookie-service';\r\n// import { DataSharingService } from 'src/app/layouts/shared/services/data-sharing.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss'],\r\n})\r\nexport class LoginComponent implements OnInit {\r\n @ViewChild('primaryModal', { static: false })\r\n public primaryModal: ModalDirective;\r\n form: FormGroup;\r\n isActive: boolean = true;\r\n captchaInput: any;\r\n UserName: String = '';\r\n Password: String = '';\r\n allGroupFromParent;\r\n id: Number;\r\n characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n // randomString = '';\r\n rskLogo = '../../../../assets/img/brand/mplogo.png';\r\n bsLogo = '../../../../assets/img/brand/bs_logo.jpeg';\r\n private token1: string;\r\n private loggedIn: boolean = false;\r\n loggedinUserData = new LoggedinUserData();\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private _loginUser: LoginService,\r\n private router: Router,\r\n private toast: NgToastService,\r\n private dataSharing: DataSharingService,\r\n private clientStorage: ClientSideStorageService\r\n ) // private storageService: SessionStorageService,\r\n // private dataSharing: DataSharingService,\r\n // private cookieService: CookieService\r\n { }\r\n\r\n @HostListener('window:popstate', ['$event'])\r\n onPopState(event) {\r\n // this.router.navigate(['/401'])\r\n event.preventDefault();\r\n window.location.replace(environment.baseUrl.concat('#/401'))\r\n }\r\n\r\n loginForm() {\r\n this.form = this.fb.group({\r\n username: [\r\n this.UserName,\r\n [\r\n Validators.required,\r\n Validators.maxLength(50),\r\n Validators.pattern('^[A-Za-z0-9]+$'),\r\n ],\r\n ],\r\n password: [\r\n this.Password,\r\n [\r\n Validators.required,\r\n Validators.pattern('[a-zA-Z0-9!@#$%^&/*]{4,20}$'),\r\n Validators.minLength(4),\r\n Validators.maxLength(20),\r\n ],\r\n ],\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loginForm();\r\n // this.generateCaptha();\r\n }\r\n\r\n // generateCaptha(): String {\r\n // for (let i = 0; i < 6; i++) {\r\n // this.randomString += this.characters.charAt(\r\n // Math.floor(Math.random() * this.characters.length)\r\n // );\r\n // }\r\n // return this.randomString;\r\n // }\r\n\r\n // refreshCaptcha() {\r\n // this.randomString = '';\r\n // this.generateCaptha();\r\n // }\r\n\r\n get username() {\r\n return this.form.get('username');\r\n }\r\n get password() {\r\n return this.form.get('password');\r\n }\r\n\r\n setLoggedIn(loggedIn: boolean, token?: string) {\r\n this.loggedIn = loggedIn;\r\n this.token1 = token;\r\n }\r\n\r\n changeIndicator = (callAddRole) => {\r\n this.id = 0;\r\n if (callAddRole == 'cancel') {\r\n this.primaryModal.hide();\r\n } else {\r\n this.primaryModal.hide();\r\n }\r\n };\r\n\r\n onSubmit() {\r\n // this.captchaInput = (\r\n // document.getElementById('textBox') as HTMLInputElement\r\n // ).value;\r\n\r\n // if (this.captchaInput == this.randomString) {\r\n if (this.form.status === \"VALID\") {\r\n // document.getElementById('output').innerHTML = ' ';\r\n this._loginUser.loginUser(this.form.value).subscribe((response) => {\r\n if (response.jwtToken != undefined) {\r\n this._loginUser.getJavaToken(response.user.userName).subscribe(res => {\r\n if (res != null) {\r\n this.clientStorage.set('employeeCode', this.form.controls['username'].value);\r\n this.clientStorage.set('JavaToken', JSON.stringify(res));\r\n }\r\n });\r\n this.token1 = response.jwtToken;\r\n this.loggedinUserData = response;\r\n this.setLoggedIn(true, this.token1);\r\n this.clientStorage.set('loggedInUser', JSON.stringify(response));\r\n this.clientStorage.set('userId', JSON.stringify(this.loggedinUserData.user.userId));\r\n this.clientStorage.set('roleId', this.loggedinUserData.user.roles[0].roleId);\r\n this.clientStorage.set('roleTypeId', this.loggedinUserData.user.roles[0].roleTypeId);\r\n this.clientStorage.set('loggedInRole', JSON.stringify(this.loggedinUserData.user.roles[0]));\r\n this.dataSharing.setToken(response);\r\n const loginStatus = {\r\n status: this.loggedIn,\r\n token: this.token1,\r\n };\r\n this.clientStorage.set('user', JSON.stringify(loginStatus));\r\n this.toast.success({\r\n detail: 'Success',\r\n summary: 'Login Successfully',\r\n duration: 5000,\r\n });\r\n this.router.navigate(['/dashboard']);\r\n }\r\n },\r\n (httpErrorRes) => {\r\n this.toast.error({\r\n detail: Constantss.ERROR,\r\n summary: 'Incorrect Username or Password',\r\n duration: 5000,\r\n })\r\n // this.refreshCaptcha();\r\n this.password.reset();\r\n }\r\n );\r\n }\r\n // else if (\r\n // this.captchaInput == null ||\r\n // this.captchaInput == '' ||\r\n // this.captchaInput == undefined\r\n // ) {\r\n // document.getElementById('output').innerHTML = 'Please enter captcha';\r\n // } \r\n // else if (this.captchaInput != this.randomString) {\r\n // document.getElementById('output').innerHTML =\r\n // 'Incorrect captcha, please try again';\r\n // } \r\n else {\r\n this.toast.error({\r\n detail: 'Error Message',\r\n summary: 'Incorrect Username & Password. Please contact Super Admin',\r\n duration: 50000,\r\n });\r\n // this.refreshCaptcha();\r\n this.password.reset();\r\n }\r\n }\r\n\r\n getJavaToken(userName) {\r\n this._loginUser.getJavaToken(userName).subscribe(res => {\r\n if (res != null) {\r\n this.clientStorage.set('JavaToken', JSON.stringify(res));\r\n }\r\n })\r\n }\r\n onForgotPwdClick() {\r\n //this.primaryModal.show();\r\n window.location.href = \"https://rskmp.in/\";\r\n }\r\n\r\n\r\n onCheckBoxChange(event: any) {\r\n var temp = document.getElementById(\"typepass\") as HTMLInputElement;\r\n if (temp.type === \"password\") {\r\n temp.type = \"text\";\r\n }\r\n else {\r\n temp.type = \"password\";\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Rajya Shiksha Kendra\r\n
\r\n
\r\n
Login
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Username is a required field\r\n \r\n \r\n Maximum character length should be 50\r\n \r\n \r\n Username should be alphanumeric\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Password is a required field\r\n \r\n \r\n \r\n \r\n Password must be 4-20, alphanumeric, special characters\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Show Password\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n","import { User } from \"./user.model\";\r\n\r\nexport class LoggedinUserData {\r\n jwtToken:string;\r\n user= new User();\r\n}\r\n","export class TestLogin {\r\n email:string;\r\n password:string;\r\n}\r\n","import { UserRole } from \"src/app/layouts/configurations/model/manage role model/user-role\";\r\nimport { Login } from \"../../model/login\";\r\n\r\nexport class User {\r\n userId:any;\r\n username : string;\r\n password : string;\r\n roles:UserRole[];\r\n\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlFormationService } from '../../../../layouts/shared/services/url-formation.service';\r\nimport { User } from '../model/user.model';\r\nimport {TestLogin} from '../model/test-login.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoginService {\r\n\r\n constructor(private http : HttpClient, private url : UrlFormationService) { }\r\n\r\n getNavigationMenu(userId,roleId): Observable{\r\n \r\n return this.http.get(this.url.fetchNavigationMenu().concat(\"/\"+userId+\"/\"+roleId));\r\n }\r\n getAllNavigationMenu(): Observable{\r\n \r\n return this.http.get(this.url.fetchNavigationMenu());\r\n}\r\n\r\n loginUser(user:any) : Observable{\r\n return this.http.post(this.url.fetchjwtToken(),user);\r\n }\r\n\r\n getRoleArea(userId,roleId):Observable{\r\n return this.http.get(this.url.fetchRoleArea().concat(userId+'/'+roleId));\r\n }\r\n\r\n getJavaToken(userName:any):Observable {\r\n return this.http.get(this.url.getJavaToken().concat(userName));\r\n //return this.http.get('http://localhost:9092/Token/GetToken/'+userName)\r\n }\r\n\r\n\r\n testLogin():Observable{\r\n let login:TestLogin= new TestLogin();\r\n login.email='admin@netlink.com';\r\n login.password='root';\r\n return this.http.post('http://localhost:8091/limnApi/users/login',login);\r\n \r\n }\r\n\r\n testTokenApi(token:string):Observable{\r\n return this.http.get('http://localhost:8091/limnApi/healthcheck');\r\n \r\n }\r\n\r\n}\r\n","export class EmpCode {\r\ndesignation: string\r\ndob: Date\r\ndoj: Date\r\nemployeeCode: string\r\nemployeeName: string\r\ngender: string\r\nmobileNo: string\r\nsubjectExpert: string\r\nudisecode: string\r\nemployeeId:number\r\n}\r\n","export class SystemUser {\r\n constructor(){}\r\n systemUserId: any;\r\n username: string;\r\n password: string;\r\n oldPassword : string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n contact: number;\r\n imageId: string;\r\n isActive: boolean;\r\n isAccountLocked: boolean;\r\n accountLocked: string;\r\n accountLockedDate: Date;\r\n loginAttempt: BigInteger;\r\n createdDate: Date;\r\n createdBy: string;\r\n updatedBy: string;\r\n updatedDate: Date;\r\n otpGenerated: string;\r\n otpGeneratedDate: string;\r\n\r\n}\r\n\r\n","export class User {\r\n username: string;\r\n companyId: number;\r\n tenantId: number;\r\n roleId: number;\r\n systemUserId:number;\r\n userId: number;\r\n personaName: string;\r\n firstName : string;\r\n lastName : string;\r\n personaId : number;\r\n isTenantOwner : boolean;\r\n roles: [{\r\n moduleId: number;\r\n permissionId: number;\r\n moduleGroup: string;\r\n module: string;\r\n permission: string;\r\n displayOrder: string;\r\n }]\r\n}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-page401',\r\n templateUrl: './page401.component.html',\r\n styleUrls: ['./page401.component.scss']\r\n})\r\nexport class Page401Component implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n \r\n
\r\n

401

\r\n

Access Denied

\r\n

You don’t have permission to access this application. Kindly Contact\r\n Admin to assign access permission..

\r\n

\r\n Go to Login page\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n ","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-page404',\r\n templateUrl: './page404.component.html',\r\n styleUrls: ['./page404.component.scss']\r\n})\r\nexport class Page404Component {\r\n\r\n constructor() { }\r\n\r\n}\r\n","
\r\n \r\n \r\n \r\n
\r\n

404

\r\n

Oops! You're lost.

\r\n

\r\n The page you are looking for was not found.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-page500',\r\n templateUrl: './page500.component.html',\r\n styleUrls: ['./page500.component.scss']\r\n})\r\nexport class Page500Component {\r\n\r\n constructor() { }\r\n\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n

500

\r\n

Houston, we have a problem!

\r\n

\r\n The page you are looking for is temporarily unavailable.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './register.component.html',\r\n styleUrls: ['./register.component.scss']\r\n})\r\nexport class RegisterComponent {\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-session-expired',\r\n templateUrl: './session-expired.component.html',\r\n styleUrls: ['./session-expired.component.scss']\r\n})\r\nexport class SessionExpiredComponent implements OnInit {\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() btnOkText: string;\r\n @Input() btnCancelText: string\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n // public decline() {\r\n // this.activeModal.close(false);\r\n // }\r\n\r\n // public accept() {\r\n // this.activeModal.close(true);\r\n // this.router.navigate(['/login']);\r\n // }\r\n\r\n // public dismiss() {\r\n // this.activeModal.dismiss();\r\n // }\r\n\r\n accept(){\r\n this.router.navigate(['/login']);\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n

Your Session has Expired!

\r\n

Your session has expired. Please login again to continue working.

\r\n \r\n
\r\n
\r\n","import { Component, Input } from '@angular/core';\r\nimport packageJson from '../../../package.json';\r\n\r\n@Component({\r\n selector: 'app-docs-callout',\r\n templateUrl: './docs-callout.component.html',\r\n styleUrls: ['./docs-callout.component.scss']\r\n})\r\nexport class DocsCalloutComponent {\r\n\r\n @Input() name: string = '';\r\n\r\n constructor() { }\r\n\r\n private _href: string = 'https://coreui.io/angular/docs/';\r\n\r\n get href(): string {\r\n return this._href;\r\n }\r\n\r\n @Input()\r\n set href(value: string) {\r\n const version = packageJson?.config?.coreui_library_short_version;\r\n const docsUrl = packageJson?.config?.coreui_library_docs_url ?? 'https://coreui.io/angular/';\r\n const path: string = version ? `${version}/${value}` : '';\r\n this._href = `${docsUrl}${path}`;\r\n }\r\n\r\n get plural() {\r\n return this.name?.slice(-1) === 's';\r\n }\r\n\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n

\r\n An Angular {{name}} component{{plural ? 's' : ''}} {{plural ? 'have' : 'has'}} been created as a native Angular\r\n version\r\n of Bootstrap {{name}}. {{name}} {{plural ? 'are' : 'is'}} delivered with some new features,\r\n variants, and unique design that matches CoreUI Design System requirements.\r\n

\r\n\r\n \r\n\r\n
\r\n For more information please visit our official documentation of CoreUI Components Library for Angular.\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { CalloutModule, NavModule, TabsModule, UtilitiesModule } from '@coreui/angular';\r\nimport { IconModule } from '@coreui/icons-angular';\r\nimport { DocsExampleComponent } from './docs-example/docs-example.component';\r\nimport { DocsLinkComponent } from './docs-link/docs-link.component';\r\nimport { DocsCalloutComponent } from './docs-callout/docs-callout.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n DocsExampleComponent,\r\n DocsLinkComponent,\r\n DocsCalloutComponent\r\n ],\r\n exports: [\r\n DocsExampleComponent,\r\n DocsLinkComponent,\r\n DocsCalloutComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n NavModule,\r\n IconModule,\r\n RouterModule,\r\n TabsModule,\r\n UtilitiesModule,\r\n CalloutModule\r\n ]\r\n})\r\nexport class DocsComponentsModule {\r\n}\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input\r\n} from '@angular/core';\r\n\r\nimport packageJson from '../../../package.json';\r\n\r\n@Component({\r\n selector: 'app-docs-example',\r\n templateUrl: './docs-example.component.html',\r\n styleUrls: ['./docs-example.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DocsExampleComponent implements AfterContentInit, AfterViewInit {\r\n\r\n constructor(\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n @Input() fragment?: string;\r\n\r\n private _href = 'https://coreui.io/angular/docs/';\r\n\r\n get href(): string {\r\n return this._href;\r\n }\r\n\r\n @Input()\r\n set href(value: string) {\r\n const version = packageJson?.config?.coreui_library_short_version;\r\n const docsUrl = packageJson?.config?.coreui_library_docs_url ?? 'https://coreui.io/angular/';\r\n // const path: string = version ? `${version}/#/${value}` : '#';\r\n const path: string = version ? `${version}/${value}` : '';\r\n this._href = `${docsUrl}${path}`;\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n Preview\r\n \r\n \r\n \r\n \r\n \r\n Code\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-docs-link',\r\n templateUrl: './docs-link.component.html',\r\n styleUrls: ['./docs-link.component.scss']\r\n})\r\nexport class DocsLinkComponent implements OnInit {\r\n\r\n @Input() href?: string = 'https://coreui.io/angular/docs/';\r\n @Input() name?: string;\r\n @Input() text?: string;\r\n\r\n constructor() { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'float-end': true\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.href = this.name ? `https://coreui.io/angular/docs/components/${this.name}` : this.href;\r\n }\r\n\r\n}\r\n","\r\n","export const appcodes = {\r\n alignment: \"spm-alignment-web\",\r\n master: \"spm-master\",\r\n};\r\n\r\n// export const appUrl = \"http://68.178.168.35:8081\";\r\n// export const authUrl = \"http://68.178.168.35:8081\";\r\n// export const javaAppUrl = \"http://68.178.168.35:8090/rsk\";\r\n// export const javaAuthUrl = \"http://68.178.168.35:8090/rsk\";\r\n\r\n\r\n// export const javaAppUrl = \"http://localhost:8092\"\r\n// export const javaAuthUrl = \"http://localhost:8092\";\r\n\r\n\r\nexport const javaAppUrl = \"https://www.api.shikshamp.in/rsk\"\r\nexport const javaAuthUrl = \"https://www.api.shikshamp.in/rsk\";\r\nexport const appUrl = \"https://www.shikshamp.in/API\"\r\nexport const authUrl = \"https://www.shikshamp.in/API\";\r\n\r\n// export const appUrl = \"http://118.139.164.18:8081\";\r\n// export const authUrl = \"http://118.139.164.18:8081\";\r\n// export const javaAppUrl = \"http://118.139.164.18:8082/rsk\";\r\n// export const javaAuthUrl = \"http://118.139.164.18:8082/rsk\";\r\n\r\n\r\nexport const environment = {\r\n production: false,\r\n environmentName: \"(Test)\",\r\n alignmentUrl: `${appUrl}${appcodes.alignment}`,\r\n javaAlignmentUrl: `${javaAppUrl}${appcodes.alignment}`,\r\n commonUrl: `${appUrl}`,\r\n javaCommonUrl: `${javaAppUrl}`,\r\n authUrl: `${authUrl}`,\r\n javaAuthUrl: `${javaAuthUrl}`,\r\n\r\n defaultLanguage: \"en-US\",\r\n supportedLanguages: [\"en-US\", \"fr-FR\"],\r\n baseUrl: \"http://184.168.124.155/\",\r\n awsregion: \"us-east-1\",\r\n uploadMaxFilesLimit: 20,\r\n uploadMaxParallelProcessingFilesLimit: 10,\r\n applicationTimeOut: 1000000000000, //15 min 1680 , // 28 min //180 3min\r\n apiRequestTimeOut: 1800000, // 30 mins in milliseconds\r\n apiRefreshToken: 1400000, // 23 mins in milliseconds\r\n dashboardComingSoonOverlay: false,\r\n passPhrase: \"secret\",\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","import { Injectable } from '@angular/core';\r\n// import * as CryptoJS from 'crypto-js';\r\nimport { User } from '../app/views/pages/model/user';\r\nimport { SessionStorageService } from 'ngx-webstorage';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonUtilService {\r\n userData = new User();\r\n\r\n headers= new HttpHeaders()\r\n .set('content-type', 'application/json')\r\n .set('Access-Control-Allow-Origin', '*');\r\n options = { headers: this.headers };\r\n\r\n constructor(private storageService: SessionStorageService, private router: Router,\r\n private http: HttpClient) {\r\n\r\n }\r\n\r\n getPosts():Observable{\r\n return this.http.get(\"https://jsonplaceholder.typicode.com/posts\");\r\n }\r\n\r\n testApi(data : any):Observable{\r\n return this.http.post(\"http://184.168.124.155/api/CommonDropdown\",data,this.options);\r\n }\r\n\r\n testPost(data : any):Observable{\r\n return this.http.post(\"https://jsonplaceholder.typicode.com/posts\",data);\r\n }\r\n\r\n // testNavigableMenu(data:any):Observable{\r\n // return this.http.post(\"http://184.168.124.155/User/NavigableMenu\",data);\r\n // }\r\n\r\n /**\r\n * Function to check input has value or not\r\n * It checks input for - null,undefined,NaN,empty string (\"\"),0,false\r\n * If not return --\r\n * @param moduleName\r\n */\r\n isControlAuthorized(moduleName): boolean {\r\n\r\n if (moduleName) {\r\n this.userData = JSON.parse(this.storageService.retrieve('user'));\r\n return this.userData.roles.filter(item => item.module.toLocaleLowerCase() === moduleName.toLocaleLowerCase()).filter(item => (item.permission.toLocaleLowerCase() === 'edit')).length !== 0\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * \r\n * @param moduleName \r\n */\r\n isUserEditable(moduleName) {\r\n if (moduleName) {\r\n var userData = JSON.parse(this.storageService.retrieve('user'));\r\n var isTenantOwner = userData?.isTenantOwner;\r\n if(!isTenantOwner) {\r\n return false;\r\n }\r\n return isTenantOwner && this.userData.roles.filter(item => item.module.toLocaleLowerCase() === moduleName.toLocaleLowerCase()).filter(item => (item.permission.toLocaleLowerCase() === 'edit')).length !== 0\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n* Function to check input has value or not\r\n* It checks input for - null,undefined,NaN,empty string (\"\"),0,false\r\n* If not return --\r\n* @param moduleName\r\n*/\r\n isControlRestriction(moduleName):boolean {\r\n let isRestriction: boolean = false;\r\n if (moduleName) {\r\n this.userData = JSON.parse(this.storageService.retrieve('user'));\r\n isRestriction = this.userData.roles.filter(item => item.module.toLocaleLowerCase() === moduleName.toLocaleLowerCase()).filter(item => (item.permission.toLocaleLowerCase() === 'restricted')).length !== 0\r\n return isRestriction\r\n }\r\n return false;\r\n }\r\n flag: boolean;\r\n isUrlAuthenticated() {\r\n var str = new String(window.location.href);\r\n\r\n var text = '';\r\n var i = 0;\r\n for (i = str.length - 1; i >= 0; i--) {\r\n if (str.charAt(i) == '/') {\r\n this.isControlRestriction(text.split('').reverse().join(''));\r\n break;\r\n \r\n\r\n }\r\n\r\n text += str.charAt(i);\r\n }\r\n }\r\n\r\n \r\n isControlRestrictionAuth1(moduleName): boolean {\r\n\r\n if (moduleName) {\r\n this.userData = JSON.parse(this.storageService.retrieve('user'));\r\n \r\n\r\n if (this.userData.roles.filter(item => item.module.toLocaleLowerCase() === moduleName.toLocaleLowerCase()).length == 0) {\r\n return false\r\n }\r\n\r\n if ( this.userData.roles.filter(item => item.module.toLocaleLowerCase() === moduleName.toLocaleLowerCase()).filter(item => (item.permission.toLocaleLowerCase() === 'restricted')).length !== 0) {\r\n return false\r\n }else if(this.userData.roles.filter(item => item.module.toLocaleLowerCase() === moduleName.toLocaleLowerCase()).filter(item => (item.permission.toLocaleLowerCase() === 'edit')).length !== 0){\r\n return true\r\n }else{\r\n false\r\n }\r\n \r\n }\r\n return false;\r\n }\r\n\r\n\r\n /**\r\n* Function to check input has value or not\r\n* It checks input for - null,undefined,NaN,empty string (\"\"),0,false\r\n* If not return --\r\n* @param moduleName\r\n*/\r\nisRestrictionAuth: boolean = false;\r\nisControlRestrictionAuth(moduleName): boolean {\r\n\r\n if (moduleName) {\r\n this.userData = JSON.parse(this.storageService.retrieve('user'));\r\n \r\n if (this.userData.roles.filter(item => item.module.toLocaleLowerCase() === moduleName.toLocaleLowerCase()).length == 0) {\r\n return false\r\n }\r\n \r\n this.isRestrictionAuth = this.userData.roles.filter(item => item.module.toLocaleLowerCase() === moduleName.toLocaleLowerCase()).filter(item => (item.permission.toLocaleLowerCase() === 'restricted')).length == 0\r\n return this.isRestrictionAuth;\r\n\r\n }\r\n return false;\r\n}\r\n\r\n isUrlAuthenticatedAuth(url: any): boolean {\r\n var str = new String(url);\r\n if (str.charAt(str.length - 1) == '/') {\r\n return true;\r\n }\r\n\r\n var text = '';\r\n var i = 0;\r\n for (i = str.length - 1; i >= 0; i--) {\r\n if (str.charAt(i) == '/') {\r\n\r\n return this.isControlRestrictionAuth(text.split('').reverse().join(''));\r\n\r\n\r\n }\r\n\r\n text += str.charAt(i);\r\n \r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Function to check input has value or not\r\n * It checks input for - null,undefined,NaN,empty string (\"\"),0,false\r\n * If not return --\r\n * @param input\r\n */\r\n replaceBlankWithHiphen(input) {\r\n if (!input) {\r\n return '--';\r\n } else {\r\n return input;\r\n }\r\n }\r\n\r\n /**\r\n * Encrypt the input string\r\n * @param input\r\n */\r\n // encrypt(input) {\r\n // var wordArray = CryptoJS.enc.Utf8.parse(input);\r\n // return CryptoJS.enc.Base64.stringify(wordArray);\r\n // }\r\n /**\r\n * Decrypt the encrypted string\r\n * @param encryptedInput\r\n */\r\n // decrypt(encryptedInput) {\r\n // if (encryptedInput != null && encryptedInput != undefined) {\r\n // encryptedInput = encryptedInput.replace('%3D', '=');\r\n // var parsedWordArray = CryptoJS.enc.Base64.parse(encryptedInput);\r\n // return parsedWordArray.toString(CryptoJS.enc.Utf8);\r\n // }\r\n // }\r\n\r\n \r\n getColumnHeader(field: string, headerName: string) {\r\n let obj = {};\r\n obj['field'] = field;\r\n obj['headerName'] = headerName; \r\n obj['tooltipField'] = field;\r\n obj['headerTooltip'] = headerName;\r\n return obj;\r\n }\r\n\r\n getDefaultColumnDef() {\r\n return {\r\n sortable: true,\r\n resizable: true,\r\n filter: true,\r\n flex: 1,\r\n tooltipShowDelay: 0,\r\n autoHeight: false,\r\n }\r\n }\r\n\r\n getCommaSeparatedFilter() {\r\n return [\r\n 'contains',\r\n 'notContains',\r\n 'equals',\r\n 'notEqual',\r\n 'startsWith',\r\n 'endsWith',\r\n {\r\n displayKey: 'commaSeparated',\r\n displayName: 'Comma Separated',\r\n test: (filterValue, cellValue) => {\r\n return filterValue.split(/\\s*,\\s*/).some(function(v) { return v && v.toLowerCase() == cellValue });\r\n }\r\n },\r\n \r\n \r\n ]\r\n }\r\n\r\n getCommaSeparatedFilterWithSpaces() {\r\n return [\r\n {\r\n displayKey: 'commaSeparated',\r\n displayName: 'Comma Separated',\r\n test: (filterValue, cellValue) => {\r\n return filterValue.includes(cellValue);\r\n }\r\n },\r\n 'contains',\r\n 'notContains',\r\n 'equals',\r\n 'notEqual',\r\n 'startsWith',\r\n 'endsWith',\r\n \r\n ]\r\n }\r\n\r\n getFilterButtons(){\r\n return {\r\n buttons: ['cancel', 'clear'],\r\n closeOnApply: true,\r\n }\r\n }\r\n\r\n}\r\n","export class Constantss {\r\n public static EDIT_SUBJECT = 'Edit Subject';\r\n public static ADD_SUBJECT = 'Add Subject';\r\n public static EXPIRED = 'Expired';\r\n public static DO_YOU_WANT_TO_DELETE_THIS_INFO = 'Do you want to delete this information?';\r\n public static DOWNLOAD_IS_IN_PROGRESS = \"Please wait...download is in progress\"\r\n public static MGML_CLASSROOM_PRACTICES = \"MGMLClassroomPractices\";\r\n public static USER_REGISTERED_SUCCESSFULLY = \"User registered Successfully!\";\r\n public static IS_ALREADY_PRESENT_IN_GRID = \" is already been added!\";\r\n public static PLS_SELECT_CHECKLIST_ITEMS = \"Please Select Checklist items\";\r\n public static STATE = \"State\";\r\n public static DISTRICT = \"District\";\r\n public static BLOCK = \"Block\";\r\n public static NO_DATA_FOUND = \"No data found!\";\r\n public static ARE_YOU_SURE_U_WANT_TO_REMOVE_THIS_ATTACHMENT = 'Are you sure you want to remove this attachment?';\r\n public static SEARCHED_USER_IS_NOT_ALLOCATED_IN_AREA = 'Searched user is not located in your area.';\r\n public static DELETE_RECORD = \"Do you want to delete this record?\";\r\n public static REMARK_MANDATORY_IF_RATING_FILLED = \"जिन ट्रेनर की रेटिंग भरी हुई है, उनका रिमार्क भरना आवश्यक है।\";\r\n public static TRAINEES_HAVE_BEEN_ADDED_SUCCESSFULLY = \"Trainees have been added successfully!\";\r\n public static RECORD_HAS_BEEN_ADDED_SUCCESSFULLY = \"Record has been added successfully!\";\r\n public static TRAINEE_HAS_BEEN_DELETED_SUCCESSFULLY = \"Trainee has been deleted successfully!\";\r\n public static COMPLETED = 'Completed';\r\n public static ACTIVE = \"Active\";\r\n public static TRAINEE_LIMIT_EXCEEDED = \"Trainee Limit Exceeded!\"\r\n public static STATUS_CHANGED_SUCCESSFULLY = \"Status has been changed successfully!\"\r\n public static ADD_TRAINER = \"Add Trainer\";\r\n public static ADD_COORDINATOR = \"Add Coordinator\";\r\n public static ADD_TRAINEE = \"Add Trainee\";\r\n public static TRAINER = 'Trainer ';\r\n public static RECORD_DELETED_SUCCESSFULLY = 'Record has been deleted successfully!';\r\n public static REMOVE_RECORD = 'Do you want to remove this record ?';\r\n public static MP = \"M.P\";\r\n public static TRAINEE = \"Trainee\";\r\n public static QUESTION_DELETED_SUCCESSFULLY = \"Question deleted successfully.\";\r\n public static SURE_DELETE_IMAGE = \"Are you sure you want to delete this image?\"\r\n public static SURE_DELETE_QUESION = \"Are you sure you want to delete this question?\";\r\n public static SURE_SAVE_TEST = \"Are you sure you want to save \"\r\n public static QUESTIONS_SAVED_SUCCESSFULLY = \"Questions saved successfully!\";\r\n public static EDIT = \"Edit\";\r\n public static ADD = \"Add\";\r\n public static CONFIRMATION = 'Confirmation';\r\n public static SURE_CANCEL = \"Are you sure you want to cancel this operation?\";\r\n public static SUCCESS = 'Success';\r\n public static STATUS_200 = '200';\r\n public static SAVED_SUCCESSFULLY = \"Record has been saved successfully!\";\r\n public static ERROR = \"Error\";\r\n public static NO = \"No\";\r\n public static YES = \"Yes\";\r\n public static SURE_SAVE = 'Are you sure you want to save this information?';\r\n public static CONFIRM_RELOAD = \"Data may be lost! Are you sure you want to refresh?\"\r\n public static SURE_UPDATE = 'Are you sure you want to update this information?'\r\n public static CONTINUE = 'Do you want to continue?'\r\n public static INFORMATION_SAVED = 'Information Saved Successfully'\r\n public static DELETE_FILE = 'Are you sure you delete this attachment?';\r\n public static SURE_UNREGISTER_FROM_BATCH = 'Are you sure you want to unregister yourself from the batch?';\r\n public static INFO = 'Info';\r\n public static STATUS_UPDATED_SUCCESSFULLY = \"Status has been updated successfully!\";\r\n public static SOMETHING_WENT_WRONG = \"Something went wrong!\";\r\n public static WORK_BOOK_QUESTION = \"क्या कक्षा 1 और 2 में FLN के लिए नई सुझावात्मक समय सारिणी का पालन किया जा रहा है?\";\r\n public static ERROR_IN_FETCHING_DATA = \"Error in fetching data\";\r\n public static STARTING_PDF_DOWNLOAD = \"Starting PDF download...\";\r\n public static PDF_DOWNLOADED_SUCCESSFULLY = \"PDF downloaded successfully!\";\r\n public static RADIO_TEXT = \"Radio Text\";\r\n public static ALL_VISITS: any = \"All Visits\";\r\n public static UNIQUE_VISITS: any = \"Unique Visits\";\r\n public static EDIT_DOMAIN: string = 'Edit Domain';\r\n public static ADD_DOMAIN: string = 'Add Domain';\r\n\r\n}","var map = {\n\t\"./af\": 62275,\n\t\"./af.js\": 62275,\n\t\"./ar\": 90857,\n\t\"./ar-dz\": 11218,\n\t\"./ar-dz.js\": 11218,\n\t\"./ar-kw\": 14754,\n\t\"./ar-kw.js\": 14754,\n\t\"./ar-ly\": 66680,\n\t\"./ar-ly.js\": 66680,\n\t\"./ar-ma\": 92178,\n\t\"./ar-ma.js\": 92178,\n\t\"./ar-sa\": 56522,\n\t\"./ar-sa.js\": 56522,\n\t\"./ar-tn\": 95682,\n\t\"./ar-tn.js\": 95682,\n\t\"./ar.js\": 90857,\n\t\"./az\": 70164,\n\t\"./az.js\": 70164,\n\t\"./be\": 79774,\n\t\"./be.js\": 79774,\n\t\"./bg\": 60947,\n\t\"./bg.js\": 60947,\n\t\"./bm\": 21832,\n\t\"./bm.js\": 21832,\n\t\"./bn\": 89650,\n\t\"./bn-bd\": 74477,\n\t\"./bn-bd.js\": 74477,\n\t\"./bn.js\": 89650,\n\t\"./bo\": 66005,\n\t\"./bo.js\": 66005,\n\t\"./br\": 98492,\n\t\"./br.js\": 98492,\n\t\"./bs\": 70534,\n\t\"./bs.js\": 70534,\n\t\"./ca\": 52061,\n\t\"./ca.js\": 52061,\n\t\"./cs\": 84737,\n\t\"./cs.js\": 84737,\n\t\"./cv\": 61167,\n\t\"./cv.js\": 61167,\n\t\"./cy\": 77996,\n\t\"./cy.js\": 77996,\n\t\"./da\": 9528,\n\t\"./da.js\": 9528,\n\t\"./de\": 14540,\n\t\"./de-at\": 49430,\n\t\"./de-at.js\": 49430,\n\t\"./de-ch\": 67978,\n\t\"./de-ch.js\": 67978,\n\t\"./de.js\": 14540,\n\t\"./dv\": 83426,\n\t\"./dv.js\": 83426,\n\t\"./el\": 6616,\n\t\"./el.js\": 6616,\n\t\"./en-au\": 63816,\n\t\"./en-au.js\": 63816,\n\t\"./en-ca\": 32162,\n\t\"./en-ca.js\": 32162,\n\t\"./en-gb\": 83305,\n\t\"./en-gb.js\": 83305,\n\t\"./en-ie\": 61954,\n\t\"./en-ie.js\": 61954,\n\t\"./en-il\": 43060,\n\t\"./en-il.js\": 43060,\n\t\"./en-in\": 59923,\n\t\"./en-in.js\": 59923,\n\t\"./en-nz\": 13540,\n\t\"./en-nz.js\": 13540,\n\t\"./en-sg\": 16505,\n\t\"./en-sg.js\": 16505,\n\t\"./eo\": 41907,\n\t\"./eo.js\": 41907,\n\t\"./es\": 86640,\n\t\"./es-do\": 41246,\n\t\"./es-do.js\": 41246,\n\t\"./es-mx\": 56131,\n\t\"./es-mx.js\": 56131,\n\t\"./es-us\": 36430,\n\t\"./es-us.js\": 36430,\n\t\"./es.js\": 86640,\n\t\"./et\": 62551,\n\t\"./et.js\": 62551,\n\t\"./eu\": 32711,\n\t\"./eu.js\": 32711,\n\t\"./fa\": 54572,\n\t\"./fa.js\": 54572,\n\t\"./fi\": 33390,\n\t\"./fi.js\": 33390,\n\t\"./fil\": 87860,\n\t\"./fil.js\": 87860,\n\t\"./fo\": 48216,\n\t\"./fo.js\": 48216,\n\t\"./fr\": 99291,\n\t\"./fr-ca\": 98527,\n\t\"./fr-ca.js\": 98527,\n\t\"./fr-ch\": 58407,\n\t\"./fr-ch.js\": 58407,\n\t\"./fr.js\": 99291,\n\t\"./fy\": 47054,\n\t\"./fy.js\": 47054,\n\t\"./ga\": 49540,\n\t\"./ga.js\": 49540,\n\t\"./gd\": 73917,\n\t\"./gd.js\": 73917,\n\t\"./gl\": 51486,\n\t\"./gl.js\": 51486,\n\t\"./gom-deva\": 56245,\n\t\"./gom-deva.js\": 56245,\n\t\"./gom-latn\": 48868,\n\t\"./gom-latn.js\": 48868,\n\t\"./gu\": 59652,\n\t\"./gu.js\": 59652,\n\t\"./he\": 89019,\n\t\"./he.js\": 89019,\n\t\"./hi\": 42040,\n\t\"./hi.js\": 42040,\n\t\"./hr\": 63402,\n\t\"./hr.js\": 63402,\n\t\"./hu\": 79322,\n\t\"./hu.js\": 79322,\n\t\"./hy-am\": 27609,\n\t\"./hy-am.js\": 27609,\n\t\"./id\": 57942,\n\t\"./id.js\": 57942,\n\t\"./is\": 98275,\n\t\"./is.js\": 98275,\n\t\"./it\": 73053,\n\t\"./it-ch\": 4378,\n\t\"./it-ch.js\": 4378,\n\t\"./it.js\": 73053,\n\t\"./ja\": 46176,\n\t\"./ja.js\": 46176,\n\t\"./jv\": 679,\n\t\"./jv.js\": 679,\n\t\"./ka\": 92726,\n\t\"./ka.js\": 92726,\n\t\"./kk\": 72953,\n\t\"./kk.js\": 72953,\n\t\"./km\": 86957,\n\t\"./km.js\": 86957,\n\t\"./kn\": 59181,\n\t\"./kn.js\": 59181,\n\t\"./ko\": 47148,\n\t\"./ko.js\": 47148,\n\t\"./ku\": 27752,\n\t\"./ku.js\": 27752,\n\t\"./ky\": 65675,\n\t\"./ky.js\": 65675,\n\t\"./lb\": 41263,\n\t\"./lb.js\": 41263,\n\t\"./lo\": 65746,\n\t\"./lo.js\": 65746,\n\t\"./lt\": 11143,\n\t\"./lt.js\": 11143,\n\t\"./lv\": 38753,\n\t\"./lv.js\": 38753,\n\t\"./me\": 44054,\n\t\"./me.js\": 44054,\n\t\"./mi\": 31573,\n\t\"./mi.js\": 31573,\n\t\"./mk\": 30202,\n\t\"./mk.js\": 30202,\n\t\"./ml\": 68523,\n\t\"./ml.js\": 68523,\n\t\"./mn\": 79794,\n\t\"./mn.js\": 79794,\n\t\"./mr\": 56681,\n\t\"./mr.js\": 56681,\n\t\"./ms\": 56975,\n\t\"./ms-my\": 39859,\n\t\"./ms-my.js\": 39859,\n\t\"./ms.js\": 56975,\n\t\"./mt\": 3691,\n\t\"./mt.js\": 3691,\n\t\"./my\": 5152,\n\t\"./my.js\": 5152,\n\t\"./nb\": 7607,\n\t\"./nb.js\": 7607,\n\t\"./ne\": 21526,\n\t\"./ne.js\": 21526,\n\t\"./nl\": 86368,\n\t\"./nl-be\": 40076,\n\t\"./nl-be.js\": 40076,\n\t\"./nl.js\": 86368,\n\t\"./nn\": 68420,\n\t\"./nn.js\": 68420,\n\t\"./oc-lnc\": 51906,\n\t\"./oc-lnc.js\": 51906,\n\t\"./pa-in\": 94504,\n\t\"./pa-in.js\": 94504,\n\t\"./pl\": 54721,\n\t\"./pl.js\": 54721,\n\t\"./pt\": 74645,\n\t\"./pt-br\": 54548,\n\t\"./pt-br.js\": 54548,\n\t\"./pt.js\": 74645,\n\t\"./ro\": 71977,\n\t\"./ro.js\": 71977,\n\t\"./ru\": 26042,\n\t\"./ru.js\": 26042,\n\t\"./sd\": 78849,\n\t\"./sd.js\": 78849,\n\t\"./se\": 27739,\n\t\"./se.js\": 27739,\n\t\"./si\": 50084,\n\t\"./si.js\": 50084,\n\t\"./sk\": 92449,\n\t\"./sk.js\": 92449,\n\t\"./sl\": 23086,\n\t\"./sl.js\": 23086,\n\t\"./sq\": 33139,\n\t\"./sq.js\": 33139,\n\t\"./sr\": 30607,\n\t\"./sr-cyrl\": 30063,\n\t\"./sr-cyrl.js\": 30063,\n\t\"./sr.js\": 30607,\n\t\"./ss\": 40131,\n\t\"./ss.js\": 40131,\n\t\"./sv\": 21665,\n\t\"./sv.js\": 21665,\n\t\"./sw\": 5642,\n\t\"./sw.js\": 5642,\n\t\"./ta\": 33622,\n\t\"./ta.js\": 33622,\n\t\"./te\": 74825,\n\t\"./te.js\": 74825,\n\t\"./tet\": 48336,\n\t\"./tet.js\": 48336,\n\t\"./tg\": 39238,\n\t\"./tg.js\": 39238,\n\t\"./th\": 99463,\n\t\"./th.js\": 99463,\n\t\"./tk\": 39986,\n\t\"./tk.js\": 39986,\n\t\"./tl-ph\": 29672,\n\t\"./tl-ph.js\": 29672,\n\t\"./tlh\": 40043,\n\t\"./tlh.js\": 40043,\n\t\"./tr\": 51212,\n\t\"./tr.js\": 51212,\n\t\"./tzl\": 50110,\n\t\"./tzl.js\": 50110,\n\t\"./tzm\": 80482,\n\t\"./tzm-latn\": 38309,\n\t\"./tzm-latn.js\": 38309,\n\t\"./tzm.js\": 80482,\n\t\"./ug-cn\": 42495,\n\t\"./ug-cn.js\": 42495,\n\t\"./uk\": 54157,\n\t\"./uk.js\": 54157,\n\t\"./ur\": 80984,\n\t\"./ur.js\": 80984,\n\t\"./uz\": 64141,\n\t\"./uz-latn\": 43662,\n\t\"./uz-latn.js\": 43662,\n\t\"./uz.js\": 64141,\n\t\"./vi\": 12607,\n\t\"./vi.js\": 12607,\n\t\"./x-pseudo\": 66460,\n\t\"./x-pseudo.js\": 66460,\n\t\"./yo\": 92948,\n\t\"./yo.js\": 92948,\n\t\"./zh-cn\": 62658,\n\t\"./zh-cn.js\": 62658,\n\t\"./zh-hk\": 39352,\n\t\"./zh-hk.js\": 39352,\n\t\"./zh-mo\": 38274,\n\t\"./zh-mo.js\": 38274,\n\t\"./zh-tw\": 98451,\n\t\"./zh-tw.js\": 98451\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["Validators","OtpDetail","formatDate","Constantss","EditIconComponent","i0","ctx_r36","ctx_r38","ctx_r40","ctx_r42","RegistrationComponent","constructor","fb","dataSharing","router","userService","registrationService","toast","confirmationDialogueService","clientStorage","baseLineService","_commonUtilService","meetingService","window","location","href","FormData","id","value","frameworkComponents","editIconComponent","userId","get","roleArea","JSON","parse","getSubjects","loggedInRole","getRoleArea","getAllEnumerator","undefined","districtId","loggedInUserDistrictId","Number","title","createFormAdd","createColumnDefs","districtInfoArray","map","item","districtName","district","Set","ngOnInit","getBanks","getDistrict","getInstitutionDistrict","getInstituitionNames","onFirstDataRendered","params","api","sizeColumnsToFit","onGridReady","gridApi","columnApi","paginationPageSize","refreshCells","disFile","detailsForm","group","name","required","dateOfBirth","mobile","maxLength","pattern","email","emailPattern","fatherName","residentialAddress","ded","accountHolderName","bankId","ifscCode","accountNumber","districtCode","createFormEdit","editData","_a","_b","getDateOfBirth","_c","_d","_e","_f","_g","_h","_j","_k","_l","_m","onIFSCEntered","_o","dateString","dateObject","Date","formattedDate","toISOString","split","grade","address","verify","confirm","then","confirmed","enumId","enumeratorId","userData","user","verifyEnumerator","subscribe","resp","status","SUCCESS","success","detail","summary","message","duration","navigate","error","ERROR","cancel","CONFIRMATION","SURE_CANCEL","reset","branchName","next","SURE_SAVE","createdOn","createdBy","updatedBy","addUpdateEnumerator","res","back","fetchDistrict","data","districtList","getBlockData","blocks","institutionDistricts","getBlock","fetchBlock","seletedDistrict","e","seletedBlock","getClusterByBlockId","clusters","seletedCluster","getSchoolData","schools","seletedBank","$event","subjects","districtIDS","forEach","dob","dateFormatter","rowData","recordCount","length","clearSearch","groupFilter","setQuickFilter","quickSearch","getAllBanks","bankList","getInstitutionNames","institutionNames","ifsc","target","getBankBranchByIfsc","response","dateFormattergrid","date","formatedDate","day","month","year","format","locale","columnDefs","header","getColumnHeader","width","sortable","filter","suppressMovable","push","cellRenderer","cellRendererParams","inRouterLink","onEditIconClick","onEditBtnClicked","datePipeFormat","selectors","decls","vars","consts","template","ctx","TrainingArea","ChecklistMaster","TrainingLetter","ColumnApi","GridApi","DeleteIconComponent","Training","saveAs","Quiz","Entity","User","Question","TrainingMaterial","Document","Link","moveItemInFormArray","FileDTO","MonitorQuestionMaster","TrainingMonitorQuestions","TrainingCheckListItems","CheckListItems","ctx_r9","ctx_r11","ctx_r15","ctx_r17","ctx_r18","ctx_r26","ctx_r28","ctx_r29","ctx_r30","ctx_r37","ctx_r39","ctx_r41","ctx_r33","ctx_r43","ctx_r45","ctx_r46","ctx_r47","ctx_r48","ctx_r34","ctx_r49","ctx_r51","ctx_r52","ctx_r53","ctx_r54","ctx_r35","ctx_r55","ctx_r57","ctx_r58","ctx_r59","ctx_r60","ctx_r61","ctx_r63","ctx_r64","ctx_r65","ctx_r66","ctx_r67","ctx_r31","ctx_r68","ctx_r70","ctx_r71","ctx_r72","ctx_r32","ctx_r83","ctx_r85","ctx_r105","ctx_r107","ctx_r109","ctx_r110","ctx_r116","ctx_r136","ctx_r138","ctx_r140","ctx_r141","ctx_r143","ctx_r144","ctx_r145","ctx_r146","ctx_r3","ctx_r153","ctx_r155","ctx_r156","ctx_r157","ctx_r158","ctx_r159","ctx_r160","ctx_r161","ctx_r162","ctx_r163","ctx_r4","ctx_r170","ctx_r175","ctx_r177","ctx_r179","ctx_r180","ctx_r184","ctx_r186","ctx_r188","ctx_r189","TrainingConfigurationComponent","formBuilder","dataSharingService","groupService","trainingService","_dataSharing","quizTypeId","type","roleTypeId","reloadFunctionality","new","getStep","newStep","source","_value","dataLevel1","getGlobalEditData","dataLevel","dataLev","startDate","endDate","getTime","oneDay","noOfDay","training","getTrainingAreas","trainingId","dataLevel2","getEditTrainingMaterial","trainingLevelId","disabledBtn","trainingCode","getAllDivision","deleteIconComponent","createFormCheckListFormNew","getTrainingCheckListByTrainingId","checkListMasterNew","getCheckListItemsByCheckListName","createColumnDefsDoc","createColumnDefsLink","createUploadOrderLeterForm","getLetter","getMonitoringQuestionByTrainingId","monitoringQuestionsNew","createFormMonitoringQuestionsNew","assessmentData","getQuizData","responseFinal","editResponse","totalNoOfDays","getQuestionList","allForms","preQuestionList","i","postQuestionList","dailyQuestionList","dailyTestForm","prePostForm","dailySelected","editAssessmentForm","editAssessment","selectQuizDisable","addAssessmentDisable","saveNextDisableForTest","getMonitorQuestionsByTraining","fields","createMonitoringQuestionEdit","createFormMonitoringQuestions","unloadHandler","event","opener","reload","subscription","events","evt","navigated","browserRefresh","downLoadLetter","downloadLetter","letterName","blob","getEditTrainingQues","loading","deleteLetter","DELETE_FILE","trainingLetterId","disabledLetter","showLetterDownload","uploadOrderLeterForm","controls","setValue","letterPath","path","editUploadLetterForm","previousGetLetter","routeToHome","routeReuseStrategy","shouldReuseRoute","onSameUrlNavigation","onClickDivision","fetchAllState","editState","stateList","range","disable","areaId","dataForGrid","mapToModelState","dataList","trainingAreaea","trainingArea","trainingAreaId","areaName","trainingTypeId","letter","description","onClickDistrict","divisionReadOnly","onClickBlock","districtReadOnly","onClickCluster","blockReadOnly","getNumberOfDays","numberOfDays","info","parseInt","batchInfo","document","getElementById","innerHTML","monitoringQuestionsForm","monitorQuestionFormArray","array","patch","control","x","patchValues","question","monitorQuestionId","newMainItem","checkListName","checkListId","checkListItems","newChecklistItem","checkListItemName","checkListItemId","noOfDays","assessment","totalQuestions","questionnaire","dailyCount","list","questionsOnEditAssess","quizId","isActive","toBePerformed","prePostCount","activeButton","indexValue","questions","answer","option1","option2","option3","option4","questionId","displayOrder","materials","getTrainingMaterial","materialRes","linkData","linkPath","linkName","link","materialId","linksList","documentName","documentPath","doucmentD","docName","replace","doc","documentsList","getDivisionData","divisionData","a","divisionId","flat","b","fetchTrainingAreas","element","divisionName","blockName","stateName","rangeValid","dropdownSettings","idField","textField","itemsShowLimit","dropdownSettingsDivision","dropdownSettingsDistrict","dropdownSettingsBlockAre","dropdownSettingsClusterAre","createCheckListForm","getDayList","craeteFormBatchInfo","createFormRange","createFormAssessment","createFormTrainingMaterial","saveTraining","ngOnDestroy","onItemSelectDivision","filterArea","area","fetchDistrictByDivisionId","districtData","districtDataList","onSelectAllDivision","items","deselectItems","filtered","DATA","onItemDeSelectDivision","some","removeItem","onUnSelectAllDivision","blockData","clusterData","onItemSelectDistrict","districtOnChange","onItemDeSelectDistrict","fetchBlockByDistrictId","onSelectAllDistrict","blockDataList","blockId","onUnSelectAllDistrict","divisionOnChange","onItemSelectBlock","blockOnChange","onItemDeSelectBlock","fetchClusterByBlockId","onSelectAllBlock","clusterDataList","clusterId","onUnSelectAllBlock","onItemSelectCluster","clusterOnChange","onItemDeSelectCluster","onSelectAllCluster","onUnSelectAllCluster","approxTrainees","updatedOn","reverse","join","initiateTrainingStatus","maximumBatchSize","minimumTrainer","subGroupId","subGroupMaster","trainingName","step","connectorC","formValid","checkListFormNew","uploadLetter","files","doctype","doctypeName","size","fileUploadplaceHolder","formDataLetter","append","fileName","max","min","minTrainer","maxBatchSize","checkList","checkListForm","itemIndex","at","monitoringQuest","newItem","addNewItem","addMoreItems","saveItems","division","block","resetArea","refresh","clusterReadOnly","add","setRowData","addDocMaterial","trainingMaterial","filterDoc","gridApi1","addLinkMaterial","filterLink","startsWith","gridApi2","cluster","state","selectedQuiz","selectedDay","selectedQuize","linkMaterial","uploadDoc","fData","dropdownList","onGridReady1","onGridReady2","addAssessment","valid","addADailyQuestion","addaNewQuestion","arrayFordragDropPrePost","arrayFordragDropDaily","mapToModelTrainingLetter","trainingLetter","ppm","Blob","stringify","mapToModelLetterInfo","mapToModelBatchInfo","SAVED_SUCCESSFULLY","SOMETHING_WENT_WRONG","batchInfo_step","saveTrainingArea","range_step","assessment_step","mapperLinkList","trainingMaterialJSON","saveTrainingMaterial","trainingMaterial_step","isAnyAddTrue","checkListItemForm","PLS_SELECT_CHECKLIST_ITEMS","checkList_step","saveChecklist","checkListNew","mapToModelCheckListNew","saveTrainingCheckList","checkListSaved","err","trainingCheckListItems","trainingChkItemId","checked","resetFormData","delete","documentLevel","trainingMaterialList","trainingType","mapToModelBatchInfoFinalSubmit","previous","console","log","monitoring_Questions_step","submit","showLoading","monitorQuestions","saveMonitoringQuestions","style","display","onDeleteIconClick","onDeletBtnClicked","bind","columnDefsDoc","createHyper","onDeletBtnDocClicked","columnDefsLink","createHyperLink","onDeletBtnLinkClicked","spanElement","createElement","addEventListener","preventDefault","downoadFile","fileDTO","downloadTrainingMaterial","blobToFile","body","appendChild","url","URL","createObjectURL","download","click","revokeObjectURL","open","entityName","index","REMOVE_RECORD","deleteTrainingArea","splice","deleteMaterial","cancelTrainingMaterial","cancelBatchInfo","cancelUploadOrderLetter","cancelRange","cancelAssessment","selectedtestIndex","dailyQuestions","selectedDayIndex","newQuestion","changeTotalQuestionCount","saveAllQuestions","addQuestionDuplicate","questionList","saveQuestionList","indexValue_","testTitle","SURE_SAVE_TEST","saveQuestions","correspondingItem","disableCopyBtn","QUESTIONS_SAVED_SUCCESSFULLY","addQuestion","questionIndex","qArr","optionsValid","j","quiz","quizIdFromRes","removeQuestion","testIndex","SURE_DELETE_QUESION","deleteQuestion","toPromise","removeAt","onDailyTotalQuesSave","totalQues","entity","noOfQuestions","totalQuestDisabled","hiddenEdit","addDailyQuestion","warning","copyFromPreTest","daySelection","check","testSelectionPrePost","prePostIndex","saveAllTest","saveAQuizData","onTotalQuestionSaveClick","onTotalQuestionEditClick","posttotalQuestDisabled","dailyDrop","previousContainer","container","previousIndex","currentIndex","preDrop","empForm","newEmployee","newMonitoringQuestions","employees","monitorQuestionArr","newSkill","addEmployee","addMoreMonitoringQuest","removeEmployee","empIndex","deleteCheckListMaster","removeMonitoringQuestionAtIndex","deleteMonitorQuestion","employeeSkills","addEmployeeSkill","removeEmployeeSkill","skillIndex","deleteCheckListItem","onSubmit","mapToModelCheckList","arr","checkListMaster","itemArray","finalSubmitResult","checkListNameForDisplay","createFormForCheckListItemsNew","displayChecklist","checkListIdNew","checkListItemsNew","BuildDyanamicFormNew","r","BuildDyanamicFormForMonitoringQuestions","monitoringQuestionsFormNew","monitoringQuestionFormArray","monitoringQuestionsFormNewInvalid","checkBoxCheckFinalSubmit","createFormMonitoringQuestionsNewEdit","BuildDyanamicFormForMonitoringQuestionsEdit","getEvent","addMonitoringQuestion","quest","monitoringQuestionId","monitoringQuestion","tmqId","monitorQuestionMaster","finalSubmit","monitoringQuestionNewResp","mapToModelMonitoringQuestionNew","saveTrainingMonitorQuestions","trainingMonitorQuestionsList","trainingMonitorQuestions","trainingMonitorQuestionId","hostBindings"],"sourceRoot":"webpack:///"}